This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Extending GDB: Python: Wrong handling of 64-bit pointers
- From: Andrew Pinski <pinskia at gmail dot com>
- To: chandan r <chandanrmail at gmail dot com>
- Cc: gdb at sourceware dot org
- Date: Wed, 10 Oct 2012 15:48:17 -0700
- Subject: Re: Extending GDB: Python: Wrong handling of 64-bit pointers
- References: <87y5jfr1ri.fsf@gmail.com>
On Tue, Oct 9, 2012 at 10:30 AM, chandan r <chandanrmail@gmail.com> wrote:
> Hi all,
>
> As the following CLI interactions show, GDB's python support code seems to be
> mishandling 64-bit pointers (GNU/Linux on x86-64):
>
> NOTE: "p" is a pointer of type "struct task_struct *"
>
> (gdb) python print gdb.parse_and_eval("p")
> 0xffff88001f5f7600
> (gdb) python print long(gdb.parse_and_eval("p"))
> -131940868983296
> (gdb) show version
> show version
> GNU gdb (GDB) 7.5
> Copyright (C) 2012 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-unknown-linux-gnu".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
>
> Is it GDB or am I messing up something here?
Nothing looks wrong as -131940868983296 is the same as
0xffff88001f5f7600 in signed integer.
(gdb) p/x -131940868983296
$1 = 0xffff88001f5f7600
Thanks,
Andrew Pinski
>
> --
> Chandan