[RFC PATCH v1 05/16] s390/vdso: Keep function symbols in vDSO

Jens Remus posted 16 patches 2 months, 4 weeks ago
[RFC PATCH v1 05/16] s390/vdso: Keep function symbols in vDSO
Posted by Jens Remus 2 months, 4 weeks ago
Keep all function symbols in the vDSO .symtab for stack trace purposes.
This enables perf to lookup these function symbols in addition to those
already exported in vDSO .dynsym.

Signed-off-by: Jens Remus <jremus@linux.ibm.com>
---

Notes (jremus):
    Alternatively use objcopy option -g instead of -S (and the -w -K
    filters), as Josh did in "x86/vdso: Enable sframe generation in VDSO":
    https://lore.kernel.org/all/20250425024023.173709192@goodmis.org/
    
    Note that this change does not cause the vDSO build-id to change.
    perf record may therefore not dump an updated copy of the vDSO to
    ~/.debug/[vdso]/<build-id>/vdso, so that perf script may use a
    stale copy without .symtab. Resolve by deleting ~/.debug/.

 arch/s390/kernel/vdso64/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/s390/kernel/vdso64/Makefile b/arch/s390/kernel/vdso64/Makefile
index e96156b9c4df..067753352697 100644
--- a/arch/s390/kernel/vdso64/Makefile
+++ b/arch/s390/kernel/vdso64/Makefile
@@ -58,7 +58,7 @@ $(obj)/vdso64.so.dbg: $(obj)/vdso64.lds $(obj-vdso64) $(obj-cvdso64) FORCE
 	$(call if_changed,vdso_and_check)
 
 # strip rule for the .so file
-$(obj)/%.so: OBJCOPYFLAGS := -S
+$(obj)/%.so: OBJCOPYFLAGS := -S -w -K "__arch_*" -K "__cvdso_*" -K "__s390_vdso_*"
 $(obj)/%.so: $(obj)/%.so.dbg FORCE
 	$(call if_changed,objcopy)
 
-- 
2.48.1