[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