* gendef (stabilize_sig_stack): Correctly align this pointer for call to
_cygtls::call_signal_handler. * gentls_offsets: Output sizeof field. * tlsoffsets.h: Regenerate.
This commit is contained in:
		| @@ -1,3 +1,10 @@ | |||||||
|  | 2004-02-24  Christopher Faylor  <cgf@redhat.com> | ||||||
|  |  | ||||||
|  | 	* gendef (stabilize_sig_stack): Correctly align this pointer for call | ||||||
|  | 	to _cygtls::call_signal_handler. | ||||||
|  | 	* gentls_offsets: Output sizeof field. | ||||||
|  | 	* tlsoffsets.h: Regenerate. | ||||||
|  |  | ||||||
| 2004-02-24  Christopher Faylor  <cgf@redhat.com> | 2004-02-24  Christopher Faylor  <cgf@redhat.com> | ||||||
|  |  | ||||||
| 	* dcrt0.cc (_dll_crt0): Don't check sync_startup if threadfunc_ix is set. | 	* dcrt0.cc (_dll_crt0): Don't check sync_startup if threadfunc_ix is set. | ||||||
|   | |||||||
| @@ -249,8 +249,9 @@ stabilize_sig_stack: | |||||||
| 	jmp	1b | 	jmp	1b | ||||||
| 2:	cmpl	\$0,$tls::sig(%edx) | 2:	cmpl	\$0,$tls::sig(%edx) | ||||||
| 	jz	3f | 	jz	3f | ||||||
| 	decl	$tls::stacklock(%edx) | 	decl	$tls::stacklock(%edx)			# unlock | ||||||
| 	movl	%edx,%eax | 	movl	\$-$tls::sizeof__cygtls,%eax		# point to beginning | ||||||
|  | 	addl	%edx,%eax				#  of tls block | ||||||
| 	call	__ZN7_cygtls19call_signal_handlerEv | 	call	__ZN7_cygtls19call_signal_handlerEv | ||||||
| 	jmp	1b | 	jmp	1b | ||||||
| 3:	ret | 3:	ret | ||||||
|   | |||||||
| @@ -53,6 +53,7 @@ main(int argc, char **argv) | |||||||
| # define poffset(f) (((char *) &(foo->f)) - ((char *) foo)) | # define poffset(f) (((char *) &(foo->f)) - ((char *) foo)) | ||||||
| EOF | EOF | ||||||
|     print TMP 'puts ("//;# autogenerated:  Do not edit.\n");', "\n\n"; |     print TMP 'puts ("//;# autogenerated:  Do not edit.\n");', "\n\n"; | ||||||
|  |     print TMP "printf (\"//; \$tls::sizeof_$struct = %d;\\n\", sizeof($struct\));\n"; | ||||||
|     for my $f (@fields) { |     for my $f (@fields) { | ||||||
| 	print TMP '  printf ("//; $tls::', $f, ' = %d;\n", ', "offset($f));\n"; | 	print TMP '  printf ("//; $tls::', $f, ' = %d;\n", ', "offset($f));\n"; | ||||||
| 	print TMP '  printf ("//; $tls::p', $f, ' = %d;\n", ', "poffset($f));\n"; | 	print TMP '  printf ("//; $tls::p', $f, ' = %d;\n", ', "poffset($f));\n"; | ||||||
|   | |||||||
| @@ -1,5 +1,6 @@ | |||||||
| //;# autogenerated:  Do not edit. | //;# autogenerated:  Do not edit. | ||||||
|  |  | ||||||
|  | //; $tls::sizeof__cygtls = 3744; | ||||||
| //; $tls::func = -3744; | //; $tls::func = -3744; | ||||||
| //; $tls::pfunc = 0; | //; $tls::pfunc = 0; | ||||||
| //; $tls::saved_errno = -3740; | //; $tls::saved_errno = -3740; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user