> The commit "ada: Add PIE support to backtraces on Linux" [1] use
> _r_debug under Linux unconditionally. It is incorrect since musl[2]
> libc not defined _r_debug like glibc [3]:
> 
> extern struct r_debug _r_debug;
> 
> As far as I know, only glibc and uClibc [4] define the global variable
> _r_debug. 
> 
> 
> [1] 
> https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=f2b30a724e6bf7ff8e591b176967d596cee7648e;hp=83e8d37fe39d7c1afce19b61bbc2dd828fa37c6f
> [2] https://git.musl-libc.org/cgit/musl/tree/include/link.h#n39
> [3] 
> https://sourceware.org/git/?p=glibc.git;a=blob;f=elf/link.h;h=3b5954d9818e8ea9f35638c55961f861f6ae6057;hb=HEAD#l66
> [4] https://git.uclibc.org/uClibc/tree/include/link.h#n71
> 
> OK? Bootstrapped and tested on aarch64-linux-(gnu|musl),
> riscv64-linux-(gnu|musl) and x86_64-linux-(gnu|musl) with no regressions.

OK, thanks,

> gcc/ada/
> 
> * adaint.c [Linux]: Include <features.h>.
> (__gnat_get_executable_load_address) [Linux]: Enable only for glibc & uClibc
> on Linux.

Reply via email to