[patch] failed to build sim/ppc on OSX.
Masaki Muranaka
monaka@monami-software.com
Mon Feb 1 09:10:00 GMT 2010
Hello Joel and fche,
Hmm. I'm thoughtless about this issue.
It is caused by 32bit/64bit as you say.
There is similar type casts in sim/ppc/vm_n.h, so it's harmless to apply
my patch. (And useful to fix build failure on OSX.)
But I agree there should be applied the another better fix.
Please reject that patch. I'll try to fix this issue again later.
Thanks,
On 2010/02/01, at 16:31, Joel Brobecker wrote:
>> sim/ppc/ChangeLog
>> 2010-01-31 Masaki Muranaka <monaka@monami-software.com>
>>
>> * interrupts.c (alignement_interrupt): Add type cast.
>
> I don't know the sim code well enough to review this change. However,
> I can't help but wonder whether it might be incorrect or not.
> I'm copying Frank who is not exactly responsible for the ppc sim,
> but who is maintainer for the common part - perhaps he has some insight
> he can share...
>
>> - cpu_error(processor, cia, "alignment interrupt - ra=0x%lx", ra);
>> + cpu_error(processor, cia, "alignment interrupt - ra=0x%lx", (unsigned long)ra);
>
> ra is defined as "unsigned_word", which, depending on the
> WITH_TARGET_WORD_BITSIZE can be either unsigned64 or unsigned32.
> Isn't there a problem if the host long is 32bits while unsigned_word
> is 64bit?
>
> In GDB, we solve the same sort of issue (print target addresses stored
> inside a host CORE_ADDR type) using a routine that does the printing.
> I didn't search very hard, but at first sight, there does not appear
> to be a similar routine.
>
> Not sure what the best solution might be... I'd probably be lazy and
> upcast to unsigned long long to make sure that ra is casted to 64bits
> (assuming that this is even true at all in practice).
>
> --
> Joel
>
More information about the Gdb-patches
mailing list