tile: fix bug in CFI definitions for clone.S
authorChris Metcalf <cmetcalf@tilera.com>
Fri, 11 May 2012 22:08:03 +0000 (18:08 -0400)
committerChris Metcalf <cmetcalf@tilera.com>
Mon, 14 May 2012 19:46:13 +0000 (15:46 -0400)
We were missing a critical cfi_def_cfa_offset call in .Lthread_start
which caused backtracing to get badly confused for threads.

ChangeLog.tile
sysdeps/unix/sysv/linux/tile/nptl/clone.S

index f2eb35a..ae048dd 100644 (file)
@@ -1,5 +1,9 @@
 2012-05-12  Chris Metcalf  <cmetcalf@tilera.com>
 
+       * sysdeps/unix/sysv/linux/tile/nptl/clone.S: Add missing CFI.
+
+2012-05-12  Chris Metcalf  <cmetcalf@tilera.com>
+
        * sysdeps/tile/tls-macros.h: Fix buggy TLS_GD, etc., macros.
 
 2012-05-12  Chris Metcalf  <cmetcalf@tilera.com>
index eaa2fd6..de4fa13 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
 
@@ -167,6 +167,7 @@ ENTRY (__clone)
           in getpid().  Otherwise (if CLONE_VM isn't set), it's a
           fork-like clone, and we go ahead and write the cached values
           from the true system pid (retrieved via __NR_getpid syscall).  */
+       cfi_def_cfa_offset (FRAME_SIZE)
 #ifdef __tilegx__
        {
         moveli r0, hw1_last(CLONE_VM)