This is an archive of the discontinued LLVM Phabricator instance.

[RuntimeDyldELF] Make GOT allocation use the stub mechanism.
Needs ReviewPublic

Authored by loladiro on Apr 2 2015, 6:51 PM.

Details

Reviewers
lhames
Summary

This is the follow-on commit to D8813, which switches the GOT from a separate section to use the stub mechanism. The primary disadvantage of this approach is that the code section will have RX permissions, while the GOT usually has RW permissions. However, until the memory manager has the capability to allocate sections sufficiently close to each other, there is not much else we can do. The other concern, both for this approach and the separate GOT section is that we need to know ahead of time how much memory will be needed, even though we only discover this information upon actually processing the relocations. The current approach is to provide an upper bound for the amount of space (both Stub and GOT) needed, though it would be good to revisit this in the future.

Diff Detail

Repository
rL LLVM

Event Timeline

loladiro updated this revision to Diff 23196.Apr 2 2015, 6:51 PM
loladiro retitled this revision from to [RuntimeDyldELF] Make GOT allocation use the stub mechanism..
loladiro updated this object.
loladiro edited the test plan for this revision. (Show Details)
loladiro added a reviewer: lhames.
loladiro set the repository for this revision to rL LLVM.
loladiro added a subscriber: Unknown Object (MLST).
lhames edited edge metadata.Jan 19 2016, 1:35 PM

It looks like this diff (or at least part of it) made it in in r234839. Does this still need review?