arc: libgloss: Clean registers before any use

Signed-off-by: Yuriy Kolerov <kolerov93@gmail.com>
This commit is contained in:
Yuriy Kolerov 2024-05-21 10:56:51 +01:00 committed by Jeff Johnston
parent 6cfdd3350e
commit 13ae6cae44
1 changed files with 41 additions and 0 deletions

View File

@ -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