diff options
Diffstat (limited to 'libgloss/nds32')
-rw-r--r-- | libgloss/nds32/crt0.S | 6 | ||||
-rw-r--r-- | libgloss/nds32/crt1.S | 7 |
2 files changed, 5 insertions, 8 deletions
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. */ |