Commit Graph

111 Commits

Author SHA1 Message Date
Wolfgang Thaller 6394984a6b adjust LIB_SPEC for Multiversal Interfaces 2019-09-15 21:23:51 +02:00
Wolfgang Thaller 878a21d741 PowerPC: use long int for int32_t, to match Apple's SInt32 and the m68k target 2019-09-09 21:48:40 +02:00
Wolfgang Thaller 10b95c33d8 fix 68K inline functions 2019-06-23 23:55:18 +02:00
Wolfgang Thaller d29b12e18a conflict resolution 2019-06-20 20:48:48 +02:00
Wolfgang Thaller a49302b4ee Merge branch 'upstream' (gcc 9.1) 2019-06-20 20:41:40 +02:00
Wolfgang Thaller 6fbf4226da gcc-9.1 2019-06-20 20:10:10 +02:00
Wolfgang Thaller 693abc1998 Convert all MPW .o files from InterfacesAndLibraries 2019-01-24 17:37:28 +01:00
Wolfgang Thaller 7d2fd1bf78 make pascal attribute imply C linkage (fixes #75) 2019-01-21 21:42:41 +01:00
Wolfgang Thaller b6bbe4d5a4 fix double make rule for m68k-mac-pragmas.o 2019-01-21 21:41:53 +01:00
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
Wolfgang Thaller 5443381d68 fix pascal calls 2019-01-03 22:55:50 +01:00
Wolfgang Thaller d520ee4311 attempt to improve code quality for pascal calls 2019-01-03 20:59:51 +01:00
Wolfgang Thaller 413bb90073 (hopefully) fix pascal calls for gcc 8.2 2019-01-02 00:15:42 +01:00
Wolfgang Thaller 1e59241091 make raw_inline work again for gcc 8.2 2019-01-02 00:14:08 +01:00
Wolfgang Thaller 3b0ef808de re-merge newlib 2018-12-29 10:19:56 +01:00
Wolfgang Thaller 5420e7d4ce Merge branch 'upstream' into gcc-8.2 2018-12-29 10:04:44 +01:00
Wolfgang Thaller ec13cc9ce7 fix newlib 2018-12-29 09:59:36 +01:00
Wolfgang Thaller 78de0215f8 gcc 8.2 fixups 2018-12-29 00:41:17 +01:00
Wolfgang Thaller 39af85e1fd restore upgraded intl 2018-12-28 18:55:40 +01:00
Wolfgang Thaller 3f05837f3f Merge branch 'upstream' into gcc-8.2
# Conflicts:
#	binutils/bfd/config.bfd
#	binutils/gas/configure.tgt
#	binutils/intl/ChangeLog
#	binutils/intl/aclocal.m4
#	binutils/intl/config.h.in
#	binutils/intl/configure
#	binutils/intl/configure.ac
#	binutils/ld/configure.tgt
#	gcc/gcc/c/c-decl.c
#	gcc/gcc/c/c-parser.c
#	gcc/gcc/calls.c
#	gcc/gcc/combine.c
#	gcc/gcc/config/m68k/m68k-protos.h
#	gcc/gcc/config/m68k/m68k.c
#	gcc/gcc/config/rs6000/rs6000.opt
#	gcc/gcc/cp/parser.c
#	gcc/gcc/expr.c
#	gcc/intl/ChangeLog
#	gcc/intl/configure
#	gcc/intl/configure.ac
#	gcc/newlib/configure.host
2018-12-28 17:02:51 +01:00
Wolfgang Thaller 5dfed9d403 upgrade to gcc 8.2.0 and newlib 3.0.0 2018-12-28 16:30:48 +01:00
Wolfgang Thaller 1594085852 patch for gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724 (already fixed upstream in gcc 7.3.1 and 8.2.1) 2018-12-22 15:47:37 +01:00
Wolfgang Thaller 9611c86ca1 Don't compile multilibs for 68060, fidoa, and cpu32 (fixes #56) 2018-08-17 02:40:15 +02:00
Wolfgang Thaller a135f0b196 libretro: use separate library file names for Carbon and Classic PPC 2018-05-16 02:08:25 +02:00
Wolfgang Thaller b09ecaf30b fix macsbug symbols again - why didn't I know about .pushsection from the beginning? 2018-05-14 21:36:17 +02:00
Wolfgang Thaller 1ae9256e9c Fix compilation for PowerPC - see #57 2018-05-14 00:01:59 +02:00
Wolfgang Thaller 9d304134f2 Fix interaction between `pascal` and `pragma parameter` (pascal should be ignored) 2018-05-07 22:41:29 +02:00
Wolfgang Thaller 055976d4ca fix setjmp for PowerPC 2018-05-05 01:18:54 +02:00
Wolfgang Thaller bb894a87c5 make --mac-strip-macsbug (mostly) work again, see #32 2018-05-01 19:42:14 +02:00
Wolfgang Thaller 401278a18e powerpc: fix global destructors (fix #40) 2018-03-28 22:10:12 +02:00
anthony c539261ef4 Updated intl from 0.12.1 to 0.19.8.1 to fix compilation errors.
Added missing Cygwin packages to readme.
2018-01-03 17:17:53 +11:00
Wolfgang Thaller d7976cae6b add `__PPC__` to list of predefined symbols for powerpc-macos 2017-12-04 22:11:33 +01:00
Anthony Super 1c1604fbcc Windows/Cygwin fixes and documentation 2017-10-18 08:28:14 +11:00
Wolfgang Thaller c47772e62f make functions return pointers in D0 on 68K. See issue #35. *RECOMPILE STRONGLY RECOMMENDED*
This is compatible with MPW and incompatible with Codewarrior.
2017-10-15 14:24:25 +02:00
Wolfgang Thaller bc200ad489 For *-apple-macos-gcc, -Wno-trigraphs is now the default.
('????' is a common four character code on Classic MacOS, we don't want warnings)
2017-10-08 20:55:04 +02:00
Wolfgang Thaller e8063b8cf6 C library/system calls: clean up, implement open, read, write, close, lseek; clean up the command line gcc passes to ld 2017-10-08 19:28:10 +02:00
Wolfgang Thaller b2790cf0fb newlib: add definitions for _READ_WRITE_BUFSIZE_TYPE and _READ_WRITE_RETURN_TYPE.
TODO: figure out where they should really go.
2017-10-07 16:08:32 +02:00
Wolfgang Thaller b30c823f2b gcc m68k: put macsbug symbols in the same section as the function again, because gcc7 sometimes puts two functions in one section. --mac-strip-macsbug has no effect for now. 2017-10-07 16:07:53 +02:00
Wolfgang Thaller 6edc940bd2 newlib: re-instate aix-style setjmp.S 2017-10-07 16:06:11 +02:00
Wolfgang Thaller 1f10508c9b fix merge problem: newlib configure.host - powerpc-macos target 2017-10-07 16:05:49 +02:00
Wolfgang Thaller 46c502e5da fix merge problem: struct field alignment in powerpc-macos gcc 2017-10-07 16:04:54 +02:00
Wolfgang Thaller 19ab4d99ae Merge branch 'upstream' into gcc-7.2
# Conflicts:
#	binutils/bfd/config.bfd
#	binutils/ld/configure.tgt
#	gcc/gcc/c-family/c-common.c
#	gcc/gcc/c/c-parser.c
#	gcc/gcc/calls.c
#	gcc/gcc/config/m68k/m68k.c
#	gcc/gcc/config/rs6000/rs6000.c
#	gcc/gcc/config/rs6000/rs6000.opt
#	hfsutils/COPYING
#	hfsutils/install-sh
2017-10-07 02:46:50 +02:00
Wolfgang Thaller 65c83606fb Update gcc to 7.2.0, binutils to 2.29, newlib to 2.5.0 2017-10-07 02:16:47 +02:00
Wolfgang Thaller a68112b08d enable -ffunction-sections for libgcc and libc 2017-09-30 03:01:49 +02:00
Wolfgang Thaller 70be98cb62 put macsbug name in separate section so it can be stripped out - and hack ld so that it won't be stripped out by -gc-sections 2017-09-29 22:02:21 +02:00
Wolfgang Thaller 33a2744643 Take responsibility: don't use standard crtbegin/end anymore, now that we control the linker script 2017-09-24 20:04:11 +02:00
Wolfgang Thaller a6bc7b5de6 elf2flt is no longer the right name 2017-09-24 14:10:37 +02:00
Wolfgang Thaller 4d0f9e202c m68k: uppercase pascal functions for linking 2017-04-25 02:14:56 +02:00
Wolfgang Thaller 301994c27d restore -carbon option, lost during merge 2017-04-15 10:09:07 +02:00
Wolfgang Thaller f81f308e0e fix missing newlib files removed during merge 2017-04-14 22:38:01 +02:00