|
From: <sv...@va...> - 2005-05-15 23:36:55
|
Author: njn
Date: 2005-05-16 00:36:12 +0100 (Mon, 16 May 2005)
New Revision: 3729
Modified:
trunk/coregrind/amd64/core_arch.h
trunk/coregrind/vg_mylibc.c
trunk/coregrind/x86/core_arch.h
Log:
Move VGA_GET_REAL_{STACK,FRAME}_PTR into vg_symtab2.c.
Modified: trunk/coregrind/amd64/core_arch.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/amd64/core_arch.h 2005-05-15 21:09:40 UTC (rev 3728)
+++ trunk/coregrind/amd64/core_arch.h 2005-05-15 23:36:12 UTC (rev 3729)
@@ -65,16 +65,6 @@
#define VGA_STACK_FRAME_RET(rbp) (((UWord*)rbp)[1])
#define VGA_STACK_FRAME_NEXT(rbp) (((UWord*)rbp)[0])
=20
-// Get stack pointer and frame pointer
-#define VGA_GET_REAL_STACK_PTR(lval) do { \
- asm("movq %%rsp, %0" : "=3Dr" (lval)); \
-} while (0)
-
-#define VGA_GET_REAL_FRAME_PTR(lval) do { \
- asm("movq %%rbp, %0" : "=3Dr" (lval)); \
-} while (0)
-
-
/* ---------------------------------------------------------------------
Architecture-specific part of a ThreadState
------------------------------------------------------------------ */
Modified: trunk/coregrind/vg_mylibc.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/vg_mylibc.c 2005-05-15 21:09:40 UTC (rev 3728)
+++ trunk/coregrind/vg_mylibc.c 2005-05-15 23:36:12 UTC (rev 3729)
@@ -906,6 +906,23 @@
Assertery.
------------------------------------------------------------------ */
=20
+#if defined(VGP_x86_linux)
+# define GET_REAL_SP_AND_FP(sp, fp) \
+ asm("movl %%esp, %0;" \
+ "movl %%ebp, %1;" \
+ : "=3Dr" (sp),\
+ "=3Dr" (fp));
+#elif defined(VGP_amd64_linux)
+# define GET_REAL_SP_AND_FP(sp, fp) \
+ asm("movq %%rsp, %0;" \
+ "movl %%rbp, %1;" \
+ : "=3Dr" (sp),\
+ "=3Dr" (fp));
+#else
+# error Unknown platform
+#endif
+
+
/* Fake up an ExeContext which is of our actual real CPU state, so we
can print a stack trace. This isn't terribly useful in the case
where we were killed by a signal, since we just get a backtrace
@@ -920,8 +937,7 @@
ThreadId tid =3D VG_(get_lwp_tid)(VG_(gettid)());
ThreadState *tst =3D VG_(get_ThreadState)(tid);
=20
- VGA_GET_REAL_STACK_PTR(sp);
- VGA_GET_REAL_FRAME_PTR(fp);
+ GET_REAL_SP_AND_FP(sp, fp);
=20
stacktop =3D tst->os_state.valgrind_stack_base +=20
tst->os_state.valgrind_stack_szB;
Modified: trunk/coregrind/x86/core_arch.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/x86/core_arch.h 2005-05-15 21:09:40 UTC (rev 3728)
+++ trunk/coregrind/x86/core_arch.h 2005-05-15 23:36:12 UTC (rev 3729)
@@ -65,15 +65,6 @@
#define VGA_STACK_FRAME_RET(ebp) (((UInt*)ebp)[1])
#define VGA_STACK_FRAME_NEXT(ebp) (((UInt*)ebp)[0])
=20
-// Get stack pointer and frame pointer
-#define VGA_GET_REAL_STACK_PTR(esp) do { \
- asm("movl %%esp, %0" : "=3Dr" (esp)); \
-} while (0)
-
-#define VGA_GET_REAL_FRAME_PTR(ebp) do { \
- asm("movl %%ebp, %0" : "=3Dr" (ebp)); \
-} while (0)
-
//extern const Char VG_(helper_wrapper_before)[]; /* in dispatch.S */
//extern const Char VG_(helper_wrapper_return)[]; /* in dispatch.S */
=20
|