On 2014年09月18日 22:13, Mark Hatle wrote:
On 9/18/14, 8:58 AM, Mark Hatle wrote:
On 9/18/14, 2:19 AM, Khem Raj wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 9/16/14 8:06 AM, Kai Kang wrote:
Redefine dynamic linker for aarch64 from /lib to /lib64.
BASELIB of aarch64 has to be defined with 'lib64', then linker file
ld-linux-aarch64.so.1 is installed into /lib64 rather than /lib. So
update it here too.
hmmm since the ldso name is different it can still live in /lib
and there will be ilp32 version ldso multilib as well later. can we
keep
ldso in /lib ?
I thought the upstream definition (managed by ARM Ltd, and Linaro)
for the ld.so
had changed a few months back so that /lib64 was the 'standard'
location for the
ldso. Perhaps I'm mistaken?
I did some research and I'm confused.. aarch64 is screwed up by
consensus apparently..
Dynamic libraries live in /lib64, and the dynamic linker in /lib.. Whee!
So ya, this patch isn't correct.. the dynamic linker needs to stay in
/lib. (Nothing says you can't sym/hardlink to lib64.. but it has to
refer to in in /lib for the ABI conformance.)
OK. Keep dynamic linker in /lib and change libraries directory from
/lib64 to /lib.
--Kai
--Mark
--Mark
Signed-off-by: Kai Kang <kai.k...@windriver.com>
---
meta/recipes-devtools/gcc/gcc-4.9.inc | 1 +
.../0056-redefine-dynamic-linker-for-aarch64.patch | 34
++++++++++++++++++++++
2 files changed, 35 insertions(+)
create mode 100644
meta/recipes-devtools/gcc/gcc-4.9/0056-redefine-dynamic-linker-for-aarch64.patch
diff --git a/meta/recipes-devtools/gcc/gcc-4.9.inc
b/meta/recipes-devtools/gcc/gcc-4.9.inc
index 25778bd..c434a45 100644
--- a/meta/recipes-devtools/gcc/gcc-4.9.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.9.inc
@@ -70,6 +70,7 @@ SRC_URI = "\
file://0053-gcc-fix-segfault-from-calling-free-on-non-malloc-d-a.patch
\
file://0054-gcc-Makefile.in-fix-parallel-building-failure.patch \
file://0055-PR-rtl-optimization-61801.patch \
+ file://0056-redefine-dynamic-linker-for-aarch64.patch \
"
SRC_URI[md5sum] = "fddf71348546af523353bd43d34919c1"
SRC_URI[sha256sum] =
"d334781a124ada6f38e63b545e2a3b8c2183049515a1abab6d513f109f1d717e"
diff --git
a/meta/recipes-devtools/gcc/gcc-4.9/0056-redefine-dynamic-linker-for-aarch64.patch
b/meta/recipes-devtools/gcc/gcc-4.9/0056-redefine-dynamic-linker-for-aarch64.patch
new file mode 100644
index 0000000..6933e2f
--- /dev/null
+++
b/meta/recipes-devtools/gcc/gcc-4.9/0056-redefine-dynamic-linker-for-aarch64.patch
@@ -0,0 +1,34 @@
+From 8fbb60d89e569b68b13e4fd419e20640eb49cabc Mon Sep 17 00:00:00
2001
+From: Kai Kang <kai.k...@windriver.com>
+Date: Tue, 16 Sep 2014 16:01:31 +0800
+Subject: [PATCH] Redefine dynamic linker for aarch64
+
+Redefine dynamic linker for aarch64 from /lib to /lib64.
+
+BASELIB of aarch64 has to be defined with 'lib64', then linker file
+ld-linux-aarch64.so.1 is installed into /lib64 rather than /lib. So
+update it here too.
+
+Upstream-Status: Pending
+
+Signed-off-by: Kai Kang <kai.k...@windriver.com>
+---
+ gcc/config/aarch64/aarch64-linux.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/aarch64/aarch64-linux.h
b/gcc/config/aarch64/aarch64-linux.h
+index a8f0771..2a6f06d 100644
+--- a/gcc/config/aarch64/aarch64-linux.h
++++ b/gcc/config/aarch64/aarch64-linux.h
+@@ -21,7 +21,7 @@
+ #ifndef GCC_AARCH64_LINUX_H
+ #define GCC_AARCH64_LINUX_H
+
+-#define GLIBC_DYNAMIC_LINKER
"/lib/ld-linux-aarch64%{mbig-endian:_be}.so.1"
++#define GLIBC_DYNAMIC_LINKER
"/lib64/ld-linux-aarch64%{mbig-endian:_be}.so.1"
+
+ #define CPP_SPEC "%{pthread:-D_REENTRANT}"
+
+--
+1.9.1
+
- --
- -Khem
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - https://gpgtools.org
iEYEARECAAYFAlQah2UACgkQuwUzVZGdMxT98wCghPbcAP/2xFgFn9Lv3Wisexa6
kHkAni6hykOqPq44VheOimbMbcimHaZD
=jpy6
-----END PGP SIGNATURE-----
--
Regards,
Neil | Kai Kang
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core