Error propagation and trusted code in defensive mode.
authorAllison Morris <amorris@cs.wisc.edu>
Tue, 12 Jan 2016 03:37:27 +0000 (21:37 -0600)
committerAllison Morris <amorris@cs.wisc.edu>
Tue, 12 Jan 2016 03:37:27 +0000 (21:37 -0600)
commitc9929e53a103e89ee4e5eb92e9d711424dbb7ea3
treeace24d3e5f5b946d91ff57be14b83272d454b44d
parent792e1676957e6b71a272274509b52f3c8e6bf201
Error propagation and trusted code in defensive mode.

+Error checking and propagation:
Defensive mode parses all modules at start-up and instruments most
functions. This commit checks for errors and propagates them to the
upper layer. If any instrumentation fails, an error message is printed
and the process is aborted.

+Trusted code:
Defensive mode now uses a whitelist to mark certain system libraries as
safe. These are not parsed or instrumented at start-up. A new mechanism
exists for switching safe modules to defensive at runtime.
dyninstAPI/h/BPatch_module.h
dyninstAPI/src/BPatch.C
dyninstAPI/src/BPatch_module.C
dyninstAPI/src/dynProcess.C
dyninstAPI/src/hybridInstrumentation.C
dyninstAPI/src/mapped_object.C
dyninstAPI/src/mapped_object.h