CCTLib
Calling-context and data-object attribution library for Intel Pin
sig_sigsegv_recover.cpp File Reference
#include <cstdint>
#include <cstdio>
#include <csetjmp>
#include <csignal>
#include <cstring>
+ Include dependency graph for sig_sigsegv_recover.cpp:

Go to the source code of this file.

Macros

#define ITERS   200
 

Functions

 __attribute__ ((noinline)) void sigsegv_try_marker(int i)
 
static void handler (int)
 
static void poke (int i)
 
int main (int argc, char **argv)
 

Variables

static volatile uint64_t sink
 
static uint64_t buf [ITERS]
 
static sigjmp_buf sjb
 

Macro Definition Documentation

◆ ITERS

#define ITERS   200

Definition at line 15 of file sig_sigsegv_recover.cpp.

Function Documentation

◆ __attribute__()

__attribute__ ( (noinline)  )

Definition at line 20 of file sig_sigsegv_recover.cpp.

References sink.

◆ handler()

static void handler ( int  )
static

Definition at line 27 of file sig_sigsegv_recover.cpp.

References sjb.

Referenced by PinCCTLib::CaptureLandingPadTarget(), and main().

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 39 of file sig_sigsegv_recover.cpp.

References buf, handler(), ITERS, poke(), sink, and sjb.

◆ poke()

static void poke ( int  i)
static

Definition at line 31 of file sig_sigsegv_recover.cpp.

References buf.

Referenced by main().

Variable Documentation

◆ buf

uint64_t buf[ITERS]
static

Definition at line 17 of file sig_sigsegv_recover.cpp.

Referenced by main(), and poke().

◆ sink

volatile uint64_t sink
static

Definition at line 16 of file sig_sigsegv_recover.cpp.

Referenced by __attribute__(), and main().

◆ sjb

sigjmp_buf sjb
static

Definition at line 18 of file sig_sigsegv_recover.cpp.

Referenced by handler(), and main().