summaryrefslogtreecommitdiff
path: root/ld/scripttempl/pe.sc
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2010-09-22 08:03:41 +0000
committerKai Tietz <kai.tietz@onevision.com>2010-09-22 08:03:41 +0000
commit14c2940a1e11cfd826fb667a74825bc6b62dce59 (patch)
treeacd4d9e23b7db3c6fef86ee21d3bdd2e1207f388 /ld/scripttempl/pe.sc
parent9ecad43e5fb54e818025d569f7cc0ad0d336223d (diff)
downloadbinutils-redhat-14c2940a1e11cfd826fb667a74825bc6b62dce59.tar.gz
2010-09-22 Kai Tietz <kai.tietz@onevision.com>
* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Add idata to orphan set. * emultempl/pep.em: Likewise. * scripttempl/armcoff.sc: Separate idata and add __IAT_start__ and __IAT_end__ labels. * scripttempl/pe.sc: Likewise. * scripttempl/pep.sc: Likewise.
Diffstat (limited to 'ld/scripttempl/pe.sc')
-rw-r--r--ld/scripttempl/pe.sc17
1 files changed, 12 insertions, 5 deletions
diff --git a/ld/scripttempl/pe.sc b/ld/scripttempl/pe.sc
index f3cbe2565e..e178fce0d3 100644
--- a/ld/scripttempl/pe.sc
+++ b/ld/scripttempl/pe.sc
@@ -23,13 +23,14 @@ if test "${RELOCATING}"; then
R_RDATA='*(.rdata)
*(SORT(.rdata$*))'
fi
- R_IDATA='
+ R_IDATA234='
SORT(*)(.idata$2)
SORT(*)(.idata$3)
/* These zeroes mark the end of the import list. */
LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
- SORT(*)(.idata$4)
- SORT(*)(.idata$5)
+ SORT(*)(.idata$4)'
+ R_IDATA5='SORT(*)(.idata$5)'
+ R_IDATA67='
SORT(*)(.idata$6)
SORT(*)(.idata$7)'
R_CRT_XC='*(SORT(.CRT$XC*)) /* C initialization */'
@@ -46,7 +47,9 @@ else
R_TEXT=
R_DATA=
R_RDATA='*(.rdata)'
- R_IDATA=
+ R_IDATA234=
+ R_IDATA5=
+ R_IDATA67=
R_CRT=
R_RSRC=
fi
@@ -147,7 +150,11 @@ SECTIONS
{
/* This cannot currently be handled with grouped sections.
See pe.em:sort_sections. */
- ${R_IDATA}
+ ${R_IDATA234}
+ ${RELOCATING+__IAT_start__ = .;}
+ ${R_IDATA5}
+ ${RELOCATING+__IAT_end__ = .;}
+ ${R_IDATA67}
}
.CRT ${RELOCATING+BLOCK(__section_alignment__)} :
{