From: Mark Kettenis <mark.kettenis@xs4all.nl>
To: rth@twiddle.net
Cc: amodra@bigpond.net.au, gdb-patches@gcc.gnu.org, rth@twiddle.net
Subject: Re: ppc32 debugging ppc64, part 1
Date: Mon, 12 Sep 2005 19:47:00 -0000 [thread overview]
Message-ID: <200509121947.j8CJlT1H030779@elgar.sibelius.xs4all.nl> (raw)
In-Reply-To: <20050912125047.GA5411@twiddle.net> (message from Richard Henderson on Mon, 12 Sep 2005 05:50:47 -0700)
> Date: Mon, 12 Sep 2005 05:50:47 -0700
> From: Richard Henderson <rth@twiddle.net>
>
> This is just enough modifications to not immediately fail
> debugging a 64-bit process from a 32-bit debugger.
>
> We don't get very far in the actual debugging:
>
> (gdb) b main
> warning: Breakpoint address adjusted from 0x10093aa0 to 0x10000370.
> Breakpoint 1 at 0x10000370
> (gdb) run
> Starting program: /home/rth/work/gcc/bld-binu64/gdb/z
> warning: Breakpoint address adjusted from 0x10093a40 to 0x100001c0.
> warning: Breakpoint 1 address previously adjusted from 0x10093aa0 to 0x10000370.
> Breakpoint 1, 0x0000000010000370 in ?? ()
> (gdb) ppc
> 0x10000370 <__libc_tsd_CTYPE_B+268436264>: std r31,-8(r1)
>
> But this is better than the original:
>
> Starting program: /home/rth/work/gcc/bld-binu64/gdb/z
> warning: Breakpoint address adjusted from 0x10093a40 to 0x100001c0.
> Failed to read a valid object file image from memory.
>
> Program received signal SIGTRAP, Trace/breakpoint trap.
> 0x100001c00002d932 in ?? ()
>
>
> Comments?
Hmm, this is really odd. From what I see above and the changes to the
code you made, the implementation of ptrace seems to be just plain
broken, either in the kernel or in glibc, probably both.
Anyway, I'd really like to see people moving away from using
PTRACE_XFER_TYPE and PTRACE_ARG3_TYPE in favour of PTRACE_TYPE_RET and
PTRACE_TYPE_ARG3. I wouldn't be surprised if it became clear what's
wrong with ptrace(2) on Linux ppc if you realize that PTRACE_XFER_TYPE
really is the return type of ptrace(2).
This code really should be using PTRACE_GETREGS and friends (like you
indicate in the patch) but those are not implemented I assume?
I'd really wish this would be fixed in the kernel, instead of being
worked around in GDB :-(.
Mark
next prev parent reply other threads:[~2005-09-12 19:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-12 12:52 Richard Henderson
2005-09-12 19:47 ` Mark Kettenis [this message]
2005-09-12 20:32 ` Daniel Jacobowitz
2005-09-12 21:07 ` David S. Miller
2005-09-12 21:20 ` Mark Kettenis
2005-09-12 22:37 ` Richard Henderson
2005-09-12 23:20 ` Richard Henderson
2005-09-12 22:39 ` Richard Henderson
2005-09-17 21:24 ` Daniel Jacobowitz
2005-09-18 2:02 ` Richard Henderson
2005-09-18 2:14 ` Daniel Jacobowitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200509121947.j8CJlT1H030779@elgar.sibelius.xs4all.nl \
--to=mark.kettenis@xs4all.nl \
--cc=amodra@bigpond.net.au \
--cc=gdb-patches@gcc.gnu.org \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox