Commit Graph

74 Commits

Author SHA1 Message Date
Wolfgang Thaller
07869f0480 Be more conservative about default SIZE bits 2018-05-01 21:08:49 +02:00
Wolfgang Thaller
b86da1d406 Save all registers for LoadSeg
This prevents crashes when calling a struct-returning function triggers a LoadSeg
(the address for the returned struct is passed via A0)
2018-05-01 19:42:14 +02:00
Wolfgang Thaller
a4442e6984 make Launch and Chain work in multi segment apps without MultiFinder 2018-04-27 09:05:26 +02:00
Wolfgang Thaller
310ad344c2 Calling RecoverHandle on the wrong address is bad, so don't, for now. (see #33) 2018-04-17 19:07:48 +02:00
Wolfgang Thaller
401278a18e powerpc: fix global destructors (fix #40) 2018-03-28 22:10:12 +02:00
Wolfgang Thaller
f1fc4cd228 syscalls: Fall back to HOpen if HOpenDF is unavailable - should fix #53 2018-03-28 19:17:22 +02:00
Wolfgang Thaller
5639d39ae7 LoadSeg: assert to MacsBug when loading CODE fails 2018-01-09 00:28:06 +01:00
Wolfgang Thaller
853031fa31 INTERFACE_O should be a cached CMake variable 2017-12-05 21:58:39 +01:00
Wolfgang Thaller
2536e4ff65 add a missing cache flush, fixing some crashes on real 68040s 2017-10-28 01:35:15 +02:00
Wolfgang Thaller
1657cf599c make _open_r more independent of interfaces&libraries version 2017-10-09 15:43:52 +02:00
Wolfgang Thaller
4a78f4a90c __errno should not be here 2017-10-09 15:43:18 +02:00
Wolfgang Thaller
19277b3d2e declaring _sbss as an array prevents warnings when zeroing it 2017-10-08 20:55:24 +02:00
Wolfgang Thaller
a11377f5ae test: Segments 2017-10-08 19:30:54 +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
3eff6ff36f libretro/malloc.c: "implement" memalign. Just hope that NewPtr aligns enough anyway (16 byte on PowerPC) 2017-10-07 16:10:05 +02:00
Wolfgang Thaller
24bee35d90 implement UnloadSeg on 68K 2017-10-07 02:02:42 +02:00
Wolfgang Thaller
32a2da9547 New, more compact format for relocations 2017-09-30 23:03:17 +02:00
Wolfgang Thaller
821bc04a7a set -ffunction-sections option on libretro and libConsole, and use gc-sections in Samples/HelloWorld. 2017-09-29 22:31:35 +02:00
Wolfgang Thaller
4897a9e039 Fix cache flushing 2017-09-28 17:51:19 +02:00
Wolfgang Thaller
68c43b7a39 SegmentMap, code flushing, cleanup 2017-09-27 00:30:06 +02:00
Wolfgang Thaller
8a2038601a Exceptions now work in multiseg 2017-09-26 20:37:28 +02:00
Wolfgang Thaller
d08331584e MultiSeg Apps: First working version (exceptions don't work) 2017-09-26 11:27:53 +02:00
Wolfgang Thaller
a4716081c2 moving closer to multiseg 2017-09-26 02:38:05 +02:00
Wolfgang Thaller
ce59176be5 explicitly store target section in relocations 2017-09-24 21:25:58 +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
284126e13c Elf2Mac now generates CODE resources itself; --mac-flat for the old functionality 2017-09-24 16:00:00 +02:00
Wolfgang Thaller
0e3a0a5d18 output of elf2mac is now a piece of code with no headers with its entry point at the start. No more FLT file format. 2017-09-24 00:32:13 +02:00
Wolfgang Thaller
975c1f31c3 Some cleanups 2017-09-23 22:36:47 +02:00
Wolfgang Thaller
57906f91c1 zero-terminate relocation list 2017-09-23 20:11:38 +02:00
Wolfgang Thaller
5059b87fe4 relocate.c: reduce reliance on the FLT header (it has to go) 2017-09-23 19:56:36 +02:00
Wolfgang Thaller
278780642e make DEBUGBREAK flag for add_application work again 2017-09-23 04:00:30 +02:00
Wolfgang Thaller
0e11f298ba Major rearrangement of build-toolchain.sh; interfaces & libraries now taken from InterfacesAndLibraries/ 2017-04-25 03:33:16 +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
95b59e3315 Support for older systems (64K ROMs). See issue #22.
Thanks to @mdanh2002 for submitting the patch.
2017-04-11 20:44:47 +02:00
Wolfgang Thaller
79d23218a9 Clean up Carbon build 2015-10-07 00:03:28 +02:00
Wolfgang Thaller
9b13d38682 libretro: implement gettimeofday(). Fixes issue #18 2015-09-16 00:39:03 +02:00
Wolfgang Thaller
54591b457a Carbon HACKS (breaks other stuff) 2015-09-13 16:54:15 +02:00
Wolfgang Thaller
06bf36503b proper .r file for cfrg resource 2015-09-09 01:25:59 +02:00
Wolfgang Thaller
db403ed5a0 update libretro for powerpc 2015-09-08 18:01:17 +02:00
Wolfgang Thaller
4ae36b70fb startup code & cmake stuff for ppc 2015-09-01 00:04:20 +02:00
Wolfgang Thaller
1c6c1ddd9f towards building libretro 2015-08-31 16:44:45 +02:00
Wolfgang Thaller
836a8acb7b properly call global destructors 2015-08-29 20:11:53 +02:00
Wolfgang Thaller
65dbaedf5d use the newly supported "= { 0x1234 }" syntax instead of non-standard __attribute__((__raw_inline__(0x1234))). 2015-08-27 22:13:32 +02:00
Wolfgang Thaller
03a2a6d215 Fix a problem in startup code that suddenly popped up.
Crash sometimes caused by global codeHandle being allocated in BSS section.
While we're at it, clean up code, add optional assert()s, and even comments.
2015-07-21 23:16:59 +02:00
Wolfgang Thaller
f1c4fe3a22 MakeAPPL is now obsolete, as everything it does can be done by Rez 2015-07-20 20:05:38 +02:00
Wolfgang Thaller
f549ead8ac have startup code ensure that code resource is locked. 2015-07-20 02:02:28 +02:00
Wolfgang Thaller
7aaa3174df One more example: a System Extension (INIT) 2015-07-18 01:14:43 +02:00
Wolfgang Thaller
1cc5202ccf Reorganize startup code (make some parts publicly available) 2015-07-17 21:07:03 +02:00
Wolfgang Thaller
0561012bb6 Add GCC Runtime Library Exception to license for libretro 2015-07-15 23:23:19 +02:00
Wolfgang Thaller
30ca7cce42 More glue code. 2014-11-08 00:40:15 +01:00