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