diff options
author | Yao Qi <yao@codesourcery.com> | 2014-01-04 15:48:21 +0800 |
---|---|---|
committer | Joel Brobecker <brobecker@adacore.com> | 2014-01-07 14:29:25 +0400 |
commit | 3b631e3720979156e83af0dac8b77f479384c2af (patch) | |
tree | 40254500ddd5601ec84d786e159a7e25f73f7cda /gold/i386.cc | |
parent | f30b8b38d48949edc10344089d05015a659f87aa (diff) | |
download | gdb-3b631e3720979156e83af0dac8b77f479384c2af.zip gdb-3b631e3720979156e83af0dac8b77f479384c2af.tar.gz gdb-3b631e3720979156e83af0dac8b77f479384c2af.tar.bz2 |
Cast to uintptr_t when calling ptrace32 on aix
When I verify my changes to target.h doesn't break build on aix, I get
the following build error on a clean GDB checkout.
../../binutils-gdb/gdb/aix-thread.c: In function 'pdc_read_regs':
../../binutils-gdb/gdb/aix-thread.c:366:4: error: passing argument 3 of 'ptrace32' makes integer from pointer without a cast [-Werror]
if (!ptrace32 (PTT_READ_GPRS, tid, gprs32, 0, NULL))
^
../../binutils-gdb/gdb/aix-thread.c:263:1: note: expected 'long long int' but argument is of type 'uint32_t *'
ptrace32 (int req, int id, addr_ptr addr, int data, int *buf)
^
../../binutils-gdb/gdb/aix-thread.c:375:42: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
if (!ptrace32 (PTT_READ_FPRS, tid, (addr_ptr) fprs, 0, NULL))
^
../../binutils-gdb/gdb/aix-thread.c:392:39: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
if (!ptrace32 (PTT_READ_SPRS, tid, (addr_ptr) &sprs32, 0, NULL))
GCC uses -maix32 in default, so the 'long long' is 64 bit and address
is 32 bit. Such warnings should go away if -maix64 is used.
In this patch, I cast the parameter to uintptr_t first, and then cast
to addr_ptr.
gdb:
2014-01-07 Yao Qi <yao@codesourcery.com>
Joel Brobecker <brobecker@adacore.com>
* aix-thread.c (pdc_read_regs): Cast parameter to uintptr_t.
(pdc_write_regs): Likewise.
(fetch_regs_kernel_thread): Likewise.
(store_regs_kernel_thread): Likewise.
Diffstat (limited to 'gold/i386.cc')
0 files changed, 0 insertions, 0 deletions