[PATCH] D17190: [compiler-rt] Return correct size of struct pthread for glibc-2.12.2

Jonas Hahnfeld via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 17 23:12:56 PST 2016


This revision was automatically updated to reflect the committed changes.
Closed by commit rL261193: [compiler-rt] Return correct size of struct pthread for glibc-2.12.2 (authored by Hahnfeld).

Changed prior to commit:
  http://reviews.llvm.org/D17190?vs=47774&id=48280#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D17190

Files:
  compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux_libcdep.cc

Index: compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux_libcdep.cc
===================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux_libcdep.cc
@@ -222,6 +222,11 @@
     char *end;
     int minor = internal_simple_strtoll(buf + 8, &end, 10);
     if (end != buf + 8 && (*end == '\0' || *end == '.')) {
+      int patch = 0;
+      if (*end == '.')
+        // strtoll will return 0 if no valid conversion could be performed
+        patch = internal_simple_strtoll(end + 1, nullptr, 10);
+
       /* sizeof(struct pthread) values from various glibc versions.  */
       if (SANITIZER_X32)
         val = 1728;  // Assume only one particular version for x32.
@@ -235,9 +240,9 @@
         val = FIRST_32_SECOND_64(1136, 1712);
       else if (minor == 10)
         val = FIRST_32_SECOND_64(1168, 1776);
-      else if (minor <= 12)
+      else if (minor == 11 || (minor == 12 && patch == 1))
         val = FIRST_32_SECOND_64(1168, 2288);
-      else if (minor == 13)
+      else if (minor <= 13)
         val = FIRST_32_SECOND_64(1168, 2304);
       else
         val = FIRST_32_SECOND_64(1216, 2304);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17190.48280.patch
Type: text/x-patch
Size: 1238 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160218/4731795b/attachment.bin>


More information about the llvm-commits mailing list