Patch for score-p 1.4.2 fixing instrumentation issue with gfortran>=4.9.
This commit is contained in:
parent
afa2ff0a27
commit
1aaa1e0214
2 changed files with 85 additions and 1 deletions
|
@ -31,6 +31,6 @@ then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
src_prepare () {
|
src_prepare () {
|
||||||
patch -p2 < $SCLASS_DIR/$SCLASSFILE-0001.patch
|
patch -p1 < $SCLASS_DIR/$SCLASSFILE-0001.patch
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
84
packages/performance/scorep/scorep-1.4.2-0001.patch
Normal file
84
packages/performance/scorep/scorep-1.4.2-0001.patch
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
Index: trunk/src/adapters/compiler/gcc-plugin/scorep_plugin_inst_descriptor.inc.c
|
||||||
|
===================================================================
|
||||||
|
--- trunk/src/adapters/compiler/gcc-plugin/scorep_plugin_inst_descriptor.inc.c (revision 8827)
|
||||||
|
+++ trunk/src/adapters/compiler/gcc-plugin/scorep_plugin_inst_descriptor.inc.c (revision 9322)
|
||||||
|
@@ -201,19 +201,19 @@
|
||||||
|
|
||||||
|
/* The struct is 64 bytes, because of reserved entries */
|
||||||
|
DECL_SIZE( region_descr_var ) = build_int_cst( size_type_node, 64 * BITS_PER_UNIT );
|
||||||
|
DECL_SIZE_UNIT( region_descr_var ) = build_int_cst( size_type_node, 64 );
|
||||||
|
|
||||||
|
- DECL_INITIAL( region_descr_var ) = region_descr_value;
|
||||||
|
- DECL_CONTEXT( region_descr_var ) = current_function_decl;
|
||||||
|
- set_decl_section_name( region_descr_var, region_descrs_section );
|
||||||
|
+ DECL_INITIAL( region_descr_var ) = region_descr_value;
|
||||||
|
+ DECL_CONTEXT( region_descr_var ) = current_function_decl;
|
||||||
|
TREE_PUBLIC( region_descr_var ) = 0;
|
||||||
|
TREE_USED( region_descr_var ) = 1;
|
||||||
|
DECL_PRESERVE_P( region_descr_var ) = 1;
|
||||||
|
DECL_ARTIFICIAL( region_descr_var ) = 1;
|
||||||
|
DECL_IGNORED_P( region_descr_var ) = 1;
|
||||||
|
TREE_STATIC( region_descr_var ) = 1;
|
||||||
|
+ set_decl_section_name( region_descr_var, region_descrs_section );
|
||||||
|
|
||||||
|
mark_decl_referenced( region_descr_var );
|
||||||
|
varpool_finalize_decl( region_descr_var );
|
||||||
|
|
||||||
|
DECL_SEEN_IN_BIND_EXPR_P( region_descr_var ) = 1;
|
||||||
|
Index: trunk/src/adapters/compiler/gcc-plugin/scorep_plugin_inst_handle.inc.c
|
||||||
|
===================================================================
|
||||||
|
--- trunk/src/adapters/compiler/gcc-plugin/scorep_plugin_inst_handle.inc.c (revision 8827)
|
||||||
|
+++ trunk/src/adapters/compiler/gcc-plugin/scorep_plugin_inst_handle.inc.c (revision 9322)
|
||||||
|
@@ -59,20 +59,20 @@
|
||||||
|
tree handle_var = build_decl( UNKNOWN_LOCATION,
|
||||||
|
VAR_DECL,
|
||||||
|
get_identifier( region_handle_var_name ),
|
||||||
|
handle->type );
|
||||||
|
|
||||||
|
- DECL_INITIAL( handle_var ) = build_int_cst( handle->type, 0 );
|
||||||
|
- DECL_CONTEXT( handle_var ) = current_function_decl;
|
||||||
|
- set_decl_section_name( handle_var, region_handles_section );
|
||||||
|
+ DECL_INITIAL( handle_var ) = build_int_cst( handle->type, 0 );
|
||||||
|
+ DECL_CONTEXT( handle_var ) = current_function_decl;
|
||||||
|
TREE_STATIC( handle_var ) = 1;
|
||||||
|
TREE_PUBLIC( handle_var ) = 0;
|
||||||
|
TREE_USED( handle_var ) = 1;
|
||||||
|
DECL_PRESERVE_P( handle_var ) = 1;
|
||||||
|
DECL_ARTIFICIAL( handle_var ) = 0;
|
||||||
|
DECL_IGNORED_P( handle_var ) = 0;
|
||||||
|
varpool_finalize_decl( handle_var );
|
||||||
|
+ set_decl_section_name( handle_var, region_handles_section );
|
||||||
|
|
||||||
|
DECL_SEEN_IN_BIND_EXPR_P( handle_var ) = 1;
|
||||||
|
record_vars( handle_var );
|
||||||
|
|
||||||
|
handle->var = handle_var;
|
||||||
|
Index: trunk/src/adapters/compiler/gcc-plugin/scorep_plugin_cxx.cpp
|
||||||
|
===================================================================
|
||||||
|
--- trunk/src/adapters/compiler/gcc-plugin/scorep_plugin_cxx.cpp (revision 8874)
|
||||||
|
+++ trunk/src/adapters/compiler/gcc-plugin/scorep_plugin_cxx.cpp (revision 9322)
|
||||||
|
@@ -64,18 +64,22 @@
|
||||||
|
};
|
||||||
|
|
||||||
|
class pass_instrument : public gimple_opt_pass
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
- pass_instrument ( gcc::context* ctxt )
|
||||||
|
+ pass_instrument( gcc::context* ctxt )
|
||||||
|
: gimple_opt_pass( pass_data_instrument, ctxt )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/* opt_pass methods: */
|
||||||
|
unsigned int
|
||||||
|
+#if SCOREP_GCC_PLUGIN_TARGET_VERSION >= 5000
|
||||||
|
+ execute( function* )
|
||||||
|
+#else
|
||||||
|
execute()
|
||||||
|
+#endif
|
||||||
|
{
|
||||||
|
return scorep_plugin_pass_instrument_function();
|
||||||
|
}
|
||||||
|
|
||||||
|
opt_pass*
|
||||||
|
|
Loading…
Reference in a new issue