summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libcuda/Makefile4
-rw-r--r--libcuda/cuda_runtime_api.cc10
-rw-r--r--libcuda/cuobjdump.h22
-rw-r--r--libcuda/cuobjdump.l6
-rw-r--r--libcuda/cuobjdump.y8
-rw-r--r--src/gpgpu-sim/gpu-cache.h6
6 files changed, 27 insertions, 29 deletions
diff --git a/libcuda/Makefile b/libcuda/Makefile
index c8ff2e3..13932e2 100644
--- a/libcuda/Makefile
+++ b/libcuda/Makefile
@@ -111,10 +111,10 @@ $(OUTPUT_DIR)/%.o: %.cc
$(CPP) $(CXXFLAGS) -I./ -I$(OUTPUT_DIR) -I$(CUDA_INSTALL_PATH)/include -c $< -o $@
$(OUTPUT_DIR)/%.o: %.c
- $(CPP) $(CCFLAGS) -I./ -I$(OUTPUT_DIR) -I$(CUDA_INSTALL_PATH)/include -c $< -o $@
+ $(CC) $(CCFLAGS) -I./ -I$(OUTPUT_DIR) -I$(CUDA_INSTALL_PATH)/include -c $< -o $@
$(OUTPUT_DIR)/%.o: $(OUTPUT_DIR)/%.c
- $(CPP) $(CCFLAGS) -I./ -I$(OUTPUT_DIR) -I$(CUDA_INSTALL_PATH)/include -c $< -o $@
+ $(CC) $(CCFLAGS) -I./ -I$(OUTPUT_DIR) -I$(CUDA_INSTALL_PATH)/include -c $< -o $@
$(OUTPUT_DIR)/cuobjdump_parser.c: cuobjdump.y
$(YACC) $(YFLAGS) -p cuobjdump_ -o$@ $< --file-prefix=$(OUTPUT_DIR)/cuobjdump
diff --git a/libcuda/cuda_runtime_api.cc b/libcuda/cuda_runtime_api.cc
index 1d4e870..168c80f 100644
--- a/libcuda/cuda_runtime_api.cc
+++ b/libcuda/cuda_runtime_api.cc
@@ -1975,7 +1975,7 @@ 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, cuobjdump_parser* parser);
+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
@@ -2188,7 +2188,9 @@ void extract_code_using_cuobjdump(){
FILE *cuobjdump_in;
cuobjdump_in = fopen(fname, "r");
- cuobjdump_parser parser;
+ 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);
@@ -2242,7 +2244,9 @@ 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");
- cuobjdump_parser parser;
+ 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);
diff --git a/libcuda/cuobjdump.h b/libcuda/cuobjdump.h
index 61bf806..66cd736 100644
--- a/libcuda/cuobjdump.h
+++ b/libcuda/cuobjdump.h
@@ -1,18 +1,12 @@
#ifndef __cuobjdump_h__
#define __cuobjdump_h__
-class cuobjdump_parser {
-
- public:
- yyscan_t scanner;
- int elfserial;
- int ptxserial;
- FILE *ptxfile;
- FILE *elffile;
- FILE *sassfile;
- char filename [1024];
- cuobjdump_parser() {
- int elfserial = 1;
- int ptxserial = 1;
- }
+struct cuobjdump_parser {
+ yyscan_t scanner;
+ int elfserial;
+ int ptxserial;
+ FILE *ptxfile;
+ FILE *elffile;
+ FILE *sassfile;
+ char filename [1024];
};
#endif /* __cuobjdump_h__ */
diff --git a/libcuda/cuobjdump.l b/libcuda/cuobjdump.l
index 26fbb55..eccc1f2 100644
--- a/libcuda/cuobjdump.l
+++ b/libcuda/cuobjdump.l
@@ -39,9 +39,9 @@
#define YYDEBUG 1
-void cuobjdump_error(yyscan_t yyscanner, cuobjdump_parser* parser, const char* msg);
+void cuobjdump_error(yyscan_t yyscanner, struct cuobjdump_parser* parser, const char* msg);
#define YY_DECL int cuobjdump_lex \
- (YYSTYPE * yylval_param , yyscan_t yyscanner, cuobjdump_parser* parser)
+ (YYSTYPE * yylval_param , yyscan_t yyscanner, struct cuobjdump_parser* parser)
%}
%option stack
@@ -159,7 +159,7 @@ newlines {newline}+
. cuobjdump_error(yyscanner, parser, "Invalid token");
%%
-void cuobjdump_error(yyscan_t yyscanner, cuobjdump_parser* parser, const char* msg)
+void cuobjdump_error(yyscan_t yyscanner, struct cuobjdump_parser* parser, const char* msg)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
printf(" %s near \"%s\"",msg, yytext);
diff --git a/libcuda/cuobjdump.y b/libcuda/cuobjdump.y
index 9c0c28d..fcc863e 100644
--- a/libcuda/cuobjdump.y
+++ b/libcuda/cuobjdump.y
@@ -41,16 +41,16 @@ void setCuobjdumpsassfilename(const char* filename);
%}
%define api.pure full
%parse-param {yyscan_t scanner}
-%parse-param {cuobjdump_parser* parser}
+%parse-param {struct cuobjdump_parser* parser}
%lex-param {yyscan_t scanner}
-%lex-param {cuobjdump_parser* parser}
+%lex-param {struct cuobjdump_parser* parser}
%union {
char* string_value;
}
%{
-int yylex(YYSTYPE * yylval_param, yyscan_t yyscanner, cuobjdump_parser* parser);
-void yyerror(yyscan_t yyscanner, cuobjdump_parser* parser, const char* msg);
+int yylex(YYSTYPE * yylval_param, yyscan_t yyscanner, struct cuobjdump_parser* parser);
+void yyerror(yyscan_t yyscanner, struct cuobjdump_parser* parser, const char* msg);
%}
%token <string_value> H_SEPARATOR H_ARCH H_CODEVERSION H_PRODUCER H_HOST H_COMPILESIZE H_IDENTIFIER H_UNKNOWN H_COMPRESSED
%token <string_value> CODEVERSION
diff --git a/src/gpgpu-sim/gpu-cache.h b/src/gpgpu-sim/gpu-cache.h
index 85e534e..d11a7fd 100644
--- a/src/gpgpu-sim/gpu-cache.h
+++ b/src/gpgpu-sim/gpu-cache.h
@@ -681,15 +681,15 @@ public:
// tag + index is required to check for hit/miss. Tag is now identical to the block address.
//return addr >> (m_line_sz_log2+m_nset_log2);
- return addr & ~(m_line_sz-1);
+ return addr & ~(new_addr_type)(m_line_sz-1);
}
new_addr_type block_addr( new_addr_type addr ) const
{
- return addr & ~(m_line_sz-1);
+ return addr & ~(new_addr_type)(m_line_sz-1);
}
new_addr_type mshr_addr( new_addr_type addr ) const
{
- return addr & ~(m_atom_sz-1);
+ return addr & ~(new_addr_type)(m_atom_sz-1);
}
enum mshr_config_t get_mshr_type() const
{