bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/23195] New: [AArch64] ld-aarch64/ifunc-9 failing


From: sudi at gcc dot gnu.org
Subject: [Bug ld/23195] New: [AArch64] ld-aarch64/ifunc-9 failing
Date: Thu, 17 May 2018 12:16:44 +0000

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

            Bug ID: 23195
           Summary: [AArch64] ld-aarch64/ifunc-9 failing
           Product: binutils
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: sudi at gcc dot gnu.org
  Target Milestone: ---

Since the following commit:

commit 4ec0995016801cc5d5cf13baf6e10163861e6852
Author: H.J. Lu <address@hidden>
Date:   Mon May 14 03:55:37 2018 -0700

    x86; Allow IFUNC pointer defined in PDE

    If IFUNC symbol is defined in position-dependent executable, we should
    change it to the normal function and set its address to its PLT entry
    which should be resolved by R_*_IRELATIVE at run-time.  All external
    references should be resolved to its PLT in executable.

    bfd/

        PR ld/23169
        * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Don't issue
        an error on IFUNC pointer defined in PDE.
        * elf32-i386.c (elf_i386_finish_dynamic_symbol): Call
        _bfd_x86_elf_link_fixup_ifunc_symbol.
        * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
        * elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): New
        function.
        * elfxx-x86.h (_bfd_x86_elf_link_fixup_ifunc_symbol): New.

    ld/

        PR ld/23169
        * testsuite/ld-ifunc/ifunc-9-i386.d: New file.
        * testsuite/ld-ifunc/ifunc-9-x86-64.d: Likewise.
        * testsuite/ld-ifunc/pr23169a.c: Likewise.
        * testsuite/ld-ifunc/pr23169a.rd: Likewise.
        * testsuite/ld-ifunc/pr23169b.c: Likewise.
        * testsuite/ld-ifunc/pr23169b.c: Likewise.
        * testsuite/ld-ifunc/pr23169c.rd: Likewise.
        * testsuite/ld-ifunc/pr23169c.rd: Likewise.
        * testsuite/ld-ifunc/ifunc-9-x86.d: Removed.
        * testsuite/ld-ifunc/ifunc.exp: Run PR ld/23169 tests.

I have observed the following failure on aarch64-none-linux-gnu

succeeded with: <>, expected: <.*dynamic STT_GNU_IFUNC symbol `foo' with
pointer equality in `.*.o' can not be used when making an executable; recompile
with -fPIE and relink with -pie>

FAIL: ld-aarch64/ifunc-9

I have also observed some of the new tests failing:
FAIL: Build pr23169a
FAIL: Build pr23169d
FAIL: Run pr23169a
FAIL: Run pr23169d

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