[PATCH libICE] Enable visibility annotations

Yury Gribov y.gribov at samsung.com
Tue Apr 19 15:35:11 UTC 2016


On 04/18/2016 06:21 PM, Adam Jackson wrote:
> On Mon, 2016-04-18 at 09:23 +0300, Yury Gribov wrote:
>
>> Does below look like a sane approach?
>> 1) get all deps via
>>     $ apt-cache rdepends libice6 libice-dev
>> 2) unpack each of the above .debs and scan for ELFs
>> 3) for each ELF see if one of now hidden symbols is UND
>
> That sounds good to me.

I've cooked a simple script (attached, reviews welcome) and applied it 
to Ubuntu 14. It showed that there are additional uses for 
_IceTransNoListen (mentioned by Alan in separate email) but nothing else.

>> Note that this does not handle transitive dependencies e.g. if some
>> weird library links static version of libICE and the re-exports it's
>> symbols as part of new lib's public interface.
>
> It'd be possible to scan for this too I suspect.  Look for packages
> that BuildRequire libice6-static, scan the resulting binaries for
> exports. I suspect there are zero such packages.

I have postponed this activity for now (especially given that this 
behavior would be a serious packaging abuse).

-Y
-------------- next part --------------
A non-text attachment was scrubbed...
Name: find-used-symbols.sh
Type: application/x-shellscript
Size: 1983 bytes
Desc: not available
URL: <https://lists.x.org/archives/xorg-devel/attachments/20160419/55a526b5/attachment.bin>
-------------- next part --------------
IceAcceptConnection
IceAddConnectionWatch
IceAllocScratch
IceAuthFileName
IceCloseConnection
IceComposeNetworkIdList
IceConnectionNumber
IceConnectionStatus
IceConnectionString
_IceErrorBadLength
_IceErrorBadMinor
_IceErrorBadState
_IceErrorBadValue
IceFlush
IceFreeAuthFileEntry
IceFreeListenObjs
IceGenerateMagicCookie
IceGetConnectionContext
IceGetListenConnectionNumber
IceGetListenConnectionString
IceGetPeerName
IceLastSentSequenceNumber
IceListenForConnections
IceLockAuthFile
IceOpenConnection
_IcePaMagicCookie1Proc
_IcePoMagicCookie1Proc
IceProcessMessages
IceProtocolSetup
IceProtocolShutdown
_IceRead
IceReadAuthFileEntry
_IceReadSkip
IceRegisterForProtocolReply
IceRegisterForProtocolSetup
IceRemoveConnectionWatch
IceSetErrorHandler
IceSetHostBasedAuthProc
IceSetIOErrorHandler
IceSetPaAuthData
IceSetShutdownNegotiation
_IceTransNoListen
IceUnlockAuthFile
_IceWrite
IceWriteAuthFileEntry


More information about the xorg-devel mailing list