Use __asm__("rsp") to get CURRENT_STACK_FRAME
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 19 Mar 2012 23:21:21 +0000 (16:21 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 19 Mar 2012 23:21:21 +0000 (16:21 -0700)
nptl/ChangeLog
nptl/sysdeps/x86_64/pthreaddef.h

index ad4725f..ad345f9 100644 (file)
@@ -1,5 +1,10 @@
 2012-03-19  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * sysdeps/x86_64/pthreaddef.h (CURRENT_STACK_FRAME): Use
+       register char * __asm__("rsp") to get stack frame.
+
+2012-03-19  H.J. Lu  <hongjiu.lu@intel.com>
+
        * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (SYS_futex): Use
        __NR_futex directly.
 
index 7e45be4..50587b8 100644 (file)
@@ -41,7 +41,7 @@
 
 /* Location of current stack frame.  The frame pointer is not usable.  */
 #define CURRENT_STACK_FRAME \
-  ({ char *frame; asm ("movq %%rsp, %0" : "=r" (frame)); frame; })
+  ({ register char *frame __asm__("rsp"); frame; })
 
 
 /* XXX Until we have a better place keep the definitions here.  */