Commit Graph

455 Commits

Author SHA1 Message Date
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
80443795d4 ConvertObj: add MacsBug names 2017-09-29 22:21:32 +02:00
Wolfgang Thaller
bf6728b156 Elf2Mac: --mac-single option for generating single-segment apps 2017-09-29 22:17:50 +02:00
Wolfgang Thaller
04174d1b55 Elf2Mac: option for stripping macsbug symbols 2017-09-29 22:04:11 +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
c95a59f75e ConvertOBJ: sort modules to go easy on 16-bit relative references 2017-09-29 15:15:48 +02:00
Wolfgang Thaller
5c968dc589 missing #include 2017-09-29 15:15:20 +02:00
Wolfgang Thaller
58a39b22d6 Elf2Mac: clean up, split up 2017-09-29 02:12:57 +02:00
Wolfgang Thaller
16b6ab7a7a remove elfutils directory 2017-09-29 02:05:40 +02:00
Wolfgang Thaller
c70816ace7 hack libelf to work 2017-09-29 02:05:38 +02:00
Wolfgang Thaller
3df5e3bd13 libelf: portable endianness detection 2017-09-28 18:31:04 +02:00
Wolfgang Thaller
bf7325099e Take only libelf from elfutils and simplify the build system 2017-09-28 18:31:03 +02:00
Wolfgang Thaller
8240fa9358 Use a simple CMake build for libelf (autoconf is causing trouble on Mac OS 10.4) 2017-09-28 18:31:03 +02:00
Wolfgang Thaller
4897a9e039 Fix cache flushing 2017-09-28 17:51:19 +02:00
Wolfgang Thaller
c757fb9520 Name CODE resources, it's just cooler 2017-09-27 06:44:00 +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
68150e1c23 Elf2Mac: start preparing for multiseg 2017-09-24 20:03:01 +02:00
Wolfgang Thaller
a5dad80454 Console: make ConsoleWindow immune to constructor ordering 2017-09-24 19:59:54 +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
6a3e6863c5 Elf2Mac: Clean up code and prepare for segments 2017-09-24 14:16:58 +02:00
Wolfgang Thaller
a6bc7b5de6 elf2flt is no longer the right name 2017-09-24 14:10:37 +02:00
Wolfgang Thaller
0eb20cae6f fix bootstrap 2017-09-24 02:20:50 +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
6c1e76280e don't include relocs for undefined symbols - they should stay at absolute NULL 2017-09-24 00:29:50 +02:00
Wolfgang Thaller
975c1f31c3 Some cleanups 2017-09-23 22:36:47 +02:00
Wolfgang Thaller
406471dd79 AppleDouble support 2017-09-23 21:05:40 +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
008ffe1401 Elf2Mac, a replacement for elf2flt.
Right now this is not an improvement, but the plan is to work towards multi-segment apps.
2017-09-23 03:56:37 +02:00
Wolfgang Thaller
d21be3b4e1 Add elfutils-0.170
(from https://sourceware.org/elfutils/, GPL/LGPL licensed)
2017-09-21 21:04:42 +02:00
Wolfgang Thaller
0ecc07538f Make things work with Universal Interfaces 3.0 2017-09-21 15:41:10 +02:00
Wolfgang Thaller
48d530bf49 PEFTools/PEF.h tweak 2017-09-19 00:48:08 +02:00
Wolfgang Thaller
49b9ef60c4 Merge pull request #24 from DrJosh9000/patch-1
brew install boost --c++11
2017-08-03 10:12:46 +04:30
Josh Deprez
db984e580e brew install boost --c++11
I ran into problems by having a boost already installed, just not with --c++11. Removing and re-installing fixed it.
This PR may provide enough of a hint to new users, but I'm not sure.
2017-05-31 15:28:30 +10:00
Wolfgang Thaller
0b99d3d330 build-toolchain: Reinstate fallback to pre-built import libraries, for now 2017-04-25 03:33:32 +02:00
Wolfgang Thaller
d93277459b Add ResInfo utility, for figuring out info about encoded resource forks 2017-04-25 03:33:31 +02:00
Wolfgang Thaller
3c4350b435 ResourceFiles: read-only AppleDouble support (._filename convention) 2017-04-25 03:33:30 +02:00
Wolfgang Thaller
d55bee477e MakeImport/MakePEF: communicate exact member name to MakePEF even if file system does not support MacRoman-encoded filenames. 2017-04-25 03:33:28 +02:00
Wolfgang Thaller
3858c32613 MakeImport: forget about plan B. If there's no 'cfrg' resource, we can't know the shlib name to link to at runtime. 2017-04-25 03:33:27 +02:00
Wolfgang Thaller
61e33b198c MakeImport: deal with absence of 'cfrg' resource 2017-04-25 03:33:26 +02:00
Wolfgang Thaller
e3c57148f8 add a note about building on Mac OS X 10.4 2017-04-25 03:33:24 +02:00
Wolfgang Thaller
e1e1734a84 add empty InterfacesAndLibraries 2017-04-25 03:33:23 +02:00
Wolfgang Thaller
814fe339b5 more README.md updates, rename build-toolchain.sh to build-toolchain.bash to avoid confusion 2017-04-25 03:33:22 +02:00
Wolfgang Thaller
6eb2b66987 update README.md for Universal Interfaces requirements 2017-04-25 03:33:20 +02:00