xref: /linux/tools/testing/selftests/sgx/test_encl.lds (revision f7884e732841450de36c2b1ed49b91e8e854a7d1)
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