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/