Commit Graph

30 Commits

Author SHA1 Message Date
James Benton
8af0ffe9c7 Move wut to using CMake instead of Makefiles.
The old makefile solution will still be around on branch "make".
2017-03-23 12:18:02 +00:00
dimok789
1a1a87a948 - keep .lib.rplLibs section. this allows use of --gc-sections and reduce RPX size - added a few memory functions 2016-11-06 21:11:14 -08:00
dimok789
be3bcba701 - added missing gcc_except_table section
- added ignore of paddings in elf2rpl
2016-10-11 19:04:55 +02:00
shinyquagsire23
e0f2125068 Move rodata into text so that jump tables work properly without -fno-jump-tables 2016-09-28 23:50:17 -06:00
James Benton
266bf899fb Add -std=c11 to ppc.mk because we use it in our RPL includes anyway 2016-08-25 12:27:47 +01:00
James Benton
e6e886bdbd Update cygwin makefile shenanigans. 2016-08-19 00:34:39 +01:00
dibas
151e20c083 Fix Makefiles on OS X. 2016-08-14 13:39:58 +02:00
shinyquagsire23
23dff0fe81 Have elf2rpl write in same allignments as reflected in rpl.ld, fix issue with .tbss where GCC is dumb and doesn't increment the address 2016-07-30 16:56:25 -07:00
James Benton
1ff6658dcc Remove trailing whitespace from rpl.ld 2016-07-23 11:25:30 +01:00
shinyquagsire23
9173f0f6c3 Adjustments for linking, rpx/rpl generation 2016-07-22 20:35:20 -07:00
James Benton
9b769d2f6e yo this cygpath shit is fukt up yo 2016-07-06 21:06:57 +01:00
James Benton
ad50ef9ec6 Remove unused PORTLIBS from base.mk 2016-07-06 18:46:19 +01:00
James Benton
5c91545658 Build libcrt.a instead of using separate object files. 2016-07-06 18:44:48 +01:00
James Benton
8aa77c9ee6 Add a part of libgcc to get 64 bit integer division function __udivdi3.
We cannot link with devkitPPC libgcc because it includes __eabi which we
do not want, as that sets up r2 and r13 SDA registers from elf file symbols
but that is done by the RPL FileInfo read by CafeOS for the Wii U.

In future we should probably fork devkitPPC to build without powerpc eabi
in order to match what we expect for the Wii U.
2016-06-08 01:24:37 +01:00
James Benton
3db025da59 Cleanup rpl.ld sections 2016-06-08 00:59:55 +01:00
James Benton
1798d782f3 Add -lcoreinit to rpl.mk as it is required by crt0.S 2016-01-05 15:25:22 -08:00
James Benton
747be9e29e Add .rpx build rule. 2016-01-04 06:35:58 -08:00
James Benton
a582c9b61f Reorder symbol/string table entries. 2015-12-28 06:18:48 -08:00
James Benton
086cf3b42f Separate data relocations. 2015-12-28 06:18:35 -08:00
James Benton
fdc0e1ec41 Merge .rplTramp.text into .text section 2015-12-28 06:18:08 -08:00
James Benton
e46445c3ec Set linker page size to reduce padding.
Previously every PHDR had align(0x1000) creating huge amounts of padding.
Changing page size to 64 changes PHDR align to 0x40, reducing elf size.
2015-12-27 20:02:20 -08:00
James Benton
dcee7f253f Cleanup indentation in linker script. 2015-12-27 16:28:29 -08:00
James Benton
8a0c2ed4d1 Cleanup data/rodata sections for C++ objects. 2015-12-27 16:24:14 -08:00
James Benton
2c54b692c3 Split relocation sections between ones used for linking and ones for runtime. 2015-12-27 16:23:48 -08:00
James Benton
b771f474df Remove unnecessary KEEP in linker script. 2015-12-27 16:23:00 -08:00
James Benton
c2c9f05328 Proper PIE for RPL. 2015-12-27 05:45:32 -08:00
James Benton
5e69878ea7 Explicitly align every section. 2015-12-26 18:58:32 -08:00
James Benton
2f06f61f89 Remove deps stuff. 2015-12-26 18:58:07 -08:00
James Benton
756bc99c39 Fix .rodata.rplNames being included in .rodata section. 2015-12-26 18:22:37 -08:00
James Benton
8a9dfb1835 Basic start of a Wii U Toolchain. 2015-12-26 18:10:38 -08:00