Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
ia64_find_save_locs /src/libunwind/src/ia64/Gscript.c 1 ['struct cursor*'] 15 0 42 10 14 169 0 638 218
dwarf_callback /src/libunwind/src/dwarf/Gfind_proc_info-lsb.c 3 ['struct dl_phdr_info*', 'size_t', 'void*'] 10 0 106 23 28 91 0 284 140
unw_decode /src/libunwind/src/ia64/unwind_decoder.h 3 ['unsigned char*', 'int', 'void*'] 3 0 37 13 13 50 0 127 127
arm_exidx_step /src/libunwind/src/arm/Gstep.c 1 ['struct cursor*'] 13 0 27 9 9 103 0 404 96
_UCD_access_reg /src/libunwind/src/coredump/_UCD_access_reg_freebsd.c 5 ['unw_addr_space_t', 'unw_regnum_t', 'unw_word_t*', 'int', 'void*'] 1 0 221 69 72 1 0 73 72
segv_handler /src/libunwind/tests/Gtest-bt.c 3 ['int', 'siginfo_t*', 'void*'] 15 0 5 2 1 199 0 778 65
_UCD_create /src/libunwind/src/coredump/_UCD_create.c 1 ['char*'] 6 0 118 18 38 44 0 77 62
get_frame_state /src/libunwind/src/aarch64/Gstep.c 1 ['unw_cursor_t*'] 9 0 22 6 8 35 0 76 57
update_frame_state /src/libunwind/src/ia64/Gstep.c 1 ['struct cursor*'] 7 0 70 20 19 54 0 154 52
signal_handler /src/libunwind/tests/aarch64-test-lr-fallback.c 3 ['int', 'siginfo_t*', 'void*'] 12 0 38 9 12 194 0 760 50

Implementing fuzzers that target the above functions will improve reachability such that it becomes:

Functions statically reachable by fuzzers
37.0%
369 / 1010
Cyclomatic complexity statically reachable by fuzzers
51.0%
1674 / 3263

All functions overview

If you implement fuzzers for these functions, the status of all functions in the project will be:

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzz driver synthesis

New fuzzers

The below fuzzers are templates and suggestions for how to target the set of optimal functions above

Gscript.c

Target file: /src/libunwind/src/ia64/Gscript.c
Target functions: ia64_find_save_locs
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target ia64_find_save_locs */
  structcursor* new_var0 = calloc(sizeof(structcursor), 1);
  ia64_find_save_locs(new_var0);

  af_safe_gb_cleanup();
}

Gfind_proc_info-lsb.c

Target file: /src/libunwind/src/dwarf/Gfind_proc_info-lsb.c
Target functions: dwarf_callback
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target dwarf_callback */
  structdl_phdr_info* new_var1 = calloc(sizeof(structdl_phdr_info), 1);
  UNKNOWN_TYPE unknown_2;
  UNKNOWN_TYPE unknown_3;
  dwarf_callback(new_var1, unknown_2, unknown_3);

  af_safe_gb_cleanup();
}

unwind_decoder.h

Target file: /src/libunwind/src/ia64/unwind_decoder.h
Target functions: unw_decode
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target unw_decode */
  UNKNOWN_TYPE unknown_4;
  int new_var5 = ada_safe_get_int();
  UNKNOWN_TYPE unknown_6;
  unw_decode(unknown_4, new_var5, unknown_6);

  af_safe_gb_cleanup();
}

Gstep.c

Target file: /src/libunwind/src/arm/Gstep.c
Target functions: arm_exidx_step
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target arm_exidx_step */
  structcursor* new_var7 = calloc(sizeof(structcursor), 1);
  arm_exidx_step(new_var7);

  af_safe_gb_cleanup();
}

_UCD_access_reg_freebsd.c

Target file: /src/libunwind/src/coredump/_UCD_access_reg_freebsd.c
Target functions: _UCD_access_reg
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target _UCD_access_reg */
  UNKNOWN_TYPE unknown_8;
  UNKNOWN_TYPE unknown_9;
  UNKNOWN_TYPE unknown_10;
  int new_var11 = ada_safe_get_int();
  UNKNOWN_TYPE unknown_12;
  _UCD_access_reg(unknown_8, unknown_9, unknown_10, new_var11, unknown_12);

  af_safe_gb_cleanup();
}

Gtest-bt.c

Target file: /src/libunwind/tests/Gtest-bt.c
Target functions: segv_handler
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target segv_handler */
  int new_var13 = ada_safe_get_int();
  UNKNOWN_TYPE unknown_14;
  UNKNOWN_TYPE unknown_15;
  segv_handler(new_var13, unknown_14, unknown_15);

  af_safe_gb_cleanup();
}

_UCD_create.c

Target file: /src/libunwind/src/coredump/_UCD_create.c
Target functions: _UCD_create
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target _UCD_create */
  char *new_var16 = ada_safe_get_char_p();
  _UCD_create(new_var16);

  af_safe_gb_cleanup();
}

Gstep.c

Target file: /src/libunwind/src/aarch64/Gstep.c
Target functions: get_frame_state
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target get_frame_state */
  UNKNOWN_TYPE unknown_17;
  get_frame_state(unknown_17);

  af_safe_gb_cleanup();
}

Gstep.c

Target file: /src/libunwind/src/ia64/Gstep.c
Target functions: update_frame_state
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target update_frame_state */
  structcursor* new_var18 = calloc(sizeof(structcursor), 1);
  update_frame_state(new_var18);

  af_safe_gb_cleanup();
}

aarch64-test-lr-fallback.c

Target file: /src/libunwind/tests/aarch64-test-lr-fallback.c
Target functions: signal_handler
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target signal_handler */
  int new_var19 = ada_safe_get_int();
  UNKNOWN_TYPE unknown_20;
  UNKNOWN_TYPE unknown_21;
  signal_handler(new_var19, unknown_20, unknown_21);

  af_safe_gb_cleanup();
}

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
/src/libunwind/src/arm/Gos-freebsd.c [] []
/src/libunwind/src/sh/Gresume.c [] []
/src/libunwind/tests/Gia64-test-rbs.c [] []
/src/libunwind/src/x86_64/Ginit_local.c [] []
/src/libunwind/src/ptrace/_UPT_get_proc_name.c [] []
/src/libunwind/tests/test-proc-info.c [] []
/src/fuzz_libunwind.c ['fuzz_libunwind.c'] []
/src/libunwind/src/x86_64/init.h [] []
/src/libunwind/src/ppc64/ucontext_i.h [] []
/src/libunwind/src/sh/Gstep.c [] []
/src/libunwind/src/x86_64/Gos-linux.c [] []
/src/libunwind/src/x86/Gos-freebsd.c [] []
/src/libunwind/src/mi/Gset_fpreg.c [] []
/src/libunwind/tests/crasher.c [] []
/src/libunwind/include/tdep-mips/dwarf-config.h [] []
/src/libunwind/src/nto/unw_nto_get_proc_name.c [] []
/src/libunwind/src/arm/Gstep.c [] []
/src/libunwind/src/mi/Gget_proc_info_by_ip.c [] []
/src/libunwind/src/dwarf/Gfde.c [] []
/src/libunwind/src/ptrace/_UPT_access_reg.c [] []
/src/libunwind/src/ia64/Ginit_local.c [] []
/src/libunwind/src/ia64/Ginit.c [] []
/src/libunwind/tests/Ltest-init-local-signal.c [] []
/src/libunwind/src/unwind/SetGR.c [] []
/src/libunwind/src/ia64/Gstep.c [] []
/src/libunwind/src/x86_64/Gresume.c [] []
/src/libunwind/include/remote/win/unistd.h [] []
/src/libunwind/src/x86_64/unwind_i.h [] []
/src/libunwind/src/aarch64/unwind_i.h [] []
/src/libunwind/src/os-qnx.h [] []
/src/libunwind/tests/Gperf-simple.c [] []
/src/libunwind/tests/Gtest-dyn1.c [] []
/src/libunwind/src/x86_64/Gapply_reg_state.c [] []
/src/libunwind/src/ia64/Gparser.c [] []
/src/libunwind/tests/ia64-test-setjmp.c [] []
/src/libunwind/src/coredump/_UCD_add_backing_file_at_vaddr.c [] []
/src/libunwind/src/mi/Gget_reg.c ['fuzz_libunwind.c'] []
/src/libunwind/tests/test-reg-state.c [] []
/src/libunwind/src/x86_64/Gglobal.c [] []
/src/libunwind/include/tdep-x86_64/libunwind_i.h [] []
/src/libunwind/src/dwarf/Gparser.c [] []
/src/libunwind/src/nto/unw_nto_destroy.c [] []
/src/libunwind/tests/test-iterate-phdr-cache-null.c [] []
/src/libunwind/src/setjmp/sigsetjmp.c [] []
/src/libunwind/include/tdep-arm/libunwind_i.h [] []
/src/libunwind/src/coredump/_UCD_access_mem.c [] []
/src/libunwind/src/dwarf/Gfind_proc_info-lsb.c [] []
/src/libunwind/src/mi/Gdestroy_addr_space.c [] []
/src/libunwind/src/os-linux.h [] []
/src/libunwind/include/remote/freebsd-elf_common.h [] []
/src/libunwind/src/coredump/_UCD_find_proc_info.c [] []
/src/libunwind/src/aarch64/Ginit.c [] []
/src/libunwind/tests/test-static-link-loc.c [] []
/src/libunwind/src/nto/unw_nto_resume.c [] []
/src/libunwind/tests/unw_test.h [] []
/src/libunwind/src/dl-iterate-phdr.c [] []
/src/libunwind/src/alpha/Ginit.c [] []
/src/libunwind/tests/Garm64-test-sve-signal.c [] []
/src/libunwind/tests/Ltest-cxx-exceptions.cxx [] []
/src/libunwind/tests/test-ptrace-misc.c [] []
/src/libunwind/include/remote/freebsd-elf32.h [] []
/src/libunwind/include/remote/win/sys/stat.h [] []
/src/libunwind/tests/Garm-test-debug-frame-bt.c [] []
/src/libunwind/src/nto/unw_nto_access_reg.c [] []
/src/libunwind/src/ia64/mk_Gcursor_i.c [] []
/src/libunwind/src/ppc64/Gresume.c [] []
/src/libunwind/src/mi/_ReadULEB.c [] []
/src/libunwind/tests/Gtest-get_proc_name.c [] []
/src/libunwind/src/nto/unw_nto_get_dyn_info_list_addr.c [] []
/src/libunwind/src/sparc64/ucontext_i.h [] []
/src/libunwind/src/mi/dyn-info-list.c [] []
/src/libunwind/tests/x64-unwind-badjmp-signal-frame.c [] []
/src/libunwind/src/x86_64/Gregs.c [] []
/src/libunwind/src/unwind/GetGR.c [] []
/src/libunwind/src/riscv/Gstep.c [] []
/src/libunwind/src/ptrace/_UPT_get_dyn_info_list_addr.c [] []
/src/libunwind/src/mi/Gaddress_validator.c [] []
/src/libunwind/src/mips/Ginit.c [] []
/src/libunwind/src/nto/unw_nto_access_mem.c [] []
/src/libunwind/tests/ppc64-test-altivec-utils.c [] []
/src/libunwind/src/x86_64/Gget_save_loc.c [] []
/src/libunwind/src/ia64/Gregs.c [] []
/src/libunwind/src/ptrace/_UPT_access_fpreg.c [] []
/src/libunwind/src/x86_64/regname.c [] []
/src/libunwind/src/coredump/_UCD_get_elf_filename.c [] []
/src/libunwind/include/libunwind_i.h [] []
/src/libunwind/src/coredump/_UCD_destroy.c [] []
/src/libunwind/src/riscv/Gresume.c [] []
/src/libunwind/src/ppc64/init.h [] []
/src/libunwind/src/mi/Gdyn-extract.c [] []
/src/libunwind/src/x86/Gregs.c [] []
/src/libunwind/src/x86_64/is_fpreg.c [] []
/src/libunwind/tests/Ltest-init-local-signal-lib.c [] []
/src/libunwind/include/compiler.h [] []
/src/libunwind/src/coredump/_UCD_get_mapinfo_linux.c [] []
/src/libunwind/src/aarch64/Gos-freebsd.c [] []
/src/libunwind/src/aarch64/Gstrip_ptrauth_insn_mask.c [] []
/src/libunwind/src/ptrace/_UPT_find_proc_info.c [] []
/src/libunwind/src/hppa/Ginit.c [] []
/src/libunwind/tests/Gia64-test-stack.c [] []
/src/libunwind/tests/ia64-test-dyn1.c [] []
/src/libunwind/tests/Gtest-exc.c [] []
/src/libunwind/src/loongarch64/Ginit.c [] []
/src/libunwind/src/coredump/_UCD_corefile_elf.c [] []
/src/libunwind/src/coredump/_UCD_get_mapinfo_qnx.c [] []
/src/libunwind/src/dwarf/Gfind_proc_info_i.h [] []
/src/libunwind/include/api/libunwind-hppa.h [] []
/src/libunwind/src/ppc32/Gresume.c [] []
/src/libunwind/src/ia64/Gscript.c [] []
/src/libunwind/src/coredump/_UCD_access_reg_linux.c [] []
/src/libunwind/src/mi/dyn-register.c [] []
/src/libunwind/tests/mapper.c [] []
/src/libunwind/src/dwarf/global.c [] []
/src/libunwind/src/coredump/_UCD_get_threadinfo_prstatus.c [] []
/src/libunwind/src/nto/unw_nto_get_elf_filename.c [] []
/src/libunwind/src/x86_64/Ginit.c [] []
/src/libunwind/tests/ppc64-test-altivec.c [] []
/src/libunwind/src/mips/Gstep.c [] []
/src/libunwind/tests/ident.c [] []
/src/libunwind/src/x86_64/Gtrace.c [] []
/src/libunwind/tests/aarch64-test-frame-size.c [] []
/src/libunwind/src/mips/Gresume.c [] []
/src/libunwind/src/dwarf/Gfind_unwind_table.c [] []
/src/libunwind/src/elfxx.c [] []
/src/libunwind/tests/Gtest-trace.c [] []
/src/libunwind/src/hppa/Gstep.c [] []
/src/libunwind/src/mi/Gget_proc_name.c ['fuzz_libunwind.c'] []
/src/libunwind/src/ptrace/_UPT_ptrauth_insn_mask.c [] []
/src/libunwind/src/coredump/_UPT_access_fpreg.c [] []
/src/libunwind/src/unwind/ForcedUnwind.c [] []
/src/libunwind/src/arm/Gresume.c [] []
/src/libunwind/src/sparc64/Gresume.c [] []
/src/libunwind/tests/test-setjmp.c [] []
/src/libunwind/src/mi/Gset_caching_policy.c [] []
/src/libunwind/src/s390x/Gstep.c ['fuzz_libunwind.c'] []
/src/libunwind/src/ia64/Gresume.c [] []
/src/libunwind/tests/flush-cache.h [] []
/src/libunwind/src/arm/Ginit.c [] []
/src/libunwind/src/coredump/_UCD_access_reg_freebsd.c [] []
/src/libunwind/src/coredump/_UCD_elf_map_image.c [] []
/src/libunwind/src/mi/Gset_iterate_phdr_function.c [] []
/src/libunwind/src/ptrace/_UPT_reg_offset.c [] []
/src/libunwind/include/api/libunwind-dynamic.h [] []
/src/libunwind/src/mips/Gis_signal_frame.c [] []
/src/libunwind/src/elfxx.h [] []
/src/libunwind/tests/Gia64-test-nat.c [] []
/src/libunwind/src/mi/Gfind_dynamic_proc_info.c ['fuzz_libunwind.c'] []
/src/libunwind/tests/aarch64-test-lr-fallback.c [] []
/src/libunwind/tests/test-flush-cache.c [] []
/src/libunwind/src/dwarf/Gexpr.c [] []
/src/libunwind/src/mi/Gdyn-remote.c ['fuzz_libunwind.c'] []
/src/libunwind/include/dwarf_i.h [] []
/src/libunwind/src/setjmp/siglongjmp.c [] []
/src/libunwind/src/mi/Gget_elf_filename.c [] []
/src/libunwind/src/setjmp/longjmp.c [] []
/src/libunwind/src/os-hpux.c [] []
/src/libunwind/src/os-qnx.c [] []
/src/libunwind/tests/Gtest-init.cxx [] []
/src/libunwind/src/remote/mac/missing-functions.c [] []
/src/libunwind/src/riscv/Ginit.c [] []
/src/libunwind/src/ppc64/Gstep.c [] []
/src/libunwind/src/mi/dyn-cancel.c [] []
/src/libunwind/src/mi/init.c [] []
/src/libunwind/include/api/libunwind-arm.h [] []
/src/libunwind/include/remote.h ['fuzz_libunwind.c'] []
/src/libunwind/src/hppa/Gresume.c [] []
/src/libunwind/src/ptrace/_UPT_resume.c [] []
/src/libunwind/src/loongarch64/Ginit_remote.c [] []
/src/libunwind/src/remote/win/missing-functions.c [] []
/src/libunwind/tests/Gia64-test-readonly.c [] []
/src/libunwind/src/nto/unw_nto_put_unwind_info.c [] []
/src/libunwind/src/ppc32/init.h [] []
/src/libunwind/src/ia64/Grbs.c [] []
/src/libunwind/src/ptrace/_UPT_put_unwind_info.c [] []
/src/libunwind/src/loongarch64/Gresume.c [] []
/src/libunwind/src/mi/_ReadSLEB.c [] []
/src/libunwind/src/coredump/_UPT_get_dyn_info_list_addr.c [] []
/src/libunwind/src/mi/backtrace.c [] []
/src/libunwind/src/nto/unw_nto_access_fpreg.c [] []
/src/libunwind/src/coredump/_UCD_get_proc_name.c [] []
/src/libunwind/src/os-freebsd.c [] []
/src/libunwind/src/ia64/Gtables.c [] []
/src/libunwind/src/aarch64/Gstep.c [] []
/src/libunwind/src/ppc64/Ginit.c [] []
/src/libunwind/include/remote/freebsd-elf64.h [] []
/src/libunwind/src/loongarch64/Gstep.c [] []
/src/libunwind/src/ia64/unwind_decoder.h [] []
/src/libunwind/src/dwarf/Gget_proc_info_in_range.c [] []
/src/libunwind/tests/Gtest-bt.c [] []
/src/libunwind/src/unwind/GetIPInfo.c [] []
/src/libunwind/src/s390x/Gresume.c [] []
/src/libunwind/src/mi/Gset_cache_size.c [] []
/src/libunwind/src/setjmp/setjmp_i.h [] []
/src/libunwind/src/mi/Gset_reg.c [] []
/src/libunwind/src/ptrace/_UPT_access_mem.c [] []
/src/libunwind/tests/test-ptrace.c [] []
/src/libunwind/src/x86_64/Gstep.c [] []
/src/libunwind/include/mempool.h [] []
/src/libunwind/src/coredump/_UPT_resume.c [] []
/src/libunwind/src/arm/gen-offsets.c [] []
/src/libunwind/src/ppc32/Ginit.c [] []
/src/libunwind/src/mi/Gput_dynamic_unwind_info.c ['fuzz_libunwind.c'] []
/src/libunwind/tests/ppc64-test-plt.c [] []
/src/libunwind/src/coredump/ucd_file_table.c [] []
/src/libunwind/src/unwind/unwind-internal.h [] []
/src/libunwind/tests/Lrs-race.c [] []
/src/libunwind/src/ia64/regs.h [] []
/src/libunwind/src/alpha/Gresume.c [] []
/src/libunwind/include/tdep-ia64/rse.h [] []
/src/libunwind/src/ptrace/_UPT_destroy.c [] []
/src/libunwind/tests/Gtest-concurrent.c [] []
/src/libunwind/src/x86_64/Gget_proc_info.c [] []
/src/libunwind/src/ia64/Gfind_unwind_table.c [] []
/src/libunwind/src/arm/Ginit_local.c [] []
/src/libunwind/src/coredump/_UCD_create.c [] []
/src/libunwind/src/s390x/Ginit.c [] []
/src/libunwind/src/ia64/unwind_i.h [] []
/src/libunwind/src/mi/Gget_fpreg.c [] []
/src/libunwind/src/mi/mempool.c [] []
/src/libunwind/src/nto/unw_nto_find_proc_info.c [] []
/src/libunwind/src/arm/Gex_tables.c [] []
/src/libunwind/include/tdep-ia64/libunwind_i.h [] []
/src/libunwind/include/tdep-sparc64/libunwind_i.h [] []
/src/libunwind/src/ptrace/_UPT_create.c [] []
/src/libunwind/src/x86_64/Greg_states_iterate.c [] []
/src/libunwind/tests/test-static-link-gen.c [] []
/src/libunwind/src/x86_64/Gos-freebsd.c [] []
/src/libunwind/src/sh/Ginit.c [] []
/src/libunwind/src/ptrace/_UPT_get_elf_filename.c [] []
/src/libunwind/tests/Gx64-test-dwarf-expressions.c [] []
/src/libunwind/src/mi/strerror.c [] []
/src/libunwind/tests/Ltest-mem-validate.c [] []
/src/libunwind/src/mi/Gget_accessors.c [] []
/src/libunwind/src/alpha/Gstep.c [] []
/src/libunwind/src/coredump/_UPT_put_unwind_info.c [] []
/src/libunwind/src/dwarf/Gpe.c [] []
/src/libunwind/src/ppc64/Gcreate_addr_space.c [] []
/src/libunwind/src/sparc64/Ginit.c [] []
/src/libunwind/tests/Ltest-nocalloc.c [] []
/src/libunwind/tests/test-coredump-unwind.c [] []
/src/libunwind/src/nto/unw_nto_create.c [] []
/src/libunwind/src/arm/Gexcept.c [] []
/src/libunwind/include/tdep-mips/libunwind_i.h [] []
/src/libunwind/src/x86/Ginit.c [] []
/src/libunwind/src/mi/flush_cache.c [] []

Directories in report

Directory
/src/libunwind/src/remote/mac/
/src/libunwind/include/tdep-mips/
/src/libunwind/src/
/src/libunwind/src/loongarch64/
/src/libunwind/src/mips/
/src/libunwind/src/remote/win/
/src/libunwind/include/tdep-ia64/
/src/libunwind/include/tdep-sparc64/
/src/libunwind/src/unwind/
/src/libunwind/src/x86_64/
/src/libunwind/src/x86/
/src/libunwind/src/hppa/
/src/libunwind/src/alpha/
/src/libunwind/src/dwarf/
/src/libunwind/src/setjmp/
/src/libunwind/src/mi/
/src/libunwind/src/nto/
/src/libunwind/include/remote/
/src/libunwind/src/aarch64/
/src/libunwind/src/ptrace/
/src/libunwind/include/tdep-x86_64/
/src/libunwind/include/api/
/src/libunwind/include/remote/win/
/src/libunwind/include/remote/win/sys/
/src/libunwind/src/ia64/
/src/libunwind/src/ppc64/
/src/libunwind/src/s390x/
/src/
/src/libunwind/src/sparc64/
/src/libunwind/src/arm/
/src/libunwind/src/coredump/
/src/libunwind/include/
/src/libunwind/src/riscv/
/src/libunwind/src/ppc32/
/src/libunwind/src/sh/
/src/libunwind/include/tdep-arm/
/src/libunwind/tests/

Sink analyser for CWEs

This section contains multiple tables, each table contains a list of sink functions/methods found in the project for one of the CWE supported by the sink analyser, together with information like which fuzzers statically reach the sink functions/methods and possible call path to that sink functions/methods if it is not statically reached by any fuzzers. Column 1 is the function/method name of the sink functions/methods found in the project. Column 2 lists all fuzzers (or no fuzzers at all) that have covered that particular function method statically. Column 3 shows a list of possible call paths to reach the specific function/method call if none of the fuzzers cover the target function/method calls. Lastly, column 4 shows possible fuzzer blockers that prevent an existing fuzzer from reaching the target sink functions/methods dynamically.

Sink functions/methods found for CWE787

Target sink Reached by fuzzer Function call path Possible branch blockers
malloc [] Path 1
Path 2

N/A
calloc ['/src/fuzz_libunwind.c'] N/A
Blocker function Arguments type Return type Constants touched
dwarf_reg_states_callback
in /src/libunwind/tests/test-reg-state.c:51
['void*', 'void*', 'size_t', 'unw_word_t', 'unw_word_t'] int []
get_pid_by_tid
in /src/libunwind/src/os-freebsd.c:52
['int'] int []
unw_nto_find_proc_info
in /src/libunwind/src/nto/unw_nto_find_proc_info.c:60
['unw_addr_space_t', 'unw_word_t', 'unw_proc_info_t*', 'int', 'void*'] int []
_get_remote_elf_image
in /src/libunwind/src/os-qnx.c:161
['struct elf_image*', 'pid_t', 'unw_word_t', 'unsigned long*', 'unsigned long*', 'char*', 'size_t'] int []
dwarf_callback
in /src/libunwind/src/dwarf/Gfind_proc_info-lsb.c:546
['struct dl_phdr_info*', 'size_t', 'void*'] HIDDEN []
coredump_phdr_t* _UCD_get_elf_image(structUCD_info*ui,unw_word_tip)
in /src/libunwind/src/coredump/_UCD_elf_map_image.c:81
[] HIDDEN []
_UCD_create
in /src/libunwind/src/coredump/_UCD_create.c:44
['char*'] struct UCD_info []
desc_alias
in /src/libunwind/src/ia64/Gparser.c:750
['unw_dyn_op_t*', 'struct cursor*', 'struct ia64_state_record*'] int []
ia64_local_resume
in /src/libunwind/src/ia64/Gresume.c:166
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
ia64_find_save_locs
in /src/libunwind/src/ia64/Gscript.c:615
['struct cursor*'] HIDDEN []
arm_exidx_step
in /src/libunwind/src/arm/Gstep.c:35
['struct cursor*'] int []
test_function_name_longer_than_buffer
in /src/libunwind/tests/Gtest-get_proc_name.c:93
[] void []
test_function_name_shorter_than_buffer
in /src/libunwind/tests/Gtest-get_proc_name.c:100
[] void []
unwind_and_resume
in /src/libunwind/tests/Gia64-test-rbs.c:92
['long'] int []
NOINLINE
in /src/libunwind/tests/Gperf-simple.c:101
['int', 'int', 'double*'] int []
do_backtrace_with_context
in /src/libunwind/tests/Gtest-trace.c:239
['void*'] void []
test_local
in /src/libunwind/tests/test-static-link-loc.c:74
[] int []
checker
in /src/libunwind/tests/Gia64-test-readonly.c:43
[] void []
recover_register
in /src/libunwind/tests/Gx64-test-dwarf-expressions.c:21
['int64_t', 'int64_t'] int64_t []
handle_sigsegv
in /src/libunwind/tests/x64-unwind-badjmp-signal-frame.c:70
['int', 'siginfo_t*', 'void*'] void []
handler
in /src/libunwind/tests/Ltest-init-local-signal.c:45
['int', 'siginfo_t*', 'void*'] void []
test_generic
in /src/libunwind/tests/test-static-link-gen.c:54
[] int []
raise_exception
in /src/libunwind/tests/Gtest-exc.c:53
[] void []
signal_handler
in /src/libunwind/tests/aarch64-test-lr-fallback.c:71
['int', 'siginfo_t*', 'void*'] void []
check_static_to_scratch
in /src/libunwind/tests/Gia64-test-nat.c:422
['unw_cursor_t*', 'unw_word_t*'] unw_word_t []
start_checks
in /src/libunwind/tests/Gia64-test-nat.c:547
['void*', 'unsigned long*'] void []
do_unwind_tests
in /src/libunwind/tests/Gia64-test-stack.c:55
[] void []
sighandler
in /src/libunwind/tests/test-setjmp.c:129
['int'] void []
segv_handler
in /src/libunwind/tests/Gtest-bt.c:203
['int', 'siginfo_t*', 'void*'] void []
test_sigsetjmp
in /src/libunwind/tests/test-setjmp.c:95
[] void []
test_setjmp
in /src/libunwind/tests/test-setjmp.c:51
[] void []
_Unwind_Resume_or_Rethrow
in /src/libunwind/src/arm/Gexcept.c:596
['_Unwind_Control_Block*'] _Unwind_Reason_Code []
_Unwind_Backtrace
in /src/libunwind/src/arm/Gexcept.c:321
['_Unwind_Trace_Fn', 'void*'] _Unwind_Reason_Code []
_Unwind_Reason_Code::_Unwind_Phase2
in /src/libunwind/src/unwind/unwind-internal.h:62
['struct _Unwind_Exception*', 'struct _Unwind_Context*'] ALWAYS_INLINE []
trace_lookup
in /src/libunwind/src/x86_64/Gtrace.c:273
['unw_cursor_t*', 'unw_trace_cache_t*', 'unw_word_t', 'unw_word_t', 'unw_word_t', 'unw_word_t'] unw_tdep_frame_t []
foo_0
in /src/libunwind/tests/Lrs-race.c:46
[] NOINLINE []
foo_1
in /src/libunwind/tests/Lrs-race.c:56
[] NOINLINE []
foo_2
in /src/libunwind/tests/Lrs-race.c:66
[] NOINLINE []
foo_3
in /src/libunwind/tests/Lrs-race.c:76
[] NOINLINE []
foo_4
in /src/libunwind/tests/Lrs-race.c:86
[] NOINLINE []
foo_5
in /src/libunwind/tests/Lrs-race.c:96
[] NOINLINE []
foo_6
in /src/libunwind/tests/Lrs-race.c:106
[] NOINLINE []
foo_7
in /src/libunwind/tests/Lrs-race.c:116
[] NOINLINE []
foo_8
in /src/libunwind/tests/Lrs-race.c:126
[] NOINLINE []
foo_9
in /src/libunwind/tests/Lrs-race.c:136
[] NOINLINE []
foo_10
in /src/libunwind/tests/Lrs-race.c:146
[] NOINLINE []
foo_11
in /src/libunwind/tests/Lrs-race.c:156
[] NOINLINE []
foo_12
in /src/libunwind/tests/Lrs-race.c:166
[] NOINLINE []
foo_13
in /src/libunwind/tests/Lrs-race.c:176
[] NOINLINE []
foo_14
in /src/libunwind/tests/Lrs-race.c:186
[] NOINLINE []
foo_15
in /src/libunwind/tests/Lrs-race.c:196
[] NOINLINE []
foo_16
in /src/libunwind/tests/Lrs-race.c:206
[] NOINLINE []
foo_17
in /src/libunwind/tests/Lrs-race.c:216
[] NOINLINE []
foo_18
in /src/libunwind/tests/Lrs-race.c:226
[] NOINLINE []
foo_19
in /src/libunwind/tests/Lrs-race.c:236
[] NOINLINE []
foo_20
in /src/libunwind/tests/Lrs-race.c:246
[] NOINLINE []
foo_21
in /src/libunwind/tests/Lrs-race.c:256
[] NOINLINE []
foo_22
in /src/libunwind/tests/Lrs-race.c:266
[] NOINLINE []
foo_23
in /src/libunwind/tests/Lrs-race.c:276
[] NOINLINE []
foo_24
in /src/libunwind/tests/Lrs-race.c:286
[] NOINLINE []
foo_25
in /src/libunwind/tests/Lrs-race.c:296
[] NOINLINE []
foo_26
in /src/libunwind/tests/Lrs-race.c:306
[] NOINLINE []
foo_27
in /src/libunwind/tests/Lrs-race.c:316
[] NOINLINE []
foo_28
in /src/libunwind/tests/Lrs-race.c:326
[] NOINLINE []
foo_29
in /src/libunwind/tests/Lrs-race.c:336
[] NOINLINE []
foo_30
in /src/libunwind/tests/Lrs-race.c:346
[] NOINLINE []
foo_31
in /src/libunwind/tests/Lrs-race.c:356
[] NOINLINE []
foo_32
in /src/libunwind/tests/Lrs-race.c:366
[] NOINLINE []
foo_33
in /src/libunwind/tests/Lrs-race.c:376
[] NOINLINE []
foo_34
in /src/libunwind/tests/Lrs-race.c:386
[] NOINLINE []
foo_35
in /src/libunwind/tests/Lrs-race.c:396
[] NOINLINE []
foo_36
in /src/libunwind/tests/Lrs-race.c:406
[] NOINLINE []
foo_37
in /src/libunwind/tests/Lrs-race.c:416
[] NOINLINE []
foo_38
in /src/libunwind/tests/Lrs-race.c:426
[] NOINLINE []
foo_39
in /src/libunwind/tests/Lrs-race.c:436
[] NOINLINE []
foo_40
in /src/libunwind/tests/Lrs-race.c:446
[] NOINLINE []
foo_41
in /src/libunwind/tests/Lrs-race.c:456
[] NOINLINE []
foo_42
in /src/libunwind/tests/Lrs-race.c:466
[] NOINLINE []
foo_43
in /src/libunwind/tests/Lrs-race.c:476
[] NOINLINE []
foo_44
in /src/libunwind/tests/Lrs-race.c:486
[] NOINLINE []
foo_45
in /src/libunwind/tests/Lrs-race.c:496
[] NOINLINE []
foo_46
in /src/libunwind/tests/Lrs-race.c:506
[] NOINLINE []
foo_47
in /src/libunwind/tests/Lrs-race.c:516
[] NOINLINE []
foo_48
in /src/libunwind/tests/Lrs-race.c:526
[] NOINLINE []
foo_49
in /src/libunwind/tests/Lrs-race.c:536
[] NOINLINE []
foo_50
in /src/libunwind/tests/Lrs-race.c:546
[] NOINLINE []
foo_51
in /src/libunwind/tests/Lrs-race.c:556
[] NOINLINE []
foo_52
in /src/libunwind/tests/Lrs-race.c:566
[] NOINLINE []
foo_53
in /src/libunwind/tests/Lrs-race.c:576
[] NOINLINE []
foo_54
in /src/libunwind/tests/Lrs-race.c:586
[] NOINLINE []
foo_55
in /src/libunwind/tests/Lrs-race.c:596
[] NOINLINE []
foo_56
in /src/libunwind/tests/Lrs-race.c:606
[] NOINLINE []
foo_57
in /src/libunwind/tests/Lrs-race.c:616
[] NOINLINE []
foo_58
in /src/libunwind/tests/Lrs-race.c:626
[] NOINLINE []
foo_59
in /src/libunwind/tests/Lrs-race.c:636
[] NOINLINE []
foo_60
in /src/libunwind/tests/Lrs-race.c:646
[] NOINLINE []
foo_61
in /src/libunwind/tests/Lrs-race.c:656
[] NOINLINE []
foo_62
in /src/libunwind/tests/Lrs-race.c:666
[] NOINLINE []
foo_63
in /src/libunwind/tests/Lrs-race.c:676
[] NOINLINE []
foo_64
in /src/libunwind/tests/Lrs-race.c:686
[] NOINLINE []
foo_65
in /src/libunwind/tests/Lrs-race.c:696
[] NOINLINE []
foo_66
in /src/libunwind/tests/Lrs-race.c:706
[] NOINLINE []
foo_67
in /src/libunwind/tests/Lrs-race.c:716
[] NOINLINE []
foo_68
in /src/libunwind/tests/Lrs-race.c:726
[] NOINLINE []
foo_69
in /src/libunwind/tests/Lrs-race.c:736
[] NOINLINE []
foo_70
in /src/libunwind/tests/Lrs-race.c:746
[] NOINLINE []
foo_71
in /src/libunwind/tests/Lrs-race.c:756
[] NOINLINE []
foo_72
in /src/libunwind/tests/Lrs-race.c:766
[] NOINLINE []
foo_73
in /src/libunwind/tests/Lrs-race.c:776
[] NOINLINE []
foo_74
in /src/libunwind/tests/Lrs-race.c:786
[] NOINLINE []
foo_75
in /src/libunwind/tests/Lrs-race.c:796
[] NOINLINE []
foo_76
in /src/libunwind/tests/Lrs-race.c:806
[] NOINLINE []
foo_77
in /src/libunwind/tests/Lrs-race.c:816
[] NOINLINE []
foo_78
in /src/libunwind/tests/Lrs-race.c:826
[] NOINLINE []
foo_79
in /src/libunwind/tests/Lrs-race.c:836
[] NOINLINE []
foo_80
in /src/libunwind/tests/Lrs-race.c:846
[] NOINLINE []
foo_81
in /src/libunwind/tests/Lrs-race.c:856
[] NOINLINE []
foo_82
in /src/libunwind/tests/Lrs-race.c:866
[] NOINLINE []
foo_83
in /src/libunwind/tests/Lrs-race.c:876
[] NOINLINE []
foo_84
in /src/libunwind/tests/Lrs-race.c:886
[] NOINLINE []
foo_85
in /src/libunwind/tests/Lrs-race.c:896
[] NOINLINE []
foo_86
in /src/libunwind/tests/Lrs-race.c:906
[] NOINLINE []
foo_87
in /src/libunwind/tests/Lrs-race.c:916
[] NOINLINE []
foo_88
in /src/libunwind/tests/Lrs-race.c:926
[] NOINLINE []
foo_89
in /src/libunwind/tests/Lrs-race.c:936
[] NOINLINE []
foo_90
in /src/libunwind/tests/Lrs-race.c:946
[] NOINLINE []
foo_91
in /src/libunwind/tests/Lrs-race.c:956
[] NOINLINE []
foo_92
in /src/libunwind/tests/Lrs-race.c:966
[] NOINLINE []
foo_93
in /src/libunwind/tests/Lrs-race.c:976
[] NOINLINE []
foo_94
in /src/libunwind/tests/Lrs-race.c:986
[] NOINLINE []
foo_95
in /src/libunwind/tests/Lrs-race.c:996
[] NOINLINE []
foo_96
in /src/libunwind/tests/Lrs-race.c:1006
[] NOINLINE []
foo_97
in /src/libunwind/tests/Lrs-race.c:1016
[] NOINLINE []
foo_98
in /src/libunwind/tests/Lrs-race.c:1026
[] NOINLINE []
foo_99
in /src/libunwind/tests/Lrs-race.c:1036
[] NOINLINE []
foo_100
in /src/libunwind/tests/Lrs-race.c:1046
[] NOINLINE []
foo_101
in /src/libunwind/tests/Lrs-race.c:1056
[] NOINLINE []
foo_102
in /src/libunwind/tests/Lrs-race.c:1066
[] NOINLINE []
foo_103
in /src/libunwind/tests/Lrs-race.c:1076
[] NOINLINE []
foo_104
in /src/libunwind/tests/Lrs-race.c:1086
[] NOINLINE []
foo_105
in /src/libunwind/tests/Lrs-race.c:1096
[] NOINLINE []
foo_106
in /src/libunwind/tests/Lrs-race.c:1106
[] NOINLINE []
foo_107
in /src/libunwind/tests/Lrs-race.c:1116
[] NOINLINE []
foo_108
in /src/libunwind/tests/Lrs-race.c:1126
[] NOINLINE []
foo_109
in /src/libunwind/tests/Lrs-race.c:1136
[] NOINLINE []
foo_110
in /src/libunwind/tests/Lrs-race.c:1146
[] NOINLINE []
foo_111
in /src/libunwind/tests/Lrs-race.c:1156
[] NOINLINE []
foo_112
in /src/libunwind/tests/Lrs-race.c:1166
[] NOINLINE []
foo_113
in /src/libunwind/tests/Lrs-race.c:1176
[] NOINLINE []
foo_114
in /src/libunwind/tests/Lrs-race.c:1186
[] NOINLINE []
foo_115
in /src/libunwind/tests/Lrs-race.c:1196
[] NOINLINE []
foo_116
in /src/libunwind/tests/Lrs-race.c:1206
[] NOINLINE []
foo_117
in /src/libunwind/tests/Lrs-race.c:1216
[] NOINLINE []
foo_118
in /src/libunwind/tests/Lrs-race.c:1226
[] NOINLINE []
foo_119
in /src/libunwind/tests/Lrs-race.c:1236
[] NOINLINE []
foo_120
in /src/libunwind/tests/Lrs-race.c:1246
[] NOINLINE []
foo_121
in /src/libunwind/tests/Lrs-race.c:1256
[] NOINLINE []
foo_122
in /src/libunwind/tests/Lrs-race.c:1266
[] NOINLINE []
foo_123
in /src/libunwind/tests/Lrs-race.c:1276
[] NOINLINE []
foo_124
in /src/libunwind/tests/Lrs-race.c:1286
[] NOINLINE []
foo_125
in /src/libunwind/tests/Lrs-race.c:1296
[] NOINLINE []
foo_126
in /src/libunwind/tests/Lrs-race.c:1306
[] NOINLINE []
foo_127
in /src/libunwind/tests/Lrs-race.c:1316
[] NOINLINE []
foo_128
in /src/libunwind/tests/Lrs-race.c:1326
[] NOINLINE []
f257
in /src/libunwind/tests/test-flush-cache.c:36
[] int []
_Unwind_GetRegionStart
in /src/libunwind/src/arm/Gexcept.c:206
['struct _Unwind_Context*'] _Unwind_Ptr []
_Unwind_GetLanguageSpecificData
in /src/libunwind/src/arm/Gexcept.c:225
['struct _Unwind_Context*'] void []
s390x_local_resume
in /src/libunwind/src/s390x/Gresume.c:34
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
alpha_local_resume
in /src/libunwind/src/alpha/Gresume.c:34
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
x86_local_resume
in /src/libunwind/src/x86/Gos-freebsd.c:349
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
hppa_local_resume
in /src/libunwind/src/hppa/Gresume.c:53
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
x86_64_local_resume
in /src/libunwind/src/x86_64/Gresume.c:35
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
foo1
in /src/libunwind/tests/Ltest-nocalloc.c:100
[] void []
_Unwind_FindEnclosingFunction
in /src/libunwind/src/arm/Gexcept.c:303
['void*'] void []
unw_get_elf_filename
in /src/libunwind/src/mi/Gget_elf_filename.c:50
['unw_cursor_t*', 'char*', 'size_t', 'unw_word_t*'] int []
unw_nto_create
in /src/libunwind/src/nto/unw_nto_create.c:63
['pid_t', 'pthread_t'] void []

Sink functions/methods found for CWE22

Target sink Reached by fuzzer Function call path Possible branch blockers
write ['/src/fuzz_libunwind.c'] N/A
Blocker function Arguments type Return type Constants touched
log_msg
in /src/libunwind/tests/test-coredump-unwind.c:113
['char*'] void []
error_msg_and_die
in /src/libunwind/tests/test-coredump-unwind.c:124
['char*'] void []
access_mem
in /src/libunwind/src/x86_64/Ginit.c:77
['unw_addr_space_t', 'unw_word_t', 'unw_word_t*', 'int', 'void*'] int []
_unw_debug
in /src/libunwind/include/libunwind_i.h:326
['int', 'char*', 'char*'] void []
desc_copy_state
in /src/libunwind/src/ia64/Gparser.c:505
['unw_word', 'struct ia64_state_record*'] void []
desc_label_state
in /src/libunwind/src/ia64/Gparser.c:523
['unw_word', 'struct ia64_state_record*'] void []
_UCD_access_fpreg
in /src/libunwind/src/coredump/_UPT_access_fpreg.c:26
['unw_addr_space_t', 'unw_regnum_t', 'unw_fpreg_t*', 'int', 'void*'] int []
_UCD_resume
in /src/libunwind/src/coredump/_UPT_resume.c:28
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] int []
test_local
in /src/libunwind/tests/test-static-link-loc.c:74
[] int []
test_generic
in /src/libunwind/tests/test-static-link-gen.c:54
[] int []
test_function_name_longer_than_buffer
in /src/libunwind/tests/Gtest-get_proc_name.c:93
[] void []
test_function_name_shorter_than_buffer
in /src/libunwind/tests/Gtest-get_proc_name.c:100
[] void []
unwind_and_resume
in /src/libunwind/tests/Gia64-test-rbs.c:92
['long'] int []
NOINLINE
in /src/libunwind/tests/Gperf-simple.c:101
['int', 'int', 'double*'] int []
measure_init
in /src/libunwind/tests/Gperf-simple.c:147
[] void []
handler
in /src/libunwind/tests/Ltest-init-local-signal.c:45
['int', 'siginfo_t*', 'void*'] void []
foo1
in /src/libunwind/tests/Ltest-nocalloc.c:100
[] void []
segv_handler
in /src/libunwind/tests/Gtest-bt.c:203
['int', 'siginfo_t*', 'void*'] void []
checker
in /src/libunwind/tests/Gia64-test-readonly.c:43
[] void []
recover_register
in /src/libunwind/tests/Gx64-test-dwarf-expressions.c:21
['int64_t', 'int64_t'] int64_t []
handle_sigsegv
in /src/libunwind/tests/x64-unwind-badjmp-signal-frame.c:70
['int', 'siginfo_t*', 'void*'] void []
raise_exception
in /src/libunwind/tests/Gtest-exc.c:53
[] void []
start_checks
in /src/libunwind/tests/Gia64-test-nat.c:547
['void*', 'unsigned long*'] void []
do_unwind_tests
in /src/libunwind/tests/Gia64-test-stack.c:55
[] void []
sighandler
in /src/libunwind/tests/test-setjmp.c:129
['int'] void []
test_sigsetjmp
in /src/libunwind/tests/test-setjmp.c:95
[] void []
test_setjmp
in /src/libunwind/tests/test-setjmp.c:51
[] void []
foo_0
in /src/libunwind/tests/Lrs-race.c:46
[] NOINLINE []
foo_1
in /src/libunwind/tests/Lrs-race.c:56
[] NOINLINE []
foo_2
in /src/libunwind/tests/Lrs-race.c:66
[] NOINLINE []
foo_3
in /src/libunwind/tests/Lrs-race.c:76
[] NOINLINE []
foo_4
in /src/libunwind/tests/Lrs-race.c:86
[] NOINLINE []
foo_5
in /src/libunwind/tests/Lrs-race.c:96
[] NOINLINE []
foo_6
in /src/libunwind/tests/Lrs-race.c:106
[] NOINLINE []
foo_7
in /src/libunwind/tests/Lrs-race.c:116
[] NOINLINE []
foo_8
in /src/libunwind/tests/Lrs-race.c:126
[] NOINLINE []
foo_9
in /src/libunwind/tests/Lrs-race.c:136
[] NOINLINE []
foo_10
in /src/libunwind/tests/Lrs-race.c:146
[] NOINLINE []
foo_11
in /src/libunwind/tests/Lrs-race.c:156
[] NOINLINE []
foo_12
in /src/libunwind/tests/Lrs-race.c:166
[] NOINLINE []
foo_13
in /src/libunwind/tests/Lrs-race.c:176
[] NOINLINE []
foo_14
in /src/libunwind/tests/Lrs-race.c:186
[] NOINLINE []
foo_15
in /src/libunwind/tests/Lrs-race.c:196
[] NOINLINE []
foo_16
in /src/libunwind/tests/Lrs-race.c:206
[] NOINLINE []
foo_17
in /src/libunwind/tests/Lrs-race.c:216
[] NOINLINE []
foo_18
in /src/libunwind/tests/Lrs-race.c:226
[] NOINLINE []
foo_19
in /src/libunwind/tests/Lrs-race.c:236
[] NOINLINE []
foo_20
in /src/libunwind/tests/Lrs-race.c:246
[] NOINLINE []
foo_21
in /src/libunwind/tests/Lrs-race.c:256
[] NOINLINE []
foo_22
in /src/libunwind/tests/Lrs-race.c:266
[] NOINLINE []
foo_23
in /src/libunwind/tests/Lrs-race.c:276
[] NOINLINE []
foo_24
in /src/libunwind/tests/Lrs-race.c:286
[] NOINLINE []
foo_25
in /src/libunwind/tests/Lrs-race.c:296
[] NOINLINE []
foo_26
in /src/libunwind/tests/Lrs-race.c:306
[] NOINLINE []
foo_27
in /src/libunwind/tests/Lrs-race.c:316
[] NOINLINE []
foo_28
in /src/libunwind/tests/Lrs-race.c:326
[] NOINLINE []
foo_29
in /src/libunwind/tests/Lrs-race.c:336
[] NOINLINE []
foo_30
in /src/libunwind/tests/Lrs-race.c:346
[] NOINLINE []
foo_31
in /src/libunwind/tests/Lrs-race.c:356
[] NOINLINE []
foo_32
in /src/libunwind/tests/Lrs-race.c:366
[] NOINLINE []
foo_33
in /src/libunwind/tests/Lrs-race.c:376
[] NOINLINE []
foo_34
in /src/libunwind/tests/Lrs-race.c:386
[] NOINLINE []
foo_35
in /src/libunwind/tests/Lrs-race.c:396
[] NOINLINE []
foo_36
in /src/libunwind/tests/Lrs-race.c:406
[] NOINLINE []
foo_37
in /src/libunwind/tests/Lrs-race.c:416
[] NOINLINE []
foo_38
in /src/libunwind/tests/Lrs-race.c:426
[] NOINLINE []
foo_39
in /src/libunwind/tests/Lrs-race.c:436
[] NOINLINE []
foo_40
in /src/libunwind/tests/Lrs-race.c:446
[] NOINLINE []
foo_41
in /src/libunwind/tests/Lrs-race.c:456
[] NOINLINE []
foo_42
in /src/libunwind/tests/Lrs-race.c:466
[] NOINLINE []
foo_43
in /src/libunwind/tests/Lrs-race.c:476
[] NOINLINE []
foo_44
in /src/libunwind/tests/Lrs-race.c:486
[] NOINLINE []
foo_45
in /src/libunwind/tests/Lrs-race.c:496
[] NOINLINE []
foo_46
in /src/libunwind/tests/Lrs-race.c:506
[] NOINLINE []
foo_47
in /src/libunwind/tests/Lrs-race.c:516
[] NOINLINE []
foo_48
in /src/libunwind/tests/Lrs-race.c:526
[] NOINLINE []
foo_49
in /src/libunwind/tests/Lrs-race.c:536
[] NOINLINE []
foo_50
in /src/libunwind/tests/Lrs-race.c:546
[] NOINLINE []
foo_51
in /src/libunwind/tests/Lrs-race.c:556
[] NOINLINE []
foo_52
in /src/libunwind/tests/Lrs-race.c:566
[] NOINLINE []
foo_53
in /src/libunwind/tests/Lrs-race.c:576
[] NOINLINE []
foo_54
in /src/libunwind/tests/Lrs-race.c:586
[] NOINLINE []
foo_55
in /src/libunwind/tests/Lrs-race.c:596
[] NOINLINE []
foo_56
in /src/libunwind/tests/Lrs-race.c:606
[] NOINLINE []
foo_57
in /src/libunwind/tests/Lrs-race.c:616
[] NOINLINE []
foo_58
in /src/libunwind/tests/Lrs-race.c:626
[] NOINLINE []
foo_59
in /src/libunwind/tests/Lrs-race.c:636
[] NOINLINE []
foo_60
in /src/libunwind/tests/Lrs-race.c:646
[] NOINLINE []
foo_61
in /src/libunwind/tests/Lrs-race.c:656
[] NOINLINE []
foo_62
in /src/libunwind/tests/Lrs-race.c:666
[] NOINLINE []
foo_63
in /src/libunwind/tests/Lrs-race.c:676
[] NOINLINE []
foo_64
in /src/libunwind/tests/Lrs-race.c:686
[] NOINLINE []
foo_65
in /src/libunwind/tests/Lrs-race.c:696
[] NOINLINE []
foo_66
in /src/libunwind/tests/Lrs-race.c:706
[] NOINLINE []
foo_67
in /src/libunwind/tests/Lrs-race.c:716
[] NOINLINE []
foo_68
in /src/libunwind/tests/Lrs-race.c:726
[] NOINLINE []
foo_69
in /src/libunwind/tests/Lrs-race.c:736
[] NOINLINE []
foo_70
in /src/libunwind/tests/Lrs-race.c:746
[] NOINLINE []
foo_71
in /src/libunwind/tests/Lrs-race.c:756
[] NOINLINE []
foo_72
in /src/libunwind/tests/Lrs-race.c:766
[] NOINLINE []
foo_73
in /src/libunwind/tests/Lrs-race.c:776
[] NOINLINE []
foo_74
in /src/libunwind/tests/Lrs-race.c:786
[] NOINLINE []
foo_75
in /src/libunwind/tests/Lrs-race.c:796
[] NOINLINE []
foo_76
in /src/libunwind/tests/Lrs-race.c:806
[] NOINLINE []
foo_77
in /src/libunwind/tests/Lrs-race.c:816
[] NOINLINE []
foo_78
in /src/libunwind/tests/Lrs-race.c:826
[] NOINLINE []
foo_79
in /src/libunwind/tests/Lrs-race.c:836
[] NOINLINE []
foo_80
in /src/libunwind/tests/Lrs-race.c:846
[] NOINLINE []
foo_81
in /src/libunwind/tests/Lrs-race.c:856
[] NOINLINE []
foo_82
in /src/libunwind/tests/Lrs-race.c:866
[] NOINLINE []
foo_83
in /src/libunwind/tests/Lrs-race.c:876
[] NOINLINE []
foo_84
in /src/libunwind/tests/Lrs-race.c:886
[] NOINLINE []
foo_85
in /src/libunwind/tests/Lrs-race.c:896
[] NOINLINE []
foo_86
in /src/libunwind/tests/Lrs-race.c:906
[] NOINLINE []
foo_87
in /src/libunwind/tests/Lrs-race.c:916
[] NOINLINE []
foo_88
in /src/libunwind/tests/Lrs-race.c:926
[] NOINLINE []
foo_89
in /src/libunwind/tests/Lrs-race.c:936
[] NOINLINE []
foo_90
in /src/libunwind/tests/Lrs-race.c:946
[] NOINLINE []
foo_91
in /src/libunwind/tests/Lrs-race.c:956
[] NOINLINE []
foo_92
in /src/libunwind/tests/Lrs-race.c:966
[] NOINLINE []
foo_93
in /src/libunwind/tests/Lrs-race.c:976
[] NOINLINE []
foo_94
in /src/libunwind/tests/Lrs-race.c:986
[] NOINLINE []
foo_95
in /src/libunwind/tests/Lrs-race.c:996
[] NOINLINE []
foo_96
in /src/libunwind/tests/Lrs-race.c:1006
[] NOINLINE []
foo_97
in /src/libunwind/tests/Lrs-race.c:1016
[] NOINLINE []
foo_98
in /src/libunwind/tests/Lrs-race.c:1026
[] NOINLINE []
foo_99
in /src/libunwind/tests/Lrs-race.c:1036
[] NOINLINE []
foo_100
in /src/libunwind/tests/Lrs-race.c:1046
[] NOINLINE []
foo_101
in /src/libunwind/tests/Lrs-race.c:1056
[] NOINLINE []
foo_102
in /src/libunwind/tests/Lrs-race.c:1066
[] NOINLINE []
foo_103
in /src/libunwind/tests/Lrs-race.c:1076
[] NOINLINE []
foo_104
in /src/libunwind/tests/Lrs-race.c:1086
[] NOINLINE []
foo_105
in /src/libunwind/tests/Lrs-race.c:1096
[] NOINLINE []
foo_106
in /src/libunwind/tests/Lrs-race.c:1106
[] NOINLINE []
foo_107
in /src/libunwind/tests/Lrs-race.c:1116
[] NOINLINE []
foo_108
in /src/libunwind/tests/Lrs-race.c:1126
[] NOINLINE []
foo_109
in /src/libunwind/tests/Lrs-race.c:1136
[] NOINLINE []
foo_110
in /src/libunwind/tests/Lrs-race.c:1146
[] NOINLINE []
foo_111
in /src/libunwind/tests/Lrs-race.c:1156
[] NOINLINE []
foo_112
in /src/libunwind/tests/Lrs-race.c:1166
[] NOINLINE []
foo_113
in /src/libunwind/tests/Lrs-race.c:1176
[] NOINLINE []
foo_114
in /src/libunwind/tests/Lrs-race.c:1186
[] NOINLINE []
foo_115
in /src/libunwind/tests/Lrs-race.c:1196
[] NOINLINE []
foo_116
in /src/libunwind/tests/Lrs-race.c:1206
[] NOINLINE []
foo_117
in /src/libunwind/tests/Lrs-race.c:1216
[] NOINLINE []
foo_118
in /src/libunwind/tests/Lrs-race.c:1226
[] NOINLINE []
foo_119
in /src/libunwind/tests/Lrs-race.c:1236
[] NOINLINE []
foo_120
in /src/libunwind/tests/Lrs-race.c:1246
[] NOINLINE []
foo_121
in /src/libunwind/tests/Lrs-race.c:1256
[] NOINLINE []
foo_122
in /src/libunwind/tests/Lrs-race.c:1266
[] NOINLINE []
foo_123
in /src/libunwind/tests/Lrs-race.c:1276
[] NOINLINE []
foo_124
in /src/libunwind/tests/Lrs-race.c:1286
[] NOINLINE []
foo_125
in /src/libunwind/tests/Lrs-race.c:1296
[] NOINLINE []
foo_126
in /src/libunwind/tests/Lrs-race.c:1306
[] NOINLINE []
foo_127
in /src/libunwind/tests/Lrs-race.c:1316
[] NOINLINE []
foo_128
in /src/libunwind/tests/Lrs-race.c:1326
[] NOINLINE []
f257
in /src/libunwind/tests/test-flush-cache.c:36
[] int []
do_backtrace_with_context
in /src/libunwind/tests/Gtest-trace.c:239
['void*'] void []
signal_handler
in /src/libunwind/tests/aarch64-test-lr-fallback.c:71
['int', 'siginfo_t*', 'void*'] void []
check_static_to_scratch
in /src/libunwind/tests/Gia64-test-nat.c:422
['unw_cursor_t*', 'unw_word_t*'] unw_word_t []
sh_handle_signal_frame
in /src/libunwind/src/sh/Gstep.c:30
['unw_cursor_t*'] int []
mips_handle_signal_frame
in /src/libunwind/src/mips/Gstep.c:29
['unw_cursor_t*'] int []
_Unwind_GetIPInfo
in /src/libunwind/src/unwind/GetIPInfo.c:31
['struct _Unwind_Context*', 'int*'] unsigned long []
riscv_handle_signal_frame
in /src/libunwind/src/riscv/Gstep.c:29
['unw_cursor_t*'] int []
aarch64_handle_signal_frame
in /src/libunwind/src/aarch64/Gstep.c:748
['unw_cursor_t*'] int []
aarch64_local_resume
in /src/libunwind/src/aarch64/Gos-freebsd.c:41
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
arm_handle_signal_frame
in /src/libunwind/src/arm/Gos-freebsd.c:37
['unw_cursor_t*'] HIDDEN []
loongarch64_handle_signal_frame
in /src/libunwind/src/loongarch64/Gstep.c:30
['unw_cursor_t*'] int []
_Unwind_Resume_or_Rethrow
in /src/libunwind/src/arm/Gexcept.c:596
['_Unwind_Control_Block*'] _Unwind_Reason_Code []
_Unwind_Backtrace
in /src/libunwind/src/arm/Gexcept.c:321
['_Unwind_Trace_Fn', 'void*'] _Unwind_Reason_Code []
_Unwind_Reason_Code::_Unwind_Phase2
in /src/libunwind/src/unwind/unwind-internal.h:62
['struct _Unwind_Exception*', 'struct _Unwind_Context*'] ALWAYS_INLINE []
trace_lookup
in /src/libunwind/src/x86_64/Gtrace.c:273
['unw_cursor_t*', 'unw_trace_cache_t*', 'unw_word_t', 'unw_word_t', 'unw_word_t', 'unw_word_t'] unw_tdep_frame_t []
ppc32_local_resume
in /src/libunwind/src/ppc32/Gresume.c:47
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
hppa_handle_signal_frame
in /src/libunwind/src/hppa/Gstep.c:29
['unw_cursor_t*'] int []
_Uia64_find_dyn_list
in /src/libunwind/src/ia64/Gtables.c:139
['unw_addr_space_t', 'unw_dyn_info_t*', 'void*'] unw_word_t []
unw_search_ia64_unwind_table
in /src/libunwind/src/ia64/Gtables.c:250
['unw_addr_space_t', 'unw_word_t', 'unw_dyn_info_t*', 'unw_proc_info_t*', 'int', 'void*'] int []
_UPT_find_proc_info
in /src/libunwind/src/ptrace/_UPT_find_proc_info.c:92
['unw_addr_space_t', 'unw_word_t', 'unw_proc_info_t*', 'int', 'void*'] int []
unw_get_proc_info_in_range
in /src/libunwind/src/dwarf/Gget_proc_info_in_range.c:26
['unw_word_t', 'unw_word_t', 'unw_word_t', 'unw_word_t', 'unw_word_t', 'unw_word_t', 'unw_addr_space_t', 'unw_word_t', 'unw_proc_info_t*', 'int', 'void*'] int []
_UCD_find_proc_info
in /src/libunwind/src/coredump/_UCD_find_proc_info.c:115
['unw_addr_space_t', 'unw_word_t', 'unw_proc_info_t*', 'int', 'void*'] int []
desc_alias
in /src/libunwind/src/ia64/Gparser.c:750
['unw_dyn_op_t*', 'struct cursor*', 'struct ia64_state_record*'] int []
ia64_local_resume
in /src/libunwind/src/ia64/Gresume.c:166
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
ia64_find_save_locs
in /src/libunwind/src/ia64/Gscript.c:615
['struct cursor*'] HIDDEN []
arm_exidx_step
in /src/libunwind/src/arm/Gstep.c:35
['struct cursor*'] int []
_Unwind_GetRegionStart
in /src/libunwind/src/arm/Gexcept.c:206
['struct _Unwind_Context*'] _Unwind_Ptr []
_Unwind_GetLanguageSpecificData
in /src/libunwind/src/arm/Gexcept.c:225
['struct _Unwind_Context*'] void []
s390x_local_resume
in /src/libunwind/src/s390x/Gresume.c:34
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
alpha_local_resume
in /src/libunwind/src/alpha/Gresume.c:34
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
x86_local_resume
in /src/libunwind/src/x86/Gos-freebsd.c:349
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
hppa_local_resume
in /src/libunwind/src/hppa/Gresume.c:53
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
x86_64_local_resume
in /src/libunwind/src/x86_64/Gresume.c:35
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] HIDDEN []
_Unwind_FindEnclosingFunction
in /src/libunwind/src/arm/Gexcept.c:303
['void*'] void []
unw_get_elf_filename
in /src/libunwind/src/mi/Gget_elf_filename.c:50
['unw_cursor_t*', 'char*', 'size_t', 'unw_word_t*'] int []
unw_nto_find_proc_info
in /src/libunwind/src/nto/unw_nto_find_proc_info.c:60
['unw_addr_space_t', 'unw_word_t', 'unw_proc_info_t*', 'int', 'void*'] int []
get_frame_state
in /src/libunwind/src/aarch64/Gstep.c:537
['unw_cursor_t*'] frame_state_t []
is_qnx_kercall
in /src/libunwind/src/aarch64/Gstep.c:632
['struct dwarf_cursor*'] bool []
dwarf_callback
in /src/libunwind/src/dwarf/Gfind_proc_info-lsb.c:546
['struct dl_phdr_info*', 'size_t', 'void*'] HIDDEN []
dwarf_find_unwind_table
in /src/libunwind/src/dwarf/Gfind_unwind_table.c:38
['struct elf_dyn_info*', 'unw_addr_space_t', 'char*', 'unw_word_t', 'unw_word_t', 'unw_word_t'] int []
dwarf_stack_aligned
in /src/libunwind/src/dwarf/Gexpr.c:191
['struct dwarf_cursor*', 'unw_word_t', 'unw_word_t', 'unw_word_t*'] HIDDEN []
ia64_validate_cache
in /src/libunwind/src/ia64/Gscript.c:678
['unw_addr_space_t', 'void*'] HIDDEN []
_is_plt_entry_elfv1
in /src/libunwind/src/ppc64/Gstep.c:85
['struct dwarf_cursor*'] int []
unw_init_local_signal
in /src/libunwind/src/arm/Ginit_local.c:58
['unw_cursor_t*', 'unw_context_t*'] int []
unw_set_caching_policy
in /src/libunwind/src/mi/Gset_caching_policy.c:28
['unw_addr_space_t', 'unw_caching_policy_t'] int []
unw_set_iterate_phdr_function
in /src/libunwind/src/mi/Gset_iterate_phdr_function.c:7
['unw_addr_space_t', 'unw_iterate_phdr_func_t'] void []
_UPT_create
in /src/libunwind/src/ptrace/_UPT_create.c:30
['pid_t'] void []
_UPT_resume
in /src/libunwind/src/ptrace/_UPT_resume.c:28
['unw_addr_space_t', 'unw_cursor_t*', 'void*'] int []
_UCD_create
in /src/libunwind/src/coredump/_UCD_create.c:44
['char*'] struct UCD_info []
unw_nto_create
in /src/libunwind/src/nto/unw_nto_create.c:63
['pid_t', 'pthread_t'] void []