diff options
author | Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> | 2005-07-14 03:33:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-14 12:00:24 -0400 |
commit | 1c30385ae479ec4774bdc1048726aeb15cde0d21 (patch) | |
tree | c777f2a3210b60d19074c30940dfdbc9caa711bf | |
parent | 2e5e55923e315e8198f46f24f7ca37e1fd9aa102 (diff) |
[PATCH] uml: gcc 2.95 fix and Makefile cleanup
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@yahoo.it>
Cc: Raphael Bossek <raphael.bossek@gmx.de>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | arch/um/Makefile | 9 | ||||
-rw-r--r-- | arch/um/kernel/uml.lds.S | 4 |
2 files changed, 7 insertions, 6 deletions
diff --git a/arch/um/Makefile b/arch/um/Makefile index 4a375bbac109..dfcc9eaafaa7 100644 --- a/arch/um/Makefile +++ b/arch/um/Makefile | |||
@@ -116,13 +116,14 @@ CONFIG_KERNEL_STACK_ORDER ?= 2 | |||
116 | STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] ) | 116 | STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] ) |
117 | 117 | ||
118 | ifndef START | 118 | ifndef START |
119 | START = $$(($(TOP_ADDR) - $(SIZE))) | 119 | START = $(shell echo $$[ $(TOP_ADDR) - $(SIZE) ] ) |
120 | endif | 120 | endif |
121 | 121 | ||
122 | CPPFLAGS_vmlinux.lds = $(shell echo -U$(SUBARCH) \ | 122 | CPPFLAGS_vmlinux.lds = -U$(SUBARCH) \ |
123 | -DSTART=$(START) -DELF_ARCH=$(ELF_ARCH) \ | 123 | -DSTART=$(START) -DELF_ARCH=$(ELF_ARCH) \ |
124 | -DELF_FORMAT=\"$(ELF_FORMAT)\" $(CPP_MODE-y) \ | 124 | -DELF_FORMAT="$(ELF_FORMAT)" $(CPP_MODE-y) \ |
125 | -DKERNEL_STACK_SIZE=$(STACK_SIZE) -DSUBARCH=$(SUBARCH)) | 125 | -DKERNEL_STACK_SIZE=$(STACK_SIZE) \ |
126 | -DUNMAP_PATH=arch/um/sys-$(SUBARCH)/unmap_fin.o | ||
126 | 127 | ||
127 | #The wrappers will select whether using "malloc" or the kernel allocator. | 128 | #The wrappers will select whether using "malloc" or the kernel allocator. |
128 | LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc | 129 | LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc |
diff --git a/arch/um/kernel/uml.lds.S b/arch/um/kernel/uml.lds.S index 163476a8cb1b..b03326d391c9 100644 --- a/arch/um/kernel/uml.lds.S +++ b/arch/um/kernel/uml.lds.S | |||
@@ -16,8 +16,8 @@ SECTIONS | |||
16 | __binary_start = .; | 16 | __binary_start = .; |
17 | 17 | ||
18 | #ifdef MODE_TT | 18 | #ifdef MODE_TT |
19 | .remap_data : { arch/um/sys-SUBARCH/unmap_fin.o (.data .bss) } | 19 | .remap_data : { UNMAP_PATH (.data .bss) } |
20 | .remap : { arch/um/sys-SUBARCH/unmap_fin.o (.text) } | 20 | .remap : { UNMAP_PATH (.text) } |
21 | 21 | ||
22 | . = ALIGN(4096); /* Init code and data */ | 22 | . = ALIGN(4096); /* Init code and data */ |
23 | #endif | 23 | #endif |