Hi Caolán,
On Wed, 25 May 2011 09:36:55 +0100
Caolán McNamara <caolanm@redhat.com> wrote:
IIRC with the gbuild system the simple map files to restrict exports
were deprecated in favour of pure visibility markup. On the other
hand, how does this mesh with the more complicated symbol versioning
used in the ure map files, e.g. cppu/source/gcc3.map or salhelper's
one.
Well, these files have two things:
a) long lists of mangled names
b) versioned symbols
For a) it is painful to migrate, but can be represented by source
decoration.
b) is platform-specific: it only works on unix. It can also be done by
source decoration on gcc via __asm__(".symver foo"); IIRC. The only
valid usecases I came up with is:
- A C++ and unix-only extension uses the URE and links against an old
version which implements a different version of the same symbol.
However, I have not found that in the map files yet. I only found
additional symbols being available for new versions. So maybe this is
a nonissue (with C++ extension, unix-only and old being a cornercase
already).
- A C++ and unix-only extension that wants to ensure to be compatible
(in theory) with an old URE/OOo version, by linking explicitly
against that version to make sure there are all symbols available in
the old version already. In real life that requires testing with the
complete (old) product anyway.
So is there a real usable scenario I missed? If not, IMHO we should
just drop the versioning (as we dont have one on Windows anyway) and
only provide the latest and greatest API.
Best,
Bjoern
--
https://launchpad.net/~bjoern-michaelsen
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.