[all-commits] [llvm/llvm-project] 11a02d: [JITLink][PowerPC] Change method to check if a sym...
bzEq via All-commits
all-commits at lists.llvm.org
Tue Jul 25 20:21:11 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 11a02de7829aa252e84d96c7353ff39c34c3bd38
https://github.com/llvm/llvm-project/commit/11a02de7829aa252e84d96c7353ff39c34c3bd38
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2023-07-26 (Wed, 26 Jul 2023)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/ppc64.h
M llvm/lib/ExecutionEngine/JITLink/ELF_ppc64.cpp
M llvm/lib/ExecutionEngine/JITLink/ppc64.cpp
M llvm/test/ExecutionEngine/JITLink/ppc64/external_weak.s
Log Message:
-----------
[JITLink][PowerPC] Change method to check if a symbol is external to current object
After PrePrunePass `claimOrExternalizeWeakAndCommonSymbols`, a defined symbol might become external. So determine a function call is external or not when building the linkgraph is not accurate. This largely affects updating TOC pointer on PowerPC. TOC pointer is supposed to be the same in one object file(if no mulitple TOC appears) and is updated when control flow transferred to another object file.
This patch defers checking a function call is external or not, in `buildTables_ELF_ppc64` which is a PostPrunePass.
This patch fixes failures when `jitlink -orc-runtime=/path/to/libort_rt.a` is used.
Reviewed By: lhames
Differential Revision: https://reviews.llvm.org/D155925
More information about the All-commits
mailing list