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
This commit is contained in:
parent
919f402ca5
commit
59659b5967
@ -1,3 +1,11 @@
|
||||
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>
|
||||
|
||||
* alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
|
||||
|
@ -41,4 +41,4 @@
|
||||
#define cfi_def_cfa(r,n)
|
||||
#define cfi_register(o,n)
|
||||
|
||||
#endif /* HAVE_ASM_CFI */
|
||||
#endif /* HAVE_AS_CFI_PSEUDO_OP */
|
||||
|
@ -60,7 +60,17 @@ _ITM_beginTransaction:
|
||||
movl %edi, 20(%esp)
|
||||
movl %ebp, 24(%esp)
|
||||
leal 8(%esp), %edx
|
||||
#if defined HAVE_ATTRIBUTE_VISIBILITY || !defined __PIC__
|
||||
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
|
||||
cfi_def_cfa_offset(4)
|
||||
ret
|
||||
@ -108,7 +118,9 @@ GTM_longjmp:
|
||||
|
||||
#ifdef __ELF__
|
||||
.type GTM_longjmp, @function
|
||||
#ifdef HAVE_ATTRIBUTE_VISIBILITY
|
||||
.hidden GTM_longjmp
|
||||
#endif
|
||||
.size GTM_longjmp, .-GTM_longjmp
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user