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


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


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.