[Top][All Lists]

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

[Bug binutils/17154] x86 plt_sym_val fails to select proper plt entry

From: cvs-commit at gcc dot gnu.org
Subject: [Bug binutils/17154] x86 plt_sym_val fails to select proper plt entry
Date: Mon, 28 Jul 2014 18:18:45 +0000


--- Comment #8 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, gdb-7.8-branch has been updated
       via  bfeda6dc272717f4ea0cc3cc76e88fe243a79b01 (commit)
       via  5840bf271c87c3fc14739173fdc91c6a14057130 (commit)
      from  89d63ded9e8b3c10bab8a85cd8dbb271f0559945 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------

commit bfeda6dc272717f4ea0cc3cc76e88fe243a79b01
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 16 11:15:56 2014 -0700

    Match PLT entry only for ELFOSABI_GNU input

        * elf32-i386.c (elf_i386_plt_sym_val): Match PLT entry only for
        ELFOSABI_GNU input.
        * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
        (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.


commit 5840bf271c87c3fc14739173fdc91c6a14057130
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 16 08:16:24 2014 -0700

    Properly match PLT entry against .got.plt relocation

    Relocations against .got.plt section may not be in the same order as
    entries in PLT section.  It is incorrect to assume that the Ith reloction
    index against .got.plt section always maps to the (I + 1)th entry in PLT
    section.  This patch matches the .got.plt relocation offset/index in PLT
    entry against the index in .got.plt relocation table.  It only checks
    R_*_JUMP_SLOT and R_*_IRELATIVE relocations.  It ignores R_*_TLS_DESC
    and R_*_TLSDESC relocations since they have different PLT entries.


        PR binutils/17154
        * elf32-i386.c (elf_i386_plt_sym_val): Only match R_*_JUMP_SLOT
        and R_*_IRELATIVE relocation offset with PLT entry.
        * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
        (elf_x86_64_plt_sym_val_offset_plt_bnd): New.
        (elf_x86_64_get_synthetic_symtab): Use it.


        PR binutils/17154
        * ld-ifunc/pr17154-i386.d: New file.
        * ld-ifunc/pr17154-x86-64.d: Likewise.
        * ld-ifunc/pr17154-x86.s: Likewise.
        * ld-x86-64/bnd-ifunc-2.d: Likewise.
        * ld-x86-64/bnd-ifunc-2.s: Likewise.
        * ld-x86-64/mpx.exp: Run bnd-ifunc-2.
        * ld-x86-64/tlsdesc-nacl.pd: Updated.
        * ld-x86-64/tlsdesc.pd: Likewise.


Summary of changes:
 bfd/ChangeLog                          |   16 +++++
 bfd/elf32-i386.c                       |   42 ++++++++++++--
 bfd/elf64-x86-64.c                     |   97 +++++++++++++++++++++++++++++---
 ld/testsuite/ChangeLog                 |   12 ++++
 ld/testsuite/ld-ifunc/pr17154-i386.d   |   47 +++++++++++++++
 ld/testsuite/ld-ifunc/pr17154-x86-64.d |   46 +++++++++++++++
 ld/testsuite/ld-ifunc/pr17154-x86.s    |   28 +++++++++
 ld/testsuite/ld-x86-64/bnd-ifunc-2.d   |   54 ++++++++++++++++++
 ld/testsuite/ld-x86-64/bnd-ifunc-2.s   |   28 +++++++++
 ld/testsuite/ld-x86-64/mpx.exp         |    1 +
 ld/testsuite/ld-x86-64/tlsdesc-nacl.pd |    4 +-
 ld/testsuite/ld-x86-64/tlsdesc.pd      |    3 +-
 12 files changed, 359 insertions(+), 19 deletions(-)
 create mode 100644 ld/testsuite/ld-ifunc/pr17154-i386.d
 create mode 100644 ld/testsuite/ld-ifunc/pr17154-x86-64.d
 create mode 100644 ld/testsuite/ld-ifunc/pr17154-x86.s
 create mode 100644 ld/testsuite/ld-x86-64/bnd-ifunc-2.d
 create mode 100644 ld/testsuite/ld-x86-64/bnd-ifunc-2.s

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]