diff options
| author | Marcel Moolenaar <marcel@FreeBSD.org> | 2003-08-06 00:17:15 +0000 |
|---|---|---|
| committer | Marcel Moolenaar <marcel@FreeBSD.org> | 2003-08-06 00:17:15 +0000 |
| commit | 119fb38770e1ff1f070b5917d59e76f77e57c41d (patch) | |
| tree | f98b3f77910c133ef9a52cd00265e961cd4f56a9 /lib/libpthread | |
| parent | 199d58cbfca2dac9f3313e517823e3a6ff7e808e (diff) | |
Notes
Diffstat (limited to 'lib/libpthread')
| -rw-r--r-- | lib/libpthread/arch/ia64/include/pthread_md.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/libpthread/arch/ia64/include/pthread_md.h b/lib/libpthread/arch/ia64/include/pthread_md.h index f7076d0a65d2..7b5c2219428d 100644 --- a/lib/libpthread/arch/ia64/include/pthread_md.h +++ b/lib/libpthread/arch/ia64/include/pthread_md.h @@ -45,12 +45,16 @@ struct tcb; struct tdv; /* We don't know what this is yet? */ /* - * tp points to one of these. + * tp points to one of these. We define the static TLS as an array + * of long double to enforce 16-byte alignment of the TLS memory, + * struct ia64_tp, struct tcb and also struct kcb. Both static and + * dynamic allocation of any of these structures will result in a + * valid, well-aligned thread pointer. */ struct ia64_tp { struct tdv *tp_tdv; /* dynamic TLS */ struct tcb *tp_self; - char tp_tls[0]; /* static TLS */ + long double tp_tls[0]; /* static TLS */ }; struct tcb { |
