diff options
| author | Mengchi Zhang <[email protected]> | 2019-05-08 14:31:31 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-05-08 14:31:31 -0400 |
| commit | 7815b7ee86d4716e7133d91dd0c53d41580861b0 (patch) | |
| tree | 562d4b6708804e29a98c749f22bc0e5d58c91db3 /libcuda/cuda_runtime_api.cc | |
| parent | 204e6bf66c468f9ed8b42ea71ed74c5352d3c902 (diff) | |
| parent | dab24b95a31bf1401e42237ae2b46ab3df22058c (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.cc | 21 |
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); } |
