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

--- Comment #1 from Sourceware Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <h...@sourceware.org>:

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

commit 1b714c14e40f37ea8ea02a4998c4d95f25aff7f3
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Sun Sep 22 17:06:45 2024 +0800

    x86: Turn PLT32 to PC32 only for PC-relative relocations

    commit 292676c15a615b5a95bede9ee91004d3f7ee7dfd
    Author: H.J. Lu <hjl.to...@gmail.com>
    Date:   Thu Feb 13 13:44:17 2020 -0800

        x86: Resolve PLT32 reloc aganst local symbol to section

    resolved PLT32 relocation against local symbol to section and

    commit 2585b7a5ce5830e60a089aa2316a329558902f0c
    Author: H.J. Lu <hjl.to...@gmail.com>
    Date:   Sun Jul 19 06:51:19 2020 -0700

        x86: Change PLT32 reloc against section to PC32

    turned PLT32 relocation against section into PC32 relocation.  But these
    transformations are valid only for PC-relative relocations.  Add fx_pcrel
    check for PC-relative relocations when performing these transformations
    to keep PLT32 relocation in `movq $foo@PLT, %rax`.

    gas/

            PR gas/32196
            * config/tc-i386.c (tc_i386_fix_adjustable): Return fixP->fx_pcrel
            for PLT32 relocations.
            (i386_validate_fix): Turn PLT32 relocation into PC32 relocation
            only if fixp->fx_pcrel is set.
            * testsuite/gas/i386/reloc32.d: Updated.
            * testsuite/gas/i386/reloc64.d: Likewise.
            * testsuite/gas/i386/reloc32.s: Add PR gas/32196 test.
            * testsuite/gas/i386/reloc64.s: Likewise.

    ld/

            PR gas/32196
            * testsuite/ld-x86-64/plt3.s: New file.
            * testsuite/ld-x86-64/x86-64.exp: Run plt3.

    Signed-off-by: H.J. Lu <hjl.to...@gmail.com>

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

Reply via email to