HomePhabricator

[dsymutil] Fix double relocation of DW_AT_call_return_pc
2eedc59f9a5aUnpublished

Authored by JDevlieghere on Feb 13 2020, 5:39 PM.

Unpublished Commit ยท Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.

Description

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

(cherry picked from commit 5feb80e748924606531ba28c97fe65145c65372e)

Details

Committed
JDevlieghereFeb 13 2020, 5:52 PM
Parents
rG35f367c294c6: Merge pull request #781 from vedantk/cherry
Branches
Unknown
Tags
Unknown