aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2012-12-24 16:44:35 -0500
committerAnthony G. Basile <blueness@gentoo.org>2012-12-28 20:07:33 -0500
commite0c6e2bb8ef37f1c57cb5e83e11bd0c1458854f7 (patch)
tree035008e8f5c5baa0004cd20365b4a46a6c1d9b87
parentmisc/link_maps{,_portage}: make multilib aware (diff)
downloadelfix-e0c6e2bb8ef37f1c57cb5e83e11bd0c1458854f7.tar.gz
elfix-e0c6e2bb8ef37f1c57cb5e83e11bd0c1458854f7.tar.bz2
elfix-e0c6e2bb8ef37f1c57cb5e83e11bd0c1458854f7.zip
misc/link_maps_portage: fix get_{object_needed,libraries} for multilib
-rwxr-xr-xmisc/link_maps_portage8
1 files changed, 5 insertions, 3 deletions
diff --git a/misc/link_maps_portage b/misc/link_maps_portage
index f55db6a..28bc0ea 100755
--- a/misc/link_maps_portage
+++ b/misc/link_maps_portage
@@ -41,9 +41,10 @@ def get_object_needed():
lines = re.split('\n', needs)
for line in lines:
link = re.split(';', line)
+ abi = link[0]
elf = link[1]
sonames = re.split(',', link[4])
- object_needed[elf] = sonames
+ object_needed.setdefault(abi,{}).update({elf:sonames})
return object_needed
@@ -71,11 +72,12 @@ def get_libraries():
lines = re.split('\n', needs)
for line in lines:
link = re.split(';', line)
+ abi = link[0]
elf = link[1]
soname = link[2]
if soname: #no soname => executable
- library2soname[elf] = soname
- soname2library[soname] = elf
+ library2soname[elf] = (soname,abi)
+ soname2library[(soname,abi)] = elf
return ( library2soname, soname2library )