/external/elfutils/libdwfl/ |
H A D | dwfl_addrdie.c | 53 dwfl_addrdie (Dwfl *dwfl, Dwarf_Addr addr, Dwarf_Addr *bias) argument 55 return INTUSE(dwfl_module_addrdie) (INTUSE(dwfl_addrmodule) (dwfl, addr),
|
H A D | dwfl_addrdwarf.c | 53 dwfl_addrdwarf (Dwfl *dwfl, Dwarf_Addr address, Dwarf_Addr *bias) argument 55 return INTUSE(dwfl_module_getdwarf) (INTUSE(dwfl_addrmodule) (dwfl, address),
|
H A D | dwfl_addrmodule.c | 53 dwfl_addrmodule (Dwfl *dwfl, Dwarf_Addr address) argument 56 (void) INTUSE(dwfl_addrsegment) (dwfl, address, &mod);
|
H A D | dwfl_begin.c | 61 Dwfl *dwfl = calloc (1, sizeof *dwfl); local 62 if (dwfl == NULL) 66 dwfl->callbacks = callbacks; 67 dwfl->offline_next_address = OFFLINE_REDZONE; 70 return dwfl;
|
H A D | dwfl_end.c | 53 dwfl_end (Dwfl *dwfl) argument 55 if (dwfl == NULL) 58 free (dwfl->lookup_addr); 59 free (dwfl->lookup_module); 60 free (dwfl->lookup_segndx); 62 Dwfl_Module *next = dwfl->modulelist; 70 free (dwfl);
|
H A D | dwfl_getsrc.c | 53 dwfl_getsrc (Dwfl *dwfl, Dwarf_Addr addr) argument 55 return INTUSE(dwfl_module_getsrc) (INTUSE(dwfl_addrmodule) (dwfl, addr),
|
H A D | dwfl_getmodules.c | 53 dwfl_getmodules (Dwfl *dwfl, argument 59 if (dwfl == NULL) 70 Dwfl_Module *m = dwfl->modulelist; 81 else if (((offset & 3) == 2) && likely (dwfl->lookup_module != NULL)) 85 if ((size_t) offset - 1 == dwfl->lookup_elts) 88 if (unlikely ((size_t) offset - 1 > dwfl->lookup_elts)) 91 m = dwfl->lookup_module[offset - 1]; 107 return ((dwfl->lookup_module == NULL) ? ((offset << 2) | 1) 108 : (((m == NULL ? (ptrdiff_t) dwfl->lookup_elts + 1
|
H A D | dwfl_nextcu.c | 53 dwfl_nextcu (Dwfl *dwfl, Dwarf_Die *lastcu, Dwarf_Addr *bias) argument 55 if (dwfl == NULL) 63 mod = dwfl->modulelist;
|
H A D | dwfl_validate_address.c | 53 dwfl_validate_address (Dwfl *dwfl, Dwarf_Addr address, Dwarf_Sword offset) argument 55 Dwfl_Module *mod = INTUSE(dwfl_addrmodule) (dwfl, address);
|
H A D | dwfl_getdwarf.c | 71 dwfl_getdwarf (Dwfl *dwfl, argument 79 return INTUSE(dwfl_getmodules) (dwfl, &module_callback, &info, offset);
|
H A D | argp-std.c | 117 inline void failure (Dwfl *dwfl, int errnum, const char *msg) argument 119 if (dwfl != NULL) 120 dwfl_end (dwfl); 127 inline error_t fail (Dwfl *dwfl, int errnum, const char *msg) argument 129 failure (dwfl, errnum, msg); 141 Dwfl *dwfl = state->hook; local 142 if (dwfl == NULL) 144 dwfl = INTUSE(dwfl_begin) (&offline_callbacks); 145 if (dwfl == NULL) 146 return fail (dwfl, 172 Dwfl *dwfl = INTUSE(dwfl_begin) (&proc_callbacks); local 194 Dwfl *dwfl = INTUSE(dwfl_begin) (&proc_callbacks); local 207 Dwfl *dwfl = state->hook; local 252 Dwfl *dwfl = INTUSE(dwfl_begin) (&kernel_callbacks); local 269 Dwfl *dwfl = INTUSE(dwfl_begin) (&offline_callbacks); local 282 Dwfl *dwfl = state->hook; local [all...] |
H A D | segment.c | 53 segment_start (Dwfl *dwfl, GElf_Addr start) argument 55 if (dwfl->segment_align > 1) 56 start &= -dwfl->segment_align; 61 segment_end (Dwfl *dwfl, GElf_Addr end) argument 63 if (dwfl->segment_align > 1) 64 end = (end + dwfl->segment_align - 1) & -dwfl->segment_align; 69 insert (Dwfl *dwfl, size_t i, GElf_Addr start, GElf_Addr end, int segndx) argument 71 bool need_start = (i == 0 || dwfl->lookup_addr[i - 1] != start); 72 bool need_end = (i >= dwfl 140 lookup(Dwfl *dwfl, GElf_Addr address, int hint) argument 167 reify_segments(Dwfl *dwfl) argument 231 dwfl_addrsegment(Dwfl *dwfl, Dwarf_Addr address, Dwfl_Module **mod) argument [all...] |
H A D | dwfl_report_elf.c | 64 __libdwfl_report_elf (Dwfl *dwfl, const char *name, const char *file_name, argument 226 Dwfl_Module *m = INTUSE(dwfl_report_module) (dwfl, name, start, end); 262 dwfl_report_elf (Dwfl *dwfl, const char *name, argument 278 Dwfl_Module *mod = __libdwfl_report_elf (dwfl, name, file_name,
|
H A D | offline.c | 116 static Dwfl_Module *process_elf (Dwfl *dwfl, const char *name, 118 static Dwfl_Module *process_archive (Dwfl *dwfl, const char *name, 126 process_file (Dwfl *dwfl, const char *name, const char *file_name, int fd, argument 138 return process_elf (dwfl, name, file_name, fd, elf); 141 return process_archive (dwfl, name, file_name, fd, elf, predicate); 147 process_elf (Dwfl *dwfl, const char *name, const char *file_name, int fd, argument 150 Dwfl_Module *mod = __libdwfl_report_elf (dwfl, name, file_name, fd, elf, 151 dwfl->offline_next_address); 160 if ((dwfl->offline_next_address >= mod->low_addr 161 || mod->low_addr - dwfl 179 process_archive_member(Dwfl *dwfl, const char *name, const char *file_name, int (*predicate) (const char *module, const char *file), int fd, Elf *member, Dwfl_Module **mod) argument 256 process_archive(Dwfl *dwfl, const char *name, const char *file_name, int fd, Elf *archive, int (*predicate) (const char *module, const char *file)) argument 286 __libdwfl_report_offline(Dwfl *dwfl, const char *name, const char *file_name, int fd, bool closefd, int (*predicate) (const char *module, const char *file)) argument 303 dwfl_report_offline(Dwfl *dwfl, const char *name, const char *file_name, int fd) argument [all...] |
/external/elfutils/tests/ |
H A D | dwfl-bug-report.c | 27 #include ELFUTILS_HEADER(dwfl) 44 Dwfl *dwfl = dwfl_begin (&callbacks); local 48 dwfl_report_begin (dwfl); 49 dwfl_report_module (dwfl, "module1", 0, 10); 50 dwfl_report_end (dwfl, NULL, NULL); 53 dwfl_end (dwfl);
|
H A D | dwfl-bug-addr-overflow.c | 33 #include ELFUTILS_HEADER(dwfl) 52 Dwfl *dwfl = dwfl_begin (&offline_callbacks); local 53 assert (dwfl != NULL); 55 Dwfl_Module *high = dwfl_report_module (dwfl, "high", 59 Dwfl_Module *low = dwfl_report_module (dwfl, "low", 63 Dwfl_Module *middle = dwfl_report_module (dwfl, "middle", 68 int ret = dwfl_report_end (dwfl, NULL, NULL); 71 Dwfl_Module *mod = dwfl_addrmodule (dwfl, UINT64_C (0xffffffff00010123)); 73 mod = dwfl_addrmodule (dwfl, UINT64_C (0x00010123)); 75 mod = dwfl_addrmodule (dwfl, UINT64_ [all...] |
H A D | dwfl-bug-getmodules.c | 27 #include ELFUTILS_HEADER(dwfl) 55 Dwfl *dwfl = dwfl_begin (&callbacks); local 57 dwfl_report_module (dwfl, "m1", 0, 0x1000); 58 dwfl_report_module (dwfl, "m2", 0x2000, 0x3000); 59 dwfl_report_module (dwfl, "m3", 0x4000, 0x5000); 61 dwfl_report_end (dwfl, NULL, NULL); 63 ptrdiff_t offset = dwfl_getmodules (dwfl, &iterate, dwfl, 0); 67 offset = dwfl_getmodules (dwfl, &iterate, NULL, offset); 71 dwfl_end (dwfl); [all...] |
H A D | dwfl-addr-sect.c | 37 #include ELFUTILS_HEADER(dwfl) 41 handle_address (Dwfl *dwfl, Dwarf_Addr address) argument 43 Dwfl_Module *mod = dwfl_addrmodule (dwfl, address); 70 Dwfl *dwfl = NULL; local 71 (void) argp_parse (dwfl_standard_argp (), argc, argv, 0, &remaining, &dwfl); local 72 assert (dwfl != NULL); 80 result |= handle_address (dwfl, addr); 85 dwfl_end (dwfl);
|
H A D | dwfl-bug-fd-leak.c | 39 #include ELFUTILS_HEADER(dwfl) 53 Dwfl *dwfl = dwfl_begin (&proc_callbacks); local 54 if (dwfl == NULL) 57 int result = dwfl_linux_proc_report (dwfl, pid); 63 if (dwfl_report_end (dwfl, NULL, NULL) != 0) 67 Dwarf *dbg = dwfl_addrdwarf (dwfl, address, &bias); 76 Elf *elf = dwfl_module_getelf (dwfl_addrmodule (dwfl, address), &bias); 81 return dwfl; 85 elfutils_close (Dwfl *dwfl) argument 87 dwfl_end (dwfl); 105 Dwfl *dwfl = elfutils_open (getpid (), (Dwarf_Addr) (uintptr_t) &main); local [all...] |
H A D | find-prologues.c | 29 #include ELFUTILS_HEADER(dwfl) 43 Dwfl *dwfl; member in struct:args 101 struct args a = { .dwfl = NULL, .cu = NULL }; 104 &a.dwfl); 105 assert (a.dwfl != NULL); 110 while ((a.cu = dwfl_nextcu (a.dwfl, a.cu, &a.dwbias)) != NULL) 113 dwfl_end (a.dwfl);
|
H A D | funcretval.c | 29 #include ELFUTILS_HEADER(dwfl) 43 Dwfl *dwfl; member in struct:args 99 struct args a = { .dwfl = NULL, .cu = NULL }; 102 &a.dwfl); 103 assert (a.dwfl != NULL); 108 while ((a.cu = dwfl_nextcu (a.dwfl, a.cu, &a.dwbias)) != NULL) 111 dwfl_end (a.dwfl);
|
H A D | line2addr.c | 31 #include ELFUTILS_HEADER(dwfl) 127 Dwfl *dwfl = NULL; local 128 (void) argp_parse (dwfl_standard_argp (), argc, argv, 0, &cnt, &dwfl); local 129 assert (dwfl != NULL); 148 (void) dwfl_getdwarf (dwfl, &handle_module, &a, 0); 153 dwfl_end (dwfl);
|
H A D | addrscopes.c | 29 #include ELFUTILS_HEADER(dwfl) 103 handle_address (GElf_Addr pc, Dwfl *dwfl) argument 106 Dwarf_Die *cudie = dwfl_addrdie (dwfl, pc, &cubias); 135 Dwfl_Line *loline = dwfl_getsrc (dwfl, lowpc); 136 Dwfl_Line *hiline = dwfl_getsrc (dwfl, highpc); 156 Dwfl *dwfl = NULL; local 157 (void) argp_parse (dwfl_standard_argp (), argc, argv, 0, &remaining, &dwfl); local 158 assert (dwfl != NULL); 179 handle_address (addr, dwfl); 193 handle_address (addr, dwfl); [all...] |
H A D | allregs.c | 36 #include ELFUTILS_HEADER(dwfl) 180 Dwfl *dwfl = NULL; local 181 (void) argp_parse (dwfl_standard_argp (), argc, argv, 0, &remaining, &dwfl); local 182 assert (dwfl != NULL); 185 if (dwfl_getmodules (dwfl, &first_module, &mod, 0) < 0) 226 dwfl_end (dwfl);
|
H A D | funcscopes.c | 29 #include ELFUTILS_HEADER(dwfl) 106 Dwfl *dwfl; member in struct:args 163 Dwfl_Line *loline = dwfl_getsrc (a->dwfl, lowpc); 164 Dwfl_Line *hiline = dwfl_getsrc (a->dwfl, highpc); 187 struct args a = { .dwfl = NULL, .cu = NULL }; 190 &a.dwfl); 191 assert (a.dwfl != NULL); 196 while ((a.cu = dwfl_nextcu (a.dwfl, a.cu, &a.dwbias)) != NULL) 199 dwfl_end (a.dwfl);
|