[compiler-rt] [scudo] Add hooks to mark the range of realloc (PR #74353)
Christopher Ferris via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 7 13:38:53 PST 2023
================
@@ -73,6 +79,28 @@ __attribute__((visibility("default"))) void __scudo_allocate_hook(void *Ptr,
__attribute__((visibility("default"))) void __scudo_deallocate_hook(void *Ptr) {
DC.Ptr = Ptr;
}
+__attribute__((visibility("default"))) void
+__scudo_realloc_allocate_hook(void *OldPtr, void *NewPtr, size_t Size) {
+ // Verify that __scudo_realloc_deallocate_hook is called first and set the
+ // right pointer.
+ EXPECT_EQ(OldPtr, RC.DeallocPtr);
+ RC.AllocPtr = NewPtr;
+ RC.Size = Size;
+
+ // Note that this is only used for testing. In general, only one pair of hooks
+ // will be invoked in `realloc`. if __scudo_realloc_*_hook are not defined,
+ // it'll call the general hooks only. To make the test easier, we call the
+ // general one here so that either case (wether __scudo_realloc_*_hook are
----------------
cferris1000 wrote:
wether -> whether
https://github.com/llvm/llvm-project/pull/74353
More information about the llvm-commits
mailing list