target/arm: set `CF_PCREL` in `arm_cpu_realizefn`
authorAnton Johansson <anjo@rev.ng>
Mon, 27 Feb 2023 13:51:38 +0000 (14:51 +0100)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 1 Mar 2023 17:31:33 +0000 (07:31 -1000)
Signed-off-by: Anton Johansson <anjo@rev.ng>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230227135202.9710-4-anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
target/arm/cpu.c

index 0b333a749f6ef3128ce2da897ad3cec66c3cbf1f..b21d52cce7ea927c15b2a0454274803783706e01 100644 (file)
@@ -1557,6 +1557,11 @@ static void arm_cpu_realizefn(DeviceState *dev, Error **errp)
     Error *local_err = NULL;
     bool no_aa32 = false;
 
+    /* Use pc-relative instructions in system-mode */
+#ifndef CONFIG_USER_ONLY
+    cs->tcg_cflags |= CF_PCREL;
+#endif
+
     /* If we needed to query the host kernel for the CPU features
      * then it's possible that might have failed in the initfn, but
      * this is the first point where we can report it.