const LINKER_SCRIPT: &str = "OUTPUT_FORMAT(elf64-littleaarch64)\nOUTPUT_ARCH(aarch64)\nENTRY(_start)\n\nPHDRS\n{\n text PT_LOAD FLAGS(5);\n rodata PT_LOAD FLAGS(4);\n data PT_LOAD FLAGS(6);\n bss PT_LOAD FLAGS(6);\n dynamic PT_DYNAMIC;\n}\n\nSECTIONS\n{\n . = 0;\n\n .text : ALIGN(0x1000) {\n HIDDEN(__text_start = .);\n KEEP(*(.text.jmp))\n\n . = 0x80;\n\n *(.text .text.*)\n *(.plt .plt.*)\n }\n\n /* Read-only sections */\n\n . = ALIGN(0x1000);\n\n .module_name : { *(.module_name) } :rodata\n\n .rodata : { *(.rodata .rodata.*) } :rodata\n .hash : { *(.hash) }\n .dynsym : { *(.dynsym .dynsym.*) }\n .dynstr : { *(.dynstr .dynstr.*) }\n .rela.dyn : { *(.rela.dyn) }\n\n .eh_frame : {\n HIDDEN(__eh_frame_start = .);\n *(.eh_frame .eh_frame.*)\n HIDDEN(__eh_frame_end = .);\n }\n\n .eh_frame_hdr : {\n HIDDEN(__eh_frame_hdr_start = .);\n *(.eh_frame_hdr .eh_frame_hdr.*)\n HIDDEN(__eh_frame_hdr_end = .);\n }\n\n /* Read-write sections */\n\n . = ALIGN(0x1000);\n\n .data : {\n *(.data .data.*)\n *(.got .got.*)\n *(.got.plt .got.plt.*)\n } :data\n\n .dynamic : {\n HIDDEN(__dynamic_start = .);\n *(.dynamic)\n }\n\n /* BSS section */\n\n . = ALIGN(0x1000);\n\n .bss : {\n HIDDEN(__bss_start = .);\n *(.bss .bss.*)\n *(COMMON)\n . = ALIGN(8);\n HIDDEN(__bss_end = .);\n } :bss\n}\n";