From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5725 invoked by alias); 30 Sep 2009 02:29:45 -0000 Received: (qmail 5661 invoked by uid 48); 30 Sep 2009 02:29:30 -0000 Date: Wed, 30 Sep 2009 02:29:00 -0000 Message-ID: <20090930022930.5660.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug bootstrap/37739] [4.4 Regression] bootstrap broken with core gcc > gcc-4.2.x In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "amodra at bigpond dot net dot au" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-09/txt/msg02700.txt.bz2 ------- Comment #33 from amodra at bigpond dot net dot au 2009-09-30 02:29 ------- To save people looking through the binutils bug report, here's the bug analysis: "You are using the old-style plt and got rather than the new secure plt (forced by old startup files even if all the other code is capable of using the new secure plt). The old-style plt is a bss section, located towards the end of the image. Calls branch into the plt, then bounce from there to their final destination. At the time code is relaxed some data sections, located between .text and .plt, have not yet been sized. In particular, .eh_frame_hdr is still zero size. When this section is properly sized, some of the branches will no longer reach. This is a horrible bug. To fix it I'll need to change quite a lot of code in the linker, for all elf targets." So to avoid the bug you'll need a new linker (binutils 2.20 has the fix) or not use old libraries and startup files lacking -msecure-plt support. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37739