/src/elfutils/lib/system.h
Line | Count | Source |
1 | | /* Declarations for common convenience functions. |
2 | | Copyright (C) 2006-2011 Red Hat, Inc. |
3 | | Copyright (C) 2022, 2026 Mark J. Wielaard <mark@klomp.org> |
4 | | Copyright (C) 2023 Khem Raj. |
5 | | This file is part of elfutils. |
6 | | |
7 | | This file is free software; you can redistribute it and/or modify |
8 | | it under the terms of either |
9 | | |
10 | | * the GNU Lesser General Public License as published by the Free |
11 | | Software Foundation; either version 3 of the License, or (at |
12 | | your option) any later version |
13 | | |
14 | | or |
15 | | |
16 | | * the GNU General Public License as published by the Free |
17 | | Software Foundation; either version 2 of the License, or (at |
18 | | your option) any later version |
19 | | |
20 | | or both in parallel, as here. |
21 | | |
22 | | elfutils is distributed in the hope that it will be useful, but |
23 | | WITHOUT ANY WARRANTY; without even the implied warranty of |
24 | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
25 | | General Public License for more details. |
26 | | |
27 | | You should have received copies of the GNU General Public License and |
28 | | the GNU Lesser General Public License along with this program. If |
29 | | not, see <http://www.gnu.org/licenses/>. */ |
30 | | |
31 | | #ifndef LIB_SYSTEM_H |
32 | | #define LIB_SYSTEM_H 1 |
33 | | |
34 | | /* Prevent double inclusion of config.h, config.h includes eu-config.h. */ |
35 | | #ifdef HAVE_CONFIG_H |
36 | | #ifndef EU_CONFIG_H |
37 | | # include <config.h> |
38 | | #endif |
39 | | #endif |
40 | | |
41 | | #include <errno.h> |
42 | | #include <fcntl.h> |
43 | | #include <stdbool.h> |
44 | | #include <stddef.h> |
45 | | #include <stdint.h> |
46 | | #include <string.h> |
47 | | #include <stdarg.h> |
48 | | #include <stdlib.h> |
49 | | |
50 | | /* System dependent headers */ |
51 | | #include <byteswap.h> |
52 | | #include <endian.h> |
53 | | #include <sys/mman.h> |
54 | | #include <sys/param.h> |
55 | | #include <unistd.h> |
56 | | |
57 | | #if defined(HAVE_SYS_RANDOM_H) |
58 | | #include <sys/random.h> |
59 | | #endif |
60 | | |
61 | | #if defined(HAVE_ERROR_H) |
62 | | #include <error.h> |
63 | | #elif defined(HAVE_ERR_H) |
64 | | extern int error_message_count; |
65 | | void error(int status, int errnum, const char *format, ...); |
66 | | #else |
67 | | #error "err.h or error.h must be available" |
68 | | #endif |
69 | | |
70 | | /* error (EXIT_FAILURE, ...) should be noreturn but on some systems it |
71 | | isn't. This may cause warnings about code that should not be reachable. |
72 | | So have an explicit error_exit wrapper that is noreturn (because it |
73 | | calls exit explicitly). */ |
74 | | #define error_exit(errnum,...) do { \ |
75 | | error (EXIT_FAILURE,errnum,__VA_ARGS__); \ |
76 | | exit (EXIT_FAILURE); \ |
77 | | } while (0) |
78 | | |
79 | | #if BYTE_ORDER == LITTLE_ENDIAN |
80 | 1.44M | # define LE32(n) (n) |
81 | 521k | # define LE64(n) (n) |
82 | 481k | # define BE32(n) bswap_32 (n) |
83 | 753k | # define BE64(n) bswap_64 (n) |
84 | | #elif BYTE_ORDER == BIG_ENDIAN |
85 | | # define BE32(n) (n) |
86 | | # define BE64(n) (n) |
87 | | # define LE32(n) bswap_32 (n) |
88 | | # define LE64(n) bswap_64 (n) |
89 | | #else |
90 | | # error "Unknown byte order" |
91 | | #endif |
92 | | |
93 | | #ifndef MAX |
94 | | #define MAX(m, n) ((m) < (n) ? (n) : (m)) |
95 | | #endif |
96 | | |
97 | | #ifndef MIN |
98 | | #define MIN(m, n) ((m) < (n) ? (m) : (n)) |
99 | | #endif |
100 | | |
101 | | #if !HAVE_DECL_POWEROF2 |
102 | | #define powerof2(x) (((x) & ((x) - 1)) == 0) |
103 | | #endif |
104 | | |
105 | | #if !HAVE_DECL_MEMPCPY |
106 | | #define mempcpy(dest, src, n) \ |
107 | | ((void *) ((char *) memcpy (dest, src, n) + (size_t) n)) |
108 | | #endif |
109 | | |
110 | | #if !HAVE_DECL_REALLOCARRAY |
111 | | static inline void * |
112 | | reallocarray (void *ptr, size_t nmemb, size_t size) |
113 | | { |
114 | | if (size > 0 && nmemb > SIZE_MAX / size) |
115 | | { |
116 | | errno = ENOMEM; |
117 | | return NULL; |
118 | | } |
119 | | return realloc (ptr, nmemb * size); |
120 | | } |
121 | | #endif |
122 | | |
123 | | /* Return TRUE if the start of STR matches PREFIX, FALSE otherwise. */ |
124 | | |
125 | | static inline int |
126 | | startswith (const char *str, const char *prefix) |
127 | 881k | { |
128 | 881k | return strncmp (str, prefix, strlen (prefix)) == 0; |
129 | 881k | } Unexecuted instantiation: fuzz-libdwfl.c:startswith Unexecuted instantiation: dwfl_begin.c:startswith Unexecuted instantiation: dwfl_end.c:startswith Unexecuted instantiation: dwfl_error.c:startswith Unexecuted instantiation: dwfl_module.c:startswith Unexecuted instantiation: offline.c:startswith Unexecuted instantiation: dwfl_module_getdwarf.c:startswith Unexecuted instantiation: find-debuginfo.c:startswith Unexecuted instantiation: dwfl_build_id_find_debuginfo.c:startswith Unexecuted instantiation: libdwfl_crc32_file.c:startswith Unexecuted instantiation: open.c:startswith Unexecuted instantiation: image-header.c:startswith Unexecuted instantiation: dwfl_frame.c:startswith Unexecuted instantiation: frame_unwind.c:startswith Unexecuted instantiation: dwfl_frame_pc.c:startswith Unexecuted instantiation: dwfl_frame_regs.c:startswith Unexecuted instantiation: gzip.c:startswith Unexecuted instantiation: dwflst_process_tracker.c:startswith Unexecuted instantiation: dwflst_tracker_find_elf.c:startswith Unexecuted instantiation: dwflst_tracker_elftab.c:startswith Unexecuted instantiation: dwflst_tracker_dwfltab.c:startswith Unexecuted instantiation: dwelf_elf_gnu_debuglink.c:startswith Unexecuted instantiation: dwelf_dwarf_gnu_debugaltlink.c:startswith Unexecuted instantiation: dwelf_elf_gnu_build_id.c:startswith Unexecuted instantiation: eblopenbackend.c:startswith Unexecuted instantiation: i386_initreg_sample.c:startswith Unexecuted instantiation: x86_64_initreg_sample.c:startswith Unexecuted instantiation: arm_symbol.c:startswith Unexecuted instantiation: aarch64_symbol.c:startswith Unexecuted instantiation: aarch64_initreg.c:startswith Unexecuted instantiation: sparc_initreg.c:startswith Unexecuted instantiation: ppc_initreg.c:startswith Unexecuted instantiation: s390_initreg.c:startswith Unexecuted instantiation: riscv_init.c:startswith Unexecuted instantiation: riscv_initreg.c:startswith Unexecuted instantiation: csky_initreg.c:startswith Unexecuted instantiation: loongarch_initreg.c:startswith Unexecuted instantiation: mips_init.c:startswith Unexecuted instantiation: mips_symbol.c:startswith Unexecuted instantiation: mips_regs.c:startswith Unexecuted instantiation: mips_retval.c:startswith Unexecuted instantiation: i386_disasm.c:startswith Unexecuted instantiation: x86_64_disasm.c:startswith Unexecuted instantiation: bpf_disasm.c:startswith Unexecuted instantiation: riscv_disasm.c:startswith dwarf_begin_elf.c:startswith Line | Count | Source | 127 | 881k | { | 128 | 881k | return strncmp (str, prefix, strlen (prefix)) == 0; | 129 | 881k | } |
Unexecuted instantiation: dwarf_end.c:startswith Unexecuted instantiation: dwarf_tag.c:startswith Unexecuted instantiation: dwarf_error.c:startswith Unexecuted instantiation: dwarf_attr.c:startswith Unexecuted instantiation: dwarf_abbrev_hash.c:startswith Unexecuted instantiation: dwarf_sig8_hash.c:startswith Unexecuted instantiation: dwarf_attr_integrate.c:startswith Unexecuted instantiation: dwarf_hasattr_integrate.c:startswith Unexecuted instantiation: dwarf_child.c:startswith Unexecuted instantiation: dwarf_formudata.c:startswith Unexecuted instantiation: dwarf_formref_die.c:startswith Unexecuted instantiation: dwarf_siblingof.c:startswith Unexecuted instantiation: dwarf_diecu.c:startswith Unexecuted instantiation: dwarf_hasattr.c:startswith Unexecuted instantiation: dwarf_bytesize.c:startswith Unexecuted instantiation: dwarf_bitsize.c:startswith Unexecuted instantiation: dwarf_formflag.c:startswith Unexecuted instantiation: libdw_findcu.c:startswith Unexecuted instantiation: libdw_form.c:startswith Unexecuted instantiation: libdw_alloc.c:startswith Unexecuted instantiation: frame-cache.c:startswith Unexecuted instantiation: dwarf_frame_cfa.c:startswith Unexecuted instantiation: dwarf_frame_register.c:startswith Unexecuted instantiation: dwarf_cfi_addrframe.c:startswith Unexecuted instantiation: dwarf_cfi_end.c:startswith Unexecuted instantiation: dwarf_aggregate_size.c:startswith Unexecuted instantiation: dwarf_getalt.c:startswith Unexecuted instantiation: dwarf_setalt.c:startswith Unexecuted instantiation: dwarf_peel_type.c:startswith Unexecuted instantiation: dwarf_default_lower_bound.c:startswith Unexecuted instantiation: libdw_find_split_unit.c:startswith Unexecuted instantiation: dwarf_cu_dwp_section_info.c:startswith Unexecuted instantiation: dwfl_report_elf.c:startswith Unexecuted instantiation: relocate.c:startswith Unexecuted instantiation: dwfl_module_build_id.c:startswith Unexecuted instantiation: dwfl_build_id_find_elf.c:startswith Unexecuted instantiation: linux-proc-maps.c:startswith Unexecuted instantiation: dwfl_addrmodule.c:startswith Unexecuted instantiation: libdwfl_crc32.c:startswith Unexecuted instantiation: elf-from-memory.c:startswith Unexecuted instantiation: dwfl_module_dwarf_cfi.c:startswith Unexecuted instantiation: dwfl_module_eh_cfi.c:startswith Unexecuted instantiation: linux-pid-attach.c:startswith Unexecuted instantiation: dwarf_begin.c:startswith Unexecuted instantiation: dwarf_getabbrev.c:startswith Unexecuted instantiation: dwarf_nextcu.c:startswith Unexecuted instantiation: dwarf_offdie.c:startswith Unexecuted instantiation: dwarf_formstring.c:startswith Unexecuted instantiation: dwarf_haschildren.c:startswith Unexecuted instantiation: dwarf_formsdata.c:startswith Unexecuted instantiation: dwarf_formref.c:startswith Unexecuted instantiation: dwarf_srclang.c:startswith Unexecuted instantiation: dwarf_getlocation.c:startswith Unexecuted instantiation: fde.c:startswith Unexecuted instantiation: cfi.c:startswith Unexecuted instantiation: dwarf_getcfi.c:startswith Unexecuted instantiation: dwarf_getcfi_elf.c:startswith Unexecuted instantiation: dwarf_get_units.c:startswith Unexecuted instantiation: segment.c:startswith Unexecuted instantiation: dwarf_formaddr.c:startswith Unexecuted instantiation: dwarf_lowpc.c:startswith Unexecuted instantiation: dwarf_ranges.c:startswith Unexecuted instantiation: dwarf_formblock.c:startswith Unexecuted instantiation: dwarf_next_cfi.c:startswith Unexecuted instantiation: cie.c:startswith Unexecuted instantiation: dwarf_highpc.c:startswith Unexecuted instantiation: elf_version.c:startswith Unexecuted instantiation: elf_hash.c:startswith Unexecuted instantiation: elf_error.c:startswith Unexecuted instantiation: elf_begin.c:startswith Unexecuted instantiation: elf_next.c:startswith Unexecuted instantiation: elf_end.c:startswith Unexecuted instantiation: elf_kind.c:startswith Unexecuted instantiation: gelf_getclass.c:startswith Unexecuted instantiation: elf_getident.c:startswith Unexecuted instantiation: gelf_fsize.c:startswith Unexecuted instantiation: elf32_xlatetof.c:startswith Unexecuted instantiation: elf32_xlatetom.c:startswith Unexecuted instantiation: elf64_xlatetof.c:startswith Unexecuted instantiation: elf64_xlatetom.c:startswith Unexecuted instantiation: gelf_xlate.c:startswith Unexecuted instantiation: gelf_getehdr.c:startswith Unexecuted instantiation: gelf_getphdr.c:startswith Unexecuted instantiation: elf_getarhdr.c:startswith Unexecuted instantiation: elf_rawfile.c:startswith Unexecuted instantiation: elf_readall.c:startswith Unexecuted instantiation: elf_cntl.c:startswith Unexecuted instantiation: elf_getscn.c:startswith Unexecuted instantiation: elf_nextscn.c:startswith Unexecuted instantiation: elf_ndxscn.c:startswith Unexecuted instantiation: gelf_getshdr.c:startswith Unexecuted instantiation: gelf_update_shdr.c:startswith Unexecuted instantiation: elf_strptr.c:startswith Unexecuted instantiation: elf_rawdata.c:startswith Unexecuted instantiation: elf_getdata.c:startswith Unexecuted instantiation: elf_getdata_rawchunk.c:startswith Unexecuted instantiation: elf_memory.c:startswith Unexecuted instantiation: gelf_getrel.c:startswith Unexecuted instantiation: gelf_getrela.c:startswith Unexecuted instantiation: gelf_update_rel.c:startswith Unexecuted instantiation: gelf_update_rela.c:startswith Unexecuted instantiation: gelf_getdyn.c:startswith Unexecuted instantiation: gelf_getnote.c:startswith Unexecuted instantiation: gelf_xlatetof.c:startswith Unexecuted instantiation: gelf_xlatetom.c:startswith Unexecuted instantiation: gelf_getsymshndx.c:startswith Unexecuted instantiation: elf_getphdrnum.c:startswith Unexecuted instantiation: elf_getshdrnum.c:startswith Unexecuted instantiation: elf_getshdrstrndx.c:startswith Unexecuted instantiation: gelf_offscn.c:startswith Unexecuted instantiation: elf_compress.c:startswith Unexecuted instantiation: elf_compress_gnu.c:startswith Unexecuted instantiation: elf32_getphdr.c:startswith Unexecuted instantiation: elf64_getphdr.c:startswith Unexecuted instantiation: elf32_getshdr.c:startswith Unexecuted instantiation: elf64_getshdr.c:startswith Unexecuted instantiation: elf32_offscn.c:startswith Unexecuted instantiation: elf64_offscn.c:startswith Unexecuted instantiation: gelf_getchdr.c:startswith Unexecuted instantiation: elf32_getchdr.c:startswith Unexecuted instantiation: elf64_getchdr.c:startswith Unexecuted instantiation: core-file.c:startswith Unexecuted instantiation: linux-core-attach.c:startswith Unexecuted instantiation: dwfl_segment_report_module.c:startswith Unexecuted instantiation: link_map.c:startswith Unexecuted instantiation: dwfl_module_report_build_id.c:startswith Unexecuted instantiation: derelocate.c:startswith Unexecuted instantiation: elf_clone.c:startswith Unexecuted instantiation: fuzz-libelf.c:startswith |
130 | | |
131 | | /* Return TRUE if STR[FROM] is a valid string with a zero terminator |
132 | | at or before STR[TO - 1]. Note FROM is an index into the STR |
133 | | array, while TO is the maximum size of the STR array. This |
134 | | function returns FALSE when TO is zero or FROM >= TO. */ |
135 | | static inline bool |
136 | | validate_str (const char *str, size_t from, size_t to) |
137 | 524k | { |
138 | 524k | #if HAVE_DECL_MEMRCHR |
139 | | // Check end first, which is likely a zero terminator, |
140 | | // to prevent function call |
141 | 524k | return (to > 0 |
142 | 524k | && (str[to - 1] == '\0' |
143 | 265k | || (to > from |
144 | 265k | && memrchr (&str[from], '\0', to - from - 1) != NULL))); |
145 | | #else |
146 | | do { |
147 | | if (to <= from) |
148 | | return false; |
149 | | |
150 | | to--; |
151 | | } while (str[to]); |
152 | | |
153 | | return true; |
154 | | #endif |
155 | 524k | } Unexecuted instantiation: fuzz-libdwfl.c:validate_str Unexecuted instantiation: dwfl_begin.c:validate_str Unexecuted instantiation: dwfl_end.c:validate_str Unexecuted instantiation: dwfl_error.c:validate_str Unexecuted instantiation: dwfl_module.c:validate_str Unexecuted instantiation: offline.c:validate_str Unexecuted instantiation: dwfl_module_getdwarf.c:validate_str Unexecuted instantiation: find-debuginfo.c:validate_str Unexecuted instantiation: dwfl_build_id_find_debuginfo.c:validate_str Unexecuted instantiation: libdwfl_crc32_file.c:validate_str Unexecuted instantiation: open.c:validate_str Unexecuted instantiation: image-header.c:validate_str Unexecuted instantiation: dwfl_frame.c:validate_str Unexecuted instantiation: frame_unwind.c:validate_str Unexecuted instantiation: dwfl_frame_pc.c:validate_str Unexecuted instantiation: dwfl_frame_regs.c:validate_str Unexecuted instantiation: gzip.c:validate_str Unexecuted instantiation: dwflst_process_tracker.c:validate_str Unexecuted instantiation: dwflst_tracker_find_elf.c:validate_str Unexecuted instantiation: dwflst_tracker_elftab.c:validate_str Unexecuted instantiation: dwflst_tracker_dwfltab.c:validate_str Unexecuted instantiation: dwelf_elf_gnu_debuglink.c:validate_str Unexecuted instantiation: dwelf_dwarf_gnu_debugaltlink.c:validate_str Unexecuted instantiation: dwelf_elf_gnu_build_id.c:validate_str Unexecuted instantiation: eblopenbackend.c:validate_str Unexecuted instantiation: i386_initreg_sample.c:validate_str Unexecuted instantiation: x86_64_initreg_sample.c:validate_str Unexecuted instantiation: arm_symbol.c:validate_str Unexecuted instantiation: aarch64_symbol.c:validate_str Unexecuted instantiation: aarch64_initreg.c:validate_str Unexecuted instantiation: sparc_initreg.c:validate_str Unexecuted instantiation: ppc_initreg.c:validate_str Unexecuted instantiation: s390_initreg.c:validate_str Unexecuted instantiation: riscv_init.c:validate_str Unexecuted instantiation: riscv_initreg.c:validate_str Unexecuted instantiation: csky_initreg.c:validate_str Unexecuted instantiation: loongarch_initreg.c:validate_str Unexecuted instantiation: mips_init.c:validate_str Unexecuted instantiation: mips_symbol.c:validate_str Unexecuted instantiation: mips_regs.c:validate_str Unexecuted instantiation: mips_retval.c:validate_str Unexecuted instantiation: i386_disasm.c:validate_str Unexecuted instantiation: x86_64_disasm.c:validate_str Unexecuted instantiation: bpf_disasm.c:validate_str Unexecuted instantiation: riscv_disasm.c:validate_str Unexecuted instantiation: dwarf_begin_elf.c:validate_str Unexecuted instantiation: dwarf_end.c:validate_str Unexecuted instantiation: dwarf_tag.c:validate_str Unexecuted instantiation: dwarf_error.c:validate_str Unexecuted instantiation: dwarf_attr.c:validate_str Unexecuted instantiation: dwarf_abbrev_hash.c:validate_str Unexecuted instantiation: dwarf_sig8_hash.c:validate_str Unexecuted instantiation: dwarf_attr_integrate.c:validate_str Unexecuted instantiation: dwarf_hasattr_integrate.c:validate_str Unexecuted instantiation: dwarf_child.c:validate_str Unexecuted instantiation: dwarf_formudata.c:validate_str Unexecuted instantiation: dwarf_formref_die.c:validate_str Unexecuted instantiation: dwarf_siblingof.c:validate_str Unexecuted instantiation: dwarf_diecu.c:validate_str Unexecuted instantiation: dwarf_hasattr.c:validate_str Unexecuted instantiation: dwarf_bytesize.c:validate_str Unexecuted instantiation: dwarf_bitsize.c:validate_str Unexecuted instantiation: dwarf_formflag.c:validate_str Unexecuted instantiation: libdw_findcu.c:validate_str Unexecuted instantiation: libdw_form.c:validate_str Unexecuted instantiation: libdw_alloc.c:validate_str Unexecuted instantiation: frame-cache.c:validate_str Unexecuted instantiation: dwarf_frame_cfa.c:validate_str Unexecuted instantiation: dwarf_frame_register.c:validate_str Unexecuted instantiation: dwarf_cfi_addrframe.c:validate_str Unexecuted instantiation: dwarf_cfi_end.c:validate_str Unexecuted instantiation: dwarf_aggregate_size.c:validate_str Unexecuted instantiation: dwarf_getalt.c:validate_str Unexecuted instantiation: dwarf_setalt.c:validate_str Unexecuted instantiation: dwarf_peel_type.c:validate_str Unexecuted instantiation: dwarf_default_lower_bound.c:validate_str Unexecuted instantiation: libdw_find_split_unit.c:validate_str Unexecuted instantiation: dwarf_cu_dwp_section_info.c:validate_str Unexecuted instantiation: dwfl_report_elf.c:validate_str Unexecuted instantiation: relocate.c:validate_str Unexecuted instantiation: dwfl_module_build_id.c:validate_str Unexecuted instantiation: dwfl_build_id_find_elf.c:validate_str Unexecuted instantiation: linux-proc-maps.c:validate_str Unexecuted instantiation: dwfl_addrmodule.c:validate_str Unexecuted instantiation: libdwfl_crc32.c:validate_str Unexecuted instantiation: elf-from-memory.c:validate_str Unexecuted instantiation: dwfl_module_dwarf_cfi.c:validate_str Unexecuted instantiation: dwfl_module_eh_cfi.c:validate_str Unexecuted instantiation: linux-pid-attach.c:validate_str Unexecuted instantiation: dwarf_begin.c:validate_str Unexecuted instantiation: dwarf_getabbrev.c:validate_str Unexecuted instantiation: dwarf_nextcu.c:validate_str Unexecuted instantiation: dwarf_offdie.c:validate_str Unexecuted instantiation: dwarf_formstring.c:validate_str Unexecuted instantiation: dwarf_haschildren.c:validate_str Unexecuted instantiation: dwarf_formsdata.c:validate_str Unexecuted instantiation: dwarf_formref.c:validate_str Unexecuted instantiation: dwarf_srclang.c:validate_str Unexecuted instantiation: dwarf_getlocation.c:validate_str Unexecuted instantiation: fde.c:validate_str Unexecuted instantiation: cfi.c:validate_str Unexecuted instantiation: dwarf_getcfi.c:validate_str Unexecuted instantiation: dwarf_getcfi_elf.c:validate_str Unexecuted instantiation: dwarf_get_units.c:validate_str Unexecuted instantiation: segment.c:validate_str Unexecuted instantiation: dwarf_formaddr.c:validate_str Unexecuted instantiation: dwarf_lowpc.c:validate_str Unexecuted instantiation: dwarf_ranges.c:validate_str Unexecuted instantiation: dwarf_formblock.c:validate_str Unexecuted instantiation: dwarf_next_cfi.c:validate_str Unexecuted instantiation: cie.c:validate_str Unexecuted instantiation: dwarf_highpc.c:validate_str Unexecuted instantiation: elf_version.c:validate_str Unexecuted instantiation: elf_hash.c:validate_str Unexecuted instantiation: elf_error.c:validate_str Unexecuted instantiation: elf_begin.c:validate_str Unexecuted instantiation: elf_next.c:validate_str Unexecuted instantiation: elf_end.c:validate_str Unexecuted instantiation: elf_kind.c:validate_str Unexecuted instantiation: gelf_getclass.c:validate_str Unexecuted instantiation: elf_getident.c:validate_str Unexecuted instantiation: gelf_fsize.c:validate_str Unexecuted instantiation: elf32_xlatetof.c:validate_str Unexecuted instantiation: elf32_xlatetom.c:validate_str Unexecuted instantiation: elf64_xlatetof.c:validate_str Unexecuted instantiation: elf64_xlatetom.c:validate_str Unexecuted instantiation: gelf_xlate.c:validate_str Unexecuted instantiation: gelf_getehdr.c:validate_str Unexecuted instantiation: gelf_getphdr.c:validate_str Unexecuted instantiation: elf_getarhdr.c:validate_str Unexecuted instantiation: elf_rawfile.c:validate_str Unexecuted instantiation: elf_readall.c:validate_str Unexecuted instantiation: elf_cntl.c:validate_str Unexecuted instantiation: elf_getscn.c:validate_str Unexecuted instantiation: elf_nextscn.c:validate_str Unexecuted instantiation: elf_ndxscn.c:validate_str Unexecuted instantiation: gelf_getshdr.c:validate_str Unexecuted instantiation: gelf_update_shdr.c:validate_str elf_strptr.c:validate_str Line | Count | Source | 137 | 524k | { | 138 | 524k | #if HAVE_DECL_MEMRCHR | 139 | | // Check end first, which is likely a zero terminator, | 140 | | // to prevent function call | 141 | 524k | return (to > 0 | 142 | 524k | && (str[to - 1] == '\0' | 143 | 265k | || (to > from | 144 | 265k | && memrchr (&str[from], '\0', to - from - 1) != NULL))); | 145 | | #else | 146 | | do { | 147 | | if (to <= from) | 148 | | return false; | 149 | | | 150 | | to--; | 151 | | } while (str[to]); | 152 | | | 153 | | return true; | 154 | | #endif | 155 | 524k | } |
Unexecuted instantiation: elf_rawdata.c:validate_str Unexecuted instantiation: elf_getdata.c:validate_str Unexecuted instantiation: elf_getdata_rawchunk.c:validate_str Unexecuted instantiation: elf_memory.c:validate_str Unexecuted instantiation: gelf_getrel.c:validate_str Unexecuted instantiation: gelf_getrela.c:validate_str Unexecuted instantiation: gelf_update_rel.c:validate_str Unexecuted instantiation: gelf_update_rela.c:validate_str Unexecuted instantiation: gelf_getdyn.c:validate_str Unexecuted instantiation: gelf_getnote.c:validate_str Unexecuted instantiation: gelf_xlatetof.c:validate_str Unexecuted instantiation: gelf_xlatetom.c:validate_str Unexecuted instantiation: gelf_getsymshndx.c:validate_str Unexecuted instantiation: elf_getphdrnum.c:validate_str Unexecuted instantiation: elf_getshdrnum.c:validate_str Unexecuted instantiation: elf_getshdrstrndx.c:validate_str Unexecuted instantiation: gelf_offscn.c:validate_str Unexecuted instantiation: elf_compress.c:validate_str Unexecuted instantiation: elf_compress_gnu.c:validate_str Unexecuted instantiation: elf32_getphdr.c:validate_str Unexecuted instantiation: elf64_getphdr.c:validate_str Unexecuted instantiation: elf32_getshdr.c:validate_str Unexecuted instantiation: elf64_getshdr.c:validate_str Unexecuted instantiation: elf32_offscn.c:validate_str Unexecuted instantiation: elf64_offscn.c:validate_str Unexecuted instantiation: gelf_getchdr.c:validate_str Unexecuted instantiation: elf32_getchdr.c:validate_str Unexecuted instantiation: elf64_getchdr.c:validate_str Unexecuted instantiation: core-file.c:validate_str Unexecuted instantiation: linux-core-attach.c:validate_str Unexecuted instantiation: dwfl_segment_report_module.c:validate_str Unexecuted instantiation: link_map.c:validate_str Unexecuted instantiation: dwfl_module_report_build_id.c:validate_str Unexecuted instantiation: derelocate.c:validate_str Unexecuted instantiation: elf_clone.c:validate_str Unexecuted instantiation: fuzz-libelf.c:validate_str |
156 | | |
157 | | /* A special gettext function we use if the strings are too short. */ |
158 | | #define sgettext(Str) \ |
159 | | ({ const char *__res = strrchr (_(Str), '|'); \ |
160 | | __res ? __res + 1 : Str; }) |
161 | | |
162 | | #define gettext_noop(Str) Str |
163 | | |
164 | | #ifndef TEMP_FAILURE_RETRY |
165 | | #define TEMP_FAILURE_RETRY(expression) \ |
166 | | ({ ssize_t __res; \ |
167 | | do \ |
168 | | __res = expression; \ |
169 | | while (__res == -1 && errno == EINTR); \ |
170 | | __res; }) |
171 | | #endif |
172 | | |
173 | | #ifndef ACCESSPERMS |
174 | | #define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ |
175 | | #endif |
176 | | |
177 | | #ifndef ALLPERMS |
178 | | #define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ |
179 | | #endif |
180 | | |
181 | | #ifndef DEFFILEMODE |
182 | | #define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666 */ |
183 | | #endif |
184 | | |
185 | | static inline ssize_t __attribute__ ((unused)) |
186 | | pwrite_retry (int fd, const void *buf, size_t len, off_t off) |
187 | 0 | { |
188 | 0 | ssize_t recvd = 0; |
189 | 0 |
|
190 | 0 | do |
191 | 0 | { |
192 | 0 | ssize_t ret = TEMP_FAILURE_RETRY (pwrite (fd, ((char *)buf) + recvd, len - recvd, |
193 | 0 | off + recvd)); |
194 | 0 | if (ret <= 0) |
195 | 0 | return ret < 0 ? ret : recvd; |
196 | 0 |
|
197 | 0 | recvd += ret; |
198 | 0 | } |
199 | 0 | while ((size_t) recvd < len); |
200 | 0 |
|
201 | 0 | return recvd; |
202 | 0 | } Unexecuted instantiation: fuzz-libdwfl.c:pwrite_retry Unexecuted instantiation: dwfl_begin.c:pwrite_retry Unexecuted instantiation: dwfl_end.c:pwrite_retry Unexecuted instantiation: dwfl_error.c:pwrite_retry Unexecuted instantiation: dwfl_module.c:pwrite_retry Unexecuted instantiation: offline.c:pwrite_retry Unexecuted instantiation: dwfl_module_getdwarf.c:pwrite_retry Unexecuted instantiation: find-debuginfo.c:pwrite_retry Unexecuted instantiation: dwfl_build_id_find_debuginfo.c:pwrite_retry Unexecuted instantiation: libdwfl_crc32_file.c:pwrite_retry Unexecuted instantiation: open.c:pwrite_retry Unexecuted instantiation: image-header.c:pwrite_retry Unexecuted instantiation: dwfl_frame.c:pwrite_retry Unexecuted instantiation: frame_unwind.c:pwrite_retry Unexecuted instantiation: dwfl_frame_pc.c:pwrite_retry Unexecuted instantiation: dwfl_frame_regs.c:pwrite_retry Unexecuted instantiation: gzip.c:pwrite_retry Unexecuted instantiation: dwflst_process_tracker.c:pwrite_retry Unexecuted instantiation: dwflst_tracker_find_elf.c:pwrite_retry Unexecuted instantiation: dwflst_tracker_elftab.c:pwrite_retry Unexecuted instantiation: dwflst_tracker_dwfltab.c:pwrite_retry Unexecuted instantiation: dwelf_elf_gnu_debuglink.c:pwrite_retry Unexecuted instantiation: dwelf_dwarf_gnu_debugaltlink.c:pwrite_retry Unexecuted instantiation: dwelf_elf_gnu_build_id.c:pwrite_retry Unexecuted instantiation: eblopenbackend.c:pwrite_retry Unexecuted instantiation: i386_initreg_sample.c:pwrite_retry Unexecuted instantiation: x86_64_initreg_sample.c:pwrite_retry Unexecuted instantiation: arm_symbol.c:pwrite_retry Unexecuted instantiation: aarch64_symbol.c:pwrite_retry Unexecuted instantiation: aarch64_initreg.c:pwrite_retry Unexecuted instantiation: sparc_initreg.c:pwrite_retry Unexecuted instantiation: ppc_initreg.c:pwrite_retry Unexecuted instantiation: s390_initreg.c:pwrite_retry Unexecuted instantiation: riscv_init.c:pwrite_retry Unexecuted instantiation: riscv_initreg.c:pwrite_retry Unexecuted instantiation: csky_initreg.c:pwrite_retry Unexecuted instantiation: loongarch_initreg.c:pwrite_retry Unexecuted instantiation: mips_init.c:pwrite_retry Unexecuted instantiation: mips_symbol.c:pwrite_retry Unexecuted instantiation: mips_regs.c:pwrite_retry Unexecuted instantiation: mips_retval.c:pwrite_retry Unexecuted instantiation: i386_disasm.c:pwrite_retry Unexecuted instantiation: x86_64_disasm.c:pwrite_retry Unexecuted instantiation: bpf_disasm.c:pwrite_retry Unexecuted instantiation: riscv_disasm.c:pwrite_retry Unexecuted instantiation: dwarf_begin_elf.c:pwrite_retry Unexecuted instantiation: dwarf_end.c:pwrite_retry Unexecuted instantiation: dwarf_tag.c:pwrite_retry Unexecuted instantiation: dwarf_error.c:pwrite_retry Unexecuted instantiation: dwarf_attr.c:pwrite_retry Unexecuted instantiation: dwarf_abbrev_hash.c:pwrite_retry Unexecuted instantiation: dwarf_sig8_hash.c:pwrite_retry Unexecuted instantiation: dwarf_attr_integrate.c:pwrite_retry Unexecuted instantiation: dwarf_hasattr_integrate.c:pwrite_retry Unexecuted instantiation: dwarf_child.c:pwrite_retry Unexecuted instantiation: dwarf_formudata.c:pwrite_retry Unexecuted instantiation: dwarf_formref_die.c:pwrite_retry Unexecuted instantiation: dwarf_siblingof.c:pwrite_retry Unexecuted instantiation: dwarf_diecu.c:pwrite_retry Unexecuted instantiation: dwarf_hasattr.c:pwrite_retry Unexecuted instantiation: dwarf_bytesize.c:pwrite_retry Unexecuted instantiation: dwarf_bitsize.c:pwrite_retry Unexecuted instantiation: dwarf_formflag.c:pwrite_retry Unexecuted instantiation: libdw_findcu.c:pwrite_retry Unexecuted instantiation: libdw_form.c:pwrite_retry Unexecuted instantiation: libdw_alloc.c:pwrite_retry Unexecuted instantiation: frame-cache.c:pwrite_retry Unexecuted instantiation: dwarf_frame_cfa.c:pwrite_retry Unexecuted instantiation: dwarf_frame_register.c:pwrite_retry Unexecuted instantiation: dwarf_cfi_addrframe.c:pwrite_retry Unexecuted instantiation: dwarf_cfi_end.c:pwrite_retry Unexecuted instantiation: dwarf_aggregate_size.c:pwrite_retry Unexecuted instantiation: dwarf_getalt.c:pwrite_retry Unexecuted instantiation: dwarf_setalt.c:pwrite_retry Unexecuted instantiation: dwarf_peel_type.c:pwrite_retry Unexecuted instantiation: dwarf_default_lower_bound.c:pwrite_retry Unexecuted instantiation: libdw_find_split_unit.c:pwrite_retry Unexecuted instantiation: dwarf_cu_dwp_section_info.c:pwrite_retry Unexecuted instantiation: dwfl_report_elf.c:pwrite_retry Unexecuted instantiation: relocate.c:pwrite_retry Unexecuted instantiation: dwfl_module_build_id.c:pwrite_retry Unexecuted instantiation: dwfl_build_id_find_elf.c:pwrite_retry Unexecuted instantiation: linux-proc-maps.c:pwrite_retry Unexecuted instantiation: dwfl_addrmodule.c:pwrite_retry Unexecuted instantiation: libdwfl_crc32.c:pwrite_retry Unexecuted instantiation: elf-from-memory.c:pwrite_retry Unexecuted instantiation: dwfl_module_dwarf_cfi.c:pwrite_retry Unexecuted instantiation: dwfl_module_eh_cfi.c:pwrite_retry Unexecuted instantiation: linux-pid-attach.c:pwrite_retry Unexecuted instantiation: dwarf_begin.c:pwrite_retry Unexecuted instantiation: dwarf_getabbrev.c:pwrite_retry Unexecuted instantiation: dwarf_nextcu.c:pwrite_retry Unexecuted instantiation: dwarf_offdie.c:pwrite_retry Unexecuted instantiation: dwarf_formstring.c:pwrite_retry Unexecuted instantiation: dwarf_haschildren.c:pwrite_retry Unexecuted instantiation: dwarf_formsdata.c:pwrite_retry Unexecuted instantiation: dwarf_formref.c:pwrite_retry Unexecuted instantiation: dwarf_srclang.c:pwrite_retry Unexecuted instantiation: dwarf_getlocation.c:pwrite_retry Unexecuted instantiation: fde.c:pwrite_retry Unexecuted instantiation: cfi.c:pwrite_retry Unexecuted instantiation: dwarf_getcfi.c:pwrite_retry Unexecuted instantiation: dwarf_getcfi_elf.c:pwrite_retry Unexecuted instantiation: dwarf_get_units.c:pwrite_retry Unexecuted instantiation: segment.c:pwrite_retry Unexecuted instantiation: dwarf_formaddr.c:pwrite_retry Unexecuted instantiation: dwarf_lowpc.c:pwrite_retry Unexecuted instantiation: dwarf_ranges.c:pwrite_retry Unexecuted instantiation: dwarf_formblock.c:pwrite_retry Unexecuted instantiation: dwarf_next_cfi.c:pwrite_retry Unexecuted instantiation: cie.c:pwrite_retry Unexecuted instantiation: dwarf_highpc.c:pwrite_retry Unexecuted instantiation: elf_version.c:pwrite_retry Unexecuted instantiation: elf_hash.c:pwrite_retry Unexecuted instantiation: elf_error.c:pwrite_retry Unexecuted instantiation: elf_begin.c:pwrite_retry Unexecuted instantiation: elf_next.c:pwrite_retry Unexecuted instantiation: elf_end.c:pwrite_retry Unexecuted instantiation: elf_kind.c:pwrite_retry Unexecuted instantiation: gelf_getclass.c:pwrite_retry Unexecuted instantiation: elf_getident.c:pwrite_retry Unexecuted instantiation: gelf_fsize.c:pwrite_retry Unexecuted instantiation: elf32_xlatetof.c:pwrite_retry Unexecuted instantiation: elf32_xlatetom.c:pwrite_retry Unexecuted instantiation: elf64_xlatetof.c:pwrite_retry Unexecuted instantiation: elf64_xlatetom.c:pwrite_retry Unexecuted instantiation: gelf_xlate.c:pwrite_retry Unexecuted instantiation: gelf_getehdr.c:pwrite_retry Unexecuted instantiation: gelf_getphdr.c:pwrite_retry Unexecuted instantiation: elf_getarhdr.c:pwrite_retry Unexecuted instantiation: elf_rawfile.c:pwrite_retry Unexecuted instantiation: elf_readall.c:pwrite_retry Unexecuted instantiation: elf_cntl.c:pwrite_retry Unexecuted instantiation: elf_getscn.c:pwrite_retry Unexecuted instantiation: elf_nextscn.c:pwrite_retry Unexecuted instantiation: elf_ndxscn.c:pwrite_retry Unexecuted instantiation: gelf_getshdr.c:pwrite_retry Unexecuted instantiation: gelf_update_shdr.c:pwrite_retry Unexecuted instantiation: elf_strptr.c:pwrite_retry Unexecuted instantiation: elf_rawdata.c:pwrite_retry Unexecuted instantiation: elf_getdata.c:pwrite_retry Unexecuted instantiation: elf_getdata_rawchunk.c:pwrite_retry Unexecuted instantiation: elf_memory.c:pwrite_retry Unexecuted instantiation: gelf_getrel.c:pwrite_retry Unexecuted instantiation: gelf_getrela.c:pwrite_retry Unexecuted instantiation: gelf_update_rel.c:pwrite_retry Unexecuted instantiation: gelf_update_rela.c:pwrite_retry Unexecuted instantiation: gelf_getdyn.c:pwrite_retry Unexecuted instantiation: gelf_getnote.c:pwrite_retry Unexecuted instantiation: gelf_xlatetof.c:pwrite_retry Unexecuted instantiation: gelf_xlatetom.c:pwrite_retry Unexecuted instantiation: gelf_getsymshndx.c:pwrite_retry Unexecuted instantiation: elf_getphdrnum.c:pwrite_retry Unexecuted instantiation: elf_getshdrnum.c:pwrite_retry Unexecuted instantiation: elf_getshdrstrndx.c:pwrite_retry Unexecuted instantiation: gelf_offscn.c:pwrite_retry Unexecuted instantiation: elf_compress.c:pwrite_retry Unexecuted instantiation: elf_compress_gnu.c:pwrite_retry Unexecuted instantiation: elf32_getphdr.c:pwrite_retry Unexecuted instantiation: elf64_getphdr.c:pwrite_retry Unexecuted instantiation: elf32_getshdr.c:pwrite_retry Unexecuted instantiation: elf64_getshdr.c:pwrite_retry Unexecuted instantiation: elf32_offscn.c:pwrite_retry Unexecuted instantiation: elf64_offscn.c:pwrite_retry Unexecuted instantiation: gelf_getchdr.c:pwrite_retry Unexecuted instantiation: elf32_getchdr.c:pwrite_retry Unexecuted instantiation: elf64_getchdr.c:pwrite_retry Unexecuted instantiation: core-file.c:pwrite_retry Unexecuted instantiation: linux-core-attach.c:pwrite_retry Unexecuted instantiation: dwfl_segment_report_module.c:pwrite_retry Unexecuted instantiation: link_map.c:pwrite_retry Unexecuted instantiation: dwfl_module_report_build_id.c:pwrite_retry Unexecuted instantiation: derelocate.c:pwrite_retry Unexecuted instantiation: elf_clone.c:pwrite_retry Unexecuted instantiation: fuzz-libelf.c:pwrite_retry |
203 | | |
204 | | static inline ssize_t __attribute__ ((unused)) |
205 | | write_retry (int fd, const void *buf, size_t len) |
206 | 18.1k | { |
207 | 18.1k | ssize_t recvd = 0; |
208 | | |
209 | 18.1k | do |
210 | 18.1k | { |
211 | 18.1k | ssize_t ret = TEMP_FAILURE_RETRY (write (fd, ((char *)buf) + recvd, len - recvd)); |
212 | 18.1k | if (ret <= 0) |
213 | 0 | return ret < 0 ? ret : recvd; |
214 | | |
215 | 18.1k | recvd += ret; |
216 | 18.1k | } |
217 | 18.1k | while ((size_t) recvd < len); |
218 | | |
219 | 18.1k | return recvd; |
220 | 18.1k | } fuzz-libdwfl.c:write_retry Line | Count | Source | 206 | 11.3k | { | 207 | 11.3k | ssize_t recvd = 0; | 208 | | | 209 | 11.3k | do | 210 | 11.3k | { | 211 | 11.3k | ssize_t ret = TEMP_FAILURE_RETRY (write (fd, ((char *)buf) + recvd, len - recvd)); | 212 | 11.3k | if (ret <= 0) | 213 | 0 | return ret < 0 ? ret : recvd; | 214 | | | 215 | 11.3k | recvd += ret; | 216 | 11.3k | } | 217 | 11.3k | while ((size_t) recvd < len); | 218 | | | 219 | 11.3k | return recvd; | 220 | 11.3k | } |
Unexecuted instantiation: dwfl_begin.c:write_retry Unexecuted instantiation: dwfl_end.c:write_retry Unexecuted instantiation: dwfl_error.c:write_retry Unexecuted instantiation: dwfl_module.c:write_retry Unexecuted instantiation: offline.c:write_retry Unexecuted instantiation: dwfl_module_getdwarf.c:write_retry Unexecuted instantiation: find-debuginfo.c:write_retry Unexecuted instantiation: dwfl_build_id_find_debuginfo.c:write_retry Unexecuted instantiation: libdwfl_crc32_file.c:write_retry Unexecuted instantiation: open.c:write_retry Unexecuted instantiation: image-header.c:write_retry Unexecuted instantiation: dwfl_frame.c:write_retry Unexecuted instantiation: frame_unwind.c:write_retry Unexecuted instantiation: dwfl_frame_pc.c:write_retry Unexecuted instantiation: dwfl_frame_regs.c:write_retry Unexecuted instantiation: gzip.c:write_retry Unexecuted instantiation: dwflst_process_tracker.c:write_retry Unexecuted instantiation: dwflst_tracker_find_elf.c:write_retry Unexecuted instantiation: dwflst_tracker_elftab.c:write_retry Unexecuted instantiation: dwflst_tracker_dwfltab.c:write_retry Unexecuted instantiation: dwelf_elf_gnu_debuglink.c:write_retry Unexecuted instantiation: dwelf_dwarf_gnu_debugaltlink.c:write_retry Unexecuted instantiation: dwelf_elf_gnu_build_id.c:write_retry Unexecuted instantiation: eblopenbackend.c:write_retry Unexecuted instantiation: i386_initreg_sample.c:write_retry Unexecuted instantiation: x86_64_initreg_sample.c:write_retry Unexecuted instantiation: arm_symbol.c:write_retry Unexecuted instantiation: aarch64_symbol.c:write_retry Unexecuted instantiation: aarch64_initreg.c:write_retry Unexecuted instantiation: sparc_initreg.c:write_retry Unexecuted instantiation: ppc_initreg.c:write_retry Unexecuted instantiation: s390_initreg.c:write_retry Unexecuted instantiation: riscv_init.c:write_retry Unexecuted instantiation: riscv_initreg.c:write_retry Unexecuted instantiation: csky_initreg.c:write_retry Unexecuted instantiation: loongarch_initreg.c:write_retry Unexecuted instantiation: mips_init.c:write_retry Unexecuted instantiation: mips_symbol.c:write_retry Unexecuted instantiation: mips_regs.c:write_retry Unexecuted instantiation: mips_retval.c:write_retry Unexecuted instantiation: i386_disasm.c:write_retry Unexecuted instantiation: x86_64_disasm.c:write_retry Unexecuted instantiation: bpf_disasm.c:write_retry Unexecuted instantiation: riscv_disasm.c:write_retry Unexecuted instantiation: dwarf_begin_elf.c:write_retry Unexecuted instantiation: dwarf_end.c:write_retry Unexecuted instantiation: dwarf_tag.c:write_retry Unexecuted instantiation: dwarf_error.c:write_retry Unexecuted instantiation: dwarf_attr.c:write_retry Unexecuted instantiation: dwarf_abbrev_hash.c:write_retry Unexecuted instantiation: dwarf_sig8_hash.c:write_retry Unexecuted instantiation: dwarf_attr_integrate.c:write_retry Unexecuted instantiation: dwarf_hasattr_integrate.c:write_retry Unexecuted instantiation: dwarf_child.c:write_retry Unexecuted instantiation: dwarf_formudata.c:write_retry Unexecuted instantiation: dwarf_formref_die.c:write_retry Unexecuted instantiation: dwarf_siblingof.c:write_retry Unexecuted instantiation: dwarf_diecu.c:write_retry Unexecuted instantiation: dwarf_hasattr.c:write_retry Unexecuted instantiation: dwarf_bytesize.c:write_retry Unexecuted instantiation: dwarf_bitsize.c:write_retry Unexecuted instantiation: dwarf_formflag.c:write_retry Unexecuted instantiation: libdw_findcu.c:write_retry Unexecuted instantiation: libdw_form.c:write_retry Unexecuted instantiation: libdw_alloc.c:write_retry Unexecuted instantiation: frame-cache.c:write_retry Unexecuted instantiation: dwarf_frame_cfa.c:write_retry Unexecuted instantiation: dwarf_frame_register.c:write_retry Unexecuted instantiation: dwarf_cfi_addrframe.c:write_retry Unexecuted instantiation: dwarf_cfi_end.c:write_retry Unexecuted instantiation: dwarf_aggregate_size.c:write_retry Unexecuted instantiation: dwarf_getalt.c:write_retry Unexecuted instantiation: dwarf_setalt.c:write_retry Unexecuted instantiation: dwarf_peel_type.c:write_retry Unexecuted instantiation: dwarf_default_lower_bound.c:write_retry Unexecuted instantiation: libdw_find_split_unit.c:write_retry Unexecuted instantiation: dwarf_cu_dwp_section_info.c:write_retry Unexecuted instantiation: dwfl_report_elf.c:write_retry Unexecuted instantiation: relocate.c:write_retry Unexecuted instantiation: dwfl_module_build_id.c:write_retry Unexecuted instantiation: dwfl_build_id_find_elf.c:write_retry Unexecuted instantiation: linux-proc-maps.c:write_retry Unexecuted instantiation: dwfl_addrmodule.c:write_retry Unexecuted instantiation: libdwfl_crc32.c:write_retry Unexecuted instantiation: elf-from-memory.c:write_retry Unexecuted instantiation: dwfl_module_dwarf_cfi.c:write_retry Unexecuted instantiation: dwfl_module_eh_cfi.c:write_retry Unexecuted instantiation: linux-pid-attach.c:write_retry Unexecuted instantiation: dwarf_begin.c:write_retry Unexecuted instantiation: dwarf_getabbrev.c:write_retry Unexecuted instantiation: dwarf_nextcu.c:write_retry Unexecuted instantiation: dwarf_offdie.c:write_retry Unexecuted instantiation: dwarf_formstring.c:write_retry Unexecuted instantiation: dwarf_haschildren.c:write_retry Unexecuted instantiation: dwarf_formsdata.c:write_retry Unexecuted instantiation: dwarf_formref.c:write_retry Unexecuted instantiation: dwarf_srclang.c:write_retry Unexecuted instantiation: dwarf_getlocation.c:write_retry Unexecuted instantiation: fde.c:write_retry Unexecuted instantiation: cfi.c:write_retry Unexecuted instantiation: dwarf_getcfi.c:write_retry Unexecuted instantiation: dwarf_getcfi_elf.c:write_retry Unexecuted instantiation: dwarf_get_units.c:write_retry Unexecuted instantiation: segment.c:write_retry Unexecuted instantiation: dwarf_formaddr.c:write_retry Unexecuted instantiation: dwarf_lowpc.c:write_retry Unexecuted instantiation: dwarf_ranges.c:write_retry Unexecuted instantiation: dwarf_formblock.c:write_retry Unexecuted instantiation: dwarf_next_cfi.c:write_retry Unexecuted instantiation: cie.c:write_retry Unexecuted instantiation: dwarf_highpc.c:write_retry Unexecuted instantiation: elf_version.c:write_retry Unexecuted instantiation: elf_hash.c:write_retry Unexecuted instantiation: elf_error.c:write_retry Unexecuted instantiation: elf_begin.c:write_retry Unexecuted instantiation: elf_next.c:write_retry Unexecuted instantiation: elf_end.c:write_retry Unexecuted instantiation: elf_kind.c:write_retry Unexecuted instantiation: gelf_getclass.c:write_retry Unexecuted instantiation: elf_getident.c:write_retry Unexecuted instantiation: gelf_fsize.c:write_retry Unexecuted instantiation: elf32_xlatetof.c:write_retry Unexecuted instantiation: elf32_xlatetom.c:write_retry Unexecuted instantiation: elf64_xlatetof.c:write_retry Unexecuted instantiation: elf64_xlatetom.c:write_retry Unexecuted instantiation: gelf_xlate.c:write_retry Unexecuted instantiation: gelf_getehdr.c:write_retry Unexecuted instantiation: gelf_getphdr.c:write_retry Unexecuted instantiation: elf_getarhdr.c:write_retry Unexecuted instantiation: elf_rawfile.c:write_retry Unexecuted instantiation: elf_readall.c:write_retry Unexecuted instantiation: elf_cntl.c:write_retry Unexecuted instantiation: elf_getscn.c:write_retry Unexecuted instantiation: elf_nextscn.c:write_retry Unexecuted instantiation: elf_ndxscn.c:write_retry Unexecuted instantiation: gelf_getshdr.c:write_retry Unexecuted instantiation: gelf_update_shdr.c:write_retry Unexecuted instantiation: elf_strptr.c:write_retry Unexecuted instantiation: elf_rawdata.c:write_retry Unexecuted instantiation: elf_getdata.c:write_retry Unexecuted instantiation: elf_getdata_rawchunk.c:write_retry Unexecuted instantiation: elf_memory.c:write_retry Unexecuted instantiation: gelf_getrel.c:write_retry Unexecuted instantiation: gelf_getrela.c:write_retry Unexecuted instantiation: gelf_update_rel.c:write_retry Unexecuted instantiation: gelf_update_rela.c:write_retry Unexecuted instantiation: gelf_getdyn.c:write_retry Unexecuted instantiation: gelf_getnote.c:write_retry Unexecuted instantiation: gelf_xlatetof.c:write_retry Unexecuted instantiation: gelf_xlatetom.c:write_retry Unexecuted instantiation: gelf_getsymshndx.c:write_retry Unexecuted instantiation: elf_getphdrnum.c:write_retry Unexecuted instantiation: elf_getshdrnum.c:write_retry Unexecuted instantiation: elf_getshdrstrndx.c:write_retry Unexecuted instantiation: gelf_offscn.c:write_retry Unexecuted instantiation: elf_compress.c:write_retry Unexecuted instantiation: elf_compress_gnu.c:write_retry Unexecuted instantiation: elf32_getphdr.c:write_retry Unexecuted instantiation: elf64_getphdr.c:write_retry Unexecuted instantiation: elf32_getshdr.c:write_retry Unexecuted instantiation: elf64_getshdr.c:write_retry Unexecuted instantiation: elf32_offscn.c:write_retry Unexecuted instantiation: elf64_offscn.c:write_retry Unexecuted instantiation: gelf_getchdr.c:write_retry Unexecuted instantiation: elf32_getchdr.c:write_retry Unexecuted instantiation: elf64_getchdr.c:write_retry Unexecuted instantiation: core-file.c:write_retry Unexecuted instantiation: linux-core-attach.c:write_retry Unexecuted instantiation: dwfl_segment_report_module.c:write_retry Unexecuted instantiation: link_map.c:write_retry Unexecuted instantiation: dwfl_module_report_build_id.c:write_retry Unexecuted instantiation: derelocate.c:write_retry Unexecuted instantiation: elf_clone.c:write_retry fuzz-libelf.c:write_retry Line | Count | Source | 206 | 6.81k | { | 207 | 6.81k | ssize_t recvd = 0; | 208 | | | 209 | 6.81k | do | 210 | 6.81k | { | 211 | 6.81k | ssize_t ret = TEMP_FAILURE_RETRY (write (fd, ((char *)buf) + recvd, len - recvd)); | 212 | 6.81k | if (ret <= 0) | 213 | 0 | return ret < 0 ? ret : recvd; | 214 | | | 215 | 6.81k | recvd += ret; | 216 | 6.81k | } | 217 | 6.81k | while ((size_t) recvd < len); | 218 | | | 219 | 6.81k | return recvd; | 220 | 6.81k | } |
|
221 | | |
222 | | static inline ssize_t __attribute__ ((unused)) |
223 | | pread_retry (int fd, void *buf, size_t len, off_t off) |
224 | 149k | { |
225 | 149k | ssize_t recvd = 0; |
226 | | |
227 | 149k | do |
228 | 149k | { |
229 | 149k | ssize_t ret = TEMP_FAILURE_RETRY (pread (fd, ((char *)buf) + recvd, len - recvd, |
230 | 149k | off + recvd)); |
231 | 149k | if (ret <= 0) |
232 | 14.0k | return ret < 0 ? ret : recvd; |
233 | | |
234 | 135k | recvd += ret; |
235 | 135k | } |
236 | 149k | while ((size_t) recvd < len); |
237 | | |
238 | 135k | return recvd; |
239 | 149k | } Unexecuted instantiation: fuzz-libdwfl.c:pread_retry Unexecuted instantiation: dwfl_begin.c:pread_retry Unexecuted instantiation: dwfl_end.c:pread_retry Unexecuted instantiation: dwfl_error.c:pread_retry Unexecuted instantiation: dwfl_module.c:pread_retry Unexecuted instantiation: offline.c:pread_retry Unexecuted instantiation: dwfl_module_getdwarf.c:pread_retry Unexecuted instantiation: find-debuginfo.c:pread_retry Unexecuted instantiation: dwfl_build_id_find_debuginfo.c:pread_retry Unexecuted instantiation: libdwfl_crc32_file.c:pread_retry Unexecuted instantiation: open.c:pread_retry Unexecuted instantiation: image-header.c:pread_retry Unexecuted instantiation: dwfl_frame.c:pread_retry Unexecuted instantiation: frame_unwind.c:pread_retry Unexecuted instantiation: dwfl_frame_pc.c:pread_retry Unexecuted instantiation: dwfl_frame_regs.c:pread_retry Unexecuted instantiation: gzip.c:pread_retry Unexecuted instantiation: dwflst_process_tracker.c:pread_retry Unexecuted instantiation: dwflst_tracker_find_elf.c:pread_retry Unexecuted instantiation: dwflst_tracker_elftab.c:pread_retry Unexecuted instantiation: dwflst_tracker_dwfltab.c:pread_retry Unexecuted instantiation: dwelf_elf_gnu_debuglink.c:pread_retry Unexecuted instantiation: dwelf_dwarf_gnu_debugaltlink.c:pread_retry Unexecuted instantiation: dwelf_elf_gnu_build_id.c:pread_retry Unexecuted instantiation: eblopenbackend.c:pread_retry Unexecuted instantiation: i386_initreg_sample.c:pread_retry Unexecuted instantiation: x86_64_initreg_sample.c:pread_retry Unexecuted instantiation: arm_symbol.c:pread_retry Unexecuted instantiation: aarch64_symbol.c:pread_retry Unexecuted instantiation: aarch64_initreg.c:pread_retry Unexecuted instantiation: sparc_initreg.c:pread_retry Unexecuted instantiation: ppc_initreg.c:pread_retry Unexecuted instantiation: s390_initreg.c:pread_retry Unexecuted instantiation: riscv_init.c:pread_retry Unexecuted instantiation: riscv_initreg.c:pread_retry Unexecuted instantiation: csky_initreg.c:pread_retry Unexecuted instantiation: loongarch_initreg.c:pread_retry Unexecuted instantiation: mips_init.c:pread_retry Unexecuted instantiation: mips_symbol.c:pread_retry Unexecuted instantiation: mips_regs.c:pread_retry Unexecuted instantiation: mips_retval.c:pread_retry Unexecuted instantiation: i386_disasm.c:pread_retry Unexecuted instantiation: x86_64_disasm.c:pread_retry Unexecuted instantiation: bpf_disasm.c:pread_retry Unexecuted instantiation: riscv_disasm.c:pread_retry Unexecuted instantiation: dwarf_begin_elf.c:pread_retry Unexecuted instantiation: dwarf_end.c:pread_retry Unexecuted instantiation: dwarf_tag.c:pread_retry Unexecuted instantiation: dwarf_error.c:pread_retry Unexecuted instantiation: dwarf_attr.c:pread_retry Unexecuted instantiation: dwarf_abbrev_hash.c:pread_retry Unexecuted instantiation: dwarf_sig8_hash.c:pread_retry Unexecuted instantiation: dwarf_attr_integrate.c:pread_retry Unexecuted instantiation: dwarf_hasattr_integrate.c:pread_retry Unexecuted instantiation: dwarf_child.c:pread_retry Unexecuted instantiation: dwarf_formudata.c:pread_retry Unexecuted instantiation: dwarf_formref_die.c:pread_retry Unexecuted instantiation: dwarf_siblingof.c:pread_retry Unexecuted instantiation: dwarf_diecu.c:pread_retry Unexecuted instantiation: dwarf_hasattr.c:pread_retry Unexecuted instantiation: dwarf_bytesize.c:pread_retry Unexecuted instantiation: dwarf_bitsize.c:pread_retry Unexecuted instantiation: dwarf_formflag.c:pread_retry Unexecuted instantiation: libdw_findcu.c:pread_retry Unexecuted instantiation: libdw_form.c:pread_retry Unexecuted instantiation: libdw_alloc.c:pread_retry Unexecuted instantiation: frame-cache.c:pread_retry Unexecuted instantiation: dwarf_frame_cfa.c:pread_retry Unexecuted instantiation: dwarf_frame_register.c:pread_retry Unexecuted instantiation: dwarf_cfi_addrframe.c:pread_retry Unexecuted instantiation: dwarf_cfi_end.c:pread_retry Unexecuted instantiation: dwarf_aggregate_size.c:pread_retry Unexecuted instantiation: dwarf_getalt.c:pread_retry Unexecuted instantiation: dwarf_setalt.c:pread_retry Unexecuted instantiation: dwarf_peel_type.c:pread_retry Unexecuted instantiation: dwarf_default_lower_bound.c:pread_retry Unexecuted instantiation: libdw_find_split_unit.c:pread_retry Unexecuted instantiation: dwarf_cu_dwp_section_info.c:pread_retry Unexecuted instantiation: dwfl_report_elf.c:pread_retry Unexecuted instantiation: relocate.c:pread_retry Unexecuted instantiation: dwfl_module_build_id.c:pread_retry Unexecuted instantiation: dwfl_build_id_find_elf.c:pread_retry Unexecuted instantiation: linux-proc-maps.c:pread_retry Unexecuted instantiation: dwfl_addrmodule.c:pread_retry Unexecuted instantiation: libdwfl_crc32.c:pread_retry Unexecuted instantiation: elf-from-memory.c:pread_retry Unexecuted instantiation: dwfl_module_dwarf_cfi.c:pread_retry Unexecuted instantiation: dwfl_module_eh_cfi.c:pread_retry Unexecuted instantiation: linux-pid-attach.c:pread_retry Unexecuted instantiation: dwarf_begin.c:pread_retry Unexecuted instantiation: dwarf_getabbrev.c:pread_retry Unexecuted instantiation: dwarf_nextcu.c:pread_retry Unexecuted instantiation: dwarf_offdie.c:pread_retry Unexecuted instantiation: dwarf_formstring.c:pread_retry Unexecuted instantiation: dwarf_haschildren.c:pread_retry Unexecuted instantiation: dwarf_formsdata.c:pread_retry Unexecuted instantiation: dwarf_formref.c:pread_retry Unexecuted instantiation: dwarf_srclang.c:pread_retry Unexecuted instantiation: dwarf_getlocation.c:pread_retry Unexecuted instantiation: fde.c:pread_retry Unexecuted instantiation: cfi.c:pread_retry Unexecuted instantiation: dwarf_getcfi.c:pread_retry Unexecuted instantiation: dwarf_getcfi_elf.c:pread_retry Unexecuted instantiation: dwarf_get_units.c:pread_retry Unexecuted instantiation: segment.c:pread_retry Unexecuted instantiation: dwarf_formaddr.c:pread_retry Unexecuted instantiation: dwarf_lowpc.c:pread_retry Unexecuted instantiation: dwarf_ranges.c:pread_retry Unexecuted instantiation: dwarf_formblock.c:pread_retry Unexecuted instantiation: dwarf_next_cfi.c:pread_retry Unexecuted instantiation: cie.c:pread_retry Unexecuted instantiation: dwarf_highpc.c:pread_retry Unexecuted instantiation: elf_version.c:pread_retry Unexecuted instantiation: elf_hash.c:pread_retry Unexecuted instantiation: elf_error.c:pread_retry Line | Count | Source | 224 | 35.4k | { | 225 | 35.4k | ssize_t recvd = 0; | 226 | | | 227 | 35.4k | do | 228 | 35.4k | { | 229 | 35.4k | ssize_t ret = TEMP_FAILURE_RETRY (pread (fd, ((char *)buf) + recvd, len - recvd, | 230 | 35.4k | off + recvd)); | 231 | 35.4k | if (ret <= 0) | 232 | 14.0k | return ret < 0 ? ret : recvd; | 233 | | | 234 | 21.3k | recvd += ret; | 235 | 21.3k | } | 236 | 35.4k | while ((size_t) recvd < len); | 237 | | | 238 | 21.3k | return recvd; | 239 | 35.4k | } |
Unexecuted instantiation: elf_next.c:pread_retry Unexecuted instantiation: elf_end.c:pread_retry Unexecuted instantiation: elf_kind.c:pread_retry Unexecuted instantiation: gelf_getclass.c:pread_retry Unexecuted instantiation: elf_getident.c:pread_retry Unexecuted instantiation: gelf_fsize.c:pread_retry Unexecuted instantiation: elf32_xlatetof.c:pread_retry Unexecuted instantiation: elf32_xlatetom.c:pread_retry Unexecuted instantiation: elf64_xlatetof.c:pread_retry Unexecuted instantiation: elf64_xlatetom.c:pread_retry Unexecuted instantiation: gelf_xlate.c:pread_retry Unexecuted instantiation: gelf_getehdr.c:pread_retry Unexecuted instantiation: gelf_getphdr.c:pread_retry Unexecuted instantiation: elf_getarhdr.c:pread_retry Unexecuted instantiation: elf_rawfile.c:pread_retry elf_readall.c:pread_retry Line | Count | Source | 224 | 6.73k | { | 225 | 6.73k | ssize_t recvd = 0; | 226 | | | 227 | 6.73k | do | 228 | 6.73k | { | 229 | 6.73k | ssize_t ret = TEMP_FAILURE_RETRY (pread (fd, ((char *)buf) + recvd, len - recvd, | 230 | 6.73k | off + recvd)); | 231 | 6.73k | if (ret <= 0) | 232 | 0 | return ret < 0 ? ret : recvd; | 233 | | | 234 | 6.73k | recvd += ret; | 235 | 6.73k | } | 236 | 6.73k | while ((size_t) recvd < len); | 237 | | | 238 | 6.73k | return recvd; | 239 | 6.73k | } |
Unexecuted instantiation: elf_cntl.c:pread_retry Unexecuted instantiation: elf_getscn.c:pread_retry Unexecuted instantiation: elf_nextscn.c:pread_retry Unexecuted instantiation: elf_ndxscn.c:pread_retry Unexecuted instantiation: gelf_getshdr.c:pread_retry Unexecuted instantiation: gelf_update_shdr.c:pread_retry Unexecuted instantiation: elf_strptr.c:pread_retry Unexecuted instantiation: elf_rawdata.c:pread_retry elf_getdata.c:pread_retry Line | Count | Source | 224 | 95.0k | { | 225 | 95.0k | ssize_t recvd = 0; | 226 | | | 227 | 95.0k | do | 228 | 95.0k | { | 229 | 95.0k | ssize_t ret = TEMP_FAILURE_RETRY (pread (fd, ((char *)buf) + recvd, len - recvd, | 230 | 95.0k | off + recvd)); | 231 | 95.0k | if (ret <= 0) | 232 | 0 | return ret < 0 ? ret : recvd; | 233 | | | 234 | 95.0k | recvd += ret; | 235 | 95.0k | } | 236 | 95.0k | while ((size_t) recvd < len); | 237 | | | 238 | 95.0k | return recvd; | 239 | 95.0k | } |
Unexecuted instantiation: elf_getdata_rawchunk.c:pread_retry Unexecuted instantiation: elf_memory.c:pread_retry Unexecuted instantiation: gelf_getrel.c:pread_retry Unexecuted instantiation: gelf_getrela.c:pread_retry Unexecuted instantiation: gelf_update_rel.c:pread_retry Unexecuted instantiation: gelf_update_rela.c:pread_retry Unexecuted instantiation: gelf_getdyn.c:pread_retry Unexecuted instantiation: gelf_getnote.c:pread_retry Unexecuted instantiation: gelf_xlatetof.c:pread_retry Unexecuted instantiation: gelf_xlatetom.c:pread_retry Unexecuted instantiation: gelf_getsymshndx.c:pread_retry Unexecuted instantiation: elf_getphdrnum.c:pread_retry Unexecuted instantiation: elf_getshdrnum.c:pread_retry elf_getshdrstrndx.c:pread_retry Line | Count | Source | 224 | 351 | { | 225 | 351 | ssize_t recvd = 0; | 226 | | | 227 | 351 | do | 228 | 351 | { | 229 | 351 | ssize_t ret = TEMP_FAILURE_RETRY (pread (fd, ((char *)buf) + recvd, len - recvd, | 230 | 351 | off + recvd)); | 231 | 351 | if (ret <= 0) | 232 | 3 | return ret < 0 ? ret : recvd; | 233 | | | 234 | 348 | recvd += ret; | 235 | 348 | } | 236 | 351 | while ((size_t) recvd < len); | 237 | | | 238 | 348 | return recvd; | 239 | 351 | } |
Unexecuted instantiation: gelf_offscn.c:pread_retry Unexecuted instantiation: elf_compress.c:pread_retry Unexecuted instantiation: elf_compress_gnu.c:pread_retry Unexecuted instantiation: elf32_getphdr.c:pread_retry Unexecuted instantiation: elf64_getphdr.c:pread_retry elf32_getshdr.c:pread_retry Line | Count | Source | 224 | 9.58k | { | 225 | 9.58k | ssize_t recvd = 0; | 226 | | | 227 | 9.58k | do | 228 | 9.58k | { | 229 | 9.58k | ssize_t ret = TEMP_FAILURE_RETRY (pread (fd, ((char *)buf) + recvd, len - recvd, | 230 | 9.58k | off + recvd)); | 231 | 9.58k | if (ret <= 0) | 232 | 0 | return ret < 0 ? ret : recvd; | 233 | | | 234 | 9.58k | recvd += ret; | 235 | 9.58k | } | 236 | 9.58k | while ((size_t) recvd < len); | 237 | | | 238 | 9.58k | return recvd; | 239 | 9.58k | } |
elf64_getshdr.c:pread_retry Line | Count | Source | 224 | 2.48k | { | 225 | 2.48k | ssize_t recvd = 0; | 226 | | | 227 | 2.48k | do | 228 | 2.48k | { | 229 | 2.48k | ssize_t ret = TEMP_FAILURE_RETRY (pread (fd, ((char *)buf) + recvd, len - recvd, | 230 | 2.48k | off + recvd)); | 231 | 2.48k | if (ret <= 0) | 232 | 0 | return ret < 0 ? ret : recvd; | 233 | | | 234 | 2.48k | recvd += ret; | 235 | 2.48k | } | 236 | 2.48k | while ((size_t) recvd < len); | 237 | | | 238 | 2.48k | return recvd; | 239 | 2.48k | } |
Unexecuted instantiation: elf32_offscn.c:pread_retry Unexecuted instantiation: elf64_offscn.c:pread_retry Unexecuted instantiation: gelf_getchdr.c:pread_retry Unexecuted instantiation: elf32_getchdr.c:pread_retry Unexecuted instantiation: elf64_getchdr.c:pread_retry Unexecuted instantiation: core-file.c:pread_retry Unexecuted instantiation: linux-core-attach.c:pread_retry Unexecuted instantiation: dwfl_segment_report_module.c:pread_retry Unexecuted instantiation: link_map.c:pread_retry Unexecuted instantiation: dwfl_module_report_build_id.c:pread_retry Unexecuted instantiation: derelocate.c:pread_retry Unexecuted instantiation: elf_clone.c:pread_retry Unexecuted instantiation: fuzz-libelf.c:pread_retry |
240 | | |
241 | | static inline ssize_t __attribute__ ((unused)) |
242 | | read_retry (int fd, void *buf, size_t len) |
243 | 0 | { |
244 | 0 | ssize_t recvd = 0; |
245 | 0 |
|
246 | 0 | do |
247 | 0 | { |
248 | 0 | ssize_t ret = TEMP_FAILURE_RETRY (read (fd, ((char *)buf) + recvd, |
249 | 0 | len - recvd)); |
250 | 0 | if (ret <= 0) |
251 | 0 | return ret < 0 ? ret : recvd; |
252 | 0 |
|
253 | 0 | recvd += ret; |
254 | 0 | } |
255 | 0 | while ((size_t) recvd < len); |
256 | 0 |
|
257 | 0 | return recvd; |
258 | 0 | } Unexecuted instantiation: fuzz-libdwfl.c:read_retry Unexecuted instantiation: dwfl_begin.c:read_retry Unexecuted instantiation: dwfl_end.c:read_retry Unexecuted instantiation: dwfl_error.c:read_retry Unexecuted instantiation: dwfl_module.c:read_retry Unexecuted instantiation: offline.c:read_retry Unexecuted instantiation: dwfl_module_getdwarf.c:read_retry Unexecuted instantiation: find-debuginfo.c:read_retry Unexecuted instantiation: dwfl_build_id_find_debuginfo.c:read_retry Unexecuted instantiation: libdwfl_crc32_file.c:read_retry Unexecuted instantiation: open.c:read_retry Unexecuted instantiation: image-header.c:read_retry Unexecuted instantiation: dwfl_frame.c:read_retry Unexecuted instantiation: frame_unwind.c:read_retry Unexecuted instantiation: dwfl_frame_pc.c:read_retry Unexecuted instantiation: dwfl_frame_regs.c:read_retry Unexecuted instantiation: gzip.c:read_retry Unexecuted instantiation: dwflst_process_tracker.c:read_retry Unexecuted instantiation: dwflst_tracker_find_elf.c:read_retry Unexecuted instantiation: dwflst_tracker_elftab.c:read_retry Unexecuted instantiation: dwflst_tracker_dwfltab.c:read_retry Unexecuted instantiation: dwelf_elf_gnu_debuglink.c:read_retry Unexecuted instantiation: dwelf_dwarf_gnu_debugaltlink.c:read_retry Unexecuted instantiation: dwelf_elf_gnu_build_id.c:read_retry Unexecuted instantiation: eblopenbackend.c:read_retry Unexecuted instantiation: i386_initreg_sample.c:read_retry Unexecuted instantiation: x86_64_initreg_sample.c:read_retry Unexecuted instantiation: arm_symbol.c:read_retry Unexecuted instantiation: aarch64_symbol.c:read_retry Unexecuted instantiation: aarch64_initreg.c:read_retry Unexecuted instantiation: sparc_initreg.c:read_retry Unexecuted instantiation: ppc_initreg.c:read_retry Unexecuted instantiation: s390_initreg.c:read_retry Unexecuted instantiation: riscv_init.c:read_retry Unexecuted instantiation: riscv_initreg.c:read_retry Unexecuted instantiation: csky_initreg.c:read_retry Unexecuted instantiation: loongarch_initreg.c:read_retry Unexecuted instantiation: mips_init.c:read_retry Unexecuted instantiation: mips_symbol.c:read_retry Unexecuted instantiation: mips_regs.c:read_retry Unexecuted instantiation: mips_retval.c:read_retry Unexecuted instantiation: i386_disasm.c:read_retry Unexecuted instantiation: x86_64_disasm.c:read_retry Unexecuted instantiation: bpf_disasm.c:read_retry Unexecuted instantiation: riscv_disasm.c:read_retry Unexecuted instantiation: dwarf_begin_elf.c:read_retry Unexecuted instantiation: dwarf_end.c:read_retry Unexecuted instantiation: dwarf_tag.c:read_retry Unexecuted instantiation: dwarf_error.c:read_retry Unexecuted instantiation: dwarf_attr.c:read_retry Unexecuted instantiation: dwarf_abbrev_hash.c:read_retry Unexecuted instantiation: dwarf_sig8_hash.c:read_retry Unexecuted instantiation: dwarf_attr_integrate.c:read_retry Unexecuted instantiation: dwarf_hasattr_integrate.c:read_retry Unexecuted instantiation: dwarf_child.c:read_retry Unexecuted instantiation: dwarf_formudata.c:read_retry Unexecuted instantiation: dwarf_formref_die.c:read_retry Unexecuted instantiation: dwarf_siblingof.c:read_retry Unexecuted instantiation: dwarf_diecu.c:read_retry Unexecuted instantiation: dwarf_hasattr.c:read_retry Unexecuted instantiation: dwarf_bytesize.c:read_retry Unexecuted instantiation: dwarf_bitsize.c:read_retry Unexecuted instantiation: dwarf_formflag.c:read_retry Unexecuted instantiation: libdw_findcu.c:read_retry Unexecuted instantiation: libdw_form.c:read_retry Unexecuted instantiation: libdw_alloc.c:read_retry Unexecuted instantiation: frame-cache.c:read_retry Unexecuted instantiation: dwarf_frame_cfa.c:read_retry Unexecuted instantiation: dwarf_frame_register.c:read_retry Unexecuted instantiation: dwarf_cfi_addrframe.c:read_retry Unexecuted instantiation: dwarf_cfi_end.c:read_retry Unexecuted instantiation: dwarf_aggregate_size.c:read_retry Unexecuted instantiation: dwarf_getalt.c:read_retry Unexecuted instantiation: dwarf_setalt.c:read_retry Unexecuted instantiation: dwarf_peel_type.c:read_retry Unexecuted instantiation: dwarf_default_lower_bound.c:read_retry Unexecuted instantiation: libdw_find_split_unit.c:read_retry Unexecuted instantiation: dwarf_cu_dwp_section_info.c:read_retry Unexecuted instantiation: dwfl_report_elf.c:read_retry Unexecuted instantiation: relocate.c:read_retry Unexecuted instantiation: dwfl_module_build_id.c:read_retry Unexecuted instantiation: dwfl_build_id_find_elf.c:read_retry Unexecuted instantiation: linux-proc-maps.c:read_retry Unexecuted instantiation: dwfl_addrmodule.c:read_retry Unexecuted instantiation: libdwfl_crc32.c:read_retry Unexecuted instantiation: elf-from-memory.c:read_retry Unexecuted instantiation: dwfl_module_dwarf_cfi.c:read_retry Unexecuted instantiation: dwfl_module_eh_cfi.c:read_retry Unexecuted instantiation: linux-pid-attach.c:read_retry Unexecuted instantiation: dwarf_begin.c:read_retry Unexecuted instantiation: dwarf_getabbrev.c:read_retry Unexecuted instantiation: dwarf_nextcu.c:read_retry Unexecuted instantiation: dwarf_offdie.c:read_retry Unexecuted instantiation: dwarf_formstring.c:read_retry Unexecuted instantiation: dwarf_haschildren.c:read_retry Unexecuted instantiation: dwarf_formsdata.c:read_retry Unexecuted instantiation: dwarf_formref.c:read_retry Unexecuted instantiation: dwarf_srclang.c:read_retry Unexecuted instantiation: dwarf_getlocation.c:read_retry Unexecuted instantiation: fde.c:read_retry Unexecuted instantiation: cfi.c:read_retry Unexecuted instantiation: dwarf_getcfi.c:read_retry Unexecuted instantiation: dwarf_getcfi_elf.c:read_retry Unexecuted instantiation: dwarf_get_units.c:read_retry Unexecuted instantiation: segment.c:read_retry Unexecuted instantiation: dwarf_formaddr.c:read_retry Unexecuted instantiation: dwarf_lowpc.c:read_retry Unexecuted instantiation: dwarf_ranges.c:read_retry Unexecuted instantiation: dwarf_formblock.c:read_retry Unexecuted instantiation: dwarf_next_cfi.c:read_retry Unexecuted instantiation: cie.c:read_retry Unexecuted instantiation: dwarf_highpc.c:read_retry Unexecuted instantiation: elf_version.c:read_retry Unexecuted instantiation: elf_hash.c:read_retry Unexecuted instantiation: elf_error.c:read_retry Unexecuted instantiation: elf_begin.c:read_retry Unexecuted instantiation: elf_next.c:read_retry Unexecuted instantiation: elf_end.c:read_retry Unexecuted instantiation: elf_kind.c:read_retry Unexecuted instantiation: gelf_getclass.c:read_retry Unexecuted instantiation: elf_getident.c:read_retry Unexecuted instantiation: gelf_fsize.c:read_retry Unexecuted instantiation: elf32_xlatetof.c:read_retry Unexecuted instantiation: elf32_xlatetom.c:read_retry Unexecuted instantiation: elf64_xlatetof.c:read_retry Unexecuted instantiation: elf64_xlatetom.c:read_retry Unexecuted instantiation: gelf_xlate.c:read_retry Unexecuted instantiation: gelf_getehdr.c:read_retry Unexecuted instantiation: gelf_getphdr.c:read_retry Unexecuted instantiation: elf_getarhdr.c:read_retry Unexecuted instantiation: elf_rawfile.c:read_retry Unexecuted instantiation: elf_readall.c:read_retry Unexecuted instantiation: elf_cntl.c:read_retry Unexecuted instantiation: elf_getscn.c:read_retry Unexecuted instantiation: elf_nextscn.c:read_retry Unexecuted instantiation: elf_ndxscn.c:read_retry Unexecuted instantiation: gelf_getshdr.c:read_retry Unexecuted instantiation: gelf_update_shdr.c:read_retry Unexecuted instantiation: elf_strptr.c:read_retry Unexecuted instantiation: elf_rawdata.c:read_retry Unexecuted instantiation: elf_getdata.c:read_retry Unexecuted instantiation: elf_getdata_rawchunk.c:read_retry Unexecuted instantiation: elf_memory.c:read_retry Unexecuted instantiation: gelf_getrel.c:read_retry Unexecuted instantiation: gelf_getrela.c:read_retry Unexecuted instantiation: gelf_update_rel.c:read_retry Unexecuted instantiation: gelf_update_rela.c:read_retry Unexecuted instantiation: gelf_getdyn.c:read_retry Unexecuted instantiation: gelf_getnote.c:read_retry Unexecuted instantiation: gelf_xlatetof.c:read_retry Unexecuted instantiation: gelf_xlatetom.c:read_retry Unexecuted instantiation: gelf_getsymshndx.c:read_retry Unexecuted instantiation: elf_getphdrnum.c:read_retry Unexecuted instantiation: elf_getshdrnum.c:read_retry Unexecuted instantiation: elf_getshdrstrndx.c:read_retry Unexecuted instantiation: gelf_offscn.c:read_retry Unexecuted instantiation: elf_compress.c:read_retry Unexecuted instantiation: elf_compress_gnu.c:read_retry Unexecuted instantiation: elf32_getphdr.c:read_retry Unexecuted instantiation: elf64_getphdr.c:read_retry Unexecuted instantiation: elf32_getshdr.c:read_retry Unexecuted instantiation: elf64_getshdr.c:read_retry Unexecuted instantiation: elf32_offscn.c:read_retry Unexecuted instantiation: elf64_offscn.c:read_retry Unexecuted instantiation: gelf_getchdr.c:read_retry Unexecuted instantiation: elf32_getchdr.c:read_retry Unexecuted instantiation: elf64_getchdr.c:read_retry Unexecuted instantiation: core-file.c:read_retry Unexecuted instantiation: linux-core-attach.c:read_retry Unexecuted instantiation: dwfl_segment_report_module.c:read_retry Unexecuted instantiation: link_map.c:read_retry Unexecuted instantiation: dwfl_module_report_build_id.c:read_retry Unexecuted instantiation: derelocate.c:read_retry Unexecuted instantiation: elf_clone.c:read_retry Unexecuted instantiation: fuzz-libelf.c:read_retry |
259 | | |
260 | | /* The demangler from libstdc++. */ |
261 | | extern char *__cxa_demangle (const char *mangled_name, char *output_buffer, |
262 | | size_t *length, int *status); |
263 | | |
264 | | /* A static assertion. This will cause a compile-time error if EXPR, |
265 | | which must be a compile-time constant, is false. */ |
266 | | |
267 | | #define eu_static_assert(expr) \ |
268 | 129M | extern int never_defined_just_used_for_checking[(expr) ? 1 : -1] \ |
269 | 129M | __attribute__ ((unused)) |
270 | | |
271 | | /* We really want a basename implementation that doesn't modify the |
272 | | input argument. Normally you get that from string.h with _GNU_SOURCE |
273 | | define. But some libc implementations don't define it and other |
274 | | define it, but provide an implementation that still modifies the |
275 | | argument. So define our own and poison a bare basename symbol. */ |
276 | | static inline const char * |
277 | | xbasename(const char *s) |
278 | 6.33k | { |
279 | 6.33k | const char *p = strrchr(s, '/'); |
280 | 6.33k | return p ? p+1 : s; |
281 | 6.33k | } Unexecuted instantiation: fuzz-libdwfl.c:xbasename Unexecuted instantiation: dwfl_begin.c:xbasename Unexecuted instantiation: dwfl_end.c:xbasename Unexecuted instantiation: dwfl_error.c:xbasename Unexecuted instantiation: dwfl_module.c:xbasename Unexecuted instantiation: offline.c:xbasename Unexecuted instantiation: dwfl_module_getdwarf.c:xbasename find-debuginfo.c:xbasename Line | Count | Source | 278 | 4.18k | { | 279 | 4.18k | const char *p = strrchr(s, '/'); | 280 | 4.18k | return p ? p+1 : s; | 281 | 4.18k | } |
Unexecuted instantiation: dwfl_build_id_find_debuginfo.c:xbasename Unexecuted instantiation: libdwfl_crc32_file.c:xbasename Unexecuted instantiation: open.c:xbasename Unexecuted instantiation: image-header.c:xbasename Unexecuted instantiation: dwfl_frame.c:xbasename Unexecuted instantiation: frame_unwind.c:xbasename Unexecuted instantiation: dwfl_frame_pc.c:xbasename Unexecuted instantiation: dwfl_frame_regs.c:xbasename Unexecuted instantiation: gzip.c:xbasename Unexecuted instantiation: dwflst_process_tracker.c:xbasename Unexecuted instantiation: dwflst_tracker_find_elf.c:xbasename Unexecuted instantiation: dwflst_tracker_elftab.c:xbasename Unexecuted instantiation: dwflst_tracker_dwfltab.c:xbasename Unexecuted instantiation: dwelf_elf_gnu_debuglink.c:xbasename Unexecuted instantiation: dwelf_dwarf_gnu_debugaltlink.c:xbasename Unexecuted instantiation: dwelf_elf_gnu_build_id.c:xbasename Unexecuted instantiation: eblopenbackend.c:xbasename Unexecuted instantiation: i386_initreg_sample.c:xbasename Unexecuted instantiation: x86_64_initreg_sample.c:xbasename Unexecuted instantiation: arm_symbol.c:xbasename Unexecuted instantiation: aarch64_symbol.c:xbasename Unexecuted instantiation: aarch64_initreg.c:xbasename Unexecuted instantiation: sparc_initreg.c:xbasename Unexecuted instantiation: ppc_initreg.c:xbasename Unexecuted instantiation: s390_initreg.c:xbasename Unexecuted instantiation: riscv_init.c:xbasename Unexecuted instantiation: riscv_initreg.c:xbasename Unexecuted instantiation: csky_initreg.c:xbasename Unexecuted instantiation: loongarch_initreg.c:xbasename Unexecuted instantiation: mips_init.c:xbasename Unexecuted instantiation: mips_symbol.c:xbasename Unexecuted instantiation: mips_regs.c:xbasename Unexecuted instantiation: mips_retval.c:xbasename Unexecuted instantiation: i386_disasm.c:xbasename Unexecuted instantiation: x86_64_disasm.c:xbasename Unexecuted instantiation: bpf_disasm.c:xbasename Unexecuted instantiation: riscv_disasm.c:xbasename Unexecuted instantiation: dwarf_begin_elf.c:xbasename Unexecuted instantiation: dwarf_end.c:xbasename Unexecuted instantiation: dwarf_tag.c:xbasename Unexecuted instantiation: dwarf_error.c:xbasename Unexecuted instantiation: dwarf_attr.c:xbasename Unexecuted instantiation: dwarf_abbrev_hash.c:xbasename Unexecuted instantiation: dwarf_sig8_hash.c:xbasename Unexecuted instantiation: dwarf_attr_integrate.c:xbasename Unexecuted instantiation: dwarf_hasattr_integrate.c:xbasename Unexecuted instantiation: dwarf_child.c:xbasename Unexecuted instantiation: dwarf_formudata.c:xbasename Unexecuted instantiation: dwarf_formref_die.c:xbasename Unexecuted instantiation: dwarf_siblingof.c:xbasename Unexecuted instantiation: dwarf_diecu.c:xbasename Unexecuted instantiation: dwarf_hasattr.c:xbasename Unexecuted instantiation: dwarf_bytesize.c:xbasename Unexecuted instantiation: dwarf_bitsize.c:xbasename Unexecuted instantiation: dwarf_formflag.c:xbasename Unexecuted instantiation: libdw_findcu.c:xbasename Unexecuted instantiation: libdw_form.c:xbasename Unexecuted instantiation: libdw_alloc.c:xbasename Unexecuted instantiation: frame-cache.c:xbasename Unexecuted instantiation: dwarf_frame_cfa.c:xbasename Unexecuted instantiation: dwarf_frame_register.c:xbasename Unexecuted instantiation: dwarf_cfi_addrframe.c:xbasename Unexecuted instantiation: dwarf_cfi_end.c:xbasename Unexecuted instantiation: dwarf_aggregate_size.c:xbasename Unexecuted instantiation: dwarf_getalt.c:xbasename Unexecuted instantiation: dwarf_setalt.c:xbasename Unexecuted instantiation: dwarf_peel_type.c:xbasename Unexecuted instantiation: dwarf_default_lower_bound.c:xbasename Unexecuted instantiation: libdw_find_split_unit.c:xbasename Unexecuted instantiation: dwarf_cu_dwp_section_info.c:xbasename Unexecuted instantiation: dwfl_report_elf.c:xbasename Unexecuted instantiation: relocate.c:xbasename Unexecuted instantiation: dwfl_module_build_id.c:xbasename Unexecuted instantiation: dwfl_build_id_find_elf.c:xbasename Unexecuted instantiation: linux-proc-maps.c:xbasename Unexecuted instantiation: dwfl_addrmodule.c:xbasename Unexecuted instantiation: libdwfl_crc32.c:xbasename Unexecuted instantiation: elf-from-memory.c:xbasename Unexecuted instantiation: dwfl_module_dwarf_cfi.c:xbasename Unexecuted instantiation: dwfl_module_eh_cfi.c:xbasename Unexecuted instantiation: linux-pid-attach.c:xbasename Unexecuted instantiation: dwarf_begin.c:xbasename Unexecuted instantiation: dwarf_getabbrev.c:xbasename Unexecuted instantiation: dwarf_nextcu.c:xbasename Unexecuted instantiation: dwarf_offdie.c:xbasename Unexecuted instantiation: dwarf_formstring.c:xbasename Unexecuted instantiation: dwarf_haschildren.c:xbasename Unexecuted instantiation: dwarf_formsdata.c:xbasename Unexecuted instantiation: dwarf_formref.c:xbasename Unexecuted instantiation: dwarf_srclang.c:xbasename Unexecuted instantiation: dwarf_getlocation.c:xbasename Unexecuted instantiation: fde.c:xbasename Unexecuted instantiation: cfi.c:xbasename Unexecuted instantiation: dwarf_getcfi.c:xbasename Unexecuted instantiation: dwarf_getcfi_elf.c:xbasename Unexecuted instantiation: dwarf_get_units.c:xbasename Unexecuted instantiation: segment.c:xbasename Unexecuted instantiation: dwarf_formaddr.c:xbasename Unexecuted instantiation: dwarf_lowpc.c:xbasename Unexecuted instantiation: dwarf_ranges.c:xbasename Unexecuted instantiation: dwarf_formblock.c:xbasename Unexecuted instantiation: dwarf_next_cfi.c:xbasename Unexecuted instantiation: cie.c:xbasename Unexecuted instantiation: dwarf_highpc.c:xbasename Unexecuted instantiation: elf_version.c:xbasename Unexecuted instantiation: elf_hash.c:xbasename Unexecuted instantiation: elf_error.c:xbasename Unexecuted instantiation: elf_begin.c:xbasename Unexecuted instantiation: elf_next.c:xbasename Unexecuted instantiation: elf_end.c:xbasename Unexecuted instantiation: elf_kind.c:xbasename Unexecuted instantiation: gelf_getclass.c:xbasename Unexecuted instantiation: elf_getident.c:xbasename Unexecuted instantiation: gelf_fsize.c:xbasename Unexecuted instantiation: elf32_xlatetof.c:xbasename Unexecuted instantiation: elf32_xlatetom.c:xbasename Unexecuted instantiation: elf64_xlatetof.c:xbasename Unexecuted instantiation: elf64_xlatetom.c:xbasename Unexecuted instantiation: gelf_xlate.c:xbasename Unexecuted instantiation: gelf_getehdr.c:xbasename Unexecuted instantiation: gelf_getphdr.c:xbasename Unexecuted instantiation: elf_getarhdr.c:xbasename Unexecuted instantiation: elf_rawfile.c:xbasename Unexecuted instantiation: elf_readall.c:xbasename Unexecuted instantiation: elf_cntl.c:xbasename Unexecuted instantiation: elf_getscn.c:xbasename Unexecuted instantiation: elf_nextscn.c:xbasename Unexecuted instantiation: elf_ndxscn.c:xbasename Unexecuted instantiation: gelf_getshdr.c:xbasename Unexecuted instantiation: gelf_update_shdr.c:xbasename Unexecuted instantiation: elf_strptr.c:xbasename Unexecuted instantiation: elf_rawdata.c:xbasename Unexecuted instantiation: elf_getdata.c:xbasename Unexecuted instantiation: elf_getdata_rawchunk.c:xbasename Unexecuted instantiation: elf_memory.c:xbasename Unexecuted instantiation: gelf_getrel.c:xbasename Unexecuted instantiation: gelf_getrela.c:xbasename Unexecuted instantiation: gelf_update_rel.c:xbasename Unexecuted instantiation: gelf_update_rela.c:xbasename Unexecuted instantiation: gelf_getdyn.c:xbasename Unexecuted instantiation: gelf_getnote.c:xbasename Unexecuted instantiation: gelf_xlatetof.c:xbasename Unexecuted instantiation: gelf_xlatetom.c:xbasename Unexecuted instantiation: gelf_getsymshndx.c:xbasename Unexecuted instantiation: elf_getphdrnum.c:xbasename Unexecuted instantiation: elf_getshdrnum.c:xbasename Unexecuted instantiation: elf_getshdrstrndx.c:xbasename Unexecuted instantiation: gelf_offscn.c:xbasename Unexecuted instantiation: elf_compress.c:xbasename Unexecuted instantiation: elf_compress_gnu.c:xbasename Unexecuted instantiation: elf32_getphdr.c:xbasename Unexecuted instantiation: elf64_getphdr.c:xbasename Unexecuted instantiation: elf32_getshdr.c:xbasename Unexecuted instantiation: elf64_getshdr.c:xbasename Unexecuted instantiation: elf32_offscn.c:xbasename Unexecuted instantiation: elf64_offscn.c:xbasename Unexecuted instantiation: gelf_getchdr.c:xbasename Unexecuted instantiation: elf32_getchdr.c:xbasename Unexecuted instantiation: elf64_getchdr.c:xbasename Line | Count | Source | 278 | 1.32k | { | 279 | 1.32k | const char *p = strrchr(s, '/'); | 280 | 1.32k | return p ? p+1 : s; | 281 | 1.32k | } |
Unexecuted instantiation: linux-core-attach.c:xbasename dwfl_segment_report_module.c:xbasename Line | Count | Source | 278 | 835 | { | 279 | 835 | const char *p = strrchr(s, '/'); | 280 | 835 | return p ? p+1 : s; | 281 | 835 | } |
Unexecuted instantiation: link_map.c:xbasename Unexecuted instantiation: dwfl_module_report_build_id.c:xbasename Unexecuted instantiation: derelocate.c:xbasename Unexecuted instantiation: elf_clone.c:xbasename Unexecuted instantiation: fuzz-libelf.c:xbasename |
282 | | #pragma GCC poison basename |
283 | | |
284 | | /* Get a random uint64_t. Returns zero on success, minus one on failure. */ |
285 | | static inline int |
286 | | xrandom64 (uint64_t *r) |
287 | 0 | { |
288 | 0 | /* Prefer getentropy if it is available, fallback to getrandom, if |
289 | 0 | both are missing, or if they fail try reading from /dev/urandom. */ |
290 | 0 | #if HAVE_DECL_GETENTROPY |
291 | 0 | if (getentropy (r, sizeof (*r)) == 0) |
292 | 0 | return 0; |
293 | 0 | #elif HAVE_DECL_GETRANDOM |
294 | 0 | if (TEMP_FAILURE_RETRY (getrandom (r, sizeof (*r), 0)) == sizeof (*r)) |
295 | 0 | return 0; |
296 | 0 | #endif |
297 | 0 | int fd = open("/dev/urandom", O_RDONLY | O_CLOEXEC); |
298 | 0 | if (fd < 0) |
299 | 0 | return -1; |
300 | 0 | if (read_retry (fd, r, sizeof (uint64_t)) == sizeof (uint64_t)) |
301 | 0 | { |
302 | 0 | close (fd); |
303 | 0 | return 0; |
304 | 0 | } |
305 | 0 | int save_errno = errno; |
306 | 0 | close (fd); |
307 | 0 | errno = save_errno; |
308 | 0 | /* We could try some pseudo-random thing with getpid and |
309 | 0 | clock_gettime. But if even getting something from /dev/urandom |
310 | 0 | fails it seems we tried hard enough already. */ |
311 | 0 | return -1; |
312 | 0 | } Unexecuted instantiation: fuzz-libdwfl.c:xrandom64 Unexecuted instantiation: dwfl_begin.c:xrandom64 Unexecuted instantiation: dwfl_end.c:xrandom64 Unexecuted instantiation: dwfl_error.c:xrandom64 Unexecuted instantiation: dwfl_module.c:xrandom64 Unexecuted instantiation: offline.c:xrandom64 Unexecuted instantiation: dwfl_module_getdwarf.c:xrandom64 Unexecuted instantiation: find-debuginfo.c:xrandom64 Unexecuted instantiation: dwfl_build_id_find_debuginfo.c:xrandom64 Unexecuted instantiation: libdwfl_crc32_file.c:xrandom64 Unexecuted instantiation: open.c:xrandom64 Unexecuted instantiation: image-header.c:xrandom64 Unexecuted instantiation: dwfl_frame.c:xrandom64 Unexecuted instantiation: frame_unwind.c:xrandom64 Unexecuted instantiation: dwfl_frame_pc.c:xrandom64 Unexecuted instantiation: dwfl_frame_regs.c:xrandom64 Unexecuted instantiation: gzip.c:xrandom64 Unexecuted instantiation: dwflst_process_tracker.c:xrandom64 Unexecuted instantiation: dwflst_tracker_find_elf.c:xrandom64 Unexecuted instantiation: dwflst_tracker_elftab.c:xrandom64 Unexecuted instantiation: dwflst_tracker_dwfltab.c:xrandom64 Unexecuted instantiation: dwelf_elf_gnu_debuglink.c:xrandom64 Unexecuted instantiation: dwelf_dwarf_gnu_debugaltlink.c:xrandom64 Unexecuted instantiation: dwelf_elf_gnu_build_id.c:xrandom64 Unexecuted instantiation: eblopenbackend.c:xrandom64 Unexecuted instantiation: i386_initreg_sample.c:xrandom64 Unexecuted instantiation: x86_64_initreg_sample.c:xrandom64 Unexecuted instantiation: arm_symbol.c:xrandom64 Unexecuted instantiation: aarch64_symbol.c:xrandom64 Unexecuted instantiation: aarch64_initreg.c:xrandom64 Unexecuted instantiation: sparc_initreg.c:xrandom64 Unexecuted instantiation: ppc_initreg.c:xrandom64 Unexecuted instantiation: s390_initreg.c:xrandom64 Unexecuted instantiation: riscv_init.c:xrandom64 Unexecuted instantiation: riscv_initreg.c:xrandom64 Unexecuted instantiation: csky_initreg.c:xrandom64 Unexecuted instantiation: loongarch_initreg.c:xrandom64 Unexecuted instantiation: mips_init.c:xrandom64 Unexecuted instantiation: mips_symbol.c:xrandom64 Unexecuted instantiation: mips_regs.c:xrandom64 Unexecuted instantiation: mips_retval.c:xrandom64 Unexecuted instantiation: i386_disasm.c:xrandom64 Unexecuted instantiation: x86_64_disasm.c:xrandom64 Unexecuted instantiation: bpf_disasm.c:xrandom64 Unexecuted instantiation: riscv_disasm.c:xrandom64 Unexecuted instantiation: dwarf_begin_elf.c:xrandom64 Unexecuted instantiation: dwarf_end.c:xrandom64 Unexecuted instantiation: dwarf_tag.c:xrandom64 Unexecuted instantiation: dwarf_error.c:xrandom64 Unexecuted instantiation: dwarf_attr.c:xrandom64 Unexecuted instantiation: dwarf_abbrev_hash.c:xrandom64 Unexecuted instantiation: dwarf_sig8_hash.c:xrandom64 Unexecuted instantiation: dwarf_attr_integrate.c:xrandom64 Unexecuted instantiation: dwarf_hasattr_integrate.c:xrandom64 Unexecuted instantiation: dwarf_child.c:xrandom64 Unexecuted instantiation: dwarf_formudata.c:xrandom64 Unexecuted instantiation: dwarf_formref_die.c:xrandom64 Unexecuted instantiation: dwarf_siblingof.c:xrandom64 Unexecuted instantiation: dwarf_diecu.c:xrandom64 Unexecuted instantiation: dwarf_hasattr.c:xrandom64 Unexecuted instantiation: dwarf_bytesize.c:xrandom64 Unexecuted instantiation: dwarf_bitsize.c:xrandom64 Unexecuted instantiation: dwarf_formflag.c:xrandom64 Unexecuted instantiation: libdw_findcu.c:xrandom64 Unexecuted instantiation: libdw_form.c:xrandom64 Unexecuted instantiation: libdw_alloc.c:xrandom64 Unexecuted instantiation: frame-cache.c:xrandom64 Unexecuted instantiation: dwarf_frame_cfa.c:xrandom64 Unexecuted instantiation: dwarf_frame_register.c:xrandom64 Unexecuted instantiation: dwarf_cfi_addrframe.c:xrandom64 Unexecuted instantiation: dwarf_cfi_end.c:xrandom64 Unexecuted instantiation: dwarf_aggregate_size.c:xrandom64 Unexecuted instantiation: dwarf_getalt.c:xrandom64 Unexecuted instantiation: dwarf_setalt.c:xrandom64 Unexecuted instantiation: dwarf_peel_type.c:xrandom64 Unexecuted instantiation: dwarf_default_lower_bound.c:xrandom64 Unexecuted instantiation: libdw_find_split_unit.c:xrandom64 Unexecuted instantiation: dwarf_cu_dwp_section_info.c:xrandom64 Unexecuted instantiation: dwfl_report_elf.c:xrandom64 Unexecuted instantiation: relocate.c:xrandom64 Unexecuted instantiation: dwfl_module_build_id.c:xrandom64 Unexecuted instantiation: dwfl_build_id_find_elf.c:xrandom64 Unexecuted instantiation: linux-proc-maps.c:xrandom64 Unexecuted instantiation: dwfl_addrmodule.c:xrandom64 Unexecuted instantiation: libdwfl_crc32.c:xrandom64 Unexecuted instantiation: elf-from-memory.c:xrandom64 Unexecuted instantiation: dwfl_module_dwarf_cfi.c:xrandom64 Unexecuted instantiation: dwfl_module_eh_cfi.c:xrandom64 Unexecuted instantiation: linux-pid-attach.c:xrandom64 Unexecuted instantiation: dwarf_begin.c:xrandom64 Unexecuted instantiation: dwarf_getabbrev.c:xrandom64 Unexecuted instantiation: dwarf_nextcu.c:xrandom64 Unexecuted instantiation: dwarf_offdie.c:xrandom64 Unexecuted instantiation: dwarf_formstring.c:xrandom64 Unexecuted instantiation: dwarf_haschildren.c:xrandom64 Unexecuted instantiation: dwarf_formsdata.c:xrandom64 Unexecuted instantiation: dwarf_formref.c:xrandom64 Unexecuted instantiation: dwarf_srclang.c:xrandom64 Unexecuted instantiation: dwarf_getlocation.c:xrandom64 Unexecuted instantiation: fde.c:xrandom64 Unexecuted instantiation: cfi.c:xrandom64 Unexecuted instantiation: dwarf_getcfi.c:xrandom64 Unexecuted instantiation: dwarf_getcfi_elf.c:xrandom64 Unexecuted instantiation: dwarf_get_units.c:xrandom64 Unexecuted instantiation: segment.c:xrandom64 Unexecuted instantiation: dwarf_formaddr.c:xrandom64 Unexecuted instantiation: dwarf_lowpc.c:xrandom64 Unexecuted instantiation: dwarf_ranges.c:xrandom64 Unexecuted instantiation: dwarf_formblock.c:xrandom64 Unexecuted instantiation: dwarf_next_cfi.c:xrandom64 Unexecuted instantiation: cie.c:xrandom64 Unexecuted instantiation: dwarf_highpc.c:xrandom64 Unexecuted instantiation: elf_version.c:xrandom64 Unexecuted instantiation: elf_hash.c:xrandom64 Unexecuted instantiation: elf_error.c:xrandom64 Unexecuted instantiation: elf_begin.c:xrandom64 Unexecuted instantiation: elf_next.c:xrandom64 Unexecuted instantiation: elf_end.c:xrandom64 Unexecuted instantiation: elf_kind.c:xrandom64 Unexecuted instantiation: gelf_getclass.c:xrandom64 Unexecuted instantiation: elf_getident.c:xrandom64 Unexecuted instantiation: gelf_fsize.c:xrandom64 Unexecuted instantiation: elf32_xlatetof.c:xrandom64 Unexecuted instantiation: elf32_xlatetom.c:xrandom64 Unexecuted instantiation: elf64_xlatetof.c:xrandom64 Unexecuted instantiation: elf64_xlatetom.c:xrandom64 Unexecuted instantiation: gelf_xlate.c:xrandom64 Unexecuted instantiation: gelf_getehdr.c:xrandom64 Unexecuted instantiation: gelf_getphdr.c:xrandom64 Unexecuted instantiation: elf_getarhdr.c:xrandom64 Unexecuted instantiation: elf_rawfile.c:xrandom64 Unexecuted instantiation: elf_readall.c:xrandom64 Unexecuted instantiation: elf_cntl.c:xrandom64 Unexecuted instantiation: elf_getscn.c:xrandom64 Unexecuted instantiation: elf_nextscn.c:xrandom64 Unexecuted instantiation: elf_ndxscn.c:xrandom64 Unexecuted instantiation: gelf_getshdr.c:xrandom64 Unexecuted instantiation: gelf_update_shdr.c:xrandom64 Unexecuted instantiation: elf_strptr.c:xrandom64 Unexecuted instantiation: elf_rawdata.c:xrandom64 Unexecuted instantiation: elf_getdata.c:xrandom64 Unexecuted instantiation: elf_getdata_rawchunk.c:xrandom64 Unexecuted instantiation: elf_memory.c:xrandom64 Unexecuted instantiation: gelf_getrel.c:xrandom64 Unexecuted instantiation: gelf_getrela.c:xrandom64 Unexecuted instantiation: gelf_update_rel.c:xrandom64 Unexecuted instantiation: gelf_update_rela.c:xrandom64 Unexecuted instantiation: gelf_getdyn.c:xrandom64 Unexecuted instantiation: gelf_getnote.c:xrandom64 Unexecuted instantiation: gelf_xlatetof.c:xrandom64 Unexecuted instantiation: gelf_xlatetom.c:xrandom64 Unexecuted instantiation: gelf_getsymshndx.c:xrandom64 Unexecuted instantiation: elf_getphdrnum.c:xrandom64 Unexecuted instantiation: elf_getshdrnum.c:xrandom64 Unexecuted instantiation: elf_getshdrstrndx.c:xrandom64 Unexecuted instantiation: gelf_offscn.c:xrandom64 Unexecuted instantiation: elf_compress.c:xrandom64 Unexecuted instantiation: elf_compress_gnu.c:xrandom64 Unexecuted instantiation: elf32_getphdr.c:xrandom64 Unexecuted instantiation: elf64_getphdr.c:xrandom64 Unexecuted instantiation: elf32_getshdr.c:xrandom64 Unexecuted instantiation: elf64_getshdr.c:xrandom64 Unexecuted instantiation: elf32_offscn.c:xrandom64 Unexecuted instantiation: elf64_offscn.c:xrandom64 Unexecuted instantiation: gelf_getchdr.c:xrandom64 Unexecuted instantiation: elf32_getchdr.c:xrandom64 Unexecuted instantiation: elf64_getchdr.c:xrandom64 Unexecuted instantiation: core-file.c:xrandom64 Unexecuted instantiation: linux-core-attach.c:xrandom64 Unexecuted instantiation: dwfl_segment_report_module.c:xrandom64 Unexecuted instantiation: link_map.c:xrandom64 Unexecuted instantiation: dwfl_module_report_build_id.c:xrandom64 Unexecuted instantiation: derelocate.c:xrandom64 Unexecuted instantiation: elf_clone.c:xrandom64 Unexecuted instantiation: fuzz-libelf.c:xrandom64 |
313 | | |
314 | | /* There is no mkstempat needed for creating a temp file in a specific |
315 | | directory. Needed e.g. in combination with renameat to atomicly |
316 | | replace a file. So define one ourselves. Like mkstemp the template |
317 | | must end in "XXXXXX", which are replaced by an unique filename |
318 | | suffix. The file is created with user read/write permissions only |
319 | | in the given dirfd using openat. |
320 | | https://sourceware.org/bugzilla/show_bug.cgi?id=19866 */ |
321 | | static inline int |
322 | | xmkstempat (int dirfd, char *templ) |
323 | 0 | { |
324 | 0 | /* Only use these 64 chars. */ |
325 | 0 | const char chars[] = |
326 | 0 | "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"; |
327 | 0 |
|
328 | 0 | /* Must end in 6X. */ |
329 | 0 | size_t l = strlen (templ); |
330 | 0 | if (l < 6 || memcmp (templ + l - 6, "XXXXXX", 6) != 0) |
331 | 0 | { |
332 | 0 | errno = EINVAL; |
333 | 0 | return -1; |
334 | 0 | } |
335 | 0 |
|
336 | 0 | int tries = 128; /* Just fail with EEXIST if 128 tries wasn't enough. */ |
337 | 0 | do |
338 | 0 | { |
339 | 0 | uint64_t r; /* We need at least 64^6 == 2^36 */ |
340 | 0 | if (xrandom64 (&r) != 0) |
341 | 0 | return -1; |
342 | 0 |
|
343 | 0 | /* Random chars for the template. */ |
344 | 0 | for (int i = 0; i < 6; i++) |
345 | 0 | { |
346 | 0 | templ[l - 6 + i] = chars[r % 64]; |
347 | 0 | r /= 64; |
348 | 0 | } |
349 | 0 |
|
350 | 0 | /* Must be able to open exclusively. */ |
351 | 0 | int fd = openat (dirfd, templ, |
352 | 0 | O_RDWR | O_CREAT | O_EXCL | O_CLOEXEC, |
353 | 0 | S_IRUSR | S_IWUSR); |
354 | 0 | if (fd >= 0) |
355 | 0 | return fd; |
356 | 0 |
|
357 | 0 | tries--; |
358 | 0 | } |
359 | 0 | while (tries > 0 && errno == EEXIST); |
360 | 0 |
|
361 | 0 | return -1; |
362 | 0 | } Unexecuted instantiation: fuzz-libdwfl.c:xmkstempat Unexecuted instantiation: dwfl_begin.c:xmkstempat Unexecuted instantiation: dwfl_end.c:xmkstempat Unexecuted instantiation: dwfl_error.c:xmkstempat Unexecuted instantiation: dwfl_module.c:xmkstempat Unexecuted instantiation: offline.c:xmkstempat Unexecuted instantiation: dwfl_module_getdwarf.c:xmkstempat Unexecuted instantiation: find-debuginfo.c:xmkstempat Unexecuted instantiation: dwfl_build_id_find_debuginfo.c:xmkstempat Unexecuted instantiation: libdwfl_crc32_file.c:xmkstempat Unexecuted instantiation: open.c:xmkstempat Unexecuted instantiation: image-header.c:xmkstempat Unexecuted instantiation: dwfl_frame.c:xmkstempat Unexecuted instantiation: frame_unwind.c:xmkstempat Unexecuted instantiation: dwfl_frame_pc.c:xmkstempat Unexecuted instantiation: dwfl_frame_regs.c:xmkstempat Unexecuted instantiation: gzip.c:xmkstempat Unexecuted instantiation: dwflst_process_tracker.c:xmkstempat Unexecuted instantiation: dwflst_tracker_find_elf.c:xmkstempat Unexecuted instantiation: dwflst_tracker_elftab.c:xmkstempat Unexecuted instantiation: dwflst_tracker_dwfltab.c:xmkstempat Unexecuted instantiation: dwelf_elf_gnu_debuglink.c:xmkstempat Unexecuted instantiation: dwelf_dwarf_gnu_debugaltlink.c:xmkstempat Unexecuted instantiation: dwelf_elf_gnu_build_id.c:xmkstempat Unexecuted instantiation: eblopenbackend.c:xmkstempat Unexecuted instantiation: i386_initreg_sample.c:xmkstempat Unexecuted instantiation: x86_64_initreg_sample.c:xmkstempat Unexecuted instantiation: arm_symbol.c:xmkstempat Unexecuted instantiation: aarch64_symbol.c:xmkstempat Unexecuted instantiation: aarch64_initreg.c:xmkstempat Unexecuted instantiation: sparc_initreg.c:xmkstempat Unexecuted instantiation: ppc_initreg.c:xmkstempat Unexecuted instantiation: s390_initreg.c:xmkstempat Unexecuted instantiation: riscv_init.c:xmkstempat Unexecuted instantiation: riscv_initreg.c:xmkstempat Unexecuted instantiation: csky_initreg.c:xmkstempat Unexecuted instantiation: loongarch_initreg.c:xmkstempat Unexecuted instantiation: mips_init.c:xmkstempat Unexecuted instantiation: mips_symbol.c:xmkstempat Unexecuted instantiation: mips_regs.c:xmkstempat Unexecuted instantiation: mips_retval.c:xmkstempat Unexecuted instantiation: i386_disasm.c:xmkstempat Unexecuted instantiation: x86_64_disasm.c:xmkstempat Unexecuted instantiation: bpf_disasm.c:xmkstempat Unexecuted instantiation: riscv_disasm.c:xmkstempat Unexecuted instantiation: dwarf_begin_elf.c:xmkstempat Unexecuted instantiation: dwarf_end.c:xmkstempat Unexecuted instantiation: dwarf_tag.c:xmkstempat Unexecuted instantiation: dwarf_error.c:xmkstempat Unexecuted instantiation: dwarf_attr.c:xmkstempat Unexecuted instantiation: dwarf_abbrev_hash.c:xmkstempat Unexecuted instantiation: dwarf_sig8_hash.c:xmkstempat Unexecuted instantiation: dwarf_attr_integrate.c:xmkstempat Unexecuted instantiation: dwarf_hasattr_integrate.c:xmkstempat Unexecuted instantiation: dwarf_child.c:xmkstempat Unexecuted instantiation: dwarf_formudata.c:xmkstempat Unexecuted instantiation: dwarf_formref_die.c:xmkstempat Unexecuted instantiation: dwarf_siblingof.c:xmkstempat Unexecuted instantiation: dwarf_diecu.c:xmkstempat Unexecuted instantiation: dwarf_hasattr.c:xmkstempat Unexecuted instantiation: dwarf_bytesize.c:xmkstempat Unexecuted instantiation: dwarf_bitsize.c:xmkstempat Unexecuted instantiation: dwarf_formflag.c:xmkstempat Unexecuted instantiation: libdw_findcu.c:xmkstempat Unexecuted instantiation: libdw_form.c:xmkstempat Unexecuted instantiation: libdw_alloc.c:xmkstempat Unexecuted instantiation: frame-cache.c:xmkstempat Unexecuted instantiation: dwarf_frame_cfa.c:xmkstempat Unexecuted instantiation: dwarf_frame_register.c:xmkstempat Unexecuted instantiation: dwarf_cfi_addrframe.c:xmkstempat Unexecuted instantiation: dwarf_cfi_end.c:xmkstempat Unexecuted instantiation: dwarf_aggregate_size.c:xmkstempat Unexecuted instantiation: dwarf_getalt.c:xmkstempat Unexecuted instantiation: dwarf_setalt.c:xmkstempat Unexecuted instantiation: dwarf_peel_type.c:xmkstempat Unexecuted instantiation: dwarf_default_lower_bound.c:xmkstempat Unexecuted instantiation: libdw_find_split_unit.c:xmkstempat Unexecuted instantiation: dwarf_cu_dwp_section_info.c:xmkstempat Unexecuted instantiation: dwfl_report_elf.c:xmkstempat Unexecuted instantiation: relocate.c:xmkstempat Unexecuted instantiation: dwfl_module_build_id.c:xmkstempat Unexecuted instantiation: dwfl_build_id_find_elf.c:xmkstempat Unexecuted instantiation: linux-proc-maps.c:xmkstempat Unexecuted instantiation: dwfl_addrmodule.c:xmkstempat Unexecuted instantiation: libdwfl_crc32.c:xmkstempat Unexecuted instantiation: elf-from-memory.c:xmkstempat Unexecuted instantiation: dwfl_module_dwarf_cfi.c:xmkstempat Unexecuted instantiation: dwfl_module_eh_cfi.c:xmkstempat Unexecuted instantiation: linux-pid-attach.c:xmkstempat Unexecuted instantiation: dwarf_begin.c:xmkstempat Unexecuted instantiation: dwarf_getabbrev.c:xmkstempat Unexecuted instantiation: dwarf_nextcu.c:xmkstempat Unexecuted instantiation: dwarf_offdie.c:xmkstempat Unexecuted instantiation: dwarf_formstring.c:xmkstempat Unexecuted instantiation: dwarf_haschildren.c:xmkstempat Unexecuted instantiation: dwarf_formsdata.c:xmkstempat Unexecuted instantiation: dwarf_formref.c:xmkstempat Unexecuted instantiation: dwarf_srclang.c:xmkstempat Unexecuted instantiation: dwarf_getlocation.c:xmkstempat Unexecuted instantiation: fde.c:xmkstempat Unexecuted instantiation: cfi.c:xmkstempat Unexecuted instantiation: dwarf_getcfi.c:xmkstempat Unexecuted instantiation: dwarf_getcfi_elf.c:xmkstempat Unexecuted instantiation: dwarf_get_units.c:xmkstempat Unexecuted instantiation: segment.c:xmkstempat Unexecuted instantiation: dwarf_formaddr.c:xmkstempat Unexecuted instantiation: dwarf_lowpc.c:xmkstempat Unexecuted instantiation: dwarf_ranges.c:xmkstempat Unexecuted instantiation: dwarf_formblock.c:xmkstempat Unexecuted instantiation: dwarf_next_cfi.c:xmkstempat Unexecuted instantiation: cie.c:xmkstempat Unexecuted instantiation: dwarf_highpc.c:xmkstempat Unexecuted instantiation: elf_version.c:xmkstempat Unexecuted instantiation: elf_hash.c:xmkstempat Unexecuted instantiation: elf_error.c:xmkstempat Unexecuted instantiation: elf_begin.c:xmkstempat Unexecuted instantiation: elf_next.c:xmkstempat Unexecuted instantiation: elf_end.c:xmkstempat Unexecuted instantiation: elf_kind.c:xmkstempat Unexecuted instantiation: gelf_getclass.c:xmkstempat Unexecuted instantiation: elf_getident.c:xmkstempat Unexecuted instantiation: gelf_fsize.c:xmkstempat Unexecuted instantiation: elf32_xlatetof.c:xmkstempat Unexecuted instantiation: elf32_xlatetom.c:xmkstempat Unexecuted instantiation: elf64_xlatetof.c:xmkstempat Unexecuted instantiation: elf64_xlatetom.c:xmkstempat Unexecuted instantiation: gelf_xlate.c:xmkstempat Unexecuted instantiation: gelf_getehdr.c:xmkstempat Unexecuted instantiation: gelf_getphdr.c:xmkstempat Unexecuted instantiation: elf_getarhdr.c:xmkstempat Unexecuted instantiation: elf_rawfile.c:xmkstempat Unexecuted instantiation: elf_readall.c:xmkstempat Unexecuted instantiation: elf_cntl.c:xmkstempat Unexecuted instantiation: elf_getscn.c:xmkstempat Unexecuted instantiation: elf_nextscn.c:xmkstempat Unexecuted instantiation: elf_ndxscn.c:xmkstempat Unexecuted instantiation: gelf_getshdr.c:xmkstempat Unexecuted instantiation: gelf_update_shdr.c:xmkstempat Unexecuted instantiation: elf_strptr.c:xmkstempat Unexecuted instantiation: elf_rawdata.c:xmkstempat Unexecuted instantiation: elf_getdata.c:xmkstempat Unexecuted instantiation: elf_getdata_rawchunk.c:xmkstempat Unexecuted instantiation: elf_memory.c:xmkstempat Unexecuted instantiation: gelf_getrel.c:xmkstempat Unexecuted instantiation: gelf_getrela.c:xmkstempat Unexecuted instantiation: gelf_update_rel.c:xmkstempat Unexecuted instantiation: gelf_update_rela.c:xmkstempat Unexecuted instantiation: gelf_getdyn.c:xmkstempat Unexecuted instantiation: gelf_getnote.c:xmkstempat Unexecuted instantiation: gelf_xlatetof.c:xmkstempat Unexecuted instantiation: gelf_xlatetom.c:xmkstempat Unexecuted instantiation: gelf_getsymshndx.c:xmkstempat Unexecuted instantiation: elf_getphdrnum.c:xmkstempat Unexecuted instantiation: elf_getshdrnum.c:xmkstempat Unexecuted instantiation: elf_getshdrstrndx.c:xmkstempat Unexecuted instantiation: gelf_offscn.c:xmkstempat Unexecuted instantiation: elf_compress.c:xmkstempat Unexecuted instantiation: elf_compress_gnu.c:xmkstempat Unexecuted instantiation: elf32_getphdr.c:xmkstempat Unexecuted instantiation: elf64_getphdr.c:xmkstempat Unexecuted instantiation: elf32_getshdr.c:xmkstempat Unexecuted instantiation: elf64_getshdr.c:xmkstempat Unexecuted instantiation: elf32_offscn.c:xmkstempat Unexecuted instantiation: elf64_offscn.c:xmkstempat Unexecuted instantiation: gelf_getchdr.c:xmkstempat Unexecuted instantiation: elf32_getchdr.c:xmkstempat Unexecuted instantiation: elf64_getchdr.c:xmkstempat Unexecuted instantiation: core-file.c:xmkstempat Unexecuted instantiation: linux-core-attach.c:xmkstempat Unexecuted instantiation: dwfl_segment_report_module.c:xmkstempat Unexecuted instantiation: link_map.c:xmkstempat Unexecuted instantiation: dwfl_module_report_build_id.c:xmkstempat Unexecuted instantiation: derelocate.c:xmkstempat Unexecuted instantiation: elf_clone.c:xmkstempat Unexecuted instantiation: fuzz-libelf.c:xmkstempat |
363 | | |
364 | | #endif /* system.h */ |