* [ada, patch] fix libgnat build on x86_64-linux-gnux32 with glibc <= 2.31
@ 2022-10-31 15:33 Matthias Klose
2022-11-07 13:50 ` Arnaud Charlet
0 siblings, 1 reply; 2+ messages in thread
From: Matthias Klose @ 2022-10-31 15:33 UTC (permalink / raw)
To: GCC Patches
This was introduced with the fix and backports of PR103530 on
x86_64-linux-gnux32 with older glibc versions (checked with 2.31), where dladdr
is still in the libdl.so library, and not included in libc.so as in newer glibc
versions.
Linking of libgnat.so fails with
[...]
/usr/x86_64-linux-gnux32/bin/ld: s-trasym.o: in function
`system__traceback__symbolic__module_na
me__getXnn':
collect2: error: ld returned 1 exit status
make[8]: *** [gcc-interface/Makefile:677: gnatlib-shared-default] Error 1
https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=9d6c63ba490ec92245f04b5cbafc56abd28e8d22
-- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -2650,13 +2650,18 @@ ifeq ($(strip $(filter-out %x32 linux%,$(target_cpu)
$(target_os))),)
s-tasinf.adb<libgnarl/s-tasinf__linux.adb \
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
s-taspri.ads<libgnarl/s-taspri__posix.ads \
+ $(TRASYM_DWARF_UNIX_PAIRS) \
+ s-tsmona.adb<libgnat/s-tsmona__linux.adb \
$(ATOMICS_TARGET_PAIRS) \
$(X86_64_TARGET_PAIRS) \
+ $(GNATRTL_128BIT_PAIRS) \
system.ads<libgnat/system-linux-x86.ads
The addition of s-tsmona.adb<libgnat/s-tsmona__linux.adb pulls in the reference
to dladdr, however not setting MISCLIB to -ldl as on other architectures
Proposed patch:
PR ada/107475
* Makefile.rtl: Set MISCLIB for x86_64-linux-gnux32.
--- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -2584,6 +2584,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)
Ok for the trunk and the branches?
Matthias
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [ada, patch] fix libgnat build on x86_64-linux-gnux32 with glibc <= 2.31
2022-10-31 15:33 [ada, patch] fix libgnat build on x86_64-linux-gnux32 with glibc <= 2.31 Matthias Klose
@ 2022-11-07 13:50 ` Arnaud Charlet
0 siblings, 0 replies; 2+ messages in thread
From: Arnaud Charlet @ 2022-11-07 13:50 UTC (permalink / raw)
To: Matthias Klose; +Cc: GCC Patches
> This was introduced with the fix and backports of PR103530 on
> x86_64-linux-gnux32 with older glibc versions (checked with 2.31), where
> dladdr is still in the libdl.so library, and not included in libc.so as in
> newer glibc versions.
> Linking of libgnat.so fails with
>
> [...]
> /usr/x86_64-linux-gnux32/bin/ld: s-trasym.o: in function
> `system__traceback__symbolic__module_na
> me__getXnn':
> collect2: error: ld returned 1 exit status
> make[8]: *** [gcc-interface/Makefile:677: gnatlib-shared-default] Error 1
>
> https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=9d6c63ba490ec92245f04b5cbafc56abd28e8d22
>
> -- a/gcc/ada/Makefile.rtl
> +++ b/gcc/ada/Makefile.rtl
> @@ -2650,13 +2650,18 @@ ifeq ($(strip $(filter-out %x32 linux%,$(target_cpu)
> $(target_os))),)
> s-tasinf.adb<libgnarl/s-tasinf__linux.adb \
> s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
> s-taspri.ads<libgnarl/s-taspri__posix.ads \
> + $(TRASYM_DWARF_UNIX_PAIRS) \
> + s-tsmona.adb<libgnat/s-tsmona__linux.adb \
> $(ATOMICS_TARGET_PAIRS) \
> $(X86_64_TARGET_PAIRS) \
> + $(GNATRTL_128BIT_PAIRS) \
> system.ads<libgnat/system-linux-x86.ads
>
> The addition of s-tsmona.adb<libgnat/s-tsmona__linux.adb pulls in the
> reference to dladdr, however not setting MISCLIB to -ldl as on other
> architectures
>
> Proposed patch:
>
>
> PR ada/107475
> * Makefile.rtl: Set MISCLIB for x86_64-linux-gnux32.
>
>
> --- a/gcc/ada/Makefile.rtl
> +++ b/gcc/ada/Makefile.rtl
> @@ -2584,6 +2584,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)
>
> Ok for the trunk and the branches?
Yes, thanks.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-11-07 13:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-31 15:33 [ada, patch] fix libgnat build on x86_64-linux-gnux32 with glibc <= 2.31 Matthias Klose
2022-11-07 13:50 ` Arnaud Charlet
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).