[PATCH] D147544: [BOLT] Move from RuntimeDyld to JITLink
Rafael Auler via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 24 14:57:10 PDT 2023
rafauler added a comment.
Noticed another difference here between RuntimeDyld vs. JITLink. Writing here for documentation only, I think it is harmless.
My hugify lib's file are built with one additional .rodata.extra section (.rodata.str1.16.bolt.extra.1) that is entirely useless. The error strings originally stored in this section are materialized in code with movabs to stack space (I think this is an unintended side effect of the way the code is written, see https://github.com/llvm/llvm-project/blob/main/bolt/runtime/hugify.cpp#L119, which forces the compiler to allocate the error message in the stack), rendering this rodata section unnecessary/unreferenced, but still present in the object file. RuntimeDyld doesn't allocate this unnecessary section, but JITLink does allocate.
I'm not sure if RuntimeDyld is being smart about it, or if its a bug. But the binary is not going to crash because we have no relocs against this unnecessary rodata section.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D147544/new/
https://reviews.llvm.org/D147544
More information about the llvm-commits
mailing list