diff options
| author | Mengchi Zhang <[email protected]> | 2019-05-28 13:14:40 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-05-28 13:14:40 -0400 |
| commit | fb0618bb6905e70ad4055c1a2f7b1012508efaac (patch) | |
| tree | b302badc1adeddb1e270cec2dbcf7c2f07ed980e /libcuda/cuda_runtime_api.cc | |
| parent | 112e85e32c08e9fa0a34bb0ec262d8e95df61e6b (diff) | |
| parent | 895f18504daf849071936b0f3b97e07dd3878fa3 (diff) | |
Merge pull request #5 from echoedit/dev
Dev
Diffstat (limited to 'libcuda/cuda_runtime_api.cc')
| -rw-r--r-- | libcuda/cuda_runtime_api.cc | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/libcuda/cuda_runtime_api.cc b/libcuda/cuda_runtime_api.cc index fc152c2..168c80f 100644 --- a/libcuda/cuda_runtime_api.cc +++ b/libcuda/cuda_runtime_api.cc @@ -1972,9 +1972,10 @@ void setCuobjdumpsassfilename(const char* filename){ (dynamic_cast<cuobjdumpELFSection*>(cuobjdumpSectionList.front()))->setSASSfilename(filename); } typedef void * yyscan_t; +#include "cuobjdump.h" 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_parse(yyscan_t scanner, struct cuobjdump_parser* parser); extern int cuobjdump_lex_destroy(yyscan_t scanner); //! Return the executable file of the process containing the PTX/SASS code @@ -2187,11 +2188,13 @@ void extract_code_using_cuobjdump(){ FILE *cuobjdump_in; cuobjdump_in = fopen(fname, "r"); - yyscan_t scanner; - cuobjdump_lex_init(&scanner); - cuobjdump_set_in(cuobjdump_in, scanner); - cuobjdump_parse(scanner); - cuobjdump_lex_destroy(scanner); + struct cuobjdump_parser parser; + parser.elfserial = 1; + parser.ptxserial = 1; + cuobjdump_lex_init(&(parser.scanner)); + cuobjdump_set_in(cuobjdump_in, (parser.scanner)); + cuobjdump_parse(parser.scanner, &parser); + cuobjdump_lex_destroy(parser.scanner); fclose(cuobjdump_in); printf("Done parsing!!!\n"); } else { @@ -2241,11 +2244,13 @@ void extract_code_using_cuobjdump(){ std::cout << "Trying to parse " << libcodfn.str() << std::endl; FILE *cuobjdump_in; cuobjdump_in = fopen(libcodfn.str().c_str(), "r"); - yyscan_t scanner; - cuobjdump_lex_init(&scanner); - cuobjdump_set_in(cuobjdump_in, scanner); - cuobjdump_parse(scanner); - cuobjdump_lex_destroy(scanner); + struct cuobjdump_parser parser; + parser.elfserial = 1; + parser.ptxserial = 1; + cuobjdump_lex_init(&(parser.scanner)); + cuobjdump_set_in(cuobjdump_in, (parser.scanner)); + cuobjdump_parse(parser.scanner, &parser); + cuobjdump_lex_destroy(parser.scanner); fclose(cuobjdump_in); std::getline(libsf, line); } |
