const LINKER_SCRIPT: &str = "ENTRY(module_start)\nSECTIONS\n{\n /* PRX format requires text to begin at 0 */\n .text 0 : { *(.text .text.*) }\n\n /* Sort stubs for convenient ordering */\n .sceStub.text : { *(.sceStub.text) *(SORT(.sceStub.text.*)) }\n\n /* PSP import library stub sections. Bundles together `.lib.stub.entry.*`\n * sections for better `--gc-sections` support. */\n .lib.stub.top : { *(.lib.stub.top) }\n .lib.stub : { *(.lib.stub) *(.lib.stub.entry.*) }\n .lib.stub.btm : { *(.lib.stub.btm) }\n\n /* Keep these sections around, even though they may appear unused to the linker */\n .lib.ent.top : { KEEP(*(.lib.ent.top)) }\n .lib.ent : { KEEP(*(.lib.ent)) }\n .lib.ent.btm : { KEEP(*(.lib.ent.btm)) }\n\n .eh_frame_hdr : { *(.eh_frame_hdr) }\n\n /* Add symbols for LLVM\'s libunwind */\n __eh_frame_hdr_start = SIZEOF(.eh_frame_hdr) > 0 ? ADDR(.eh_frame_hdr) : 0;\n __eh_frame_hdr_end = SIZEOF(.eh_frame_hdr) > 0 ? . : 0;\n .eh_frame :\n {\n __eh_frame_start = .;\n KEEP(*(.eh_frame))\n __eh_frame_end = .;\n }\n\n /* These are explicitly listed to avoid being merged into .rodata */\n .rodata.sceResident : { *(.rodata.sceResident) *(.rodata.sceResident.*) }\n .rodata.sceModuleInfo : { *(.rodata.sceModuleInfo) }\n /* Sort NIDs for convenient ordering */\n .rodata.sceNid : { *(.rodata.sceNid) *(SORT(.rodata.sceNid.*)) }\n\n .rodata : { *(.rodata .rodata.*) }\n .data : { *(.data .data.*) }\n .gcc_except_table : { *(.gcc_except_table .gcc_except_table.*) }\n .bss : { *(.bss .bss.*) }\n\n /DISCARD/ : { *(.rel.sceStub.text .MIPS.abiflags .reginfo) }\n}\n";