From 488d885bf3647634a94f9f95c6bcf3321073b2ac Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Fri, 21 Mar 2014 20:27:41 +0000 Subject: [PATCH] 2014-03-21 Sabrini Ni * nds32/crt0.S: Use pseudo-instruction "bal frame" to replace "la + jral". * nds32/crt1.S: Ditto. --- libgloss/ChangeLog | 6 ++++++ libgloss/nds32/crt0.S | 6 ++---- libgloss/nds32/crt1.S | 7 +++---- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog index 5b22a24c7..e4891f360 100644 --- a/libgloss/ChangeLog +++ b/libgloss/ChangeLog @@ -1,3 +1,9 @@ +2014-03-21 Sabrini Ni + + * nds32/crt0.S: Use pseudo-instruction "bal frame" to replace + "la + jral". + * nds32/crt1.S: Ditto. + 2014-03-21 Sabrini Ni * nds32/crt0.S: Eliminate initialization for $fp. diff --git a/libgloss/nds32/crt0.S b/libgloss/nds32/crt0.S index 30092e001..5f56e9a50 100644 --- a/libgloss/nds32/crt0.S +++ b/libgloss/nds32/crt0.S @@ -94,8 +94,7 @@ _start: movi $r0, 0 movi $r1, 0 /* Call 'main'. */ - la $r15, main - jral $r15 + bal main .L_terminate_program: /* There are two ways to terminate program: @@ -106,8 +105,7 @@ _start: Currently, we use option 2 as a solution to follow C99 5.1.2.2.3, but aware that general exit() will do some cleanup procedures which may result in large-memory-footprints. */ - la $r15, exit - jral $r15 + bal exit .L_forever_loop: /* Should never return here. */ diff --git a/libgloss/nds32/crt1.S b/libgloss/nds32/crt1.S index 0aca76246..5ff4d9629 100644 --- a/libgloss/nds32/crt1.S +++ b/libgloss/nds32/crt1.S @@ -100,8 +100,7 @@ _start: movi $r1, 0 movi $r2, 0 /* Call 'main'. */ - la $r15, main - jral $r15 + bal main .L_terminate_program: /* There are two ways to terminate program: @@ -112,8 +111,8 @@ _start: Currently, we use option 2 as a solution to follow C99 5.1.2.2.3, but aware that general exit() will do some cleanup procedures which may result in large-memory-footprints. */ - la $r15, exit - jral $r15 + + bal exit .L_forever_loop: /* Should never return here. */