The commit "ada: Add PIE support to backtraces on Linux" uses
_r_debug under Linux unconditionally. It is incorrect since musl
libc does not define _r_debug like glibc.
gcc/ada/
* adaint.c [Linux]: Include <features.h>.
(__gnat_get_executable_load_address) [Linux]: Enable only for
glibc and uClibc.
#if defined (__APPLE__)
#include <mach-o/dyld.h>
#elif defined (__linux__)
+#include <features.h>
#include <link.h>
#endif
#if defined (__APPLE__)
return _dyld_get_image_header (0);
-#elif defined (__linux__)
+#elif defined (__linux__) && (defined (__GLIBC__) || defined (__UCLIBC__))
struct link_map *map = _r_debug.r_map;
return (const void *)map->l_addr;