BizHawk/waterbox/libcxx
nattthebear 24286be735 Linking and unwinds
The goal here is to provide an unwind implementation that works.  We (probably) don't have a working ldso, so reconfigure libunwind to work without that.  To do that, it needs __eh_frame_* variables which it can addressof to find the locations of .eh_frame and .eh_frame_hdr.  There is no way I could get gold to add these at all, so switch back to ld and add a custom linkscript.  The custom linkscript gives us the opportunity to simplify the savestate memory mapping stuff inside ElfLoader, which should knock a bit of time off of state loads -- those VirtualProtect calls are not cheap.  This also removes a potential source of nondeterminism with certain clever out of range pointers.

Any waterbox core that I didn't recompile for this commit will assert now until it is recompiled, because .wbxsyscall is in the wrong palace.
2020-05-25 12:49:32 -04:00
..
.gitignore Revamp waterbox build environment and runtime. (#2027) 2020-05-20 15:34:24 -04:00
configure-for-waterbox-phase-- Linking and unwinds 2020-05-25 12:49:32 -04:00
configure-for-waterbox-phase-0 Linking and unwinds 2020-05-25 12:49:32 -04:00
configure-for-waterbox-phase-1 recompile libcxx and friends with nopic nopie, and recompile libsnes to test it out 2020-05-25 12:49:32 -04:00
configure-for-waterbox-phase-2 recompile libcxx and friends with nopic nopie, and recompile libsnes to test it out 2020-05-25 12:49:32 -04:00
do-everything.sh Revamp waterbox build environment and runtime. (#2027) 2020-05-20 15:34:24 -04:00
readme.txt Revamp waterbox build environment and runtime. (#2027) 2020-05-20 15:34:24 -04:00

readme.txt

Building and installing libcxx:

1. Clone llvm-project into $BIZHAWKGITROOT/../llvm-project
	* I used eaae6dfc545000e335e6f89abb9c78818383d7ad, which was the tip of origin/release/10.x at the time
2. Come to this folder
3. Run ./do-everything.sh
	* This isn't resumable at all, so if it crashes or you're curious about the process,
	read its source and execute the commands individually.