This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: [AArch64] use stack symbol provided by linker for nosys
On 16/08/17 14:23, Szabolcs Nagy wrote:
> now the aarch64-none-elf toolchain builds but all
> of our execution tests fail, because __call_exitprocs
> eventually calls the 0x1 address.
>
> i think this patch should be reverted or somebody
> has to figure out what's going on (and test it
> at least in qemu-user with the rdimon.specs before
> committing it)
>
please apply the attached patch.
>From 703640745903f25341c2b1d8385ce6ae799ef4c8 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Thu, 17 Aug 2017 11:42:59 +0100
Subject: [PATCH] [AArch64] Fix crt0 init fini code
__USES_INITFINI__ ifdef was incorrectly copied from arm
(it's an arm backend thing in gcc, not meaningful on aarch64)
---
libgloss/aarch64/crt0.S | 4 ----
1 file changed, 4 deletions(-)
diff --git a/libgloss/aarch64/crt0.S b/libgloss/aarch64/crt0.S
index cc7e84ddf..4ad435e03 100644
--- a/libgloss/aarch64/crt0.S
+++ b/libgloss/aarch64/crt0.S
@@ -153,12 +153,10 @@
bl FUNCTION (initialise_monitor_handles)
#endif
-#ifdef __USES_INITFINI__
/* .init and .fini sections are used to create constructors
and destructors. Here we call the _init function and arrange
for _fini to be called at program exit. */
ldr x0, .Lfini
-#endif
bl FUNCTION (atexit)
bl FUNCTION (_init)
@@ -256,10 +254,8 @@ FUNCTION (_cpu_init_hook):
GEN_DWORD __bss_start__
.LC2:
GEN_DWORD __bss_end__
-#ifdef __USES_INITFINI__
.Lfini:
GEN_DWORD FUNCTION(_fini)
-#endif
#ifdef ARM_RDI_MONITOR
.Lenvp:
GEN_DWORD env
--
2.11.0