From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 115887 invoked by alias); 24 Sep 2015 04:24:34 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 115859 invoked by uid 89); 24 Sep 2015 04:24:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.0 required=5.0 tests=BAYES_40,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_PASS autolearn=no version=3.3.2 X-HELO: ozlabs.org Received: from ozlabs.org (HELO ozlabs.org) (103.22.144.67) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 24 Sep 2015 04:24:30 +0000 Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPSA id A98E0140271; Thu, 24 Sep 2015 14:24:25 +1000 (AEST) Message-ID: <1443068665.22866.3.camel@ellerman.id.au> Subject: Re: [RS6000] Don't pass --oformat to ld From: Michael Ellerman To: Alan Modra Cc: gcc-patches@gcc.gnu.org, David Edelsohn , Michael Meissner Date: Thu, 24 Sep 2015 06:24:00 -0000 In-Reply-To: <20150902013502.GT24814@bubble.grove.modra.org> References: <20150902013502.GT24814@bubble.grove.modra.org> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-SW-Source: 2015-09/txt/msg01812.txt.bz2 On Wed, 2015-09-02 at 11:05 +0930, Alan Modra wrote: > bugzilla.redhat.com/show_bug_cgi?id=1255946 shows that gcc built with > both powerpc64-linux and powerpc64le-linux support passes wrong linker > options when trying to link in the non-default endian. A --oformat > option coming from LINK_TARGET_SPEC is only correct for 32-bit. > > It turns out that GNU ld -m options select a particular ld emulation > (e*.c file in ld build dir) which provides compiled-in scripts or > selects a script from ldscripts/. Each of these has an OUTPUT_FORMAT > statement, which does the same thing as --oformat. --oformat is > therefore redundant when using GNU ld built this century, except > possibly when a user overrides the default ld script with -Wl,-T and > their script neglects OUTPUT_FORMAT, and it isn't the default output. > I don't think it's worth fixing this possible use case. > > Bootstrap and testing in progress. OK for mainline assuming all is > OK? > > * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define. > * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise. > (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target. Hi Alan, If you could please backport this to the gcc-5-branch, that would helpful for us (kernel folks). That way we can use the same toolchain for building big or little endian kernels. cheers