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
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
17d92f98a3
work around a mysterious compiler crash
2017-04-12 11:54:30 +02:00
Wolfgang Thaller
71f78cceb8
Merge branch 'upstream' into gcc-6.3
...
# Conflicts:
# binutils/bfd/coff-rs6000.c
# gcc/gcc/calls.c
# gcc/gcc/config/m68k/m68k.c
# gcc/gcc/config/rs6000/rs6000.opt
# gcc/gcc/cp/cfns.gperf
# gcc/gcc/cp/cfns.h
# gcc/gcc/cp/parser.c
2017-04-11 23:25:51 +02:00
Wolfgang Thaller
d464252791
re-add newlib
2017-04-11 23:13:36 +02:00
Wolfgang Thaller
26c2330aae
patch gcc to compile with gcc 6.2 (long since fixed in the official gcc)
2017-04-11 18:55:40 +02:00
Wolfgang Thaller
21ec187812
68K: get -mpcrel to work (for tiny programs)
2017-04-11 18:55:39 +02:00