This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]