https://gcc.gnu.org/g:fba2843b9b35b9700155677f90555700b6ad4e16
commit r14-10258-gfba2843b9b35b9700155677f90555700b6ad4e16 Author: Eric Botcazou <ebotca...@adacore.com> Date: Wed May 29 12:06:32 2024 +0200 Fix link failure of GNAT tools on 32-bit SPARC/Linux There is an incorrect binding to the 64-bit compare-and-exchange builtin. gcc/ada/ PR ada/115270 * Makefile.rtl (PowerPC/Linux): Use libgnat/s-atopri__32.ads for the 32-bit library. (SPARC/Linux): Likewise. Diff: --- gcc/ada/Makefile.rtl | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl index 6e1ca305faf..32cbdb69247 100644 --- a/gcc/ada/Makefile.rtl +++ b/gcc/ada/Makefile.rtl @@ -2238,15 +2238,18 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(target_cpu) $(target_os))),) system.ads<libgnat/system-linux-ppc.ads ifeq ($(strip $(filter-out powerpc64%,$(target_cpu))),) - ifneq ($(strip $(MULTISUBDIR)),/32) + ifeq ($(strip $(MULTISUBDIR)),/32) + LIBGNAT_TARGET_PAIRS += s-atopri.ads<libgnat/s-atopri__32.ads + else LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) endif else - LIBGNAT_TARGET_PAIRS += s-atopri.ads<libgnat/s-atopri__32.ads ifeq ($(strip $(MULTISUBDIR)),/64) LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) + else + LIBGNAT_TARGET_PAIRS += s-atopri.ads<libgnat/s-atopri__32.ads endif endif @@ -2355,7 +2358,9 @@ ifeq ($(strip $(filter-out sparc% linux%,$(target_cpu) $(target_os))),) system.ads<libgnat/system-linux-sparc.ads ifeq ($(strip $(filter-out sparc64 sparcv9,$(target_cpu))),) - ifneq ($(strip $(MULTISUBDIR)),/32) + ifeq ($(strip $(MULTISUBDIR)),/32) + LIBGNAT_TARGET_PAIRS += s-atopri.ads<libgnat/s-atopri__32.ads + else LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) endif @@ -2363,6 +2368,8 @@ ifeq ($(strip $(filter-out sparc% linux%,$(target_cpu) $(target_os))),) ifeq ($(strip $(MULTISUBDIR)),/64) LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) + else + LIBGNAT_TARGET_PAIRS += s-atopri.ads<libgnat/s-atopri__32.ads endif endif