Skip to content

Commit

Permalink
libtool.eclass: elibtoolize: add ppc64le handling #580792
Browse files Browse the repository at this point in the history
1) We faced unable read SONAME from ${lib} when emerge below packages
   platform               pacakge                 elibtoolized
   ppc64le                app-text/opensp         no
   ppc64le                dev-libs/expat          yes
   ppc64le                net-firewall/iptables   yes
   ppc64le                net-libs/libmnl         no
   ppc64le                sys-apps/acl            yes
   ppc64le                sys-apps/attr           yes
   ppc64le                sys-libs/gdbm           yes
   ppc64le                sys-process/procps      no

2) The problem is due to the wrong $LD="ld -m elf64ppc" when link.
 This patch sets $LD="ld -m elf64lppc" in m4/libtool.m4 on ppc64le.

URL: https://debbugs.gnu.org/23348
  • Loading branch information
houstar authored and vapier committed Feb 21, 2017
1 parent 80ed801 commit 9beda19
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 1 deletion.
32 changes: 32 additions & 0 deletions eclass/ELT-patches/ppc64le/2.4.2
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
https://bugs.gentoo.org/580792
https://bugs.gentoo.org/581314
https://debbugs.gnu.org/23348

this adds support for ppc64le to older versions. most of this is upstream already.

--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1329,6 +1329,9 @@
ppc64-*linux*|powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
+ ppc64le-*linux*|powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
s390x-*linux*)
LD="${LD-ld} -m elf_s390"
;;
@@ -1345,9 +1348,12 @@
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- ppc*-*linux*|powerpc*-*linux*)
+ powerpc-*linux*|powerpc64-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
+ powerpcle-*linux*|powerpc64le-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
s390*-*linux*|s390*-*tpf*)
LD="${LD-ld} -m elf64_s390"
;;
21 changes: 21 additions & 0 deletions eclass/ELT-patches/ppc64le/2.4.4
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
https://bugs.gentoo.org/580792
https://bugs.gentoo.org/581314
https://debbugs.gnu.org/23348

this fixes ppc64le handling in newer libtool versions

--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1386,10 +1386,10 @@
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- powerpcle-*linux*)
+ powerpcle-*linux*|powerpc64le-*linux*)
LD="${LD-ld} -m elf64lppc"
;;
- powerpc-*linux*)
+ powerpc-*linux*|powerpc64-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
6 changes: 5 additions & 1 deletion eclass/libtool.eclass
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ elibtoolize() {
local deptoremove=
local do_shallow="no"
local force="false"
local elt_patches="install-sh ltmain portage relink max_cmd_len sed test tmp cross as-needed target-nm"
local elt_patches="install-sh ltmain portage relink max_cmd_len sed test tmp cross as-needed target-nm ppc64le"

for x in "$@" ; do
case ${x} in
Expand Down Expand Up @@ -417,6 +417,10 @@ elibtoolize() {
ELT_walk_patches "${d}/configure" "${p}"
ret=$?
;;
ppc64le)
ELT_walk_patches "${d}/configure" "${p}"
ret=$?
;;
*)
# ltmain.sh patches are applied above
;;
Expand Down

0 comments on commit 9beda19

Please sign in to comment.