Martin Lucina wrote:
>>The only thing which is somewhat unusual is that I use musl libc
>>(http://www.musl-libc.org/). However I also use this on my x86_64 dev boxes
>>and everything works fine.
>>I'm currently building an eglibc toolchain for MIPS just to rule that
>Built a toolchain for mips-unknown-linux-gnu, using GCC 4.8.1 (crosstool-NG
>1.19.0) and configured with eglibc 2.17. mtest still fails with the same
I wouldn't expect the libc to have affected this. I note that
compiling with -Wcast-align produces no warnings on my x86-64 build,
so it appears to be compiler-specific and not library specific.
The docs for -Wcast-align say:
Warn whenever a pointer is cast such that the required alignment of the
target is increased. For example, warn if a char * is cast to an int * on
machines where integers can only be accessed at two- or four-byte
So the warning is arch-specific and thus will not trigger on x86(-64) which
does not require aligned accesses for integers.
In a previous email you mentioned LMDB works fine on SPARC. That is not
what I see here, with 0.9.11 freshly cloned from gitorious:
$ uname -a
SunOS erzika 5.10 Generic_141414-10 sun4u sparc SUNW,Sun-Blade-100
$ mkdir testdb
$ dbx ./mtest
(process id 20724)
t@1 (l@1) signal SEGV (no mapping at the fault address) in mdb_txn_renew0 at 0x12ea4
0x00012ea4: mdb_txn_renew0+0x01e4: ld [%g2 + 76], %g2
current thread: t@1
=> mdb_txn_renew0(0x2fa88, 0x0, 0xffffffff, 0x0, 0x2f9f8, 0x2fa88), at 0x12ea4
 mdb_txn_begin(0xc, 0x0, 0x0, 0xffbff9bc, 0x2fa88, 0x2f9f8), at 0x1425c
 main(0x2f638, 0xffbff9bc, 0xffbffa34, 0x2f55c, 0x2f9f0, 0xee), at 0x1ded8
I note that the CSW GCC 4.6.3 I'm using on SPARC also produces warnings
when building mdb with -Wcast-align.