From 9fc813e1a37d2e2d5e85a97d5ac4fc1c15d839fb Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Mon, 1 Mar 2021 15:56:36 +0100 Subject: Implement for dynamically loading the libgcc_s unwinder This will be used to consolidate the libgcc_s access for backtrace and pthread_cancel. Unlike the existing backtrace implementations, it provides some hardening based on pointer mangling. Reviewed-by: Carlos O'Donell --- malloc/set-freeres.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'malloc') diff --git a/malloc/set-freeres.c b/malloc/set-freeres.c index 24c7194aa8..817fbea8b8 100644 --- a/malloc/set-freeres.c +++ b/malloc/set-freeres.c @@ -19,6 +19,7 @@ #include #include #include +#include #include "../nss/nsswitch.h" #include "../libio/libioP.h" @@ -61,6 +62,10 @@ __libc_freeres (void) if (&__libpthread_freeres != NULL) __libpthread_freeres (); +#ifdef SHARED + __libc_unwind_link_freeres (); +#endif + for (p = symbol_set_first_element (__libc_freeres_ptrs); !symbol_set_end_p (__libc_freeres_ptrs, p); ++p) free (*p); -- cgit v1.2.3