[Compbench-devel] CompBenchmarks++/Benchmark Benchmark-DLLoader.cpp, 1.2, 1.3 Benchmark-DLLoader.h,
Brought to you by:
xfred
From: Frederic T. <xf...@us...> - 2006-12-28 18:18:25
|
Update of /cvsroot/compbench/CompBenchmarks++/Benchmark In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv30234 Modified Files: Benchmark-DLLoader.cpp Benchmark-DLLoader.h Log Message: Many improvements. Index: Benchmark-DLLoader.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/Benchmark/Benchmark-DLLoader.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Benchmark-DLLoader.cpp 28 Dec 2006 13:18:55 -0000 1.2 --- Benchmark-DLLoader.cpp 28 Dec 2006 18:18:15 -0000 1.3 *************** *** 61,64 **** --- 61,81 ---- } + + + + if (UO_verbose) + std::cout << " Checking cbmlib_getBenchmarks... "; + r->GetBenchmarks=(cbmlib_internal_getBenchmarks_t) (dlsym(r->library, "cbmlib_getBenchmarks")); + if (!r->GetBenchmarks) { + dlclose(library); + if (UO_verbose) + std::cout << "N.A." << std::endl; + delete(r); + return(0); + } else { + if (UO_verbose) + std::cout << "found." << std::endl; + } + if (UO_verbose) std::cout << " Checking cbmlib_getBenchmark... "; *************** *** 108,112 **** for(i=0; i<n; i++) { tmp=cbmlib_paths[i]; ! tmp+="/libcompbenchmarks-"; tmp+=package_id; tmp+=".so"; --- 125,129 ---- for(i=0; i<n; i++) { tmp=cbmlib_paths[i]; ! tmp+="/libcompbenchmarks-bm-"; tmp+=package_id; tmp+=".so"; Index: Benchmark-DLLoader.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/Benchmark/Benchmark-DLLoader.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Benchmark-DLLoader.h 28 Dec 2006 13:18:55 -0000 1.2 --- Benchmark-DLLoader.h 28 Dec 2006 18:18:15 -0000 1.3 *************** *** 25,35 **** typedef CBMBenchmark* (*cbmlib_internal_benchbyname_t)(char*, CBMSystem*); /** Low-level internal benchmark's shared library object */ typedef struct cbmlib_internal { void *library; ! std::string package_id; ! cbmlib_internal_number_t Number; ! cbmlib_internal_bench_t Bench; ! cbmlib_internal_benchbyname_t BenchByName; }; --- 25,40 ---- typedef CBMBenchmark* (*cbmlib_internal_benchbyname_t)(char*, CBMSystem*); + /** Function prototype for getting all benchmarks wihtin a package */ + typedef std::vector<std::string> (*cbmlib_internal_getBenchmarks_t)(void); + + /** Low-level internal benchmark's shared library object */ typedef struct cbmlib_internal { void *library; ! std::string package_id; ! cbmlib_internal_number_t Number; ! cbmlib_internal_bench_t Bench; ! cbmlib_internal_benchbyname_t BenchByName; ! cbmlib_internal_getBenchmarks_t GetBenchmarks; }; |