This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: [PATCH] [AArch64] Define BE loader name.
- From: Marcus Shawcroft <marcus dot shawcroft at gmail dot com>
- To: pinskia at gmail dot com
- Cc: Marcus Shawcroft <marcus dot shawcroft at linaro dot org>, "libc-ports at sourceware dot org" <libc-ports at sourceware dot org>
- Date: Mon, 6 Jan 2014 11:06:02 +0000
- Subject: Re: [PATCH] [AArch64] Define BE loader name.
- Authentication-results: sourceware.org; auth=none
- References: <1388597841-30225-1-git-send-email-marcus dot shawcroft at linaro dot org> <5B4A856A-A214-4F20-83D2-BAD886EB9F04 at gmail dot com>
Hi,
On 1 January 2014 19:31, <pinskia@gmail.com> wrote:
>
>
>> On Jan 1, 2014, at 9:37 AM, Marcus Shawcroft <marcus.shawcroft@linaro.org> wrote:
>>
>> Hi,
>>
>> This patch defines the BE loader name for aarch64 to be ld-linux-aarch64_be.so.1.
>
> We (Cavium and Montavista) already have a distro out in the wild for big-endian and I think changing this is a bad idea as you won't have both little-endian and big-endian on the same system ever.
It is unfortunate that the loader name wasn't put in place before you
put code in the wild.
gcc has been able to configure and build for aarch64_be-none-linux-gnu
since it was upstreamed (4.8). The 4.8 release of gcc was tested for
aarch64-elf, aarch64-linux-gnu and aarch64_be-elf , no
aarch64_be-linux-gnu kernel support was available for testing at the
time. The BE gcc port of aarch64 is very much beta, there has been
flux in BE gcc support over the last year notably in advsimd support
and correctness.
glibc has been able to configure and build for aarch64_be since it was
upstreamed (2.17). Releases 2.17 and 2.18 were tested for
aarch64-linux-gnu. Neither were tested for aarch64_be-linux-gnu. At
the time of those releases there was no functional BE linux port.
linux currently has no support for aarch64_be, the port will be in
3.13 (due in a couple of weeks).
Therefore the situation right now for aarch64_be is that gcc is in a
state of flux and there is no released linux kernel kernel support.
Leaving the loader name overloaded between LE and BE closes doors for
the future, if it doesn't change now, a change further down the line
will be considerably more painful.
Cavium / montavista do have the option of creating a symlink in order
to ease the transition.
> Also you forgot to change both GCC and binutils.
Not forgotten. GCC will be posted shortly. BINUTILS looks like it is
uses a broken loader name for both LE and BE, I'll sort that out
separately.
Cheers
/Marcus