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

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

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: fix trybots 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
OLDNEW
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 */
11 seg_rwdata PT_LOAD FLAGS(6) ; /* read + write */ 11 seg_rwdata PT_LOAD FLAGS(6) ; /* read + write */
12 seg_bss PT_LOAD FLAGS(6) ; /* read + write */ 12 seg_bss PT_LOAD FLAGS(6) ; /* read + write */
13 seg_dynamic PT_DYNAMIC FLAGS(6) ; 13 seg_dynamic PT_DYNAMIC FLAGS(6) ;
14 seg_stack PT_GNU_STACK FLAGS(6) ; 14 seg_stack PT_GNU_STACK FLAGS(6) ;
15 seg_tls PT_TLS FLAGS(4) ; 15 seg_tls PT_TLS FLAGS(4) ;
16 seg_note PT_NOTE FLAGS(4) ;
16 } 17 }
17 SECTIONS 18 SECTIONS
18 { 19 {
19 . = SEGMENT_START("text", 0); 20 . = SEGMENT_START("text", 0);
20 _begin = .; 21 _begin = .;
21 22
22 /* The ALIGN(32) instructions below are workarounds. 23 /* The ALIGN(32) instructions below are workarounds.
23 TODO(mseaborn): Get the object files to include the correct 24 TODO(mseaborn): Get the object files to include the correct
24 alignments and padding themselves. 25 alignments and padding themselves.
25 See http://code.google.com/p/nativeclient/issues/detail?id=499. */ 26 See http://code.google.com/p/nativeclient/issues/detail?id=499. */
(...skipping 19 matching lines...) Expand all
45 PROVIDE (__etext = .); 46 PROVIDE (__etext = .);
46 PROVIDE (_etext = .); 47 PROVIDE (_etext = .);
47 PROVIDE (etext = .); 48 PROVIDE (etext = .);
48 49
49 . = ALIGN(SEGMENT_START("text", 0) + 0x10000000, CONSTANT (MAXPAGESIZE)); 50 . = ALIGN(SEGMENT_START("text", 0) + 0x10000000, CONSTANT (MAXPAGESIZE));
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_note
57 .dummy : {} : seg_rodata
56 .hash : { *(.hash) } 58 .hash : { *(.hash) }
57 .gnu.hash : { *(.gnu.hash) } 59 .gnu.hash : { *(.gnu.hash) }
58 .dynsym : { *(.dynsym) } 60 .dynsym : { *(.dynsym) }
59 .dynstr : { *(.dynstr) } 61 .dynstr : { *(.dynstr) }
60 .gnu.version : { *(.gnu.version) } 62 .gnu.version : { *(.gnu.version) }
61 .gnu.version_d : { *(.gnu.version_d) } 63 .gnu.version_d : { *(.gnu.version_d) }
62 .gnu.version_r : { *(.gnu.version_r) } 64 .gnu.version_r : { *(.gnu.version_r) }
63 .rel.init : { *(.rel.init) } 65 .rel.init : { *(.rel.init) }
64 .rela.init : { *(.rela.init) } 66 .rela.init : { *(.rela.init) }
65 .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } 67 .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) }
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 .debug_funcnames 0 : { *(.debug_funcnames) } 231 .debug_funcnames 0 : { *(.debug_funcnames) }
230 .debug_typenames 0 : { *(.debug_typenames) } 232 .debug_typenames 0 : { *(.debug_typenames) }
231 .debug_varnames 0 : { *(.debug_varnames) } 233 .debug_varnames 0 : { *(.debug_varnames) }
232 /* DWARF 3 */ 234 /* DWARF 3 */
233 .debug_pubtypes 0 : { *(.debug_pubtypes) } 235 .debug_pubtypes 0 : { *(.debug_pubtypes) }
234 .debug_ranges 0 : { *(.debug_ranges) } 236 .debug_ranges 0 : { *(.debug_ranges) }
235 .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } 237 .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
236 /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } 238 /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) }
237 /DISCARD/ : { *(.note.ABI-tag) } 239 /DISCARD/ : { *(.note.ABI-tag) }
238 } 240 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698