Commit Graph

19 Commits

Author SHA1 Message Date
Wolfgang Thaller 3d744ea86e switch PROCESSOR_DEFAULT to PROCESSOR_PPC601 2022-08-28 19:31:47 +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 7d2fd1bf78 make pascal attribute imply C linkage (fixes #75) 2019-01-21 21:42:41 +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 78de0215f8 gcc 8.2 fixups 2018-12-29 00:41:17 +01: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 d7976cae6b add `__PPC__` to list of predefined symbols for powerpc-macos 2017-12-04 22:11:33 +01: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 46c502e5da fix merge problem: struct field alignment in powerpc-macos gcc 2017-10-07 16:04:54 +02:00
Wolfgang Thaller 431390d872 brutally use absolute addresses in exception handling tables and stick them in .data (for now) 2017-04-12 11:55:14 +02:00
Wolfgang Thaller 79d23218a9 Clean up Carbon build 2015-10-07 00:03:28 +02:00
Wolfgang Thaller 8bd1a20557 ppc: yes, we need GCC's COLLECT_EXPORT_LIST hack. Constructors/Destructors and exceptions now work. 2015-09-16 00:38:12 +02:00
Wolfgang Thaller 05d5067e33 Implement a -carbon option for gcc: link with CarbonLib instead of InterfaceLib 2015-09-13 00:42:48 +02:00
Wolfgang Thaller 3ae6b24cca setup libs for powerpc 2015-09-08 18:04:15 +02:00
Wolfgang Thaller 899546720e ppc: link to libretrocrt by default 2015-09-01 00:05:31 +02:00
Wolfgang Thaller 8ffcbfe2d4 ppc: make ptrdiff_t be long, for compatibility with 68K 2015-08-31 16:43:08 +02:00
Wolfgang Thaller 1434a0dbae ppc: add to build script 2015-08-31 01:17:52 +02:00
Wolfgang Thaller fa0afdce72 ppc: initial powerpc-apple-macos target 2015-08-30 10:46:39 +02:00