[v2] inf-ptrace: Do not stop memory transfers after a single word
Commit Message
On 14/03/17 15:44, Andreas Arnez wrote:
> + /* Restrict to a chunk that fits in the current word. */
> + chunk = std::min (sizeof (PTRACE_TYPE_RET) - skip, len - n);
>
On 14/03/17 15:44, Andreas Arnez wrote:
>
> + /* Restrict to a chunk that fits in the current word. */
> + chunk = std::min (sizeof (PTRACE_TYPE_RET) - skip, len - n);
Hi Andres,
I am seeing the following build failure on my local AArch32 native build:
...binutils-gdb/gdb/inf-ptrace.c:473:65: error: no matching function for call to 'min(unsigned int, ULONGEST)'
There are a few ways to fix this, this patch simply change the type of "skip" from "unsigned int" to "ULONGEST" so operands for std::min can have the same type.
OK for master?
gdb/
2017-03-16 Jiong Wang <jiong.wang@arm.com>
* inf-ptrace.c (inf_ptrace_peek_poke): Change the type to "ULONGEST" for
"skip".
Comments
Jiong Wang <jiong.wang@foss.arm.com> writes:
> I am seeing the following build failure on my local AArch32 native build:
>
> ...binutils-gdb/gdb/inf-ptrace.c:473:65: error: no matching function
> for call to 'min(unsigned int, ULONGEST)'
>
> There are a few ways to fix this, this patch simply change the type of
> "skip" from "unsigned int" to "ULONGEST" so operands for std::min can
> have the same type.
>
> OK for master?
>
Yes, pleas apply, a nit below,
> gdb/
> 2017-03-16 Jiong Wang <jiong.wang@arm.com>
>
> * inf-ptrace.c (inf_ptrace_peek_poke): Change the type to "ULONGEST" for
This line is too long. The max line length of ChangeLog is 74.
> "skip".
On Thu, Mar 16 2017, Jiong Wang wrote:
> I am seeing the following build failure on my local AArch32 native build:
>
> ...binutils-gdb/gdb/inf-ptrace.c:473:65: error: no matching function for
> call to 'min(unsigned int, ULONGEST)'
Hm, sorry for the breakage.
> There are a few ways to fix this, this patch simply change the type of
> "skip" from "unsigned int" to "ULONGEST" so operands for std::min can have
> the same type.
Right, that's a possibility, although the reader may be confused why a
variable whose value is known to be less than 8 needs to be declared as
ULONGEST...
--
Andreas
@@ -462,7 +462,7 @@ inf_ptrace_peek_poke (pid_t pid, gdb_byte *readbuf,
/* We transfer aligned words. Thus align ADDR down to a word
boundary and determine how many bytes to skip at the
beginning. */
- unsigned int skip = addr & (sizeof (PTRACE_TYPE_RET) - 1);
+ ULONGEST skip = addr & (sizeof (PTRACE_TYPE_RET) - 1);
addr -= skip;
for (n = 0;