[PATCH 08/15] arc: libgloss: Clean registers before any use

[email protected]
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
From: Yuriy Kolerov <[email protected]>

Signed-off-by: Yuriy Kolerov <[email protected]>
---
 libgloss/arc/crt0.S | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/libgloss/arc/crt0.S b/libgloss/arc/crt0.S
index 1999e602b..0c2a2bd26 100644
--- a/libgloss/arc/crt0.S
+++ b/libgloss/arc/crt0.S
@@ -178,6 +178,47 @@ __start:
 
 #endif /* !__ARC601__ */
 
+;;; Clear the registers.
+	mov_s	r0,0
+	mov_s	r1,0
+	mov_s	r2,0
+	mov_s	r3,0
+#ifndef __ARC_RF16__
+	mov	r4,0
+	mov	r5,0
+	mov	r6,0
+	mov	r7,0
+	mov	r8,0
+	mov	r9,0
+#endif
+	mov	r10,0
+	mov	r11,0
+	mov_s	r12,0
+	mov_s	r13,0
+	mov_s	r14,0
+	mov_s	r15,0
+#ifndef __ARC_RF16__
+	mov	r16,0
+	mov	r17,0
+	mov	r18,0
+	mov	r19,0
+	mov	r20,0
+	mov	r21,0
+	mov	r22,0
+	mov	r23,0
+	mov	r24,0
+	mov	r25,0
+#endif
+	mov	r27,0
+	;; SP (r28) is initialized
+#if defined (__ARCEM__) || defined (__ARCHS__)
+	mov	ilink,0
+	mov	r30,0
+#else
+	mov	ilink1,0
+	mov	ilink2,0
+#endif /* ARCv2 */
+
 	;; Call constructors
 	jl	@_init
 
-- 
2.39.2
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.