It's a regression present on all active branches for older glibc versions,
where dladdr is still in the libdl.so library, and not included in libc.so as
in newer glibc versions.
Applied on all active branches.
2026-03-14 Matthias Klose <[email protected]>
PR ada/107475
* Makefile.rtl (s390% linux%): Define MISCLIB.
(arm% linux-gnueabi%): Likewise.
(%x32 linux%): Likewise.
--
Eric Botcazoudiff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl
index eed13703f94..fbb0a0b2eec 100644
--- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -2036,6 +2036,7 @@ ifeq ($(strip $(filter-out s390% linux%,$(target_cpu) $(target_os))),)
EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
EH_MECHANISM=-gcc
THREADSLIB = -lpthread
+ MISCLIB = -ldl
GNATLIB_SHARED = gnatlib-shared-dual
LIBRARY_VERSION := $(LIB_VERSION)
endif
@@ -2529,6 +2530,7 @@ ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),)
EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
EH_MECHANISM=-arm
THREADSLIB = -lpthread
+ MISCLIB = -ldl
GNATLIB_SHARED = gnatlib-shared-dual
GMEM_LIB = gmemlib
LIBRARY_VERSION := $(LIB_VERSION)
@@ -2968,6 +2970,7 @@ ifeq ($(strip $(filter-out %x32 linux%,$(target_cpu) $(target_os))),)
EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o
EH_MECHANISM=-gcc
THREADSLIB=-lpthread -lrt
+ MISCLIB = -ldl
GNATLIB_SHARED=gnatlib-shared-dual
GMEM_LIB = gmemlib
LIBRARY_VERSION := $(LIB_VERSION)