Skip to content
This repository was archived by the owner on Apr 2, 2024. It is now read-only.

Commit 8424131

Browse files
libbacktrace: initial commit
This is a standalone version of the libbacktrace library that I originally wrote for GCC. This is a copy of libbacktrace from GCC trunk, with all dependencies incorporated here.
1 parent 6a5a5fc commit 8424131

37 files changed

+44340
-0
lines changed

LICENSE

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Copyright (C) 2012-2016 Free Software Foundation, Inc.
2+
3+
# Redistribution and use in source and binary forms, with or without
4+
# modification, are permitted provided that the following conditions are
5+
# met:
6+
7+
# (1) Redistributions of source code must retain the above copyright
8+
# notice, this list of conditions and the following disclaimer.
9+
10+
# (2) Redistributions in binary form must reproduce the above copyright
11+
# notice, this list of conditions and the following disclaimer in
12+
# the documentation and/or other materials provided with the
13+
# distribution.
14+
15+
# (3) The name of the author may not be used to
16+
# endorse or promote products derived from this software without
17+
# specific prior written permission.
18+
19+
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20+
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22+
# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
23+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
28+
# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29+
# POSSIBILITY OF SUCH DAMAGE.

Makefile.am

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# Makefile.am -- Backtrace Makefile.
2+
# Copyright (C) 2012-2016 Free Software Foundation, Inc.
3+
4+
# Redistribution and use in source and binary forms, with or without
5+
# modification, are permitted provided that the following conditions are
6+
# met:
7+
8+
# (1) Redistributions of source code must retain the above copyright
9+
# notice, this list of conditions and the following disclaimer.
10+
11+
# (2) Redistributions in binary form must reproduce the above copyright
12+
# notice, this list of conditions and the following disclaimer in
13+
# the documentation and/or other materials provided with the
14+
# distribution.
15+
16+
# (3) The name of the author may not be used to
17+
# endorse or promote products derived from this software without
18+
# specific prior written permission.
19+
20+
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
21+
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23+
# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
24+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
25+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27+
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
28+
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29+
# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30+
# POSSIBILITY OF SUCH DAMAGE.
31+
32+
AM_CFLAGS = $(EXTRA_FLAGS) $(WARN_FLAGS) $(PIC_FLAG)
33+
34+
lib_LTLIBRARIES = libbacktrace.la
35+
include_HEADERS = backtrace.h backtrace-supported.h
36+
37+
libbacktrace_la_SOURCES = \
38+
backtrace.h \
39+
atomic.c \
40+
dwarf.c \
41+
fileline.c \
42+
internal.h \
43+
posix.c \
44+
print.c \
45+
sort.c \
46+
state.c
47+
48+
BACKTRACE_FILES = \
49+
backtrace.c \
50+
simple.c \
51+
nounwind.c
52+
53+
FORMAT_FILES = \
54+
elf.c \
55+
pecoff.c \
56+
unknown.c
57+
58+
VIEW_FILES = \
59+
read.c \
60+
mmapio.c
61+
62+
ALLOC_FILES = \
63+
alloc.c \
64+
mmap.c
65+
66+
EXTRA_libbacktrace_la_SOURCES = \
67+
$(BACKTRACE_FILES) \
68+
$(FORMAT_FILES) \
69+
$(VIEW_FILES) \
70+
$(ALLOC_FILES)
71+
72+
libbacktrace_la_LIBADD = \
73+
$(BACKTRACE_FILE) \
74+
$(FORMAT_FILE) \
75+
$(VIEW_FILE) \
76+
$(ALLOC_FILE)
77+
78+
libbacktrace_la_DEPENDENCIES = $(libbacktrace_la_LIBADD)
79+
80+
# Testsuite.
81+
82+
check_PROGRAMS =
83+
84+
TESTS = $(check_PROGRAMS)
85+
86+
if NATIVE
87+
88+
btest_SOURCES = btest.c
89+
btest_CFLAGS = $(AM_CFLAGS) -g -O
90+
btest_LDADD = libbacktrace.la
91+
92+
check_PROGRAMS += btest
93+
94+
stest_SOURCES = stest.c
95+
stest_LDADD = libbacktrace.la
96+
97+
check_PROGRAMS += stest
98+
99+
endif NATIVE
100+
101+
# We can't use automake's automatic dependency tracking, because it
102+
# breaks when using bootstrap-lean. Automatic dependency tracking
103+
# with GCC bootstrap will cause some of the objects to depend on
104+
# header files in prev-gcc/include, e.g., stddef.h and stdarg.h. When
105+
# using bootstrap-lean, prev-gcc is removed after each stage. When
106+
# running "make install", those header files will be gone, causing the
107+
# library to be rebuilt at install time. That may not succeed.
108+
109+
# These manual dependencies do not include dependencies on unwind.h,
110+
# even though that is part of GCC, because where to find it depends on
111+
# whether we are being built as a host library or a target library.
112+
113+
alloc.lo: config.h backtrace.h internal.h
114+
backtrace.lo: config.h backtrace.h internal.h
115+
btest.lo: backtrace.h backtrace-supported.h
116+
dwarf.lo: config.h backtrace.h internal.h
117+
elf.lo: config.h backtrace.h internal.h
118+
fileline.lo: config.h backtrace.h internal.h
119+
mmap.lo: config.h backtrace.h internal.h
120+
mmapio.lo: config.h backtrace.h internal.h
121+
nounwind.lo: config.h internal.h
122+
pecoff.lo: config.h backtrace.h internal.h
123+
posix.lo: config.h backtrace.h internal.h
124+
print.lo: config.h backtrace.h internal.h
125+
read.lo: config.h backtrace.h internal.h
126+
simple.lo: config.h backtrace.h internal.h
127+
sort.lo: config.h backtrace.h internal.h
128+
stest.lo: config.h backtrace.h internal.h
129+
state.lo: config.h backtrace.h backtrace-supported.h internal.h
130+
unknown.lo: config.h backtrace.h internal.h

0 commit comments

Comments
 (0)