From: Claudiu Zissulescu Date: Mon, 14 Jul 2025 09:43:31 +0000 (+0300) Subject: SFrame: Add tests that uses DWARF backtracer X-Git-Tag: glibc-2.42~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e85dbd8604aedf4f3a30c6c9c2f0efc18183f270;p=thirdparty%2Fglibc.git SFrame: Add tests that uses DWARF backtracer When SFrame is enabled, we need to tests DW backtracer as well. Do this by executing the same backtrace tests with .sframe section stripped. Signed-off-by: Claudiu Zissulescu Reviewed-by: DJ Delorie --- diff --git a/debug/Makefile b/debug/Makefile index 40201844b3..f29bd20b97 100644 --- a/debug/Makefile +++ b/debug/Makefile @@ -278,6 +278,34 @@ LDFLAGS-tst-backtrace4 = -rdynamic LDFLAGS-tst-backtrace5 = -rdynamic LDFLAGS-tst-backtrace6 = -rdynamic +# When SFrame is enabled, make sure the dwarf unwinder is also exercised. +ifeq ($(enable-gsframe),yes) +dw_unwind_pair := \ + tst-backtrace7:tst-backtrace2 \ + tst-backtrace8:tst-backtrace3 \ + tst-backtrace9:tst-backtrace4 \ + tst-backtrace10:tst-backtrace5 \ + tst-backtrace11:tst-backtrace6 + +first_column = $(foreach pair,$(dw_unwind_pair),$(word 1,$(subst :, ,$(pair)))) +tests-dw-unwind = $(patsubst %,$(objpfx)%.out,$(first_column)) +tests-special += $(tests-dw-unwind) +endif + +define make-strip-rule +$(objpfx)$(word 1,$(subst :, ,$(1))): $(objpfx)$(word 2,$(subst :, ,$(1))) + strip --remove-section=.sframe $$< -o $$@ +endef + +$(foreach pair,$(dw_unwind_pair),$(eval $(call make-strip-rule,$(pair)))) + +define make-run-rule +$(objpfx)$(word 1,$(subst :, ,$(1))).out: /dev/null $(objpfx)$(word 1,$(subst :, ,$(1))) + $$(make-test-out) > $$@; $$(evaluate-test) +endef + +$(foreach pair,$(dw_unwind_pair),$(eval $(call make-run-rule,$(pair)))) + CFLAGS-tst-ssp-1.c += -fstack-protector-all # Disable compiler optimizations around vsprintf (the function under test).