From e9f4fd1185badfc005fcfe5c7de27d58baec057c Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 10 Jun 2020 22:02:45 -0400 Subject: have ldso track replacement of aligned_alloc this is in preparation for improving behavior of malloc interposition. --- ldso/dynlink.c | 2 ++ src/internal/dynlink.h | 1 + src/malloc/replaced.c | 1 + 3 files changed, 4 insertions(+) diff --git a/ldso/dynlink.c b/ldso/dynlink.c index f6926919..d3d4ddd2 100644 --- a/ldso/dynlink.c +++ b/ldso/dynlink.c @@ -1935,6 +1935,8 @@ void __dls3(size_t *sp, size_t *auxv) * possibility of incomplete replacement. */ if (find_sym(head, "malloc", 1).dso != &ldso) __malloc_replaced = 1; + if (find_sym(head, "aligned_alloc", 1).dso != &ldso) + __aligned_alloc_replaced = 1; /* Switch to runtime mode: any further failures in the dynamic * linker are a reportable failure rather than a fatal startup diff --git a/src/internal/dynlink.h b/src/internal/dynlink.h index 78baa080..51c0639f 100644 --- a/src/internal/dynlink.h +++ b/src/internal/dynlink.h @@ -106,6 +106,7 @@ hidden void __dl_vseterr(const char *, va_list); hidden ptrdiff_t __tlsdesc_static(), __tlsdesc_dynamic(); hidden extern int __malloc_replaced; +hidden extern int __aligned_alloc_replaced; hidden void __malloc_donate(char *, char *); hidden int __malloc_allzerop(void *); diff --git a/src/malloc/replaced.c b/src/malloc/replaced.c index 8acc249c..07fce61e 100644 --- a/src/malloc/replaced.c +++ b/src/malloc/replaced.c @@ -1,3 +1,4 @@ #include "dynlink.h" int __malloc_replaced; +int __aligned_alloc_replaced; -- cgit v1.2.1