1//===-- lsan_preinit.cc ---------------------------------------------------===//
2//
3// This file is distributed under the University of Illinois Open Source
4// License. See LICENSE.TXT for details.
5//
6//===----------------------------------------------------------------------===//
7//
8// This file is a part of LeakSanitizer.
9//
10// Call __lsan_init at the very early stage of process startup.
11//===----------------------------------------------------------------------===//
12
13#include "lsan.h"
14
15#if SANITIZER_CAN_USE_PREINIT_ARRAY
16  // We force __lsan_init to be called before anyone else by placing it into
17  // .preinit_array section.
18  __attribute__((section(".preinit_array"), used))
19  void (*__local_lsan_preinit)(void) = __lsan_init;
20#endif
21