Retro68/gcc
Wolfgang Thaller 2999ed8613 change the way gcc's collect2 works to fix #74
GCC's AIX port, which RetroPPC is based on, uses a different method
from most other platforms to collect the list of all global constructors
and the list of all exception handling tables.
The "standard" method does not work on AIX because IBM's linker will
discard those symbols too early for GCC's liking if they are not
directly referenced.

Unfortunately, the workaround seems to keep too much, so PPC C++
exececutables were at least 1.1MB big.

We don't need to be compatible with IBM's linker. Instead, hack binutils
to keep the symbols that we need kept, and allow GCC to use the
"standard" method for the collect2 pass.

PowerPC application sizes are now down to a reasonable size.
2019-01-13 22:33:07 +01:00
..
config upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
contrib upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
fixincludes upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
gcc change the way gcc's collect2 works to fix #74 2019-01-13 22:33:07 +01:00
gnattools upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
gotools upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
include upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
INSTALL upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
intl restore upgraded intl 2018-12-28 18:55:40 +01:00
libada upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libatomic upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libbacktrace upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libcc1 upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libcpp Merge branch 'upstream' into gcc-8.2 2018-12-28 17:02:51 +01:00
libdecnumber upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libffi upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libgcc Merge branch 'upstream' into gcc-8.2 2018-12-28 17:02:51 +01:00
libgfortran upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libgo upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libgomp upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libhsail-rt upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libiberty upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libitm upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libmpx upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libobjc upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
liboffloadmic upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libquadmath upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libsanitizer upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libssp upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libstdc++-v3 upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libvtv upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
lto-plugin upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
maintainer-scripts upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
newlib re-merge newlib 2018-12-29 10:19:56 +01:00
zlib upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
.dir-locals.el
.gitattributes Update gcc to 7.2.0, binutils to 2.29, newlib to 2.5.0 2017-10-07 02:16:47 +02:00
.gitignore Update gcc to 7.2.0, binutils to 2.29, newlib to 2.5.0 2017-10-07 02:16:47 +02:00
ABOUT-NLS
ChangeLog upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
ChangeLog.jit
ChangeLog.tree-ssa
compile
config-ml.in Update gcc to 7.2.0, binutils to 2.29, newlib to 2.5.0 2017-10-07 02:16:47 +02:00
config.guess upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
config.rpath
config.sub upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
configure upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
configure.ac upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
depcomp
install-sh
LAST_UPDATED upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
libtool-ldflags
libtool.m4
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
Makefile.def upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
Makefile.in upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
Makefile.tpl upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
MD5SUMS upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
missing
mkdep
mkinstalldirs
move-if-change
NEWS upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
README
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.