[PATCH] D68427: [scudo][standalone] Make malloc_info return a minimal XML

Kostya Kortchinsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 3 14:58:55 PDT 2019


cryptoad updated this revision to Diff 223106.
cryptoad added a comment.

Changing the version to "scudo-1" as per privately conveyed request.


Repository:
  rCRT Compiler Runtime

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68427/new/

https://reviews.llvm.org/D68427

Files:
  lib/scudo/standalone/tests/combined_test.cpp
  lib/scudo/standalone/tests/wrappers_c_test.cpp
  lib/scudo/standalone/wrappers_c.inc


Index: lib/scudo/standalone/wrappers_c.inc
===================================================================
--- lib/scudo/standalone/wrappers_c.inc
+++ lib/scudo/standalone/wrappers_c.inc
@@ -179,7 +179,8 @@
       SCUDO_ALLOCATOR.allocate(size, scudo::Chunk::Origin::Malloc, alignment));
 }
 
-INTERFACE WEAK int SCUDO_PREFIX(malloc_info)(int, FILE *) {
-  errno = ENOTSUP;
-  return -1;
+INTERFACE WEAK int SCUDO_PREFIX(malloc_info)(UNUSED int options, FILE *stream) {
+  fputs("<malloc version=\"scudo-1\">", stream);
+  fputs("</malloc>", stream);
+  return 0;
 }
Index: lib/scudo/standalone/tests/wrappers_c_test.cpp
===================================================================
--- lib/scudo/standalone/tests/wrappers_c_test.cpp
+++ lib/scudo/standalone/tests/wrappers_c_test.cpp
@@ -281,3 +281,15 @@
 
   free(P);
 }
+
+TEST(ScudoWrappersCTest, MallocInfo) {
+  char Buffer[64];
+  FILE *F = fmemopen(Buffer, sizeof(Buffer), "w+");
+  EXPECT_NE(F, nullptr);
+  errno = 0;
+  EXPECT_EQ(malloc_info(0, F), 0);
+  EXPECT_EQ(errno, 0);
+  fflush(F);
+  EXPECT_EQ(strncmp(Buffer, "<malloc version=\"scudo-", 23), 0);
+  fclose(F);
+}
Index: lib/scudo/standalone/tests/combined_test.cpp
===================================================================
--- lib/scudo/standalone/tests/combined_test.cpp
+++ lib/scudo/standalone/tests/combined_test.cpp
@@ -101,7 +101,7 @@
   // returns the same chunk. This requires that all the sizes we iterate on use
   // the same block size, but that should be the case for 2048 with our default
   // class size maps.
-  P  = Allocator->allocate(DataSize, Origin);
+  P = Allocator->allocate(DataSize, Origin);
   memset(P, Marker, DataSize);
   for (scudo::sptr Delta = -32; Delta < 32; Delta += 8) {
     const scudo::uptr NewSize = DataSize + Delta;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D68427.223106.patch
Type: text/x-patch
Size: 1803 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191003/77f9e7e3/attachment.bin>


More information about the llvm-commits mailing list