gcc/libgcc
David Edelsohn 47ddb895df aix: Add GCC64 configuration and FAT target libraries.
This patch adds the ability to configure GCC on AIX to build as a
64 bit application and to build target libraries "FAT" libraries in both
32 bit and 64 bit mode.

The patch adds makefile fragment hooks to target libraries that allows
them to include target-specific rules.  The target specific rules for
AIX place both 32 bit and 64 bit objects and shared objects
in archives at the top-level, not multilib subdirectories.  The
multilibs are built in subdirectories, but must be combined during the
last parts of the target library build process.  Because of the way
that GCC bootstrap works, the libraries must be combined during the
multiple stages of GCC bootstrap, not solely when installed in the
final destination, so the libraries are correct at the end of
each target library build stage, not solely an install recipe.

gcc/ChangeLog

2020-06-21  David Edelsohn  <dje.gcc@gmail.com>

	* config.gcc: Use t-aix64, biarch64 and default64 for cpu_is_64bit.
	* config/rs6000/aix72.h (ASM_SPEC): Remove aix64 option.
	(ASM_SPEC32): New.
	(ASM_SPEC64): New.
	(ASM_CPU_SPEC): Remove vsx and altivec options.
	(CPP_SPEC_COMMON): Rename from CPP_SPEC.
	(CPP_SPEC32): New.
	(CPP_SPEC64): New.
	(CPLUSPLUS_CPP_SPEC): Rename to CPLUSPLUS_CPP_SPEC_COMMON..
	(TARGET_DEFAULT): Only define if not BIARCH.
	(LIB_SPEC_COMMON): Rename from LIB_SPEC.
	(LIB_SPEC32): New.
	(LIB_SPEC64): New.
	(LINK_SPEC_COMMON): Rename from LINK_SPEC.
	(LINK_SPEC32): New.
	(LINK_SPEC64): New.
	(STARTFILE_SPEC): Add 64 bit version of crtcxa and crtdbase.
	(ASM_SPEC): Define 32 and 64 bit alternatives using DEFAULT_ARCH64_P.
	(CPP_SPEC): Same.
	(CPLUSPLUS_CPP_SPEC): Same.
	(LIB_SPEC): Same.
	(LINK_SPEC): Same.
	(SUBTARGET_EXTRA_SPECS): Add new 32/64 specs.
	* config/rs6000/defaultaix64.h: New file.
	* config/rs6000/t-aix64: New file.

libgcc/ChangeLog

2020-06-21  David Edelsohn  <dje.gcc@gmail.com>

	* config.host (extra_parts): Add crtcxa_64 and crtdbase_64.
	* config/rs6000/t-aix-cxa: Explicitly compile 32 bit with -maix32
	and 64 bit with -maix64.
	* config/rs6000/t-slibgcc-aix: Remove extra @multilib_dir@ level.
	Build and install AIX-style FAT libraries.

libgomp/ChangeLog

2020-06-21  David Edelsohn  <dje.gcc@gmail.com>

	* Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
	* Makefile.in: Regenerate
	* configure.ac (tmake_file): Substitute.
	* configure: Regenerate.
	* configure.tgt (powerpc-ibm-aix*): Define tmake_file.
	* config/t-aix: New file.

libstdc++-v3/ChangeLog

2020-06-21  David Edelsohn  <dje.gcc@gmail.com>

	* Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
	* Makefile.in: Regenerate.
	* configure.ac (tmake_file): Substitute.
	* configure: Regenerate.
	* configure.host (aix*): Define tmake_file.
	* config/os/aix/t-aix: New file.

libatomic/ChangeLog

2020-06-21  David Edelsohn  <dje.gcc@gmail.com>

	* Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
	* Makefile.in: Regenerate.
	* configure.ac (tmake_file): Substitute.
	* configure: Regenerate.
	* configure.tgt (powerpc-ibm-aix*): Define tmake_file.
	* config/t-aix: New file.

libgfortran/ChangeLog

2020-06-21  David Edelsohn  <dje.gcc@gmail.com>

	* Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
	* Makefile.in: Regenerate.
	* configure.ac (tmake_file): Substitute.
	* configure: Regenerate.
	* configure.host: Add system configury stanza. Define tmake_file.
	* config/t-aix: New file.
2020-06-21 14:14:46 -04:00
..
config aix: Add GCC64 configuration and FAT target libraries. 2020-06-21 14:14:46 -04:00
soft-fp soft-fp: Update soft-fp from glibc 2019-05-17 07:37:39 -07:00
ChangeLog Daily bump. 2020-06-18 00:16:37 +00:00
config.host aix: Add GCC64 configuration and FAT target libraries. 2020-06-21 14:14:46 -04:00
config.in aarch64: Fix bootstrap with old binutils [PR93053] 2020-04-15 11:01:19 +02:00
configure gcc: xtensa: add -mabi option for call0/windowed ABI 2020-06-15 03:35:50 -07:00
configure.ac gcc: xtensa: add -mabi option for call0/windowed ABI 2020-06-15 03:35:50 -07:00
crtstuff.c Fix compilation of crtstuff.c when DEFAULT_USE_CXA_ATEXIT is false 2020-01-18 10:30:29 -05:00
dfp-bit.c Update copyright years. 2020-01-01 12:51:42 +01:00
dfp-bit.h Update copyright years. 2020-01-01 12:51:42 +01:00
divmod.c Update copyright years. 2020-01-01 12:51:42 +01:00
empty.mk
emutls.c Update copyright years. 2020-01-01 12:51:42 +01:00
enable-execute-stack-empty.c
enable-execute-stack-mprotect.c Update copyright years. 2020-01-01 12:51:42 +01:00
find-symver.awk Update copyright years. 2020-01-01 12:51:42 +01:00
fixed-bit.c Update copyright years. 2020-01-01 12:51:42 +01:00
fixed-bit.h Update copyright years. 2020-01-01 12:51:42 +01:00
fixed-obj.mk
floatunsidf.c
floatunsisf.c
floatunsitf.c
floatunsixf.c
fp-bit.c Update copyright years. 2020-01-01 12:51:42 +01:00
fp-bit.h Update copyright years. 2020-01-01 12:51:42 +01:00
gbl-ctors.h Update copyright years. 2020-01-01 12:51:42 +01:00
gcov.h Remove __gcov_flush. 2020-05-05 16:15:47 +02:00
gen-fixed.sh
generic-morestack-thread.c Update copyright years. 2020-01-01 12:51:42 +01:00
generic-morestack.c libgcc: use syscall rather than __mmap/__munmap 2020-04-07 11:30:10 -07:00
generic-morestack.h Update copyright years. 2020-01-01 12:51:42 +01:00
gstdint.h
gthr-posix.h Update copyright years. 2020-01-01 12:51:42 +01:00
gthr-single.h Update copyright years. 2020-01-01 12:51:42 +01:00
gthr.h Update copyright years. 2020-01-01 12:51:42 +01:00
libgcc-std.ver.in Update copyright years. 2020-01-01 12:51:42 +01:00
libgcc2.c Update copyright years. 2020-01-01 12:51:42 +01:00
libgcc2.h Update copyright years. 2020-01-01 12:51:42 +01:00
libgcov-driver-system.c Update copyright years. 2020-01-01 12:51:42 +01:00
libgcov-driver.c libgcov: fix TOPN type casting 2020-06-09 13:07:41 +02:00
libgcov-interface.c Remove __gcov_flush. 2020-05-05 16:15:47 +02:00
libgcov-merge.c Make TOPN counter dynamically allocated. 2020-06-02 12:11:02 +02:00
libgcov-profiler.c gcov: Fix build on AIX 2020-06-03 08:12:50 +02:00
libgcov-util.c gcov: fix gcov-tool merge for TOPN counters 2020-06-17 08:32:27 +02:00
libgcov.h gcov: fix gcov-tool merge for TOPN counters 2020-06-17 08:32:27 +02:00
Makefile.in Remove __gcov_flush. 2020-05-05 16:15:47 +02:00
memcmp.c
memcpy.c
memmove.c
memset.c
mkheader.sh Update copyright years. 2020-01-01 12:51:42 +01:00
mkmap-flat.awk Update copyright years. 2020-01-01 12:51:42 +01:00
mkmap-symver.awk Update copyright years. 2020-01-01 12:51:42 +01:00
offloadstuff.c Update copyright years. 2020-01-01 12:51:42 +01:00
shared-object.mk
siditi-object.mk
static-object.mk
sync.c Update copyright years. 2020-01-01 12:51:42 +01:00
udivhi3.c Update copyright years. 2020-01-01 12:51:42 +01:00
udivmod.c Update copyright years. 2020-01-01 12:51:42 +01:00
udivmodhi4.c Update copyright years. 2020-01-01 12:51:42 +01:00
udivmodsi4.c Update copyright years. 2020-01-01 12:51:42 +01:00
unwind-arm-common.inc arm: Fix up arm installed unwind.h for use in pedantic modes [PR93615] 2020-02-10 14:35:31 +00:00
unwind-c.c Update copyright years. 2020-01-01 12:51:42 +01:00
unwind-compat.c Update copyright years. 2020-01-01 12:51:42 +01:00
unwind-compat.h Update copyright years. 2020-01-01 12:51:42 +01:00
unwind-dw2-fde-compat.c Update copyright years. 2020-01-01 12:51:42 +01:00
unwind-dw2-fde-dip.c nios2: Support for GOT-relative DW_EH_PE_datarel encoding. 2020-01-31 16:46:50 -08:00
unwind-dw2-fde.c Update copyright years. 2020-01-01 12:51:42 +01:00
unwind-dw2-fde.h Update copyright years. 2020-01-01 12:51:42 +01:00
unwind-dw2.c Update copyright years. 2020-01-01 12:51:42 +01:00
unwind-dw2.h Update copyright years. 2020-01-01 12:51:42 +01:00
unwind-generic.h Update copyright years. 2020-01-01 12:51:42 +01:00
unwind-pe.h arm: Fix up arm installed unwind.h for use in pedantic modes [PR93615] 2020-02-10 14:35:31 +00:00
unwind-seh.c Update copyright years. 2020-01-01 12:51:42 +01:00
unwind-sjlj.c Update copyright years. 2020-01-01 12:51:42 +01:00
unwind.inc Update copyright years. 2020-01-01 12:51:42 +01:00
vtv_end.c Update copyright years. 2020-01-01 12:51:42 +01:00
vtv_end_preinit.c Update copyright years. 2020-01-01 12:51:42 +01:00
vtv_start.c Update copyright years. 2020-01-01 12:51:42 +01:00
vtv_start_preinit.c Update copyright years. 2020-01-01 12:51:42 +01:00