This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: [patch gdb]: Fix display for LLP64 target in window-nat.c
2013/2/19 Eli Zaretskii <eliz@gnu.org>:
>> Date: Tue, 19 Feb 2013 15:09:06 +0100
>> From: Kai Tietz <ktietz70@googlemail.com>
>>
>> this patch fixes a pointer-truncation in display on Windows LLP64 target.
>>
>> ChangeLog 2013-02-19 Kai Tietz <ktietz@redhat.com>
>>
>> * windows-nat.c (windows_xfer_memory): Fix debug-output
>> for LLP64.
>>
>> Ok for apply?
>
> Isn't DWORD_PTR the right replacement for DWORD in these cases?
No, CORE_ADDR is the type we want to print. DWORD_PTR is holding the
width of the host-pointer, not necessarily compatible to CORE_ADDR.
We want to fix pointer truncation here, not just express it different.
> Actually, I don't understand what is the cast to uintptr_t doing
> there, it seems redundant.
Well, the issue is that CORE_ADDR might be a smaller integer-scalar as
a pointer. So before casting it to a pointer you need to make integer
wide-enough.
Cheers,
Kai