symbols.map stanza names
Daniel van Vugt
daniel.van.vugt at canonical.com
Mon Aug 31 01:57:22 UTC 2015
I've considered using your suggested approach but also been using an
arguably cleaner solution for around the past year[*]. If you look in
src/client/symbols.map you will find:
MIR_CLIENT_9.1 { # New functions in Mir 0.15
It's no less foolproof than what you suggest, but has the added benefit
of not over-growing symbol names embedded in the binaries.
Given that symbol name length is a major cause of binary bloat in C++
already, that's something to consider...
[*] Past year but you won't find many traces of it because we keep
deleting the entries with comments when they get subsumed by major ABI
bumps.
On 28/08/15 23:46, Alan Griffiths wrote:
> The current approach to naming stanzas in the symbol maps leads to a
> potential for mistakes. For example, src/platform/symbols.map has the
> following stanzas:
>
> MIRPLATFORM_9 {
> ...
> }
>
> MIRPLATFORM_9.1 {
> ...
> } MIRPLATFORM_9;
>
> It is far from obvious when adding a symbol whether it should be added
> to MIRPLATFORM_9.1 or to a new MIRPLATFORM_9.2. As it happens
> MIRPLATFORM_9.1 was created after 0.15 was branched so that is the
> "right one". But it isn't obvious: If MIRPLATFORM_9.1 had shipped in
> 0.15 then MIRPLATFORM_9.2 would be right.
>
> I don't know of any reason why we name stanzas this way except "tradition".
>
> What does the team think of using this instead?
>
> MIRPLATFORM_9_new_symbols_from_0.16 {
> ...
> } MIRPLATFORM_9;
>
> And after we branch release 0.16 it is clearer we should add:
>
> MIRPLATFORM_9_new_symbols_from_0.17 {
> ...
> } MIRPLATFORM_9_new_symbols_from_0.16;
>
> When the ABI breaks we consolidate as before.
>
More information about the Mir-devel
mailing list