mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-12 02:53:34 +08:00
3784dfc098
This patch adds the basic support for memory tagging. Various flavours are supported, particularly being able to turn on tagged memory at run-time: this allows the same code to be used on systems where memory tagging support is not present without neededing a separate build of glibc. Also, depending on whether the kernel supports it, the code will use mmap for the default arena if morecore does not, or cannot support tagged memory (on AArch64 it is not available). All the hooks use function pointers to allow this to work without needing ifuncs. Reviewed-by: DJ Delorie <dj@redhat.com>
27 lines
580 B
C
27 lines
580 B
C
#ifndef _MALLOC_H
|
|
|
|
#include <malloc/malloc.h>
|
|
|
|
# ifndef _ISOMAC
|
|
# include <rtld-malloc.h>
|
|
|
|
/* In the GNU libc we rename the global variable
|
|
`__malloc_initialized' to `__libc_malloc_initialized'. */
|
|
#define __malloc_initialized __libc_malloc_initialized
|
|
/* Nonzero if the malloc is already initialized. */
|
|
extern int __malloc_initialized attribute_hidden;
|
|
|
|
struct malloc_state;
|
|
typedef struct malloc_state *mstate;
|
|
|
|
# endif /* !_ISOMAC */
|
|
|
|
#ifdef USE_MTAG
|
|
extern int __mtag_mmap_flags;
|
|
#define MTAG_MMAP_FLAGS __mtag_mmap_flags
|
|
#else
|
|
#define MTAG_MMAP_FLAGS 0
|
|
#endif
|
|
|
|
#endif
|