summaryrefslogtreecommitdiff
path: root/libcuda/cuda_runtime_api.cc
diff options
context:
space:
mode:
authorMengchi Zhang <[email protected]>2019-05-08 14:31:31 -0400
committerGitHub <[email protected]>2019-05-08 14:31:31 -0400
commit7815b7ee86d4716e7133d91dd0c53d41580861b0 (patch)
tree562d4b6708804e29a98c749f22bc0e5d58c91db3 /libcuda/cuda_runtime_api.cc
parent204e6bf66c468f9ed8b42ea71ed74c5352d3c902 (diff)
parentdab24b95a31bf1401e42237ae2b46ab3df22058c (diff)
Merge pull request #2 from echoedit/dev
Move GPGPU-Sim to no reentrant
Diffstat (limited to 'libcuda/cuda_runtime_api.cc')
-rw-r--r--libcuda/cuda_runtime_api.cc21
1 files changed, 17 insertions, 4 deletions
diff --git a/libcuda/cuda_runtime_api.cc b/libcuda/cuda_runtime_api.cc
index 3a9d613..11dcd5a 100644
--- a/libcuda/cuda_runtime_api.cc
+++ b/libcuda/cuda_runtime_api.cc
@@ -1971,8 +1971,11 @@ void setCuobjdumpsassfilename(const char* filename){
}
(dynamic_cast<cuobjdumpELFSection*>(cuobjdumpSectionList.front()))->setSASSfilename(filename);
}
-extern int cuobjdump_parse();
-extern FILE *cuobjdump_in;
+typedef void * yyscan_t;
+extern int cuobjdump_lex_init(yyscan_t* scanner);
+extern void cuobjdump_set_in (FILE * _in_str ,yyscan_t yyscanner );
+extern int cuobjdump_parse(yyscan_t scanner);
+extern int cuobjdump_lex_destroy(yyscan_t scanner);
//! Return the executable file of the process containing the PTX/SASS code
//!
@@ -2181,9 +2184,14 @@ void extract_code_using_cuobjdump(){
if (parse_output) {
printf("Parsing file %s\n", fname);
+ FILE *cuobjdump_in;
cuobjdump_in = fopen(fname, "r");
- cuobjdump_parse();
+ yyscan_t scanner;
+ cuobjdump_lex_init(&scanner);
+ cuobjdump_set_in(cuobjdump_in, scanner);
+ cuobjdump_parse(scanner);
+ cuobjdump_lex_destroy(scanner);
fclose(cuobjdump_in);
printf("Done parsing!!!\n");
} else {
@@ -2231,8 +2239,13 @@ void extract_code_using_cuobjdump(){
std::cout << "Done" << std::endl;
std::cout << "Trying to parse " << libcodfn.str() << std::endl;
+ FILE *cuobjdump_in;
cuobjdump_in = fopen(libcodfn.str().c_str(), "r");
- cuobjdump_parse();
+ yyscan_t scanner;
+ cuobjdump_lex_init(&scanner);
+ cuobjdump_set_in(cuobjdump_in, scanner);
+ cuobjdump_parse(scanner);
+ cuobjdump_lex_destroy(scanner);
fclose(cuobjdump_in);
std::getline(libsf, line);
}