[PATCH] gold plugin: move target initialization to the top of the onload function.
Rafael EspĂndola
rafael.espindola at gmail.com
Thu Jul 3 07:46:00 PDT 2014
LGTM, thanks!
On 3 July 2014 03:57, Peter Collingbourne <peter at pcc.me.uk> wrote:
> Hi rafael,
>
> On at least my machine, ar does not register an all symbols read hook (which
> previously triggered target initialization), but it does register a claim
> files hook, which depends on the targets being initialized.
>
> http://reviews.llvm.org/D4372
>
> Files:
> tools/gold/gold-plugin.cpp
>
> Index: tools/gold/gold-plugin.cpp
> ===================================================================
> --- tools/gold/gold-plugin.cpp
> +++ tools/gold/gold-plugin.cpp
> @@ -135,6 +135,12 @@
>
> extern "C" ld_plugin_status onload(ld_plugin_tv *tv);
> ld_plugin_status onload(ld_plugin_tv *tv) {
> + InitializeAllTargetInfos();
> + InitializeAllTargets();
> + InitializeAllTargetMCs();
> + InitializeAllAsmParsers();
> + InitializeAllAsmPrinters();
> +
> // We're given a pointer to the first transfer vector. We read through them
> // until we find one where tv_tag == LDPT_NULL. The REGISTER_* tagged values
> // contain pointers to functions that we need to call to register our own
> @@ -228,11 +234,6 @@
> if (!RegisteredAllSymbolsRead)
> return LDPS_OK;
>
> - InitializeAllTargetInfos();
> - InitializeAllTargets();
> - InitializeAllTargetMCs();
> - InitializeAllAsmParsers();
> - InitializeAllAsmPrinters();
> CodeGen = new LTOCodeGenerator();
>
> // Pass through extra options to the code generator.
More information about the llvm-commits
mailing list