summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2020-06-10 22:02:45 -0400
committerRich Felker <dalias@aerifal.cx>2020-06-10 22:02:45 -0400
commite9f4fd1185badfc005fcfe5c7de27d58baec057c (patch)
tree95225d8a1d333cba4680711f499912a654cf0299
parent25cef5c591fbee755a53f0d7920f4f554f343a53 (diff)
downloadmusl-e9f4fd1185badfc005fcfe5c7de27d58baec057c.tar.gz
have ldso track replacement of aligned_alloc
this is in preparation for improving behavior of malloc interposition.
-rw-r--r--ldso/dynlink.c2
-rw-r--r--src/internal/dynlink.h1
-rw-r--r--src/malloc/replaced.c1
3 files changed, 4 insertions, 0 deletions
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;