303 lines
10 KiB
Diff
303 lines
10 KiB
Diff
commit f10342a88c4b591b80444b5e2ff8ec063ef58fa4
|
|
Author: William Cohen <wcohen@redhat.com>
|
|
Date: Mon Jul 1 16:12:23 2013 -0400
|
|
|
|
Clean up option handling in papi_cost
|
|
|
|
The papi_cost used strstr to seach for the substring that matched the
|
|
option. this is pretty inexact. Made sure that the options matched
|
|
exactly and the option argments for -b and -t were greater than 0.
|
|
Also make papi_cost print out the help if there was an option that it
|
|
didn't understand.
|
|
|
|
Signed-off-by: William Cohen <wcohen@redhat.com>
|
|
|
|
diff --git a/src/utils/cost.c b/src/utils/cost.c
|
|
index 44b338d..5f7aa54 100644
|
|
--- a/src/utils/cost.c
|
|
+++ b/src/utils/cost.c
|
|
@@ -182,35 +182,34 @@ main( int argc, char **argv )
|
|
|
|
tests_quiet( argc, argv ); /* Set TESTS_QUIET variable */
|
|
|
|
- for ( i = 0; i < argc; i++ ) {
|
|
- if ( argv[i] ) {
|
|
- if ( strstr( argv[i], "-b" ) ) {
|
|
- bins = atoi( argv[i + 1] );
|
|
- if ( bins )
|
|
- i++;
|
|
- else {
|
|
- printf( "-b requires a bin count!\n" );
|
|
- exit( 1 );
|
|
- }
|
|
- }
|
|
- if ( strstr( argv[i], "-d" ) )
|
|
- show_dist = 1;
|
|
- if ( strstr( argv[i], "-h" ) ) {
|
|
- print_help( );
|
|
+ for ( i = 1; i < argc; i++ ) {
|
|
+ if ( !strcmp( argv[i], "-b" ) ) {
|
|
+ i++;
|
|
+ if ( i >= argc || (bins = atoi( argv[i] ) > 0 ) ) {
|
|
+ printf( "-b requires a positive bin count!\n" );
|
|
exit( 1 );
|
|
}
|
|
- if ( strstr( argv[i], "-s" ) )
|
|
- show_std_dev = 1;
|
|
- if ( strstr( argv[i], "-t" ) ) {
|
|
- num_iters = ( int ) atol( argv[i + 1] );
|
|
- if ( num_iters )
|
|
- i++;
|
|
- else {
|
|
- printf( "-t requires a threshold value!\n" );
|
|
- exit( 1 );
|
|
- }
|
|
+ }
|
|
+ else if ( !strcmp( argv[i], "-d" ) )
|
|
+ show_dist = 1;
|
|
+ else if ( !strcmp( argv[i], "-h" ) ) {
|
|
+ print_help( );
|
|
+ exit( 1 );
|
|
+ }
|
|
+ else if ( !strcmp( argv[i], "-s" ) )
|
|
+ show_std_dev = 1;
|
|
+ else if ( !strcmp( argv[i], "-t" ) ) {
|
|
+ i++;
|
|
+ if ( i >= argc || (num_iters = ( int ) atol( argv[i] ) > 0) ) {
|
|
+ printf( "-t requires a positive threshold value!\n" );
|
|
+ exit( 1 );
|
|
}
|
|
}
|
|
+ else {
|
|
+ /* If not a valid option, print out some help information */
|
|
+ print_help( );
|
|
+ exit( 1 );
|
|
+ }
|
|
}
|
|
|
|
printf( "Cost of execution for PAPI start/stop, read and accum.\n" );
|
|
|
|
commit b5adc5614855fbd024fc5d5cd73a0305c87af5aa
|
|
Author: William Cohen <wcohen@redhat.com>
|
|
Date: Mon Jul 1 16:12:25 2013 -0400
|
|
|
|
Clean up option handling for papi_native_avail
|
|
|
|
Corrected the help to reflect the name of the option "--noumasks".
|
|
Print error message if the "-i", "-e", and "-x" option arguments are invalid.
|
|
Avoid using strstr() for "-h", use strcmp instead.
|
|
Also check for "--help" option.
|
|
|
|
Signed-off-by: William Cohen <wcohen@redhat.com>
|
|
|
|
diff --git a/src/utils/native_avail.c b/src/utils/native_avail.c
|
|
index 5c303da..dcd4d99 100644
|
|
--- a/src/utils/native_avail.c
|
|
+++ b/src/utils/native_avail.c
|
|
@@ -23,7 +23,7 @@
|
|
* <li>-e EVENTNAME display detailed information about named native event
|
|
* <li>-i EVENTSTR include only event names that contain EVENTSTR
|
|
* <li>-x EVENTSTR exclude any event names that contain EVENTSTR
|
|
- * <li>--nomasks suppress display of Unit Mask information
|
|
+ * <li>--noumasks suppress display of Unit Mask information
|
|
* </ul>
|
|
*
|
|
* Processor-specific options
|
|
@@ -75,7 +75,7 @@ print_help( char **argv )
|
|
printf( " -e EVENTNAME display detailed information about named native event\n" );
|
|
printf( " -i EVENTSTR include only event names that contain EVENTSTR\n" );
|
|
printf( " -x EVENTSTR exclude any event names that contain EVENTSTR\n" );
|
|
- printf( " --nomasks suppress display of Unit Mask information\n" );
|
|
+ printf( " --noumasks suppress display of Unit Mask information\n" );
|
|
printf( "\nProcessor-specific options\n");
|
|
printf( " --darr display events supporting Data Address Range Restriction\n" );
|
|
printf( " --dear display Data Event Address Register events only\n" );
|
|
@@ -122,20 +122,29 @@ parse_args( int argc, char **argv, command_flags_t * f )
|
|
f->details = 1;
|
|
else if ( !strcmp( argv[i], "-e" ) ) {
|
|
f->named = 1;
|
|
- f->name = argv[i + 1];
|
|
- if ( no_str_arg( f->name ) ) f->help = 1;
|
|
i++;
|
|
+ f->name = argv[i];
|
|
+ if ( i >= argc || no_str_arg( f->name ) ) {
|
|
+ printf( "Invalid argument for -e\n");
|
|
+ exit(1);
|
|
+ }
|
|
} else if ( !strcmp( argv[i], "-i" ) ) {
|
|
f->include = 1;
|
|
- f->istr = argv[i + 1];
|
|
- if ( no_str_arg( f->istr ) ) f->help = 1;
|
|
i++;
|
|
+ f->istr = argv[i];
|
|
+ if ( i >= argc || no_str_arg( f->istr ) ) {
|
|
+ printf( "Invalid argument for -i\n");
|
|
+ exit(1);
|
|
+ }
|
|
} else if ( !strcmp( argv[i], "-x" ) ) {
|
|
f->xclude = 1;
|
|
- f->xstr = argv[i + 1];
|
|
- if ( no_str_arg( f->xstr ) ) f->help = 1;
|
|
i++;
|
|
- } else if ( strstr( argv[i], "-h" ) )
|
|
+ f->xstr = argv[i];
|
|
+ if ( i >= argc || no_str_arg( f->xstr ) ) {
|
|
+ printf( "Invalid argument for -x\n");
|
|
+ exit(1);
|
|
+ }
|
|
+ } else if ( !strcmp( argv[i], "-h" ) || !strcmp( argv[i], "--help" ) )
|
|
f->help = 1;
|
|
else {
|
|
printf( "%s is not supported\n", argv[i] );
|
|
|
|
commit 8933be9b144bba5e98be892452c7eb44cedbf2af
|
|
Author: William Cohen <wcohen@redhat.com>
|
|
Date: Mon Jul 1 16:12:24 2013 -0400
|
|
|
|
Clean up option handling in papi_decode
|
|
|
|
papi_decode used strstr() to match options; this can lead to inexact
|
|
matchs. The code should used strcmp instead. Make sure command name
|
|
is not processed as an option. Also print help iformation is some
|
|
argument is not understood.
|
|
|
|
Signed-off-by: William Cohen <wcohen@redhat.com>
|
|
|
|
diff --git a/src/utils/decode.c b/src/utils/decode.c
|
|
index 3ab7607..ce7cef8 100644
|
|
--- a/src/utils/decode.c
|
|
+++ b/src/utils/decode.c
|
|
@@ -66,11 +66,14 @@ main( int argc, char **argv )
|
|
PAPI_event_info_t info;
|
|
|
|
tests_quiet( argc, argv ); /* Set TESTS_QUIET variable */
|
|
- for ( i = 0; i < argc; i++ )
|
|
+ for ( i = 1; i < argc; i++ )
|
|
if ( argv[i] ) {
|
|
- if ( strstr( argv[i], "-a" ) )
|
|
+ if ( !strcmp( argv[i], "-a" ) )
|
|
print_avail_only = PAPI_PRESET_ENUM_AVAIL;
|
|
- if ( strstr( argv[i], "-h" ) ) {
|
|
+ else if ( !strcmp( argv[i], "-h" ) ) {
|
|
+ print_help( );
|
|
+ exit( 1 );
|
|
+ } else {
|
|
print_help( );
|
|
exit( 1 );
|
|
}
|
|
|
|
commit d94ac43aee03c03abf143bdc0f62f704e2c26f99
|
|
Author: William Cohen <wcohen@redhat.com>
|
|
Date: Mon Jul 1 16:12:22 2013 -0400
|
|
|
|
Improve option matching in papi_component and add "--help" option
|
|
|
|
Signed-off-by: William Cohen <wcohen@redhat.com>
|
|
|
|
diff --git a/src/utils/component.c b/src/utils/component.c
|
|
index 6eb6a11..e69872b 100644
|
|
--- a/src/utils/component.c
|
|
+++ b/src/utils/component.c
|
|
@@ -55,7 +55,7 @@ parse_args( int argc, char **argv, command_flags_t * f )
|
|
for ( i = 1; i < argc; i++ ) {
|
|
if ( !strcmp( argv[i], "-d" ) ) {
|
|
f->details = 1;
|
|
- } else if ( strstr( argv[i], "-h" ) )
|
|
+ } else if ( !strcmp( argv[i], "-h" ) || !strcmp( argv[i], "--help" ) )
|
|
f->help = 1;
|
|
else
|
|
printf( "%s is not supported\n", argv[i] );
|
|
|
|
commit bb63fe5c270fc970d4fc1a592369472b03d1a928
|
|
Author: William Cohen <wcohen@redhat.com>
|
|
Date: Mon Jul 1 16:12:21 2013 -0400
|
|
|
|
Add options to papi_command_line man page and improve opt handling
|
|
|
|
Add options mention in the -h to the man page. Also improve the matching
|
|
of the options.
|
|
|
|
Signed-off-by: William Cohen <wcohen@redhat.com>
|
|
|
|
diff --git a/src/utils/command_line.c b/src/utils/command_line.c
|
|
index 8eb995a..7fecc07 100644
|
|
--- a/src/utils/command_line.c
|
|
+++ b/src/utils/command_line.c
|
|
@@ -17,7 +17,11 @@
|
|
* and if they give reasonable results for known work.
|
|
*
|
|
* @section Options
|
|
- * This utility has no command line options.
|
|
+ * <ul>
|
|
+ * <li>-u Display output values as unsigned integers
|
|
+ * <li>-x Display output values as hexadecimal
|
|
+ * <li>-h Display help information about this utility.
|
|
+ * </ul>
|
|
*
|
|
* @section Bugs
|
|
* There are no known bugs in this utility.
|
|
@@ -78,12 +82,12 @@ main( int argc, char **argv )
|
|
test_fail_exit( __FILE__, __LINE__, "malloc", PAPI_ESYS );
|
|
|
|
for ( num_events = 0, i = 1; i < argc; i++ ) {
|
|
- if ( strstr( argv[i], "-h" ) ) {
|
|
+ if ( !strcmp( argv[i], "-h" ) ) {
|
|
print_help( argv );
|
|
exit( 1 );
|
|
- } else if ( strstr( argv[i], "-u" ) ) {
|
|
+ } else if ( !strcmp( argv[i], "-u" ) ) {
|
|
u_format = 1;
|
|
- } else if ( strstr( argv[i], "-x" ) ) {
|
|
+ } else if ( !strcmp( argv[i], "-x" ) ) {
|
|
hex_format = 1;
|
|
} else {
|
|
if ( ( retval = PAPI_add_named_event( EventSet, argv[i] ) ) != PAPI_OK ) {
|
|
|
|
commit 09059c8223e43c2aaa13aafda094d30a8b220321
|
|
Author: William Cohen <wcohen@redhat.com>
|
|
Date: Mon Jul 1 16:12:20 2013 -0400
|
|
|
|
Add information for papi_version to be complete
|
|
|
|
Signed-off-by: William Cohen <wcohen@redhat.com>
|
|
|
|
diff --git a/doc/Makefile b/doc/Makefile
|
|
index 98d1733..7b52a23 100644
|
|
--- a/doc/Makefile
|
|
+++ b/doc/Makefile
|
|
@@ -11,7 +11,7 @@ man: man/man1 man/man3
|
|
man/man3: ../src/papi.h
|
|
doxygen Doxyfile-man3
|
|
|
|
-man/man1: ../src/utils/avail.c ../src/utils/clockres.c ../src/utils/command_line.c ../src/utils/component.c ../src/utils/cost.c ../src/utils/decode.c ../src/utils/error_codes.c ../src/utils/event_chooser.c ../src/utils/event_info.c ../src/utils/mem_info.c ../src/utils/multiplex_cost.c ../src/utils/native_avail.c
|
|
+man/man1: ../src/utils/avail.c ../src/utils/clockres.c ../src/utils/command_line.c ../src/utils/component.c ../src/utils/cost.c ../src/utils/decode.c ../src/utils/error_codes.c ../src/utils/event_chooser.c ../src/utils/event_info.c ../src/utils/mem_info.c ../src/utils/multiplex_cost.c ../src/utils/native_avail.c ../src/utils/version.c
|
|
doxygen Doxyfile-man1
|
|
|
|
clean:
|
|
diff --git a/src/utils/version.c b/src/utils/version.c
|
|
index 231f1cc..43932fb 100644
|
|
--- a/src/utils/version.c
|
|
+++ b/src/utils/version.c
|
|
@@ -1,3 +1,21 @@
|
|
+/**
|
|
+ * file version.c
|
|
+ * @brief papi_version utility.
|
|
+ * @page papi_version
|
|
+ * @section Name
|
|
+ * papi_version - provides version information for papi.
|
|
+ *
|
|
+ * @section Synopsis
|
|
+ * papi_version
|
|
+ *
|
|
+ * @section Description
|
|
+ * papi_version is a PAPI utility program that reports version
|
|
+ * information about the current PAPI installation.
|
|
+ *
|
|
+ * @section Bugs
|
|
+ * There are no known bugs in this utility.
|
|
+ * If you find a bug, it should be reported to the PAPI Mailing List at <ptools-perfapi@ptools.org>.
|
|
+ */
|
|
/* This utility displays the current PAPI version number */
|
|
|
|
#include <stdlib.h>
|