[Patch, libstdc++.exp]Update the usage of cached result, rebuild nlocale wrapper for each variant.
Jonathan Wakely
jwakely@redhat.com
Fri Nov 16 13:20:00 GMT 2018
On 16/11/18 10:42 +0000, Renlin Li wrote:
>Hi all,
Please remember that all patches for libstdc++ must be sent to the
libstdc++ list, as documented at https://gcc.gnu.org/lists.html
Just CCing me is not enough.
>Tejas noticed that libstdc++.exp currently builds nlocale driver (libstc++.exp:check_v3_target_namedlocale())
>once for a test run. This is done irrespective of the number of variants in the site.exp file.
>For eg. if we have more than one variant for different target profiles i.e.
>
> <board>/-mthumb/-march=armv8-a/-mfpu=crypto-neon-fp-armv8/-mfloat-abi=hard
> <board>/-mthumb/-mcpu=cortex-m0
>
>nlocale<id>.cpp is built once and is reused for all the variants.
>This is incorrect as the same binary may not work on all target profiles - eg. nlocale<id>.x built for arm A-profile
>may not work on M-profile targets. nlocale<id> needs to be rebuilt for each variant in site.exp. This patch fixes that.
>
>Meanwhile, it updates all the usage of cached value with the new method.
>This is similar to the recent change in gcc/testsuite/lib/target-support.exp
>A global dictionary is used to store a property for a particular target, instead of the target check and update approach.
>This factors the common code out of each procedure, reduce the length of libstdc++.exp file.
This is great, thanks!
>Tested on arm-none-eabi with the following variants in site.exp:
>
> <board>/-marm/-march=armv7-a/-mfpu=vfpv3-d16/-mfloat-abi=softfp
> <board>/-mthumb/-march=armv8-a/-mfpu=crypto-neon-fp-armv8/-mfloat-abi=hard
> <board>/-mthumb/-mcpu=cortex-m0
> <board>/-mthumb/-mcpu=cortex-m3
> <board>/-mthumb/-mcpu=cortex-m4
> <board>/-mthumb/-mcpu=cortex-m7
> <board>/-mthumb/-mcpu=cortex-m23
> <board>/-mthumb/-march=armv8-m.main
>
>
>Tested on native x86_64,
>
> make check-target-libstdc++-v3
>
>with default unix variant. There is no change on the result.
>
>
>Okay to commit?
OK, thanks.
More information about the Libstdc++
mailing list