diff options
author | Andy Lutomirski <luto@amacapital.net> | 2014-06-12 11:28:10 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2014-06-13 13:31:48 -0400 |
commit | a934fb5bc9cd1260be89272cfb7a6c9dc71974d7 (patch) | |
tree | 7922166333a7842b48e2193b88773c5c014156d1 /arch/x86/vdso | |
parent | e0bf7b86dace87eccdabdd66d2769ccad19cb81c (diff) |
x86/vdso: Fix vdso_install
"make vdso_install" installs unstripped versions of the vdso objects
for the benefit of the debugger. This was broken by checkin:
6f121e548f83 x86, vdso: Reimplement vdso.so preparation in build-time C
The filenames are different now, so update the Makefile to cope.
This still installs the 64-bit vdso as vdso64.so. We believe this
will be okay, as the only known user is a patched gdb which is known
to use build-ids, but if it turns out to be a problem we may have to
add a link.
Inspired by a patch from Sam Ravnborg.
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Reported-by: Josh Boyer <jwboyer@fedoraproject.org>
Tested-by: Josh Boyer <jwboyer@fedoraproject.org>
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Link: http://lkml.kernel.org/r/b10299edd8ba98d17e07dafcd895b8ecf4d99eff.1402586707.git.luto@amacapital.net
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/vdso')
-rw-r--r-- | arch/x86/vdso/Makefile | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/arch/x86/vdso/Makefile b/arch/x86/vdso/Makefile index ba6fc2757ee4..3c0809a0631f 100644 --- a/arch/x86/vdso/Makefile +++ b/arch/x86/vdso/Makefile | |||
@@ -9,11 +9,6 @@ VDSOX32-$(CONFIG_X86_X32_ABI) := y | |||
9 | VDSO32-$(CONFIG_X86_32) := y | 9 | VDSO32-$(CONFIG_X86_32) := y |
10 | VDSO32-$(CONFIG_COMPAT) := y | 10 | VDSO32-$(CONFIG_COMPAT) := y |
11 | 11 | ||
12 | vdso-install-$(VDSO64-y) += vdso.so | ||
13 | vdso-install-$(VDSOX32-y) += vdsox32.so | ||
14 | vdso-install-$(VDSO32-y) += $(vdso32-images) | ||
15 | |||
16 | |||
17 | # files to link into the vdso | 12 | # files to link into the vdso |
18 | vobjs-y := vdso-note.o vclock_gettime.o vgetcpu.o vdso-fakesections.o | 13 | vobjs-y := vdso-note.o vclock_gettime.o vgetcpu.o vdso-fakesections.o |
19 | vobjs-nox32 := vdso-fakesections.o | 14 | vobjs-nox32 := vdso-fakesections.o |
@@ -178,15 +173,20 @@ VDSO_LDFLAGS = -fPIC -shared $(call cc-ldoption, -Wl$(comma)--hash-style=sysv) \ | |||
178 | GCOV_PROFILE := n | 173 | GCOV_PROFILE := n |
179 | 174 | ||
180 | # | 175 | # |
181 | # Install the unstripped copy of vdso*.so listed in $(vdso-install-y). | 176 | # Install the unstripped copies of vdso*.so. |
182 | # | 177 | # |
183 | quiet_cmd_vdso_install = INSTALL $@ | 178 | quiet_cmd_vdso_install = INSTALL $(@:install_%=%) |
184 | cmd_vdso_install = cp $(obj)/$@.dbg $(MODLIB)/vdso/$@ | 179 | cmd_vdso_install = cp $< $(MODLIB)/vdso/$(@:install_%=%) |
185 | $(vdso-install-y): %.so: $(obj)/%.so.dbg FORCE | 180 | |
181 | vdso_img_insttargets := $(vdso_img_sodbg:%.dbg=install_%) | ||
182 | |||
183 | $(MODLIB)/vdso: FORCE | ||
186 | @mkdir -p $(MODLIB)/vdso | 184 | @mkdir -p $(MODLIB)/vdso |
185 | |||
186 | $(vdso_img_insttargets): install_%: $(obj)/%.dbg $(MODLIB)/vdso FORCE | ||
187 | $(call cmd,vdso_install) | 187 | $(call cmd,vdso_install) |
188 | 188 | ||
189 | PHONY += vdso_install $(vdso-install-y) | 189 | PHONY += vdso_install $(vdso_img_insttargets) |
190 | vdso_install: $(vdso-install-y) | 190 | vdso_install: $(vdso_img_insttargets) FORCE |
191 | 191 | ||
192 | clean-files := vdso32-syscall* vdso32-sysenter* vdso32-int80* | 192 | clean-files := vdso32-syscall* vdso32-sysenter* vdso32-int80* |