office-gobmx/external/firebird
Stephan Bergmann 8ea07101c1 external/firebird: Work around operator new alignment violations
...causing problems at least when building with recent Clang trunk on
x86_64-unknown-linux-gnu:

> make[5]: Entering directory 'workdir/UnpackedTarball/firebird/gen'
> rm -f metadata.fdb
> core/workdir/UnpackedTarball/firebird/gen/Release/firebird/bin/isql -q -i workdir/UnpackedTarball/firebird/src/dbs/metadata.sql
> Makefile:325: recipe for target 'metadata.fdb' failed
> make[5]: *** [metadata.fdb] Segmentation fault (core dumped)

See the mail thread starting at
<https://sourceforge.net/p/firebird/mailman/firebird-devel/thread/ec7c3bb1-3fef-e9b8-5b23-0d07fc412f95%40redhat.com/#msg35669676>
"[Firebird-devel] alloc.h global operator new replacement violating alignment
requirements".  With DEBUG_GDS_ALLOC defined, the allocation functions defined
in src/common/classes/alloc.h are no longer replacements of standard allocation
functions, so Clang happens to not make aggressive alignment assumptions, see
the mail thread starting at
<http://lists.llvm.org/pipermail/cfe-dev/2017-February/052676.html> "[cfe-dev]
operator new alignment assumptions".

(Instead of always defining DEBUG_GDS_ALLOC, I first tried to comment out the
definitions of global operator new/delete replacement functions in alloc.h,
falling back to the compiler-provided versions.  But many places in Firebird
allocate via Firebird-specific operator new placement overrides and deallocate
via delete expressions, which happens to work at runtime when the replaceable
operator delete is Firebird's, but not when it is the compiler-provided one.)

Change-Id: Ie02adb440fa959b723983d7f5b0246d3634dc06b
2017-02-16 14:38:37 +01:00
..
0001-Avoid-hangup-in-SS-when-error-happens-at-system-atta.patch.1
0002-Backported-fix-for-CORE-5452-Segfault-when-engine-s-.patch.1
ExternalPackage_firebird.mk
ExternalProject_firebird.mk
firebird-cloop-compiler.patch.1
firebird-configure-x86-64-macosx.patch.1
firebird-cygwin-msvc.patch
firebird-Engine12.patch
firebird-gcc6.patch.1
firebird-macosx.patch.1
firebird-rpath.patch.0
firebird-vs2013.patch.1
firebird-vs2017.patch.1
firebird.disable-ib-util-not-found.patch.1
libc++.patch
macosx-elcapitan-dyld.patch
Makefile
Module_firebird.mk
README
UnpackedTarball_firebird.mk
wnt-dbgutil.patch

Firebird is an embeddable SQL RDBMS implemented in C++

http://firebirdsql.org/