Hello community, here is the log from the commit of package dtc for openSUSE:Factory checked in at 2017-03-18 20:48:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dtc (Old) and /work/SRC/openSUSE:Factory/.dtc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dtc" Sat Mar 18 20:48:45 2017 rev:28 rq:479917 version:1.4.4 Changes: -------- --- /work/SRC/openSUSE:Factory/dtc/dtc.changes 2017-03-10 21:11:58.734302401 +0100 +++ /work/SRC/openSUSE:Factory/.dtc.new/dtc.changes 2017-03-18 20:48:48.588674753 +0100 @@ -1,0 +2,17 @@ +Sun Mar 12 09:39:47 UTC 2017 - [email protected] + +- Update to version 1.4.4: + * fdtput: Remove star from value_len documentation + * fdtget: Use @return to document the return value + * tests: Make realloc_fdt() really allocate *fdt + * libfdt: overlay: Check the value of the right variable + * dtc: Simplify asm_emit_string() implementation + * libfdt: Change names of sparse helper macros + * Fix assorted sparse warnings + * Clean up gcc attributes + * dtc: Don't abuse struct fdt_reserve_entry +- Refresh patches +- Make building more verbose +- Run tests + +------------------------------------------------------------------- Old: ---- dtc-1.4.3.tar.gz New: ---- dtc-1.4.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dtc.spec ++++++ --- /var/tmp/diff_new_pack.UeRgH8/_old 2017-03-18 20:48:49.300573900 +0100 +++ /var/tmp/diff_new_pack.UeRgH8/_new 2017-03-18 20:48:49.300573900 +0100 @@ -18,7 +18,7 @@ %define sover 1 Name: dtc -Version: 1.4.3 +Version: 1.4.4 Release: 0 Summary: Device-tree compiler License: GPL-2.0+ @@ -30,7 +30,6 @@ Patch4: use-tx-as-the-type-specifier-instead-of-zx.patch BuildRequires: bison BuildRequires: flex -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description PowerPC kernels are moving towards requiring a small Open @@ -63,16 +62,19 @@ %prep %setup -q %patch3 -%patch4 -p1 +%patch4 %build -make %{?_smp_mflags} +make %{?_smp_mflags} V=1 %install -make DESTDIR=%{buildroot} install %{?_smp_mflags} PREFIX=%{_prefix} LIBDIR=%{_libdir} -install -m 644 libfdt/libfdt_env.h %{buildroot}/%{_includedir} +%make_install PREFIX=%{_prefix} LIBDIR=%{_libdir} +install -p -m 644 libfdt/libfdt_env.h %{buildroot}/%{_includedir} rm -f %{buildroot}/%{_libdir}/*.a +%check +make %{?_smp_mflags} check + %files %defattr(-,root,root) %doc README.license Documentation/manual.txt @@ -84,7 +86,6 @@ %{_bindir}/fdtput %post -n libfdt%{sover} -p /sbin/ldconfig - %postun -n libfdt%{sover} -p /sbin/ldconfig %files -n libfdt%{sover} ++++++ dtc-1.4.3.tar.gz -> dtc-1.4.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/Makefile new/dtc-1.4.4/Makefile --- old/dtc-1.4.3/Makefile 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/Makefile 2017-03-10 01:17:23.000000000 +0100 @@ -10,7 +10,7 @@ # VERSION = 1 PATCHLEVEL = 4 -SUBLEVEL = 3 +SUBLEVEL = 4 EXTRAVERSION = LOCAL_VERSION = CONFIG_LOCALVERSION = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/checks.c new/dtc-1.4.4/checks.c --- old/dtc-1.4.3/checks.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/checks.c 2017-03-10 01:17:23.000000000 +0100 @@ -72,12 +72,8 @@ #define CHECK(_nm, _fn, _d, ...) \ CHECK_ENTRY(_nm, _fn, _d, false, false, __VA_ARGS__) -#ifdef __GNUC__ -static inline void check_msg(struct check *c, struct dt_info *dti, - const char *fmt, ...) __attribute__((format (printf, 3, 4))); -#endif -static inline void check_msg(struct check *c, struct dt_info *dti, - const char *fmt, ...) +static inline void PRINTF(3, 4) check_msg(struct check *c, struct dt_info *dti, + const char *fmt, ...) { va_list ap; va_start(ap, fmt); @@ -538,13 +534,13 @@ FAIL(c, dti, "Reference to non-existent node or " "label \"%s\"\n", m->ref); else /* mark the entry as unresolved */ - *((cell_t *)(prop->val.val + m->offset)) = + *((fdt32_t *)(prop->val.val + m->offset)) = cpu_to_fdt32(0xffffffff); continue; } phandle = get_node_phandle(dt, refnode); - *((cell_t *)(prop->val.val + m->offset)) = cpu_to_fdt32(phandle); + *((fdt32_t *)(prop->val.val + m->offset)) = cpu_to_fdt32(phandle); } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/convert-dtsv0-lexer.l new/dtc-1.4.4/convert-dtsv0-lexer.l --- old/dtc-1.4.3/convert-dtsv0-lexer.l 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/convert-dtsv0-lexer.l 2017-03-10 01:17:23.000000000 +0100 @@ -49,7 +49,7 @@ static unsigned long long last_val; static char *last_name; /* = NULL */ -const struct { +static const struct { const char *pattern; int obase, width; } guess_table[] = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/data.c new/dtc-1.4.4/data.c --- old/dtc-1.4.3/data.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/data.c 2017-03-10 01:17:23.000000000 +0100 @@ -171,9 +171,9 @@ struct data data_append_integer(struct data d, uint64_t value, int bits) { uint8_t value_8; - uint16_t value_16; - uint32_t value_32; - uint64_t value_64; + fdt16_t value_16; + fdt32_t value_32; + fdt64_t value_64; switch (bits) { case 8: @@ -197,14 +197,14 @@ } } -struct data data_append_re(struct data d, const struct fdt_reserve_entry *re) +struct data data_append_re(struct data d, uint64_t address, uint64_t size) { - struct fdt_reserve_entry bere; + struct fdt_reserve_entry re; - bere.address = cpu_to_fdt64(re->address); - bere.size = cpu_to_fdt64(re->size); + re.address = cpu_to_fdt64(address); + re.size = cpu_to_fdt64(size); - return data_append_data(d, &bere, sizeof(bere)); + return data_append_data(d, &re, sizeof(re)); } struct data data_append_cell(struct data d, cell_t word) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/dtc-lexer.l new/dtc-1.4.4/dtc-lexer.l --- old/dtc-1.4.3/dtc-lexer.l 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/dtc-lexer.l 2017-03-10 01:17:23.000000000 +0100 @@ -62,12 +62,7 @@ static void push_input_file(const char *filename); static bool pop_input_file(void); -#ifdef __GNUC__ -static void lexical_error(const char *fmt, ...) - __attribute__((format (printf, 1, 2))); -#else -static void lexical_error(const char *fmt, ...); -#endif +static void PRINTF(1, 2) lexical_error(const char *fmt, ...); %} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/dtc.c new/dtc-1.4.4/dtc.c --- old/dtc-1.4.3/dtc.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/dtc.c 2017-03-10 01:17:23.000000000 +0100 @@ -138,7 +138,7 @@ static const char *guess_input_format(const char *fname, const char *fallback) { struct stat statbuf; - uint32_t magic; + fdt32_t magic; FILE *f; if (stat(fname, &statbuf) != 0) @@ -159,8 +159,7 @@ } fclose(f); - magic = fdt32_to_cpu(magic); - if (magic == FDT_MAGIC) + if (fdt32_to_cpu(magic) == FDT_MAGIC) return "dtb"; return guess_type_by_name(fname, fallback); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/dtc.h new/dtc-1.4.4/dtc.h --- old/dtc-1.4.3/dtc.h 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/dtc.h 2017-03-10 01:17:23.000000000 +0100 @@ -43,7 +43,6 @@ #define debug(...) #endif - #define DEFAULT_FDT_VERSION 17 /* @@ -114,7 +113,7 @@ struct data data_merge(struct data d1, struct data d2); struct data data_append_cell(struct data d, cell_t word); struct data data_append_integer(struct data d, uint64_t word, int bits); -struct data data_append_re(struct data d, const struct fdt_reserve_entry *re); +struct data data_append_re(struct data d, uint64_t address, uint64_t size); struct data data_append_addr(struct data d, uint64_t addr); struct data data_append_byte(struct data d, uint8_t byte); struct data data_append_zeroes(struct data d, int len); @@ -227,7 +226,7 @@ /* Boot info (tree plus memreserve information */ struct reserve_info { - struct fdt_reserve_entry re; + uint64_t address, size; struct reserve_info *next; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/fdtdump.c new/dtc-1.4.4/fdtdump.c --- old/dtc-1.4.3/fdtdump.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/fdtdump.c 2017-03-10 01:17:23.000000000 +0100 @@ -20,7 +20,7 @@ #define ALIGN(x, a) (((x) + ((a) - 1)) & ~((a) - 1)) #define PALIGN(p, a) ((void *)(ALIGN((unsigned long)(p), (a)))) -#define GET_CELL(p) (p += 4, *((const uint32_t *)(p-4))) +#define GET_CELL(p) (p += 4, *((const fdt32_t *)(p-4))) static const char *tagname(uint32_t tag) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/fdtget.c new/dtc-1.4.4/fdtget.c --- old/dtc-1.4.3/fdtget.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/fdtget.c 2017-03-10 01:17:23.000000000 +0100 @@ -105,7 +105,7 @@ for (i = 0; i < len; i += size, p += size) { if (i) printf(" "); - value = size == 4 ? fdt32_to_cpu(*(const uint32_t *)p) : + value = size == 4 ? fdt32_to_cpu(*(const fdt32_t *)p) : size == 2 ? (*p << 8) | p[1] : *p; printf(fmt, value); } @@ -245,7 +245,7 @@ * @param filename Filename of blob file * @param arg List of arguments to process * @param arg_count Number of arguments - * @param return 0 if ok, -ve on error + * @return 0 if ok, -ve on error */ static int do_fdtget(struct display_info *disp, const char *filename, char **arg, int arg_count, int args_per_step) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/fdtput.c new/dtc-1.4.4/fdtput.c --- old/dtc-1.4.3/fdtput.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/fdtput.c 2017-03-10 01:17:23.000000000 +0100 @@ -67,7 +67,7 @@ * @param arg List of arguments from command line * @param arg_count Number of arguments (may be 0) * @param valuep Returns buffer containing value - * @param *value_len Returns length of value encoded + * @param value_len Returns length of value encoded */ static int encode_value(struct display_info *disp, char **arg, int arg_count, char **valuep, int *value_len) @@ -107,7 +107,7 @@ if (disp->verbose) fprintf(stderr, "\tstring: '%s'\n", ptr); } else { - int *iptr = (int *)ptr; + fdt32_t *iptr = (fdt32_t *)ptr; sscanf(*arg, fmt, &ival); if (len == 4) *iptr = cpu_to_fdt32(ival); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/flattree.c new/dtc-1.4.4/flattree.c --- old/dtc-1.4.3/flattree.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/flattree.c 2017-03-10 01:17:23.000000000 +0100 @@ -49,7 +49,7 @@ struct emitter { void (*cell)(void *, cell_t); - void (*string)(void *, char *, int); + void (*string)(void *, const char *, int); void (*align)(void *, int); void (*data)(void *, struct data); void (*beginnode)(void *, struct label *labels); @@ -64,7 +64,7 @@ *dtbuf = data_append_cell(*dtbuf, val); } -static void bin_emit_string(void *e, char *str, int len) +static void bin_emit_string(void *e, const char *str, int len) { struct data *dtbuf = e; @@ -144,22 +144,14 @@ (val >> 8) & 0xff, val & 0xff); } -static void asm_emit_string(void *e, char *str, int len) +static void asm_emit_string(void *e, const char *str, int len) { FILE *f = e; - char c = 0; - if (len != 0) { - /* XXX: ewww */ - c = str[len]; - str[len] = '\0'; - } - - fprintf(f, "\t.string\t\"%s\"\n", str); - - if (len != 0) { - str[len] = c; - } + if (len != 0) + fprintf(f, "\t.string\t\"%.*s\"\n", len, str); + else + fprintf(f, "\t.string\t\"%s\"\n", str); } static void asm_emit_align(void *e, int a) @@ -179,7 +171,7 @@ emit_offset_label(f, m->ref, m->offset); while ((d.len - off) >= sizeof(uint32_t)) { - asm_emit_cell(e, fdt32_to_cpu(*((uint32_t *)(d.val+off)))); + asm_emit_cell(e, fdt32_to_cpu(*((fdt32_t *)(d.val+off)))); off += sizeof(uint32_t); } @@ -318,17 +310,16 @@ { struct reserve_info *re; struct data d = empty_data; - static struct fdt_reserve_entry null_re = {0,0}; int j; for (re = reservelist; re; re = re->next) { - d = data_append_re(d, &re->re); + d = data_append_re(d, re->address, re->size); } /* * Add additional reserved slots if the user asked for them. */ for (j = 0; j < reservenum; j++) { - d = data_append_re(d, &null_re); + d = data_append_re(d, 0, 0); } return d; @@ -544,11 +535,11 @@ fprintf(f, "\t.globl\t%s\n", l->label); fprintf(f, "%s:\n", l->label); } - ASM_EMIT_BELONG(f, "0x%08x", (unsigned int)(re->re.address >> 32)); + ASM_EMIT_BELONG(f, "0x%08x", (unsigned int)(re->address >> 32)); ASM_EMIT_BELONG(f, "0x%08x", - (unsigned int)(re->re.address & 0xffffffff)); - ASM_EMIT_BELONG(f, "0x%08x", (unsigned int)(re->re.size >> 32)); - ASM_EMIT_BELONG(f, "0x%08x", (unsigned int)(re->re.size & 0xffffffff)); + (unsigned int)(re->address & 0xffffffff)); + ASM_EMIT_BELONG(f, "0x%08x", (unsigned int)(re->size >> 32)); + ASM_EMIT_BELONG(f, "0x%08x", (unsigned int)(re->size & 0xffffffff)); } for (i = 0; i < reservenum; i++) { fprintf(f, "\t.long\t0, 0\n\t.long\t0, 0\n"); @@ -609,7 +600,7 @@ static uint32_t flat_read_word(struct inbuf *inb) { - uint32_t val; + fdt32_t val; assert(((inb->ptr - inb->base) % sizeof(val)) == 0); @@ -718,13 +709,15 @@ * First pass, count entries. */ while (1) { + uint64_t address, size; + flat_read_chunk(inb, &re, sizeof(re)); - re.address = fdt64_to_cpu(re.address); - re.size = fdt64_to_cpu(re.size); - if (re.size == 0) + address = fdt64_to_cpu(re.address); + size = fdt64_to_cpu(re.size); + if (size == 0) break; - new = build_reserve_entry(re.address, re.size); + new = build_reserve_entry(address, size); reservelist = add_reserve_entry(reservelist, new); } @@ -817,6 +810,7 @@ struct dt_info *dt_from_blob(const char *fname) { FILE *f; + fdt32_t magic_buf, totalsize_buf; uint32_t magic, totalsize, version, size_dt, boot_cpuid_phys; uint32_t off_dt, off_str, off_mem_rsvmap; int rc; @@ -833,7 +827,7 @@ f = srcfile_relative_open(fname, NULL); - rc = fread(&magic, sizeof(magic), 1, f); + rc = fread(&magic_buf, sizeof(magic_buf), 1, f); if (ferror(f)) die("Error reading DT blob magic number: %s\n", strerror(errno)); @@ -844,11 +838,11 @@ die("Mysterious short read reading magic number\n"); } - magic = fdt32_to_cpu(magic); + magic = fdt32_to_cpu(magic_buf); if (magic != FDT_MAGIC) die("Blob has incorrect magic number\n"); - rc = fread(&totalsize, sizeof(totalsize), 1, f); + rc = fread(&totalsize_buf, sizeof(totalsize_buf), 1, f); if (ferror(f)) die("Error reading DT blob size: %s\n", strerror(errno)); if (rc < 1) { @@ -858,7 +852,7 @@ die("Mysterious short read reading blob size\n"); } - totalsize = fdt32_to_cpu(totalsize); + totalsize = fdt32_to_cpu(totalsize_buf); if (totalsize < FDT_V1_SIZE) die("DT blob size (%d) is too small\n", totalsize); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/libfdt/fdt_overlay.c new/dtc-1.4.4/libfdt/fdt_overlay.c --- old/dtc-1.4.3/libfdt/fdt_overlay.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/libfdt/fdt_overlay.c 2017-03-10 01:17:23.000000000 +0100 @@ -21,14 +21,14 @@ */ static uint32_t overlay_get_target_phandle(const void *fdto, int fragment) { - const uint32_t *val; + const fdt32_t *val; int len; val = fdt_getprop(fdto, fragment, "target", &len); if (!val) return 0; - if ((len != sizeof(*val)) || (*val == (uint32_t)-1)) + if ((len != sizeof(*val)) || (fdt32_to_cpu(*val) == (uint32_t)-1)) return (uint32_t)-1; return fdt32_to_cpu(*val); @@ -99,7 +99,7 @@ static int overlay_phandle_add_offset(void *fdt, int node, const char *name, uint32_t delta) { - const uint32_t *val; + const fdt32_t *val; uint32_t adj_val; int len; @@ -210,7 +210,7 @@ int ret; fdt_for_each_property_offset(fixup_prop, fdto, fixup_node) { - const uint32_t *fixup_val; + const fdt32_t *fixup_val; const char *tree_val; const char *name; int fixup_len; @@ -234,7 +234,8 @@ } for (i = 0; i < (fixup_len / sizeof(uint32_t)); i++) { - uint32_t adj_val, poffset; + fdt32_t adj_val; + uint32_t poffset; poffset = fdt32_to_cpu(fixup_val[i]); @@ -246,9 +247,7 @@ */ memcpy(&adj_val, tree_val + poffset, sizeof(adj_val)); - adj_val = fdt32_to_cpu(adj_val); - adj_val += delta; - adj_val = cpu_to_fdt32(adj_val); + adj_val = cpu_to_fdt32(fdt32_to_cpu(adj_val) + delta); ret = fdt_setprop_inplace_namelen_partial(fdto, tree_node, @@ -272,7 +271,7 @@ tree_child = fdt_subnode_offset(fdto, tree_node, fixup_child_name); - if (ret == -FDT_ERR_NOTFOUND) + if (tree_child == -FDT_ERR_NOTFOUND) return -FDT_ERR_BADOVERLAY; if (tree_child < 0) return tree_child; @@ -356,6 +355,7 @@ { const char *symbol_path; uint32_t phandle; + fdt32_t phandle_prop; int symbol_off, fixup_off; int prop_len; @@ -381,10 +381,11 @@ if (fixup_off < 0) return fixup_off; - phandle = cpu_to_fdt32(phandle); + phandle_prop = cpu_to_fdt32(phandle); return fdt_setprop_inplace_namelen_partial(fdto, fixup_off, name, name_len, poffset, - &phandle, sizeof(phandle)); + &phandle_prop, + sizeof(phandle_prop)); }; /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/libfdt/libfdt_env.h new/dtc-1.4.4/libfdt/libfdt_env.h --- old/dtc-1.4.3/libfdt/libfdt_env.h 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/libfdt/libfdt_env.h 2017-03-10 01:17:23.000000000 +0100 @@ -58,16 +58,16 @@ #include <string.h> #ifdef __CHECKER__ -#define __force __attribute__((force)) -#define __bitwise __attribute__((bitwise)) +#define FDT_FORCE __attribute__((force)) +#define FDT_BITWISE __attribute__((bitwise)) #else -#define __force -#define __bitwise +#define FDT_FORCE +#define FDT_BITWISE #endif -typedef uint16_t __bitwise fdt16_t; -typedef uint32_t __bitwise fdt32_t; -typedef uint64_t __bitwise fdt64_t; +typedef uint16_t FDT_BITWISE fdt16_t; +typedef uint32_t FDT_BITWISE fdt32_t; +typedef uint64_t FDT_BITWISE fdt64_t; #define EXTRACT_BYTE(x, n) ((unsigned long long)((uint8_t *)&x)[n]) #define CPU_TO_FDT16(x) ((EXTRACT_BYTE(x, 0) << 8) | EXTRACT_BYTE(x, 1)) @@ -80,29 +80,29 @@ static inline uint16_t fdt16_to_cpu(fdt16_t x) { - return (__force uint16_t)CPU_TO_FDT16(x); + return (FDT_FORCE uint16_t)CPU_TO_FDT16(x); } static inline fdt16_t cpu_to_fdt16(uint16_t x) { - return (__force fdt16_t)CPU_TO_FDT16(x); + return (FDT_FORCE fdt16_t)CPU_TO_FDT16(x); } static inline uint32_t fdt32_to_cpu(fdt32_t x) { - return (__force uint32_t)CPU_TO_FDT32(x); + return (FDT_FORCE uint32_t)CPU_TO_FDT32(x); } static inline fdt32_t cpu_to_fdt32(uint32_t x) { - return (__force fdt32_t)CPU_TO_FDT32(x); + return (FDT_FORCE fdt32_t)CPU_TO_FDT32(x); } static inline uint64_t fdt64_to_cpu(fdt64_t x) { - return (__force uint64_t)CPU_TO_FDT64(x); + return (FDT_FORCE uint64_t)CPU_TO_FDT64(x); } static inline fdt64_t cpu_to_fdt64(uint64_t x) { - return (__force fdt64_t)CPU_TO_FDT64(x); + return (FDT_FORCE fdt64_t)CPU_TO_FDT64(x); } #undef CPU_TO_FDT64 #undef CPU_TO_FDT32 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/livetree.c new/dtc-1.4.4/livetree.c --- old/dtc-1.4.3/livetree.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/livetree.c 2017-03-10 01:17:23.000000000 +0100 @@ -319,8 +319,8 @@ memset(new, 0, sizeof(*new)); - new->re.address = address; - new->re.size = size; + new->address = address; + new->size = size; return new; } @@ -393,7 +393,7 @@ cell_t propval_cell(struct property *prop) { assert(prop->val.len == sizeof(cell_t)); - return fdt32_to_cpu(*((cell_t *)prop->val.val)); + return fdt32_to_cpu(*((fdt32_t *)prop->val.val)); } struct property *get_property_by_label(struct node *tree, const char *label, @@ -599,13 +599,13 @@ a = *((const struct reserve_info * const *)ax); b = *((const struct reserve_info * const *)bx); - if (a->re.address < b->re.address) + if (a->address < b->address) return -1; - else if (a->re.address > b->re.address) + else if (a->address > b->address) return 1; - else if (a->re.size < b->re.size) + else if (a->size < b->size) return -1; - else if (a->re.size > b->re.size) + else if (a->size > b->size) return 1; else return 0; @@ -902,7 +902,7 @@ struct node *refnode) { struct node *wn, *nwn; /* local fixup node, walk node, new */ - uint32_t value_32; + fdt32_t value_32; char **compp; int i, depth; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/srcpos.h new/dtc-1.4.4/srcpos.h --- old/dtc-1.4.3/srcpos.h 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/srcpos.h 2017-03-10 01:17:23.000000000 +0100 @@ -22,6 +22,7 @@ #include <stdio.h> #include <stdbool.h> +#include "util.h" struct srcfile_state { FILE *f; @@ -106,12 +107,10 @@ extern struct srcpos *srcpos_copy(struct srcpos *pos); extern char *srcpos_string(struct srcpos *pos); -extern void srcpos_verror(struct srcpos *pos, const char *prefix, - const char *fmt, va_list va) - __attribute__((format(printf, 3, 0))); -extern void srcpos_error(struct srcpos *pos, const char *prefix, - const char *fmt, ...) - __attribute__((format(printf, 3, 4))); +extern void PRINTF(3, 0) srcpos_verror(struct srcpos *pos, const char *prefix, + const char *fmt, va_list va); +extern void PRINTF(3, 4) srcpos_error(struct srcpos *pos, const char *prefix, + const char *fmt, ...); extern void srcpos_set_line(char *f, int l); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/char_literal.c new/dtc-1.4.4/tests/char_literal.c --- old/dtc-1.4.3/tests/char_literal.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/char_literal.c 2017-03-10 01:17:23.000000000 +0100 @@ -31,7 +31,7 @@ int main(int argc, char *argv[]) { void *fdt; - uint32_t expected_cells[5]; + fdt32_t expected_cells[5]; expected_cells[0] = cpu_to_fdt32((unsigned char)TEST_CHAR1); expected_cells[1] = cpu_to_fdt32((unsigned char)TEST_CHAR2); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/dtbs_equal_ordered.c new/dtc-1.4.4/tests/dtbs_equal_ordered.c --- old/dtc-1.4.3/tests/dtbs_equal_ordered.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/dtbs_equal_ordered.c 2017-03-10 01:17:23.000000000 +0100 @@ -28,7 +28,7 @@ #include "tests.h" #include "testdata.h" -int notequal; /* = 0 */ +static int notequal; /* = 0 */ #define MISMATCH(fmt, ...) \ do { \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/dtbs_equal_unordered.c new/dtc-1.4.4/tests/dtbs_equal_unordered.c --- old/dtc-1.4.3/tests/dtbs_equal_unordered.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/dtbs_equal_unordered.c 2017-03-10 01:17:23.000000000 +0100 @@ -29,7 +29,7 @@ #include "tests.h" #include "testdata.h" -int notequal; /* = 0 */ +static int notequal; /* = 0 */ #define MISMATCH(fmt, ...) \ do { \ @@ -59,14 +59,14 @@ const struct fdt_reserve_entry *re1 = p1; const struct fdt_reserve_entry *re2 = p2; - if (re1->address < re2->address) + if (fdt64_to_cpu(re1->address) < fdt64_to_cpu(re2->address)) return -1; - else if (re1->address > re2->address) + else if (fdt64_to_cpu(re1->address) > fdt64_to_cpu(re2->address)) return 1; - if (re1->size < re2->size) + if (fdt64_to_cpu(re1->size) < fdt64_to_cpu(re2->size)) return -1; - else if (re1->size > re2->size) + else if (fdt64_to_cpu(re1->size) > fdt64_to_cpu(re2->size)) return 1; return 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/dumptrees.c new/dtc-1.4.4/tests/dumptrees.c --- old/dtc-1.4.3/tests/dumptrees.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/dumptrees.c 2017-03-10 01:17:23.000000000 +0100 @@ -29,7 +29,7 @@ #include "testdata.h" -struct { +static struct { void *blob; const char *filename; } trees[] = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/integer-expressions.c new/dtc-1.4.4/tests/integer-expressions.c --- old/dtc-1.4.3/tests/integer-expressions.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/integer-expressions.c 2017-03-10 01:17:23.000000000 +0100 @@ -30,7 +30,7 @@ #include "tests.h" #include "testdata.h" -struct test_expr { +static struct test_expr { const char *expr; uint32_t result; } expr_table[] = { @@ -70,7 +70,7 @@ int main(int argc, char *argv[]) { void *fdt; - const uint32_t *res; + const fdt32_t *res; int reslen; int i; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/node_offset_by_prop_value.c new/dtc-1.4.4/tests/node_offset_by_prop_value.c --- old/dtc-1.4.3/tests/node_offset_by_prop_value.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/node_offset_by_prop_value.c 2017-03-10 01:17:23.000000000 +0100 @@ -69,7 +69,7 @@ #define check_search_cell(fdt, propname, propval, ...) \ { \ - uint32_t val = cpu_to_fdt32(propval); \ + fdt32_t val = cpu_to_fdt32(propval); \ check_search((fdt), (propname), &val, sizeof(val), \ ##__VA_ARGS__); \ } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/nopulate.c new/dtc-1.4.4/tests/nopulate.c --- old/dtc-1.4.3/tests/nopulate.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/nopulate.c 2017-03-10 01:17:23.000000000 +0100 @@ -45,7 +45,7 @@ nextoffset - offset); p += nextoffset - offset; - *((uint32_t *)p) = cpu_to_fdt32(FDT_NOP); + *((fdt32_t *)p) = cpu_to_fdt32(FDT_NOP); p += FDT_TAGSIZE; } while (tag != FDT_END); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/property_iterate.c new/dtc-1.4.4/tests/property_iterate.c --- old/dtc-1.4.3/tests/property_iterate.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/property_iterate.c 2017-03-10 01:17:23.000000000 +0100 @@ -33,7 +33,7 @@ static void test_node(void *fdt, int parent_offset) { - fdt32_t properties; + uint32_t properties; const fdt32_t *prop; int offset, property; int count; @@ -48,7 +48,7 @@ FAIL("Missing/invalid test-properties property at '%s'", fdt_get_name(fdt, parent_offset, NULL)); } - properties = cpu_to_fdt32(*prop); + properties = fdt32_to_cpu(*prop); count = 0; offset = fdt_first_subnode(fdt, parent_offset); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/references.c new/dtc-1.4.4/tests/references.c --- old/dtc-1.4.3/tests/references.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/references.c 2017-03-10 01:17:23.000000000 +0100 @@ -29,7 +29,7 @@ static void check_ref(const void *fdt, int node, uint32_t checkref) { - const uint32_t *p; + const fdt32_t *p; uint32_t ref; int len; @@ -58,7 +58,7 @@ static void check_rref(const void *fdt) { - const uint32_t *p; + const fdt32_t *p; uint32_t ref; int len; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/sized_cells.c new/dtc-1.4.4/tests/sized_cells.c --- old/dtc-1.4.3/tests/sized_cells.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/sized_cells.c 2017-03-10 01:17:23.000000000 +0100 @@ -54,9 +54,9 @@ TEST_CHAR4, TEST_CHAR5, TEST_VALUE_1 >> 24}; - uint16_t expected_16[6]; - uint32_t expected_32[6]; - uint64_t expected_64[6]; + fdt16_t expected_16[6]; + fdt32_t expected_32[6]; + fdt64_t expected_64[6]; int i; for (i = 0; i < 5; ++i) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/subnode_iterate.c new/dtc-1.4.4/tests/subnode_iterate.c --- old/dtc-1.4.3/tests/subnode_iterate.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/subnode_iterate.c 2017-03-10 01:17:23.000000000 +0100 @@ -33,7 +33,7 @@ static void test_node(void *fdt, int parent_offset) { - fdt32_t subnodes; + uint32_t subnodes; const fdt32_t *prop; int offset; int count; @@ -45,7 +45,7 @@ FAIL("Missing/invalid subnodes property at '%s'", fdt_get_name(fdt, parent_offset, NULL)); } - subnodes = cpu_to_fdt32(*prop); + subnodes = fdt32_to_cpu(*prop); count = 0; fdt_for_each_subnode(offset, fdt, parent_offset) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/sw_tree1.c new/dtc-1.4.4/tests/sw_tree1.c --- old/dtc-1.4.3/tests/sw_tree1.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/sw_tree1.c 2017-03-10 01:17:23.000000000 +0100 @@ -42,14 +42,14 @@ switch (alloc_mode) { case FIXED: if (!(*fdt)) - fdt = xmalloc(*size); + *fdt = xmalloc(*size); else FAIL("Ran out of space"); return; case RESIZE: if (!(*fdt)) { - fdt = xmalloc(SPACE); + *fdt = xmalloc(SPACE); } else if (*size < SPACE) { *size += 1; fdt_resize(*fdt, *fdt, *size); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/tests.h new/dtc-1.4.4/tests/tests.h --- old/dtc-1.4.3/tests/tests.h 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/tests.h 2017-03-10 01:17:23.000000000 +0100 @@ -99,7 +99,7 @@ int len, const void *val); #define check_property_cell(fdt, nodeoffset, name, val) \ ({ \ - uint32_t x = cpu_to_fdt32(val); \ + fdt32_t x = cpu_to_fdt32(val); \ check_property(fdt, nodeoffset, name, sizeof(x), &x); \ }) @@ -108,12 +108,12 @@ int len, const void *val); #define check_getprop_cell(fdt, nodeoffset, name, val) \ ({ \ - uint32_t x = cpu_to_fdt32(val); \ + fdt32_t x = cpu_to_fdt32(val); \ check_getprop(fdt, nodeoffset, name, sizeof(x), &x); \ }) #define check_getprop_64(fdt, nodeoffset, name, val) \ ({ \ - uint64_t x = cpu_to_fdt64(val); \ + fdt64_t x = cpu_to_fdt64(val); \ check_getprop(fdt, nodeoffset, name, sizeof(x), &x); \ }) #define check_getprop_string(fdt, nodeoffset, name, s) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/tests/value-labels.c new/dtc-1.4.4/tests/value-labels.c --- old/dtc-1.4.3/tests/value-labels.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/tests/value-labels.c 2017-03-10 01:17:23.000000000 +0100 @@ -36,13 +36,13 @@ int propoff; }; -struct val_label labels1[] = { +static struct val_label labels1[] = { { "start1", 0 }, { "mid1", 2 }, { "end1", -1 }, }; -struct val_label labels2[] = { +static struct val_label labels2[] = { { "start2", 0 }, { "innerstart2", 0 }, { "innermid2", 4 }, @@ -50,7 +50,7 @@ { "end2", -1 }, }; -struct val_label labels3[] = { +static struct val_label labels3[] = { { "start3", 0 }, { "innerstart3", 0 }, { "innermid3", 1 }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/treesource.c new/dtc-1.4.4/treesource.c --- old/dtc-1.4.3/treesource.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/treesource.c 2017-03-10 01:17:23.000000000 +0100 @@ -137,7 +137,7 @@ static void write_propval_cells(FILE *f, struct data val) { void *propend = val.val + val.len; - cell_t *cp = (cell_t *)val.val; + fdt32_t *cp = (fdt32_t *)val.val; struct marker *m = val.markers; fprintf(f, "<"); @@ -275,8 +275,8 @@ for_each_label(re->labels, l) fprintf(f, "%s: ", l->label); fprintf(f, "/memreserve/\t0x%016llx 0x%016llx;\n", - (unsigned long long)re->re.address, - (unsigned long long)re->re.size); + (unsigned long long)re->address, + (unsigned long long)re->size); } write_tree_source_node(f, dti->dt, 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/util.c new/dtc-1.4.4/util.c --- old/dtc-1.4.3/util.c 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/util.c 2017-03-10 01:17:23.000000000 +0100 @@ -396,7 +396,7 @@ } while (s < data + len); } else if ((len % 4) == 0) { - const uint32_t *cell = (const uint32_t *)data; + const fdt32_t *cell = (const fdt32_t *)data; printf(" = <"); for (i = 0, len /= 4; i < len; i++) @@ -412,15 +412,16 @@ } } -void util_version(void) +void NORETURN util_version(void) { printf("Version: %s\n", DTC_VERSION); exit(0); } -void util_usage(const char *errmsg, const char *synopsis, - const char *short_opts, struct option const long_opts[], - const char * const opts_help[]) +void NORETURN util_usage(const char *errmsg, const char *synopsis, + const char *short_opts, + struct option const long_opts[], + const char * const opts_help[]) { FILE *fp = errmsg ? stderr : stdout; const char a_arg[] = "<arg>"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dtc-1.4.3/util.h new/dtc-1.4.4/util.h --- old/dtc-1.4.3/util.h 2017-02-28 06:10:08.000000000 +0100 +++ new/dtc-1.4.4/util.h 2017-03-10 01:17:23.000000000 +0100 @@ -25,15 +25,17 @@ * USA */ -#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) - #ifdef __GNUC__ -static inline void -__attribute__((noreturn)) __attribute__((format (printf, 1, 2))) -die(const char *str, ...) +#define PRINTF(i, j) __attribute__((format (printf, i, j))) +#define NORETURN __attribute__((noreturn)) #else -static inline void die(const char *str, ...) +#define PRINTF(i, j) +#define NORETURN #endif + +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) + +static inline void NORETURN PRINTF(1, 2) die(const char *str, ...) { va_list ap; @@ -66,12 +68,7 @@ extern char *xstrdup(const char *s); -#ifdef __GNUC__ -extern int __attribute__((format (printf, 2, 3))) -xasprintf(char **strp, const char *fmt, ...); -#else -extern int xasprintf(char **strp, const char *fmt, ...); -#endif +extern int PRINTF(2, 3) xasprintf(char **strp, const char *fmt, ...); extern char *join_path(const char *path, const char *name); /** @@ -200,7 +197,7 @@ /** * Show source version and exit */ -void util_version(void) __attribute__((noreturn)); +void NORETURN util_version(void); /** * Show usage and exit @@ -214,9 +211,10 @@ * @param long_opts The structure of long options * @param opts_help An array of help strings (should align with long_opts) */ -void util_usage(const char *errmsg, const char *synopsis, - const char *short_opts, struct option const long_opts[], - const char * const opts_help[]) __attribute__((noreturn)); +void NORETURN util_usage(const char *errmsg, const char *synopsis, + const char *short_opts, + struct option const long_opts[], + const char * const opts_help[]); /** * Show usage and exit ++++++ dtc-license.patch ++++++ --- /var/tmp/diff_new_pack.UeRgH8/_old 2017-03-18 20:48:49.460551236 +0100 +++ /var/tmp/diff_new_pack.UeRgH8/_new 2017-03-18 20:48:49.460551236 +0100 @@ -1,5 +1,7 @@ ---- GPL.orig 2011-07-01 18:56:55.000000000 +0200 -+++ GPL 2010-03-24 00:34:05.000000000 +0100 +Index: GPL +=================================================================== +--- GPL.orig ++++ GPL @@ -1,12 +1,12 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 @@ -18,7 +20,7 @@ The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public -@@ -15,7 +15,7 @@ +@@ -15,7 +15,7 @@ software--to make sure the software is f General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by @@ -27,7 +29,7 @@ your programs, too. When we speak of free software, we are referring to freedom, not -@@ -55,8 +55,8 @@ +@@ -55,8 +55,8 @@ patent must be licensed for everyone's f The precise terms and conditions for copying, distribution and modification follow. @@ -38,7 +40,7 @@ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains -@@ -110,7 +110,7 @@ +@@ -110,7 +110,7 @@ above, provided that you also meet all o License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) @@ -47,7 +49,7 @@ These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in -@@ -168,7 +168,7 @@ +@@ -168,7 +168,7 @@ access to copy from a designated place, access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. @@ -56,7 +58,7 @@ 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is -@@ -225,7 +225,7 @@ +@@ -225,7 +225,7 @@ impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. @@ -65,7 +67,7 @@ 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License -@@ -255,7 +255,7 @@ +@@ -255,7 +255,7 @@ make exceptions for this. Our decision of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. @@ -74,7 +76,7 @@ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -@@ -277,9 +277,9 @@ +@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. @@ -87,7 +89,7 @@ If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it -@@ -303,17 +303,16 @@ +@@ -303,17 +303,16 @@ the "copyright" line and a pointer to wh MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -109,7 +111,7 @@ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. -@@ -336,5 +335,5 @@ +@@ -336,5 +335,5 @@ necessary. Here is a sample; alter the This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the ++++++ use-tx-as-the-type-specifier-instead-of-zx.patch ++++++ --- /var/tmp/diff_new_pack.UeRgH8/_old 2017-03-18 20:48:49.472549536 +0100 +++ /var/tmp/diff_new_pack.UeRgH8/_new 2017-03-18 20:48:49.476548970 +0100 @@ -11,10 +11,10 @@ fdtdump.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) -Index: dtc-1.4.2/fdtdump.c +Index: fdtdump.c =================================================================== ---- dtc-1.4.2.orig/fdtdump.c -+++ dtc-1.4.2/fdtdump.c +--- fdtdump.c.orig ++++ fdtdump.c @@ -98,7 +98,7 @@ static void dump_blob(void *blob, bool d p = p_struct; while ((tag = fdt32_to_cpu(GET_CELL(p))) != FDT_END) {
