summaryrefslogtreecommitdiff
path: root/chart2/qa/extras
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-02-16 14:25:15 +0100
committerStephan Bergmann <sbergman@redhat.com>2017-02-16 14:38:37 +0100
commit8ea07101c1613d213fd7cea17f094a947b14cd00 (patch)
treee6ac8ac45ec60d9fa88b7b7d9e959162989e2052 /chart2/qa/extras
parentb7ee370c8e9528f1a3891540165d6d1b49f48fb0 (diff)
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
Diffstat (limited to 'chart2/qa/extras')
0 files changed, 0 insertions, 0 deletions