Re: gcc 4.5 and TLS
Andreas Schwab dixit:
>m68k compiler only guarantees a maximum alignment of 2 bytes, but the
>futex syscall requires 4 byte alignment. So if your pthread mutex is
>not aligned on a 4 byte boundary this will result in passing an
>unaligned address to futex. I haven't yet decided on what would be the
>best way to fix that.
I have the same problem on i386 (4 byte alignment, 16 byte requirement):
/** $MirOS: src/sys/crypto/rijndael.h,v 1.3 2008/03/27 22:39:07 tg Exp $ */
[…]
#define __RIJNDAEL_ALIGNED __attribute__((aligned (16)))
[…]
typedef struct {
u32 ek[4*(MAXNR + 1) + 4] /* encrypt key schedule */
__RIJNDAEL_ALIGNED;
u32 dk[4*(MAXNR + 1) + 4] /* decrypt key schedule */
__RIJNDAEL_ALIGNED;
union {
struct viac3_rijndael_ctx via;
} hwcr_info;
u8 enc_only; /* context contains only encrypt schedule */
u8 Nr; /* key-length-dependent number of rounds */
#define RIJNDAEL_HWCR_SOFTWARE 0
#define RIJNDAEL_HWCR_VIA 1
u8 hwcr_id; /* which crypto processor is used */
} rijndael_ctx __RIJNDAEL_ALIGNED;
I guess that the eglibc headers would be the place to put this.
HTH&HAND,
//mirabilos
--
Support mksh as /bin/sh and RoQA dash NOW!
‣ src:bash (224 (240) bugs: 0 RC, 171 (184) I&N, 53 (56) M&W, 0 F&P)
‣ src:dash (61 (66) bugs: 3 (4) RC, 43 (47) I&N, 15 M&W, 0 F&P)
‣ src:mksh (3 bugs: 0 RC, 0 I&N, 3 M&W, 0 F&P)
Reply to: