On Wed, Jun 12, 2019 at 5:57 PM <ilia.diach...@optimitech.com> wrote:
> This patch adds libgcc configuration option to disable TM clone
> registry. This option helps to reduce code size for embedded targets
> which do not need transactional memory support.

This looks OK to me.  It is worth pointing out that ARM already ships
compilers built this way, but they didn't bother adding a configure
option.  They just override Makefile variables in their build scripts.
I think this is much cleaner as a documented configure option.

One issue here is that I don't know the transactional memory support
well enough to know what harm comes when we drop the tm clone registry
support.  Perhaps a change should be made to the compiler to disable
the transactional memory support, or some subset of it.  Maybe Aldy
can comment on that?  The intent here is to only use this for size
constrained embedded targets (e.g. newlib-nano targets), and such
targets are very unlikely to ever want transactional memory support.
But someone might accidentally use this configure option with an
x86_64-linux toolchain, and then get confusing transactional memory
failures, and we might want to try to prevent that before it happens.

Jim

Reply via email to