aboutsummaryrefslogtreecommitdiff
path: root/tests/libs/segment_gap_outer.lds
blob: 0f175af2f674e4b90b43b5aba158bfb19d37b50f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
SECTIONS {
  # This starts off fairly normal: rodata, text, dynamic, data, bss with
  # appropriate alignment between them.
  . = SIZEOF_HEADERS;
  .rodata : {}
  . = ALIGN(0x1000);
  .text : {}
  . = ALIGN(0x1000);
  .dynamic : {}
  . = ALIGN(0x1000);
  .data : {}
  .bss : {}

  # Now create the gap. We need a text segment first to prevent the linker from
  # merging .bss with .bss.end_of_gap.
  . = ALIGN(0x1000);
  .text.text_before_start_of_gap : {
    *(.text.text_before_start_of_gap);
  }

  # Place end_of_gap at the end of the gap.
  . = 0x1000000;
  .bss.end_of_gap : {
    *(.bss.*end_of_gap*);
  }
}