| OLD | NEW |
| 1 /* Linker script for glibc static linking. | 1 /* Linker script for glibc static linking. |
| 2 Usage: path_to_sdk/bin/nacl-gcc [usual options] -static | 2 Usage: path_to_sdk/bin/nacl-gcc [usual options] -static |
| 3 -T path-to-toolchain/x86_64-nacl/lib/ldscripts/elf_nacl.x.static | 3 -T path-to-toolchain/x86_64-nacl/lib/ldscripts/elf_nacl.x.static |
| 4 | 4 |
| 5 TODO(mseaborn): Make this work with "-static" on its own. | 5 TODO(mseaborn): Make this work with "-static" on its own. |
| 6 See http://code.google.com/p/nativeclient/issues/detail?id=1198 | 6 See http://code.google.com/p/nativeclient/issues/detail?id=1198 |
| 7 */ | 7 */ |
| 8 OUTPUT_FORMAT("elf32-nacl", "elf32-nacl", | 8 OUTPUT_FORMAT("elf32-nacl", "elf32-nacl", |
| 9 "elf32-nacl") | 9 "elf32-nacl") |
| 10 OUTPUT_ARCH(i386) | 10 OUTPUT_ARCH(i386) |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 PROVIDE (etext = .); | 46 PROVIDE (etext = .); |
| 47 | 47 |
| 48 . = DEFINED(__nacl_rodata_start) ? __nacl_rodata_start : .; | 48 . = DEFINED(__nacl_rodata_start) ? __nacl_rodata_start : .; |
| 49 . = ALIGN(CONSTANT (MAXPAGESIZE)); /* nacl wants page alignment */ | 49 . = ALIGN(CONSTANT (MAXPAGESIZE)); /* nacl wants page alignment */ |
| 50 .note.gnu.build-id : | 50 .note.gnu.build-id : |
| 51 { | 51 { |
| 52 PROVIDE_HIDDEN (__note_gnu_build_id_start = .); | 52 PROVIDE_HIDDEN (__note_gnu_build_id_start = .); |
| 53 *(.note.gnu.build-id) | 53 *(.note.gnu.build-id) |
| 54 PROVIDE_HIDDEN (__note_gnu_build_id_end = .); | 54 PROVIDE_HIDDEN (__note_gnu_build_id_end = .); |
| 55 } :seg_rodata :seg_note | 55 } :seg_rodata :seg_note |
| 56 .dummy : {} :seg_rodata | 56 /* :seg_rodata is on .dummy rather than on .hash to avoid breaing the linker |
| 57 script munging that glibc's Makerules does using sed. */ |
| 58 .dummy : {} :seg_rodata |
| 57 .hash : { *(.hash) } | 59 .hash : { *(.hash) } |
| 58 .gnu.hash : { *(.gnu.hash) } | 60 .gnu.hash : { *(.gnu.hash) } |
| 59 .dynsym : { *(.dynsym) } | 61 .dynsym : { *(.dynsym) } |
| 60 .dynstr : { *(.dynstr) } | 62 .dynstr : { *(.dynstr) } |
| 61 .gnu.version : { *(.gnu.version) } | 63 .gnu.version : { *(.gnu.version) } |
| 62 .gnu.version_d : { *(.gnu.version_d) } | 64 .gnu.version_d : { *(.gnu.version_d) } |
| 63 .gnu.version_r : { *(.gnu.version_r) } | 65 .gnu.version_r : { *(.gnu.version_r) } |
| 64 .rel.init : { *(.rel.init) } | 66 .rel.init : { *(.rel.init) } |
| 65 .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } | 67 .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } |
| 66 .rel.fini : { *(.rel.fini) } | 68 .rel.fini : { *(.rel.fini) } |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 .debug_funcnames 0 : { *(.debug_funcnames) } | 208 .debug_funcnames 0 : { *(.debug_funcnames) } |
| 207 .debug_typenames 0 : { *(.debug_typenames) } | 209 .debug_typenames 0 : { *(.debug_typenames) } |
| 208 .debug_varnames 0 : { *(.debug_varnames) } | 210 .debug_varnames 0 : { *(.debug_varnames) } |
| 209 /* DWARF 3 */ | 211 /* DWARF 3 */ |
| 210 .debug_pubtypes 0 : { *(.debug_pubtypes) } | 212 .debug_pubtypes 0 : { *(.debug_pubtypes) } |
| 211 .debug_ranges 0 : { *(.debug_ranges) } | 213 .debug_ranges 0 : { *(.debug_ranges) } |
| 212 .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } | 214 .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } |
| 213 /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } | 215 /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } |
| 214 /DISCARD/ : { *(.note.ABI-tag) } | 216 /DISCARD/ : { *(.note.ABI-tag) } |
| 215 } | 217 } |
| OLD | NEW |