diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 0b333a749f..b21d52cce7 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -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.