This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: fix pecoff partial links
- From: Nathan Sidwell <nathan at codesourcery dot com>
- To: Kai Tietz <Kai dot Tietz at onevision dot com>
- Cc: binutils <binutils at sources dot redhat dot com>, Alan Modra <amodra at bigpond dot net dot au>
- Date: Thu, 12 Jul 2007 13:58:14 +0100
- Subject: Re: fix pecoff partial links
- References: <OF2DBE5194.184BA4F2-ONC1257316.00441844-C1257316.004439C8@onevision.de>
Kai Tietz wrote:
This patch fixes a problem with partial links on pe-coff. We shouldn't
be
merging .gcc_except_table and .eh_frame so early.
tested in i686-mingw32, ok?
Could you do the same thing for pep-coff too ?
done.
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery
nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk
Index: ChangeLog
===================================================================
RCS file: /cvs/src/src/ld/ChangeLog,v
retrieving revision 1.1732
diff -c -3 -p -r1.1732 ChangeLog
*** ChangeLog 12 Jul 2007 01:40:25 -0000 1.1732
--- ChangeLog 12 Jul 2007 12:56:19 -0000
***************
*** 1,3 ****
--- 1,9 ----
+ 2007-07-12 Nathan Sidwell <nathan@codesourcery.com>
+
+ * scripttempl/pe.sc: Don't include .gcc_except_table and
+ .eh_frame on partial links.
+ * scripttempl/pep.sc: Likewise.
+
2007-07-12 Alan Modra <amodra@bigpond.net.au>
PR 4782
Index: scripttempl/pe.sc
===================================================================
RCS file: /cvs/src/src/ld/scripttempl/pe.sc,v
retrieving revision 1.15
diff -c -3 -p -r1.15 pe.sc
*** scripttempl/pe.sc 5 Oct 2005 08:07:51 -0000 1.15
--- scripttempl/pe.sc 12 Jul 2007 12:56:19 -0000
*************** SECTIONS
*** 71,77 ****
/* ??? Why is .gcc_exc here? */
${RELOCATING+ *(.gcc_exc)}
${RELOCATING+PROVIDE (etext = .);}
! *(.gcc_except_table)
}
/* The Cygwin32 library uses a section to avoid copying certain data
--- 71,77 ----
/* ??? Why is .gcc_exc here? */
${RELOCATING+ *(.gcc_exc)}
${RELOCATING+PROVIDE (etext = .);}
! ${RELOCATING+ *(.gcc_except_table)}
}
/* The Cygwin32 library uses a section to avoid copying certain data
*************** SECTIONS
*** 95,101 ****
{
*(.rdata)
${R_RDATA}
! *(.eh_frame)
${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST__ = .;}
${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST__ = .;}
*(.rdata_runtime_pseudo_reloc)
--- 95,101 ----
{
*(.rdata)
${R_RDATA}
! ${RELOCATING+ *(.eh_frame)}
${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST__ = .;}
${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST__ = .;}
*(.rdata_runtime_pseudo_reloc)
Index: scripttempl/pep.sc
===================================================================
RCS file: /cvs/src/src/ld/scripttempl/pep.sc,v
retrieving revision 1.1
diff -c -3 -p -r1.1 pep.sc
*** scripttempl/pep.sc 20 Sep 2006 11:35:09 -0000 1.1
--- scripttempl/pep.sc 12 Jul 2007 12:56:19 -0000
*************** SECTIONS
*** 71,77 ****
/* ??? Why is .gcc_exc here? */
${RELOCATING+ *(.gcc_exc)}
${RELOCATING+PROVIDE (etext = .);}
! *(.gcc_except_table)
}
/* The Cygwin32 library uses a section to avoid copying certain data
--- 71,77 ----
/* ??? Why is .gcc_exc here? */
${RELOCATING+ *(.gcc_exc)}
${RELOCATING+PROVIDE (etext = .);}
! ${RELOCATING+ *(.gcc_except_table)}
}
/* The Cygwin32 library uses a section to avoid copying certain data
*************** SECTIONS
*** 95,101 ****
{
*(.rdata)
${R_RDATA}
! *(.eh_frame)
${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST__ = .;}
${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST__ = .;}
*(.rdata_runtime_pseudo_reloc)
--- 95,101 ----
{
*(.rdata)
${R_RDATA}
! ${RELOCATING+ *(.eh_frame)}
${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST__ = .;}
${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST__ = .;}
*(.rdata_runtime_pseudo_reloc)