From: Alexey Tourbin <at@altlinux.ru> To: devel@lists.altlinux.org Subject: Re: [devel] symbols into dependencies Date: Mon, 16 Nov 2009 16:09:49 +0300 Message-ID: <20091116130949.GX10659@altlinux.org> (raw) In-Reply-To: <20091116125029.GC15838@newmaster.mivlgu.local> [-- Attachment #1: Type: text/plain, Size: 1825 bytes --] On Mon, Nov 16, 2009 at 03:50:29PM +0300, Sergey Vlasov wrote: > On Mon, Nov 16, 2009 at 03:01:03PM +0300, Damir Shayhutdinov wrote: > > > On the other hand, we can simply assume that symbols should not be moved > > > across the libraries. The worst thing that can happen then (if a symbol > > > does move) is that we need to rebuild a bunch of packages, only to > > > relink their binaries and update dependencies. > > Do we care about binary-only apps which we cannot rebuild - would > their repackaging in the RPM form become impossible? The idea is that, at build time, we use something like ldd(1) to find out how the dynamic linker resolves undefined symbols. We then get "the best possible" asoociation between symbols and libraries. Prebuilt binaries are then different in a way that they can be "underlinked": certain symbols can be transitively resolved into libraries which are not specified as DT_NEEDED. So it is quite possible to handle prebuilt binaries. The only question is whether extra dependencies (based on transitively resolved symbols) should be added to the package. > > Have you thought about C++ libraries and their mangling? And the fact > > that many of C++ exported symbols in such libraries are not, in fact, > > the part of the API, they are only exported because C++ cannot control > > their visibility on the ELF symbol level. I'm talking about private > > methods of classes. > > Private methods can still be part of the public ABI - e.g., if a > public inline calls a private non-inline method, the resulting > executable will have a reference to the "private" symbol. > > C++ libraries have yet another property which is unusual for C > libraries - they typically use weak symbols. Anyway, the idea is to find out "what the linker would do". [-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
next prev parent reply other threads:[~2009-11-16 13:09 UTC|newest] Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top 2009-11-13 8:36 [devel] SharedLibsPolicy или хорошо что мы не Debian Valery V. Inozemtsev 2009-11-13 10:42 ` Anton Farygin 2009-11-13 11:14 ` Damir Shayhutdinov 2009-11-13 11:17 ` Anton Farygin 2009-11-13 11:26 ` Led 2009-11-13 11:27 ` Damir Shayhutdinov 2009-11-13 11:33 ` Valery V. Inozemtsev 2009-11-13 11:37 ` Damir Shayhutdinov 2009-11-13 11:44 ` Anton Farygin 2009-11-13 11:46 ` Valery V. Inozemtsev 2009-11-13 12:18 ` Damir Shayhutdinov 2009-11-13 11:56 ` Денис Смирнов 2009-11-18 19:17 ` Yury Aliaev 2009-11-19 2:40 ` Денис Смирнов 2009-11-19 7:20 ` Yury Aliaev 2009-11-13 16:07 ` Igor Vlasenko 2009-11-13 16:40 ` Anton Farygin 2009-11-13 17:12 ` Igor Vlasenko 2009-11-13 17:19 ` Anton Farygin 2009-11-18 19:19 ` Yury Aliaev 2009-11-13 12:22 ` Sergey V Turchin 2009-11-13 21:25 ` [devel] SharedLibsPolicy Michael Shigorin 2009-11-13 21:39 ` Led 2009-11-13 22:55 ` Michael Shigorin 2009-11-13 23:17 ` Led 2009-11-14 9:53 ` Michael Shigorin 2009-11-14 20:25 ` Денис Смирнов 2009-11-14 20:45 ` Led 2009-11-14 22:20 ` Денис Смирнов 2009-11-14 22:30 ` Led 2009-11-14 22:55 ` Денис Смирнов 2009-11-14 23:19 ` Led 2009-11-15 0:46 ` Денис Смирнов 2009-11-15 1:36 ` Led 2009-11-15 7:06 ` Денис Смирнов 2009-11-15 20:00 ` Led 2009-11-15 20:27 ` Michael Shigorin 2009-11-15 21:01 ` Led 2009-11-15 21:27 ` Michael Shigorin 2009-11-15 22:20 ` Anton Farygin 2009-11-15 21:14 ` [devel] symbols into dependencies Alexey Tourbin 2009-11-15 22:47 ` Led 2009-11-15 23:11 ` Alexey Tourbin 2009-11-15 23:43 ` Led 2009-11-16 0:16 ` Alexey Tourbin 2009-11-16 0:27 ` Dmitry V. Levin 2009-11-17 1:10 ` Alexey Tourbin 2009-11-16 0:05 ` Dmitry V. Levin 2009-11-16 0:44 ` Alexey Tourbin 2009-11-16 9:46 ` Sergey Vlasov 2009-11-16 10:48 ` Dmitry V. Levin 2009-11-16 11:36 ` Alexey Tourbin 2009-11-16 12:01 ` Damir Shayhutdinov 2009-11-16 12:17 ` Alexey Tourbin 2009-11-16 12:50 ` Sergey Vlasov 2009-11-16 13:09 ` Alexey Tourbin [this message] 2009-11-16 8:16 ` Stanislav Ievlev 2009-11-15 22:01 ` [devel] SharedLibsPolicy Sergey Vlasov 2009-11-15 22:54 ` Led 2009-11-15 12:08 ` Igor Vlasenko 2009-11-15 13:30 ` Michael Shigorin 2009-11-15 19:11 ` Michael Shigorin 2009-11-15 19:36 ` Денис Смирнов 2009-11-15 20:29 ` Michael Shigorin 2009-11-15 19:36 ` Konstantin Pavlov 2009-11-15 19:39 ` Денис Смирнов 2009-11-14 20:31 ` [devel] SharedLibsPolicy или хорошо что мы не Debian Денис Смирнов 2009-11-14 23:14 ` Anton Farygin 2009-11-15 12:24 ` Michael Shigorin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20091116130949.GX10659@altlinux.org \ --to=at@altlinux.ru \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git