summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/vdso64/Makefile
diff options
context:
space:
mode:
authorChristophe Leroy <christophe.leroy@csgroup.eu>2020-09-27 11:16:33 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2020-12-03 15:01:17 +0100
commit91bf695596f594e42d69d70deb2ae53cafecf77c (patch)
treef227a7426c8e357087db461585f0d48b2969f6fb /arch/powerpc/kernel/vdso64/Makefile
parentpowerpc/vdso: Remove unused \tmp param in __get_datapage() (diff)
downloadlinux-91bf695596f594e42d69d70deb2ae53cafecf77c.tar.xz
linux-91bf695596f594e42d69d70deb2ae53cafecf77c.zip
powerpc/vdso: Retrieve sigtramp offsets at buildtime
This is copied from arm64. Instead of using runtime generated signal trampoline offsets, get offsets at buildtime. If the said trampoline doesn't exist, build will fail. So no need to check whether the trampoline exists or not in the VDSO. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/f8bfd6812c3e3678b1cdb4d55a52f9eb022b40d3.1601197618.git.christophe.leroy@csgroup.eu
Diffstat (limited to 'arch/powerpc/kernel/vdso64/Makefile')
-rw-r--r--arch/powerpc/kernel/vdso64/Makefile8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/vdso64/Makefile b/arch/powerpc/kernel/vdso64/Makefile
index 29004ad1b0fb..d365810a689a 100644
--- a/arch/powerpc/kernel/vdso64/Makefile
+++ b/arch/powerpc/kernel/vdso64/Makefile
@@ -42,6 +42,14 @@ $(obj)/vdso64_wrapper.o : $(obj)/vdso64.so.dbg
$(obj)/vdso64.so.dbg: $(src)/vdso64.lds $(obj-vdso64) $(obj)/vgettimeofday.o FORCE
$(call if_changed,vdso64ld_and_check)
+# Generate VDSO offsets using helper script
+gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh
+quiet_cmd_vdsosym = VDSOSYM $@
+ cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
+
+include/generated/vdso64-offsets.h: $(obj)/vdso64.so.dbg FORCE
+ $(call if_changed,vdsosym)
+
# actual build commands
quiet_cmd_vdso64ld_and_check = VDSO64L $@
cmd_vdso64ld_and_check = $(CC) $(c_flags) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^); $(cmd_vdso_check)