[DynInst_API:] [dyninst/dyninst] 7ce24b: Allow usage of SIGILL for signal trampolines (#963)


Date: Wed, 21 Apr 2021 14:54:35 -0700
From: noreply@xxxxxxxxxx
Subject: [DynInst_API:] [dyninst/dyninst] 7ce24b: Allow usage of SIGILL for signal trampolines (#963)
  Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: 7ce24bf14a7745492754adb5ede560dd343e6585
      https://github.com/dyninst/dyninst/commit/7ce24bf14a7745492754adb5ede560dd343e6585
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2021-04-21 (Wed, 21 Apr 2021)

  Changed paths:
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/addressSpace.h
    M dyninstAPI/src/binaryEdit.C
    M dyninstAPI/src/dynProcess.C
    M dyninstAPI_RT/src/RTposix.c

  Log Message:
  -----------
  Allow usage of SIGILL for signal trampolines (#963)

We only used SIGTRAP as the signal for tramopline.
However, SIGTRAP is always intercepted by GDB, causing it is
almost impossible to debug through signal trampolines.

In this commit, we add a new environment variable DYNINST_SIGNAL_TRAMPOLINE_SIGILL
to control whether we use SIGILL as the signal for trampolines.

If DYNINST_SIGNAL_TRAMPOLINE_SIGILL is set, we use SIGILL as signal trampolines
and the mutator will generate illegal instructions in the mutatee.

In the case of binary rewriting, DYNINST_SIGNAL_TRAMPOLINE_SIGILL should be
consistently set or unset when rewriting the binary and running the rewritten binaries.


[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 7ce24b: Allow usage of SIGILL for signal trampolines (#963), noreply <=