Forgive me if this has already been discussed or even fixed in later 
versions:  At least the Firebird 3.0 we build as part of LibreOffice 
defines global operator new replacement functions in 
src/common/classes/alloc.h (forwarding to MemoryPool) that do not in 
general fulfil the alignment requirements for such functions.

Came across this when Firebird compiled with a recent trunk Clang (with 
-O, and DEBUG_GDS_ALLOC being undefined) on x86_64-unknown-linux-gnu 
causes SEGV from misaligned MOVAPS instructions.

See the mail thread starting at 
"[cfe-dev] operator new alignment assumptions" for some details.

Check out the vibrant tech community on one of the world's most
engaging tech sites,!
Firebird-Devel mailing list, web interface at

Reply via email to