Commit Graph

91 Commits

Author SHA1 Message Date
Ryan Schmidt
8f68ffd203 Declare all C function parameters
Specify parameters for all C functions. Not specifying parameters is the
same as specifying "void" in C++ and in C23 and later but that's not the
case in C prior to C23.

Compile C files with the same warnings as C++ files, additionally making
the strict prototypes warning an error to catch such problems in the
future. This commit isn't intended to address all the other warnings now
being emitted.
2022-12-05 06:48:30 -06:00
Ryan Schmidt
97b257e8b4 Fix typos in comments in libretro 2022-10-05 19:53:00 -05:00
Wolfgang Thaller
c124cf98d9 fix gettimeofday (was off by one day) 2021-09-19 17:57:24 +02:00
Wolfgang Thaller
884273fce1 use plain GetResource instead of Get1Resource during initialization (#118)
Get1Resource is not in Inside Mac 1-3 and doesn't work with the original system software. And at this point, we know that our own resource file is current.
2021-01-12 22:09:44 +01:00
Wolfgang Thaller
5fdd7b411f relocate.c: some cleanup 2020-12-28 15:15:09 +01:00
Wolfgang Thaller
4c7b83bb75 add support for R_68K_PC32 relocations 2020-12-28 00:25:36 +01:00
Wolfgang Thaller
4cc414dbd7 Carbon requires certain 'SIZE' flags to be set 2019-11-12 00:09:00 +01:00
Wolfgang Thaller
d6a7408027 update SIZE resources 2019-09-09 22:14:01 +02:00
Wolfgang Thaller
898ebff404 improve MultiversalInterfaces compatibility 2019-09-09 01:05:01 +02:00
Wolfgang Thaller
e5185d23c3 Switch tab-indented files to 4-space indent 2019-08-18 13:21:00 +02:00
Wolfgang Thaller
9cb90cb3b0 some #include cleanup 2019-08-18 12:31:32 +02:00
Wolfgang Thaller
693abc1998 Convert all MPW .o files from InterfacesAndLibraries 2019-01-24 17:37:28 +01:00
Wolfgang Thaller
c1839aed89 minor cmakelists cleanup 2019-01-22 18:29:03 +01:00
Wolfgang Thaller
bbc3a1f049 Fix crashes caused by 68K relocations past the end of sections; still no idea what's going on. 2019-01-08 22:58:30 +01: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
dbfa7e8645 make libretro be the same for carbon and classic 2018-05-14 23:56:37 +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
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