summaryrefslogtreecommitdiff
path: root/libcuda/cuobjdump.y
diff options
context:
space:
mode:
authorAhmed ElTantawy <[email protected]>2016-05-13 08:06:17 -0700
committerAhmed ElTantawy <[email protected]>2016-05-13 08:06:17 -0700
commit0b95282e887e6cc6eb48d93d5aa51252588c3260 (patch)
treecb19e2288b3dc9c28b3dfdf454ed12e64f0a5340 /libcuda/cuobjdump.y
parent4bdf48ed2098e036da1503405c30b71f39be0e94 (diff)
getting the parsing compatible with previous version - tested on 4.2, 5.5 and 7.5
Diffstat (limited to 'libcuda/cuobjdump.y')
-rw-r--r--libcuda/cuobjdump.y21
1 files changed, 9 insertions, 12 deletions
diff --git a/libcuda/cuobjdump.y b/libcuda/cuobjdump.y
index 5fc0c8f..29509e8 100644
--- a/libcuda/cuobjdump.y
+++ b/libcuda/cuobjdump.y
@@ -39,7 +39,7 @@ void setCuobjdumpelffilename(const char* filename);
void setCuobjdumpsassfilename(const char* filename);
int elfserial = 1;
int ptxserial = 1;
-
+int yydebug = 1;
FILE *ptxfile;
FILE *elffile;
FILE *sassfile;
@@ -75,7 +75,7 @@ section : PTXHEADER {
snprintf(filename, 1024, "_cuobjdump_%d.ptx", ptxserial++);
ptxfile = fopen(filename, "w");
setCuobjdumpptxfilename(filename);
- } headerinfo identifier ptxcode {
+ } headerinfo compressedkeyword identifier ptxcode {
fclose(ptxfile);
}
| ELFHEADER {
@@ -84,6 +84,7 @@ section : PTXHEADER {
elffile = fopen(filename, "w");
setCuobjdumpelffilename(filename);
} headerinfo identifier{
+ printf("\nHeader Info and Identifier Parsed\n");
} elfcode {
fclose(elffile);
snprintf(filename, 1024, "_cuobjdump_%d.sass", elfserial++);
@@ -98,24 +99,20 @@ headerinfo : H_SEPARATOR NEWLINE
H_CODEVERSION CODEVERSION NEWLINE
H_PRODUCER H_UNKNOWN NEWLINE
H_HOST IDENTIFIER NEWLINE
- H_COMPILESIZE IDENTIFIER emptylines {setCuobjdumparch($4);};
+ H_COMPILESIZE IDENTIFIER {setCuobjdumparch($4);};
| H_SEPARATOR NEWLINE
H_ARCH IDENTIFIER NEWLINE
H_CODEVERSION CODEVERSION NEWLINE
H_PRODUCER IDENTIFIER NEWLINE
H_HOST IDENTIFIER NEWLINE
- H_COMPILESIZE IDENTIFIER emptylines {setCuobjdumparch($4);};
- | H_SEPARATOR NEWLINE
- H_ARCH IDENTIFIER NEWLINE
- H_CODEVERSION CODEVERSION NEWLINE
- H_PRODUCER IDENTIFIER NEWLINE
- H_HOST IDENTIFIER NEWLINE
- H_COMPILESIZE IDENTIFIER NEWLINE
- H_COMPRESSED emptylines {setCuobjdumparch($4);};
+ H_COMPILESIZE IDENTIFIER {setCuobjdumparch($4);};
-identifier : H_IDENTIFIER FILENAME {setCuobjdumpidentifier($2);};
+identifier : H_IDENTIFIER FILENAME emptylines {setCuobjdumpidentifier($2);};
| ;
+compressedkeyword : H_COMPRESSED emptylines
+ | ;
+
ptxcode : ptxcode PTXLINE {fprintf(ptxfile, "%s", $2);}
| ;