[PATCH,testsuite] Add check_effective_target_rdynamic and use it in g++.dg/lto/pr69589_0.C.
Rainer Orth
ro@CeBiTec.Uni-Bielefeld.DE
Wed Mar 8 15:04:00 GMT 2017
Hi Toma,
> g++.dg/lto/pr69589_0.C is currently failing for mips-mti-elf with the following error:
>
> xg++: error: unrecognized command line option '-rdynamic'
>
> However, it passes just fine for mips-mti-linux-gnu.
> I think that we should skip this test for mips-mti-elf.
could it be that mips/sde.h is just missing -rdynamic handling in
LINK_SPEC? At least some bare-metal targets using gld *do* support
-rdynamic (cf. xtensa/elf.h and aarch64/aarch64-elf-raw.h)...
That said, I like the general direction of this patch, even when the new
keyword is only used in one place.
> This patch achieves this by adding support for check_effective_target_rdynamic
> and then using it in g++.dg/lto/pr69589_0.C.
>
> This patch also removes the existing dg-skip-if, as it is made redundant by the
> effective target check. The latter is also more convenient, as we won't have to
> keep tweaking the dg-skip-if for failing targets anymore.
>
> This is similar to my recent check_effective_target_gettimeofday patch,
> which was greatly improved by Rainer Orth's review.
>
> Tested with mips-mti-elf and mips-mti-linux-gnu.
>
> Does this look good ?
[...]
> diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
> index 2766af4..f46f0ba 100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -1484,6 +1484,16 @@ proc check_effective_target_static_libgfortran { } {
> } "-static"]
> }
>
> +# Return 1 if we can use the -rdynamic option, 0 otherwise.
> +#
> +# When the target name changes, replace the cached result.
I think this line isn't necessary. Just keep the first.
Ok for mainline with that fixed.
Thanks.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
More information about the Gcc-patches
mailing list