diff -r 565cec5b9cc2 Config.mk --- a/Config.mk Tue Aug 2 23:13:50 2005 +++ b/Config.mk Tue Aug 2 18:33:54 2005 @@ -7,7 +7,7 @@ # Tools to run on system hosting the build HOSTCC = gcc -HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer +HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer AS = $(CROSS_COMPILE)as LD = $(CROSS_COMPILE)ld diff -r 565cec5b9cc2 xen/tools/Makefile --- a/xen/tools/Makefile Tue Aug 2 23:13:50 2005 +++ b/xen/tools/Makefile Tue Aug 2 18:33:54 2005 @@ -10,4 +10,4 @@ rm -f *.o symbols symbols: symbols.c - $(HOSTCC) -o $@ $< + $(HOSTCC) $(HOSTCFLAGS) -o $@ $< diff -r 565cec5b9cc2 xen/tools/symbols.c --- a/xen/tools/symbols.c Tue Aug 2 23:13:50 2005 +++ b/xen/tools/symbols.c Tue Aug 2 18:33:54 2005 @@ -152,8 +152,8 @@ /* include the type field in the symbol name, so that it gets * compressed together */ s->len = strlen(str) + 1; - s->sym = (char *) malloc(s->len + 1); - strcpy(s->sym + 1, str); + s->sym = (unsigned char *) malloc(s->len + 1); + strcpy((char *)(s->sym + 1), str); s->sym[0] = s->type; return 0; @@ -197,16 +197,18 @@ * move then they may get dropped in pass 2, which breaks the * symbols rules. */ - if (s->addr == _etext && strcmp(s->sym + offset, "_etext")) + if (s->addr == _etext && + strcmp((char *)(s->sym + offset), "_etext")) return 0; } /* Exclude symbols which vary between passes. */ - if (strstr(s->sym + offset, "_compiled.")) + if (strstr((char *)(s->sym + offset), "_compiled.")) return 0; for (i = 0; special_symbols[i]; i++) - if( strcmp(s->sym + offset, special_symbols[i]) == 0 ) + if( strcmp((char *)(s->sym + offset), + special_symbols[i]) == 0 ) return 0; return 1;