diff options
author | markj <markj@FreeBSD.org> | 2015-07-21 23:07:55 +0000 |
---|---|---|
committer | markj <markj@FreeBSD.org> | 2015-07-21 23:07:55 +0000 |
commit | 8cefad6db06b1f448eee68e9585ce57ed9c1eb97 (patch) | |
tree | ccd1159c6d608481558c0bfbd1a9f8ce91ffdf8a /contrib/llvm/lib/CodeGen/ExecutionDepsFix.cpp | |
parent | 2d0eee839505b6e20d1eb1cf4e57b5299cc172c3 (diff) | |
download | FreeBSD-src-8cefad6db06b1f448eee68e9585ce57ed9c1eb97.zip FreeBSD-src-8cefad6db06b1f448eee68e9585ce57ed9c1eb97.tar.gz |
Don't return undefined symbols to a DDB symbol lookup.
Undefined symbols have a value of zero, so it makes no sense to return
such a symbol when performing a lookup by value. This occurs for example
when unwinding the stack after calling a NULL function pointer, and we
confusingly report the faulting function as uart_sab82532_class() on
amd64.
Convert db_print_loc_and_inst() to only attempt disassembly if we managed
to find a symbol corresponding to the IP. Otherwise we may fault and
re-enter the debugger.
Reviewed by: jhb
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D2858
Diffstat (limited to 'contrib/llvm/lib/CodeGen/ExecutionDepsFix.cpp')
0 files changed, 0 insertions, 0 deletions