浏览代码

move declaration of interfaces between malloc and ldso to dynlink.h

this eliminates consumers of malloc_impl.h outside of the malloc
implementation.
Rich Felker 4 年之前
父节点
当前提交
cee88b76f7
共有 3 个文件被更改,包括 4 次插入5 次删除
  1. 0 1
      ldso/dynlink.c
  2. 3 0
      src/internal/dynlink.h
  3. 1 4
      src/internal/malloc_impl.h

+ 0 - 1
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 *, ...);
 

+ 3 - 0
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

+ 1 - 4
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