Changeset View
Changeset View
Standalone View
Standalone View
tools/tools/htm_torture/signal.c
- This file was added.
/* | |||||
* Copyright (c) 2017 Breno Leitao, Gustavo Romero, IBM Corp. | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without | |||||
* modification, are permitted provided that the following conditions | |||||
* are met: | |||||
* 1. Redistributions of source code must retain the above copyright | |||||
* notice, this list of conditions and the following disclaimer. | |||||
* 2. Redistributions in binary form must reproduce the above copyright | |||||
* notice, this list of conditions and the following disclaimer in the | |||||
* documentation and/or other materials provided with the distribution. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | |||||
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | |||||
* IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | |||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; | |||||
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | |||||
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | |||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
*/ | |||||
#include "torture.h" | |||||
#define DEBUG | |||||
gromero_linux.ibm.com: Is that a leftover? | |||||
void signal_handler(int signo, siginfo_t *si, void *data) | |||||
{ | |||||
#ifdef DEBUG_SIGNAL | |||||
// Set a local pointer to uc. | |||||
ucontext_t *uc = (ucontext_t *)data; | |||||
printf("* Received a SIGTRAP\n"); | |||||
printf("* si->si_addr = %p\n", si->si_addr); | |||||
printf("* uc->uc_mcontext.regs->nip: %p\n", | |||||
(void *) uc->uc_mcontext.regs->nip); | |||||
uc->uc_mcontext.regs->nip += 4; // Skip illegal instruction. | |||||
uc->uc_mcontext.gp_regs[32] += 4; // Same as above ;-) | |||||
gromero_linux.ibm.comUnsubmitted Not Done Inline ActionsI think this a leftover and can be removed as the previous line already increment the NIP by the correct amount (4 bytes). gromero_linux.ibm.com: I think this a leftover and can be removed as the previous line already increment the NIP by… | |||||
printf("x"); | |||||
#endif | |||||
} |
Is that a leftover?