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 UNDThat 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
find-used-symbols.sh
Description: application/shellscript
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
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
