NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
gcc buggy? (Score:2)
Given that
memcpyis prototypedvoid *memcpy(void *dst, const void *src, size_t len);is sqlite actually at fault here? Or is the gcc optimisation buggy? I'm not a sufficiently good C standards guru to know this, even if I looked at precisely what the code is doing. (Which I confess, I haven't)Re:gcc buggy? (Score:1)
On the SQLite side, arrays of char * were being casted to structs and then memcpy'd. With this layout, every other array element was misaligned on Solaris, but it was fine on x86. Very, very bad. D. Richard Hipp (author of SQLite) and I actually worked out a better solution than my patch -- using the fact that malloc() always returns 8-byte aligned addresses on Solaris, he fiddled with the allocation of the structures to guarantee 8-byte alignment. Much cleaner! I believe version 3.0.8 has this fix.
Reply to This
Parent