This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
exp/2402: x86-32 address calculations on x86-64 are incorrect
- From: mostrows at gmail dot com
- To: gdb-gnats at sources dot redhat dot com
- Date: 10 Jan 2008 19:10:02 -0000
- Subject: exp/2402: x86-32 address calculations on x86-64 are incorrect
- Reply-to: mostrows at gmail dot com
>Number: 2402
>Category: exp
>Synopsis: x86-32 address calculations on x86-64 are incorrect
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Thu Jan 10 19:18:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: mostrows@gmail.com
>Release: unknown-1.0
>Organization:
>Environment:
This occurs when debugging 32-bit application on 64-bit
Linux systems.
>Description:
I try to access some target program symbols and fail:
(gdb) p buf
multi-thread:target_xfer_partial (2, (null), 0x299f020, 0x0, 0x1ff960950, 4) = 0
Cannot access memory at address 0xff960950
Note that gdb is trying to look up address 0x1ff960950, not
0xff960950. Obviously this fails as it is not a 32-bit address that is valid in this program.
The addition that overflows the 32-bit address space is at findvar.c:496.
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: