bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/22791] PLT32 should be used for 32-bit PC-relative branches


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gas/22791] PLT32 should be used for 32-bit PC-relative branches
Date: Wed, 10 Apr 2019 07:51:32 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=22791

--- Comment #23 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Rainer Orth <address@hidden>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a5def729be2596496aec225e843903b25c672e01

commit a5def729be2596496aec225e843903b25c672e01
Author: Rainer Orth <address@hidden>
Date:   Wed Apr 10 09:48:43 2019 +0200

    Disable R_X86_64_PLT32 generation as branch marker on Solaris/x86

    The fix H.J. implemented for PR gas/22791 in the thread starting at

        [PATCH] x86-64: Treat PC32 relocation with branch as PLT32
        https://sourceware.org/ml/binutils/2018-02/msg00065.html

    is causing problems on Solaris/x86.  The native linker is strongly
    preferred there, and there's no intention of implementing the linker
    optimization he plans there.  Besides, the kernel runtime linker,
    otherwise has no need to deal with that reloc at all, and instead of
    adding (possibly even more) workarounds with no benefit, it seems
    appropriate to disable the R_X86_64_PLT32 generation as branch marker on
    Solaris/x86 in the first place.

    The patch itself is trivial, the only complication is adapting the
    testsuite.  Since I've found no way to have conditional sections in the
    .d files, I've instead used the solution already found elsewhere of
    having separate .d files for the affected tests in an i386/solaris
    subdirectory and skipping the original ones.

    Tested on amd64-pc-solaris2.11 and x86_64-pc-linux-gnu without
    regressions.

        * config/tc-i386.c (need_plt32_p) [TE_SOLARIS]: Return FALSE.
        * testsuite/gas/i386/solaris/solaris.exp: New driver.
        * testsuite/gas/i386/solaris/reloc64.d,
        testsuite/gas/i386/solaris/x86-64-jump.d,
        testsuite/gas/i386/solaris/x86-64-mpx-branch-1.d,
        testsuite/gas/i386/solaris/x86-64-mpx-branch-2.d,
        testsuite/gas/i386/solaris/x86-64-nop-3.d,
        testsuite/gas/i386/solaris/x86-64-nop-4.d,
        testsuite/gas/i386/solaris/x86-64-nop-5.d,
        testsuite/gas/i386/solaris/x86-64-relax-2.d,
        testsuite/gas/i386/solaris/x86-64-relax-3.d: New tests.
        * testsuite/gas/i386/reloc64.d,
        testsuite/gas/i386/x86-64-jump.d,
        testsuite/gas/i386/x86-64-mpx-branch-1.d,
        testsuite/gas/i386/x86-64-mpx-branch-2.d,
        testsuite/gas/i386/x86-64-nop-3.d,
        testsuite/gas/i386/x86-64-nop-4.d,
        testsuite/gas/i386/x86-64-nop-5.d,
        testsuite/gas/i386/x86-64-relax-2.d,
        testsuite/gas/i386/x86-64-relax-3.d: Skip on *-*-solaris*.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]