Skip to content

Commit a934fb5

Browse files
amlutoH. Peter Anvin
authored andcommitted
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: 6f121e5 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>
1 parent e0bf7b8 commit a934fb5

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

arch/x86/vdso/Makefile

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@ VDSOX32-$(CONFIG_X86_X32_ABI) := y
99
VDSO32-$(CONFIG_X86_32) := y
1010
VDSO32-$(CONFIG_COMPAT) := y
1111

12-
vdso-install-$(VDSO64-y) += vdso.so
13-
vdso-install-$(VDSOX32-y) += vdsox32.so
14-
vdso-install-$(VDSO32-y) += $(vdso32-images)
15-
16-
1712
# files to link into the vdso
1813
vobjs-y := vdso-note.o vclock_gettime.o vgetcpu.o vdso-fakesections.o
1914
vobjs-nox32 := vdso-fakesections.o
@@ -178,15 +173,20 @@ VDSO_LDFLAGS = -fPIC -shared $(call cc-ldoption, -Wl$(comma)--hash-style=sysv) \
178173
GCOV_PROFILE := n
179174

180175
#
181-
# Install the unstripped copy of vdso*.so listed in $(vdso-install-y).
176+
# Install the unstripped copies of vdso*.so.
182177
#
183-
quiet_cmd_vdso_install = INSTALL $@
184-
cmd_vdso_install = cp $(obj)/$@.dbg $(MODLIB)/vdso/$@
185-
$(vdso-install-y): %.so: $(obj)/%.so.dbg FORCE
178+
quiet_cmd_vdso_install = INSTALL $(@:install_%=%)
179+
cmd_vdso_install = cp $< $(MODLIB)/vdso/$(@:install_%=%)
180+
181+
vdso_img_insttargets := $(vdso_img_sodbg:%.dbg=install_%)
182+
183+
$(MODLIB)/vdso: FORCE
186184
@mkdir -p $(MODLIB)/vdso
185+
186+
$(vdso_img_insttargets): install_%: $(obj)/%.dbg $(MODLIB)/vdso FORCE
187187
$(call cmd,vdso_install)
188188

189-
PHONY += vdso_install $(vdso-install-y)
190-
vdso_install: $(vdso-install-y)
189+
PHONY += vdso_install $(vdso_img_insttargets)
190+
vdso_install: $(vdso_img_insttargets) FORCE
191191

192192
clean-files := vdso32-syscall* vdso32-sysenter* vdso32-int80*

0 commit comments

Comments
 (0)