[PATCH] Fix for sw_filter_test crash due to ambiguous FieldEntry destructor
mstahl at redhat.com
Mon Jul 23 07:40:08 PDT 2012
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
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.
More information about the LibreOffice