1*2adcba79SJarkko SakkinenOUTPUT_FORMAT(elf64-x86-64) 2*2adcba79SJarkko Sakkinen 3*2adcba79SJarkko SakkinenPHDRS 4*2adcba79SJarkko Sakkinen{ 5*2adcba79SJarkko Sakkinen tcs PT_LOAD; 6*2adcba79SJarkko Sakkinen text PT_LOAD; 7*2adcba79SJarkko Sakkinen data PT_LOAD; 8*2adcba79SJarkko Sakkinen} 9*2adcba79SJarkko Sakkinen 10*2adcba79SJarkko SakkinenSECTIONS 11*2adcba79SJarkko Sakkinen{ 12*2adcba79SJarkko Sakkinen . = 0; 13*2adcba79SJarkko Sakkinen .tcs : { 14*2adcba79SJarkko Sakkinen *(.tcs*) 15*2adcba79SJarkko Sakkinen } : tcs 16*2adcba79SJarkko Sakkinen 17*2adcba79SJarkko Sakkinen . = ALIGN(4096); 18*2adcba79SJarkko Sakkinen .text : { 19*2adcba79SJarkko Sakkinen *(.text*) 20*2adcba79SJarkko Sakkinen *(.rodata*) 21*2adcba79SJarkko Sakkinen } : text 22*2adcba79SJarkko Sakkinen 23*2adcba79SJarkko Sakkinen . = ALIGN(4096); 24*2adcba79SJarkko Sakkinen .data : { 25*2adcba79SJarkko Sakkinen *(.data*) 26*2adcba79SJarkko Sakkinen } : data 27*2adcba79SJarkko Sakkinen 28*2adcba79SJarkko Sakkinen /DISCARD/ : { 29*2adcba79SJarkko Sakkinen *(.comment*) 30*2adcba79SJarkko Sakkinen *(.note*) 31*2adcba79SJarkko Sakkinen *(.debug*) 32*2adcba79SJarkko Sakkinen *(.eh_frame*) 33*2adcba79SJarkko Sakkinen } 34*2adcba79SJarkko Sakkinen} 35*2adcba79SJarkko Sakkinen 36*2adcba79SJarkko SakkinenASSERT(!DEFINED(.altinstructions), "ALTERNATIVES are not supported in enclaves") 37*2adcba79SJarkko SakkinenASSERT(!DEFINED(.altinstr_replacement), "ALTERNATIVES are not supported in enclaves") 38*2adcba79SJarkko SakkinenASSERT(!DEFINED(.discard.retpoline_safe), "RETPOLINE ALTERNATIVES are not supported in enclaves") 39*2adcba79SJarkko SakkinenASSERT(!DEFINED(.discard.nospec), "RETPOLINE ALTERNATIVES are not supported in enclaves") 40*2adcba79SJarkko SakkinenASSERT(!DEFINED(.got.plt), "Libcalls are not supported in enclaves") 41