Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2004-02-08 22:59:27 +0300
committerChristopher Faylor <me@cgf.cx>2004-02-08 22:59:27 +0300
commit6946073e784471e1fc51fffd705b0cbc4d58e730 (patch)
tree76e1a45c0d78871721c0c1c807bc89e343cd1454 /winsup/cygwin/gentls_offsets
parentf5133f95b085c4fbe92fc5ca8fee9d5016257e4e (diff)
* localtime.cc (localtime_r): Call tzset.
* Makefile.in: Make version.h/cygwin.din version check a warning since it is not foolproof. * cygheap.h (CYGHEAPSIZE): Bump size down. * cygtls.h (_threadinfo::stacklock): New element. (_threadinfo::pop): Make regparm. (_threadinfo::lock): New function. (_threadinfo::unlock): New function. * cygtls.cc (_threadinfo::push): Wait for a lock on the stack before performing the operation. (_threadinfo::pop): Move to another file. * cygwin.din: More SIGFE changes. * exceptions.cc (try_to_debug): Always display messages on console. (handle_exceptions): Unwind stack only when actually about to call sig_send. (setup_handler): Lock stack prior to performing any operations. * gendef (_sigfe): Ditto. (_sigbe): Ditto. (_threadinfo::pop): Ditto. Move here. * gen_tlsoffsets: Generate positive offsets. * tlsoffsets.h: Regenerate.
Diffstat (limited to 'winsup/cygwin/gentls_offsets')
-rwxr-xr-xwinsup/cygwin/gentls_offsets3
1 files changed, 3 insertions, 0 deletions
diff --git a/winsup/cygwin/gentls_offsets b/winsup/cygwin/gentls_offsets
index 375b66840..c69488a36 100755
--- a/winsup/cygwin/gentls_offsets
+++ b/winsup/cygwin/gentls_offsets
@@ -50,14 +50,17 @@ main(int argc, char **argv)
$struct foo[1];
# define foo_end ((char *) (foo + 1))
# define offset(f) (((char *) &(foo->f)) - foo_end)
+# define poffset(f) (((char *) &(foo->f)) - ((char *) foo))
EOF
print TMP 'puts ("//;# autogenerated: Do not edit.\n");', "\n\n";
for my $f (@fields) {
print TMP ' printf ("//; $tls::', $f, ' = %d;\n", ', "offset($f));\n";
+ print TMP ' printf ("//; $tls::p', $f, ' = %d;\n", ', "poffset($f));\n";
}
print TMP ' puts ("//; __DATA__\n");', "\n";
for my $f (@fields) {
print TMP ' printf ("#define tls_', $f, ' (%d)\n", ', "offset($f));\n";
+ print TMP ' printf ("#define tls_p', $f, ' (%d)\n", ', "poffset($f));\n";
}
print TMP <<EOF;