[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] semihosting/arm-compat: Have TARGET_SYS_EXIT[_EXTENDED] retu
From: |
Alex Bennée |
Subject: |
Re: [PATCH] semihosting/arm-compat: Have TARGET_SYS_EXIT[_EXTENDED] return signed |
Date: |
Thu, 05 Oct 2023 14:32:44 +0100 |
User-agent: |
mu4e 1.11.21; emacs 29.1.50 |
Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> Per the "Semihosting for AArch32 and AArch64" spec. v2 (2023Q3) [*]:
>
> 6.5 SYS_EXIT (0x18)
> 6.5.2 Entry (64-bit)
>
> On entry, the PARAMETER REGISTER contains a pointer to
> a two-field argument block:
>
> . field 1
> The exception type, which is one of the set of reason
> codes in the above tables.
>
> . field 2
> A subcode, whose meaning depends on the reason code in
> field 1.
>
> In particular, if field 1 is ADP_Stopped_ApplicationExit
> then field 2 is an exit status code, as passed to the C
> standard library exit() function. [...]
>
> Having libc exit() is declared as:
>
> LIBRARY
> Standard C Library (libc, -lc)
>
> SYNOPSIS
>
> void
> exit(int status);
>
> the status is expected to be signed.
>
> [*]
> https://github.com/ARM-software/abi-aa/blob/2023q3-release/semihosting/semihosting.rst#652entry-64-bit
>
> Fixes: 7446d35e1d ("target-arm/arm-semi.c: SYS_EXIT on A64 takes a parameter
> block")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Alex Bennée <alex.bennee@linaro.org>
--
Alex Bennée
Virtualisation Tech Lead @ Linaro