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

Side by Side Diff: binutils-2.20/ld/scripttempl/naclelf.sc

Issue 8243015: Fix linker script alignment of TLS sections (Closed)
Patch Set: Created 9 years, 2 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 | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # 1 #
2 # Unusual variables checked by this code: 2 # Unusual variables checked by this code:
3 # NOP - four byte opcode for no-op (defaults to 0) 3 # NOP - four byte opcode for no-op (defaults to 0)
4 # NO_SMALL_DATA - no .sbss/.sbss2/.sdata/.sdata2 sections if not 4 # NO_SMALL_DATA - no .sbss/.sbss2/.sdata/.sdata2 sections if not
5 # empty. 5 # empty.
6 # SMALL_DATA_CTOR - .ctors contains small data. 6 # SMALL_DATA_CTOR - .ctors contains small data.
7 # SMALL_DATA_DTOR - .dtors contains small data. 7 # SMALL_DATA_DTOR - .dtors contains small data.
8 # DATA_ADDR - if end-of-text-plus-one-page isn't right for data start 8 # DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
9 # INITIAL_READONLY_SECTIONS - at start of text segment 9 # INITIAL_READONLY_SECTIONS - at start of text segment
10 # OTHER_READONLY_SECTIONS - other than .text .init .rodata ... 10 # OTHER_READONLY_SECTIONS - other than .text .init .rodata ...
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 ${CREATE_PIE+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}} 451 ${CREATE_PIE+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
452 452
453 /* Exception handling */ 453 /* Exception handling */
454 .eh_frame ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) } 454 .eh_frame ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) }
455 .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { *(.gcc_except_table .gcc_exce pt_table.*) } 455 .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { *(.gcc_except_table .gcc_exce pt_table.*) }
456 456
457 /* Thread Local Storage sections */ 457 /* Thread Local Storage sections */
458 /* The total size of the TLS template area must be a multiple of 0x20, 458 /* The total size of the TLS template area must be a multiple of 0x20,
459 * but it's size calculation is hardcoded in bfd_elf_final_link function 459 * but it's size calculation is hardcoded in bfd_elf_final_link function
460 * so the only thing we can do is align segments here properly */ 460 * so the only thing we can do is align segments here properly */
461 .tdata» : ${RELOCATING+ALIGN(0x20)} { 461 .tdata» ${RELOCATING+ALIGN(0x20)}${RELOCATING-0} : ALIGN(0x10) {
krasin 2011/10/12 19:56:07 The line itself looks fine (modulo my linker scrip
462 ${RELOCATING+PROVIDE (__tls_template_start = .);} 462 ${RELOCATING+PROVIDE (__tls_template_start = .);}
463 *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) 463 *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*})
464 ${RELOCATING+. = ALIGN(0x20);} 464 ${RELOCATING+. = ALIGN(0x20);}
465 ${RELOCATING+PROVIDE (__tls_template_tdata_end = .);} 465 ${RELOCATING+PROVIDE (__tls_template_tdata_end = .);}
466 } 466 }
467 .tbss»» : ${RELOCATING+ALIGN(0x20)} { 467 .tbss»» ${RELOCATING+ALIGN(0x20)}${RELOCATING-0} : ALIGN(0x10) {
krasin 2011/10/12 19:56:07 I'm not sure, if this line is required. bss is put
468 *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} 468 *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)}
469 ${RELOCATING+. = ALIGN(0x20);} 469 ${RELOCATING+. = ALIGN(0x20);}
470 } 470 }
471 /* . does not advance for tbss because it is not loaded. */ 471 /* . does not advance for tbss because it is not loaded. */
472 ${RELOCATING+PROVIDE (__tls_template_end = . + SIZEOF(.tbss));} 472 ${RELOCATING+PROVIDE (__tls_template_end = . + SIZEOF(.tbss));}
473 .preinit_array ${RELOCATING-0} : 473 .preinit_array ${RELOCATING-0} :
474 { 474 {
475 ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_ar ray_start = .);}} 475 ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_ar ray_start = .);}}
476 KEEP (*(.preinit_array)) 476 KEEP (*(.preinit_array))
477 ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_ar ray_end = .);}} 477 ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_ar ray_end = .);}}
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 ${TINY_DATA_SECTION} 613 ${TINY_DATA_SECTION}
614 ${TINY_BSS_SECTION} 614 ${TINY_BSS_SECTION}
615 615
616 ${STACK_ADDR+${STACK}} 616 ${STACK_ADDR+${STACK}}
617 ${ATTRS_SECTIONS} 617 ${ATTRS_SECTIONS}
618 ${OTHER_SECTIONS} 618 ${OTHER_SECTIONS}
619 ${RELOCATING+${OTHER_SYMBOLS}} 619 ${RELOCATING+${OTHER_SYMBOLS}}
620 ${RELOCATING+${DISCARDED}} 620 ${RELOCATING+${DISCARDED}}
621 } 621 }
622 EOF 622 EOF
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698