diff --git a/.gitignore b/.gitignore index 3376fee..503c4cd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ dtc-v1.2.0.tgz /dtc-v1.3.0.tgz +/dtc-v1.4.0.tgz diff --git a/dtc-check.patch b/dtc-check.patch deleted file mode 100644 index f3560fd..0000000 --- a/dtc-check.patch +++ /dev/null @@ -1,65 +0,0 @@ -From jwboyer@linux.vnet.ibm.com Tue Jun 28 08:47:09 2011 -Date: Tue, 28 Jun 2011 08:47:09 -0400 -From: Josh Boyer -To: Jon Loeliger -Cc: linuxppc-dev@lists.ozlabs.org -Subject: [PATCH] dtc: Remove unused check variable -Message-ID: <20110628124709.GC10237@zod.rchland.ibm.com> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline -User-Agent: Mutt/1.5.21 (2010-09-15) -Status: RO -Content-Length: 1315 -Lines: 49 - -Commit 376ab6f2 removed the old style check functionality from DTC, -however the check option and variable were not removed. This leads to -build failures when -Werror=unused-but-set-variable is specified: - - dtc.c: In function 'main': - dtc.c:102:17: error: variable 'check' set but not used [-Werror=unused-but-set-variable] - cc1: all warnings being treated as errors - make: *** [dtc.o] Error 1 - make: *** Waiting for unfinished jobs.... - -Remove the check variable. - -Signed-off-by: Josh Boyer - ---- - -t a/dtc.c b/dtc.c -index cbc0193..15d2fc2 100644 ---- a/dtc.c -+++ b/dtc.c -@@ -99,7 +99,7 @@ int main(int argc, char *argv[]) - const char *inform = "dts"; - const char *outform = "dts"; - const char *outname = "-"; -- int force = 0, check = 0, sort = 0; -+ int force = 0, sort = 0; - const char *arg; - int opt; - FILE *outf = NULL; -@@ -111,7 +111,7 @@ int main(int argc, char *argv[]) - minsize = 0; - padsize = 0; - -- while ((opt = getopt(argc, argv, "hI:O:o:V:R:S:p:fcqb:vH:s")) != EOF) { -+ while ((opt = getopt(argc, argv, "hI:O:o:V:R:S:p:fqb:vH:s")) != EOF) { - switch (opt) { - case 'I': - inform = optarg; -@@ -137,9 +137,6 @@ int main(int argc, char *argv[]) - case 'f': - force = 1; - break; -- case 'c': -- check = 1; -- break; - case 'q': - quiet++; - break; - - diff --git a/dtc-flattree.patch b/dtc-flattree.patch deleted file mode 100644 index c8ba010..0000000 --- a/dtc-flattree.patch +++ /dev/null @@ -1,52 +0,0 @@ -From jwboyer@linux.vnet.ibm.com Tue Jun 28 09:42:53 2011 -Date: Tue, 28 Jun 2011 09:42:53 -0400 -From: Josh Boyer -To: jdl@jdl.com, david@gibson.dropbear.id.au -Cc: linuxppc-dev@lists.ozlabs.org -Subject: [PATCH] dtc: Remove unused variable in flat_read_mem_reserve -Message-ID: <20110628134253.GD10237@zod.rchland.ibm.com> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline -User-Agent: Mutt/1.5.21 (2010-09-15) -Status: RO -Content-Length: 1865 -Lines: 68 - -The *p variable is declared and used to save inb->ptr, however p is -later never used. This has been the case since commit 6c0f3676 and can -lead to build failures with -Werror=unused-but-set-variable: - - flattree.c: In function 'flat_read_mem_reserve': - flattree.c:700:14: error: variable 'p' set but not used [-Werror=unused-but-set-variable] - cc1: all warnings being treated as errors - make: *** [flattree.o] Error 1 - -Remove the variable. - -Signed-off-by: Josh Boyer - ---- - -diff --git a/flattree.c b/flattree.c -index ead0332..28d0b23 100644 ---- a/flattree.c -+++ b/flattree.c -@@ -697,7 +697,6 @@ static struct reserve_info *flat_read_mem_reserve(struct inbuf *inb) - { - struct reserve_info *reservelist = NULL; - struct reserve_info *new; -- const char *p; - struct fdt_reserve_entry re; - - /* -@@ -706,7 +705,6 @@ static struct reserve_info *flat_read_mem_reserve(struct inbuf *inb) - * - * First pass, count entries. - */ -- p = inb->ptr; - while (1) { - flat_read_chunk(inb, &re, sizeof(re)); - re.address = fdt64_to_cpu(re.address); - - diff --git a/dtc.spec b/dtc.spec index de17a09..e4a5c64 100644 --- a/dtc.spec +++ b/dtc.spec @@ -1,14 +1,12 @@ Name: dtc -Version: 1.3.0 -Release: 6%{?dist} +Version: 1.4.0 +Release: 1%{?dist} Summary: Device Tree Compiler Group: Development/Tools License: GPLv2+ URL: http://git.jdl.com/gitweb/?p=dtc.git;a=summary Source: http://www.jdl.com/software/dtc-v%{version}.tgz -Patch0: dtc-check.patch -Patch1: dtc-flattree.patch -Patch2: libfdt-env-install.patch +Patch1: use-tx-as-the-type-specifier-instead-of-zx.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: flex, bison @@ -35,9 +33,7 @@ This package provides development files for libfdt %prep %setup -q -n dtc-v%{version} -%patch0 -p1 %patch1 -p1 -%patch2 -p1 %build make %{?_smp_mflags} @@ -77,6 +73,9 @@ rm -rf $RPM_BUILD_ROOT /sbin/ldconfig %changelog +* Mon Jun 24 2013 Josh Boyer - 1.4.0-1 +- New dtc 1.4.0 release (rhbz 977480) + * Tue Jun 4 2013 Paolo Bonzini - 1.3.0-6 - Install libfdt_env.h too (rhbz 969955) diff --git a/sources b/sources index 7a0a437..6c254a9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0b94ed452ed3d3b5c1546c27788c416f dtc-v1.3.0.tgz +993e14242818bcfd801edd4f27ddd5a3 dtc-v1.4.0.tgz diff --git a/use-tx-as-the-type-specifier-instead-of-zx.patch b/use-tx-as-the-type-specifier-instead-of-zx.patch new file mode 100644 index 0000000..9c31575 --- /dev/null +++ b/use-tx-as-the-type-specifier-instead-of-zx.patch @@ -0,0 +1,57 @@ +From 46ed9702a0005da87edd0cc3d34dbe24d1526784 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dan=20Hor=C3=A1k?= +Date: Thu, 6 Jun 2013 17:01:39 +0200 +Subject: [PATCH] use tx as the type specifier instead of zx + +A couple of printf() commands use "zx" as a type specifier for printing +a difference of 2 pointers. "z" means a size_t, but using "t" which is +ptrdiff_t is correct. The issue was found on s390 (32-bit) where size_t +is defined as "unsigned long" as opposed to the usual "unsigned int". +--- + fdtdump.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/fdtdump.c b/fdtdump.c +index 723770d..c5811f0 100644 +--- a/fdtdump.c ++++ b/fdtdump.c +@@ -95,7 +95,7 @@ static void dump_blob(void *blob, bool debug) + p = p_struct; + while ((tag = fdt32_to_cpu(GET_CELL(p))) != FDT_END) { + +- dumpf("%04zx: tag: 0x%08x (%s)\n", ++ dumpf("%04tx: tag: 0x%08x (%s)\n", + (uintptr_t)p - blob_off - 4, tag, tagname(tag)); + + if (tag == FDT_BEGIN_NODE) { +@@ -135,8 +135,8 @@ static void dump_blob(void *blob, bool debug) + + p = PALIGN(p + sz, 4); + +- dumpf("%04zx: string: %s\n", (uintptr_t)s - blob_off, s); +- dumpf("%04zx: value\n", (uintptr_t)t - blob_off); ++ dumpf("%04tx: string: %s\n", (uintptr_t)s - blob_off, s); ++ dumpf("%04tx: value\n", (uintptr_t)t - blob_off); + printf("%*s%s", depth * shift, "", s); + utilfdt_print_data(t, sz); + printf(";\n"); +@@ -210,14 +210,14 @@ int main(int argc, char *argv[]) + fdt_off_dt_strings(p) < this_len) + break; + if (debug) +- printf("%s: skipping fdt magic at offset %#zx\n", ++ printf("%s: skipping fdt magic at offset %#tx\n", + file, p - buf); + } + ++p; + } + if (!p) + die("%s: could not locate fdt magic\n", file); +- printf("%s: found fdt at offset %#zx\n", file, p - buf); ++ printf("%s: found fdt at offset %#tx\n", file, p - buf); + buf = p; + } + +-- +1.8.1.4 +