mirror of
https://github.com/wiiu-env/WUMSLoader.git
synced 2024-11-27 10:04:16 +01:00
Increase maximum size of wumsloader
This commit is contained in:
parent
ef91f1ef11
commit
5c281ec661
@ -15,7 +15,7 @@ extern std::unique_ptr<module_information_single_t[]> gModuleDataInfo;
|
|||||||
#define MEMORY_REGION_SIZE 0x00800000
|
#define MEMORY_REGION_SIZE 0x00800000
|
||||||
|
|
||||||
#define CUSTOM_RPX_LOADER_RETURN_CODE 0x00009000 // We have to skip the first 0x00009000 bytes because it's still used
|
#define CUSTOM_RPX_LOADER_RETURN_CODE 0x00009000 // We have to skip the first 0x00009000 bytes because it's still used
|
||||||
#define RELOCATOR_SIZE 0x0D0000 // Maximum size of the wumsloader, needs to match the one defined in link.ld
|
#define RELOCATOR_SIZE 0x0E0000 // Maximum size of the wumsloader, needs to match the one defined in link.ld
|
||||||
#define ENVIRONMENT_PATH_LENGTH 0x100 // Length of the EnvironmentPath.
|
#define ENVIRONMENT_PATH_LENGTH 0x100 // Length of the EnvironmentPath.
|
||||||
|
|
||||||
#define MEMORY_REGION_ENVIRONMENT_STRING_ADRR (MEMORY_REGION_START + CUSTOM_RPX_LOADER_RETURN_CODE + RELOCATOR_SIZE)
|
#define MEMORY_REGION_ENVIRONMENT_STRING_ADRR (MEMORY_REGION_START + CUSTOM_RPX_LOADER_RETURN_CODE + RELOCATOR_SIZE)
|
||||||
|
@ -4,92 +4,92 @@ ENTRY(_start);
|
|||||||
|
|
||||||
SECTIONS {
|
SECTIONS {
|
||||||
. = 0x00809000;
|
. = 0x00809000;
|
||||||
.text ALIGN(32) : {
|
.text ALIGN(32) : {
|
||||||
KEEP (*(.crt0))
|
KEEP (*(.crt0))
|
||||||
KEEP (*(SORT_NONE(.init)))
|
KEEP (*(SORT_NONE(.init)))
|
||||||
|
|
||||||
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
|
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
|
||||||
*(.text.exit .text.exit.*)
|
*(.text.exit .text.exit.*)
|
||||||
*(.text.startup .text.startup.*)
|
*(.text.startup .text.startup.*)
|
||||||
*(.text.hot .text.hot.*)
|
*(.text.hot .text.hot.*)
|
||||||
*(SORT(.text.sorted.*))
|
*(SORT(.text.sorted.*))
|
||||||
*(.text .stub .text.* .gnu.linkonce.t.*)
|
*(.text .stub .text.* .gnu.linkonce.t.*)
|
||||||
*(.gnu.warning)
|
*(.gnu.warning)
|
||||||
*(.glink)
|
*(.glink)
|
||||||
|
|
||||||
KEEP (*(SORT_NONE(.fini)))
|
KEEP (*(SORT_NONE(.fini)))
|
||||||
}
|
}
|
||||||
|
|
||||||
.rodata : {
|
.rodata : {
|
||||||
*(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
|
*(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
|
||||||
*(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
|
*(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
|
||||||
|
|
||||||
*(.rodata .rodata.* .gnu.linkonce.r.*)
|
*(.rodata .rodata.* .gnu.linkonce.r.*)
|
||||||
*(.rodata1)
|
*(.rodata1)
|
||||||
|
|
||||||
*(.gcc_except_table .gcc_except_table.*)
|
*(.gcc_except_table .gcc_except_table.*)
|
||||||
*(.gnu_extab*)
|
*(.gnu_extab*)
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
PROVIDE_HIDDEN (__preinit_array_start = .);
|
PROVIDE_HIDDEN (__preinit_array_start = .);
|
||||||
KEEP (*(.preinit_array))
|
KEEP (*(.preinit_array))
|
||||||
PROVIDE_HIDDEN (__preinit_array_end = .);
|
PROVIDE_HIDDEN (__preinit_array_end = .);
|
||||||
|
|
||||||
PROVIDE_HIDDEN (__init_array_start = .);
|
PROVIDE_HIDDEN (__init_array_start = .);
|
||||||
KEEP (*crtbegin.o(.ctors))
|
KEEP (*crtbegin.o(.ctors))
|
||||||
KEEP (*crtbegin?.o(.ctors))
|
KEEP (*crtbegin?.o(.ctors))
|
||||||
KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))
|
KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))
|
||||||
KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors))
|
KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors))
|
||||||
KEEP (*(SORT(.ctors.*)))
|
KEEP (*(SORT(.ctors.*)))
|
||||||
KEEP (*(.ctors))
|
KEEP (*(.ctors))
|
||||||
PROVIDE_HIDDEN (__init_array_end = .);
|
PROVIDE_HIDDEN (__init_array_end = .);
|
||||||
|
|
||||||
PROVIDE_HIDDEN (__fini_array_start = .);
|
PROVIDE_HIDDEN (__fini_array_start = .);
|
||||||
KEEP (*crtbegin.o(.dtors))
|
KEEP (*crtbegin.o(.dtors))
|
||||||
KEEP (*crtbegin?.o(.dtors))
|
KEEP (*crtbegin?.o(.dtors))
|
||||||
KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))
|
KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))
|
||||||
KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))
|
KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))
|
||||||
KEEP (*(SORT(.dtors.*)))
|
KEEP (*(SORT(.dtors.*)))
|
||||||
KEEP (*(.dtors))
|
KEEP (*(.dtors))
|
||||||
PROVIDE_HIDDEN (__fini_array_end = .);
|
PROVIDE_HIDDEN (__fini_array_end = .);
|
||||||
|
|
||||||
KEEP (*(.jcr))
|
KEEP (*(.jcr))
|
||||||
*(.fixup)
|
*(.fixup)
|
||||||
*(.got1)
|
*(.got1)
|
||||||
*(.got2)
|
*(.got2)
|
||||||
*(.branch_lt)
|
*(.branch_lt)
|
||||||
*(.got)
|
*(.got)
|
||||||
*(.plt)
|
*(.plt)
|
||||||
*(.tm_clone_table)
|
*(.tm_clone_table)
|
||||||
}
|
}
|
||||||
|
|
||||||
.eh_frame : {
|
.eh_frame : {
|
||||||
*(.eh_frame_hdr)
|
*(.eh_frame_hdr)
|
||||||
*(.eh_frame_entry .eh_frame_entry.*)
|
*(.eh_frame_entry .eh_frame_entry.*)
|
||||||
|
|
||||||
KEEP (*(.eh_frame))
|
KEEP (*(.eh_frame))
|
||||||
*(.eh_frame.*)
|
*(.eh_frame.*)
|
||||||
}
|
}
|
||||||
|
|
||||||
.data : {
|
.data : {
|
||||||
*(.data .data.* .gnu.linkonce.d.*)
|
*(.data .data.* .gnu.linkonce.d.*)
|
||||||
SORT(CONSTRUCTORS)
|
SORT(CONSTRUCTORS)
|
||||||
*(.data1)
|
*(.data1)
|
||||||
*(.sdata .sdata.* .gnu.linkonce.s.*)
|
*(.sdata .sdata.* .gnu.linkonce.s.*)
|
||||||
}
|
}
|
||||||
|
|
||||||
.bss (NOLOAD) : {
|
.bss (NOLOAD) : {
|
||||||
*(.dynsbss)
|
*(.dynsbss)
|
||||||
*(.sbss .sbss.* .gnu.linkonce.sb.*)
|
*(.sbss .sbss.* .gnu.linkonce.sb.*)
|
||||||
*(.scommon)
|
*(.scommon)
|
||||||
|
|
||||||
*(.dynbss)
|
*(.dynbss)
|
||||||
*(.bss .bss.* .gnu.linkonce.b.*)
|
*(.bss .bss.* .gnu.linkonce.b.*)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
}
|
}
|
||||||
/DISCARD/ : {
|
/DISCARD/ : {
|
||||||
*(*);
|
*(*);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ASSERT((SIZEOF(.text) + SIZEOF(.data) + SIZEOF(.rodata) + SIZEOF(.eh_frame) + SIZEOF(.bss)) < 0x0D0000, "Memory overlapping with modules.");
|
ASSERT((SIZEOF(.text) + SIZEOF(.data) + SIZEOF(.rodata) + SIZEOF(.eh_frame) + SIZEOF(.bss)) < 0x0E0000, "Memory overlapping with modules.");
|
||||||
|
Loading…
Reference in New Issue
Block a user