This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RS6000] Don't pass --oformat to ld


On Tue, Sep 1, 2015 at 9:35 PM, Alan Modra <amodra@gmail.com> 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.

Okay.

Thanks, David


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]