diff options
Diffstat (limited to 'contrib/binutils/ld/scripttempl/pe.sc')
-rw-r--r-- | contrib/binutils/ld/scripttempl/pe.sc | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/contrib/binutils/ld/scripttempl/pe.sc b/contrib/binutils/ld/scripttempl/pe.sc index a22611c..da09eb4 100644 --- a/contrib/binutils/ld/scripttempl/pe.sc +++ b/contrib/binutils/ld/scripttempl/pe.sc @@ -25,6 +25,10 @@ if test "${RELOCATING}"; then SORT(*)(.idata$6) SORT(*)(.idata$7)' R_CRT='*(SORT(.CRT$*))' + R_TLS=' + *(.tls) + *(.tls$) + *(SORT(.tls$*))' R_RSRC='*(SORT(.rsrc$*))' else R_TEXT= @@ -60,7 +64,7 @@ SECTIONS ${RELOCATING+ *(.fini)} /* ??? Why is .gcc_exc here? */ ${RELOCATING+ *(.gcc_exc)} - ${RELOCATING+ etext = .;} + ${RELOCATING+PROVIDE (etext = .);} *(.gcc_except_table) } @@ -129,11 +133,16 @@ SECTIONS ${R_CRT} } + .tls ${RELOCATING+BLOCK(__section_alignment__)} : + { + ${R_TLS} + } + .endjunk ${RELOCATING+BLOCK(__section_alignment__)} : { /* end is deprecated, don't use it */ - ${RELOCATING+ end = .;} - ${RELOCATING+ _end = .;} + ${RELOCATING+PROVIDE (end = .);} + ${RELOCATING+PROVIDE ( _end = .);} ${RELOCATING+ __end__ = .;} } |