On Mon, Sep 05, 2011 at 09:57:30AM +0200, Stephan Bergmann wrote:
On Sep 2, 2011, at 5:13 PM, Lionel Elie Mamane wrote:
I assume the vtable "obviously" has to be exported.
No, need not be exported (if none of the ctors and dtors are inline).
Ah, I had not declared the copy constructor and assignment operator
well, which led to the vtable being necessary to export. That is fixed
now.
Revised patch attached; if it is good to go (especially with respect
to questions above), I'll commit (with a better commit message).
gcc3.map in the latest patch (sent this morning):
- Do not export the thunks (_ZThn), not needed externally.
Well, the build fails if they are not exported. So for now, I export
them. If the fact that they are needed comes from an error in the
class design, please let me know what to do to fix that.
Here's the failing build log:
=============
(1/1) Building module comphelper
=============
Entering /home/master/src/libreoffice/core/comphelper/prj
cd .. && make -s -r -j4 && make -s -r deliverlog
[ build CXX ] comphelper/source/property/opropertybag
[ build CXX ] comphelper/source/property/propagg
[ build CXX ] comphelper/source/property/propertybag
[ build CXX ] comphelper/source/property/propertycontainer
[ build CXX ] comphelper/source/property/propertycontainerhelper
[ build CXX ] comphelper/source/property/propertystatecontainer
[ build CXX ] comphelper/source/property/propmultiplex
[ build CXX ] comphelper/source/property/propstate
[ build DEP ] LNK:Library/libcomphelpgcc3.so
[ build LNK ] Library/libcomphelpgcc3.so
/home/master/src/libreoffice/core/workdir/unxlngx6/CxxObject/comphelper/source/property/opropertybag.o:(.data.rel.ro._ZTVN10comphelper12OPropertyBagE[vtable
for comphelper::OPropertyBag]+0x270): undefined reference to `non-virtual thunk to
cppu::OPropertySetHelper2::enableChangeListenerNotification(unsigned char)'
/home/master/src/libreoffice/core/workdir/unxlngx6/CxxObject/comphelper/source/property/propagg.o:(.data.rel.ro._ZTVN10comphelper29OPropertySetAggregationHelperE[vtable
for comphelper::OPropertySetAggregationHelper]+0x200): undefined reference to `non-virtual thunk
to cppu::OPropertySetHelper2::enableChangeListenerNotification(unsigned char)'
/home/master/src/libreoffice/core/workdir/unxlngx6/CxxObject/comphelper/source/property/propstate.o:(.data.rel.ro._ZTVN10comphelper20OStatefulPropertySetE[vtable
for comphelper::OStatefulPropertySet]+0x258): undefined reference to `non-virtual thunk to
cppu::OPropertySetHelper2::enableChangeListenerNotification(unsigned char)'
/home/master/src/libreoffice/core/workdir/unxlngx6/CxxObject/comphelper/source/property/propstate.o:(.data.rel.ro._ZTVN10comphelper20OPropertyStateHelperE[vtable
for comphelper::OPropertyStateHelper]+0x1d0): undefined reference to `non-virtual thunk to
cppu::OPropertySetHelper2::enableChangeListenerNotification(unsigned char)'
collect2: ld returned 1 exit status
make: ***
[/home/master/src/libreoffice/core/workdir/unxlngx6/LinkTarget/Library/libcomphelpgcc3.so] Error 1
dmake: Error code 2, while making 'all'
--
Lionel
Context
Re: [Libreoffice] cppu::OPropertySetHelper ABI backwards compatibility · Lionel Elie Mamane
Re: [Libreoffice] cppu::OPropertySetHelper ABI backwards compatibility · Eike Rathke
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.