Possible regression in i386 build with gcc 4.6
FreeBSD at ShaneWare.Biz
Mon Oct 8 02:02:24 UTC 2012
On 08/10/2012 08:40, Tijl Coosemans wrote:
>> inline long long
>> atomic_exchange_and_add (volatile long long *at, long long x)
>> #ifdef USE_GCC_ATOMICS
>> return __sync_fetch_and_add (at, x);
>> #elif USE_TBB
>> atomic<long long> *a = (atomic<long long> *)at;
> This cast is dangerous. It looks like atomic<long long> has 8 byte
> alignment, but long long on i386 only has 4 byte alignment.
Could that be the cause of the seg fault?
gcc42 just happens to generate it into a place that equals 8 byte align
where gcc46 doesn't?
More information about the freebsd-ports