On Tue, 2005-01-11 at 12:37 -0500, Branden Robinson wrote: > Here are his remarks, recast a bit from IRC-speak into something more > conventional. > > GCC on ARM is doing something different from every other C compiler I've > seen. It may not deviate from what the C specification allows, but it > appears to deviate from common practice. The ARM folks would find code > would work with fewer problems if they fixed GCC to behave like other C > compilers do. Having an array of structs of a byte each usually forces > 16 bit alignment only on other compilers I've seen.
Jim is correct. This behaviour of the ARM compiler seemed like a good idea in 1988, but subsequent experience has shown that it was a mistake to pad structs in this way. Changing the default behaviour of the compiler definitely would result in ABI breakage for some programs. We plan to take care of this, and a variety of other historical goofs, by switching to the new ARM "EABI". This change will involve a flag day at some point during the next Debian release cycle, but will result in better performance (by a factor of more than 10 for some code) and greater compatibility with other architectures. > I'm also curious to know if xterm has always had this problem on Debian > ARM, or if it has cropped up only with recent revisions of GCC. Can anyone > tell me? I don't have any direct experience of the bug, but from the description I've seen it sounds like it would always have been this way. GCC's behaviour certainly hasn't changed recently. p. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]