Re: Fwd: In the "stupid" questions department...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 07, 2016 at 02:41:14PM -0500, Whilom Chime wrote:
> > We do not use _rcN there, it's X.Y release number, during -rc time
> > it's unstable and modifiable.
> 
> Could you just help me understand how lib??.sym works?  If I have 2.29
> source and I add UUID_2.30 {...}... does that mean that the symbol
> would be added in my local 2.29 build for testing, but once my
> hypothetical patch was accepted the "world" would not see my new APIs
> in any version less than 2.30?  Or does the package maintainer have to
> manually maintain all kinds of lib??.sym files as revisions happen...

The .sym is used to generate symbol names for the library. The
ELF format supports symbols versioning, see for example:

    $ readelf -a /lib/libuuid.so.1

we have for example

    uuid_compare@@UUID_1.0
    uuid_generate_time_safe@@UUID_2.20

the symbols and versions are evaluated when you execute an application
linked with the library. This allows to mix applications and libs
without recompilation until the library provides necessary symbols.

For more details see "3 Maintaining APIs and ABIs" from
https://software.intel.com/sites/default/files/m/a/1/e/dsohowto.pdf

It's independent on package version, it's possible to use arbitrary
strings as a version in the .sym files.

    Karel

-- 
 Karel Zak  <kzak@xxxxxxxxxx>
 http://karelzak.blogspot.com
--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux