Am 20.05.2013 14:57, schrieb Peter Maydell:
> On 14 May 2013 05:32, John Rigby <john.ri...@linaro.org> wrote:
>> @@ -10038,6 +10042,11 @@ void cpu_dump_state(CPUARMState *env, FILE *f, 
>> fprintf_function cpu_fprintf,
>>      int i;
>>      uint32_t psr;
>>
>> +    if (is_a64(env)) {
>> +        cpu_dump_state_a64(env, f, cpu_fprintf, flags);
>> +        return;
>> +    }
>> +
> 
> This breaks building of the 32 bit ARM target:
> 
>   LINK  arm-softmmu/qemu-system-arm
> target-arm/translate.o: In function `cpu_dump_state':
> /home/petmay01/linaro/qemu-from-laptop/qemu/target-arm/translate.c:10046:
> undefined reference to `cpu_dump_state_a64'
> 
> because cpu_dump_state_a64() is in a file which is
> only built for 64 bit.

My qom-cpu-10 series may help here, it turns cpu_dump_state() into a
simple helper function calling CPUClass::dump_state(). So a Cortex-A5x
class_init or TARGET_AARCH64 for the base class_init would simply assign
the 64-bit version of the callback, leaving 32-bit target unaffected
(note: I didn't read the whole patch).

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

Reply via email to