xref: /aosp_15_r20/external/crosvm/tools/examples/baremetal/layout.ld (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard WorkerENTRY(_start)
2*bb4ee6a4SAndroid Build Coastguard Worker
3*bb4ee6a4SAndroid Build Coastguard Worker/* Crosvm will load our code into 0x200000 + paddr */
4*bb4ee6a4SAndroid Build Coastguard WorkerMEMORY {
5*bb4ee6a4SAndroid Build Coastguard Worker    VMA : ORIGIN = 0x00200000, LENGTH = 0x200000
6*bb4ee6a4SAndroid Build Coastguard Worker}
7*bb4ee6a4SAndroid Build Coastguard Worker
8*bb4ee6a4SAndroid Build Coastguard WorkerSECTIONS {
9*bb4ee6a4SAndroid Build Coastguard Worker
10*bb4ee6a4SAndroid Build Coastguard Worker
11*bb4ee6a4SAndroid Build Coastguard Worker  .bootloader :
12*bb4ee6a4SAndroid Build Coastguard Worker  {
13*bb4ee6a4SAndroid Build Coastguard Worker      _stack_end = . ;
14*bb4ee6a4SAndroid Build Coastguard Worker      *(.boot)
15*bb4ee6a4SAndroid Build Coastguard Worker  }> VMA
16*bb4ee6a4SAndroid Build Coastguard Worker
17*bb4ee6a4SAndroid Build Coastguard Worker  .kernel :
18*bb4ee6a4SAndroid Build Coastguard Worker  {
19*bb4ee6a4SAndroid Build Coastguard Worker    KEEP(*(.text.main))
20*bb4ee6a4SAndroid Build Coastguard Worker    *(.text .text.*)
21*bb4ee6a4SAndroid Build Coastguard Worker    *(.rodata .rodata.*)
22*bb4ee6a4SAndroid Build Coastguard Worker    *(.data .data.*)
23*bb4ee6a4SAndroid Build Coastguard Worker    *(.bss .bss.*)
24*bb4ee6a4SAndroid Build Coastguard Worker  }> VMA
25*bb4ee6a4SAndroid Build Coastguard Worker
26*bb4ee6a4SAndroid Build Coastguard Worker  DISCARD/ :
27*bb4ee6a4SAndroid Build Coastguard Worker  {
28*bb4ee6a4SAndroid Build Coastguard Worker    *(.note.gnu.*)
29*bb4ee6a4SAndroid Build Coastguard Worker  }
30*bb4ee6a4SAndroid Build Coastguard Worker
31*bb4ee6a4SAndroid Build Coastguard Worker}
32