Skip to content
Snippets Groups Projects
Commit fa256e29 authored by Niklas Eiling's avatar Niklas Eiling
Browse files

gpu: fix gotos crossing initializations in gpu/main.c causing errors with recent g++ versions

parent 3377d9a6
No related branches found
No related tags found
No related merge requests found
......@@ -150,6 +150,24 @@ int cricket_restore(int argc, char *argv[])
uint64_t warp_mask;
size_t jmptbl_len;
uint32_t lanemask;
uint64_t sswarps;
cricket_jmptable_index *index;
cricket_jmptable_index *kernelindex;
uint64_t relative_ssy;
uint64_t jmptbl_address;
const char *fn;
uint32_t predicate = 1;
uint64_t cur_address = 0;
uint64_t start_address = 0;
uint64_t jmptable_addr;
uint64_t rb_address;
bool found_callstack = false;
uint32_t numDev = 0;
CricketDeviceProp dev_prop;
#ifdef CRICKET_PROFILE
//vars for profiling
double bt, ct, dt, et, ft, gt, comt;
......@@ -246,7 +264,6 @@ int cricket_restore(int argc, char *argv[])
LOGE(LOG_DEBUG, "got CUDA debugging API");
// We currently only support a single GPU
uint32_t numDev = 0;
if (!cricket_device_get_num(cudbgAPI, &numDev)) {
LOGE(LOG_ERROR, "error getting device num");
goto detach;
......@@ -257,7 +274,7 @@ int cricket_restore(int argc, char *argv[])
// Get device/architecture data so we know how many SMs/warps/lanes
// to restore
CricketDeviceProp dev_prop;
if (!cricket_device_get_prop(cudbgAPI, 0, &dev_prop)) {
printf("error getting device properties\n");
goto detach;
......@@ -284,22 +301,8 @@ int cricket_restore(int argc, char *argv[])
// cricket_cr_kernel_name(cudbgAPI, 0,0,0, &kernel_name);
// printf("cricket: kernel-name: \"%s\"\n", kernel_name);
uint32_t lanemask;
uint64_t sswarps;
warp_info.dev = 0;
warp_info.dev_prop = &dev_prop;
cricket_jmptable_index *index;
cricket_jmptable_index *kernelindex;
uint64_t relative_ssy;
uint64_t jmptbl_address;
const char *fn;
uint32_t predicate = 1;
uint64_t cur_address = 0;
uint64_t start_address = 0;
uint64_t jmptable_addr;
uint64_t rb_address;
bool found_callstack = false;
// We first need to navigate the jumptable in the kernel entry
// function.
......@@ -804,7 +807,7 @@ cuda_error:
int cricket_checkpoint(int argc, char *argv[])
{
char *ckp_dir = "/tmp/cricket-ckp";
const char *ckp_dir = "/tmp/cricket-ckp";
uint32_t numDev = 0;
const char *kernel_name = NULL;
const char *warp_kn;
......@@ -818,6 +821,8 @@ int cricket_checkpoint(int argc, char *argv[])
int ret = -1;
CUDBGResult res;
CUDBGAPI cudbgAPI;
cricketWarpInfo warp_info = { 0 };
#ifdef CRICKET_PROFILE
struct timeval a, b, c, d, e, f;
struct timeval la, lb, lc, ld, le, lf, lg;
......@@ -875,7 +880,7 @@ int cricket_checkpoint(int argc, char *argv[])
}
cricket_device_print_prop(&dev_prop);
warp_mask = malloc(sizeof(uint64_t) * dev_prop.numSMs);
warp_mask = (uint64_t*)malloc(sizeof(uint64_t) * dev_prop.numSMs);
res = cudbgAPI->readValidWarps(0, 0, warp_mask);
if (res != CUDBG_SUCCESS) {
......@@ -912,7 +917,6 @@ int cricket_checkpoint(int argc, char *argv[])
elf_info.stack_size, elf_info.param_addr, elf_info.param_size,
elf_info.param_num);
cricketWarpInfo warp_info = { 0 };
warp_info.dev = 0;
warp_info.dev_prop = &dev_prop;
warp_info.sm = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment