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