aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/doc/install.texi5
-rw-r--r--libgcc/ChangeLog7
-rw-r--r--libgcc/Makefile.in4
-rw-r--r--libgcc/configure15
-rw-r--r--libgcc/configure.ac10
6 files changed, 44 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index eab9ab9..f8bd2b2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2019-06-27 Ilia Diachkov <ilia.diachkov@optimitech.com>
+
+ * doc/install.texi: Document --disable-tm-clone-registry.
+
2019-06-27 Jakub Jelinek <jakub@redhat.com>
PR c++/91024
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 29d0470..1a0e8c7 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -1284,6 +1284,11 @@ assumptions made by the configure test are incorrect.
Specify that the target does not support TLS.
This is an alias for @option{--enable-tls=no}.
+@item --disable-tm-clone-registry
+Disable TM clone registry in libgcc. It is enabled in libgcc by default.
+This option helps to reduce code size for embedded targets which do
+not use transactional memory.
+
@item --with-cpu=@var{cpu}
@itemx --with-cpu-32=@var{cpu}
@itemx --with-cpu-64=@var{cpu}
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])