Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 3/9] gcc-4.9: redefine dynamic linker for aarch64
Date: Thu, 18 Sep 2014 09:13:43 -0500	[thread overview]
Message-ID: <541AE897.4080305@windriver.com> (raw)
In-Reply-To: <541AE517.70204@windriver.com>

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.)

--Mark

> --Mark
>
>>>
>>> Signed-off-by: Kai Kang <kai.kang@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.kang@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.kang@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-----
>>
>



  reply	other threads:[~2014-09-18 14:13 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-16 15:06 [PATCH 0/9] V2: Add machine qemuaarch64 Kai Kang
2014-09-16 15:06 ` [PATCH 1/9] linux-yocto: depend on libgcc for aarch64 Kai Kang
2014-09-18  6:56   ` Khem Raj
2014-09-18  9:27     ` Kang Kai
2014-09-16 15:06 ` [PATCH 2/9] Add machine qemuarm64 Kai Kang
2014-09-16 15:06 ` [PATCH 3/9] gcc-4.9: redefine dynamic linker for aarch64 Kai Kang
2014-09-18  7:19   ` Khem Raj
2014-09-18  9:37     ` Kang Kai
2014-09-18 13:58     ` Mark Hatle
2014-09-18 14:13       ` Mark Hatle [this message]
2014-09-19  6:17         ` Kang Kai
2014-09-20  5:06           ` Mark Hatle
2014-09-16 15:06 ` [PATCH 4/9] libatomics-ops: add aarch64 target iniitial support Kai Kang
2014-09-16 15:06 ` [PATCH 5/9] qt4-native: add aarch64 support Kai Kang
2014-09-16 15:06 ` [PATCH 6/9] qt4: " Kai Kang
2014-09-16 15:06 ` [PATCH 7/9] qt4-embedded: disable webkit Kai Kang
2014-09-16 15:06 ` [PATCH 8/9] libpng: add neon option for aarch64 Kai Kang
2014-09-16 15:06 ` [PATCH 9/9] perf: disable libunwind support " Kai Kang
2014-09-18  7:07   ` Khem Raj
2014-09-18  9:38     ` Kang Kai
2014-09-17  9:13 ` [PATCH 0/9] V2: Add machine qemuaarch64 Kang Kai
2014-09-17 15:11 ` Burton, Ross
2014-09-18  9:40   ` Kang Kai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=541AE897.4080305@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox