29cdfa3fc3
ODR-violation found by ASAN: ==17022==ERROR: AddressSanitizer: odr-violation (0x2b86adb17c60): [1] size=352 'vtable for emfio::emfreader::XEmfParser' /home/tdf/lode/jenkins/workspace/lo_ubsan/emfio/source/emfuno/xemfparser.cxx [2] size=352 'vtable for emfio::emfreader::XEmfParser' /home/tdf/lode/jenkins/workspace/lo_ubsan/emfio/source/emfuno/xemfparser.cxx These globals were registered at these points: [1]: #0 0x443a73 in __asan_register_globals /home/tdf/lode/packages/llvm-3.8.0.src/projects/compiler-rt/lib/asan/asan_globals.cc:218 #1 0x2b86bea2dced in asan.module_ctor (/workdir/LinkTarget/CppunitTest/libtest_emfio_wmf.so+0x1a0ced) #2 0x7fff394ad75a (<unknown module>) [2]: #0 0x443a73 in __asan_register_globals /home/tdf/lode/packages/llvm-3.8.0.src/projects/compiler-rt/lib/asan/asan_globals.cc:218 #1 0x2b86ad6e862d in asan.module_ctor (/workdir/LinkTarget/CppunitTest/libtest_emfio_emf.so+0x18862d) #2 0x7fff394ad75a (<unknown module>) Change-Id: Id98677a3692ac6a0586164aa5d0a2c82ab26f916 Reviewed-on: https://gerrit.libreoffice.org/40029 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
214 lines
4.5 KiB
Makefile
214 lines
4.5 KiB
Makefile
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
|
#
|
|
# This file is part of the LibreOffice project.
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
|
|
$(eval $(call gb_CppunitTest_CppunitTest,emfio_wmf))
|
|
|
|
$(eval $(call gb_CppunitTest_set_include,emfio_wmf,\
|
|
$$(INCLUDE) \
|
|
-I$(SRCDIR)/emfio/inc \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
|
|
boost_headers \
|
|
libxml2 \
|
|
$(if $(filter PDFIUM,$(BUILD_TYPE)),pdfium) \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_add_exception_objects,emfio_wmf, \
|
|
emfio/qa/cppunit/wmf/wmfimporttest \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_use_sdk_api,emfio_wmf))
|
|
|
|
$(eval $(call gb_CppunitTest_use_libraries,emfio_wmf,\
|
|
$(call gb_Helper_optional,BREAKPAD, \
|
|
crashreport) \
|
|
basegfx \
|
|
drawinglayer \
|
|
cppu \
|
|
cppuhelper \
|
|
comphelper \
|
|
emfio \
|
|
i18nlangtag \
|
|
i18nutil \
|
|
$(if $(filter OPENCL,$(BUILD_TYPE)),opencl) \
|
|
sal \
|
|
salhelper \
|
|
sot \
|
|
svl \
|
|
svt \
|
|
test \
|
|
test-setupvcl \
|
|
tl \
|
|
ucbhelper \
|
|
unotest \
|
|
vcl \
|
|
utl \
|
|
xmlreader \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
|
|
$(if $(filter LINUX MACOSX %BSD SOLARIS,$(OS)), \
|
|
curl) \
|
|
jpeg \
|
|
$(if $(filter-out IOS WNT,$(OS)), \
|
|
nss3 \
|
|
plc4) \
|
|
libeot \
|
|
))
|
|
|
|
ifeq ($(OS),MACOSX)
|
|
$(eval $(call gb_CppunitTest_add_libs,emfio_wmf,\
|
|
-framework IOKit \
|
|
-F/System/Library/PrivateFrameworks \
|
|
-framework CoreUI \
|
|
-lobjc \
|
|
))
|
|
endif
|
|
|
|
ifeq ($(ENABLE_JAVA),TRUE)
|
|
$(eval $(call gb_CppunitTest_use_libraries,emfio_wmf,\
|
|
jvmaccess \
|
|
))
|
|
endif
|
|
|
|
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
|
|
gio \
|
|
graphite \
|
|
harfbuzz \
|
|
icuuc \
|
|
lcms2 \
|
|
))
|
|
ifeq ($(ENABLE_HEADLESS),)
|
|
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
|
|
epoxy \
|
|
))
|
|
endif
|
|
|
|
ifeq ($(OS),MACOSX)
|
|
$(eval $(call gb_CppunitTest_use_system_darwin_frameworks,emfio_wmf,\
|
|
ApplicationServices \
|
|
))
|
|
$(eval $(call gb_CppunitTest_use_system_darwin_frameworks,emfio_wmf,\
|
|
$(if $(filter X86_64,$(CPUNAME)),,QuickTime) \
|
|
Cocoa \
|
|
Carbon \
|
|
CoreFoundation \
|
|
))
|
|
ifneq ($(ENABLE_MACOSX_SANDBOX),TRUE)
|
|
$(eval $(call gb_CppunitTest_use_libraries,emfio_wmf,\
|
|
AppleRemote \
|
|
))
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(USING_X11),TRUE)
|
|
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
|
|
cairo \
|
|
cups \
|
|
dbus \
|
|
fontconfig \
|
|
freetype \
|
|
valgrind \
|
|
))
|
|
endif
|
|
|
|
ifeq ($(ENABLE_HEADLESS),TRUE)
|
|
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
|
|
cairo \
|
|
freetype \
|
|
fontconfig \
|
|
))
|
|
else
|
|
ifeq ($(OS),LINUX)
|
|
$(eval $(call gb_CppunitTest_add_libs,emfio_wmf,\
|
|
-lm \
|
|
-ldl \
|
|
-lpthread \
|
|
-lX11 \
|
|
))
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(OS),ANDROID)
|
|
$(eval $(call gb_CppunitTest_add_libs,emfio_wmf,\
|
|
-llog \
|
|
-landroid \
|
|
-llo-bootstrap \
|
|
))
|
|
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
|
|
cairo \
|
|
fontconfig \
|
|
freetype \
|
|
expat \
|
|
))
|
|
endif
|
|
|
|
ifeq ($(OS),IOS)
|
|
$(eval $(call gb_CppunitTest_use_system_darwin_frameworks,emfio_wmf,\
|
|
UIKit \
|
|
CoreFoundation \
|
|
))
|
|
endif
|
|
|
|
ifeq ($(OS),WNT)
|
|
$(eval $(call gb_CppunitTest_use_system_win32_libs,emfio_wmf,\
|
|
advapi32 \
|
|
crypt32 \
|
|
gdi32 \
|
|
gdiplus \
|
|
imm32 \
|
|
mpr \
|
|
ole32 \
|
|
shell32 \
|
|
usp10 \
|
|
uuid \
|
|
version \
|
|
winspool \
|
|
setupapi \
|
|
shlwapi \
|
|
))
|
|
#$(eval $(call gb_CppunitTest_add_nativeres,emfio,vcl/salsrc))
|
|
endif
|
|
|
|
ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
|
|
$(eval $(call gb_CppunitTest_add_libs,emfio_wmf,\
|
|
-lm $(DLOPEN_LIBS) \
|
|
-lpthread \
|
|
-lX11 \
|
|
-lXext \
|
|
))
|
|
endif
|
|
|
|
$(eval $(call gb_CppunitTest_use_ure,emfio_wmf))
|
|
|
|
$(eval $(call gb_CppunitTest_use_components,emfio_wmf,\
|
|
configmgr/source/configmgr \
|
|
emfio/emfio \
|
|
i18npool/util/i18npool \
|
|
ucb/source/core/ucb1 \
|
|
unotools/util/utl \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_use_configuration,emfio_wmf))
|
|
|
|
# See gb_CppunitTest__use_vcl (solenv/gbuild/CppunitTest.mk; headless):
|
|
ifeq ($(USING_X11),TRUE)
|
|
$(call gb_CppunitTest_get_target,emfio_wmf): \
|
|
$(call gb_Library_get_target,desktop_detector)
|
|
endif
|
|
|
|
# Hack to suppress ASan ODR violation warnings about symbols present in both the
|
|
# vcl objects linked into this test library and the vcl library (which gets
|
|
# dynamically loaded during the test):
|
|
$(call gb_CppunitTest_get_target,emfio_wmf): \
|
|
EXTRA_ENV_VARS := \
|
|
ASAN_OPTIONS="$${ASAN_OPTIONS+$$ASAN_OPTIONS:}"detect_odr_violation=0
|
|
|
|
# vim: set noet sw=4 ts=4:
|