[all-commits] [llvm/llvm-project] 5feb80: [dsymutil] Fix double relocation of DW_AT_call_ret...
    Jonas Devlieghere via All-commits 
    all-commits at lists.llvm.org
       
    Thu Feb 13 17:46:08 PST 2020
    
    
  
  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5feb80e748924606531ba28c97fe65145c65372e
      https://github.com/llvm/llvm-project/commit/5feb80e748924606531ba28c97fe65145c65372e
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2020-02-13 (Thu, 13 Feb 2020)
  Changed paths:
    M llvm/include/llvm/DWARFLinker/DWARFLinker.h
    M llvm/lib/DWARFLinker/DWARFLinker.cpp
    A llvm/test/tools/dsymutil/Inputs/private/tmp/call_return_pc/call
    A llvm/test/tools/dsymutil/Inputs/private/tmp/call_return_pc/call.o
    A llvm/test/tools/dsymutil/X86/call-site-entry-reloc.test
  Log Message:
  -----------
  [dsymutil] Fix double relocation of DW_AT_call_return_pc
When the DW_AT_call_return_pc matches a relocation, the call return pc
would get relocated twice, once because of the relocation in the object
file and once because of dsymutil. The same problem exists for the low
and high PC and the fix is the same. We remember the low, high and
return pc of the original DIE and relocate that, rather than the
potentially already relocated value.
Reviewed offline by Fred Riss.
    
    
More information about the All-commits
mailing list