[AArch64] Define BE loader name.
diff mbox

Message ID 52CACD67.7040804@arm.com
State New
Headers show

Commit Message

Marcus Shawcroft Jan. 6, 2014, 3:36 p.m. UTC
Hi,

This patch defines the AArch64 BE loader name.  Corresponding patches 
for glibc and binutils have been posted on the relevant lists.

/Marcus


        * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand 
loader
        name using mbig-endian.
        (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.

Comments

Andrew Pinski Jan. 6, 2014, 5:07 p.m. UTC | #1
On Mon, Jan 6, 2014 at 7:36 AM, Marcus Shawcroft
<marcus.shawcroft@arm.com> wrote:
> Hi,
>
> This patch defines the AArch64 BE loader name.  Corresponding patches for
> glibc and binutils have been posted on the relevant lists.


This is a huge ABI change and makes GCC 4.8.x incompatible with GCC 4.9.0.

Thanks,
Andrew

>
> /Marcus
>
>
>        * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
> loader
>        name using mbig-endian.
>        (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
Marcus Shawcroft Jan. 20, 2014, 5:31 p.m. UTC | #2
On 6 January 2014 15:36, Marcus Shawcroft <marcus.shawcroft@arm.com> wrote:
> Hi,
>
> This patch defines the AArch64 BE loader name.  Corresponding patches for
> glibc and binutils have been posted on the relevant lists.
>
> /Marcus
>
>
>        * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
> loader
>        name using mbig-endian.
>        (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.

This patch has now been committed.

The corresponding glibc patch was committed following this email
https://sourceware.org/ml/libc-ports/2014-01/msg00036.html

/Marcus

Patch
diff mbox

diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
index 15272b8..a8f0771 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.so.1"
+#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}.so.1"
 
 #define CPP_SPEC "%{pthread:-D_REENTRANT}"
 
@@ -32,7 +32,8 @@ 
    %{rdynamic:-export-dynamic}			\
    -dynamic-linker " GNU_USER_DYNAMIC_LINKER "	\
    -X						\
-   %{mbig-endian:-EB} %{mlittle-endian:-EL}"
+   %{mbig-endian:-EB} %{mlittle-endian:-EL}     \
+   -maarch64linux%{mbig-endian:b}"
 
 #define LINK_SPEC LINUX_TARGET_LINK_SPEC