[PATCH] ld: Skip bootstrap tests for -fprofile-generate=

H.J. Lu hjl.tools@gmail.com
Thu Oct 22 12:41:31 GMT 2020


On Wed, Oct 21, 2020 at 11:44 AM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> Make plug_opt available to all linker tests.  Skip bootstrap tests when
> linker is compiled with -fprofile-generate=.
>
>         * testsuite/ld-plugin/lto.exp (plug_opt): Moved to ...
>         * testsuite/config/default.exp (plug_opt): Here.  New.
>         * testsuite/ld-bootstrap/bootstrap.exp: Skip when linker is
>         compiled with -fprofile-generate=.
> ---
>  ld/testsuite/config/default.exp         | 17 +++++++++++++++++
>  ld/testsuite/ld-bootstrap/bootstrap.exp |  8 +++++++-
>  ld/testsuite/ld-plugin/lto.exp          | 16 ----------------
>  3 files changed, 24 insertions(+), 17 deletions(-)
>
> diff --git a/ld/testsuite/config/default.exp b/ld/testsuite/config/default.exp
> index e5730ff5654..73d61dec272 100644
> --- a/ld/testsuite/config/default.exp
> +++ b/ld/testsuite/config/default.exp
> @@ -424,3 +424,20 @@ if { [istarget alpha*-*-*vms*] } {
>      }
>      unset f src
>  }
> +
> +set plugin_names {
> +    liblto_plugin.so
> +    liblto_plugin-0.dll
> +    cyglto_plugin-0.dll
> +}
> +set plug_opt ""
> +foreach plug $plugin_names {
> +    set plug_so [run_host_cmd $CC "--print-prog-name $plug"]
> +    if { $plug_so eq $plug } then {
> +       set plug_so [run_host_cmd $CC "--print-file-name $plug"]
> +    }
> +    if { $plug_so ne $plug } then {
> +       set plug_opt "--plugin $plug_so"
> +       break
> +    }
> +}
> diff --git a/ld/testsuite/ld-bootstrap/bootstrap.exp b/ld/testsuite/ld-bootstrap/bootstrap.exp
> index 43928fb6483..2342d509fc0 100644
> --- a/ld/testsuite/ld-bootstrap/bootstrap.exp
> +++ b/ld/testsuite/ld-bootstrap/bootstrap.exp
> @@ -29,7 +29,13 @@ if ![isnative] {
>      return
>  }
>
> -# Determine if plugin support is present.
> +# Skip for -fprofile-generate=.
> +catch "exec $nm $plug_opt $OFILES" exec_output
> +send_log "foo: $exec_output"
> +if { [ string match "*__gcov_*" $exec_output ] } {
> +    return
> +}
> +
>  remote_exec host "$nm --help" "" "/dev/null" "plugin-support"
>  set tmp [file_contents "plugin-support"]
>  regexp ".*\(--plugin\).*\n" $tmp foo plugins
> diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp
> index abb712575f4..9f9f2d13ced 100644
> --- a/ld/testsuite/ld-plugin/lto.exp
> +++ b/ld/testsuite/ld-plugin/lto.exp
> @@ -41,22 +41,6 @@ proc restore_notify { } {
>    set CXXFLAGS "$saved_CXXFLAGS"
>  }
>
> -set plugin_names {
> -    liblto_plugin.so
> -    liblto_plugin-0.dll
> -    cyglto_plugin-0.dll
> -}
> -set plug_opt ""
> -foreach plug $plugin_names {
> -    set plug_so [run_host_cmd $CC "--print-prog-name $plug"]
> -    if { $plug_so eq $plug } then {
> -       set plug_so [run_host_cmd $CC "--print-file-name $plug"]
> -    }
> -    if { $plug_so ne $plug } then {
> -       set plug_opt "--plugin $plug_so"
> -       break
> -    }
> -}
>  set lto_fat ""
>  set lto_no_fat ""
>  if { [check_lto_fat_available] } {
> --
> 2.26.2
>

I am checking in this.

-- 
H.J.


More information about the Binutils mailing list