dtc: Optimise by default, fix warnings thus uncovered

This patch turns on optimisation in the Makefile by default.  With the
optimizer on, some uninitialized variable warnings (one real, two
bogus) are now generated.  This patch also squashes those again.
This commit is contained in:
David Gibson 2007-08-31 16:21:23 +10:00 committed by Jon Loeliger
parent ed0117a0c0
commit bf94497031
5 changed files with 9 additions and 9 deletions

View file

@ -45,7 +45,7 @@ endef
CPPFLAGS = -I libfdt CPPFLAGS = -I libfdt
CFLAGS = -Wall -g CFLAGS = -Wall -g -Os
LDFLAGS = -Llibfdt LDFLAGS = -Llibfdt
BISON = bison BISON = bison

2
dtc.c
View file

@ -71,7 +71,7 @@ void fill_fullpaths(struct node *tree, char *prefix)
fill_fullpaths(child, tree->fullpath); fill_fullpaths(child, tree->fullpath);
} }
static void usage(void) static void __attribute__ ((noreturn)) usage(void)
{ {
fprintf(stderr, "Usage:\n"); fprintf(stderr, "Usage:\n");
fprintf(stderr, "\tdtc [options] <input file>\n"); fprintf(stderr, "\tdtc [options] <input file>\n");

2
dtc.h
View file

@ -43,7 +43,7 @@ extern int quiet; /* Level of quietness */
extern int reservenum; /* Number of memory reservation slots */ extern int reservenum; /* Number of memory reservation slots */
extern int minsize; /* Minimum blob size */ extern int minsize; /* Minimum blob size */
static inline void die(char * str, ...) static inline void __attribute__((noreturn)) die(char * str, ...)
{ {
va_list ap; va_list ap;

View file

@ -909,6 +909,7 @@ struct boot_info *dt_from_blob(FILE *f)
fprintf(stderr, "\tboot_cpuid_phys:\t0x%x\n", fprintf(stderr, "\tboot_cpuid_phys:\t0x%x\n",
be32_to_cpu(bph->boot_cpuid_phys)); be32_to_cpu(bph->boot_cpuid_phys));
size_str = -1;
if (version >= 3) { if (version >= 3) {
size_str = be32_to_cpu(bph->size_dt_strings); size_str = be32_to_cpu(bph->size_dt_strings);
fprintf(stderr, "\tsize_dt_strings:\t%d\n", size_str); fprintf(stderr, "\tsize_dt_strings:\t%d\n", size_str);
@ -932,11 +933,11 @@ struct boot_info *dt_from_blob(FILE *f)
inbuf_init(&memresvbuf, inbuf_init(&memresvbuf,
blob + off_mem_rsvmap, blob + totalsize); blob + off_mem_rsvmap, blob + totalsize);
inbuf_init(&dtbuf, blob + off_dt, blob + totalsize); inbuf_init(&dtbuf, blob + off_dt, blob + totalsize);
if (size_str >= 0)
inbuf_init(&strbuf, blob + off_str, blob + off_str + size_str);
else
inbuf_init(&strbuf, blob + off_str, blob + totalsize); inbuf_init(&strbuf, blob + off_str, blob + totalsize);
if (version >= 3)
strbuf.limit = strbuf.base + size_str;
reservelist = flat_read_mem_reserve(&memresvbuf); reservelist = flat_read_mem_reserve(&memresvbuf);
val = flat_read_word(&dtbuf); val = flat_read_word(&dtbuf);

View file

@ -33,7 +33,6 @@ int main(int argc, char *argv[])
{ {
void *fdt = &_truncated_property; void *fdt = &_truncated_property;
const void *prop; const void *prop;
int err;
int len; int len;
test_init(argc, argv); test_init(argc, argv);
@ -43,7 +42,7 @@ int main(int argc, char *argv[])
FAIL("fdt_getprop() succeeded on truncated property"); FAIL("fdt_getprop() succeeded on truncated property");
if (len != -FDT_ERR_BADSTRUCTURE) if (len != -FDT_ERR_BADSTRUCTURE)
FAIL("fdt_getprop() failed with \"%s\" instead of \"%s\"", FAIL("fdt_getprop() failed with \"%s\" instead of \"%s\"",
fdt_strerror(err), fdt_strerror(-FDT_ERR_BADSTRUCTURE)); fdt_strerror(len), fdt_strerror(-FDT_ERR_BADSTRUCTURE));
PASS(); PASS();
} }