This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Sun/Oracle C++ compiler patch
- From: Chris Quenelle <chris dot quenelle at oracle dot com>
- To: binutils at sourceware dot org
- Date: Thu, 24 Feb 2011 16:17:37 -0800
- Subject: Sun/Oracle C++ compiler patch
(ignore the last copy of this email, it had a terrible subject line)
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.*}) }