add stubs for Android extensions
parent
2dd2471b4a
commit
7e088dc870
2
Makefile
2
Makefile
|
@ -1,5 +1,5 @@
|
||||||
CPPFLAGS := -D_GNU_SOURCE
|
CPPFLAGS := -D_GNU_SOURCE
|
||||||
CFLAGS := -std=c11 -Wall -Wextra -O2 -flto -fPIC -fvisibility=hidden -fno-plt
|
CFLAGS := -std=c11 -Wall -Wextra -Wmissing-prototypes -O2 -flto -fPIC -fvisibility=hidden -fno-plt
|
||||||
LDFLAGS := -Wl,-z,defs,-z,relro,-z,now,-z,nodlopen,-z,text
|
LDFLAGS := -Wl,-z,defs,-z,relro,-z,now,-z,nodlopen,-z,text
|
||||||
OBJECTS := chacha.o malloc.o memory.o pages.o random.o util.o
|
OBJECTS := chacha.o malloc.o memory.o pages.o random.o util.o
|
||||||
|
|
||||||
|
|
34
malloc.c
34
malloc.c
|
@ -978,7 +978,7 @@ EXPORT int h_malloc_trim(UNUSED size_t pad) {
|
||||||
EXPORT void h_malloc_stats(void) {}
|
EXPORT void h_malloc_stats(void) {}
|
||||||
|
|
||||||
EXPORT struct mallinfo h_mallinfo(void) {
|
EXPORT struct mallinfo h_mallinfo(void) {
|
||||||
return (struct mallinfo){0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
return (struct mallinfo){0};
|
||||||
}
|
}
|
||||||
|
|
||||||
EXPORT int h_malloc_info(UNUSED int options, UNUSED FILE *fp) {
|
EXPORT int h_malloc_info(UNUSED int options, UNUSED FILE *fp) {
|
||||||
|
@ -993,3 +993,35 @@ COLD EXPORT void *h_malloc_get_state(void) {
|
||||||
COLD EXPORT int h_malloc_set_state(UNUSED void *state) {
|
COLD EXPORT int h_malloc_set_state(UNUSED void *state) {
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __ANDROID__
|
||||||
|
EXPORT size_t __mallinfo_narenas(void) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
EXPORT size_t __mallinfo_nbins(void) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
EXPORT struct mallinfo __mallinfo_arena_info(UNUSED size_t arena) {
|
||||||
|
return (struct mallinfo){0};
|
||||||
|
}
|
||||||
|
|
||||||
|
EXPORT struct mallinfo __mallinfo_bin_info(UNUSED size_t arena, UNUSED size_t bin) {
|
||||||
|
return (struct mallinfo){0};
|
||||||
|
}
|
||||||
|
|
||||||
|
COLD EXPORT int h_iterate(UNUSED uintptr_t base, UNUSED size_t size,
|
||||||
|
UNUSED void (*callback)(uintptr_t ptr, size_t size, void *arg),
|
||||||
|
UNUSED void *arg) {
|
||||||
|
fatal_error("not implemented");
|
||||||
|
}
|
||||||
|
|
||||||
|
COLD EXPORT void h_malloc_disable(void) {
|
||||||
|
fatal_error("not implemented");
|
||||||
|
}
|
||||||
|
|
||||||
|
COLD EXPORT void h_malloc_enable(void) {
|
||||||
|
fatal_error("not implemented");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
12
malloc.h
12
malloc.h
|
@ -52,6 +52,18 @@ void *h_valloc(size_t size);
|
||||||
void *h_pvalloc(size_t size);
|
void *h_pvalloc(size_t size);
|
||||||
void h_cfree(void *ptr);
|
void h_cfree(void *ptr);
|
||||||
|
|
||||||
|
// Android extensions
|
||||||
|
#ifdef __ANDROID__
|
||||||
|
size_t __mallinfo_narenas(void);
|
||||||
|
size_t __mallinfo_nbins(void);
|
||||||
|
struct mallinfo __mallinfo_arena_info(size_t arena);
|
||||||
|
struct mallinfo __mallinfo_bin_info(size_t arena, size_t bin);
|
||||||
|
int h_iterate(uintptr_t base, size_t size, void (*callback)(uintptr_t ptr, size_t size, void *arg),
|
||||||
|
void *arg);
|
||||||
|
void h_malloc_disable(void);
|
||||||
|
void h_malloc_enable(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
// custom extensions
|
// custom extensions
|
||||||
|
|
||||||
// return an upper bound on object size for any pointer based on malloc metadata
|
// return an upper bound on object size for any pointer based on malloc metadata
|
||||||
|
|
Loading…
Reference in New Issue