1ENTRY(module_start)
2SECTIONS
3{
4  /* PRX format requires text to begin at 0 */
5  .text 0 : { *(.text .text.*) }
6
7  /* Sort stubs for convenient ordering */
8  .sceStub.text : { *(.sceStub.text) *(SORT(.sceStub.text.*)) }
9
10  /* Keep these sections around, even though they may appear unused to the linker */
11  .lib.ent.top :  { KEEP(*(.lib.ent.top)) }
12  .lib.ent :      { KEEP(*(.lib.ent)) }
13  .lib.ent.btm :  { KEEP(*(.lib.ent.btm)) }
14  .lib.stub.top : { KEEP(*(.lib.stub.top)) }
15  .lib.stub :     { KEEP(*(.lib.stub)) }
16  .lib.stub.btm : { KEEP(*(.lib.stub.btm)) }
17  .eh_frame_hdr : { KEEP(*(.eh_frame_hdr)) }
18
19  /* Add symbols for LLVM's libunwind */
20  __eh_frame_hdr_start = SIZEOF(.eh_frame_hdr) > 0 ? ADDR(.eh_frame_hdr) : 0;
21  __eh_frame_hdr_end = SIZEOF(.eh_frame_hdr) > 0 ? . : 0;
22  .eh_frame :
23  {
24    __eh_frame_start = .;
25    KEEP(*(.eh_frame))
26    __eh_frame_end = .;
27  }
28
29  /* These are explicitly listed to avoid being merged into .rodata */
30  .rodata.sceResident : { *(.rodata.sceResident) }
31  .rodata.sceModuleInfo : { *(.rodata.sceModuleInfo) }
32  /* Sort NIDs for convenient ordering */
33  .rodata.sceNid : { *(.rodata.sceNid) *(SORT(.rodata.sceNid.*)) }
34}
35