Commit 59659b59 by Rainer Orth Committed by Rainer Orth

Support libitm on Solaris 8 and 9/x86 with Sun as

	* config/generic/asmcfi.h: Fix comment.
	* config/x86/sjlj.S (_ITM_beginTransaction): Provide ELF PIC code
	sequence without .hidden support, error for non-ELF targets.
	(GTM_longjmp) [__ELF__]: Only use .hidden if
	HAVE_ATTRIBUTE_VISIBILITY.

From-SVN: r181481
parent 919f402c
2011-11-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/generic/asmcfi.h: Fix comment.
* config/x86/sjlj.S (_ITM_beginTransaction): Provide ELF PIC code
sequence without .hidden support, error for non-ELF targets.
(GTM_longjmp) [__ELF__]: Only use .hidden if
HAVE_ATTRIBUTE_VISIBILITY.
2011-11-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2011-11-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv, * alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
......
...@@ -41,4 +41,4 @@ ...@@ -41,4 +41,4 @@
#define cfi_def_cfa(r,n) #define cfi_def_cfa(r,n)
#define cfi_register(o,n) #define cfi_register(o,n)
#endif /* HAVE_ASM_CFI */ #endif /* HAVE_AS_CFI_PSEUDO_OP */
...@@ -60,7 +60,17 @@ _ITM_beginTransaction: ...@@ -60,7 +60,17 @@ _ITM_beginTransaction:
movl %edi, 20(%esp) movl %edi, 20(%esp)
movl %ebp, 24(%esp) movl %ebp, 24(%esp)
leal 8(%esp), %edx leal 8(%esp), %edx
#if defined HAVE_ATTRIBUTE_VISIBILITY || !defined __PIC__
call GTM_begin_transaction call GTM_begin_transaction
#elif defined __ELF__
call 1f
1: popl %ebx
addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx
call GTM_begin_transaction@PLT
movl 12(%esp), %ebx
#else
# error "Unsupported PIC sequence"
#endif
addl $28, %esp addl $28, %esp
cfi_def_cfa_offset(4) cfi_def_cfa_offset(4)
ret ret
...@@ -108,7 +118,9 @@ GTM_longjmp: ...@@ -108,7 +118,9 @@ GTM_longjmp:
#ifdef __ELF__ #ifdef __ELF__
.type GTM_longjmp, @function .type GTM_longjmp, @function
#ifdef HAVE_ATTRIBUTE_VISIBILITY
.hidden GTM_longjmp .hidden GTM_longjmp
#endif
.size GTM_longjmp, .-GTM_longjmp .size GTM_longjmp, .-GTM_longjmp
#endif #endif
......
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