[lld] [lld-macho] Fix compatibility between --icf=safe_thunks and --keep-icf-stabs (PR #116687)
    Ellis Hoag via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon Nov 18 14:51:39 PST 2024
    
    
  
================
@@ -1251,26 +1255,26 @@ void SymtabSection::emitStabs() {
 
       // We use 'originalIsec' to get the file id of the symbol since 'isec()'
       // might point to the merged ICF symbol's file
-      symbolsNeedingStabs.emplace_back(defined,
-                                       defined->originalIsec->getFile()->id);
+      Defined *funcBodySym = getFuncBodySym(defined);
----------------
ellishg wrote:
The logic seems pretty clear IMO: "If this is a thunk, call this special thunk function".
If you want to keep the function, then maybe we should rename it and add some docs. In the most common case, when `defined` is not a thunk, it is very mysterious why we need to pass it through `getFuncBodySym()` first.
https://github.com/llvm/llvm-project/pull/116687
    
    
More information about the llvm-commits
mailing list