question

Chris Quenelle chris.quenelle@oracle.com
Fri Feb 25 00:15:00 GMT 2011


Hello,

When the Sun/Oracle C++ compiler was ported to Linux, we started
bundling a patched version of gnu ld to get the necessary treatment
for our exception range sections.  I don't believe anyone has tried to
offer this patch upstream, and it would really help us out if we could
use the system linker when running on Linux.  I've included the
contents of the patch at the end of this email.

--chris



% more patch-intel-Linux-2.17.90
*** binutils-2.17.90/ld/scripttempl/elf.sc      2007-08-07 
00:00:22.000000000 +0400
--- bu-patched/ld/scripttempl/elf.sc    2008-06-06 15:08:24.602615680 +0400
***************
*** 372,377 ****
--- 372,378 ----
     .eh_frame_hdr : { *(.eh_frame_hdr) }
     .eh_frame     ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
     .gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { 
*(.gcc_except_table .gcc_except_table.*) }
+   .exception_ranges ${RELOCATING-0} : ONLY_IF_RO { *(.exception_ranges 
.exception_ranges*) }

     /* Adjust the address for the data segment.  We want to adjust up to
        the same address within the page on the next page up.  */
***************
*** 382,387 ****
--- 383,389 ----
     /* Exception handling  */
     .eh_frame     ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) }
     .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { 
*(.gcc_except_table .gcc_except_table.*) }
+   .exception_ranges ${RELOCATING-0} : ONLY_IF_RW { *(.exception_ranges 
.exception_ranges*) }

     /* Thread Local Storage sections  */
     .tdata      ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* 
.gnu.linkonce.td.*}) }






More information about the Binutils mailing list