kallsyms: fix escaping of NUL char in strings
authorMike Frysinger <vapier@gentoo.org>
Mon, 15 Jun 2009 17:37:20 +0000 (13:37 -0400)
committerWolfgang Denk <wd@denx.de>
Fri, 10 Jul 2009 21:04:15 +0000 (23:04 +0200)
The current kallsyms code is using \\0 to escape the backslash in the awk
code, but the shell too needs escaping.  This way we make sure gcc is
passed the \0.  Then gcc itself will consume this as an octal, so we have
to use 000 so gcc will create the final NUL.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Makefile

index 2a06440249577b5fefae4a6f8dcefa2b010b2f9b..49ffac71e1d334af922733c8e754a0047b154301 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -352,7 +352,7 @@ GEN_UBOOT = \
 $(obj)u-boot:          depend $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT)
                $(GEN_UBOOT)
 ifeq ($(CONFIG_KALLSYMS),y)
-               smap=`$(call SYSTEM_MAP,u-boot) | awk '$$2 ~ /[tTwW]/ {printf $$1 $$3 "\\0"}'` ; \
+               smap=`$(call SYSTEM_MAP,u-boot) | awk '$$2 ~ /[tTwW]/ {printf $$1 $$3 "\\\\000"}'` ; \
                $(CC) $(CFLAGS) -DSYSTEM_MAP="\"$${smap}\"" -c common/system_map.c -o $(obj)common/system_map.o
                $(GEN_UBOOT) $(obj)common/system_map.o
 endif