/external/elfutils/libdwfl/ |
H A D | dwfl_begin.c | 40 Dwfl *dwfl = calloc (1, sizeof *dwfl); local 41 if (dwfl == NULL) 45 dwfl->callbacks = callbacks; 46 dwfl->offline_next_address = OFFLINE_REDZONE; 49 return dwfl;
|
H A D | dwfl_end.c | 33 dwfl_end (Dwfl *dwfl) argument 35 if (dwfl == NULL) 38 if (dwfl->process) 39 __libdwfl_process_free (dwfl->process); 41 free (dwfl->lookup_addr); 42 free (dwfl->lookup_module); 43 free (dwfl->lookup_segndx); 45 Dwfl_Module *next = dwfl->modulelist; 53 if (dwfl->user_core != NULL) 55 free (dwfl [all...] |
H A D | segment.c | 33 __libdwfl_segment_start (Dwfl *dwfl, GElf_Addr start) argument 35 if (dwfl->segment_align > 1) 36 start &= -dwfl->segment_align; 42 __libdwfl_segment_end (Dwfl *dwfl, GElf_Addr end) argument 44 if (dwfl->segment_align > 1) 45 end = (end + dwfl->segment_align - 1) & -dwfl->segment_align; 50 insert (Dwfl *dwfl, size_t i, GElf_Addr start, GElf_Addr end, int segndx) argument 52 bool need_start = (i == 0 || dwfl->lookup_addr[i - 1] != start); 53 bool need_end = (i + 1 >= dwfl 127 lookup(Dwfl *dwfl, GElf_Addr address, int hint) argument 154 reify_segments(Dwfl *dwfl) argument 241 dwfl_addrsegment(Dwfl *dwfl, Dwarf_Addr address, Dwfl_Module **mod) argument [all...] |
H A D | dwfl_getsrc.c | 32 dwfl_getsrc (Dwfl *dwfl, Dwarf_Addr addr) argument 34 return INTUSE(dwfl_module_getsrc) (INTUSE(dwfl_addrmodule) (dwfl, addr),
|
H A D | argp-std.c | 96 Dwfl *dwfl; member in struct:parse_opt 106 inline void failure (Dwfl *dwfl, int errnum, const char *msg) argument 108 if (dwfl != NULL) 109 dwfl_end (dwfl); 116 inline error_t fail (Dwfl *dwfl, int errnum, const char *msg) argument 118 failure (dwfl, errnum, msg); 141 Dwfl *dwfl = opt->dwfl; local 142 if (dwfl == NULL) 144 dwfl 169 Dwfl *dwfl = INTUSE(dwfl_begin) (&proc_callbacks); local 197 Dwfl *dwfl = INTUSE(dwfl_begin) (&proc_callbacks); local 212 Dwfl *dwfl = opt->dwfl; local 227 Dwfl *dwfl = INTUSE(dwfl_begin) (&kernel_callbacks); local 247 Dwfl *dwfl = INTUSE(dwfl_begin) (&offline_callbacks); local 262 Dwfl *dwfl = opt->dwfl; local [all...] |
H A D | dwfl_version.c | 32 dwfl_version (Dwfl *dwfl __attribute__ ((unused)))
|
H A D | dwfl_getmodules.c | 32 dwfl_getmodules (Dwfl *dwfl, argument 38 if (dwfl == NULL) 49 Dwfl_Module *m = dwfl->modulelist; 60 else if (((offset & 3) == 2) && likely (dwfl->lookup_module != NULL)) 64 if ((size_t) offset - 1 == dwfl->lookup_elts) 67 if (unlikely ((size_t) offset - 1 > dwfl->lookup_elts)) 70 m = dwfl->lookup_module[offset - 1]; 86 return ((dwfl->lookup_module == NULL) ? ((offset << 2) | 1) 87 : (((m == NULL ? (ptrdiff_t) dwfl->lookup_elts + 1
|
H A D | dwfl_addrdie.c | 32 dwfl_addrdie (Dwfl *dwfl, Dwarf_Addr addr, Dwarf_Addr *bias) argument 34 return INTUSE(dwfl_module_addrdie) (INTUSE(dwfl_addrmodule) (dwfl, addr),
|
H A D | dwfl_addrdwarf.c | 32 dwfl_addrdwarf (Dwfl *dwfl, Dwarf_Addr address, Dwarf_Addr *bias) argument 34 return INTUSE(dwfl_module_getdwarf) (INTUSE(dwfl_addrmodule) (dwfl, address),
|
H A D | dwfl_addrmodule.c | 32 dwfl_addrmodule (Dwfl *dwfl, Dwarf_Addr address) argument 35 (void) INTUSE(dwfl_addrsegment) (dwfl, address, &mod);
|
H A D | libdwfl.h | 110 extern void dwfl_report_begin (Dwfl *dwfl); 138 extern int dwfl_report_segment (Dwfl *dwfl, int ndx, 145 extern Dwfl_Module *dwfl_report_module (Dwfl *dwfl, const char *name, 160 extern Dwfl_Module *dwfl_report_elf (Dwfl *dwfl, const char *name, 168 extern Dwfl_Module *dwfl_report_offline (Dwfl *dwfl, const char *name, 179 extern int dwfl_report_end (Dwfl *dwfl, 190 extern void dwfl_report_begin_add (Dwfl *dwfl); 212 extern ptrdiff_t dwfl_getmodules (Dwfl *dwfl, 220 extern Dwfl_Module *dwfl_addrmodule (Dwfl *dwfl, Dwarf_Addr address); 226 extern int dwfl_addrsegment (Dwfl *dwfl, Dwarf_Add [all...] |
H A D | dwfl_frame.c | 112 Dwfl *dwfl = process->dwfl; local 114 process->callbacks->detach (dwfl, process->callbacks_arg); 115 assert (dwfl->process == process); 116 dwfl->process = NULL; 120 dwfl->attacherr = DWFL_E_NOERROR; 125 process_alloc (Dwfl *dwfl) argument 130 process->dwfl = dwfl; 131 dwfl 135 dwfl_attach_state(Dwfl *dwfl, Elf *elf, pid_t pid, const Dwfl_Thread_Callbacks *thread_callbacks, void *arg) argument 329 getthread(Dwfl *dwfl, pid_t tid, int (*callback) (Dwfl_Thread *thread, void *arg), void *arg) argument 397 dwfl_getthread_frames(Dwfl *dwfl, pid_t tid, int (*callback) (Dwfl_Frame *frame, void *arg), void *arg) argument [all...] |
/external/elfutils/tests/ |
H A D | 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);
|
H A D | 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); 63 dwfl_end (dwfl); [all...] |
H A D | 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 \
|
H A D | dwfl-bug-addr-overflow.c | 25 #include ELFUTILS_HEADER(dwfl) 44 Dwfl *dwfl = dwfl_begin (&offline_callbacks); local 45 assert (dwfl != NULL); 47 Dwfl_Module *high = dwfl_report_module (dwfl, "high", 51 Dwfl_Module *low = dwfl_report_module (dwfl, "low", 55 Dwfl_Module *middle = dwfl_report_module (dwfl, "middle", 60 int ret = dwfl_report_end (dwfl, NULL, NULL); 63 Dwfl_Module *mod = dwfl_addrmodule (dwfl, UINT64_C (0xffffffff00010123)); 65 mod = dwfl_addrmodule (dwfl, UINT64_C (0x00010123)); 67 mod = dwfl_addrmodule (dwfl, UINT64_ [all...] |
H A D | dwfl-bug-fd-leak.c | 40 #include ELFUTILS_HEADER(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; 90 elfutils_close (Dwfl *dwfl) argument 92 dwfl_end (dwfl); 110 Dwfl *dwfl = elfutils_open (getpid (), (Dwarf_Addr) (uintptr_t) &main); local [all...] |
H A D | dwfl-addr-sect.c | 29 #include ELFUTILS_HEADER(dwfl) 33 handle_address (Dwfl *dwfl, Dwarf_Addr address) argument 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);
|
H A D | backtrace-dwarf.c | 30 #include ELFUTILS_HEADER(dwfl) 49 report_pid (Dwfl *dwfl, pid_t pid) argument 51 int result = dwfl_linux_proc_report (dwfl, pid); 57 if (dwfl_report_end (dwfl, NULL, NULL) != 0) 60 result = dwfl_linux_proc_attach (dwfl, pid, true); 78 Dwfl *dwfl = dwfl_begin (&proc_callbacks); local 79 if (dwfl == NULL) 81 report_pid (dwfl, pid); 82 return dwfl; 99 Dwfl *dwfl local 162 Dwfl *dwfl = pid_to_dwfl (pid); local [all...] |
H A D | 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);
|
H A D | dwfl-report-elf-align.c | 27 #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);
|
H A D | 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);
|
H A D | 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);
|
H A D | low_high_pc.c | 21 #include ELFUTILS_HEADER(dwfl) 34 Dwfl *dwfl; member in struct:args 90 struct args a = { .dwfl = NULL, .cu = NULL }; 93 &a.dwfl); 94 assert (a.dwfl != NULL); 99 while ((a.cu = dwfl_nextcu (a.dwfl, a.cu, &a.dwbias)) != NULL) 106 dwfl_end (a.dwfl);
|
/external/elfutils/include/elfutils/ |
H A D | libdwfl.h | 110 extern void dwfl_report_begin (Dwfl *dwfl); 138 extern int dwfl_report_segment (Dwfl *dwfl, int ndx, 145 extern Dwfl_Module *dwfl_report_module (Dwfl *dwfl, const char *name, 160 extern Dwfl_Module *dwfl_report_elf (Dwfl *dwfl, const char *name, 168 extern Dwfl_Module *dwfl_report_offline (Dwfl *dwfl, const char *name, 179 extern int dwfl_report_end (Dwfl *dwfl, 190 extern void dwfl_report_begin_add (Dwfl *dwfl); 212 extern ptrdiff_t dwfl_getmodules (Dwfl *dwfl, 220 extern Dwfl_Module *dwfl_addrmodule (Dwfl *dwfl, Dwarf_Addr address); 226 extern int dwfl_addrsegment (Dwfl *dwfl, Dwarf_Add [all...] |