Re: Let me know EIP address
From: Paulo Marques
Date: Tue Jan 04 2005 - 11:33:02 EST
linux-os wrote:
On Tue, 4 Jan 2005, Lethalman wrote:
I'm trying to get the EIP value from a simple program in C but i don't
how to do it. I need it to know the current address position on the
code segment.
main() {
long *eip;
asm("mov %%eip,%0" : "=g"(eip));
printf("%p\n", eip);
}
Unfortunately EIP is not that kind of register :P
Does anyone know how to get EIP?
You get the offset of a label, i.e., "foo:\t movl $foo,%0\n" in the asm
code.
Or use a gcc extension, so that you don't have to write assembly code:
int main(int argc, char *argv[])
{
address:
printf("this is my address %p\n", &&address);
return 0;
}
--
Paulo Marques - www.grupopie.com
"A journey of a thousand miles begins with a single step."
Lao-tzu, The Way of Lao-tzu
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/