Commit a934fb5b authored by Andy Lutomirski's avatar Andy Lutomirski Committed by H. Peter Anvin

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:

6f121e54 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: default avatarSam Ravnborg <sam@ravnborg.org>
Reported-by: default avatarJosh Boyer <jwboyer@fedoraproject.org>
Tested-by: default avatarJosh Boyer <jwboyer@fedoraproject.org>
Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
Link: http://lkml.kernel.org/r/b10299edd8ba98d17e07dafcd895b8ecf4d99eff.1402586707.git.luto@amacapital.netSigned-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
parent e0bf7b86
...@@ -9,11 +9,6 @@ VDSOX32-$(CONFIG_X86_X32_ABI) := y ...@@ -9,11 +9,6 @@ VDSOX32-$(CONFIG_X86_X32_ABI) := y
VDSO32-$(CONFIG_X86_32) := y VDSO32-$(CONFIG_X86_32) := y
VDSO32-$(CONFIG_COMPAT) := y VDSO32-$(CONFIG_COMPAT) := y
vdso-install-$(VDSO64-y) += vdso.so
vdso-install-$(VDSOX32-y) += vdsox32.so
vdso-install-$(VDSO32-y) += $(vdso32-images)
# files to link into the vdso # files to link into the vdso
vobjs-y := vdso-note.o vclock_gettime.o vgetcpu.o vdso-fakesections.o vobjs-y := vdso-note.o vclock_gettime.o vgetcpu.o vdso-fakesections.o
vobjs-nox32 := vdso-fakesections.o vobjs-nox32 := vdso-fakesections.o
...@@ -178,15 +173,20 @@ VDSO_LDFLAGS = -fPIC -shared $(call cc-ldoption, -Wl$(comma)--hash-style=sysv) \ ...@@ -178,15 +173,20 @@ VDSO_LDFLAGS = -fPIC -shared $(call cc-ldoption, -Wl$(comma)--hash-style=sysv) \
GCOV_PROFILE := n GCOV_PROFILE := n
# #
# Install the unstripped copy of vdso*.so listed in $(vdso-install-y). # Install the unstripped copies of vdso*.so.
# #
quiet_cmd_vdso_install = INSTALL $@ quiet_cmd_vdso_install = INSTALL $(@:install_%=%)
cmd_vdso_install = cp $(obj)/$@.dbg $(MODLIB)/vdso/$@ cmd_vdso_install = cp $< $(MODLIB)/vdso/$(@:install_%=%)
$(vdso-install-y): %.so: $(obj)/%.so.dbg FORCE
vdso_img_insttargets := $(vdso_img_sodbg:%.dbg=install_%)
$(MODLIB)/vdso: FORCE
@mkdir -p $(MODLIB)/vdso @mkdir -p $(MODLIB)/vdso
$(vdso_img_insttargets): install_%: $(obj)/%.dbg $(MODLIB)/vdso FORCE
$(call cmd,vdso_install) $(call cmd,vdso_install)
PHONY += vdso_install $(vdso-install-y) PHONY += vdso_install $(vdso_img_insttargets)
vdso_install: $(vdso-install-y) vdso_install: $(vdso_img_insttargets) FORCE
clean-files := vdso32-syscall* vdso32-sysenter* vdso32-int80* clean-files := vdso32-syscall* vdso32-sysenter* vdso32-int80*
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment