]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
semihosting/arm-compat-semi: eradicate target_long
authorPierrick Bouvier <pierrick.bouvier@linaro.org>
Mon, 22 Sep 2025 09:36:58 +0000 (10:36 +0100)
committerAlex Bennée <alex.bennee@linaro.org>
Fri, 26 Sep 2025 09:07:53 +0000 (10:07 +0100)
We use int64_t or int32_t depending on ret size.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-ID: <20250822150058.18692-11-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-ID: <20250922093711.2768983-14-alex.bennee@linaro.org>

semihosting/arm-compat-semi.c

index 29cdab66f7366332f948b8dadc700dc5aa6d4e9f..3c9192d8684f194f182d1c9c5123128ea9cc6b3b 100644 (file)
@@ -501,10 +501,13 @@ void do_common_semihosting(CPUState *cs)
         break;
 
     case TARGET_SYS_ISERROR:
+    {
         GET_ARG(0);
-        common_semi_set_ret(cs, (target_long)arg0 < 0);
+        bool ret = is_64bit_semihosting(env) ?
+                   (int64_t)arg0 < 0 : (int32_t)arg0 < 0;
+        common_semi_set_ret(cs, ret);
         break;
-
+    }
     case TARGET_SYS_ISTTY:
         GET_ARG(0);
         semihost_sys_isatty(cs, common_semi_istty_cb, arg0);