1 |
1) We faced unable read SONAME from ${lib} when emerge below packages |
2 |
platform pacakge elibtoolized |
3 |
ppc64le app-text/opensp no |
4 |
ppc64le dev-libs/expat yes |
5 |
ppc64le net-firewall/iptables yes |
6 |
ppc64le net-libs/libmnl no |
7 |
ppc64le sys-apps/acl yes |
8 |
ppc64le sys-apps/attr yes |
9 |
ppc64le sys-libs/gdbm yes |
10 |
ppc64le sys-process/procps no |
11 |
|
12 |
2) The problem is due to the wrong $LD="ld -m elf64ppc" when link. |
13 |
This patch sets $LD="ld -m elf64lppc" in m4/libtool.m4 on ppc64le. |
14 |
|
15 |
3) Also patched m4/libtool.m4 in libtool-2.4.6. Reported the bug[1] in |
16 |
libtool upstream, Once the upstream fixed the libtool problem for |
17 |
ppc64le, we can pull back from the upstream. |
18 |
|
19 |
[1] http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23348 |
20 |
|
21 |
Signed-off-by: Leno Hou <lenohou@×××××.com> |
22 |
CC: Mike Frysinger <vapier@g.o> |
23 |
--- |
24 |
eclass/ELT-patches/ppc64le/2.4.2 | 26 ++++++++++++++++++++++ |
25 |
eclass/ELT-patches/ppc64le/2.4.4 | 15 +++++++++++++ |
26 |
eclass/ELT-patches/ppc64le/2.4.6 | 15 +++++++++++++ |
27 |
eclass/libtool.eclass | 6 ++++- |
28 |
.../files/libtool-2.4.6-link-with-ppc64le.patch | 15 +++++++++++++ |
29 |
sys-devel/libtool/libtool-2.4.6-r1.ebuild | 1 + |
30 |
sys-devel/libtool/libtool-2.4.6-r2.ebuild | 1 + |
31 |
sys-devel/libtool/libtool-2.4.6.ebuild | 1 + |
32 |
8 files changed, 79 insertions(+), 1 deletion(-) |
33 |
create mode 100644 eclass/ELT-patches/ppc64le/2.4.2 |
34 |
create mode 100644 eclass/ELT-patches/ppc64le/2.4.4 |
35 |
create mode 100644 eclass/ELT-patches/ppc64le/2.4.6 |
36 |
create mode 100644 sys-devel/libtool/files/libtool-2.4.6-link-with-ppc64le.patch |
37 |
|
38 |
diff --git a/eclass/ELT-patches/ppc64le/2.4.2 b/eclass/ELT-patches/ppc64le/2.4.2 |
39 |
new file mode 100644 |
40 |
index 0000000..d61f6c3 |
41 |
--- /dev/null |
42 |
+++ b/eclass/ELT-patches/ppc64le/2.4.2 |
43 |
@@ -0,0 +1,26 @@ |
44 |
+--- m4/libtool.m4.orig 2016-04-21 16:50:01.118444710 +0000 |
45 |
++++ m4/libtool.m4 2016-04-21 16:52:39.419906716 +0000 |
46 |
+@@ -1329,6 +1329,9 @@ |
47 |
+ ppc64-*linux*|powerpc64-*linux*) |
48 |
+ LD="${LD-ld} -m elf32ppclinux" |
49 |
+ ;; |
50 |
++ ppc64le-*linux*|powerpc64le-*linux*) |
51 |
++ LD="${LD-ld} -m elf32lppclinux" |
52 |
++ ;; |
53 |
+ s390x-*linux*) |
54 |
+ LD="${LD-ld} -m elf_s390" |
55 |
+ ;; |
56 |
+@@ -1345,9 +1348,12 @@ |
57 |
+ x86_64-*linux*) |
58 |
+ LD="${LD-ld} -m elf_x86_64" |
59 |
+ ;; |
60 |
+- ppc*-*linux*|powerpc*-*linux*) |
61 |
++ powerpc-*linux*|powerpc64-*linux*) |
62 |
+ LD="${LD-ld} -m elf64ppc" |
63 |
+ ;; |
64 |
++ powerpcle-*linux*|powerpc64le-*linux*) |
65 |
++ LD="${LD-ld} -m elf64lppc" |
66 |
++ ;; |
67 |
+ s390*-*linux*|s390*-*tpf*) |
68 |
+ LD="${LD-ld} -m elf64_s390" |
69 |
+ ;; |
70 |
diff --git a/eclass/ELT-patches/ppc64le/2.4.4 b/eclass/ELT-patches/ppc64le/2.4.4 |
71 |
new file mode 100644 |
72 |
index 0000000..e3e4637 |
73 |
--- /dev/null |
74 |
+++ b/eclass/ELT-patches/ppc64le/2.4.4 |
75 |
@@ -0,0 +1,15 @@ |
76 |
+--- m4/libtool.m4.orig 2016-04-21 16:59:06.039629474 +0000 |
77 |
++++ m4/libtool.m4 2016-04-21 17:00:10.564264157 +0000 |
78 |
+@@ -1386,10 +1386,10 @@ |
79 |
+ x86_64-*linux*) |
80 |
+ LD="${LD-ld} -m elf_x86_64" |
81 |
+ ;; |
82 |
+- powerpcle-*linux*) |
83 |
++ powerpcle-*linux*|powerpc64le-*linux*) |
84 |
+ LD="${LD-ld} -m elf64lppc" |
85 |
+ ;; |
86 |
+- powerpc-*linux*) |
87 |
++ powerpc-*linux*|powerpc64-*linux*) |
88 |
+ LD="${LD-ld} -m elf64ppc" |
89 |
+ ;; |
90 |
+ s390*-*linux*|s390*-*tpf*) |
91 |
diff --git a/eclass/ELT-patches/ppc64le/2.4.6 b/eclass/ELT-patches/ppc64le/2.4.6 |
92 |
new file mode 100644 |
93 |
index 0000000..711ceb2 |
94 |
--- /dev/null |
95 |
+++ b/eclass/ELT-patches/ppc64le/2.4.6 |
96 |
@@ -0,0 +1,15 @@ |
97 |
+--- m4/libtool.m4.orig 2016-04-21 16:42:22.170586778 +0000 |
98 |
++++ m4/libtool.m4 2016-04-21 16:43:41.571195049 +0000 |
99 |
+@@ -1417,10 +1417,10 @@ |
100 |
+ x86_64-*linux*) |
101 |
+ LD="${LD-ld} -m elf_x86_64" |
102 |
+ ;; |
103 |
+- powerpcle-*linux*) |
104 |
++ powerpcle-*linux*|powerpc64le-*linux*) |
105 |
+ LD="${LD-ld} -m elf64lppc" |
106 |
+ ;; |
107 |
+- powerpc-*linux*) |
108 |
++ powerpc-*linux*|powerpc64-*linux*) |
109 |
+ LD="${LD-ld} -m elf64ppc" |
110 |
+ ;; |
111 |
+ s390*-*linux*|s390*-*tpf*) |
112 |
diff --git a/eclass/libtool.eclass b/eclass/libtool.eclass |
113 |
index 47ef812..9f56c20 100644 |
114 |
--- a/eclass/libtool.eclass |
115 |
+++ b/eclass/libtool.eclass |
116 |
@@ -144,7 +144,7 @@ elibtoolize() { |
117 |
local deptoremove= |
118 |
local do_shallow="no" |
119 |
local force="false" |
120 |
- local elt_patches="install-sh ltmain portage relink max_cmd_len sed test tmp cross as-needed target-nm" |
121 |
+ local elt_patches="install-sh ltmain portage relink max_cmd_len sed test tmp cross as-needed target-nm ppc64le" |
122 |
|
123 |
for x in "$@" ; do |
124 |
case ${x} in |
125 |
@@ -417,6 +417,10 @@ elibtoolize() { |
126 |
ELT_walk_patches "${d}/configure" "${p}" |
127 |
ret=$? |
128 |
;; |
129 |
+ ppc64le) |
130 |
+ ELT_walk_patches "${d}/configure" "${p}" |
131 |
+ ret=$? |
132 |
+ ;; |
133 |
*) |
134 |
# ltmain.sh patches are applied above |
135 |
;; |
136 |
diff --git a/sys-devel/libtool/files/libtool-2.4.6-link-with-ppc64le.patch b/sys-devel/libtool/files/libtool-2.4.6-link-with-ppc64le.patch |
137 |
new file mode 100644 |
138 |
index 0000000..7cba5ba |
139 |
--- /dev/null |
140 |
+++ b/sys-devel/libtool/files/libtool-2.4.6-link-with-ppc64le.patch |
141 |
@@ -0,0 +1,15 @@ |
142 |
+--- m4/libtool.m4.orig 2016-04-22 15:23:26.197427774 +0000 |
143 |
++++ m4/libtool.m4 2016-04-22 15:24:36.977428596 +0000 |
144 |
+@@ -1417,10 +1417,10 @@ |
145 |
+ x86_64-*linux*) |
146 |
+ LD="${LD-ld} -m elf_x86_64" |
147 |
+ ;; |
148 |
+- powerpcle-*linux*) |
149 |
++ powerpcle-*linux*|powerpc64le-*linux*) |
150 |
+ LD="${LD-ld} -m elf64lppc" |
151 |
+ ;; |
152 |
+- powerpc-*linux*) |
153 |
++ powerpc-*linux*|powerpc64-*linux*) |
154 |
+ LD="${LD-ld} -m elf64ppc" |
155 |
+ ;; |
156 |
+ s390*-*linux*|s390*-*tpf*) |
157 |
diff --git a/sys-devel/libtool/libtool-2.4.6-r1.ebuild b/sys-devel/libtool/libtool-2.4.6-r1.ebuild |
158 |
index 677db33..671a07d 100644 |
159 |
--- a/sys-devel/libtool/libtool-2.4.6-r1.ebuild |
160 |
+++ b/sys-devel/libtool/libtool-2.4.6-r1.ebuild |
161 |
@@ -48,6 +48,7 @@ src_prepare() { |
162 |
|
163 |
epatch "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch #109105 |
164 |
epatch "${FILESDIR}"/${P}-fuse-ld.patch |
165 |
+ epatch "${FILESDIR}"/${PN}-2.4.6-link-with-ppc64le.patch #580792 |
166 |
pushd libltdl >/dev/null |
167 |
AT_NOELIBTOOLIZE=yes eautoreconf |
168 |
popd >/dev/null |
169 |
diff --git a/sys-devel/libtool/libtool-2.4.6-r2.ebuild b/sys-devel/libtool/libtool-2.4.6-r2.ebuild |
170 |
index 7e8b7ef..e7cee2a 100644 |
171 |
--- a/sys-devel/libtool/libtool-2.4.6-r2.ebuild |
172 |
+++ b/sys-devel/libtool/libtool-2.4.6-r2.ebuild |
173 |
@@ -53,6 +53,7 @@ src_prepare() { |
174 |
epatch "${FILESDIR}"/${P}-libtoolize-slow.patch |
175 |
epatch "${FILESDIR}"/${P}-libtoolize-delay-help.patch |
176 |
epatch "${FILESDIR}"/${P}-sed-quote-speedup.patch #542252 |
177 |
+ epatch "${FILESDIR}"/${PN}-2.4.6-link-with-ppc64le.patch #580792 |
178 |
pushd libltdl >/dev/null |
179 |
AT_NOELIBTOOLIZE=yes eautoreconf |
180 |
popd >/dev/null |
181 |
diff --git a/sys-devel/libtool/libtool-2.4.6.ebuild b/sys-devel/libtool/libtool-2.4.6.ebuild |
182 |
index 71a9b47..ca0265e 100644 |
183 |
--- a/sys-devel/libtool/libtool-2.4.6.ebuild |
184 |
+++ b/sys-devel/libtool/libtool-2.4.6.ebuild |
185 |
@@ -47,6 +47,7 @@ src_prepare() { |
186 |
use vanilla && return 0 |
187 |
|
188 |
epatch "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch #109105 |
189 |
+ epatch "${FILESDIR}"/${PN}-2.4.6-link-with-ppc64le.patch #580792 |
190 |
pushd libltdl >/dev/null |
191 |
AT_NOELIBTOOLIZE=yes eautoreconf |
192 |
popd >/dev/null |
193 |
-- |
194 |
2.7.3 |