diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2024-05-29 12:06:32 +0200 |
---|---|---|
committer | Eric Botcazou <ebotcazou@adacore.com> | 2024-05-29 12:09:56 +0200 |
commit | 9c6e75a6d1cc2858fc945266a5edb700edb44389 (patch) | |
tree | 9dded44b1837b62d80010f4f3d159a0d1803bedd | |
parent | 499d00127d39ba894b0f7216d73660b380bdc325 (diff) | |
download | gcc-9c6e75a6d1cc2858fc945266a5edb700edb44389.zip gcc-9c6e75a6d1cc2858fc945266a5edb700edb44389.tar.gz gcc-9c6e75a6d1cc2858fc945266a5edb700edb44389.tar.bz2 |
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.
-rw-r--r-- | gcc/ada/Makefile.rtl | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl index 570d0b2..0f5ebb8 100644 --- a/gcc/ada/Makefile.rtl +++ b/gcc/ada/Makefile.rtl @@ -2266,15 +2266,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 @@ -2386,7 +2389,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 @@ -2394,6 +2399,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 |