mirror of
https://github.com/radareorg/radare2.git
synced 2024-11-28 15:41:38 +00:00
c816dc7e66
Specifically, avoid building all plugins as non-static objects, as well as some supplementary libraries. In fact, a large amount of plugins was already gated to build as shared objects only with WITHPIC=1, but this was not done consistently. This gating has been moved to */p/Makefile. Building these shared objects is a waste of time and breaks the --without-pic build unless CFLAGS is forced in the make invocation. |
||
---|---|---|
.. | ||
p | ||
bp_io.c | ||
bp_plugin.c | ||
bp_traptrace.c | ||
bp_watch.c | ||
bp.c | ||
Makefile | ||
meson.build | ||
README |
libr.bp ======= Breakpoint API - Manages list of defined breakpoints - Determines if a stop is caused by a breakpoint - Owns a database of multiple types of breakpoints - arch and os based ones - Supports endianness - r_bp_get should return a buffer and a length - Manages conditional breakpoints expressions - Types of breakpoints - software (traps) - conditional traps - hardware (registers) - mmu (changes page protections) - All non-native operations are translated into evaluable expressions by other modules. Like changing register values and so on - Do we should place some callbacks for this kind of ops? - We need to make this work also remotely - r_debug can handle the remoteness of the debugger backend. - r_io can do it also - Watchpoints and its exception should be handled here - watchpoint expressions should be handled by using the r_num stuff - Hardware breakpoints require access to registers, or pid/tid this is... the debugger backend. For those, the debugger backend should fill a callback to manage them. - if the debugger breakpoint handler does not manages the breakpoint type, r_bp must do it with r_io storing and loading bp bytes. * Do we need the plugin API to define new breakpoints and so on?