This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
gdb/1659: 64bit issue gdb/rs6000-tdep.c: rs6000_push_dummy_call()
- From: jimix at watson dot ibm dot com
- To: gdb-gnats at sources dot redhat dot com
- Cc: cagney at gnu dot org
- Date: 26 May 2004 21:42:02 -0000
- Subject: gdb/1659: 64bit issue gdb/rs6000-tdep.c: rs6000_push_dummy_call()
- Reply-to: jimix at watson dot ibm dot com
>Number: 1659
>Category: gdb
>Synopsis: 64bit issue gdb/rs6000-tdep.c: rs6000_push_dummy_call()
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed May 26 21:48:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Jimi Xenidis
>Release: very old bug
>Organization:
>Environment:
powerpc64
>Description:
when pusshing a dummy frame to call a function with gdb, such as:
(gdb) p strlen(some_string)
the backchain is writen in the high-order 32 bits.
This is caused by the following code sequence in the above mentioned function:
/* set back chain properly */
store_unsigned_integer (tmp_buffer, 4, saved_sp);
write_memory (sp, tmp_buffer, 4);
The '4' should be 'wordsize'
>How-To-Repeat:
see descrption.
>Fix:
see description
>Release-Note:
>Audit-Trail:
>Unformatted: