This is the mail archive of the systemtap@sources.redhat.com mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: x86_64 RIP-relative addressing bug


Wouldn't it be the case that all RIP instructions have
relocation information? Couldn't this info be included
in the symbolic info systemtap will need to find things
like procedures? The relocation information should be 
straightforward to understand, and ought to have what
you would need to copy a RIP instruction to a new 
location.

This suggests the following strategy:
- If symbolic info is available, use it to create
  a copy of the RIP instruction to be single-stepped
- If the symbolic info is not available, require the
  user to provide symbolic information or instruction
  boundary information

I am assuming that most systemtap users will have symbolic
info, and that kprobes users who don't have symbolic info
are already committed to getting their hands dirty.

Here's some documentation on ELF x86 relocation information.
	
http://docsun.cites.uiuc.edu/sun_docs/C/solaris_9/SUNWdev/LLM/p47.html
I'm pretty sure we can find better sources than this.

Brad

-----Original Message-----
From: systemtap-owner@sources.redhat.com
[mailto:systemtap-owner@sources.redhat.com] On Behalf Of Jim Keniston
Sent: Monday, February 28, 2005 1:44 PM
To: SystemTAP
Cc: Prasanna Panchamukhi
Subject: x86_64 RIP-relative addressing bug

A while ago, I took an AR to summarize our ideas for fixing the bug in
x86_64 kprobes's handling of RIP-relative addressing.  Here are my
thoughts, including a variety of suggested solutions.  This writeup
includes suggestions from Prasanna a few weeks ago.  I'm not sure where
Prasanna is on this bug fix.

Further suggestions are welcome.

Jim Keniston
IBM Linux Technology Center - RAS


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]