[PATCH v2 0/7] improve btrace enable error reporting

Markus Metzger
2018-01-26T14:14:37Z

Recording may fail for a variety of reasons. Improve the error
messages by stating more clearly what operation failed and try to give
a reason why it failed.

Further align the error messages for native and remote debugging.

Changes to v1:
- move helper classes into gdb/common/
- add unit tests for helpers
- simplify helpers

Markus Metzger (7):
common: add scoped_fd
common: add scoped_mmap
btrace: prepare for throwing exceptions when enabling btrace
btrace, gdbserver: use exceptions to convey btrace enable/disable
errors
btrace, gdbserver: remove the to_supports_btrace target method
btrace: improve enable error messages
btrace: check perf_event_paranoid

gdb/Makefile.in | 2 +
gdb/btrace.c | 3 -
gdb/common/scoped_fd.h | 60 +++++
gdb/common/scoped_mmap.h | 76 ++++++
gdb/gdbserver/linux-low.c | 2 -
gdb/gdbserver/nto-low.c | 1 -
gdb/gdbserver/server.c | 80 +++----
gdb/gdbserver/spu-low.c | 1 -
gdb/gdbserver/target.h | 7 -
gdb/gdbserver/win32-low.c | 1 -
gdb/nat/linux-btrace.c | 427 ++++++++--------------------------
gdb/nat/linux-btrace.h | 3 -
gdb/remote.c | 32 ---
gdb/target-delegates.c | 33 ---
gdb/target.c | 8 -
gdb/target.h | 7 -
gdb/unittests/scoped_fd-selftests.c | 90 +++++++
gdb/unittests/scoped_mmap-selftests.c | 92 ++++++++
gdb/x86-linux-nat.c | 20 +-
19 files changed, 458 insertions(+), 487 deletions(-)
create mode 100644 gdb/common/scoped_fd.h
create mode 100644 gdb/common/scoped_mmap.h
create mode 100644 gdb/unittests/scoped_fd-selftests.c
create mode 100644 gdb/unittests/scoped_mmap-selftests.c

--
1.8.3.1