[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: Wed, 16 Jul 2014 17:59:41 +0000


--- Comment #6 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, master has been updated
       via  144bed8d4d8a1bdc0067f55f2ee71c07e5594677 (commit)
      from  4d974e8854dbc506f154efca8879da3f310bb2b9 (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 144bed8d4d8a1bdc0067f55f2ee71c07e5594677
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                          |    9 +++
 bfd/elf32-i386.c                       |   38 ++++++++++++--
 bfd/elf64-x86-64.c                     |   89 ++++++++++++++++++++++++++++---
 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, 340 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]