This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Misaligned .bss section for PE?
- From: "Zuxy Meng" <zuxy dot meng at gmail dot com>
- To: binutils at sources dot redhat dot com
- Date: Thu, 22 May 2008 17:42:42 +0800
- Subject: Misaligned .bss section for PE?
- Reply-to: "Zuxy Meng" <zuxy dot meng at gmail dot com>
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