tcg/arm: Drop support for armv4 and armv5 hosts
authorRichard Henderson <richard.henderson@linaro.org>
Mon, 3 Jan 2022 01:42:07 +0000 (17:42 -0800)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 8 Feb 2022 21:55:02 +0000 (08:55 +1100)
Support for unaligned accesses is difficult for pre-v6 hosts.
While debian still builds for armv4, we cannot use a compile
time test, so test the architecture at runtime and error out.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
tcg/arm/tcg-target.c.inc

index 5345c4e39cbbb9f258e142f7158f89803f45c6ad..29d63e98a8323507e0cb54883bf89ec7f5de27e6 100644 (file)
@@ -2474,6 +2474,11 @@ static void tcg_target_init(TCGContext *s)
         if (pl != NULL && pl[0] == 'v' && pl[1] >= '4' && pl[1] <= '9') {
             arm_arch = pl[1] - '0';
         }
+
+        if (arm_arch < 6) {
+            error_report("TCG: ARMv%d is unsupported; exiting", arm_arch);
+            exit(EXIT_FAILURE);
+        }
     }
 
     tcg_target_available_regs[TCG_TYPE_I32] = ALL_GENERAL_REGS;