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]

[PATCH][libgloss][AArch64] Fix flags for crt0 compilation.


Hi All,

Previous patch to support nosys.specs accidentally broke
validation specs because ARM_RDI_MONITOR was never passed
to the build rule for crt0.

This fixed the compile for nosys and validation specs
but nosys won't run because of existing limitations to
aarch64's syscalls.c, it requires semihosting to get
commandline arguments and heap info without having a
fallback method as ARM does.

Tested on aarch64-none-elf with specs:
 - nosys.specs
 - aem-validation.specs
 - rdimon.specs

Previously patch was only tested with qemu, which seems
is always able to write to the std handles. So also
cross-checked with aem this time.

Ok for master?

Ps. I don't have commit right.

Thanks (sorry for the repeated fixes. All build system configurations should have caught up now.),
Tamar
From e119b6c7ceca2ecef397002537fbc4208af1b93c Mon Sep 17 00:00:00 2001
From: Tamar Christina <tamar.christina@arm.com>
Date: Thu, 20 Jul 2017 13:28:40 +0100
Subject: [PATCH] Previous patch to support nosys.specs accidentally broke
 validation specs because ARM_RDI_MONITOR was never passed to the build rule
 for crt0.

This fixed the compile for nosys and validation specs
but nosys won't run because of existing limitations to
aarch64's syscalls.c, it requires semihosting to get
commandline arguments and heap info without having a
fallback method as ARM does.

Signed-off-by: Tamar Christina <tamar.christina@arm.com>
---
 libgloss/aarch64/Makefile.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libgloss/aarch64/Makefile.in b/libgloss/aarch64/Makefile.in
index 546557e3c..8111f262c 100644
--- a/libgloss/aarch64/Makefile.in
+++ b/libgloss/aarch64/Makefile.in
@@ -118,7 +118,7 @@ test:
 
 #
 crt0.o: crt0.S
-	$(CC) $(CFLAGS_FOR_TARGET) $($(MULTI_FLAGS_FOR_TARGET)) $(CFLAGS) $(INCLUDES) -o $@ -c $<
+	$(CC) $(CFLAGS_FOR_TARGET) $($(MULTI_FLAGS_FOR_TARGET)) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
 
 rdimon-crt0${${MULTILIBNAME}}.o: crt0.S
 	$(CC) $(CFLAGS_FOR_TARGET) $($(MULTI_FLAGS_FOR_TARGET)) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
-- 
2.13.0


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