Implements SECTION/SECREL relocation. These are used by debug info (pdb) data.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
What is Const16 used for?
I think we want to maintain the invariant that all edges point at symbols. We could use an absolute symbol for this if we allow for the idea that absolute symbols can be used for values other than addresses.
Alternatively, could the value be baked into the contents by the LinkGraphBuilder?
LGTM, other than the change to the assert condition.
Thanks @sunho!
llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h | ||
---|---|---|
1105–1110 | Why has the S == Scope::Local check been removed? It's an odd "feature" but LinkGraph does permit duplicate names for local symbols, because they can crop up in real objects produced by ld -r and other tools. | |
llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp | ||
540–542 | This is a nice catch. I guess we're missing absolute symbol support test coverage. |
llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h | ||
---|---|---|
1105–1110 | /facepalm. I read the change backwards. Thanks for adding the check. :) |
Why has the S == Scope::Local check been removed?
It's an odd "feature" but LinkGraph does permit duplicate names for local symbols, because they can crop up in real objects produced by ld -r and other tools.