OLD | NEW |
1 /* Script for ld --shared: link shared library */ | 1 /* Script for ld --shared: link shared library */ |
2 OUTPUT_FORMAT("elf64-nacl", "elf64-nacl", | 2 OUTPUT_FORMAT("elf64-nacl", "elf64-nacl", |
3 "elf64-nacl") | 3 "elf64-nacl") |
4 OUTPUT_ARCH(i386:x86-64) | 4 OUTPUT_ARCH(i386:x86-64) |
5 ENTRY(_start) | 5 ENTRY(_start) |
6 SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); | 6 SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); |
7 PHDRS | 7 PHDRS |
8 { | 8 { |
9 seg_code PT_LOAD FLAGS(5) ; /* read + execute */ | 9 seg_code PT_LOAD FLAGS(5) ; /* read + execute */ |
10 seg_rodata PT_LOAD FLAGS(4) ; /* read */ | 10 seg_rodata PT_LOAD FLAGS(4) ; /* read */ |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 PROVIDE (_etext = .); | 47 PROVIDE (_etext = .); |
48 PROVIDE (etext = .); | 48 PROVIDE (etext = .); |
49 | 49 |
50 . = ALIGN(SEGMENT_START("text", 0) + 0x10000000, CONSTANT (MAXPAGESIZE)); | 50 . = ALIGN(SEGMENT_START("text", 0) + 0x10000000, CONSTANT (MAXPAGESIZE)); |
51 .note.gnu.build-id : | 51 .note.gnu.build-id : |
52 { | 52 { |
53 PROVIDE_HIDDEN (__note_gnu_build_id_start = .); | 53 PROVIDE_HIDDEN (__note_gnu_build_id_start = .); |
54 *(.note.gnu.build-id) | 54 *(.note.gnu.build-id) |
55 PROVIDE_HIDDEN (__note_gnu_build_id_end = .); | 55 PROVIDE_HIDDEN (__note_gnu_build_id_end = .); |
56 } :seg_rodata :seg_note | 56 } :seg_rodata :seg_note |
57 .dummy : {} : seg_rodata | 57 /* :seg_rodata is on .dummy rather than on .hash to avoid breaing the linker |
| 58 script munging that glibc's Makerules does using sed. */ |
| 59 .dummy : {} :seg_rodata |
58 .hash : { *(.hash) } | 60 .hash : { *(.hash) } |
59 .gnu.hash : { *(.gnu.hash) } | 61 .gnu.hash : { *(.gnu.hash) } |
60 .dynsym : { *(.dynsym) } | 62 .dynsym : { *(.dynsym) } |
61 .dynstr : { *(.dynstr) } | 63 .dynstr : { *(.dynstr) } |
62 .gnu.version : { *(.gnu.version) } | 64 .gnu.version : { *(.gnu.version) } |
63 .gnu.version_d : { *(.gnu.version_d) } | 65 .gnu.version_d : { *(.gnu.version_d) } |
64 .gnu.version_r : { *(.gnu.version_r) } | 66 .gnu.version_r : { *(.gnu.version_r) } |
65 .rel.init : { *(.rel.init) } | 67 .rel.init : { *(.rel.init) } |
66 .rela.init : { *(.rela.init) } | 68 .rela.init : { *(.rela.init) } |
67 .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } | 69 .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 .debug_funcnames 0 : { *(.debug_funcnames) } | 233 .debug_funcnames 0 : { *(.debug_funcnames) } |
232 .debug_typenames 0 : { *(.debug_typenames) } | 234 .debug_typenames 0 : { *(.debug_typenames) } |
233 .debug_varnames 0 : { *(.debug_varnames) } | 235 .debug_varnames 0 : { *(.debug_varnames) } |
234 /* DWARF 3 */ | 236 /* DWARF 3 */ |
235 .debug_pubtypes 0 : { *(.debug_pubtypes) } | 237 .debug_pubtypes 0 : { *(.debug_pubtypes) } |
236 .debug_ranges 0 : { *(.debug_ranges) } | 238 .debug_ranges 0 : { *(.debug_ranges) } |
237 .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } | 239 .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } |
238 /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } | 240 /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } |
239 /DISCARD/ : { *(.note.ABI-tag) } | 241 /DISCARD/ : { *(.note.ABI-tag) } |
240 } | 242 } |
OLD | NEW |