target/arm: Set disassemble_info::endian value in disas_set_info()

Have the CPUClass::disas_set_info() callback set the
disassemble_info::endian field.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20250210212931.62401-4-philmd@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2025-01-26 14:30:35 +01:00
parent 2136f7f1f9
commit 4b7d6557ef

View File

@ -1171,7 +1171,7 @@ static void arm_disas_set_info(CPUState *cpu, disassemble_info *info)
{ {
ARMCPU *ac = ARM_CPU(cpu); ARMCPU *ac = ARM_CPU(cpu);
CPUARMState *env = &ac->env; CPUARMState *env = &ac->env;
bool sctlr_b; bool sctlr_b = arm_sctlr_b(env);
if (is_a64(env)) { if (is_a64(env)) {
info->cap_arch = CS_ARCH_ARM64; info->cap_arch = CS_ARCH_ARM64;
@ -1198,13 +1198,9 @@ static void arm_disas_set_info(CPUState *cpu, disassemble_info *info)
info->cap_mode = cap_mode; info->cap_mode = cap_mode;
} }
sctlr_b = arm_sctlr_b(env); info->endian = BFD_ENDIAN_LITTLE;
if (bswap_code(sctlr_b)) { if (bswap_code(sctlr_b)) {
#if TARGET_BIG_ENDIAN info->endian = TARGET_BIG_ENDIAN ? BFD_ENDIAN_LITTLE : BFD_ENDIAN_BIG;
info->endian = BFD_ENDIAN_LITTLE;
#else
info->endian = BFD_ENDIAN_BIG;
#endif
} }
info->flags &= ~INSN_ARM_BE32; info->flags &= ~INSN_ARM_BE32;
#ifndef CONFIG_USER_ONLY #ifndef CONFIG_USER_ONLY