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 
<http://lists.llvm.org/pipermail/cfe-dev/2017-February/052676.html> 
"[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, SlashDot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to