12adcba79SJarkko SakkinenOUTPUT_FORMAT(elf64-x86-64) 22adcba79SJarkko Sakkinen 32adcba79SJarkko SakkinenPHDRS 42adcba79SJarkko Sakkinen{ 52adcba79SJarkko Sakkinen tcs PT_LOAD; 62adcba79SJarkko Sakkinen text PT_LOAD; 72adcba79SJarkko Sakkinen data PT_LOAD; 82adcba79SJarkko Sakkinen} 92adcba79SJarkko Sakkinen 102adcba79SJarkko SakkinenSECTIONS 112adcba79SJarkko Sakkinen{ 122adcba79SJarkko Sakkinen . = 0; 13*f7884e73SJo Van Bulck __encl_base = .; 142adcba79SJarkko Sakkinen .tcs : { 152adcba79SJarkko Sakkinen *(.tcs*) 162adcba79SJarkko Sakkinen } : tcs 172adcba79SJarkko Sakkinen 182adcba79SJarkko Sakkinen . = ALIGN(4096); 192adcba79SJarkko Sakkinen .text : { 202adcba79SJarkko Sakkinen *(.text*) 212adcba79SJarkko Sakkinen *(.rodata*) 2222118ce1SJarkko Sakkinen FILL(0xDEADBEEF); 2322118ce1SJarkko Sakkinen . = ALIGN(4096); 242adcba79SJarkko Sakkinen } : text 252adcba79SJarkko Sakkinen 262adcba79SJarkko Sakkinen .data : { 272adcba79SJarkko Sakkinen *(.data*) 282adcba79SJarkko Sakkinen } : data 292adcba79SJarkko Sakkinen 302adcba79SJarkko Sakkinen /DISCARD/ : { 312adcba79SJarkko Sakkinen *(.comment*) 322adcba79SJarkko Sakkinen *(.note*) 332adcba79SJarkko Sakkinen *(.debug*) 342adcba79SJarkko Sakkinen *(.eh_frame*) 352adcba79SJarkko Sakkinen } 362adcba79SJarkko Sakkinen} 372adcba79SJarkko Sakkinen 382adcba79SJarkko SakkinenASSERT(!DEFINED(.altinstructions), "ALTERNATIVES are not supported in enclaves") 392adcba79SJarkko SakkinenASSERT(!DEFINED(.altinstr_replacement), "ALTERNATIVES are not supported in enclaves") 402adcba79SJarkko SakkinenASSERT(!DEFINED(.discard.retpoline_safe), "RETPOLINE ALTERNATIVES are not supported in enclaves") 412adcba79SJarkko SakkinenASSERT(!DEFINED(.discard.nospec), "RETPOLINE ALTERNATIVES are not supported in enclaves") 422adcba79SJarkko SakkinenASSERT(!DEFINED(.got.plt), "Libcalls are not supported in enclaves") 43