Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


On 22/07/12 11:25, Kristian Rietveld wrote:
(Please keep me on CC as I am not subscribed to the list)

During the build, however, the "sw_filters_test" unit test crashes. The 
crash happens in rtl_string_release from the FieldEntry (the one in 
sw/source/file/ww8/ww8par.hxx) destructor. The FieldEntry destructor is 
called through a dyld stub.

After reading assembly code I figured that the FieldEntry destructor 
being executed does not match the FieldEntry's fields. What was already 
suspicious above is that rtl_string_release is being called even though 
this FieldEntry uses OUStrings.

 From the assembly code I guess the FieldEntry destructor being executed 
is actually the one in registry/source/reflwrit.cxx.  So my impression 
is that the dynamic linker on OS X is simply calling the wrong 
destructor (the symbols have the same name).

that is really not supposed to happen, we really should build everything
with -fvisibility=hidden on all platforms where unnecessarily exported
symbols cause such problems (guess that means everything but Windows).

on master and libreoffice-3-6, in solenv/gbuild/platform/macosx.mk the
-fvisibility=hidden is inside:

ifeq ($(HAVE_GCC_VISIBILITY_FEATURE),TRUE)

can you check that that is actually detected properly for your compiler?
and if so, that it's actually on the command line in a "make registry
VERBOSE=t"?
perhaps the check for it is broken somehow.

ah, there is another one, i wonder what that does:

ifneq ($(HAVE_GCC_VISIBILITY_BROKEN),TRUE)

possibly in this day and age we should strongly consider hard-requiring
visibility support in configure, i.e. reject compilers that can't do it.

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.