Commit c0a18111e571138747a98af18b3a2124df56a0d1
1 parent
db176c6ed8
Exists in
master
and in
7 other branches
Revert "uml: fix gcc problem"
This reverts commit 22eecde2f9034764a3fd095eecfa3adfb8ec9a98. Uli reports that it breaks UML on x86-64 with the Fedora 8 gcc (gcc 4.1.2), causing a crash on startup. See http://marc.info/?l=linux-kernel&m=121011722806093&w=2 for a trace. Reported-by: Ulrich Drepper <drepper@redhat.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 1 changed file with 1 additions and 4 deletions Inline Diff
arch/um/Makefile
1 | # | 1 | # |
2 | # This file is included by the global makefile so that you can add your own | 2 | # This file is included by the global makefile so that you can add your own |
3 | # architecture-specific flags and dependencies. | 3 | # architecture-specific flags and dependencies. |
4 | # | 4 | # |
5 | # Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) | 5 | # Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) |
6 | # Licensed under the GPL | 6 | # Licensed under the GPL |
7 | # | 7 | # |
8 | 8 | ||
9 | ARCH_DIR := arch/um | 9 | ARCH_DIR := arch/um |
10 | OS := $(shell uname -s) | 10 | OS := $(shell uname -s) |
11 | # We require bash because the vmlinux link and loader script cpp use bash | 11 | # We require bash because the vmlinux link and loader script cpp use bash |
12 | # features. | 12 | # features. |
13 | SHELL := /bin/bash | 13 | SHELL := /bin/bash |
14 | 14 | ||
15 | filechk_gen_header = $< | 15 | filechk_gen_header = $< |
16 | 16 | ||
17 | core-y += $(ARCH_DIR)/kernel/ \ | 17 | core-y += $(ARCH_DIR)/kernel/ \ |
18 | $(ARCH_DIR)/drivers/ \ | 18 | $(ARCH_DIR)/drivers/ \ |
19 | $(ARCH_DIR)/os-$(OS)/ | 19 | $(ARCH_DIR)/os-$(OS)/ |
20 | 20 | ||
21 | # Have to precede the include because the included Makefiles reference them. | 21 | # Have to precede the include because the included Makefiles reference them. |
22 | SYMLINK_HEADERS := archparam.h system.h sigcontext.h processor.h ptrace.h \ | 22 | SYMLINK_HEADERS := archparam.h system.h sigcontext.h processor.h ptrace.h \ |
23 | module.h vm-flags.h elf.h host_ldt.h | 23 | module.h vm-flags.h elf.h host_ldt.h |
24 | SYMLINK_HEADERS := $(foreach header,$(SYMLINK_HEADERS),include/asm-um/$(header)) | 24 | SYMLINK_HEADERS := $(foreach header,$(SYMLINK_HEADERS),include/asm-um/$(header)) |
25 | 25 | ||
26 | # XXX: The "os" symlink is only used by arch/um/include/os.h, which includes | 26 | # XXX: The "os" symlink is only used by arch/um/include/os.h, which includes |
27 | # ../os/include/file.h | 27 | # ../os/include/file.h |
28 | # | 28 | # |
29 | # These are cleaned up during mrproper. Please DO NOT fix it again, this is | 29 | # These are cleaned up during mrproper. Please DO NOT fix it again, this is |
30 | # the Correct Thing(tm) to do! | 30 | # the Correct Thing(tm) to do! |
31 | ARCH_SYMLINKS = include/asm-um/arch $(ARCH_DIR)/include/sysdep $(ARCH_DIR)/os \ | 31 | ARCH_SYMLINKS = include/asm-um/arch $(ARCH_DIR)/include/sysdep $(ARCH_DIR)/os \ |
32 | $(SYMLINK_HEADERS) $(ARCH_DIR)/include/uml-config.h | 32 | $(SYMLINK_HEADERS) $(ARCH_DIR)/include/uml-config.h |
33 | 33 | ||
34 | MODE_INCLUDE += -I$(srctree)/$(ARCH_DIR)/include/skas | 34 | MODE_INCLUDE += -I$(srctree)/$(ARCH_DIR)/include/skas |
35 | 35 | ||
36 | include $(srctree)/$(ARCH_DIR)/Makefile-skas | 36 | include $(srctree)/$(ARCH_DIR)/Makefile-skas |
37 | 37 | ||
38 | ARCH_INCLUDE := -I$(ARCH_DIR)/include | 38 | ARCH_INCLUDE := -I$(ARCH_DIR)/include |
39 | ifneq ($(KBUILD_SRC),) | 39 | ifneq ($(KBUILD_SRC),) |
40 | ARCH_INCLUDE += -I$(srctree)/$(ARCH_DIR)/include | 40 | ARCH_INCLUDE += -I$(srctree)/$(ARCH_DIR)/include |
41 | endif | 41 | endif |
42 | SYS_DIR := $(ARCH_DIR)/include/sysdep-$(SUBARCH) | 42 | SYS_DIR := $(ARCH_DIR)/include/sysdep-$(SUBARCH) |
43 | 43 | ||
44 | # -Dvmap=kernel_vmap prevents anything from referencing the libpcap.o symbol so | 44 | # -Dvmap=kernel_vmap prevents anything from referencing the libpcap.o symbol so |
45 | # named - it's a common symbol in libpcap, so we get a binary which crashes. | 45 | # named - it's a common symbol in libpcap, so we get a binary which crashes. |
46 | # | 46 | # |
47 | # Same things for in6addr_loopback and mktime - found in libc. For these two we | 47 | # Same things for in6addr_loopback and mktime - found in libc. For these two we |
48 | # only get link-time error, luckily. | 48 | # only get link-time error, luckily. |
49 | # | 49 | # |
50 | # These apply to USER_CFLAGS to. | 50 | # These apply to USER_CFLAGS to. |
51 | 51 | ||
52 | KBUILD_CFLAGS += $(CFLAGS) $(CFLAGS-y) -D__arch_um__ -DSUBARCH=\"$(SUBARCH)\" \ | 52 | KBUILD_CFLAGS += $(CFLAGS) $(CFLAGS-y) -D__arch_um__ -DSUBARCH=\"$(SUBARCH)\" \ |
53 | $(ARCH_INCLUDE) $(MODE_INCLUDE) -Dvmap=kernel_vmap \ | 53 | $(ARCH_INCLUDE) $(MODE_INCLUDE) -Dvmap=kernel_vmap \ |
54 | -Din6addr_loopback=kernel_in6addr_loopback \ | 54 | -Din6addr_loopback=kernel_in6addr_loopback \ |
55 | -Din6addr_any=kernel_in6addr_any | 55 | -Din6addr_any=kernel_in6addr_any |
56 | 56 | ||
57 | KBUILD_AFLAGS += $(ARCH_INCLUDE) | 57 | KBUILD_AFLAGS += $(ARCH_INCLUDE) |
58 | 58 | ||
59 | USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -D__KERNEL__,,\ | 59 | USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -D__KERNEL__,,\ |
60 | $(patsubst -I%,,$(KBUILD_CFLAGS)))) $(ARCH_INCLUDE) $(MODE_INCLUDE) \ | 60 | $(patsubst -I%,,$(KBUILD_CFLAGS)))) $(ARCH_INCLUDE) $(MODE_INCLUDE) \ |
61 | $(filter -I%,$(CFLAGS)) -D_FILE_OFFSET_BITS=64 | 61 | $(filter -I%,$(CFLAGS)) -D_FILE_OFFSET_BITS=64 |
62 | 62 | ||
63 | include $(srctree)/$(ARCH_DIR)/Makefile-$(SUBARCH) | 63 | include $(srctree)/$(ARCH_DIR)/Makefile-$(SUBARCH) |
64 | 64 | ||
65 | #This will adjust *FLAGS accordingly to the platform. | 65 | #This will adjust *FLAGS accordingly to the platform. |
66 | include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS) | 66 | include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS) |
67 | 67 | ||
68 | # -Derrno=kernel_errno - This turns all kernel references to errno into | 68 | # -Derrno=kernel_errno - This turns all kernel references to errno into |
69 | # kernel_errno to separate them from the libc errno. This allows -fno-common | 69 | # kernel_errno to separate them from the libc errno. This allows -fno-common |
70 | # in KBUILD_CFLAGS. Otherwise, it would cause ld to complain about the two different | 70 | # in KBUILD_CFLAGS. Otherwise, it would cause ld to complain about the two different |
71 | # errnos. | 71 | # errnos. |
72 | # These apply to kernelspace only. | 72 | # These apply to kernelspace only. |
73 | # | 73 | # |
74 | # strip leading and trailing whitespace to make the USER_CFLAGS removal of these | 74 | # strip leading and trailing whitespace to make the USER_CFLAGS removal of these |
75 | # defines more robust | 75 | # defines more robust |
76 | 76 | ||
77 | KERNEL_DEFINES = $(strip -Derrno=kernel_errno -Dsigprocmask=kernel_sigprocmask \ | 77 | KERNEL_DEFINES = $(strip -Derrno=kernel_errno -Dsigprocmask=kernel_sigprocmask \ |
78 | -Dmktime=kernel_mktime $(ARCH_KERNEL_DEFINES)) | 78 | -Dmktime=kernel_mktime $(ARCH_KERNEL_DEFINES)) |
79 | KBUILD_CFLAGS += $(KERNEL_DEFINES) | 79 | KBUILD_CFLAGS += $(KERNEL_DEFINES) |
80 | # Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use | 80 | KBUILD_CFLAGS += $(call cc-option,-fno-unit-at-a-time,) |
81 | # a lot more stack due to the lack of sharing of stacklots: | ||
82 | KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then \ | ||
83 | echo $(call cc-option,-fno-unit-at-a-time); fi ;) | ||
84 | 81 | ||
85 | PHONY += linux | 82 | PHONY += linux |
86 | 83 | ||
87 | all: linux | 84 | all: linux |
88 | 85 | ||
89 | linux: vmlinux | 86 | linux: vmlinux |
90 | @echo ' LINK $@' | 87 | @echo ' LINK $@' |
91 | $(Q)ln -f $< $@ | 88 | $(Q)ln -f $< $@ |
92 | 89 | ||
93 | define archhelp | 90 | define archhelp |
94 | echo '* linux - Binary kernel image (./linux) - for backward' | 91 | echo '* linux - Binary kernel image (./linux) - for backward' |
95 | echo ' compatibility only, this creates a hard link to the' | 92 | echo ' compatibility only, this creates a hard link to the' |
96 | echo ' real kernel binary, the "vmlinux" binary you' | 93 | echo ' real kernel binary, the "vmlinux" binary you' |
97 | echo ' find in the kernel root.' | 94 | echo ' find in the kernel root.' |
98 | endef | 95 | endef |
99 | 96 | ||
100 | ifneq ($(KBUILD_SRC),) | 97 | ifneq ($(KBUILD_SRC),) |
101 | $(shell mkdir -p $(ARCH_DIR) && ln -fsn $(srctree)/$(ARCH_DIR)/Kconfig.$(SUBARCH) $(ARCH_DIR)/Kconfig.arch) | 98 | $(shell mkdir -p $(ARCH_DIR) && ln -fsn $(srctree)/$(ARCH_DIR)/Kconfig.$(SUBARCH) $(ARCH_DIR)/Kconfig.arch) |
102 | else | 99 | else |
103 | $(shell cd $(ARCH_DIR) && ln -sf Kconfig.$(SUBARCH) Kconfig.arch) | 100 | $(shell cd $(ARCH_DIR) && ln -sf Kconfig.$(SUBARCH) Kconfig.arch) |
104 | endif | 101 | endif |
105 | 102 | ||
106 | archprepare: $(ARCH_SYMLINKS) $(ARCH_DIR)/include/user_constants.h | 103 | archprepare: $(ARCH_SYMLINKS) $(ARCH_DIR)/include/user_constants.h |
107 | prepare: $(ARCH_DIR)/include/kern_constants.h | 104 | prepare: $(ARCH_DIR)/include/kern_constants.h |
108 | 105 | ||
109 | LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static | 106 | LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static |
110 | LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib | 107 | LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib |
111 | 108 | ||
112 | CFLAGS_NO_HARDENING := $(call cc-option, -fno-PIC,) $(call cc-option, -fno-pic,) \ | 109 | CFLAGS_NO_HARDENING := $(call cc-option, -fno-PIC,) $(call cc-option, -fno-pic,) \ |
113 | $(call cc-option, -fno-stack-protector,) \ | 110 | $(call cc-option, -fno-stack-protector,) \ |
114 | $(call cc-option, -fno-stack-protector-all,) | 111 | $(call cc-option, -fno-stack-protector-all,) |
115 | 112 | ||
116 | CONFIG_KERNEL_STACK_ORDER ?= 2 | 113 | CONFIG_KERNEL_STACK_ORDER ?= 2 |
117 | STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] ) | 114 | STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] ) |
118 | 115 | ||
119 | CPPFLAGS_vmlinux.lds = -U$(SUBARCH) -DSTART=$(START) -DELF_ARCH=$(ELF_ARCH) \ | 116 | CPPFLAGS_vmlinux.lds = -U$(SUBARCH) -DSTART=$(START) -DELF_ARCH=$(ELF_ARCH) \ |
120 | -DELF_FORMAT="$(ELF_FORMAT)" -DKERNEL_STACK_SIZE=$(STACK_SIZE) | 117 | -DELF_FORMAT="$(ELF_FORMAT)" -DKERNEL_STACK_SIZE=$(STACK_SIZE) |
121 | 118 | ||
122 | # The wrappers will select whether using "malloc" or the kernel allocator. | 119 | # The wrappers will select whether using "malloc" or the kernel allocator. |
123 | LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc | 120 | LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc |
124 | 121 | ||
125 | LD_FLAGS_CMDLINE = $(foreach opt,$(LDFLAGS),-Wl,$(opt)) | 122 | LD_FLAGS_CMDLINE = $(foreach opt,$(LDFLAGS),-Wl,$(opt)) |
126 | 123 | ||
127 | CFLAGS_vmlinux := $(LINK-y) $(LINK_WRAPS) $(LD_FLAGS_CMDLINE) | 124 | CFLAGS_vmlinux := $(LINK-y) $(LINK_WRAPS) $(LD_FLAGS_CMDLINE) |
128 | define cmd_vmlinux__ | 125 | define cmd_vmlinux__ |
129 | $(CC) $(CFLAGS_vmlinux) -o $@ \ | 126 | $(CC) $(CFLAGS_vmlinux) -o $@ \ |
130 | -Wl,-T,$(vmlinux-lds) $(vmlinux-init) \ | 127 | -Wl,-T,$(vmlinux-lds) $(vmlinux-init) \ |
131 | -Wl,--start-group $(vmlinux-main) -Wl,--end-group \ | 128 | -Wl,--start-group $(vmlinux-main) -Wl,--end-group \ |
132 | -lutil \ | 129 | -lutil \ |
133 | $(filter-out $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) vmlinux.o \ | 130 | $(filter-out $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) vmlinux.o \ |
134 | FORCE ,$^) ; rm -f linux | 131 | FORCE ,$^) ; rm -f linux |
135 | endef | 132 | endef |
136 | 133 | ||
137 | # When cleaning we don't include .config, so we don't include | 134 | # When cleaning we don't include .config, so we don't include |
138 | # TT or skas makefiles and don't clean skas_ptregs.h. | 135 | # TT or skas makefiles and don't clean skas_ptregs.h. |
139 | CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/uml-config.h \ | 136 | CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/uml-config.h \ |
140 | $(ARCH_DIR)/include/user_constants.h \ | 137 | $(ARCH_DIR)/include/user_constants.h \ |
141 | $(ARCH_DIR)/include/kern_constants.h $(ARCH_DIR)/Kconfig.arch | 138 | $(ARCH_DIR)/include/kern_constants.h $(ARCH_DIR)/Kconfig.arch |
142 | 139 | ||
143 | MRPROPER_FILES += $(ARCH_SYMLINKS) | 140 | MRPROPER_FILES += $(ARCH_SYMLINKS) |
144 | 141 | ||
145 | archclean: | 142 | archclean: |
146 | @find . \( -name '*.bb' -o -name '*.bbg' -o -name '*.da' \ | 143 | @find . \( -name '*.bb' -o -name '*.bbg' -o -name '*.da' \ |
147 | -o -name '*.gcov' \) -type f -print | xargs rm -f | 144 | -o -name '*.gcov' \) -type f -print | xargs rm -f |
148 | 145 | ||
149 | $(SYMLINK_HEADERS): | 146 | $(SYMLINK_HEADERS): |
150 | @echo ' SYMLINK $@' | 147 | @echo ' SYMLINK $@' |
151 | ifneq ($(KBUILD_SRC),) | 148 | ifneq ($(KBUILD_SRC),) |
152 | $(Q)mkdir -p $(objtree)/include/asm-um | 149 | $(Q)mkdir -p $(objtree)/include/asm-um |
153 | $(Q)ln -fsn $(srctree)/include/asm-um/$(basename $(notdir $@))-$(SUBARCH)$(suffix $@) $@ | 150 | $(Q)ln -fsn $(srctree)/include/asm-um/$(basename $(notdir $@))-$(SUBARCH)$(suffix $@) $@ |
154 | else | 151 | else |
155 | $(Q)cd $(srctree)/$(dir $@) ; \ | 152 | $(Q)cd $(srctree)/$(dir $@) ; \ |
156 | ln -sf $(basename $(notdir $@))-$(SUBARCH)$(suffix $@) $(notdir $@) | 153 | ln -sf $(basename $(notdir $@))-$(SUBARCH)$(suffix $@) $(notdir $@) |
157 | endif | 154 | endif |
158 | 155 | ||
159 | include/asm-um/arch: | 156 | include/asm-um/arch: |
160 | @echo ' SYMLINK $@' | 157 | @echo ' SYMLINK $@' |
161 | ifneq ($(KBUILD_SRC),) | 158 | ifneq ($(KBUILD_SRC),) |
162 | $(Q)mkdir -p $(objtree)/include/asm-um | 159 | $(Q)mkdir -p $(objtree)/include/asm-um |
163 | $(Q)ln -fsn $(srctree)/include/asm-$(HEADER_ARCH) include/asm-um/arch | 160 | $(Q)ln -fsn $(srctree)/include/asm-$(HEADER_ARCH) include/asm-um/arch |
164 | else | 161 | else |
165 | $(Q)cd $(srctree)/include/asm-um && ln -fsn ../asm-$(HEADER_ARCH) arch | 162 | $(Q)cd $(srctree)/include/asm-um && ln -fsn ../asm-$(HEADER_ARCH) arch |
166 | endif | 163 | endif |
167 | 164 | ||
168 | $(objtree)/$(ARCH_DIR)/include: | 165 | $(objtree)/$(ARCH_DIR)/include: |
169 | @echo ' MKDIR $@' | 166 | @echo ' MKDIR $@' |
170 | $(Q)mkdir -p $@ | 167 | $(Q)mkdir -p $@ |
171 | 168 | ||
172 | $(ARCH_DIR)/include/sysdep: $(objtree)/$(ARCH_DIR)/include | 169 | $(ARCH_DIR)/include/sysdep: $(objtree)/$(ARCH_DIR)/include |
173 | @echo ' SYMLINK $@' | 170 | @echo ' SYMLINK $@' |
174 | ifneq ($(KBUILD_SRC),) | 171 | ifneq ($(KBUILD_SRC),) |
175 | $(Q)ln -fsn $(srctree)/$(ARCH_DIR)/include/sysdep-$(SUBARCH) $(ARCH_DIR)/include/sysdep | 172 | $(Q)ln -fsn $(srctree)/$(ARCH_DIR)/include/sysdep-$(SUBARCH) $(ARCH_DIR)/include/sysdep |
176 | else | 173 | else |
177 | $(Q)cd $(ARCH_DIR)/include && ln -fsn sysdep-$(SUBARCH) sysdep | 174 | $(Q)cd $(ARCH_DIR)/include && ln -fsn sysdep-$(SUBARCH) sysdep |
178 | endif | 175 | endif |
179 | 176 | ||
180 | $(ARCH_DIR)/os: | 177 | $(ARCH_DIR)/os: |
181 | @echo ' SYMLINK $@' | 178 | @echo ' SYMLINK $@' |
182 | ifneq ($(KBUILD_SRC),) | 179 | ifneq ($(KBUILD_SRC),) |
183 | $(Q)ln -fsn $(srctree)/$(ARCH_DIR)/os-$(OS) $(ARCH_DIR)/os | 180 | $(Q)ln -fsn $(srctree)/$(ARCH_DIR)/os-$(OS) $(ARCH_DIR)/os |
184 | else | 181 | else |
185 | $(Q)cd $(ARCH_DIR) && ln -fsn os-$(OS) os | 182 | $(Q)cd $(ARCH_DIR) && ln -fsn os-$(OS) os |
186 | endif | 183 | endif |
187 | 184 | ||
188 | # Generated files | 185 | # Generated files |
189 | define filechk_umlconfig | 186 | define filechk_umlconfig |
190 | sed 's/ CONFIG/ UML_CONFIG/' | 187 | sed 's/ CONFIG/ UML_CONFIG/' |
191 | endef | 188 | endef |
192 | 189 | ||
193 | $(ARCH_DIR)/include/uml-config.h : include/linux/autoconf.h | 190 | $(ARCH_DIR)/include/uml-config.h : include/linux/autoconf.h |
194 | $(call filechk,umlconfig) | 191 | $(call filechk,umlconfig) |
195 | 192 | ||
196 | $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s: FORCE | 193 | $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s: FORCE |
197 | $(Q)$(MAKE) $(build)=$(ARCH_DIR)/sys-$(SUBARCH) $@ | 194 | $(Q)$(MAKE) $(build)=$(ARCH_DIR)/sys-$(SUBARCH) $@ |
198 | 195 | ||
199 | define filechk_gen-asm-offsets | 196 | define filechk_gen-asm-offsets |
200 | (set -e; \ | 197 | (set -e; \ |
201 | echo "/*"; \ | 198 | echo "/*"; \ |
202 | echo " * DO NOT MODIFY."; \ | 199 | echo " * DO NOT MODIFY."; \ |
203 | echo " *"; \ | 200 | echo " *"; \ |
204 | echo " * This file was generated by arch/$(ARCH)/Makefile"; \ | 201 | echo " * This file was generated by arch/$(ARCH)/Makefile"; \ |
205 | echo " *"; \ | 202 | echo " *"; \ |
206 | echo " */"; \ | 203 | echo " */"; \ |
207 | echo ""; \ | 204 | echo ""; \ |
208 | sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"; \ | 205 | sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"; \ |
209 | echo ""; ) | 206 | echo ""; ) |
210 | endef | 207 | endef |
211 | 208 | ||
212 | $(ARCH_DIR)/include/user_constants.h: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s | 209 | $(ARCH_DIR)/include/user_constants.h: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s |
213 | $(call filechk,gen-asm-offsets) | 210 | $(call filechk,gen-asm-offsets) |
214 | 211 | ||
215 | $(ARCH_DIR)/include/kern_constants.h: $(objtree)/$(ARCH_DIR)/include | 212 | $(ARCH_DIR)/include/kern_constants.h: $(objtree)/$(ARCH_DIR)/include |
216 | @echo ' SYMLINK $@' | 213 | @echo ' SYMLINK $@' |
217 | $(Q)ln -sf ../../../include/asm-um/asm-offsets.h $@ | 214 | $(Q)ln -sf ../../../include/asm-um/asm-offsets.h $@ |
218 | 215 | ||
219 | export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH | 216 | export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH |
220 | 217 |