transaction_safe exceptions prevent libstdc++ building for some targets
Joe Seymour
joe.s@somniumtech.com
Wed Aug 17 11:50:00 GMT 2016
On 17/08/2016 12:30, Jonathan Wakely wrote:
> 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.
>
I'll start working on a patch.
Thanks,
Joe
More information about the Libstdc++
mailing list