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;
132adcba79SJarkko Sakkinen	.tcs : {
142adcba79SJarkko Sakkinen		*(.tcs*)
152adcba79SJarkko Sakkinen	} : tcs
162adcba79SJarkko Sakkinen
172adcba79SJarkko Sakkinen	. = ALIGN(4096);
182adcba79SJarkko Sakkinen	.text : {
192adcba79SJarkko Sakkinen		*(.text*)
202adcba79SJarkko Sakkinen		*(.rodata*)
21*22118ce1SJarkko Sakkinen		FILL(0xDEADBEEF);
22*22118ce1SJarkko Sakkinen		. = ALIGN(4096);
232adcba79SJarkko Sakkinen	} : text
242adcba79SJarkko Sakkinen
252adcba79SJarkko Sakkinen	.data : {
262adcba79SJarkko Sakkinen		*(.data*)
272adcba79SJarkko Sakkinen	} : data
282adcba79SJarkko Sakkinen
292adcba79SJarkko Sakkinen	/DISCARD/ : {
302adcba79SJarkko Sakkinen		*(.comment*)
312adcba79SJarkko Sakkinen		*(.note*)
322adcba79SJarkko Sakkinen		*(.debug*)
332adcba79SJarkko Sakkinen		*(.eh_frame*)
342adcba79SJarkko Sakkinen	}
352adcba79SJarkko Sakkinen}
362adcba79SJarkko Sakkinen
372adcba79SJarkko SakkinenASSERT(!DEFINED(.altinstructions), "ALTERNATIVES are not supported in enclaves")
382adcba79SJarkko SakkinenASSERT(!DEFINED(.altinstr_replacement), "ALTERNATIVES are not supported in enclaves")
392adcba79SJarkko SakkinenASSERT(!DEFINED(.discard.retpoline_safe), "RETPOLINE ALTERNATIVES are not supported in enclaves")
402adcba79SJarkko SakkinenASSERT(!DEFINED(.discard.nospec), "RETPOLINE ALTERNATIVES are not supported in enclaves")
412adcba79SJarkko SakkinenASSERT(!DEFINED(.got.plt), "Libcalls are not supported in enclaves")
42