lkml.org 
[lkml]   [2004]   [Nov]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Accessing program counter registers from within C or Assembler.
Thank you for your reply, please see my answers
embedded below:
--- Valdis.Kletnieks@vt.edu wrote:
> On Tue, 16 Nov 2004 13:20:15 PST, A M said:
>
> > Does anybody know how to access the address of the
> > current executing instruction in C while the
> program
> > is executing?
>
> For what processor? x86, itanium, sparc, s390 all
> do it differently.
I am targeting an x86 machines.
>
> Also, the answer to "this *very* instruction" is
> different from
> "where this instruction was when we
> trapped/kdbg/interrupt/whatever
> it so we could look at the current
> process/thread/worker state".
>
> In other words, are you trying to answer "Where in
> memory am *I*?"
> or "Where in memory is <that very recent code I want
> to look at>?"
it is close to the second scenario ("Where in memory
is...") the basic idea is to come up with a
passive-software based data bus analyzer that can be
used to monitor/sample instructions of a process (a
section of a process) or a thread while executing.
>
> (Hint - for the former, you can probably get very
> good approximations
> by just looking at the entry point address for the
> function:
>
> (void *) where = &__FUNCTION__;
>
> > Also, is there a method to load a program image
> from
> > memory not a file (an exec that works with a
> memory
> > address)? Mainly I am looking for a method that
> brings
> > a program image into memory modify parts of it and
> > start the in-memory modified version.
>
> In user space, you probably want either mmap() or
> dlopen(), depending what it
> is you're trying to do, most likely...
>
> In kernel space, you'll have to be more specific as
> to what you're
> trying to do, but you're always welcome to write a
> replacement for
> fs/binfmt_elf.c :)
>
> > Can anybody think of a method to replace a thread
> > image without replacing the whole process image?
>
> What are you trying to achieve here? It's unclear
> what you're
> hoping will happen....
The ability to create threads and replace the
functionality of one of the threads with a previously
compiled program (a complete process).
>

> ATTACHMENT part 2 application/pgp-signature





__________________________________
Do you Yahoo!?
The all-new My Yahoo! - Get yours free!
http://my.yahoo.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:08    [from the cache]
©2003-2011 Jasper Spaans. Advertise on this site