0001 OUTPUT_FORMAT(elf64-x86-64)
0002
0003 PHDRS
0004 {
0005 tcs PT_LOAD;
0006 text PT_LOAD;
0007 data PT_LOAD;
0008 }
0009
0010 SECTIONS
0011 {
0012 . = 0;
0013 .tcs : {
0014 *(.tcs*)
0015 } : tcs
0016
0017 . = ALIGN(4096);
0018 .text : {
0019 *(.text*)
0020 *(.rodata*)
0021 FILL(0xDEADBEEF);
0022 . = ALIGN(4096);
0023 } : text
0024
0025 .data : {
0026 *(.data*)
0027 } : data
0028
0029 /DISCARD/ : {
0030 *(.comment*)
0031 *(.note*)
0032 *(.debug*)
0033 *(.eh_frame*)
0034 }
0035 }
0036
0037 ASSERT(!DEFINED(.altinstructions), "ALTERNATIVES are not supported in enclaves")
0038 ASSERT(!DEFINED(.altinstr_replacement), "ALTERNATIVES are not supported in enclaves")
0039 ASSERT(!DEFINED(.discard.retpoline_safe), "RETPOLINE ALTERNATIVES are not supported in enclaves")
0040 ASSERT(!DEFINED(.discard.nospec), "RETPOLINE ALTERNATIVES are not supported in enclaves")
0041 ASSERT(!DEFINED(.got.plt), "Libcalls are not supported in enclaves")