ia64/xen-unstable

view tools/ioemu/x86_32.ld @ 6946:e703abaf6e3d

Add behaviour to the remove methods to remove the transaction's path itself. This allows us to write Remove(path) to remove the specified path rather than having to slice the path ourselves.
author emellor@ewan
date Sun Sep 18 14:42:13 2005 +0100 (2005-09-18)
parents 580d5a4fff25
children
line source
1 /* ld script to make i386 Linux kernel
2 * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>;
3 */
4 OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
5 OUTPUT_ARCH(i386)
6 SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/alpha-unknown-linux-gnu/lib);
7 ENTRY(_start)
8 SECTIONS
9 {
10 /* Read-only sections, merged into text segment: */
11 . = 0x60000000 + SIZEOF_HEADERS;
12 .interp : { *(.interp) }
13 .hash : { *(.hash) }
14 .dynsym : { *(.dynsym) }
15 .dynstr : { *(.dynstr) }
16 .gnu.version : { *(.gnu.version) }
17 .gnu.version_d : { *(.gnu.version_d) }
18 .gnu.version_r : { *(.gnu.version_r) }
19 .rel.text :
20 { *(.rel.text) *(.rel.gnu.linkonce.t*) }
21 .rela.text :
22 { *(.rela.text) *(.rela.gnu.linkonce.t*) }
23 .rel.data :
24 { *(.rel.data) *(.rel.gnu.linkonce.d*) }
25 .rela.data :
26 { *(.rela.data) *(.rela.gnu.linkonce.d*) }
27 .rel.rodata :
28 { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }
29 .rela.rodata :
30 { *(.rela.rodata) *(.rela.gnu.linkonce.r*) }
31 .rel.got : { *(.rel.got) }
32 .rela.got : { *(.rela.got) }
33 .rel.ctors : { *(.rel.ctors) }
34 .rela.ctors : { *(.rela.ctors) }
35 .rel.dtors : { *(.rel.dtors) }
36 .rela.dtors : { *(.rela.dtors) }
37 .rel.init : { *(.rel.init) }
38 .rela.init : { *(.rela.init) }
39 .rel.fini : { *(.rel.fini) }
40 .rela.fini : { *(.rela.fini) }
41 .rel.bss : { *(.rel.bss) }
42 .rela.bss : { *(.rela.bss) }
43 .rel.plt : { *(.rel.plt) }
44 .rela.plt : { *(.rela.plt) }
45 .init : { *(.init) } =0x47ff041f
46 .text :
47 {
48 *(.text)
49 /* .gnu.warning sections are handled specially by elf32.em. */
50 *(.gnu.warning)
51 *(.gnu.linkonce.t*)
52 } =0x47ff041f
53 _etext = .;
54 PROVIDE (etext = .);
55 .fini : { *(.fini) } =0x47ff041f
56 . = ALIGN(32 / 8);
57 PROVIDE (__preinit_array_start = .);
58 .preinit_array : { *(.preinit_array) }
59 PROVIDE (__preinit_array_end = .);
60 PROVIDE (__init_array_start = .);
61 .init_array : { *(.init_array) }
62 PROVIDE (__init_array_end = .);
63 PROVIDE (__fini_array_start = .);
64 .fini_array : { *(.fini_array) }
65 PROVIDE (__fini_array_end = .);
66 .rodata : { *(.rodata) *(.gnu.linkonce.r*) }
67 .rodata1 : { *(.rodata1) }
68 .reginfo : { *(.reginfo) }
69 /* Adjust the address for the data segment. We want to adjust up to
70 the same address within the page on the next page up. */
71 . = ALIGN(0x100000) + (. & (0x100000 - 1));
72 .data :
73 {
74 *(.data)
75 *(.gnu.linkonce.d*)
76 CONSTRUCTORS
77 }
78 .data1 : { *(.data1) }
79 .ctors :
80 {
81 *(.ctors)
82 }
83 .dtors :
84 {
85 *(.dtors)
86 }
87 .plt : { *(.plt) }
88 .got : { *(.got.plt) *(.got) }
89 .dynamic : { *(.dynamic) }
90 /* We want the small data sections together, so single-instruction offsets
91 can access them all, and initialized data all before uninitialized, so
92 we can shorten the on-disk segment size. */
93 .sdata : { *(.sdata) }
94 _edata = .;
95 PROVIDE (edata = .);
96 __bss_start = .;
97 .sbss : { *(.sbss) *(.scommon) }
98 .bss :
99 {
100 *(.dynbss)
101 *(.bss)
102 *(COMMON)
103 }
104 _end = . ;
105 PROVIDE (end = .);
106 /* Stabs debugging sections. */
107 .stab 0 : { *(.stab) }
108 .stabstr 0 : { *(.stabstr) }
109 .stab.excl 0 : { *(.stab.excl) }
110 .stab.exclstr 0 : { *(.stab.exclstr) }
111 .stab.index 0 : { *(.stab.index) }
112 .stab.indexstr 0 : { *(.stab.indexstr) }
113 .comment 0 : { *(.comment) }
114 /* DWARF debug sections.
115 Symbols in the DWARF debugging sections are relative to the beginning
116 of the section so we begin them at 0. */
117 /* DWARF 1 */
118 .debug 0 : { *(.debug) }
119 .line 0 : { *(.line) }
120 /* GNU DWARF 1 extensions */
121 .debug_srcinfo 0 : { *(.debug_srcinfo) }
122 .debug_sfnames 0 : { *(.debug_sfnames) }
123 /* DWARF 1.1 and DWARF 2 */
124 .debug_aranges 0 : { *(.debug_aranges) }
125 .debug_pubnames 0 : { *(.debug_pubnames) }
126 /* DWARF 2 */
127 .debug_info 0 : { *(.debug_info) }
128 .debug_abbrev 0 : { *(.debug_abbrev) }
129 .debug_line 0 : { *(.debug_line) }
130 .debug_frame 0 : { *(.debug_frame) }
131 .debug_str 0 : { *(.debug_str) }
132 .debug_loc 0 : { *(.debug_loc) }
133 .debug_macinfo 0 : { *(.debug_macinfo) }
134 /* SGI/MIPS DWARF 2 extensions */
135 .debug_weaknames 0 : { *(.debug_weaknames) }
136 .debug_funcnames 0 : { *(.debug_funcnames) }
137 .debug_typenames 0 : { *(.debug_typenames) }
138 .debug_varnames 0 : { *(.debug_varnames) }
139 /* These must appear regardless of . */
140 }