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-09-15 03:44:50 +0400
committerChristopher Faylor <me@cgf.cx>2004-09-15 03:44:50 +0400
commita9f36d288c287f691f9a21fb9d747f45673236cf (patch)
tree98599bcc2b5a69a2bca870b1aab5b8fe181b2e7e /winsup/cygwin/cygtls.h
parent98650d2fa2d2443ede83cc9f5d21d39e8078e60b (diff)
* cygtls.h: Add alignment kludge to fix disparity between compilers.
* tlsoffsets.h: Regenerate. * fork.cc (slow_pid_reuse): Use define to control number of pids held to prevent pid reuse.
Diffstat (limited to 'winsup/cygwin/cygtls.h')
-rw-r--r--winsup/cygwin/cygtls.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/cygtls.h b/winsup/cygwin/cygtls.h
index 997518654..2ce91dbc8 100644
--- a/winsup/cygwin/cygtls.h
+++ b/winsup/cygwin/cygtls.h
@@ -98,6 +98,8 @@ typedef struct struct_waitq
/* Changes to the below structure may require acompanying changes to the very
simple parser in the perl script 'gentls_offsets' (<<-- start parsing here).
+ The union in this structure is used to force alignment between the version
+ of the compiler used to generate tlsoffsets.h and the cygwin cross compiler.
*/
typedef __uint32_t __stack_t;
@@ -117,7 +119,11 @@ struct _cygtls
unsigned threadkill;
siginfo_t infodata;
struct pthread *tid;
- struct _reent local_clib;
+ union
+ {
+ struct _reent local_clib;
+ char __dontuse[8 * ((sizeof(struct _reent) + 4) / 8)];
+ };
struct _local_storage locals;
waitq wq;
struct _cygtls *prev, *next;