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:
parent
2136f7f1f9
commit
4b7d6557ef
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user