* dll_init.cc (dll_list::topsort): Fix early-return condition to
accommodate process with all runtime loaded DLLs already dlclosed at fork time. * gendef (_sigfe_maybe): Fix code handling early return if we don't have a tls, broken on 2013-05-21.
This commit is contained in:
parent
7e925d9ac1
commit
27a21b38c0
|
@ -1,3 +1,11 @@
|
||||||
|
2013-05-27 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* dll_init.cc (dll_list::topsort): Fix early-return condition to
|
||||||
|
accommodate process with all runtime loaded DLLs already dlclosed
|
||||||
|
at fork time.
|
||||||
|
* gendef (_sigfe_maybe): Fix code handling early return if we don't
|
||||||
|
have a tls, broken on 2013-05-21.
|
||||||
|
|
||||||
2013-05-24 Corinna Vinschen <corinna@vinschen.de>
|
2013-05-24 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* Makefile.in (DEFS): Unused, remove.
|
* Makefile.in (DEFS): Unused, remove.
|
||||||
|
|
|
@ -299,7 +299,7 @@ void
|
||||||
dll_list::topsort ()
|
dll_list::topsort ()
|
||||||
{
|
{
|
||||||
/* Anything to do? */
|
/* Anything to do? */
|
||||||
if (!end)
|
if (!end || end == &start)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* make sure we have all the deps available */
|
/* make sure we have all the deps available */
|
||||||
|
|
|
@ -133,13 +133,13 @@ EOF
|
||||||
_sigfe_maybe: # stack is aligned on entry!
|
_sigfe_maybe: # stack is aligned on entry!
|
||||||
.seh_endprologue
|
.seh_endprologue
|
||||||
movq %gs:8,%r10 # location of bottom of stack
|
movq %gs:8,%r10 # location of bottom of stack
|
||||||
addq \$$tls::initialized,%r10 # where we will be looking
|
leaq $tls::initialized(%r10),%r11 # where we will be looking
|
||||||
cmpq %r10,%rsp # stack loc > than tls
|
cmpq %r11,%rsp # stack loc > than tls
|
||||||
ret # yep. we don't have a tls.
|
jge 0f # yep. we don't have a tls.
|
||||||
subq \$$tls::initialized,%r10 # where we will be looking
|
|
||||||
movl $tls::initialized(%r10),%r11d
|
movl $tls::initialized(%r10),%r11d
|
||||||
cmpl \$0xc763173f,%r11d # initialized?
|
cmpl \$0xc763173f,%r11d # initialized?
|
||||||
je 1f
|
je 1f
|
||||||
|
0: ret
|
||||||
.seh_endproc
|
.seh_endproc
|
||||||
|
|
||||||
.seh_proc _sigfe
|
.seh_proc _sigfe
|
||||||
|
|
Loading…
Reference in New Issue