This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: transaction_safe exceptions prevent libstdc++ building for some targets


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]