summaryrefslogtreecommitdiffstats
path: root/arch/arm/lib
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-03-07 09:09:46 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2018-03-23 07:43:27 +0100
commit632a17be29153eb31d156183e5cae7a31fbbfc52 (patch)
treec196af3a953265901e37e92d816440e4c6d02270 /arch/arm/lib
parent868df08038a91d674a0c50b0c0a2f70dbc445510 (diff)
downloadbarebox-632a17be29153eb31d156183e5cae7a31fbbfc52.tar.gz
barebox-632a17be29153eb31d156183e5cae7a31fbbfc52.tar.xz
ARM: aarch64: fix pbl linker script for aarch64
Fix output format for aarch64. Also, relocation fixup symbols are in rela section rather than rel section. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/lib')
-rw-r--r--arch/arm/lib/pbl.lds.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/lib/pbl.lds.S b/arch/arm/lib/pbl.lds.S
index be0a4a3b1a..9df1800543 100644
--- a/arch/arm/lib/pbl.lds.S
+++ b/arch/arm/lib/pbl.lds.S
@@ -25,8 +25,13 @@
#define BASE (TEXT_BASE - SZ_2M)
#endif
+#ifdef CONFIG_CPU_32
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
+#else
+OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64")
+OUTPUT_ARCH(aarch64)
+#endif
SECTIONS
{
. = BASE;
@@ -62,7 +67,11 @@ SECTIONS
.data : { *(.data*) }
.rel_dyn_start : { *(.__rel_dyn_start) }
+#ifdef CONFIG_CPU_32
.rel.dyn : { *(.rel*) }
+#else
+ .rela.dyn : { *(.rela*) }
+#endif
.rel_dyn_end : { *(.__rel_dyn_end) }
.__dynsym_start : { *(.__dynsym_start) }