From e0eda5895017304f3fae3aa6257aadc6e38360a1ba24a696605715490b37bf96 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Mon, 10 Mar 2014 16:57:39 +0000 Subject: [PATCH] Accepting request 224928 from home:oertel:branches:Base:System - add use-tx-as-the-type-specifier-instead-of-zx.patch taken from fedora to fix build on s390 OBS-URL: https://build.opensuse.org/request/show/224928 OBS-URL: https://build.opensuse.org/package/show/Base:System/dtc?expand=0&rev=17 --- dtc.changes | 6 ++ dtc.spec | 4 +- ...-as-the-type-specifier-instead-of-zx.patch | 57 +++++++++++++++++++ 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 use-tx-as-the-type-specifier-instead-of-zx.patch diff --git a/dtc.changes b/dtc.changes index f594962..be81c57 100644 --- a/dtc.changes +++ b/dtc.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Mar 7 01:29:13 CET 2014 - ro@suse.de + +- add use-tx-as-the-type-specifier-instead-of-zx.patch + taken from fedora to fix build on s390 + ------------------------------------------------------------------- Tue Jul 9 09:26:13 UTC 2013 - dmueller@suse.com diff --git a/dtc.spec b/dtc.spec index 505f902..e238a28 100644 --- a/dtc.spec +++ b/dtc.spec @@ -1,7 +1,7 @@ # # spec file for package dtc # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -29,6 +29,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: dtc-%{version}.tar.gz Source2: baselibs.conf Patch3: dtc-license.patch +Patch4: use-tx-as-the-type-specifier-instead-of-zx.patch %description PowerPC kernels are moving towards requiring a small Open @@ -60,6 +61,7 @@ This package provides development files for libfdt %prep %setup -q %patch3 +%patch4 -p1 %build make %{?_smp_mflags} 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..e6c351b --- /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 +