PAPI 7.1.0.0
Loading...
Searching...
No Matches
exeinfo.c File Reference
Include dependency graph for exeinfo.c:

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 18 of file exeinfo.c.

19{
20 int retval;
21
22 const PAPI_exe_info_t *exeinfo;
23
24 tests_quiet( argc, argv ); /* Set TESTS_QUIET variable */
25
26 if ( ( retval =
28 test_fail( __FILE__, __LINE__, "PAPI_library_init", retval );
29
30 if ( ( exeinfo = PAPI_get_executable_info( ) ) == NULL )
31 test_fail( __FILE__, __LINE__, "PAPI_get_executable_info", retval );
32
33 if (!TESTS_QUIET) {
34 printf( "Path+Program: %s\n", exeinfo->fullname );
35 printf( "Program: %s\n", exeinfo->address_info.name );
36 printf( "Text start: %p, Text end: %p\n", exeinfo->address_info.text_start,
37 exeinfo->address_info.text_end );
38 printf( "Data start: %p, Data end: %p\n", exeinfo->address_info.data_start,
39 exeinfo->address_info.data_end );
40 printf( "Bss start: %p, Bss end: %p\n", exeinfo->address_info.bss_start,
41 exeinfo->address_info.bss_end );
42 }
43
44 if ( ( strlen( &(exeinfo->fullname[0]) ) == 0 ) )
45 test_fail( __FILE__, __LINE__, "PAPI_get_executable_info", 1 );
46 if ( ( strlen( &(exeinfo->address_info.name[0]) ) == 0 ) )
47 test_fail( __FILE__, __LINE__, "PAPI_get_executable_info", 1 );
48 if ( ( exeinfo->address_info.text_start == 0x0 ) ||
49 ( exeinfo->address_info.text_end == 0x0 ) ||
50 ( exeinfo->address_info.text_start >=
51 exeinfo->address_info.text_end ) )
52 test_fail( __FILE__, __LINE__, "PAPI_get_executable_info", 1 );
53 if ( ( exeinfo->address_info.data_start == 0x0 ) ||
54 ( exeinfo->address_info.data_end == 0x0 ) ||
55 ( exeinfo->address_info.data_start >=
56 exeinfo->address_info.data_end ) )
57 test_fail( __FILE__, __LINE__, "PAPI_get_executable_info", 1 );
58/*
59 if ((exeinfo->address_info.bss_start == 0x0) || (exeinfo->address_info.bss_end == 0x0) ||
60 (exeinfo->address_info.bss_start >= exeinfo->address_info.bss_end))
61 test_fail(__FILE__, __LINE__, "PAPI_get_executable_info",1);
62*/
63
64 sleep( 1 ); /* Needed for debugging, so you can ^Z and stop the process, inspect /proc to see if it's right */
65
66 test_pass( __FILE__ );
67
68 return 0;
69}
Get the executable's address space info.
initialize the PAPI library.
#define PAPI_VER_CURRENT
Definition: f90papi.h:54
int TESTS_QUIET
Definition: test_utils.c:18
int tests_quiet(int argc, char **argv)
Definition: test_utils.c:376
void PAPI_NORETURN test_fail(const char *file, int line, const char *call, int retval)
Definition: test_utils.c:491
void PAPI_NORETURN test_pass(const char *filename)
Definition: test_utils.c:432
vptr_t text_start
Definition: papi.h:686
char name[PAPI_HUGE_STR_LEN]
Definition: papi.h:685
vptr_t text_end
Definition: papi.h:687
vptr_t bss_start
Definition: papi.h:690
vptr_t data_end
Definition: papi.h:689
vptr_t data_start
Definition: papi.h:688
vptr_t bss_end
Definition: papi.h:691
get the executable's info
Definition: papi.h:696
char fullname[PAPI_HUGE_STR_LEN]
Definition: papi.h:697
PAPI_address_map_t address_info
Definition: papi.h:698
int retval
Definition: zero_fork.c:53
Here is the call graph for this function: