From cee88b76f72c826cc3d3360b853a3cf2ec472fd2 Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Tue, 2 Jun 2020 21:38:25 -0400
Subject: [PATCH] move declaration of interfaces between malloc and ldso to
 dynlink.h

this eliminates consumers of malloc_impl.h outside of the malloc
implementation.
---
 ldso/dynlink.c             | 1 -
 src/internal/dynlink.h     | 3 +++
 src/internal/malloc_impl.h | 5 +----
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/ldso/dynlink.c b/ldso/dynlink.c
index 6468f203..f6926919 100644
--- a/ldso/dynlink.c
+++ b/ldso/dynlink.c
@@ -23,7 +23,6 @@
 #include "pthread_impl.h"
 #include "libc.h"
 #include "dynlink.h"
-#include "malloc_impl.h"
 
 static void error(const char *, ...);
 
diff --git a/src/internal/dynlink.h b/src/internal/dynlink.h
index 764e3a1a..b739add2 100644
--- a/src/internal/dynlink.h
+++ b/src/internal/dynlink.h
@@ -105,4 +105,7 @@ hidden void __dl_vseterr(const char *, va_list);
 
 hidden ptrdiff_t __tlsdesc_static(), __tlsdesc_dynamic();
 
+hidden extern int __malloc_replaced;
+hidden void __malloc_donate(char *, char *);
+
 #endif
diff --git a/src/internal/malloc_impl.h b/src/internal/malloc_impl.h
index 59785a7f..2c61b3ff 100644
--- a/src/internal/malloc_impl.h
+++ b/src/internal/malloc_impl.h
@@ -2,11 +2,10 @@
 #define MALLOC_IMPL_H
 
 #include <sys/mman.h>
+#include "dynlink.h"
 
 hidden void *__expand_heap(size_t *);
 
-hidden void __malloc_donate(char *, char *);
-
 hidden void *__memalign(size_t, size_t);
 
 struct chunk {
@@ -41,6 +40,4 @@ struct bin {
 
 hidden void __bin_chunk(struct chunk *);
 
-hidden extern int __malloc_replaced;
-
 #endif
-- 
2.25.1