aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorClément Chigot <clement.chigot@atos.net>2020-08-18 14:05:33 +0200
committerDavid Edelsohn <dje.gcc@gmail.com>2020-09-27 12:43:29 -0400
commit3c11f25fb8bc3eaed35a90eece9d2f9444373513 (patch)
tree2d0e537cbdddc2731bd30fbede67f46b0559b161 /libgcc
parente5a76af3a2f3324efc60b4b2778ffb29d5c377bc (diff)
downloadgcc-3c11f25fb8bc3eaed35a90eece9d2f9444373513.zip
gcc-3c11f25fb8bc3eaed35a90eece9d2f9444373513.tar.gz
gcc-3c11f25fb8bc3eaed35a90eece9d2f9444373513.tar.bz2
aix: Use $(AR) without -X32_64 to build FAT libraries.
AIX FAT libraries should be built with the version of AR chosen by configure. The GNU Make $(AR) variable includes the AIX -X32_64 option needed by the default Makefile rules to accept both 32 bit and 64 bit object files. The -X32_64 option conflicts with ar archiving objects of the same name used to build FAT libraries. This patch changes the Makefile fragments for AIX FAT libraries to use $(AR), but strips the -X32_64 option from the Make variable. libgcc/ChangeLog: 2020-09-27 Clement Chigot <clement.chigot@atos.net> * config/rs6000/t-slibgcc-aix: Use $(AR) without -X32_64. libatomic/ChangeLog: 2020-09-27 Clement Chigot <clement.chigot@atos.net> * config/t-aix: Use $(AR) without -X32_64. libgomp/ChangeLog: 2020-09-27 Clement Chigot <clement.chigot@atos.net> * config/t-aix: Use $(AR) without -X32_64. libstdc++-v3/ChangeLog: 2020-09-27 Clement Chigot <clement.chigot@atos.net> * config/os/aix/t-aix: Use $(AR) without -X32_64. libgfortran/ChangeLog: 2020-09-27 Clement Chigot <clement.chigot@atos.net> * config/t-aix: Use $(AR) without -X32_64.
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/config/rs6000/t-slibgcc-aix21
1 files changed, 11 insertions, 10 deletions
diff --git a/libgcc/config/rs6000/t-slibgcc-aix b/libgcc/config/rs6000/t-slibgcc-aix
index b3bdda6..a6c5cee 100644
--- a/libgcc/config/rs6000/t-slibgcc-aix
+++ b/libgcc/config/rs6000/t-slibgcc-aix
@@ -92,27 +92,28 @@ AR_FLAGS_FOR_TARGET = -X32_64
ifeq ($(MULTIBUILDTOP),)
BITS=$(shell if test -z "`$(CC) -x c -E /dev/null -g3 -o - | grep 64BIT`" ; then \
echo '64'; else echo '32'; fi)
+ARX=$(shell echo $(AR) | sed -e 's/-X[^ ]*//g')
all: all-multi
ifeq ($(enable_shared),yes)
- ar -X$(BITS) x ../ppc$(BITS)/libgcc/libgcc_s.a shr.o
- ar -X$(BITS) rc ./libgcc_s.a shr.o
+ $(ARX) -X$(BITS) x ../ppc$(BITS)/libgcc/libgcc_s.a shr.o
+ $(ARX) -X$(BITS) rc ./libgcc_s.a shr.o
rm -f shr.o
- ar -X$(BITS) x ../pthread/ppc$(BITS)/libgcc/libgcc_s.a shr.o
- ar -X$(BITS) rc ../pthread/libgcc/libgcc_s.a shr.o
+ $(ARX) -X$(BITS) x ../pthread/ppc$(BITS)/libgcc/libgcc_s.a shr.o
+ $(ARX) -X$(BITS) rc ../pthread/libgcc/libgcc_s.a shr.o
rm -f shr.o
endif
- ar -X$(BITS) rc libgcc.a \
+ $(ARX) -X$(BITS) rc libgcc.a \
$(addprefix ../ppc$(BITS)/libgcc/,$(libgcc-objects))
- ar -X$(BITS) rc libgcc_eh.a \
+ $(ARX) -X$(BITS) rc libgcc_eh.a \
$(addprefix ../ppc$(BITS)/libgcc/,$(libgcc-eh-objects))
- ar -X$(BITS) rc ../pthread/libgcc/libgcc.a \
+ $(ARX) -X$(BITS) rc ../pthread/libgcc/libgcc.a \
$(addprefix ../pthread/ppc$(BITS)/libgcc/,$(libgcc-objects))
- ar -X$(BITS) rc ../pthread/libgcc/libgcc_eh.a \
+ $(ARX) -X$(BITS) rc ../pthread/libgcc/libgcc_eh.a \
$(addprefix ../pthread/ppc$(BITS)/libgcc/,$(libgcc-eh-objects))
ifeq ($(enable_gcov),yes)
- ar -X$(BITS) rc libgcov.a \
+ $(ARX) -X$(BITS) rc libgcov.a \
$(addprefix ../ppc$(BITS)/libgcc/,$(libgcov-objects))
- ar -X$(BITS) rc ../pthread/libgcc/libgcov.a \
+ $(ARX) -X$(BITS) rc ../pthread/libgcc/libgcov.a \
$(addprefix ../pthread/ppc$(BITS)/libgcc/,$(libgcov-objects))
endif
$(MAKE) install-leaf DESTDIR=$(gcc_objdir) \