mirror_frr/lib
David Lamparter 68b8a15f87 lib: add libunwind support for backtraces
libunwind provides an alternate to backtrace() for printing out the call
stack of a particular location.  It doesn't use the frame pointer, it
goes by the DWARF debug info.  In most cases the traces have exactly the
same information, but there are some situations where libunwind traces
are better.

(On some platforms, the libc backtrace() also uses the DWARF debug info
[e.g.: ARM backtraces are impossible without it] but this is not the
case everywhere, especially not on BSD libexecinfo.)

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-10-18 02:51:51 +02:00
..
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
agentx.c *: style for EC replacements 2018-09-13 19:38:57 +00:00
agg_table.c bgpd, lib, zebra: Wrapper get/set of table->info pointer 2018-09-23 20:04:39 -04:00
agg_table.h bgpd, lib, zebra: Wrapper get/set of table->info pointer 2018-09-23 20:04:39 -04:00
bfd.c bgpd/ospfd: make bgp and ospf json response a bit more consistent 2018-08-30 12:40:18 +00:00
bfd.h bgpd/ospfd: make bgp and ospf json response a bit more consistent 2018-08-30 12:40:18 +00:00
bitfield.h *: reindent 2017-07-17 14:04:07 +02:00
buffer.c *: LIB_[ERR|WARN] -> EC_LIB 2018-09-13 19:34:28 +00:00
buffer.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
checksum.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
checksum.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
clippy.c lib: untrusted argument (Coverity 1448386) 2018-06-27 15:50:04 +02:00
clippy.h lib: clippy the assistant 2017-06-14 19:29:23 +02:00
command_graph.c lib: fix clippy build w/ gcc under certain configs 2018-04-26 12:31:45 -04:00
command_graph.h lib: add ability to dump cli mode graph 2018-04-22 17:14:55 -04:00
command_lex.l lib: early-include "config.h" in flex lexers 2018-09-09 01:16:25 +02:00
command_match.c *: list_delete_and_null() -> list_delete() 2018-10-02 11:40:52 +02:00
command_match.h *: reindent 2017-07-17 14:04:07 +02:00
command_parse.y lib: Convert zlog_err for clippy build 2018-08-14 20:02:05 +00:00
command_py.c lib: Fix small memory leak when using command_py.c 2017-10-17 09:22:41 -04:00
command.c *: list_delete_and_null() -> list_delete() 2018-10-02 11:40:52 +02:00
command.h fabricd: add new daemon as build of isisd 2018-09-05 11:38:12 +02:00
compiler.h build: wrap "fallthrough" attr 2018-08-21 20:34:58 +02:00
csv.c Merge pull request #2965 from opensourcerouting/buildfoo-20180904 2018-09-09 14:11:10 -04:00
csv.h *: reindent 2017-07-17 14:04:07 +02:00
debug.c lib: add mt-safe debugging facilities 2018-03-01 15:01:25 -05:00
debug.h lib: add convenience debugging macros 2018-03-12 11:17:02 -04:00
defun_lex.l lib: early-include "config.h" in flex lexers 2018-09-09 01:16:25 +02:00
distribute.c *: reindent 2017-07-17 14:04:07 +02:00
distribute.h *: reindent 2017-07-17 14:04:07 +02:00
event_counter.c *: reindent 2017-07-17 14:04:07 +02:00
event_counter.h *: reindent 2017-07-17 14:04:07 +02:00
ferr.c *: list_delete_and_null() -> list_delete() 2018-10-02 11:40:52 +02:00
ferr.h *: rename ferr_ref -> log_ref 2018-08-14 20:02:05 +00:00
fifo.h *: reindent 2017-07-17 14:04:07 +02:00
filter.c libs, daemons: use const in route-map apply 2018-07-23 10:34:35 -04:00
filter.h libs, daemons: use const in route-map apply 2018-07-23 10:34:35 -04:00
freebsd-queue.h *: conform with COMMUNITY.md formatting rules, via 'make indent' 2018-03-06 14:04:32 -05:00
frr_pthread.c *: list_delete_and_null() -> list_delete() 2018-10-02 11:40:52 +02:00
frr_pthread.h lib: remove unused frr_pthread_yield() 2018-09-19 22:01:50 +02:00
frr_zmq.c *: style for EC replacements 2018-09-13 19:38:57 +00:00
frr_zmq.h lib: Address ZMQ lib TODOs 2017-11-23 12:50:27 +01:00
frratomic.h libs: fix missing atomics for some gcc versions 2018-08-29 15:39:19 -04:00
frrstr.c *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
frrstr.h bgpd, lib, ospfd, zebra: all_digit moved to frrstr 2018-06-19 17:59:53 +02:00
getopt1.c *: reindent 2017-07-17 14:04:07 +02:00
getopt.c Revert "*: reindent pt. 2" 2017-07-22 14:52:33 +02:00
getopt.h *: reindent 2017-07-17 14:04:07 +02:00
gitversion.pl build: make gitversion more useful 2017-08-02 02:59:51 +02:00
grammar_sandbox_main.c *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
grammar_sandbox.c *: list_delete_and_null() -> list_delete() 2018-10-02 11:40:52 +02:00
graph.c lib: add vector_remove() to vector.[ch] 2018-06-06 16:16:12 +00:00
graph.h lib: add DFS + DOT dumping to graph datastructure 2018-04-22 17:14:55 -04:00
hash.c *: list_delete_and_null() -> list_delete() 2018-10-02 11:40:52 +02:00
hash.h lib: Update hash.h documentation 2018-08-15 17:53:09 -04:00
hook.c *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
hook.h *: conform with COMMUNITY.md formatting rules, via 'make indent' 2018-03-06 14:04:32 -05:00
if_rmap.c *: conform with COMMUNITY.md formatting rules, via 'make indent' 2018-03-06 14:04:32 -05:00
if_rmap.h *: reindent 2017-07-17 14:04:07 +02:00
if.c *: list_delete_and_null() -> list_delete() 2018-10-02 11:40:52 +02:00
if.h Merge pull request #3040 from pacovn/static_analysis__drop_const_1 2018-09-17 15:25:49 -04:00
imsg-buffer.c lib, ldpd: fix SA warnings from TAILQ oddness 2018-09-08 20:34:32 +02:00
imsg.c lib, ldpd: fix SA warnings from TAILQ oddness 2018-09-08 20:34:32 +02:00
imsg.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ipaddr.h zebra: remote RMAC for EVPN ipv6 hosts should be programmed against the ipv4 nexthop 2018-05-08 19:24:15 -04:00
jhash.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
jhash.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
json.c bgpd/ospfd: make bgp and ospf json response a bit more consistent 2018-08-30 12:40:18 +00:00
json.h bgpd/ospfd: make bgp and ospf json response a bit more consistent 2018-08-30 12:40:18 +00:00
keychain.c *: list_delete_and_null() -> list_delete() 2018-10-02 11:40:52 +02:00
keychain.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
lib_errors.c *: LIB_[ERR|WARN] -> EC_LIB 2018-09-13 19:34:28 +00:00
lib_errors.h *: LIB_[ERR|WARN] -> EC_LIB 2018-09-13 19:34:28 +00:00
libfrr.c Merge pull request #3098 from opensourcerouting/watchfrr-delay 2018-10-04 15:04:56 -04:00
libfrr.h watchfrr, lib: cleanup & delay detaching 2018-10-02 12:27:47 +02:00
libospf.h ospf: Fix segfault if compiled with DEBUG 2017-08-09 12:07:58 +02:00
linklist.c *: list_delete_and_null() -> list_delete() 2018-10-02 11:40:52 +02:00
linklist.h *: list_delete_and_null() -> list_delete() 2018-10-02 11:40:52 +02:00
log_int.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
log.c lib: add libunwind support for backtraces 2018-10-18 02:51:51 +02:00
log.h lib: PRIu32 in log.h 2018-09-06 20:56:41 +00:00
logicalrouter.c *: conform with COMMUNITY.md formatting rules, via 'make indent' 2018-03-06 14:04:32 -05:00
logicalrouter.h lib: split logicalrouter and vrf netns feature 2018-02-27 11:11:24 +01:00
lua.c lua: Initial Lua import 2018-09-26 21:21:23 -04:00
lua.h lua: Initial Lua import 2018-09-26 21:21:23 -04:00
Makefile build: convert lib/ to non-recursive build 2017-07-31 23:03:27 +02:00
md5.c *: Remove cvs control points 2017-12-05 17:28:12 -05:00
md5.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
memory_vty.c lib: Cleanup include of link.h 2018-09-08 12:00:17 -04:00
memory_vty.h *: reindent 2017-07-17 14:04:07 +02:00
memory.c build: check {malloc,pthread}_np.h for *BSD 2018-09-09 01:16:25 +02:00
memory.h lib: qmem show changes (header and max) 2018-08-28 19:22:30 -04:00
module.c eigrpd lib pimd zebra: dead code (PVS-Studio) 2018-07-06 01:10:15 +02:00
module.h *: reindent 2017-07-17 14:04:07 +02:00
monotime.h *: Define the number of seconds in a Day, Week and year 2017-08-08 09:06:22 -04:00
mpls.c lib, zebra: Move label conversion strings to lib 2018-04-18 07:06:11 -04:00
mpls.h zebra, lib: error references for zebra 2018-08-14 20:02:05 +00:00
netns_linux.c *: style for EC replacements 2018-09-13 19:38:57 +00:00
netns_other.c zebra: add an indirection table for ns_id 2018-04-13 16:40:32 +02:00
network.c *: LIB_[ERR|WARN] -> EC_LIB 2018-09-13 19:34:28 +00:00
network.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
nexthop_group.c *: list_delete_and_null() -> list_delete() 2018-10-02 11:40:52 +02:00
nexthop_group.h libs: add ALL_NEXTHOPS_PTR iterator macro 2018-07-10 14:07:43 -04:00
nexthop.c lib: Add hash and use const a bit more intelligently 2018-04-06 13:22:43 -04:00
nexthop.h lib: Add hash and use const a bit more intelligently 2018-04-06 13:22:43 -04:00
ns.h lib: rename parameter for netns function 2018-04-13 16:40:32 +02:00
openbsd-queue.h *: reindent 2017-07-17 14:04:07 +02:00
openbsd-tree.c lib: RB-tree copy-paste error (Coverity 1446184) 2018-09-28 20:37:27 +02:00
openbsd-tree.h *: conform with COMMUNITY.md formatting rules, via 'make indent' 2018-03-06 14:04:32 -05:00
pbr.h bgpd: add an icmp flag for flowspec icmp entries 2018-06-28 11:08:59 +02:00
pid_output.c lib: When we can't lock the pid file provide a meaningfull message 2018-09-22 14:18:52 -04:00
plist_int.h lib: Convert internal sequence number to int64_t 2018-04-29 12:45:20 -04:00
plist.c bgpd lib ospf6d pbrd tests zebra: shadowing fixes 2018-09-13 17:37:08 +02:00
plist.h bgpd/ospfd: resolve warnings for bgp/ospf json commit 2018-08-30 15:54:46 +00:00
pqueue.c *: reindent 2017-07-17 14:04:07 +02:00
pqueue.h *: reindent 2017-07-17 14:04:07 +02:00
prefix.c *: style for EC replacements 2018-09-13 19:38:57 +00:00
prefix.h bgpd, lib, ospfd, zebra: all_digit moved to frrstr 2018-06-19 17:59:53 +02:00
privs.c *: LIB_[ERR|WARN] -> EC_LIB 2018-09-13 19:34:28 +00:00
privs.h lib: add frr_elevate_privs() wrapper 2018-08-14 20:02:05 +00:00
ptm_lib.c *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
ptm_lib.h lib: Allow memory to be cleaned up for error cases in ptm 2017-12-04 18:59:47 -05:00
pw.h ldpd: integrate with the pseudowire manager in zebra 2017-08-09 12:35:16 +02:00
qobj.c *: conform with COMMUNITY.md formatting rules, via 'make indent' 2018-03-06 14:04:32 -05:00
qobj.h *: reindent 2017-07-17 14:04:07 +02:00
queue.h lib, ldpd: fix SA warnings from TAILQ oddness 2018-09-08 20:34:32 +02:00
ringbuf.c *: conform with COMMUNITY.md formatting rules, via 'make indent' 2018-03-06 14:04:32 -05:00
ringbuf.h lib: add ringbuf_copy() 2018-01-03 14:04:43 -05:00
route_types.pl lib: Restrict redistribution cli a bit 2018-04-13 12:56:19 -04:00
route_types.txt fabricd: add new daemon as build of isisd 2018-09-05 11:38:12 +02:00
routemap.c bgpd: Check if route-map really exists before applying to the peer 2018-10-11 10:56:12 +03:00
routemap.h bgpd: Check if route-map really exists before applying to the peer 2018-10-11 10:56:12 +03:00
sbuf.c lib: out-of-bounds access (Coverity 1452539) 2018-06-22 00:06:07 +02:00
sbuf.h *: conform with COMMUNITY.md formatting rules, via 'make indent' 2018-03-06 14:04:32 -05:00
sha256.c lib: Fix memset usage 2017-10-03 12:03:56 -04:00
sha256.h *: reindent 2017-07-17 14:04:07 +02:00
sigevent.c *: LIB_[ERR|WARN] -> EC_LIB 2018-09-13 19:34:28 +00:00
sigevent.h *: reindent 2017-07-17 14:04:07 +02:00
skiplist.c *: style for EC replacements 2018-09-13 19:38:57 +00:00
skiplist.h *: reindent 2017-07-17 14:04:07 +02:00
smux.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
snmp.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
sockopt.c *: style for EC replacements 2018-09-13 19:38:57 +00:00
sockopt.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
sockunion.c *: style for EC replacements 2018-09-13 19:38:57 +00:00
sockunion.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
spf_backoff.c lib: Remove default case statement from a enum driven switch 2018-08-23 08:36:07 -04:00
spf_backoff.h *: reindent 2017-07-17 14:04:07 +02:00
srcdest_table.c bgpd, lib, zebra: Wrapper get/set of table->info pointer 2018-09-23 20:04:39 -04:00
srcdest_table.h bgpd, lib, zebra: Wrapper get/set of table->info pointer 2018-09-23 20:04:39 -04:00
stream.c *: style for EC replacements 2018-09-13 19:38:57 +00:00
stream.h lib: Convert stream_new to use one malloc 2018-08-22 07:58:54 -04:00
strlcat.c *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
strlcpy.c *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
subdir.am lib: add libunwind support for backtraces 2018-10-18 02:51:51 +02:00
systemd.c *: reindent 2017-07-17 14:04:07 +02:00
systemd.h *: reindent 2017-07-17 14:04:07 +02:00
table.c lib: prefix support for flowspec 2018-03-30 14:00:47 +02:00
table.h bgpd, lib, zebra: Wrapper get/set of table->info pointer 2018-09-23 20:04:39 -04:00
termtable.c bgpd lib ospf6d pbrd tests zebra: shadowing fixes 2018-09-13 17:37:08 +02:00
termtable.h *: reindent 2017-07-17 14:04:07 +02:00
thread.c Merge pull request #3087 from opensourcerouting/bfd-memleak 2018-10-03 18:43:34 -04:00
thread.h lib: Add thread_execute_name 2018-09-13 10:50:50 -04:00
vector.c lib: add vector_compact(), use after str splits 2018-06-06 16:16:12 +00:00
vector.h lib: add vector_compact(), use after str splits 2018-06-06 16:16:12 +00:00
version.h.in lib: add cli preprocessor for | actions 2018-06-06 16:15:34 +00:00
vlan.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
vrf_int.h *: reindent 2017-07-17 14:04:07 +02:00
vrf.c *: style for EC replacements 2018-09-13 19:38:57 +00:00
vrf.h lib: redundant parentheses (SA) 2018-09-20 17:36:21 +02:00
vty.c *: style for EC replacements 2018-09-13 19:38:57 +00:00
vty.h lib: Add ability to know if we have read anything in 2018-06-19 08:43:59 -04:00
vxlan.h lib, zebra: Allow the specification of BUM flooding 2018-10-11 20:22:19 -04:00
wheel.c *: list_delete_and_null() -> list_delete() 2018-10-02 11:40:52 +02:00
wheel.h lib, pimd: Convert timer_wheel to use thread_execute_name 2018-09-13 10:51:13 -04:00
workqueue.c *: ALLOC calls cannot fail 2018-08-11 17:14:58 +02:00
workqueue.h lib: remove VERSION_TYPE_DEV from CONFDATE checks 2018-07-10 16:19:37 -04:00
zassert.h *: Remove cvs control points 2017-12-05 17:28:12 -05:00
zclient.c *: list_delete_and_null() -> list_delete() 2018-10-02 11:40:52 +02:00
zclient.h lib, zebra: Allow the specification of BUM flooding 2018-10-11 20:22:19 -04:00
zebra.h lib: Include compiler.h as early as is possible in the build 2018-10-03 13:41:21 -04:00