xref: /aosp_15_r20/external/ltp/testcases/kernel/kvm/linker/x86.lds (revision 49cdfc7efb34551c7342be41a7384b9c40d7cab7)
1*49cdfc7eSAndroid Build Coastguard WorkerOUTPUT_FORMAT(elf32-i386)
2*49cdfc7eSAndroid Build Coastguard Worker
3*49cdfc7eSAndroid Build Coastguard WorkerPHDRS
4*49cdfc7eSAndroid Build Coastguard Worker{
5*49cdfc7eSAndroid Build Coastguard Worker	headers PT_PHDR PHDRS ;
6*49cdfc7eSAndroid Build Coastguard Worker	text PT_LOAD FILEHDR PHDRS ;
7*49cdfc7eSAndroid Build Coastguard Worker	data PT_LOAD ;
8*49cdfc7eSAndroid Build Coastguard Worker	bss PT_LOAD ;
9*49cdfc7eSAndroid Build Coastguard Worker}
10*49cdfc7eSAndroid Build Coastguard Worker
11*49cdfc7eSAndroid Build Coastguard WorkerSECTIONS
12*49cdfc7eSAndroid Build Coastguard Worker{
13*49cdfc7eSAndroid Build Coastguard Worker	/DISCARD/ :
14*49cdfc7eSAndroid Build Coastguard Worker	{
15*49cdfc7eSAndroid Build Coastguard Worker		  *(.note.gnu.* .comment)
16*49cdfc7eSAndroid Build Coastguard Worker	}
17*49cdfc7eSAndroid Build Coastguard Worker
18*49cdfc7eSAndroid Build Coastguard Worker	. = 0x1000;
19*49cdfc7eSAndroid Build Coastguard Worker	.init.boot :
20*49cdfc7eSAndroid Build Coastguard Worker	{
21*49cdfc7eSAndroid Build Coastguard Worker		*(.init.protected_mode)
22*49cdfc7eSAndroid Build Coastguard Worker		*(.init.gdt32)
23*49cdfc7eSAndroid Build Coastguard Worker		*(.init.memlayout)
24*49cdfc7eSAndroid Build Coastguard Worker	} :text
25*49cdfc7eSAndroid Build Coastguard Worker
26*49cdfc7eSAndroid Build Coastguard Worker	.text :
27*49cdfc7eSAndroid Build Coastguard Worker	{
28*49cdfc7eSAndroid Build Coastguard Worker		*(.rodata .rodata.*)
29*49cdfc7eSAndroid Build Coastguard Worker		*(.text.unlikely .text.unlikely.*)
30*49cdfc7eSAndroid Build Coastguard Worker		*(.text.startup .text.startup.*)
31*49cdfc7eSAndroid Build Coastguard Worker		*(.text .text.*)
32*49cdfc7eSAndroid Build Coastguard Worker		*(.gnu.linkonce.t.*)
33*49cdfc7eSAndroid Build Coastguard Worker	}
34*49cdfc7eSAndroid Build Coastguard Worker
35*49cdfc7eSAndroid Build Coastguard Worker	.init :
36*49cdfc7eSAndroid Build Coastguard Worker	{
37*49cdfc7eSAndroid Build Coastguard Worker		KEEP (*(SORT_NONE(.init)))
38*49cdfc7eSAndroid Build Coastguard Worker	}
39*49cdfc7eSAndroid Build Coastguard Worker
40*49cdfc7eSAndroid Build Coastguard Worker	.data :
41*49cdfc7eSAndroid Build Coastguard Worker	{
42*49cdfc7eSAndroid Build Coastguard Worker		*(.data.strings)
43*49cdfc7eSAndroid Build Coastguard Worker		*(.data)
44*49cdfc7eSAndroid Build Coastguard Worker	} :data
45*49cdfc7eSAndroid Build Coastguard Worker
46*49cdfc7eSAndroid Build Coastguard Worker	.preinit_array :
47*49cdfc7eSAndroid Build Coastguard Worker	{
48*49cdfc7eSAndroid Build Coastguard Worker		PROVIDE_HIDDEN (__preinit_array_start = .);
49*49cdfc7eSAndroid Build Coastguard Worker		KEEP (*(.preinit_array))
50*49cdfc7eSAndroid Build Coastguard Worker		PROVIDE_HIDDEN (__preinit_array_end = .);
51*49cdfc7eSAndroid Build Coastguard Worker	}
52*49cdfc7eSAndroid Build Coastguard Worker
53*49cdfc7eSAndroid Build Coastguard Worker	.init_array :
54*49cdfc7eSAndroid Build Coastguard Worker	{
55*49cdfc7eSAndroid Build Coastguard Worker		PROVIDE_HIDDEN (__init_array_start = .);
56*49cdfc7eSAndroid Build Coastguard Worker		KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))
57*49cdfc7eSAndroid Build Coastguard Worker		KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors))
58*49cdfc7eSAndroid Build Coastguard Worker		PROVIDE_HIDDEN (__init_array_end = .);
59*49cdfc7eSAndroid Build Coastguard Worker	}
60*49cdfc7eSAndroid Build Coastguard Worker
61*49cdfc7eSAndroid Build Coastguard Worker	.bss.pgtables : ALIGN(4096)
62*49cdfc7eSAndroid Build Coastguard Worker	{
63*49cdfc7eSAndroid Build Coastguard Worker		*(.bss.pgtables)
64*49cdfc7eSAndroid Build Coastguard Worker	} :bss
65*49cdfc7eSAndroid Build Coastguard Worker
66*49cdfc7eSAndroid Build Coastguard Worker	.bss : ALIGN(4096)
67*49cdfc7eSAndroid Build Coastguard Worker	{
68*49cdfc7eSAndroid Build Coastguard Worker		*(.bss.stack)
69*49cdfc7eSAndroid Build Coastguard Worker		*(.bss.tss)
70*49cdfc7eSAndroid Build Coastguard Worker		*(.bss)
71*49cdfc7eSAndroid Build Coastguard Worker
72*49cdfc7eSAndroid Build Coastguard Worker		. = ALIGN(4096);
73*49cdfc7eSAndroid Build Coastguard Worker		kvm_heap_begin = .;
74*49cdfc7eSAndroid Build Coastguard Worker	}
75*49cdfc7eSAndroid Build Coastguard Worker}
76