Re: x86_64 frame pointer via thread context

From: Dave Jiang
Date: Mon Aug 08 2005 - 12:28:37 EST


Jan Engelhardt wrote:
Am I doing something wrong, or is this intended to be this way on
x86_64, or is something incorrect in the kernel? This method works
fine on i386. Thanks for any help!

I just tested your program on SLES9 with updated kernel and RBP
looks correct to me. Probably something is wrong with your user space
includes or your compiler.


Note that there is -fomit-frame-pointer which might give different results than without the option (or explicitly -fno-omit-frame-pointer).


Jan Engelhardt

I had somebody else test it on FC4 and he observed the same issue. It may be timing sensitive? Both platforms tested are em64t based so I'm not sure if on amd64 platforms it varies or not.....

And you definitely have to include the -fno-omit-frame-pointer. x86_64 gcc by default has -fomit-frame-pointer on and without explicitly stating that you want frame pointer you won't get it in rBP.

It is possible that userspace or toolchain may be suspect, However, why is the value bad in kernel space when rBP from pt_regs is dumped?


--
Dave

------------------------------------------------------
Dave Jiang
Software Engineer Phone: (480) 517-0372
MontaVista Software, Inc. Fax: (480) 517-0262
2141 E Broadway Rd, St 108 Web: www.mvista.com
Tempe, AZ 85282 mailto:djiang@xxxxxxxxxx
------------------------------------------------------

-
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/