PE ld -r script fixes

PR 15041
	* scripttempl/pe.sc: Don't combine sections for ld -r.
	* scripttempl/pep.sc: Likewise.
This commit is contained in:
Alan Modra
2017-02-20 13:24:28 +10:30
parent 1b076f2540
commit c48cfeddf7
3 changed files with 31 additions and 15 deletions

View File

@ -1,3 +1,9 @@
2017-02-17 Alan Modra <amodra@gmail.com>
PR 15041
* scripttempl/pe.sc: Don't combine sections for ld -r.
* scripttempl/pep.sc: Likewise.
2017-02-17 Alan Modra <amodra@gmail.com>
PR 21099

View File

@ -60,7 +60,12 @@ else
R_IDATA234=
R_IDATA5=
R_IDATA67=
R_CRT=
R_CRT_XC=
R_CRT_XI=
R_CRT_XL=
R_CRT_XP=
R_CRT_XT=
R_TLS='*(.tls)'
R_RSRC='*(.rsrc)'
fi
@ -90,8 +95,8 @@ SECTIONS
${R_TEXT}
${RELOCATING+ *(.text.*)}
${RELOCATING+ *(.gnu.linkonce.t.*)}
*(.glue_7t)
*(.glue_7)
${RELOCATING+*(.glue_7t)}
${RELOCATING+*(.glue_7)}
${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*)); LONG (0); }
${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
@ -114,7 +119,7 @@ SECTIONS
{
${RELOCATING+__data_start__ = . ;}
*(.data)
*(.data2)
${RELOCATING+*(.data2)}
${R_DATA}
KEEP(*(.jcr))
${RELOCATING+__data_end__ = . ;}
@ -125,7 +130,7 @@ SECTIONS
{
${R_RDATA}
${RELOCATING+__rt_psrelocs_start = .;}
KEEP(*(.rdata_runtime_pseudo_reloc))
${RELOCATING+KEEP(*(.rdata_runtime_pseudo_reloc))}
${RELOCATING+__rt_psrelocs_end = .;}
}
${RELOCATING+__rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start;}
@ -136,12 +141,12 @@ SECTIONS
.eh_frame ${RELOCATING+BLOCK(__section_alignment__)} :
{
KEEP(*(.eh_frame*))
KEEP(*(.eh_frame${RELOCATING+*}))
}
.pdata ${RELOCATING+BLOCK(__section_alignment__)} :
{
KEEP(*(.pdata*))
KEEP(*(.pdata${RELOCATING+*}))
}
.bss ${RELOCATING+BLOCK(__section_alignment__)} :

View File

@ -60,7 +60,12 @@ else
R_IDATA234=
R_IDATA5=
R_IDATA67=
R_CRT=
R_CRT_XC=
R_CRT_XI=
R_CRT_XL=
R_CRT_XP=
R_CRT_XT=
R_TLS='*(.tls)'
R_RSRC='*(.rsrc)'
fi
@ -90,8 +95,8 @@ SECTIONS
${R_TEXT}
${RELOCATING+ *(.text.*)}
${RELOCATING+ *(.gnu.linkonce.t.*)}
*(.glue_7t)
*(.glue_7)
${RELOCATING+*(.glue_7t)}
${RELOCATING+*(.glue_7)}
${CONSTRUCTING+. = ALIGN(8);}
${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
LONG (-1); LONG (-1);
@ -122,7 +127,7 @@ SECTIONS
{
${RELOCATING+__data_start__ = . ;}
*(.data)
*(.data2)
${RELOCATING+*(.data2)}
${R_DATA}
KEEP(*(.jcr))
${RELOCATING+__data_end__ = . ;}
@ -133,7 +138,7 @@ SECTIONS
{
${R_RDATA}
${RELOCATING+__rt_psrelocs_start = .;}
KEEP(*(.rdata_runtime_pseudo_reloc))
${RELOCATING+KEEP(*(.rdata_runtime_pseudo_reloc))}
${RELOCATING+__rt_psrelocs_end = .;}
}
${RELOCATING+__rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start;}
@ -144,17 +149,17 @@ SECTIONS
.eh_frame ${RELOCATING+BLOCK(__section_alignment__)} :
{
KEEP (*(.eh_frame*))
KEEP (*(.eh_frame${RELOCATING+*}))
}
.pdata ${RELOCATING+BLOCK(__section_alignment__)} :
{
KEEP(*(.pdata*))
KEEP(*(.pdata${RELOCATING+*}))
}
.xdata ${RELOCATING+BLOCK(__section_alignment__)} :
{
KEEP(*(.xdata*))
KEEP(*(.xdata${RELOCATING+*}))
}
.bss ${RELOCATING+BLOCK(__section_alignment__)} :