Gentoo Archives: gentoo-portage-dev

From: "Anthony G. Basile" <basile@××××××××××××××.edu>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] [PATCH] Generate soname dependency metadata (282639)
Date: Sun, 01 Feb 2015 20:10:03
Message-Id: 54CE889E.9010709@opensource.dyc.edu
In Reply to: Re: [gentoo-portage-dev] [PATCH] Generate soname dependency metadata (282639) by Zac Medico
1 On 02/01/15 15:00, Zac Medico wrote:
2 > On 01/31/2015 08:04 AM, Anthony G. Basile wrote:
3 >> Yeah I just confirmed that. I installed amd64 fbsd 10.1. I've used
4 >> obsd for years and noticed the "UNIX - System V" and just thought it was
5 >> the same for all *bsd systems. This is the only time I've seen a
6 >> different OS/ABI.
7 >
8 > Hmm, that's interesting. I just noticed that on wikipedia they have a
9 > table listing 9 different constants [1].
10
11 Oh I know there are different values possible here! But are they used
12 in practice? Note that wikipedia also says "It is often set to 0
13 regardless of the target platform."
14
15 >
16 >> Anyhow, I did some perf testing. Concentrating on www-apps/moodle (which
17 >> is a huge package of some 19000 files but no elfs), and
18 >> app-emulation/wine (which has 11000 elf objects) and I found no
19 >> appreciable performance hit.
20 >
21 > Good. If you have enough memory, the ELF headers are likely to be in the
22 > buffer cache when portage probes them for the multilib category. So, if
23 > you're lucky, it will just read from the buffer cache instead of from
24 > the disk.
25 >
26 >> Other tests show that PROVIDES, REQUIRES and NEEDED.ELF.2 are correctly
27 >> being generated.
28 >
29 > Great, thanks for validating this.
30 >
31 >> Once committed, I'll rebuild @system and see if we get the correct
32 >> linkage graph. I have scripts do build such a graph from readelf -d and
33 >> so I can compare.
34 >
35 > Excellent. Also, I've been making lots of progress on soname dependency
36 > resolution in portage [2]. Pretty soon, it should be ready to merge into
37 > the integration branch [3], for wider testing via the corresponding
38 > overlay [4].
39 >
40 > [1] http://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header
41 > [2] https://github.com/zmedico/portage/tree/binpkg-soname-deps
42 > [3] https://github.com/zmedico/portage/tree/binpkg-support-integration
43 > [4] https://github.com/zmedico/portage-binpkg-support-overlay
44 >
45
46 Nice!
47
48
49 --
50 Anthony G. Basile, Ph. D.
51 Chair of Information Technology
52 D'Youville College
53 Buffalo, NY 14201
54 (716) 829-8197