[Libreoffice] map files: how to update? [was: cppu::OPropertySetHelper ABI backwards compatibility]

Stephan Bergmann stephan.bergmann.secondary at googlemail.com
Mon Sep 5 00:57:30 PDT 2011


On Sep 2, 2011, at 5:13 PM, Lionel Elie Mamane wrote:
>> - For the question of which symbols for OPropertySetHelper2 to list
>> in the various map files, see
>> <http://udk.openoffice.org/common/man/apicppclasses.html> (you
>> probably need access to builds on the various platforms to find out
>> the correct mangled names).
> 
> It does not say to export the vtable; I assume the vtable "obviously"
> has to be exported.

No, need not be exported (if none of the ctors and dtors are inline).

> It says:
> 
>  If the destructor of a class is declared virtual, declare the
>  destructors of all its base classes virtual. (To have a dedicated
>  place where RTTI for the base classes is generated, which is
>  referenced by the RTTI for the derived class. Since in general you
>  cannot control the ways a class is used, the best advice probably is
>  to do this for each class that is intended to be subclassed.)
> 
> Well, we cannot do that anymore, since that would break ABI on
> OPropertySetHelper2. Can we "safely" ignore this instruction here?

Yes.

> 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 vtable (see above).

- Comment out the RTTI symbols (_ZTI, _ZTS), as they are already implicitly exported in GCC_3_0_0 section via some hackery.  ("This implies that any _ZTI and _ZTS symbols covered by the previous point are always exported with version GCC_3_0_0, which defeats the correct use of versioning for those symbols.")

- Do not export the thunks (_ZThn), not needed externally.

-Stephan


More information about the LibreOffice mailing list