[Top][All Lists]

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

[Bug ld/21402] i386: indirect5 failures

From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/21402] i386: indirect5 failures
Date: Fri, 21 Apr 2017 19:04:16 +0000


--- Comment #7 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>:


commit e133d00576f3da89e7772149e8d2b6a059d26919
Author: H.J. Lu <address@hidden>
Date:   Fri Apr 21 12:03:14 2017 -0700

    i386: Avoid dynamic symbol with GOT reference in PIE

    GOT reference to global symbol in PIE will lead to dynamic symbol.  It
    becomes a problem when "time" or "times" is defined as a variable in
    an executable, clashing with functions of the same name in libc.  If
    a symbol isn't undefined weak symbol, don't make it dynamic in PIE and
    generate R_386_RELATIVE relocation.


        PR ld/21402
        * elf32-i386.c (elf_i386_link_hash_entry): Add
        (elf_i386_link_hash_newfunc): Set no_finish_dynamic_symbol to 0.
        (elf_i386_allocate_dynrelocs): If a symbol isn't undefined weak
        symbol, don't make it dynamic in PIE.
        (elf_i386_relocate_section): If a symbol isn't dynamic in PIE,
        set no_finish_dynamic_symbol and generate R_386_RELATIVE
        relocation for R_386_GOT32
        (elf_i386_finish_dynamic_symbol): Abort if no_finish_dynamic_symbol
        isn't 0.


        PR ld/21402
        * testsuite/ld-elf/indirect.exp: Don't skip PIE indirect5 and
        indirect6 tests on i386.

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]