Commit Graph

126 Commits

Author SHA1 Message Date
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
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
Wolfgang Thaller
fdec31a641 The compiler now generates MacsBug function names for debugging 2014-09-19 02:11:50 +02:00
Wolfgang Thaller
4ab1a098d6 remove libgloss, as we aren't using it 2014-09-19 01:41:27 +02:00
Wolfgang Thaller
6b99493e6e silence message 2012-04-20 19:28:34 +02:00
Wolfgang Thaller
1c3651a81b fix parameter passing for booleans 2012-04-20 01:25:01 +02:00
Wolfgang Thaller
390818e425 avoid transformations on __magic_inline functions 2012-04-15 03:34:33 +02:00
Wolfgang Thaller
a79c598392 make register usage match mac toolbox expectations (d0-d2, a0-a1 volatile, a5 fixed) 2012-04-15 03:33:23 +02:00
Wolfgang Thaller
4282f24fb4 fix stdcall: implement call_pop instruction 2012-04-15 03:32:29 +02:00
Wolfgang Thaller
d8544deec7 stdcall attribute for m68k 2012-04-13 20:43:04 +02:00
Wolfgang Thaller
49d3964993 pass shorts as shorts, parameter alignment 2 bytes only 2012-04-13 20:42:45 +02:00
Wolfgang Thaller
aaf905ce07 add gcc 4.70 2012-03-28 01:13:14 +02:00
Wolfgang Thaller
1c3ad08d54 add libgloss and newlib 1.20.0 to gcc directory 2012-03-27 01:51:53 +02:00