aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorIlia Diachkov <ilia.diachkov@optimitech.com>2019-06-27 23:41:03 +0000
committerJim Wilson <wilson@gcc.gnu.org>2019-06-27 16:41:03 -0700
commit5a4602805eb3ebddbc935b102481e63bffc7c5e6 (patch)
treee2aab40a13c83c1b9ee1ec034d15962d39600354 /libgcc
parent7ffc7de55b058e78cbc46803b89b712849ea35b3 (diff)
downloadgcc-5a4602805eb3ebddbc935b102481e63bffc7c5e6.zip
gcc-5a4602805eb3ebddbc935b102481e63bffc7c5e6.tar.gz
gcc-5a4602805eb3ebddbc935b102481e63bffc7c5e6.tar.bz2
Add --disable-tm-clone-registry libgcc configure option.
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. gcc/ * doc/install.texi: Document --disable-tm-clone-registry. libgcc/ * Makefile.in (USE_TM_CLONE_REGISTRY): New. (CRTSTUFF_CFLAGS): Use USE_TM_CLONE_REGISTRY. * configure.ac: Add --disable-tm-clone-registry option. * configure: Regenerate. From-SVN: r272769
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog7
-rw-r--r--libgcc/Makefile.in4
-rw-r--r--libgcc/configure15
-rw-r--r--libgcc/configure.ac10
4 files changed, 35 insertions, 1 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 5b560e8..d69e55e 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,10 @@
+2019-06-27 Ilia Diachkov <ilia.diachkov@optimitech.com>
+
+ * Makefile.in (USE_TM_CLONE_REGISTRY): New.
+ (CRTSTUFF_CFLAGS): Use USE_TM_CLONE_REGISTRY.
+ * configure.ac: Add --disable-tm-clone-registry option.
+ * configure: Regenerate.
+
2019-06-27 Martin Liska <mliska@suse.cz>
* libgcov-driver-system.c (gcov_exit_open_gcda_file): Remove obviously
diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index 33b8380..e10a197 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -259,6 +259,8 @@ PICFLAG = @PICFLAG@
CET_FLAGS = @CET_FLAGS@
+USE_TM_CLONE_REGISTRY = @use_tm_clone_registry@
+
# Defined in libgcc2.c, included only in the static library.
LIB2FUNCS_ST = _eprintf __gcc_bcmp
@@ -299,7 +301,7 @@ CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
$(NO_PIE_CFLAGS) -finhibit-size-directive -fno-inline -fno-exceptions \
-fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
-fbuilding-libgcc -fno-stack-protector $(FORCE_EXPLICIT_EH_REGISTRY) \
- $(INHIBIT_LIBC_CFLAGS)
+ $(INHIBIT_LIBC_CFLAGS) $(USE_TM_CLONE_REGISTRY)
# Extra flags to use when compiling crt{begin,end}.o.
CRTSTUFF_T_CFLAGS =
diff --git a/libgcc/configure b/libgcc/configure
index af910b6..29f6473 100644
--- a/libgcc/configure
+++ b/libgcc/configure
@@ -604,6 +604,7 @@ vis_hide
solaris_ld_v2_maps
real_host_noncanonical
accel_dir_suffix
+use_tm_clone_registry
force_explicit_eh_registry
CET_FLAGS
fixed_point
@@ -712,6 +713,7 @@ enable_decimal_float
with_system_libunwind
enable_cet
enable_explicit_exception_frame_registration
+enable_tm_clone_registry
with_glibc_version
enable_tls
with_gcc_major_version_only
@@ -1355,6 +1357,7 @@ Optional Features:
register exception tables explicitly at module
start, for use e.g. for compatibility with
installations without PT_GNU_EH_FRAME support
+ --disable-tm-clone-registry disable TM clone registry
--enable-tls Use thread-local storage [default=yes]
Optional Packages:
@@ -4953,6 +4956,18 @@ fi
+# Check whether --enable-tm-clone-registry was given.
+if test "${enable_tm_clone_registry+set}" = set; then :
+ enableval=$enable_tm_clone_registry;
+use_tm_clone_registry=
+if test "$enable_tm_clone_registry" = no; then
+ use_tm_clone_registry=-DUSE_TM_CLONE_REGISTRY=0
+fi
+
+fi
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if ${acl_cv_prog_gnu_ld+:} false; then :
diff --git a/libgcc/configure.ac b/libgcc/configure.ac
index 5f11455..b1b90d2 100644
--- a/libgcc/configure.ac
+++ b/libgcc/configure.ac
@@ -261,6 +261,16 @@ fi
])
AC_SUBST([force_explicit_eh_registry])
+AC_ARG_ENABLE([tm-clone-registry],
+[ --disable-tm-clone-registry disable TM clone registry],
+[
+use_tm_clone_registry=
+if test "$enable_tm_clone_registry" = no; then
+ use_tm_clone_registry=-DUSE_TM_CLONE_REGISTRY=0
+fi
+])
+AC_SUBST([use_tm_clone_registry])
+
AC_LIB_PROG_LD_GNU
AC_MSG_CHECKING([for thread model used by GCC])