public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/3] libgcc/crtstuff.c tweaks to reduce code size
@ 2019-11-06 16:14 Jozef Lawrynowicz
  2019-11-06 16:16 ` [PATCH 1/3] libgcc: Add --disable-eh-frame-registry configure option Jozef Lawrynowicz
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Jozef Lawrynowicz @ 2019-11-06 16:14 UTC (permalink / raw)
  To: gcc-patches

Some functionality in crtstuff.c will never be used for some targets,
resulting in unnecessary code bloat in the crt* object files.

For example, msp430-elf uses .{init,fini}_array, does not support shared
objects, does not support transactional memory and could be configured
to remove support for exceptions.

Therefore __do_global_dtors_aux(), frame_dummy(),
{,de}register_tm_clones could be safely removed, saving code size.

The following patches implement the generic mechanisms which enable the features
associated with the this functionality to be removed.

Successfully bootstrapped and regtested for x86_64-pc-linx-gnu.
Successfully regtested for msp430-elf.

Ok to apply?

P.S. An MSP430-specific series of patches to make use of the functionality added
here will be submitted separately.

Jozef Lawrynowicz (3):
  libgcc: Add --disable-eh-frame-registry configure option
  libgcc: Dont define __do_global_dtors_aux if it will be empty
  libgcc: Implement TARGET_LIBGCC_REMOVE_DSO_HANDLE

 gcc/doc/install.texi | 11 +++++++++++
 gcc/doc/tm.texi      | 11 +++++++++++
 gcc/doc/tm.texi.in   | 11 +++++++++++
 libgcc/Makefile.in   |  4 +++-
 libgcc/configure     | 22 ++++++++++++++++++++++
 libgcc/configure.ac  | 17 +++++++++++++++++
 libgcc/crtstuff.c    | 33 +++++++++++++++++++++++----------
 7 files changed, 98 insertions(+), 11 deletions(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-12-11 18:44 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-06 16:14 [PATCH 0/3] libgcc/crtstuff.c tweaks to reduce code size Jozef Lawrynowicz
2019-11-06 16:16 ` [PATCH 1/3] libgcc: Add --disable-eh-frame-registry configure option Jozef Lawrynowicz
2019-11-06 21:05   ` Jozef Lawrynowicz
2019-11-06 16:17 ` [PATCH 2/3] libgcc: Dont define __do_global_dtors_aux if it will be empty Jozef Lawrynowicz
2019-12-07 18:29   ` Jeff Law
2019-12-09 12:19   ` Tobias Burnus
2019-12-09 12:24     ` Jozef Lawrynowicz
2019-11-06 16:19 ` [PATCH 3/3] libgcc: Implement TARGET_LIBGCC_REMOVE_DSO_HANDLE Jozef Lawrynowicz
2019-12-07 18:28   ` Jeff Law
2019-12-09 13:05     ` Jozef Lawrynowicz
2019-12-11 11:49       ` Jozef Lawrynowicz
2019-12-11 18:44         ` Jeff Law

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).