|
|
1.1 root 1: /* -*- sh -*- */
2:
3: /*
4: * Linker script for EFI images
5: *
6: */
7:
8: SECTIONS {
9:
10: /* The file starts at a virtual address of zero, and sections are
11: * contiguous. Each section is aligned to at least _max_align,
12: * which defaults to 32. Load addresses are equal to virtual
13: * addresses.
14: */
15:
16: _max_align = 32;
17:
18: /* Allow plenty of space for file headers */
19: . = 0x1000;
20:
21: /*
22: * The text section
23: *
24: */
25:
26: . = ALIGN ( _max_align );
27: .text : {
28: _text = .;
29: *(.text)
30: *(.text.*)
31: _etext = .;
32: }
33:
34: /*
35: * The rodata section
36: *
37: */
38:
39: . = ALIGN ( _max_align );
40: .rodata : {
41: _rodata = .;
42: *(.rodata)
43: *(.rodata.*)
44: _erodata = .;
45: }
46:
47: /*
48: * The data section
49: *
50: */
51:
52: . = ALIGN ( _max_align );
53: .data : {
54: _data = .;
55: *(.data)
56: *(.data.*)
57: KEEP(*(SORT(.tbl.*))) /* Various tables. See include/tables.h */
58: _edata = .;
59: }
60:
61: /*
62: * The bss section
63: *
64: */
65:
66: . = ALIGN ( _max_align );
67: .bss : {
68: _bss = .;
69: *(.bss)
70: *(.bss.*)
71: *(COMMON)
72: _ebss = .;
73: }
74:
75: /*
76: * Weak symbols that need zero values if not otherwise defined
77: *
78: */
79:
80: .weak 0x0 : {
81: _weak = .;
82: *(.weak)
83: *(.weak.*)
84: _eweak = .;
85: }
86: _assert = ASSERT ( ( _weak == _eweak ), ".weak is non-zero length" );
87:
88: /*
89: * Dispose of the comment and note sections to make the link map
90: * easier to read
91: *
92: */
93:
94: /DISCARD/ : {
95: *(.comment)
96: *(.comment.*)
97: *(.note)
98: *(.note.*)
99: *(.eh_frame)
100: *(.eh_frame.*)
101: *(.rel)
102: *(.rel.*)
103: *(.einfo)
104: *(.einfo.*)
105: *(.discard)
106: *(.discard.*)
107: }
108: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.