diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_mallinfo.h b/compiler-rt/lib/sanitizer_common/sanitizer_mallinfo.h new file mode 100644 --- /dev/null +++ b/compiler-rt/lib/sanitizer_common/sanitizer_mallinfo.h @@ -0,0 +1,34 @@ +//===-- sanitizer_mallinfo.h ----------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file is a part of Sanitizer common code. +// +// Definition for mallinfo on different platforms. +//===----------------------------------------------------------------------===// + +#ifndef SANITIZER_MALLINFO_H +#define SANITIZER_MALLINFO_H + +#include "sanitizer_internal_defs.h" +#include "sanitizer_platform.h" + +#if SANITIZER_ANDROID + +struct __sanitizer_struct_mallinfo { + uptr v[10]; +}; + +#elif SANITIZER_LINUX || SANITIZER_APPLE || SANITIZER_FUCHSIA + +struct __sanitizer_struct_mallinfo { + int v[10]; +}; + +#endif + +#endif // SANITIZER_MALLINFO_H diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h --- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h +++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h @@ -18,6 +18,7 @@ #include "sanitizer_internal_defs.h" #include "sanitizer_platform.h" +#include "sanitizer_mallinfo.h" #if SANITIZER_APPLE #include @@ -204,17 +205,7 @@ }; #endif // SANITIZER_LINUX -#if SANITIZER_ANDROID -struct __sanitizer_struct_mallinfo { - uptr v[10]; -}; -#endif - #if SANITIZER_LINUX && !SANITIZER_ANDROID -struct __sanitizer_struct_mallinfo { - int v[10]; -}; - extern unsigned struct_ustat_sz; extern unsigned struct_rlimit64_sz; extern unsigned struct_statvfs64_sz;