> 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.