|
@@ -55,6 +55,20 @@ SYSCFLAGS_vdso-syms.o = -r -d
|
|
|
$(obj)/vdso-syms.o: $(src)/vdso.lds $(vobjs) FORCE
|
|
|
$(call if_changed,syscall)
|
|
|
|
|
|
+targets += vdso-syms.lds
|
|
|
+obj-y += vdso-syms.lds
|
|
|
+
|
|
|
+#
|
|
|
+# Match symbols in the DSO that look like VDSO*; produce a file of constants.
|
|
|
+#
|
|
|
+sed-vdsosym := -e 's/^00*/0/' \
|
|
|
+ -e 's/^\([0-9a-fA-F]*\) . \(VDSO[a-zA-Z0-9_]*\)$$/\2 = 0x\1;/p'
|
|
|
+quiet_cmd_vdsosym = VDSOSYM $@
|
|
|
+ cmd_vdsosym = $(NM) $< | sed -n $(sed-vdsosym) | LC_ALL=C sort > $@
|
|
|
+
|
|
|
+$(obj)/%-syms.lds: $(obj)/%.so.dbg FORCE
|
|
|
+ $(call if_changed,vdsosym)
|
|
|
+
|
|
|
quiet_cmd_vdso_install = INSTALL $@
|
|
|
cmd_vdso_install = cp $(obj)/$@.dbg $(MODLIB)/vdso/$@
|
|
|
vdso.so:
|