Commit 62ec242e by Jozef Lawrynowicz Committed by Jozef Lawrynowicz

libgcc: Fix incorrect use of USE_TM_CLONE_REGISTRY

2019-11-04  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* crtstuff.c: Define USE_TM_CLONE_REGISTRY to 0 if it's undefined and
	the target output object format is not ELF.
	s/defined(USE_TM_CLONE_REGISTRY)/USE_TM_CLONE_REGISTRY.

From-SVN: r277775
parent 02afb6a9
2019-11-04 Jozef Lawrynowicz <jozef.l@mittosystems.com>
* crtstuff.c: Define USE_TM_CLONE_REGISTRY to 0 if it's undefined and
the target output object format is not ELF.
s/defined(USE_TM_CLONE_REGISTRY)/USE_TM_CLONE_REGISTRY.
2019-11-03 Oleg Endo <olegendo@gcc.gnu.org> 2019-11-03 Oleg Endo <olegendo@gcc.gnu.org>
PR libgcc/78804 PR libgcc/78804
......
...@@ -153,6 +153,8 @@ call_ ## FUNC (void) \ ...@@ -153,6 +153,8 @@ call_ ## FUNC (void) \
#if !defined(USE_TM_CLONE_REGISTRY) && defined(OBJECT_FORMAT_ELF) #if !defined(USE_TM_CLONE_REGISTRY) && defined(OBJECT_FORMAT_ELF)
# define USE_TM_CLONE_REGISTRY 1 # define USE_TM_CLONE_REGISTRY 1
#elif !defined(USE_TM_CLONE_REGISTRY)
# define USE_TM_CLONE_REGISTRY 0
#endif #endif
/* We do not want to add the weak attribute to the declarations of these /* We do not want to add the weak attribute to the declarations of these
...@@ -450,8 +452,7 @@ CRT_CALL_STATIC_FUNCTION (__LIBGCC_INIT_SECTION_ASM_OP__, ...@@ -450,8 +452,7 @@ CRT_CALL_STATIC_FUNCTION (__LIBGCC_INIT_SECTION_ASM_OP__,
__do_global_dtors_aux_1) __do_global_dtors_aux_1)
#endif #endif
#if defined(USE_EH_FRAME_REGISTRY) \ #if defined(USE_EH_FRAME_REGISTRY) || USE_TM_CLONE_REGISTRY
|| defined(USE_TM_CLONE_REGISTRY)
/* Stick a call to __register_frame_info into the .init section. For some /* Stick a call to __register_frame_info into the .init section. For some
reason calls with no arguments work more reliably in .init, so stick the reason calls with no arguments work more reliably in .init, so stick the
call in another function. */ call in another function. */
...@@ -560,8 +561,7 @@ __do_global_dtors (void) ...@@ -560,8 +561,7 @@ __do_global_dtors (void)
#endif #endif
} }
#if defined(USE_EH_FRAME_REGISTRY) \ #if defined(USE_EH_FRAME_REGISTRY) || USE_TM_CLONE_REGISTRY
|| defined(USE_TM_CLONE_REGISTRY)
/* A helper function for __do_global_ctors, which is in crtend.o. Here /* A helper function for __do_global_ctors, which is in crtend.o. Here
in crtbegin.o, we can reference a couple of symbols not visible there. in crtbegin.o, we can reference a couple of symbols not visible there.
Plus, since we're before libgcc.a, we have no problems referencing Plus, since we're before libgcc.a, we have no problems referencing
...@@ -733,8 +733,7 @@ void ...@@ -733,8 +733,7 @@ void
__do_global_ctors (void) __do_global_ctors (void)
{ {
func_ptr *p; func_ptr *p;
#if defined(USE_EH_FRAME_REGISTRY) \ #if defined(USE_EH_FRAME_REGISTRY) || USE_TM_CLONE_REGISTRY
|| defined(USE_TM_CLONE_REGISTRY)
__do_global_ctors_1(); __do_global_ctors_1();
#endif #endif
for (p = __CTOR_END__ - 1; *p != (func_ptr) -1; p--) for (p = __CTOR_END__ - 1; *p != (func_ptr) -1; p--)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment