Searching for a range match can cause the search order to not match the sort order, which can cause libbacktrace to miss matching entries. Allocate an extra entry at the end of function_addrs and unit_addrs vectors, so that we can safely compare to the next entry when searching. Adjust the matching code accordingly. Fixes #44 * dwarf.c (function_addrs_search): Compare against the next entry low address, not the high address. (unit_addrs_search): Likewise. (build_address_map): Add a trailing unit_addrs. (read_function_entry): Add a trailing function_addrs. (read_function_info): Likewise. (report_inlined_functions): Search backward for function_addrs match. (dwarf_lookup_pc): Search backward for unit_addrs and function_addrs matches.
| Name |
Last commit
|
Last update |
|---|---|---|
| config | Loading commit data... | |
| .gitignore | Loading commit data... | |
| LICENSE | Loading commit data... | |
| Makefile.am | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| Mark.Twain-Tom.Sawyer.txt | Loading commit data... | |
| README.md | Loading commit data... | |
| aclocal.m4 | Loading commit data... | |
| alloc.c | Loading commit data... | |
| allocfail.c | Loading commit data... | |
| allocfail.sh | Loading commit data... | |
| atomic.c | Loading commit data... | |
| backtrace-supported.h.in | Loading commit data... | |
| backtrace.c | Loading commit data... | |
| backtrace.h | Loading commit data... | |
| btest.c | Loading commit data... | |
| compile | Loading commit data... | |
| config.guess | Loading commit data... | |
| config.h.in | Loading commit data... | |
| config.sub | Loading commit data... | |
| configure | Loading commit data... | |
| configure.ac | Loading commit data... | |
| dwarf.c | Loading commit data... | |
| edtest.c | Loading commit data... | |
| edtest2.c | Loading commit data... | |
| elf.c | Loading commit data... | |
| fileline.c | Loading commit data... | |
| filenames.h | Loading commit data... | |
| filetype.awk | Loading commit data... | |
| install-debuginfo-for-buildid.sh.in | Loading commit data... | |
| install-sh | Loading commit data... | |
| instrumented_alloc.c | Loading commit data... | |
| internal.h | Loading commit data... | |
| libtool.m4 | Loading commit data... | |
| ltmain.sh | Loading commit data... | |
| ltoptions.m4 | Loading commit data... | |
| ltsugar.m4 | Loading commit data... | |
| ltversion.m4 | Loading commit data... | |
| lt~obsolete.m4 | Loading commit data... | |
| macho.c | Loading commit data... | |
| missing | Loading commit data... | |
| mmap.c | Loading commit data... | |
| mmapio.c | Loading commit data... | |
| move-if-change | Loading commit data... | |
| nounwind.c | Loading commit data... | |
| pecoff.c | Loading commit data... | |
| posix.c | Loading commit data... | |
| print.c | Loading commit data... | |
| read.c | Loading commit data... | |
| simple.c | Loading commit data... | |
| sort.c | Loading commit data... | |
| state.c | Loading commit data... | |
| stest.c | Loading commit data... | |
| test-driver | Loading commit data... | |
| test_format.c | Loading commit data... | |
| testlib.c | Loading commit data... | |
| testlib.h | Loading commit data... | |
| ttest.c | Loading commit data... | |
| unittest.c | Loading commit data... | |
| unknown.c | Loading commit data... | |
| xcoff.c | Loading commit data... | |
| ztest.c | Loading commit data... |