Hi,
On sparc this clearly looks like an alignment problem. The decode()
function mentioned in the backtrace above is supposed to do the right
thing depending on whether alignment on word boundary for ints is
required. The need for such alignment is tested during 'configure' run and
is recorded in NEED_WORD_ALIGNMENT variable in Source/config.h (and other
places probably). The problem is that on sparc this test is not triggered
as it should, so the NEED_WORD_ALIGNMENT is set to zero.
The test performed by 'configure' consists of compiling and executing the
config/config.align.c program, where some intentional unaligned accesses
are performed. If it fails, then the platform requires alignment and
NEED_WORD_ALIGNMENT is set to 1. The problem is that when built with -O2
(as 'configure' does), the program does not fail, the compiler appears to
do something smart about it and unaligned accesses are avoided whatsoever:
[EMAIL PROTECTED]:~/gorm/gnustep-base-1.11.2$ gcc -O2 config/config.align.c -o
align.test
config/config.align.c: In function 'main':
config/config.align.c:18: warning: incompatible implicit declaration of
built-in function 'exit'
[EMAIL PROTECTED]:~/gorm/gnustep-base-1.11.2$ ./align.test
[EMAIL PROTECTED]:~/gorm/gnustep-base-1.11.2$
If built without optimization, the program bus-errors, as intended:
[EMAIL PROTECTED]:~/gorm/gnustep-base-1.11.2$ gcc config/config.align.c -o
align.test
config/config.align.c: In function 'main':
config/config.align.c:18: warning: incompatible implicit declaration of
built-in function 'exit'
[EMAIL PROTECTED]:~/gorm/gnustep-base-1.11.2$ ./align.test
Bus error
[EMAIL PROTECTED]:~/gorm/gnustep-base-1.11.2$
Compiler used in both tests:
[EMAIL PROTECTED]:~/gorm/gnustep-base-1.11.2$ gcc --version
gcc (GCC) 4.0.3 (Debian 4.0.3-1)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
So, I guess it's really up to upstream to come up with a better test, or
make sure that the test binary is built without optimization. A possible
temporary workaround would be to somehow force NEED_WORD_ALIGNMENT to 1 on
sparc. After I've done it and installed the resulting debs, gorm.app has
built without problems.
Best regards,
Jurij Smakov [EMAIL PROTECTED]
Key: http://www.wooyd.org/pgpkey/ KeyID: C99E03CC
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]