[DynInst_API:] [dyninst/dyninst] 8406a8: More fixes on ppcle rewriting of statically linked...


Date: Wed, 30 Jan 2019 11:51:54 -0800
From: Xiaozhu Meng <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 8406a8: More fixes on ppcle rewriting of statically linked...
  Branch: refs/heads/ppcle_rhel8_fix
  Home:   https://github.com/dyninst/dyninst
  Commit: 8406a8facd884374c6767b5b5ed947bfda4c2d3c
      https://github.com/dyninst/dyninst/commit/8406a8facd884374c6767b5b5ed947bfda4c2d3c
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-01-30 (Wed, 30 Jan 2019)

  Changed paths:
    M dyninstAPI/src/parse-power.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/emitElfStatic-ppc64.C
    M symtabAPI/src/emitElfStatic.C

  Log Message:
  -----------
  More fixes on ppcle rewriting of statically linked binaries

1. Revert the change made in "760bfda6e409b4b61a6acd093548afa5860b4af1" about undefined symbols.
Section with number 0 is NULL section, not .bss. So, symbols with section number 0 are indeed
undefined symbols.
2. libc.a depends on libgcc.a on fedora 28 ppcle. So, also open libgcc.a to resolve undefined symbols.
3. Fix the handling of relocation entry "R_PPC64_REL24". R_PPC64_REL24 means the caller has set
up R2, so we should call the local entry point. Calling the global entry may lead to wrong r2, because
r12 is not properly set at the call site.
4. IFUNC should not be treated as a need for PLT.


[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 8406a8: More fixes on ppcle rewriting of statically linked..., Xiaozhu Meng <=