bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/14961] Dynamic IFUNC pointer to local function doesn't work for


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/14961] Dynamic IFUNC pointer to local function doesn't work for i386
Date: Mon, 29 Aug 2016 15:16:00 +0000

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

--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by H.J. Lu <address@hidden>:

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

commit 74437ea28fb611d4c88077b486fd7c0a8b4c2a25
Author: H.J. Lu <address@hidden>
Date:   Mon Aug 29 08:12:59 2016 -0700

    i386: Issue an error on non-PIC call to IFUNC in PIC object

    On i386, IFUNC function must be called via PLT.  Since PLT in PIC
    object uses EBX register, R_386_PLT32 relocation must be used to
    call IFUNC function even when IFUNC function is defined locally.
    Linker should issue an error when R_386_PC32 relocation is used
    to call IFUNC function.

    Since PR ld/19784 tests doesn't use PLT relocation to local IFUNC
    function, they are moved to the x86-64 test directory.

    bfd/

        PR ld/14961
        PR ld/20515
        * elf32-i386.c (elf_i386_check_relocs): Issue an error when
        R_386_PC32 relocation is used to call IFUNC function in PIC
        object.

    ld/

        PR ld/14961
        PR ld/20515
        * testsuite/ld-i386/i386.exp: Run pr20515.
        * testsuite/ld-i386/pr20515.d: New file.
        * testsuite/ld-i386/pr20515.s: Likewise.
        * testsuite/ld-ifunc/ifunc-14a.s: Use R_386_PLT32 to call IFUNC
        function.
        * testsuite/ld-ifunc/ifunc-14c.s: Likewise.
        * testsuite/ld-ifunc/ifunc-2-i386.s: Likewise.
        * testsuite/ld-ifunc/ifunc-2-local-i386.s: Likewise.
        * testsuite/ld-ifunc/ifunc.exp: Move PR ld/19784 tests to ...
        * testsuite/ld-x86-64/x86-64.exp: Here.
        * testsuite/ld-ifunc/pr19784a.c: Moved to ...
        * testsuite/ld-x86-64/pr19784a.c: Here.
        * testsuite/ld-ifunc/pr19784b.c: Moved to ...
        * testsuite/ld-x86-64/pr19784b.c: Here.
        * testsuite/ld-ifunc/pr19784c.c: Moved to ...
        * testsuite/ld-x86-64/pr19784c.c: Here.

-- 
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]