1 //===-- sanitizer_solaris.h -------------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // This file is a part of Sanitizer runtime. It contains Solaris-specific
12 //===----------------------------------------------------------------------===//
14 #ifndef SANITIZER_SOLARIS_H
15 #define SANITIZER_SOLARIS_H
17 #include "sanitizer_internal_defs.h"
23 namespace __sanitizer
{
25 // Beginning of declaration from OpenSolaris/Illumos
26 // $SRC/cmd/sgs/include/rtld.h.
29 const char *rt_pathname
;
38 // Structure matching the Solaris 11.4 struct dl_phdr_info used to determine
39 // presence of dlpi_tls_modid field at runtime. Cf. Solaris 11.4
40 // dl_iterate_phdr(3C), Example 2.
41 struct dl_phdr_info_test
{
43 const char *dlpi_name
;
44 const ElfW(Phdr
) * dlpi_phdr
;
45 ElfW(Half
) dlpi_phnum
;
46 u_longlong_t dlpi_adds
;
47 u_longlong_t dlpi_subs
;
48 size_t dlpi_tls_modid
;
52 } // namespace __sanitizer
54 #endif // SANITIZER_SOLARIS
56 #endif // SANITIZER_SOLARIS_H