Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

read: cfi parsing can't handle relocations for DW_EH_PE_pcrel #484

Open
philipc opened this issue Apr 3, 2020 · 1 comment
Open

read: cfi parsing can't handle relocations for DW_EH_PE_pcrel #484

philipc opened this issue Apr 3, 2020 · 1 comment

Comments

@philipc
Copy link
Collaborator

philipc commented Apr 3, 2020

My strategy for handling relocatable addresses so far has been to override Reader::read_address/read_offset to store the relocation in a map and return an index into that map instead of the real address, and later convert it back when consuming the address. This doesn't work for parse_encoded_pointer because it doesn't use read_address/read_offset for relative pointers, and even if it did my strategy wouldn't work because parse_encoded_pointer needs to add the address to a base address.

I think the only fix for this is something like #409.

@philipc
Copy link
Collaborator Author

philipc commented Oct 27, 2022

This strategy also doesn't work for range lists, because some values can be either an address or a special value (base addresses in <= v4 range list or tombstone in any version (#629)).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant