Commit Graph

412 Commits

Author SHA1 Message Date
James Benton
0ef7dcfa32 elf2rpl: Remove fixRoDataFlags.
This is covered by linker script.
2018-05-30 22:42:05 +01:00
James Benton
ae70d3a4a9 elf2rpl: Remove fixSectionAlign.
Not needed.
2018-05-30 22:40:53 +01:00
James Benton
c15e185762 elf2rpl: Remove fixBssNoBits transform.
Not needed since we updated linker script to have (NOLOAD)!
2018-05-30 22:40:41 +01:00
James Benton
00b6fa3940 ld: Add (NOLOAD) to .bss section. 2018-05-30 22:40:20 +01:00
James Benton
1c3d26ab1b wutcrt: Setup a proper stack frame for _start. 2018-05-30 22:13:49 +01:00
James Benton
699aa5ca99 wutcrt: Fix call to __fini_wut instead of __init_wut for rpl on load entry. 2018-05-30 22:00:58 +01:00
James Benton
86ea2f1466 Add a simple .rpl file example. 2018-05-30 21:56:29 +01:00
James Benton
f281be50ab Add support for generating RPL files.
RPL files are shared libraries (like a .dll file), as opposed to the RPX
files which are executables (like a .exe file).

Use rpl_main as defined in dynload.h like one would DllMain on Windows.
2018-05-30 21:56:18 +01:00
James Benton
6f877a2a3c Add new sample custom_default_heap.
Uses exported function __preinit_user which is called by coreinit to
initialise the default heap before the application is loaded.
2018-05-30 19:06:35 +01:00
James Benton
1489adeb37 coreinit: Add MEMVisitAllocatedForExpHeap 2018-05-30 19:05:54 +01:00
James Benton
61a84c50b6 tools: Add rplexportgen to produce SHT_RPL_EXPORTS. 2018-05-30 18:56:10 +01:00
James Benton
c98c7e39e4 elf2rpl: Check relocation section index before performing relocations. 2018-05-30 18:56:10 +01:00
James Benton
419186a31c samples: Never miss a second again! 2018-05-30 18:56:10 +01:00
James Benton
d350e2e28a coreinit: Add a prototype for __preinit_user.
Also throw in CoreInitDefaultHeap whilst we are there, it's the default
implementation of __preinit_user.
2018-05-30 18:56:10 +01:00
James Benton
6d8dabb15b wut.cmake: Update to support creating RPL files, and exports. 2018-05-30 18:56:10 +01:00
James Benton
2ea440c90e elf2rpl: Add flag to toggle whether IS_RPX flag is set in file info. 2018-05-30 18:56:10 +01:00
James Benton
beb72e9859 elf2rpl: Add excmd based command line parsing. 2018-05-30 18:56:08 +01:00
James Benton
e709fe29aa elf2rpl: Add missing newlines to printed messages. 2018-05-30 14:44:14 +01:00
James Benton
4220023511 wutstdc++: Use malloc / free instead of MEM functions. 2018-05-30 14:42:42 +01:00
James Benton
d5effaaf88 coreinit: Cleanup memory heap functions.
Move files to mem*heap.h.
Use MEMHeapHandle everywhere to reduce need for unecessary casts.
Rename types to match the function names better (e.g. Frame -> Frm).
2018-05-30 13:13:37 +01:00
James Benton
42ac732b2e coreinit: Add some memory functions.
Adds OSGetForegroundBucket, OSGetForegroundBucketFreeArea, OSGetMemBound.
2018-05-30 13:11:57 +01:00
James Benton
3e117fe667 coreinit: Merge baseheap.h into memheap.h 2018-05-30 13:11:20 +01:00
James Benton
3c763b7a08 coreinit: Add OSDynLoad_{Get,Set}TLSAllocator. 2018-05-30 13:10:57 +01:00
James Benton
65f03c5e62 coreinit: Add OSDynLoad_Error. 2018-05-30 13:10:38 +01:00
James Benton
524fd9143a coreinit: Add virtual memory mapping functions. 2018-05-29 13:55:10 +01:00
James Benton
5ce21d4fdc rplgen: Fix section flags for dimport section. 2018-05-29 10:52:40 +01:00
James Benton
a5d15a7a3a Remove libdefaultheap.
Replaced by coreinit data exports.
2018-05-29 10:52:40 +01:00
James Benton
766e832363 coreinit: Add default heap data exports. 2018-05-29 10:52:40 +01:00
James Benton
c412250d48 tools/rplgen: Move trim to utils.h 2018-05-29 10:52:40 +01:00
James
1e544d4df5
Update README.md 2018-05-28 11:45:32 +01:00
dibas
45e0904a69 WHBGfx - Separate ClearColor() and allow custom colors. 2018-05-28 11:42:13 +01:00
James Benton
f7a698388c wutnewlib: Implement the new __syscalls from upcoming devkitPPC release. 2018-05-28 11:40:22 +01:00
James Benton
35d05358c4 Fix wut_create_rpx linking to newlib instead of crt. 2018-05-28 11:39:54 +01:00
James Benton
2b165bf887 Improve time conversion macros. 2018-05-28 11:39:36 +01:00
James Benton
23c56959b3 Update README.md 2018-05-27 12:16:44 +01:00
James Benton
4891278425 samples: Update helloworld_std_thread. 2018-05-27 12:14:21 +01:00
James Benton
b4a6eb2f78 Split out crt from wutnewlib to wutcrt.
Can now optionally link newlib, stdc++, devoptab.
2018-05-27 12:12:49 +01:00
James Benton
479e9ad677 Add devoptab support for sdcard. 2018-05-27 12:11:45 +01:00
James Benton
2f7a96e381 Pass DEVKITPPC down to child CMake builds. 2018-05-27 12:10:58 +01:00
James Benton
ac8a42fa7c Change to using new gthreads implementation.
Assuming that --enable-threads=dkp gets merged into devkitPPC r31... :)
2018-05-26 18:25:36 +01:00
James Benton
37228a095d Disable call to __fini as it breaks stuff. 2018-05-26 18:18:16 +01:00
James Benton
9a3cbcd2ef wutnewlib: Call __fini for global dtors.
main calls __eabi which calls __init, but main doesn't call __fini?
y u do this
2018-05-25 21:20:39 +01:00
James Benton
33bff6ccb9 whb: Fix exception handlers to be globally registered.
Was previously only registered for current thread.
2018-05-25 18:59:29 +01:00
James Benton
710ce964c8 wutstdc++: Add remaining gthreads reliant std code. 2018-05-25 18:47:11 +01:00
James Benton
ec59508010 wutstdc++: Implement __gthread_cond_timedwait. 2018-05-25 18:45:19 +01:00
James Benton
750a2370d8 wutstdc++: Move gthread code to source files. 2018-05-25 18:15:39 +01:00
James Benton
675549474a wutstdc++: Implement gthread keys. 2018-05-25 18:06:54 +01:00
James Benton
b4e5bf4106 Change OS{Get,Set}ThreadSpecific to use void *. 2018-05-25 18:06:25 +01:00
James Benton
3336fbaf5d Implement __gthread_once. 2018-05-25 17:35:21 +01:00
James Benton
b00b5af1ec wutstdc++: Add gthr-default.h to CMakeLists.txt 2018-05-25 17:35:07 +01:00