1 |
vapier 12/08/28 02:34:25 |
2 |
|
3 |
Modified: src_install.eblit |
4 |
Log: |
5 |
Rework how we symlink in ldsos so it works for all targets even when SYMLINK_LIB is not enabled. |
6 |
|
7 |
(Portage version: 2.2.0_alpha120/cvs/Linux x86_64) |
8 |
|
9 |
Revision Changes Path |
10 |
1.24 sys-libs/glibc/files/eblits/src_install.eblit |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/files/eblits/src_install.eblit?rev=1.24&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/files/eblits/src_install.eblit?rev=1.24&content-type=text/plain |
14 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/files/eblits/src_install.eblit?r1=1.23&r2=1.24 |
15 |
|
16 |
Index: src_install.eblit |
17 |
=================================================================== |
18 |
RCS file: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_install.eblit,v |
19 |
retrieving revision 1.23 |
20 |
retrieving revision 1.24 |
21 |
diff -u -r1.23 -r1.24 |
22 |
--- src_install.eblit 18 Aug 2012 23:14:16 -0000 1.23 |
23 |
+++ src_install.eblit 28 Aug 2012 02:34:25 -0000 1.24 |
24 |
@@ -1,6 +1,6 @@ |
25 |
# Copyright 1999-2012 Gentoo Foundation |
26 |
# Distributed under the terms of the GNU General Public License v2 |
27 |
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_install.eblit,v 1.23 2012/08/18 23:14:16 vapier Exp $ |
28 |
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_install.eblit,v 1.24 2012/08/28 02:34:25 vapier Exp $ |
29 |
|
30 |
toolchain-glibc_src_install() { |
31 |
local GBUILDDIR |
32 |
@@ -69,18 +69,41 @@ |
33 |
# Everything past this point just needs to be done once ... |
34 |
is_final_abi || return 0 |
35 |
|
36 |
- # Make sure the non-native interp can be found on multilib systems |
37 |
- if [[ ${SYMLINK_LIB} == "yes" ]] && has_multilib_profile ; then |
38 |
- local abi32 ldso |
39 |
- case $(tc-arch) in |
40 |
- amd64) abi32="x86" ldso="ld-linux.so.2" ;; |
41 |
- ppc64) abi32="ppc" ldso="ld.so.1" ;; |
42 |
- esac |
43 |
- if [[ -n ${ldso} ]] ; then |
44 |
- [[ ! -e ${D}/lib ]] && dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib |
45 |
- dosym ../$(get_abi_LIBDIR ${abi32})/${ldso} $(alt_prefix)/lib/${ldso} |
46 |
- fi |
47 |
+ # Make sure the non-native interp can be found on multilib systems even |
48 |
+ # if the main library set isn't installed into the right place. Maybe |
49 |
+ # we should query the active gcc for info instead of hardcoding it ? |
50 |
+ local i ldso_abi ldso_name |
51 |
+ local ldso_abi_list=( |
52 |
+ # x86 |
53 |
+ amd64 /lib64/ld-linux-x86-64.so.2 |
54 |
+ x32 /libx32/ld-linux-x32.so.2 |
55 |
+ x86 /lib/ld-linux.so.2 |
56 |
+ # mips |
57 |
+ o32 /lib/ld.so.1 |
58 |
+ n32 /lib32/ld.so.1 |
59 |
+ n64 /lib64/ld.so.1 |
60 |
+ # powerpc |
61 |
+ ppc /lib/ld.so.1 |
62 |
+ ppc64 /lib64/ld64.so.1 |
63 |
+ # s390 |
64 |
+ s390 /lib/ld.so.1 |
65 |
+ s390x /lib/ld64.so.1 |
66 |
+ # sparc |
67 |
+ sparc32 /lib/ld-linux.so.2 |
68 |
+ sparc64 /lib64/ld-linux.so.2 |
69 |
+ ) |
70 |
+ if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${D}/$(alt_prefix)/lib ]] ; then |
71 |
+ dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib |
72 |
fi |
73 |
+ for (( i = 0; i < ${#ldso_abi_list[@]}; ++i )) ; do |
74 |
+ ldso_abi=${ldso_abi_list[i]} |
75 |
+ has ${ldso_abi} $(get_install_abis) || continue |
76 |
+ |
77 |
+ ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" |
78 |
+ if [[ ! -L ${D}/${ldso_name} && ! -e ${D}/${ldso_name} ]] ; then |
79 |
+ dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} |
80 |
+ fi |
81 |
+ done |
82 |
|
83 |
################################################################# |
84 |
# EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # |