pf2 0.1.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +29 -2
- data/Cargo.lock +650 -0
- data/Cargo.toml +3 -0
- data/README.md +110 -13
- data/Rakefile +8 -0
- data/crates/backtrace-sys2/.gitignore +1 -0
- data/crates/backtrace-sys2/Cargo.toml +9 -0
- data/crates/backtrace-sys2/build.rs +48 -0
- data/crates/backtrace-sys2/src/lib.rs +5 -0
- data/crates/backtrace-sys2/src/libbacktrace/.gitignore +15 -0
- data/crates/backtrace-sys2/src/libbacktrace/Isaac.Newton-Opticks.txt +9286 -0
- data/crates/backtrace-sys2/src/libbacktrace/LICENSE +29 -0
- data/crates/backtrace-sys2/src/libbacktrace/Makefile.am +623 -0
- data/crates/backtrace-sys2/src/libbacktrace/Makefile.in +2666 -0
- data/crates/backtrace-sys2/src/libbacktrace/README.md +36 -0
- data/crates/backtrace-sys2/src/libbacktrace/aclocal.m4 +864 -0
- data/crates/backtrace-sys2/src/libbacktrace/alloc.c +167 -0
- data/crates/backtrace-sys2/src/libbacktrace/allocfail.c +136 -0
- data/crates/backtrace-sys2/src/libbacktrace/allocfail.sh +104 -0
- data/crates/backtrace-sys2/src/libbacktrace/atomic.c +113 -0
- data/crates/backtrace-sys2/src/libbacktrace/backtrace-supported.h.in +66 -0
- data/crates/backtrace-sys2/src/libbacktrace/backtrace.c +129 -0
- data/crates/backtrace-sys2/src/libbacktrace/backtrace.h +189 -0
- data/crates/backtrace-sys2/src/libbacktrace/btest.c +501 -0
- data/crates/backtrace-sys2/src/libbacktrace/compile +348 -0
- data/crates/backtrace-sys2/src/libbacktrace/config/enable.m4 +38 -0
- data/crates/backtrace-sys2/src/libbacktrace/config/lead-dot.m4 +31 -0
- data/crates/backtrace-sys2/src/libbacktrace/config/libtool.m4 +7436 -0
- data/crates/backtrace-sys2/src/libbacktrace/config/ltoptions.m4 +369 -0
- data/crates/backtrace-sys2/src/libbacktrace/config/ltsugar.m4 +123 -0
- data/crates/backtrace-sys2/src/libbacktrace/config/ltversion.m4 +23 -0
- data/crates/backtrace-sys2/src/libbacktrace/config/lt~obsolete.m4 +98 -0
- data/crates/backtrace-sys2/src/libbacktrace/config/multi.m4 +68 -0
- data/crates/backtrace-sys2/src/libbacktrace/config/override.m4 +117 -0
- data/crates/backtrace-sys2/src/libbacktrace/config/unwind_ipinfo.m4 +37 -0
- data/crates/backtrace-sys2/src/libbacktrace/config/warnings.m4 +227 -0
- data/crates/backtrace-sys2/src/libbacktrace/config.guess +1700 -0
- data/crates/backtrace-sys2/src/libbacktrace/config.h.in +182 -0
- data/crates/backtrace-sys2/src/libbacktrace/config.sub +1885 -0
- data/crates/backtrace-sys2/src/libbacktrace/configure +15740 -0
- data/crates/backtrace-sys2/src/libbacktrace/configure.ac +613 -0
- data/crates/backtrace-sys2/src/libbacktrace/dwarf.c +4402 -0
- data/crates/backtrace-sys2/src/libbacktrace/edtest.c +120 -0
- data/crates/backtrace-sys2/src/libbacktrace/edtest2.c +43 -0
- data/crates/backtrace-sys2/src/libbacktrace/elf.c +7443 -0
- data/crates/backtrace-sys2/src/libbacktrace/fileline.c +407 -0
- data/crates/backtrace-sys2/src/libbacktrace/filenames.h +52 -0
- data/crates/backtrace-sys2/src/libbacktrace/filetype.awk +13 -0
- data/crates/backtrace-sys2/src/libbacktrace/install-debuginfo-for-buildid.sh.in +65 -0
- data/crates/backtrace-sys2/src/libbacktrace/install-sh +501 -0
- data/crates/backtrace-sys2/src/libbacktrace/instrumented_alloc.c +114 -0
- data/crates/backtrace-sys2/src/libbacktrace/internal.h +389 -0
- data/crates/backtrace-sys2/src/libbacktrace/libtool.m4 +7436 -0
- data/crates/backtrace-sys2/src/libbacktrace/ltmain.sh +8636 -0
- data/crates/backtrace-sys2/src/libbacktrace/ltoptions.m4 +369 -0
- data/crates/backtrace-sys2/src/libbacktrace/ltsugar.m4 +123 -0
- data/crates/backtrace-sys2/src/libbacktrace/ltversion.m4 +23 -0
- data/crates/backtrace-sys2/src/libbacktrace/lt~obsolete.m4 +98 -0
- data/crates/backtrace-sys2/src/libbacktrace/macho.c +1355 -0
- data/crates/backtrace-sys2/src/libbacktrace/missing +215 -0
- data/crates/backtrace-sys2/src/libbacktrace/mmap.c +331 -0
- data/crates/backtrace-sys2/src/libbacktrace/mmapio.c +110 -0
- data/crates/backtrace-sys2/src/libbacktrace/move-if-change +83 -0
- data/crates/backtrace-sys2/src/libbacktrace/mtest.c +410 -0
- data/crates/backtrace-sys2/src/libbacktrace/nounwind.c +66 -0
- data/crates/backtrace-sys2/src/libbacktrace/pecoff.c +957 -0
- data/crates/backtrace-sys2/src/libbacktrace/posix.c +104 -0
- data/crates/backtrace-sys2/src/libbacktrace/print.c +92 -0
- data/crates/backtrace-sys2/src/libbacktrace/read.c +110 -0
- data/crates/backtrace-sys2/src/libbacktrace/simple.c +108 -0
- data/crates/backtrace-sys2/src/libbacktrace/sort.c +108 -0
- data/crates/backtrace-sys2/src/libbacktrace/state.c +72 -0
- data/crates/backtrace-sys2/src/libbacktrace/stest.c +137 -0
- data/crates/backtrace-sys2/src/libbacktrace/test-driver +148 -0
- data/crates/backtrace-sys2/src/libbacktrace/test_format.c +55 -0
- data/crates/backtrace-sys2/src/libbacktrace/testlib.c +234 -0
- data/crates/backtrace-sys2/src/libbacktrace/testlib.h +110 -0
- data/crates/backtrace-sys2/src/libbacktrace/ttest.c +161 -0
- data/crates/backtrace-sys2/src/libbacktrace/unittest.c +92 -0
- data/crates/backtrace-sys2/src/libbacktrace/unknown.c +65 -0
- data/crates/backtrace-sys2/src/libbacktrace/xcoff.c +1606 -0
- data/crates/backtrace-sys2/src/libbacktrace/xztest.c +508 -0
- data/crates/backtrace-sys2/src/libbacktrace/zstdtest.c +523 -0
- data/crates/backtrace-sys2/src/libbacktrace/ztest.c +541 -0
- data/ext/pf2/Cargo.toml +25 -0
- data/ext/pf2/build.rs +3 -0
- data/ext/pf2/extconf.rb +6 -1
- data/ext/pf2/src/backtrace.rs +126 -0
- data/ext/pf2/src/lib.rs +15 -0
- data/ext/pf2/src/profile.rs +65 -0
- data/ext/pf2/src/profile_serializer.rs +204 -0
- data/ext/pf2/src/ringbuffer.rs +152 -0
- data/ext/pf2/src/ruby_init.rs +74 -0
- data/ext/pf2/src/sample.rs +66 -0
- data/ext/pf2/src/siginfo_t.c +5 -0
- data/ext/pf2/src/signal_scheduler/configuration.rs +31 -0
- data/ext/pf2/src/signal_scheduler/timer_installer.rs +199 -0
- data/ext/pf2/src/signal_scheduler.rs +311 -0
- data/ext/pf2/src/timer_thread_scheduler.rs +319 -0
- data/ext/pf2/src/util.rs +30 -0
- data/lib/pf2/cli.rb +1 -1
- data/lib/pf2/reporter.rb +48 -16
- data/lib/pf2/version.rb +1 -1
- data/lib/pf2.rb +20 -5
- metadata +128 -5
- data/ext/pf2/pf2.c +0 -246
@@ -0,0 +1,161 @@
|
|
1
|
+
/* ttest.c -- Test for libbacktrace library
|
2
|
+
Copyright (C) 2017-2021 Free Software Foundation, Inc.
|
3
|
+
Written by Ian Lance Taylor, Google.
|
4
|
+
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
6
|
+
modification, are permitted provided that the following conditions are
|
7
|
+
met:
|
8
|
+
|
9
|
+
(1) Redistributions of source code must retain the above copyright
|
10
|
+
notice, this list of conditions and the following disclaimer.
|
11
|
+
|
12
|
+
(2) Redistributions in binary form must reproduce the above copyright
|
13
|
+
notice, this list of conditions and the following disclaimer in
|
14
|
+
the documentation and/or other materials provided with the
|
15
|
+
distribution.
|
16
|
+
|
17
|
+
(3) The name of the author may not be used to
|
18
|
+
endorse or promote products derived from this software without
|
19
|
+
specific prior written permission.
|
20
|
+
|
21
|
+
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
22
|
+
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
23
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
24
|
+
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
25
|
+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
26
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
27
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
28
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
29
|
+
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
30
|
+
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
31
|
+
POSSIBILITY OF SUCH DAMAGE. */
|
32
|
+
|
33
|
+
/* Test using the libbacktrace library from multiple threads. */
|
34
|
+
|
35
|
+
#include <assert.h>
|
36
|
+
#include <stdio.h>
|
37
|
+
#include <stdlib.h>
|
38
|
+
#include <string.h>
|
39
|
+
|
40
|
+
#include <pthread.h>
|
41
|
+
|
42
|
+
#include "filenames.h"
|
43
|
+
|
44
|
+
#include "backtrace.h"
|
45
|
+
#include "backtrace-supported.h"
|
46
|
+
|
47
|
+
#include "testlib.h"
|
48
|
+
|
49
|
+
static int f2 (int) __attribute__ ((noinline));
|
50
|
+
static int f3 (int, int) __attribute__ ((noinline));
|
51
|
+
|
52
|
+
/* Test that a simple backtrace works. This is called via
|
53
|
+
pthread_create. It returns the number of failures, as void *. */
|
54
|
+
|
55
|
+
static void *
|
56
|
+
test1_thread (void *arg ATTRIBUTE_UNUSED)
|
57
|
+
{
|
58
|
+
/* Returning a value here and elsewhere avoids a tailcall which
|
59
|
+
would mess up the backtrace. */
|
60
|
+
return (void *) (uintptr_t) (f2 (__LINE__) - 2);
|
61
|
+
}
|
62
|
+
|
63
|
+
static int
|
64
|
+
f2 (int f1line)
|
65
|
+
{
|
66
|
+
return f3 (f1line, __LINE__) + 2;
|
67
|
+
}
|
68
|
+
|
69
|
+
static int
|
70
|
+
f3 (int f1line, int f2line)
|
71
|
+
{
|
72
|
+
struct info all[20];
|
73
|
+
struct bdata data;
|
74
|
+
int f3line;
|
75
|
+
int i;
|
76
|
+
|
77
|
+
data.all = &all[0];
|
78
|
+
data.index = 0;
|
79
|
+
data.max = 20;
|
80
|
+
data.failed = 0;
|
81
|
+
|
82
|
+
f3line = __LINE__ + 1;
|
83
|
+
i = backtrace_full (state, 0, callback_one, error_callback_one, &data);
|
84
|
+
|
85
|
+
if (i != 0)
|
86
|
+
{
|
87
|
+
fprintf (stderr, "test1: unexpected return value %d\n", i);
|
88
|
+
data.failed = 1;
|
89
|
+
}
|
90
|
+
|
91
|
+
if (data.index < 3)
|
92
|
+
{
|
93
|
+
fprintf (stderr,
|
94
|
+
"test1: not enough frames; got %zu, expected at least 3\n",
|
95
|
+
data.index);
|
96
|
+
data.failed = 1;
|
97
|
+
}
|
98
|
+
|
99
|
+
check ("test1", 0, all, f3line, "f3", "ttest.c", &data.failed);
|
100
|
+
check ("test1", 1, all, f2line, "f2", "ttest.c", &data.failed);
|
101
|
+
check ("test1", 2, all, f1line, "test1_thread", "ttest.c", &data.failed);
|
102
|
+
|
103
|
+
return data.failed;
|
104
|
+
}
|
105
|
+
|
106
|
+
/* Run the test with 10 threads simultaneously. */
|
107
|
+
|
108
|
+
#define THREAD_COUNT 10
|
109
|
+
|
110
|
+
static void test1 (void) __attribute__ ((unused));
|
111
|
+
|
112
|
+
static void
|
113
|
+
test1 (void)
|
114
|
+
{
|
115
|
+
pthread_t atid[THREAD_COUNT];
|
116
|
+
int i;
|
117
|
+
int errnum;
|
118
|
+
int this_fail;
|
119
|
+
void *ret;
|
120
|
+
|
121
|
+
for (i = 0; i < THREAD_COUNT; i++)
|
122
|
+
{
|
123
|
+
errnum = pthread_create (&atid[i], NULL, test1_thread, NULL);
|
124
|
+
if (errnum != 0)
|
125
|
+
{
|
126
|
+
fprintf (stderr, "pthread_create %d: %s\n", i, strerror (errnum));
|
127
|
+
exit (EXIT_FAILURE);
|
128
|
+
}
|
129
|
+
}
|
130
|
+
|
131
|
+
this_fail = 0;
|
132
|
+
for (i = 0; i < THREAD_COUNT; i++)
|
133
|
+
{
|
134
|
+
errnum = pthread_join (atid[i], &ret);
|
135
|
+
if (errnum != 0)
|
136
|
+
{
|
137
|
+
fprintf (stderr, "pthread_join %d: %s\n", i, strerror (errnum));
|
138
|
+
exit (EXIT_FAILURE);
|
139
|
+
}
|
140
|
+
this_fail += (int) (uintptr_t) ret;
|
141
|
+
}
|
142
|
+
|
143
|
+
printf ("%s: threaded backtrace_full noinline\n", this_fail > 0 ? "FAIL" : "PASS");
|
144
|
+
|
145
|
+
failures += this_fail;
|
146
|
+
}
|
147
|
+
|
148
|
+
int
|
149
|
+
main (int argc ATTRIBUTE_UNUSED, char **argv)
|
150
|
+
{
|
151
|
+
state = backtrace_create_state (argv[0], BACKTRACE_SUPPORTS_THREADS,
|
152
|
+
error_callback_create, NULL);
|
153
|
+
|
154
|
+
#if BACKTRACE_SUPPORTED
|
155
|
+
#if BACKTRACE_SUPPORTS_THREADS
|
156
|
+
test1 ();
|
157
|
+
#endif
|
158
|
+
#endif
|
159
|
+
|
160
|
+
exit (failures ? EXIT_FAILURE : EXIT_SUCCESS);
|
161
|
+
}
|
@@ -0,0 +1,92 @@
|
|
1
|
+
/* unittest.c -- Test for libbacktrace library
|
2
|
+
Copyright (C) 2018-2021 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
|
+
#include <assert.h>
|
33
|
+
#include <stdio.h>
|
34
|
+
#include <stdlib.h>
|
35
|
+
#include <string.h>
|
36
|
+
#include <unistd.h>
|
37
|
+
|
38
|
+
#include "filenames.h"
|
39
|
+
|
40
|
+
#include "backtrace.h"
|
41
|
+
#include "backtrace-supported.h"
|
42
|
+
|
43
|
+
#include "testlib.h"
|
44
|
+
|
45
|
+
#include "internal.h"
|
46
|
+
|
47
|
+
static unsigned count;
|
48
|
+
|
49
|
+
static void
|
50
|
+
error_callback (void *vdata ATTRIBUTE_UNUSED, const char *msg ATTRIBUTE_UNUSED,
|
51
|
+
int errnum ATTRIBUTE_UNUSED)
|
52
|
+
{
|
53
|
+
++count;
|
54
|
+
}
|
55
|
+
|
56
|
+
static int
|
57
|
+
test1 (void)
|
58
|
+
{
|
59
|
+
int res;
|
60
|
+
int failed;
|
61
|
+
|
62
|
+
struct backtrace_vector vec;
|
63
|
+
|
64
|
+
memset (&vec, 0, sizeof vec);
|
65
|
+
|
66
|
+
backtrace_vector_grow (state, 100, error_callback, NULL, &vec);
|
67
|
+
vec.alc += vec.size;
|
68
|
+
vec.size = 0;
|
69
|
+
|
70
|
+
count = 0;
|
71
|
+
res = backtrace_vector_release (state, &vec, error_callback, NULL);
|
72
|
+
failed = res != 1 || count != 0 || vec.base != NULL;
|
73
|
+
|
74
|
+
printf ("%s: unittest backtrace_vector_release size == 0\n",
|
75
|
+
failed ? "FAIL": "PASS");
|
76
|
+
|
77
|
+
if (failed)
|
78
|
+
++failures;
|
79
|
+
|
80
|
+
return failures;
|
81
|
+
}
|
82
|
+
|
83
|
+
int
|
84
|
+
main (int argc ATTRIBUTE_UNUSED, char **argv)
|
85
|
+
{
|
86
|
+
state = backtrace_create_state (argv[0], BACKTRACE_SUPPORTS_THREADS,
|
87
|
+
error_callback_create, NULL);
|
88
|
+
|
89
|
+
test1 ();
|
90
|
+
|
91
|
+
exit (failures ? EXIT_FAILURE : EXIT_SUCCESS);
|
92
|
+
}
|
@@ -0,0 +1,65 @@
|
|
1
|
+
/* unknown.c -- used when backtrace configury does not know file format.
|
2
|
+
Copyright (C) 2012-2021 Free Software Foundation, Inc.
|
3
|
+
Written by Ian Lance Taylor, Google.
|
4
|
+
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
6
|
+
modification, are permitted provided that the following conditions are
|
7
|
+
met:
|
8
|
+
|
9
|
+
(1) Redistributions of source code must retain the above copyright
|
10
|
+
notice, this list of conditions and the following disclaimer.
|
11
|
+
|
12
|
+
(2) Redistributions in binary form must reproduce the above copyright
|
13
|
+
notice, this list of conditions and the following disclaimer in
|
14
|
+
the documentation and/or other materials provided with the
|
15
|
+
distribution.
|
16
|
+
|
17
|
+
(3) The name of the author may not be used to
|
18
|
+
endorse or promote products derived from this software without
|
19
|
+
specific prior written permission.
|
20
|
+
|
21
|
+
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
22
|
+
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
23
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
24
|
+
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
25
|
+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
26
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
27
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
28
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
29
|
+
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
30
|
+
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
31
|
+
POSSIBILITY OF SUCH DAMAGE. */
|
32
|
+
|
33
|
+
#include "config.h"
|
34
|
+
|
35
|
+
#include <sys/types.h>
|
36
|
+
|
37
|
+
#include "backtrace.h"
|
38
|
+
#include "internal.h"
|
39
|
+
|
40
|
+
/* A trivial routine that always fails to find fileline data. */
|
41
|
+
|
42
|
+
static int
|
43
|
+
unknown_fileline (struct backtrace_state *state ATTRIBUTE_UNUSED,
|
44
|
+
uintptr_t pc, backtrace_full_callback callback,
|
45
|
+
backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
|
46
|
+
void *data)
|
47
|
+
|
48
|
+
{
|
49
|
+
return callback (data, pc, NULL, 0, NULL);
|
50
|
+
}
|
51
|
+
|
52
|
+
/* Initialize the backtrace data when we don't know how to read the
|
53
|
+
debug info. */
|
54
|
+
|
55
|
+
int
|
56
|
+
backtrace_initialize (struct backtrace_state *state ATTRIBUTE_UNUSED,
|
57
|
+
const char *filename ATTRIBUTE_UNUSED,
|
58
|
+
int descriptor ATTRIBUTE_UNUSED,
|
59
|
+
backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
|
60
|
+
void *data ATTRIBUTE_UNUSED, fileline *fileline_fn)
|
61
|
+
{
|
62
|
+
state->fileline_data = NULL;
|
63
|
+
*fileline_fn = unknown_fileline;
|
64
|
+
return 1;
|
65
|
+
}
|