/external/elfutils/libdwfl/ |
dwfl_begin.c | 35 Dwfl * 44 Dwfl *dwfl = calloc (1, sizeof *dwfl); local 45 if (dwfl == NULL) 49 dwfl->callbacks = callbacks; 50 dwfl->offline_next_address = OFFLINE_REDZONE; 53 return dwfl;
|
dwfl_end.c | 37 dwfl_end (Dwfl *dwfl) 39 if (dwfl == NULL) 42 if (dwfl->process) 43 __libdwfl_process_free (dwfl->process); 45 free (dwfl->lookup_addr); 46 free (dwfl->lookup_module); 47 free (dwfl->lookup_segndx); 49 Dwfl_Module *next = dwfl->modulelist; 57 if (dwfl->user_core != NULL [all...] |
segment.c | 37 __libdwfl_segment_start (Dwfl *dwfl, GElf_Addr start) 39 if (dwfl->segment_align > 1) 40 start &= -dwfl->segment_align; 46 __libdwfl_segment_end (Dwfl *dwfl, GElf_Addr end) 48 if (dwfl->segment_align > 1) 49 end = (end + dwfl->segment_align - 1) & -dwfl->segment_align; 54 insert (Dwfl *dwfl, size_t i, GElf_Addr start, GElf_Addr end, int segndx [all...] |
argp-std.c | 100 Dwfl *dwfl; member in struct:parse_opt 108 failure (Dwfl *dwfl, int errnum, const char *msg, struct argp_state *state) 110 if (dwfl != NULL) 111 dwfl_end (dwfl); 120 fail (Dwfl *dwfl, int errnum, const char *msg, struct argp_state *state) 122 failure (dwfl, errnum, msg, state); 148 Dwfl *dwfl = opt->dwfl local 176 Dwfl *dwfl = INTUSE(dwfl_begin) (&proc_callbacks); local 204 Dwfl *dwfl = INTUSE(dwfl_begin) (&proc_callbacks); local 219 Dwfl *dwfl = opt->dwfl; local 234 Dwfl *dwfl = INTUSE(dwfl_begin) (&kernel_callbacks); local 254 Dwfl *dwfl = INTUSE(dwfl_begin) (&offline_callbacks); local 269 Dwfl *dwfl = opt->dwfl; local [all...] |
dwfl_addrdie.c | 36 dwfl_addrdie (Dwfl *dwfl, Dwarf_Addr addr, Dwarf_Addr *bias) 38 return INTUSE(dwfl_module_addrdie) (INTUSE(dwfl_addrmodule) (dwfl, addr),
|
dwfl_addrdwarf.c | 36 dwfl_addrdwarf (Dwfl *dwfl, Dwarf_Addr address, Dwarf_Addr *bias) 38 return INTUSE(dwfl_module_getdwarf) (INTUSE(dwfl_addrmodule) (dwfl, address),
|
dwfl_addrmodule.c | 36 dwfl_addrmodule (Dwfl *dwfl, Dwarf_Addr address) 39 (void) INTUSE(dwfl_addrsegment) (dwfl, address, &mod);
|
dwfl_getsrc.c | 36 dwfl_getsrc (Dwfl *dwfl, Dwarf_Addr addr) 38 return INTUSE(dwfl_module_getsrc) (INTUSE(dwfl_addrmodule) (dwfl, addr),
|
dwfl_version.c | 36 dwfl_version (Dwfl *dwfl __attribute__ ((unused)))
|
dwfl_getmodules.c | 36 dwfl_getmodules (Dwfl *dwfl, 42 if (dwfl == NULL) 47 DWFL->lookup_module is populated, we can instead keep our 53 Dwfl_Module *m = dwfl->modulelist; 64 else if (((offset & 3) == 2) && likely (dwfl->lookup_module != NULL)) 68 if ((size_t) offset - 1 == dwfl->lookup_elts) 71 if (unlikely ((size_t) offset - 1 > dwfl->lookup_elts)) 74 m = dwfl->lookup_module[offset - 1]; 90 return ((dwfl->lookup_module == NULL) ? ((offset << 2) | 1 [all...] |
libdwfl.h | 36 typedef struct Dwfl Dwfl; 45 a partical thread/task/TID. Several threads belong to one Dwfl. */ 85 extern Dwfl *dwfl_begin (const Dwfl_Callbacks *callbacks) 90 extern void dwfl_end (Dwfl *); 93 extern const char *dwfl_version (Dwfl *); 110 extern void dwfl_report_begin (Dwfl *dwfl); 117 effective page size for the address space DWFL describes. 133 The only information that can be extracted from DWFL later is th [all...] |
dwfl_frame.c | 115 Dwfl *dwfl = process->dwfl; local 117 process->callbacks->detach (dwfl, process->callbacks_arg); 118 assert (dwfl->process == process); 119 dwfl->process = NULL; 123 dwfl->attacherr = DWFL_E_NOERROR; 126 /* Allocate new Dwfl_Process for DWFL. */ 128 process_alloc (Dwfl *dwfl) [all...] |
offline.c | 100 static Dwfl_Module *process_elf (Dwfl *dwfl, const char *name, 102 static Dwfl_Module *process_archive (Dwfl *dwfl, const char *name, 110 process_file (Dwfl *dwfl, const char *name, const char *file_name, int fd, 122 return process_elf (dwfl, name, file_name, fd, elf); 125 return process_archive (dwfl, name, file_name, fd, elf, predicate); 131 process_elf (Dwfl *dwfl, const char *name, const char *file_name, int fd [all...] |
/external/elfutils/tests/ |
dwfl-bug-report.c | 19 #include ELFUTILS_HEADER(dwfl) 36 Dwfl *dwfl = dwfl_begin (&callbacks); local 40 dwfl_report_begin (dwfl); 41 dwfl_report_module (dwfl, "module1", 0, 10); 42 dwfl_report_end (dwfl, NULL, NULL); 45 dwfl_end (dwfl);
|
dwfl-bug-getmodules.c | 19 #include ELFUTILS_HEADER(dwfl) 47 Dwfl *dwfl = dwfl_begin (&callbacks); local 49 dwfl_report_module (dwfl, "m1", 0, 0x1000); 50 dwfl_report_module (dwfl, "m2", 0x2000, 0x3000); 51 dwfl_report_module (dwfl, "m3", 0x4000, 0x5000); 53 dwfl_report_end (dwfl, NULL, NULL); 55 ptrdiff_t offset = dwfl_getmodules (dwfl, &iterate, dwfl, 0); 59 offset = dwfl_getmodules (dwfl, &iterate, NULL, offset) [all...] |
run-dwfl-report-elf-align.sh | 20 testfiles testfile-dwfl-report-elf-align-shlib.so 23 # 7f3560c92000-7f3560c93000 r-xp 00000000 fd:02 25037063 testfile-dwfl-report-elf-align-shlib.so 24 # 7f3560c93000-7f3560e92000 ---p 00001000 fd:02 25037063 testfile-dwfl-report-elf-align-shlib.so 25 # 7f3560e92000-7f3560e93000 rw-p 00000000 fd:02 25037063 testfile-dwfl-report-elf-align-shlib.so 26 # testfile-dwfl-report-elf-align-shlib.so: 35 # #1 0x00007f3560c92585 in shlib () from ./testfile-dwfl-report-elf-align-shlib.so 37 # 0x7f3560c92000 is VMA address of first byte of testfile-dwfl-report-elf-align-shlib.so. 41 testrun ${abs_builddir}/dwfl-report-elf-align ./testfile-dwfl-report-elf-align-shlib.so \
|
dwfl-bug-addr-overflow.c | 24 #include ELFUTILS_HEADER(dwfl) 43 Dwfl *dwfl = dwfl_begin (&offline_callbacks); local 44 assert (dwfl != NULL); 46 Dwfl_Module *high = dwfl_report_module (dwfl, "high", 50 Dwfl_Module *low = dwfl_report_module (dwfl, "low", 54 Dwfl_Module *middle = dwfl_report_module (dwfl, "middle", 59 int ret = dwfl_report_end (dwfl, NULL, NULL); 62 Dwfl_Module *mod = dwfl_addrmodule (dwfl, UINT64_C (0xffffffff00010123)); 64 mod = dwfl_addrmodule (dwfl, UINT64_C (0x00010123)) [all...] |
dwfl-bug-fd-leak.c | 40 #include ELFUTILS_HEADER(dwfl) 43 static Dwfl * 54 Dwfl *dwfl = dwfl_begin (&proc_callbacks); local 55 if (dwfl == NULL) 58 int result = dwfl_linux_proc_report (dwfl, pid); 64 if (dwfl_report_end (dwfl, NULL, NULL) != 0) 68 Dwarf *dbg = dwfl_addrdwarf (dwfl, address, &bias); 77 Dwfl_Module *module = dwfl_addrmodule (dwfl, address); 86 return dwfl; 110 Dwfl *dwfl = elfutils_open (getpid (), (Dwarf_Addr) (uintptr_t) &main); local [all...] |
dwfl-addr-sect.c | 28 #include ELFUTILS_HEADER(dwfl) 33 handle_address (Dwfl *dwfl, Dwarf_Addr address) 35 Dwfl_Module *mod = dwfl_addrmodule (dwfl, address); 62 Dwfl *dwfl = NULL; local 63 (void) argp_parse (dwfl_standard_argp (), argc, argv, 0, &remaining, &dwfl); local 64 assert (dwfl != NULL); 72 result |= handle_address (dwfl, addr); 77 dwfl_end (dwfl); [all...] |
aggregate_size.c | 27 #include ELFUTILS_HEADER(dwfl) 59 Dwfl *dwfl; local 61 &dwfl); local 62 assert (dwfl != NULL); 66 while ((cu = dwfl_nextcu (dwfl, cu, &dwbias)) != NULL) 82 dwfl_end (dwfl);
|
dwfl-report-elf-align.c | 26 #include ELFUTILS_HEADER(dwfl) 47 error (1, 0, "dwfl-report-elf-align shlib.so base funcaddr funcname"); 49 Dwfl *dwfl = dwfl_begin (&offline_callbacks); local 50 assert (dwfl != NULL); 56 Dwfl_Module *mod = dwfl_report_elf (dwfl, argv[1], argv[1], -1, base, false); 62 Dwfl_Module *mod_found = dwfl_addrmodule (dwfl, funcaddr); 69 dwfl_end (dwfl);
|
backtrace-dwarf.c | 25 #include ELFUTILS_HEADER(dwfl) 48 report_pid (Dwfl *dwfl, pid_t pid) 50 int result = dwfl_linux_proc_report (dwfl, pid); 56 if (dwfl_report_end (dwfl, NULL, NULL) != 0) 59 result = dwfl_linux_proc_attach (dwfl, pid, true); 66 static Dwfl * 77 Dwfl *dwfl = dwfl_begin (&proc_callbacks); local 78 if (dwfl == NULL 98 Dwfl *dwfl = dwfl_thread_dwfl (thread); local 171 Dwfl *dwfl = pid_to_dwfl (pid); local [all...] |
find-prologues.c | 21 #include ELFUTILS_HEADER(dwfl) 35 Dwfl *dwfl; member in struct:args 93 struct args a = { .dwfl = NULL, .cu = NULL }; 96 &a.dwfl); 97 assert (a.dwfl != NULL); 102 while ((a.cu = dwfl_nextcu (a.dwfl, a.cu, &a.dwbias)) != NULL) 105 dwfl_end (a.dwfl);
|
funcretval.c | 21 #include ELFUTILS_HEADER(dwfl) 35 Dwfl *dwfl; member in struct:args 91 struct args a = { .dwfl = NULL, .cu = NULL }; 94 &a.dwfl); 95 assert (a.dwfl != NULL); 100 while ((a.cu = dwfl_nextcu (a.dwfl, a.cu, &a.dwbias)) != NULL) 103 dwfl_end (a.dwfl);
|
vdsosyms.c | 26 #include ELFUTILS_HEADER(dwfl) 79 Dwfl *dwfl = dwfl_begin (&proc_callbacks); local 80 if (dwfl == NULL) 87 int result = dwfl_linux_proc_report (dwfl, pid); 94 result = dwfl_linux_proc_attach (dwfl, pid, false); 100 if (dwfl_report_end (dwfl, NULL, NULL) != 0) 103 if (dwfl_getmodules (dwfl, module_callback, NULL, 0) != 0)
|