summaryrefslogtreecommitdiffstats
path: root/libgloss/nds32/_exit.S
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/nds32/_exit.S')
-rw-r--r--libgloss/nds32/_exit.S20
1 files changed, 8 insertions, 12 deletions
diff --git a/libgloss/nds32/_exit.S b/libgloss/nds32/_exit.S
index 8154fbed5..1a73fa20a 100644
--- a/libgloss/nds32/_exit.S
+++ b/libgloss/nds32/_exit.S
@@ -27,22 +27,18 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifdef __NDS32_VH__
-
#include "vh.h"
-.extern _impure_ptr
-TYPE3 _exit, VH_EXIT
-
-#else /* not __NDS32_VH__ */
-
#include "../syscall.h"
-#include "syscall_extra.h"
- .section .text
+ .text
.global _exit
.type _exit, @function
- .align 2
+ .align 2
_exit:
+#ifdef __NDS32_VH__
+ BREAK VH_EXIT /* Generate_Exception(Breakpoint); */
+#else
syscall SYS_exit /* Make syscall 'SYS_exit'. */
+#endif
+.L_infinite_loop:
+ b .L_infinite_loop
.size _exit, .-_exit
-
-#endif /* not __NDS32_VH__ */