diff options
author | Leno Hou <lenohou@gmail.com> | 2016-04-23 18:15:05 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2017-02-21 17:50:47 -0500 |
commit | 9beda193cf71f2ca84aef6797d77e8ed6e8c16eb (patch) | |
tree | fc36689a1a92f139e673e9c521831c379d625d62 /eclass | |
parent | sys-devel/libtool: fix target linkage for ppc64le systems #581314 (diff) | |
download | gentoo-9beda193cf71f2ca84aef6797d77e8ed6e8c16eb.tar.gz gentoo-9beda193cf71f2ca84aef6797d77e8ed6e8c16eb.tar.bz2 gentoo-9beda193cf71f2ca84aef6797d77e8ed6e8c16eb.zip |
libtool.eclass: elibtoolize: add ppc64le handling #580792
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
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/ELT-patches/ppc64le/2.4.2 | 32 | ||||
-rw-r--r-- | eclass/ELT-patches/ppc64le/2.4.4 | 21 | ||||
-rw-r--r-- | eclass/libtool.eclass | 6 |
3 files changed, 58 insertions, 1 deletions
diff --git a/eclass/ELT-patches/ppc64le/2.4.2 b/eclass/ELT-patches/ppc64le/2.4.2 new file mode 100644 index 000000000000..8d3b116a3dec --- /dev/null +++ b/eclass/ELT-patches/ppc64le/2.4.2 @@ -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" + ;; diff --git a/eclass/ELT-patches/ppc64le/2.4.4 b/eclass/ELT-patches/ppc64le/2.4.4 new file mode 100644 index 000000000000..0d86521653aa --- /dev/null +++ b/eclass/ELT-patches/ppc64le/2.4.4 @@ -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*) diff --git a/eclass/libtool.eclass b/eclass/libtool.eclass index 47ef8128defa..9f56c202ffc2 100644 --- a/eclass/libtool.eclass +++ b/eclass/libtool.eclass @@ -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 @@ -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 ;; |