transaction_safe exceptions prevent libstdc++ building for some targets
Jonathan Wakely
jwakely@redhat.com
Wed Aug 17 11:30:00 GMT 2016
On 17/08/16 12:19 +0100, Joe Seymour wrote:
>Disabling the original changes for targets with unsupported pointer
>sizes seems
>like a reasonable solution to me, but I can't see an existing
>mechanism to do
>so? Do others agree?
Yes, the intention was that the transaction-safe exceptions would only
be defined where it is relatively straightforward to support them. If
they're causing build failures they can be simply disabled for that
target. Maybe the configure script should check for 32-bit or 64-bit
pointers and completely disable the TM exceptions otherwise.
>More generally, it might be useful to have a mechanism to disable
>transactional
>memory for some targets. I've observed things like register_tm_clones
>taking up
>space in ARM Cortex-M binaries. Presumably, this would be achieved by
>adding an
>--{enable,disable}-transactional-memory argument to configure? I'm happy to
>work on a patch, if this is acceptable in principle.
I think that makes sense, for cases where the target can support the
TM clones but they aren't wanted.
If we add such an option then the checks for 32/64-bit pointers can go
in there, so that when the option isn't used the default depends on
the target.
More information about the Libstdc++
mailing list