112 lines
3.3 KiB
C
112 lines
3.3 KiB
C
|
/* Copyright (C) 2012-2021 Free Software Foundation, Inc.
|
||
|
Written by Ian Lance Taylor, Google.
|
||
|
|
||
|
Redistribution and use in source and binary forms, with or without
|
||
|
modification, are permitted provided that the following conditions are
|
||
|
met:
|
||
|
|
||
|
(1) Redistributions of source code must retain the above copyright
|
||
|
notice, this list of conditions and the following disclaimer.
|
||
|
|
||
|
(2) Redistributions in binary form must reproduce the above copyright
|
||
|
notice, this list of conditions and the following disclaimer in
|
||
|
the documentation and/or other materials provided with the
|
||
|
distribution.
|
||
|
|
||
|
(3) The name of the author may not be used to
|
||
|
endorse or promote products derived from this software without
|
||
|
specific prior written permission.
|
||
|
|
||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||
|
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
||
|
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||
|
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||
|
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||
|
POSSIBILITY OF SUCH DAMAGE. */
|
||
|
|
||
|
#define HAVE_ATOMIC_FUNCTIONS 1
|
||
|
#define HAVE_CLOCK_GETTIME 1
|
||
|
#define HAVE_DECL_GETPAGESIZE 0
|
||
|
#define HAVE_DECL_STRNLEN 1
|
||
|
#define HAVE_DL_ITERATE_PHDR 1
|
||
|
#define HAVE_GETIPINFO 1
|
||
|
#define HAVE_LSTAT 1
|
||
|
#define HAVE_READLINK 1
|
||
|
#define HAVE_SYNC_FUNCTIONS 1
|
||
|
|
||
|
#define HAVE_DLFCN_H 1
|
||
|
#define HAVE_INTTYPES_H 1
|
||
|
#define HAVE_LINK_H 1
|
||
|
#define HAVE_MEMORY_H 1
|
||
|
#define HAVE_STDINT_H 1
|
||
|
#define HAVE_STDLIB_H 1
|
||
|
#define HAVE_STRINGS_H 1
|
||
|
#define HAVE_STRING_H 1
|
||
|
#define HAVE_UNISTD_H 1
|
||
|
#define STDC_HEADERS 1
|
||
|
#include <stdint.h>
|
||
|
#if UINTPTR_MAX == 0xFFFFFFFF
|
||
|
#define BACKTRACE_ELF_SIZE 32
|
||
|
#define BACKTRACE_XCOFF_SIZE 32
|
||
|
#elif UINTPTR_MAX == 0xFFFFFFFFFFFFFFFFu
|
||
|
#define BACKTRACE_ELF_SIZE 64
|
||
|
#define BACKTRACE_XCOFF_SIZE 64
|
||
|
#endif
|
||
|
#ifdef __TINYC__
|
||
|
#undef HAVE_ATOMIC_FUNCTIONS
|
||
|
#undef HAVE_SYNC_FUNCTIONS
|
||
|
#endif
|
||
|
#ifndef _WIN32
|
||
|
#define HAVE_FCNTL 1
|
||
|
#endif
|
||
|
#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
|
||
|
#define HAVE_KERN_PROC 1
|
||
|
#define HAVE_KERN_PROC_ARGS 1
|
||
|
#endif
|
||
|
#ifdef __APPLE__
|
||
|
#define HAVE_MACH_O_DYLD_H 1
|
||
|
#endif
|
||
|
#ifndef _ALL_SOURCE
|
||
|
#define _ALL_SOURCE 1
|
||
|
#endif
|
||
|
#ifndef _GNU_SOURCE
|
||
|
#define _GNU_SOURCE 1
|
||
|
#undef HAVE_DL_ITERATE_PHDR
|
||
|
#endif
|
||
|
#ifndef _POSIX_PTHREAD_SEMANTICS
|
||
|
#define _POSIX_PTHREAD_SEMANTICS 1
|
||
|
#endif
|
||
|
#ifndef _TANDEM_SOURCE
|
||
|
#define _TANDEM_SOURCE 1
|
||
|
#endif
|
||
|
#ifndef __EXTENSIONS__
|
||
|
#define __EXTENSIONS__ 1
|
||
|
#endif
|
||
|
#ifndef _DARWIN_USE_64_BIT_INODE
|
||
|
#define _DARWIN_USE_64_BIT_INODE 1
|
||
|
#endif
|
||
|
|
||
|
#define BACKTRACE_SUPPORTED 1
|
||
|
#define BACKTRACE_USES_MALLOC 1
|
||
|
#define BACKTRACE_SUPPORTS_THREADS 1
|
||
|
#define BACKTRACE_SUPPORTS_DATA 0
|
||
|
|
||
|
#if __TINYC__
|
||
|
#undef BACKTRACE_SUPPORTED
|
||
|
#endif
|
||
|
|
||
|
#include "base.c"
|
||
|
|
||
|
#if defined(__linux__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
|
||
|
#include "linux.c"
|
||
|
#elif defined(__APPLE__)
|
||
|
#include "darwin.c"
|
||
|
#elif defined(_WIN32)
|
||
|
#include "windows.c"
|
||
|
#endif
|