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
Wolfgang Thaller
0a883ac4aa
upgrade gcc to 6.3.0, binutils to 2.28
2017-04-10 13:32:00 +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
2d434968ff
newlib: support powerpc-apple-macos
2015-09-08 04:01:12 +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
Wolfgang Thaller
b3dcb7f981
Time to stop lying: binutils/gcc now configured as m68k-apple-macos instead of m68k-unknown-elf
2015-08-29 19:51:21 +02:00
Wolfgang Thaller
90e056166b
Finally make ASFilter unnecessary.
2015-08-29 03:33:14 +02:00
Wolfgang Thaller
1f0c52573c
fix "= { 0x1234 }" syntax to no longer interfere with C++11 "= default" syntax
2015-08-29 02:21:04 +02:00
Wolfgang Thaller
715265c205
Fix some merge problems
2015-08-29 02:06:29 +02:00
Wolfgang Thaller
aebd1e06ff
Merge branch 'upstream'
...
Conflicts:
gcc/gcc/calls.c
gcc/gcc/config/m68k/m68k-protos.h
gcc/gcc/config/m68k/m68k.c
2015-08-28 17:48:55 +02:00
Wolfgang Thaller
41040e16f5
Update gcc to 5.2.0
2015-08-28 17:33:40 +02:00
Wolfgang Thaller
ee736a689c
Support "pascal void foo() = { 0x1234 };" syntax in gcc.
2015-08-27 21:53:51 +02:00
Wolfgang Thaller
ae4d8353b9
don't warn about multichar constants when they are exactly 4 characters long.
2015-07-21 00:41:58 +02:00
Wolfgang Thaller
e004916be5
Make pascal strings work in initializers
2014-11-08 00:32:00 +01:00
Wolfgang Thaller
3f2a63ff40
configure gcc to pass the right linker flags & simplify CMakeLists
...
It is no longer necessary to pass special compiler options in order to compile an application.
2014-09-30 16:25:27 +02:00
Wolfgang Thaller
073047e119
fix pascal functions returning void
2014-09-28 02:31:31 +02:00
Wolfgang Thaller
cd842777c9
Some fixes to make it work again on Mac OS X
2014-09-25 22:50:22 +02:00
Wolfgang Thaller
5648c5be94
consider instructions of the form move.x (%ax)+, -(%ax) as no-op instructions.
...
They really don't do anything, and they confuse the rest of the
compiler when they are generated as a result of passing the result of one
pascal function to another function.
2014-09-25 18:56:56 +02:00
Wolfgang Thaller
025ebb6397
remove one more assert from expr.c:fixup_args_size_notes which got tripped by earlier hacks.
2014-09-25 11:21:13 +02:00
Wolfgang Thaller
aa1c71d17e
move pragma code to a separate file
2014-09-25 02:47:19 +02:00
Wolfgang Thaller
05f4c57615
support #pragma parameter
2014-09-25 01:45:15 +02:00
Wolfgang Thaller
07451171d1
make sure that output_call is actually called
2014-09-24 22:39:18 +02:00
Wolfgang Thaller
03501ca622
silence some debug output
2014-09-24 22:38:31 +02:00
Wolfgang Thaller
ea8e92e679
magicinline is dead, long live raw_inline
2014-09-24 22:06:01 +02:00
Wolfgang Thaller
3f1eec11f9
allow defining pascal functions
2014-09-24 20:48:44 +02:00
Wolfgang Thaller
a055a3faa1
register parameters via __attribute__((__regparam__("d0(a0,d0)")))
2014-09-24 02:54:03 +02:00
Wolfgang Thaller
db62b69fae
try to suppress sibcalls to magic_inline functions
2014-09-24 02:54:03 +02:00
Wolfgang Thaller
1de00c3f09
gcc/reload pass: don't eliminate %fp if (%sp)+ is present.
...
For instructions such as "MOVE (%sp)+, x(%sp)", GCC gets the offset wrong.
2014-09-24 02:54:02 +02:00
Wolfgang Thaller
c31479ee7e
don't be too eager to skip things in fixup_args_size_notes.
2014-09-24 02:54:01 +02:00
Wolfgang Thaller
f45ead7b6c
use PUSH_ROUNDING in find_args_size_adjust
2014-09-24 02:54:01 +02:00
Wolfgang Thaller
7c526098af
disable an assert in gcc/combine.c that seems to assume that args_size == stack adjustment
2014-09-24 02:54:01 +02:00
Wolfgang Thaller
606d434731
experiment with variations on stack adjustment
2014-09-24 02:54:00 +02:00
Wolfgang Thaller
54d890514a
__magicinline__ attribute to suppress cse on magic_inline functions
2014-09-24 02:54:00 +02:00
Wolfgang Thaller
a73165f37f
pascal calls!
2014-09-24 02:53:59 +02:00
Wolfgang Thaller
197178056d
rename stdcall -> pascal
2014-09-24 02:53:59 +02:00
Wolfgang Thaller
757a9c715f
Merge branch 'gcc-4.9.1-upstream'
...
Conflicts:
gcc/gcc/c-family/c-common.c
gcc/gcc/config/m68k/m68k.c
2014-09-21 19:41:42 +02:00
Wolfgang Thaller
449227a01f
upgrade to gcc 4.9.1
2014-09-21 19:33:12 +02:00
Wolfgang Thaller
269b6a0668
fix off-by-one error in pascal string implementation
2014-09-20 02:24:56 +02:00
Wolfgang Thaller
4116636965
"\p*** Pascal String literals ***" are now supported.
2014-09-20 02:17:52 +02:00