blob: 10055338d0f65fff237070eca3559f7abf886232 (
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
PHDRS
{
plugin PT_LOAD ;
shorts PT_LOAD ;
}
SECTIONS {
/* originally was 0x00100000 but might be 0 */
.text 0: {
_ftext = . ;
*(.text)
*(.text.*)
*(.gnu.linkonce.t*)
KEEP(*(.init))
KEEP(*(.fini))
QUAD(0)
}
PROVIDE(_etext = .);
PROVIDE(etext = .);
/* interp may or may not be needed here */
.interp : { *(.interp) } : plugin
.reginfo : { *(.reginfo) } : plugin
/* Global/static constructors and deconstructors. */
.ctors ALIGN(16): {
___plugin_ctors = .;
KEEP(*(SORT(.ctors.*)))
KEEP(*(.ctors))
___plugin_ctors_end = .;
}
.dtors ALIGN(16): {
___plugin_dtors = .;
KEEP(*(SORT(.dtors.*)))
KEEP(*(.dtors))
___plugin_dtors_end = .;
}
/* Static data. */
.rodata ALIGN(128): {
*(.rodata)
*(.rodata.*)
*(.gnu.linkonce.r*)
}
.data ALIGN(128): {
_fdata = . ;
*(.data)
*(.data.*)
*(.gnu.linkonce.d*)
SORT(CONSTRUCTORS)
}
.rdata ALIGN(128): { *(.rdata) }
.gcc_except_table ALIGN(128): { *(.gcc_except_table) }
/* _gp = ALIGN(128) + 0x7ff0; */
. = __plugin_hole_start;
/* the .got line wasn't originally there */
.got : { *(.got.plt) *(.got) } : shorts
.lit4 ALIGN(128): { *(.lit4) }
.lit8 ALIGN(128): { *(.lit8) }
.sdata ALIGN(128): {
*(.sdata)
*(.sdata.*)
*(.gnu.linkonce.s*)
}
_edata = .;
PROVIDE(edata = .);
/* Uninitialized data. */
.sbss ALIGN(128) : {
_fbss = . ;
*(.sbss)
*(.sbss.*)
*(.gnu.linkonce.sb*)
*(.scommon)
}
.bss ALIGN(128) : {
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b*)
*(COMMON)
}
_end_bss = .;
_end = . ;
PROVIDE(end = .);
/* Symbols needed by crt0.s. */
PROVIDE(_heap_size = -1);
PROVIDE(_stack = -1);
PROVIDE(_stack_size = 128 * 1024);
}
|