[llvm-dev] llvm-link: why link '@llvm.global_ctors' into dest file even it's not used in dest file?
Mehdi AMINI via llvm-dev
llvm-dev at lists.llvm.org
Thu Jan 3 15:15:15 PST 2019
Hi,
On Wed, Jan 2, 2019 at 2:52 PM Fangqing Du via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hi all,
>
> Recently I do some jobs based on llvm-link tool.
> I wonder why link '@llvm.global_ctors' into dest file, even it's not used
> in dest file?
>
This is a "magic" global variable:
https://llvm.org/docs/LangRef.html#the-llvm-global-ctors-global-variable
It is implicitly used by the loader of the program before entering main().
Think about how a C++ global variable constructor can register itself and
the "destination file" you're mentionning can query this registry.
> And how can I remove it?
>
Like other global variables? You need to transform the module yourself
before linking it (if you believe it is safe to do so).
--
Mehdi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190103/99f1a843/attachment.html>
More information about the llvm-dev
mailing list