Commit Graph

68 Commits

Author SHA1 Message Date
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
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