[patch 4/9] uml: gcc 2.95 fix and Makefile cleanup

From: blaisorblade
Date: Wed Jul 13 2005 - 13:30:45 EST



From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@xxxxxxxx>
CC: Raphael Bossek <raphael.bossek@xxxxxx>

1) Cleanup an ugly hyper-nested code in Makefile (now only the arith.
expression is passed through the host bash).

2) Fix a problem with GCC 2.95: according to a report from Raphael Bossek,
.remap_data : { arch/um/sys-SUBARCH/unmap_fin.o (.data .bss) }
is expanded into:
.remap_data : { arch/um/sys-i386 /unmap_fin.o (.data .bss) }

(because I didn't use ## to join the two tokens), thus stopping linking. Pass
the whole path from the Makefile as a simple and nice fix.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@xxxxxxxx>
---

linux-2.6.git-broken-paolo/arch/um/Makefile | 9 +++++----
linux-2.6.git-broken-paolo/arch/um/kernel/uml.lds.S | 4 ++--
2 files changed, 7 insertions(+), 6 deletions(-)

diff -puN arch/um/Makefile~uml-cleanup-Makefile-a-bit arch/um/Makefile
--- linux-2.6.git-broken/arch/um/Makefile~uml-cleanup-Makefile-a-bit 2005-07-13 19:41:17.000000000 +0200
+++ linux-2.6.git-broken-paolo/arch/um/Makefile 2005-07-13 19:41:17.000000000 +0200
@@ -116,13 +116,14 @@ CONFIG_KERNEL_STACK_ORDER ?= 2
STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] )

ifndef START
- START = $$(($(TOP_ADDR) - $(SIZE)))
+ START = $(shell echo $$[ $(TOP_ADDR) - $(SIZE) ] )
endif

-CPPFLAGS_vmlinux.lds = $(shell echo -U$(SUBARCH) \
+CPPFLAGS_vmlinux.lds = -U$(SUBARCH) \
-DSTART=$(START) -DELF_ARCH=$(ELF_ARCH) \
- -DELF_FORMAT=\"$(ELF_FORMAT)\" $(CPP_MODE-y) \
- -DKERNEL_STACK_SIZE=$(STACK_SIZE) -DSUBARCH=$(SUBARCH))
+ -DELF_FORMAT="$(ELF_FORMAT)" $(CPP_MODE-y) \
+ -DKERNEL_STACK_SIZE=$(STACK_SIZE) \
+ -DUNMAP_PATH=arch/um/sys-$(SUBARCH)/unmap_fin.o

#The wrappers will select whether using "malloc" or the kernel allocator.
LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc
diff -puN arch/um/kernel/uml.lds.S~uml-cleanup-Makefile-a-bit arch/um/kernel/uml.lds.S
--- linux-2.6.git-broken/arch/um/kernel/uml.lds.S~uml-cleanup-Makefile-a-bit 2005-07-13 19:41:17.000000000 +0200
+++ linux-2.6.git-broken-paolo/arch/um/kernel/uml.lds.S 2005-07-13 19:41:17.000000000 +0200
@@ -16,8 +16,8 @@ SECTIONS
__binary_start = .;

#ifdef MODE_TT
- .remap_data : { arch/um/sys-SUBARCH/unmap_fin.o (.data .bss) }
- .remap : { arch/um/sys-SUBARCH/unmap_fin.o (.text) }
+ .remap_data : { UNMAP_PATH (.data .bss) }
+ .remap : { UNMAP_PATH (.text) }

. = ALIGN(4096); /* Init code and data */
#endif
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/