Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* Default linker script, for normal executables */ | 1 /* Default linker script, for normal executables */ |
| 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_interp PT_INTERP FLAGS(4) ; /* read */ | 9 seg_interp PT_INTERP FLAGS(4) ; /* read */ |
| 10 seg_code PT_LOAD FLAGS(5) ; /* read + execute */ | 10 seg_code PT_LOAD FLAGS(5) ; /* read + execute */ |
| 11 seg_rodata PT_LOAD FLAGS(4) ; /* read */ | 11 seg_rodata PT_LOAD FLAGS(4) ; /* read */ |
| 12 seg_rwdata PT_LOAD FLAGS(6) ; /* read + write */ | 12 seg_rwdata PT_LOAD FLAGS(6) ; /* read + write */ |
| 13 seg_bss PT_LOAD FLAGS(6) ; /* read + write */ | 13 seg_bss PT_LOAD FLAGS(6) ; /* read + write */ |
| 14 seg_dynamic PT_DYNAMIC FLAGS(6) ; | 14 seg_dynamic PT_DYNAMIC FLAGS(6) ; |
| 15 seg_stack PT_GNU_STACK FLAGS(6) ; | 15 seg_stack PT_GNU_STACK FLAGS(6) ; |
| 16 seg_tls PT_TLS FLAGS(4) ; | 16 seg_tls PT_TLS FLAGS(4) ; |
| 17 seg_build_id PT_NOTE FLAGS(4) ; | |
|
Mark Seaborn
2013/08/02 00:31:11
Make this "seg_note". It can potentially contain
| |
| 17 } | 18 } |
| 18 SECTIONS | 19 SECTIONS |
| 19 { | 20 { |
| 20 . = 0x1000000; | 21 . = 0x1000000; |
| 21 PROVIDE (__executable_start = .); | 22 PROVIDE (__executable_start = .); |
| 22 | 23 |
| 23 /* The ALIGN(32) instructions below are workarounds. | 24 /* The ALIGN(32) instructions below are workarounds. |
| 24 TODO(mseaborn): Get the object files to include the correct | 25 TODO(mseaborn): Get the object files to include the correct |
| 25 alignments and padding themselves. | 26 alignments and padding themselves. |
| 26 See http://code.google.com/p/nativeclient/issues/detail?id=499. */ | 27 See http://code.google.com/p/nativeclient/issues/detail?id=499. */ |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 45 PROVIDE (_etext = .); | 46 PROVIDE (_etext = .); |
| 46 PROVIDE (etext = .); | 47 PROVIDE (etext = .); |
| 47 | 48 |
| 48 . = 0x11000000; | 49 . = 0x11000000; |
| 49 .interp : { *(.interp) } :seg_rodata :seg_interp | 50 .interp : { *(.interp) } :seg_rodata :seg_interp |
| 50 .note.gnu.build-id : | 51 .note.gnu.build-id : |
| 51 { | 52 { |
| 52 PROVIDE_HIDDEN (__note_gnu_build_id_start = .); | 53 PROVIDE_HIDDEN (__note_gnu_build_id_start = .); |
| 53 *(.note.gnu.build-id) | 54 *(.note.gnu.build-id) |
| 54 PROVIDE_HIDDEN (__note_gnu_build_id_end = .); | 55 PROVIDE_HIDDEN (__note_gnu_build_id_end = .); |
| 55 } :seg_rodata | 56 } :seg_rodata :seg_build_id |
| 56 .hash : { *(.hash) } | 57 .hash : { *(.hash) } :seg_rodata |
| 57 .gnu.hash : { *(.gnu.hash) } | 58 .gnu.hash : { *(.gnu.hash) } |
| 58 .dynsym : { *(.dynsym) } | 59 .dynsym : { *(.dynsym) } |
| 59 .dynstr : { *(.dynstr) } | 60 .dynstr : { *(.dynstr) } |
| 60 .gnu.version : { *(.gnu.version) } | 61 .gnu.version : { *(.gnu.version) } |
| 61 .gnu.version_d : { *(.gnu.version_d) } | 62 .gnu.version_d : { *(.gnu.version_d) } |
| 62 .gnu.version_r : { *(.gnu.version_r) } | 63 .gnu.version_r : { *(.gnu.version_r) } |
| 63 .rel.init : { *(.rel.init) } | 64 .rel.init : { *(.rel.init) } |
| 64 .rela.init : { *(.rela.init) } | 65 .rela.init : { *(.rela.init) } |
| 65 .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } | 66 .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } |
| 66 .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } | 67 .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 236 .debug_typenames 0 : { *(.debug_typenames) } | 237 .debug_typenames 0 : { *(.debug_typenames) } |
| 237 .debug_varnames 0 : { *(.debug_varnames) } | 238 .debug_varnames 0 : { *(.debug_varnames) } |
| 238 /* DWARF 3 */ | 239 /* DWARF 3 */ |
| 239 .debug_pubtypes 0 : { *(.debug_pubtypes) } | 240 .debug_pubtypes 0 : { *(.debug_pubtypes) } |
| 240 .debug_ranges 0 : { *(.debug_ranges) } | 241 .debug_ranges 0 : { *(.debug_ranges) } |
| 241 .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } | 242 .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } |
| 242 /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } | 243 /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } |
| 243 /DISCARD/ : { *(.note.ABI-tag) } | 244 /DISCARD/ : { *(.note.ABI-tag) } |
| 244 /DISCARD/ : { *(.interp) } | 245 /DISCARD/ : { *(.interp) } |
| 245 } | 246 } |
| OLD | NEW |