# -*- 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/. # # 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 . # $(eval $(call gb_Library_Library,ftransl)) $(eval $(call gb_Library_set_componentfile,ftransl,dtrans/util/ftransl)) $(eval $(call gb_Library_use_sdk_api,ftransl)) $(eval $(call gb_Library_use_libraries,ftransl,\ comphelper \ cppu \ cppuhelper \ sal \ )) $(eval $(call gb_Library_use_system_win32_libs,ftransl,\ advapi32 \ gdi32 \ ole32 \ )) $(eval $(call gb_Library_use_static_libraries,ftransl,\ dtobj \ )) $(eval $(call gb_Library_add_exception_objects,ftransl,\ dtrans/source/win32/ftransl/ftransl \ )) $(eval $(call gb_Library_set_include,ftransl,\ -I$(SRCDIR)/dtrans/source/inc \ $$(INCLUDE) \ )) # vim: set noet sw=4 ts=4: 3'>distro/cib/libreoffice-5-3 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/external/libvisio/ubsan-visibility.patch
AgeCommit message (Collapse)Author
2015-02-27For Clang -fsanitize=vptr use -fvisibility-ms-compat, not -fvisibility=hiddenStephan Bergmann
As discussed in b4f6b26b5a1a78fecfa95ec2eb7ac8b80495d8aa "SAL_DLLPUBLIC_RTTI for proper RTTI visibility for LLVM," RTTI-based -fsanitize= checks with Clang on Linux need special precautions to make RTTI symbols visible across DSOs. The approach taken there, as well as in 598d8194b0ea1a64e0ebba28a86c128bafa57c7c "Visible function type RTTI for Clang -fsanitize=function," was to add explicit SAL_DLLPUBLIC_RTTI annontations to relevant type definitions. However, for -fsanitize=vptr that would have required many more of those, so it appears easier to "misuse" -fsanitize-ms-compat in that case, which happens to give all RTTI symbols default visibility (while otherwise still honoring our SAL_DLLPUBLIC/PRIVATE annotations). The SAL_DLLPUBLIC_RTTI annotations from 598d8194b0ea1a64e0ebba28a86c128bafa57c7c "Visible function type RTTI for Clang -fsanitize=function" can likely be removed again. Change-Id: Ibeff7ab8c908111a7dc66ff0677204f112b24db8