]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Update tilegx's do_clone function adopting the stack bound changes
authorFlorian Krohm <florian@eich-krohm.de>
Mon, 20 Apr 2015 17:00:02 +0000 (17:00 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Mon, 20 Apr 2015 17:00:02 +0000 (17:00 +0000)
made in r14392.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15115

coregrind/m_syswrap/syswrap-tilegx-linux.c

index ed8e1bfda3120cb90d203f50e2798e4a9eade6e0..fbdf4bfd4a022e78fab216c49241fd13ae68a523 100644 (file)
@@ -337,7 +337,6 @@ static SysRes do_clone ( ThreadId ptid,
   ThreadState * ctst = VG_ (get_ThreadState) (ctid);
   Long ret = 0;
   Long * stack;
-  NSegment const *seg;
   SysRes res;
   vki_sigset_t blockall, savedmask;
 
@@ -372,22 +371,7 @@ static SysRes do_clone ( ThreadId ptid,
      See #226116. */
 
   ctst->os_state.threadgroup = ptst->os_state.threadgroup;
-  seg = VG_ (am_find_nsegment) ((Addr) sp);
-
-  if (seg && seg->kind != SkResvn) {
-    ctst->client_stack_highest_byte = (Addr) VG_PGROUNDUP (sp);
-    ctst->client_stack_szB = ctst->client_stack_highest_byte - seg->start;
-    VG_ (register_stack) (seg->start, ctst->client_stack_highest_byte);
-    if (debug)
-      VG_ (printf) ("tid %d: guessed client stack range %#lx-%#lx\n",
-
-                    ctid, seg->start, VG_PGROUNDUP (sp));
-  } else {
-    VG_ (message) (Vg_UserMsg,
-                   "!? New thread %d starts with sp+%#lx) unmapped\n",
-                   ctid, sp);
-    ctst->client_stack_szB = 0;
-  }
+  ML_(guess_and_register_stack) (sp, ctst);
 
   VG_TRACK (pre_thread_ll_create, ptid, ctid);
   if (flags & VKI_CLONE_SETTLS) {