* cygtls.cc (_cygtls::remove): Revert previous patch.
* cygtls.h (struct _local_storage): Move pathbufs back here. (class san/x86_64): Revert class. Save and restore pathbufs counters only. (class san/i686): Revert saving and restoring pathbufs counters. (__try/x86_64): Add a san variable and call it's setup method. (__except/x86_64): Call san::leave to restore pathbufs counters. * gendef (_sigbe): Revert previous change. * thread.cc (verifyable_object_state): Remove gcc 4.7 workaround in forward declaration as well. * tls_pbuf.cc (tls_pbuf): Revert previous change. * tls_pbuf.h (class tmp_pathbuf): Accommodate reverting pathbufs to locals structure. * tlsoffsets.h: Regenerate. * tlsoffsets64.h: Regenerate.
This commit is contained in:
@@ -181,8 +181,6 @@ _sigbe: # return here after cygwin syscall
|
||||
movq -8(%r11),%r11 # get return address from signal stack
|
||||
decl $tls::incyg(%r10)
|
||||
decl $tls::stacklock(%r10) # release lock
|
||||
leaq $tls::pathbufs(%r10),%r10 # Address of tls_pathbufs
|
||||
movq \$0,(%r10) # Set c_cnt and w_cnt to 0
|
||||
jmp *%r11 # "return" to caller
|
||||
.seh_endproc
|
||||
|
||||
@@ -447,9 +445,6 @@ __sigbe: # return here after cygwin syscall
|
||||
xchgl %eax,4(%esp) # swap return address with saved eax
|
||||
decl $tls::incyg(%ebx)
|
||||
decl $tls::stacklock(%ebx) # release lock
|
||||
leal $tls::pathbufs(%ebx),%ebx # Address of tls_pathbufs
|
||||
movl \$0,(%ebx) # Set c_cnt to 0
|
||||
movl \$0,4(%ebx) # Set w_cnt to 0
|
||||
popl %ebx
|
||||
ret
|
||||
|
||||
|
Reference in New Issue
Block a user