/* * Copyright (C) 2020 Embecosm Limited * SPDX-License-Identifier: BSD-2-Clause */ #include #include "semihost_syscall.h" #define ADP_Stopped_ApplicationExit 0x20026 /* Exit a program without cleaning up files. */ void _exit (int exit_status) { #if __riscv_xlen == 32 syscall_errno (SEMIHOST_exit, (long *) ADP_Stopped_ApplicationExit); #else /* The semihosting exit operation only allows 64-bit targets to report the exit code. */ long data_block[] = {ADP_Stopped_ApplicationExit, exit_status}; syscall_errno (SEMIHOST_exit, data_block); #endif while (1); }