Re: Fwd: A typo of yours or a misunderstanding of mine?

Tom de Vries via Gdb <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 11/18/21 6:19 PM, Z J Hu via Gdb wrote:
> I have been asked to forward my question about gdb documentation to you.
> 
> ---------- Forwarded message ---------
> From: Z J Hu <[email protected]>
> Date: Wed, Nov 17, 2021 at 9:11 AM
> Subject: A typo of yours or a misunderstanding of mine?
> To: <[email protected]>
> 
> 
> Dear Sourceware Team,
> 
> Hope this email finds you well.
> 
> When I'm reading the content in "
> https://sourceware.org/gdb/onlinedocs/gdb/Memory.html", I find a statement
> for 'x/-3uh' command as: "You can also specify a negative repeat count to
> examine memory backward from the given address. For example, ‘x/-3uh 0x54320’
> prints three halfwords (h) at 0x54314, 0x54328, and 0x5431c." Should
> 0x54314 be 0x54324 instead? I don't know what machine word size would be
> for this statement, and it gives me some hard time to understand. Could you
> clear it for me?
> 

Hi,

I did an experiment, to understand the behaviour:
...
$ cat -n test.c
     1  #define N 256
     2
     3  unsigned short data[N];
     4
     5  int
     6  main (void)
     7  {
     8    int i;
     9    for (i = 0; i < N; ++i)
    10      data[i] = i;
    11
    12    return 0;
    13  }
$ gcc test.c -g
$ gdb -q -batch a.out -ex "set trace-commands on" -ex "b 12" -ex run -ex
"p &data[10]" -ex "x/-3uh &data[10]"
+b 12
Breakpoint 1 at 0x4004c3: file test.c, line 12.
+run

Breakpoint 1, main () at test.c:12
12        return 0;
+p &data[10]
$1 = (unsigned short *) 0x601074 <data+20>
+x/-3uh &data[10]
0x60106e <data+14>:     7       8       9
$
...

Based on this, I'd say you caught a typo in the docs, and the example in
the docs should mention the addresses 0x54314, 0x54318, and 0x5431c.

Thanks for bringing this to our attention, I'll commit a fix shortly.

Thanks,
- Tom
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.