Commit Graph

498 Commits

Author SHA1 Message Date
James
3d2400dc25
Update README.md 2018-06-14 11:46:25 +01:00
James Benton
e89b248a15 Cleanup some CMake stuff 2018-06-14 11:44:23 +01:00
James Benton
546a356697 RIP Windows build support. 2018-06-14 11:44:04 +01:00
James Benton
d315b4bb34 Add new wutmalloc library.
This overwrites malloc and redirects it to alloc from default heap.
Also sets __wut_heap_max_size to limit sbrk heap now that malloc no longer
uses it.
2018-06-14 09:33:16 +01:00
James Benton
98b6f6ec2f wutnewlib: Allow custom fixed sbrk heap size.
So now either uses 90% of the available base heap, or allocates a fixed
sized heap from the default heap.
2018-06-14 09:32:37 +01:00
James Benton
0b5ff33be1 Update CMakeLists.txt to allow optional building of tools & ppc libs. 2018-06-14 09:31:05 +01:00
James Benton
6344e56090 Add missing include to utils.h 2018-06-13 18:54:21 +01:00
James Benton
1471ea4338 Change wutnewlib to implement malloc family of functions.
This allows us to forward them straight to default heap functions, this
is better than having to allocate a fixed heap for sbrk as it allows
people to better mix usage malloc & default heap functions.
2018-06-13 18:38:53 +01:00
James Benton
c4214cef35 sysapp: Change unknown structure to a struct typedef. 2018-06-13 17:36:12 +01:00
James Benton
76c6e555d0 Update .gitignore 2018-06-13 17:35:50 +01:00
James Benton
4026ad081a samples: Rename helloworld_std_thread to helloworld_cpp. 2018-06-13 17:35:03 +01:00
James Benton
adfd1c4e91 Fix nn/ac.h including removed header. 2018-06-13 13:39:42 +01:00
James Benton
865af4609c Rename wutdevoptab to wutdevoptab_sd 2018-06-13 13:36:15 +01:00
James Benton
c2a993a4dd samples: Add swkbd sample. 2018-06-13 12:14:11 +01:00
James Benton
75784dbb52 Add nn::swkbd library. 2018-06-13 12:12:22 +01:00
James Benton
9beff5dd0b Add padscore/kpad.h for a stubbed KPADStatus typedef. 2018-06-13 12:11:00 +01:00
James Benton
060d9df5cb Update linker script to include all fimport & dimport sections. 2018-06-13 12:10:27 +01:00
James Benton
dc29e49a13 Fix nn/ac.h includes. 2018-06-13 12:10:15 +01:00
James Benton
2770867c97 nn_ac: Move to nn/ac and start the C++ API. 2018-06-11 17:34:05 +01:00
James Benton
2d0db54e65 elf2rpl: Bump up cafe SDK version in file info sections.
Matches latest SDK version.
2018-06-11 16:46:35 +01:00
James Benton
4edd7a5901 cafe: Move to autogenerated export files for all cafe libraries. 2018-06-11 15:46:36 +01:00
James Benton
a00804a22d readrpl: Add --exports-def to generate exports.def file for an rpl. 2018-06-11 15:36:21 +01:00
James Benton
0556f4627b cmake: Explicitly set CMAKE_CROSSCOMPILING.
Not actually required because it is implicitly set when you modify
CMAKE_SYSTEM_NAME, but it's nice to be explicit.
2018-06-04 18:09:49 +01:00
James Benton
7019171841 cmake: Set BUILD_SHARED_LIBS OFF.
devkitPPC does not support building shared libraries.
2018-06-04 18:09:10 +01:00
James Benton
01606fba86 wut: Define __WIIU__ and __WUT__ for builds. 2018-06-02 10:37:02 +01:00
James Benton
3c054375db wutstdc++: Fix __wut_key_t. 2018-06-02 10:36:28 +01:00
James Benton
f11112ca0f Change LATTE_SQ_SEL to GX2_SQ_SEL.
latte is private stuff yo.
2018-05-31 11:19:39 +01:00
James Benton
62cb2757b9 wut_add_exports: Use target name when generating exports.
This helps keep the filename unique.
2018-05-31 10:30:58 +01:00
James Benton
3d2e190d31 samples/custom_default_heap: Fix install filename 2018-05-31 10:30:35 +01:00
James Benton
9a0930e5b3 Add install for samples/content. 2018-05-31 10:30:24 +01:00
James Benton
9f5066d75a samples: Add gx2 triangle sample. 2018-05-31 10:20:16 +01:00
James Benton
4e2099a2e4 whb: Add missing GX2Invalidate call.
GX2RUnlockBuffer is supposed to be calling invalidate for us.... but it
does not seem to work and we require an explicit invalidate instead?!?!
2018-05-31 10:10:10 +01:00
James Benton
38ae220cd6 elf2rpl: Simplify fixLoaderVirtualAddresses to only move STRTAB + SYMTAB.
Until we can get ld to give these alloc flags we will always need this.
2018-05-30 22:52:20 +01:00
James Benton
e52affa9d5 elf2rpl: Remove unused functions. 2018-05-30 22:51:51 +01:00
James Benton
6a116a8e41 elf2rpl: Remove reorderSectionIndex.
Not needed.
2018-05-30 22:43:41 +01:00
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