Misaligned .bss section for PE?

Zuxy Meng zuxy.meng@gmail.com
Thu May 22 09:43:00 GMT 2008


Hi there,

Recently I met a crash on MinGW32 caused by misaligned access of SSE 
instructions. The root cause was that a static var wasn't aligned to a 
16-byte boundary. However, in gcc source this var had already been marked 
with "__attribute__((aligned(16)))".

I then checked the output of "gcc -S" and it turned out that with PE you 
couldn't specify a symbol's alignment. Rather, the alignment was ensured by 
explicit padding. But gcc seemed to do it right, at least within a 
compilation unit. Unfortunately, after hundreds of objects got linked 
together, some symbols' alignment was broken.

I'm just wondering if I should report it as a GCC bug or a binutils one. Any 
help? Thanks!

-- 
Zuxy 




More information about the Binutils mailing list