Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Side by Side Diff: nacl/dyn-link/ldscripts/elf64_nacl.x

Issue 21636003: Add a PT_NOTE section to mark build_id. (Closed) Base URL: http://git.chromium.org/native_client/nacl-glibc.git@master
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | nacl/dyn-link/ldscripts/elf64_nacl.xs » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 }
OLDNEW
« no previous file with comments | « no previous file | nacl/dyn-link/ldscripts/elf64_nacl.xs » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698