Kaydet (Commit) 29cdfa3f authored tarafından Markus Mohrhard's avatar Markus Mohrhard Kaydeden (comit) Stephan Bergmann

no need to statically link against the emfio library in the tests

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/40029Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
Tested-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst 8134fb80
......@@ -9,15 +9,7 @@
$(eval $(call gb_CppunitTest_CppunitTest,emfio_emf))
$(eval $(call gb_CppunitTest_set_componentfile,emfio_emf,emfio/emfio))
$(eval $(call gb_CppunitTest_set_include,emfio_emf,\
$$(INCLUDE) \
-I$(SRCDIR)/emfio/inc \
))
$(eval $(call gb_CppunitTest_use_externals,emfio_emf,\
boost_headers \
libxml2 \
))
......@@ -27,16 +19,13 @@ $(eval $(call gb_CppunitTest_add_exception_objects,emfio_emf,\
$(eval $(call gb_CppunitTest_use_sdk_api,emfio_emf))
$(eval $(call gb_CppunitTest_use_library_objects,emfio_emf,\
emfio \
))
$(eval $(call gb_CppunitTest_use_libraries,emfio_emf,\
basegfx \
drawinglayer \
cppu \
cppuhelper \
comphelper \
emfio \
sal \
svt \
test \
......@@ -52,6 +41,7 @@ $(eval $(call gb_CppunitTest_use_vcl,emfio_emf))
$(eval $(call gb_CppunitTest_use_components,emfio_emf,\
configmgr/source/configmgr \
dtrans/util/mcnttype \
emfio/emfio \
framework/util/fwk \
i18npool/util/i18npool \
package/source/xstor/xstor \
......
......@@ -9,8 +9,6 @@
$(eval $(call gb_CppunitTest_CppunitTest,emfio_wmf))
$(eval $(call gb_CppunitTest_set_componentfile,emfio_wmf,emfio/emfio))
$(eval $(call gb_CppunitTest_set_include,emfio_wmf,\
$$(INCLUDE) \
-I$(SRCDIR)/emfio/inc \
......@@ -28,10 +26,6 @@ $(eval $(call gb_CppunitTest_add_exception_objects,emfio_wmf, \
$(eval $(call gb_CppunitTest_use_sdk_api,emfio_wmf))
$(eval $(call gb_CppunitTest_use_library_objects,emfio_wmf, \
emfio \
))
$(eval $(call gb_CppunitTest_use_libraries,emfio_wmf,\
$(call gb_Helper_optional,BREAKPAD, \
crashreport) \
......@@ -40,6 +34,7 @@ $(eval $(call gb_CppunitTest_use_libraries,emfio_wmf,\
cppu \
cppuhelper \
comphelper \
emfio \
i18nlangtag \
i18nutil \
$(if $(filter OPENCL,$(BUILD_TYPE)),opencl) \
......@@ -195,6 +190,7 @@ $(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 \
......
......@@ -25,6 +25,10 @@ $(eval $(call gb_Library_set_include,emfio,\
-I$(SRCDIR)/emfio/inc \
))
$(eval $(call gb_Library_add_defs,emfio,\
-DEMFIO_DLLIMPLEMENTATION \
))
$(eval $(call gb_Library_use_custom_headers,emfio,\
officecfg/registry \
))
......
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* 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/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_EMFIO_INC_EMFIODLLAPI_H
#define INCLUDED_EMFIO_INC_EMFIODLLAPI_H
#include <sal/types.h>
#if defined(EMFIO_DLLIMPLEMENTATION)
#define EMFIO_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
#else
#define EMFIO_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
#endif
#endif // INCLUDED_EMFIO_INC_EMFIODLLAPI_H
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -30,6 +30,8 @@
#include <vcl/outdevstate.hxx>
#include <vcl/FilterConfigItem.hxx>
#include "emfiodllapi.h"
#define ERROR 0
#define NULLREGION 1
#define COMPLEXREGION 3
......@@ -298,7 +300,7 @@ namespace emfio
virtual ~GDIObj() = default; // Polymorphic base class
};
struct WinMtfFontStyle : GDIObj
struct EMFIO_DLLPUBLIC WinMtfFontStyle : GDIObj
{
vcl::Font aFont;
......@@ -438,8 +440,11 @@ namespace emfio
{}
};
class MtfTools
class EMFIO_DLLPUBLIC MtfTools
{
MtfTools(MtfTools &) = delete;
void operator =(MtfTools) = delete;
protected:
WinMtfPathObj maPathObj;
WinMtfClipPath maClipPath;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment