From a1bed248a640b49df815ed2f8e0a68f023e15004 Mon Sep 17 00:00:00 2001 From: William Cohen Date: Thu, 20 Sep 2012 16:16:30 -0400 Subject: [PATCH] Rebase to papi-5.0.1. --- .gitignore | 1 + papi-ivb.patch | 50 ----- papi-unbundled-libpfm4.patch | 359 ----------------------------------- papi.spec | 12 +- sources | 2 +- 5 files changed, 7 insertions(+), 417 deletions(-) delete mode 100644 papi-ivb.patch delete mode 100644 papi-unbundled-libpfm4.patch diff --git a/.gitignore b/.gitignore index 019722b..5104fda 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ papi-4.1.0.tar.gz /papi-4.2.1.tar.gz /papi-4.4.0.tar.gz /papi-5.0.0.tar.gz +/papi-5.0.1.tar.gz diff --git a/papi-ivb.patch b/papi-ivb.patch deleted file mode 100644 index 115e904..0000000 --- a/papi-ivb.patch +++ /dev/null @@ -1,50 +0,0 @@ -commit 5ad4e41e693e976a49d61bada0d690075e1f2681 -Author: Dan Terpstra -Date: Sun Sep 9 16:57:42 2012 -0400 - - Remove doubly defined events from the combined Sandy / Ivy Bridge event table to fix my previous commit. - -diff --git a/src/papi_events.csv b/src/papi_events.csv -index 36630f6..27b6ba9 100644 ---- a/src/papi_events.csv -+++ b/src/papi_events.csv -@@ -565,8 +565,6 @@ PRESET,PAPI_L3_TCW,NOT_DERIVED,L2_RQSTS:RFO_MISS - PRESET,PAPI_BR_TKN,DERIVED_SUB,BR_INST_RETIRED:ALL_BRANCHES,BR_INST_RETIRED:NOT_TAKEN - PRESET,PAPI_BR_NTK,NOT_DERIVED,BR_INST_RETIRED:NOT_TAKEN - PRESET,PAPI_BR_INS,NOT_DERIVED,BR_INST_RETIRED:ALL_BRANCHES --PRESET,PAPI_BR_CN,NOT_DERIVED,BR_INST_RETIRED:CONDITIONAL --PRESET,PAPI_BR_UCN,DERIVED_SUB,BR_INST_RETIRED:ALL_BRANCHES,BR_INST_RETIRED:CONDITIONAL - PRESET,PAPI_BR_MSP,NOT_DERIVED,BR_MISP_RETIRED:ALL_BRANCHES - PRESET,PAPI_BR_PRC,DERIVED_SUB,BR_INST_RETIRED:ALL_BRANCHES,BR_MISP_RETIRED:ALL_BRANCHES - # - -commit 7bcb741fa6797efd8c2932e9dba44fcc90c50124 -Author: Dan Terpstra -Date: Thu Sep 6 16:50:15 2012 -0400 - - Fix event name issue for Ivy Bridge that surfaced in a recent libpfm4 commit. - -diff --git a/src/papi_events.csv b/src/papi_events.csv -index c42f693..36630f6 100644 ---- a/src/papi_events.csv -+++ b/src/papi_events.csv -@@ -583,6 +583,8 @@ CPU,snb_ep - # - PRESET,PAPI_L2_TCW,NOT_DERIVED,L2_RQSTS:RFO_ANY - PRESET,PAPI_L2_DCH,DERIVED_ADD,L2_RQSTS:ALL_DEMAND_RD_HIT,L2_RQSTS:RFO_HITS -+PRESET,PAPI_BR_CN,NOT_DERIVED,BR_INST_RETIRED:CONDITIONAL -+PRESET,PAPI_BR_UCN,DERIVED_SUB,BR_INST_RETIRED:ALL_BRANCHES,BR_INST_RETIRED:CONDITIONAL - PRESET,PAPI_TLB_DM,DERIVED_ADD,DTLB_LOAD_MISSES:CAUSES_A_WALK,DTLB_STORE_MISSES:CAUSES_A_WALK - # - # Counts scalars only; no SSE or AVX is counted; includes speculative -@@ -598,7 +600,9 @@ PRESET,PAPI_VEC_DP,DERIVED_POSTFIX,N0|2|*|N1|4|*|+|,FP_COMP_OPS_EXE:SSE_FP_PACKE - CPU,ivb - # - PRESET,PAPI_L2_TCW,NOT_DERIVED,L2_RQSTS:ALL_RFO --PRESET,PAPI_L2_DCH,DERIVED_ADD,L2_RQSTS:DEMAND_DATA_RD_HIT,L2_RQSTS:RFO_HITS -+PRESET,PAPI_L2_DCH,DERIVED_ADD,L2_RQSTS:DEMAND_DATA_RD_HIT,L2_RQSTS:RFO_HIT -+PRESET,PAPI_BR_CN,NOT_DERIVED,BR_INST_RETIRED:COND -+PRESET,PAPI_BR_UCN,DERIVED_SUB,BR_INST_RETIRED:ALL_BRANCHES,BR_INST_RETIRED:COND - PRESET,PAPI_TLB_DM,DERIVED_ADD,DTLB_LOAD_MISSES:DEMAND_LD_MISS_CAUSES_A_WALK,DTLB_STORE_MISSES:CAUSES_A_WALK - # - CPU,Intel Core2 diff --git a/papi-unbundled-libpfm4.patch b/papi-unbundled-libpfm4.patch deleted file mode 100644 index d816e7e..0000000 --- a/papi-unbundled-libpfm4.patch +++ /dev/null @@ -1,359 +0,0 @@ -commit bc9ddffc849009110176c9a4d9deedb679589856 -Author: Vince Weaver -Date: Tue Aug 28 14:54:04 2012 -0400 - - Fix compiling with separate libpfm4 - - The problem was if you used any of the --with-pfm-incdir - type directives to configure, it would them assume you wanted - a perfmon2 build. - - This removes that assumption. - - I did check this with perfmon2, perfctr, and perf_event builds - so hopefully I didn't break anything. - -diff --git a/src/configure b/src/configure -index 50b76ed..1a802e2 100755 ---- a/src/configure -+++ b/src/configure -@@ -5290,6 +5290,9 @@ fi - echo "$as_me:$LINENO: result: $shlib" >&5 - echo "${ECHO_T}$shlib" >&6 - -+# default -+pfm_incdir="libpfm4/include/" -+ - ################################################## - # perfctr - ################################################## -@@ -5358,6 +5361,7 @@ fi - fi - - if test "$perfctr" != 0; then -+ pfm_incdir="libpfm-3.y/include/" - echo "$as_me:$LINENO: checking for perfctr version" >&5 - echo $ECHO_N "checking for perfctr version... $ECHO_C" >&6 - if test "$perfctr" = 7 -a "$arch" != "ppc64"; then -@@ -5717,6 +5721,7 @@ if test "${with_perfmon+set}" = set; then - perfmon=$withval - user_specified_interface=perfmon - force_perfmon2=yes -+ pfm_incdir="libpfm-3.y/include" - perfmon=`echo ${perfmon} | sed 's/^ \t*//;s/ \t*$//'` - perfmon=`echo ${perfmon} | grep -e '[1-9]\.[0-9][0-9]*'` - if test "x$perfmon" = "x"; then -@@ -5797,32 +5802,30 @@ fi - fi; - - -+ -+ - # Check whether --with-pfm_root or --without-pfm_root was given. - if test "${with_pfm_root+set}" = set; then - withval="$with_pfm_root" - pfm_root=$withval -- user_specified_interface=perfmon - fi; - - # Check whether --with-pfm_prefix or --without-pfm_prefix was given. - if test "${with_pfm_prefix+set}" = set; then - withval="$with_pfm_prefix" - pfm_prefix=$withval -- user_specified_interface=perfmon - fi; - - # Check whether --with-pfm_incdir or --without-pfm_incdir was given. - if test "${with_pfm_incdir+set}" = set; then - withval="$with_pfm_incdir" - pfm_incdir=$withval -- user_specified_interface=perfmon - fi; - - # Check whether --with-pfm_libdir or --without-pfm_libdir was given. - if test "${with_pfm_libdir+set}" = set; then - withval="$with_pfm_libdir" - pfm_libdir=$withval -- user_specified_interface=perfmon - fi; - - -@@ -5831,7 +5834,7 @@ fi; - ################################################## - perf_events=no - force_perf_events=no --pe_incdir="libpfm4/include/perfmon" -+pe_incdir="$pfm_incdir/perfmon" - - - # Check whether --with-perf_events or --without-perf_events was given. -diff --git a/src/configure.in b/src/configure.in -index 6e79436..6a36421 100644 ---- a/src/configure.in -+++ b/src/configure.in -@@ -766,6 +766,9 @@ if test "$papiLIBS" != "shared static"; then - fi - AC_MSG_RESULT($shlib) - -+# default -+pfm_incdir="libpfm4/include/" -+ - ################################################## - # perfctr - ################################################## -@@ -788,6 +791,7 @@ if test "$cross_compiling" = "no" ; then - fi - - if test "$perfctr" != 0; then -+ pfm_incdir="libpfm-3.y/include/" - AC_MSG_CHECKING(for perfctr version) - if test "$perfctr" = 7 -a "$arch" != "ppc64"; then - AC_MSG_ERROR([Perfctr 2.7.x only works on PPC64 machines. Patch kernel with 2.6.x.]) -@@ -871,6 +875,7 @@ AC_ARG_WITH(perfmon, - [perfmon=$withval - user_specified_interface=perfmon - force_perfmon2=yes -+ pfm_incdir="libpfm-3.y/include" - perfmon=`echo ${perfmon} | sed 's/^[ \t]*//;s/[ \t]*$//'` - perfmon=`echo ${perfmon} | grep -e '[[1-9]]\.[[0-9]][[0-9]]*'` - if test "x$perfmon" = "x"; then -@@ -906,22 +911,20 @@ AC_ARG_WITH(perfmon, - fi - fi]) - -+ -+ - AC_ARG_WITH(pfm_root, - [ --with-pfm-root= Specify path to source tree (for use by developers only) ], -- [pfm_root=$withval -- user_specified_interface=perfmon]) -+ [pfm_root=$withval]) - AC_ARG_WITH(pfm_prefix, - [ --with-pfm-prefix= Specify prefix to installed pfm distribution ], -- [pfm_prefix=$withval -- user_specified_interface=perfmon]) -+ [pfm_prefix=$withval]) - AC_ARG_WITH(pfm_incdir, - [ --with-pfm-incdir= Specify directory of pfm header files in non-standard location ], -- [pfm_incdir=$withval -- user_specified_interface=perfmon]) -+ [pfm_incdir=$withval]) - AC_ARG_WITH(pfm_libdir, - [ --with-pfm-libdir= Specify directory of pfm library in non-standard location ], -- [pfm_libdir=$withval -- user_specified_interface=perfmon]) -+ [pfm_libdir=$withval]) - - - ################################################## -@@ -929,7 +932,7 @@ AC_ARG_WITH(pfm_libdir, - ################################################## - perf_events=no - force_perf_events=no --pe_incdir="libpfm4/include/perfmon" -+pe_incdir="$pfm_incdir/perfmon" - - AC_ARG_WITH(perf_events, - [ --with-perf-events Specify use of Linux Performance Event (requires kernel 2.6.32 or greater)], -commit f4465bbb633d6a123093fe20b7c1c091d3067a07 -Author: Vince Weaver -Date: Tue Aug 28 14:55:30 2012 -0400 - - Add some spacing to the Rules.pfm4_pe - - Otherwise it was difficult figuring out what the nested set - of if/ifdefs was doing. - -diff --git a/src/Rules.pfm4_pe b/src/Rules.pfm4_pe -index 25e7441..56a2f07 100644 ---- a/src/Rules.pfm4_pe -+++ b/src/Rules.pfm4_pe -@@ -2,23 +2,23 @@ - DESCR = "Linux with perf_event kernel support and libpfm4" - - ifneq (/usr,$(PFM_PREFIX)) --PWD = $(shell pwd) --ifeq (,$(PFM_LIB_PATH)) --ifeq (,$(PFM_ROOT)) -- PFM_ROOT := $(PWD)/libpfm4 --endif -- PFM_LIB_PATH := $(PFM_ROOT)/lib -- CC_SHR += -Wl,-rpath-link -Wl,$(PFM_LIB_PATH) --endif --ifeq (,$(PFM_INC_PATH)) --ifeq (,$(PFM_ROOT)) -- PFM_ROOT := $(PWD)/libpfm4 --endif -- PFM_INC_PATH := $(PFM_ROOT)/include --endif --ifneq (/usr/include,$(PFM_INC_PATH)) --CFLAGS += -I$(PFM_INC_PATH) --endif -+ PWD = $(shell pwd) -+ ifeq (,$(PFM_LIB_PATH)) -+ ifeq (,$(PFM_ROOT)) -+ PFM_ROOT := $(PWD)/libpfm4 -+ endif -+ PFM_LIB_PATH := $(PFM_ROOT)/lib -+ CC_SHR += -Wl,-rpath-link -Wl,$(PFM_LIB_PATH) -+ endif -+ ifeq (,$(PFM_INC_PATH)) -+ ifeq (,$(PFM_ROOT)) -+ PFM_ROOT := $(PWD)/libpfm4 -+ endif -+ PFM_INC_PATH := $(PFM_ROOT)/include -+ endif -+ ifneq (/usr/include,$(PFM_INC_PATH)) -+ CFLAGS += -I$(PFM_INC_PATH) -+ endif - endif - - MISCHDRS += linux-lock.h mb.h papi_libpfm4_events.h $(PAPI_EVENTS_TABLE) -commit 729a87213660a2136ea227c79313ebcc2eb97989 -Author: Vince Weaver -Date: Tue Aug 28 17:02:07 2012 -0400 - - configure: don't check for libpfm if incdir specified - - When various --with-pfm values are passed, extra checks are done - against the libpfm library. This was being done even if only - the include path was specified, which probably shouldn't be necessary. - - This broke things because a recent change I made had the - libpfm include path be always valid. - -diff --git a/src/configure b/src/configure -index 1a802e2..dd18bbf 100755 ---- a/src/configure -+++ b/src/configure -@@ -5407,11 +5407,11 @@ if test "$perfctr" != 0; then - dotest=0 - if test "x$perfctr_root" != "x"; then - LIBS="-L$perfctr_root/usr.lib -lperfctr" -- CPPFLAGS="-I$perfctr_root/usr.lib -I$perfctr_root/linux/include" -+ CPPFLAGS="$CPPFLAGS -I$perfctr_root/usr.lib -I$perfctr_root/linux/include" - dotest=1 - elif test "x$perfctr_prefix" != "x"; then - LIBS="-L$perfctr_prefix/lib -lperfctr" -- CPPFLAGS="-I$perfctr_prefix/include" -+ CPPFLAGS="$CPPFLAGS -I$perfctr_prefix/include" - perfctr_libdir="$perfctr_prefix/lib" - perfctr_incdir="$perfctr_prefix/include" - dotest=1 -@@ -5425,6 +5425,7 @@ if test "$perfctr" != 0; then - dotest=1 - fi - fi -+ - if test "$dotest" = 1; then - echo "$as_me:$LINENO: checking for vperfctr_open in -lperfctr" >&5 - echo $ECHO_N "checking for vperfctr_open in -lperfctr... $ECHO_C" >&6 -@@ -5955,11 +5956,11 @@ if test "$perfmon" != 0 -o "$perf_events" = "yes"; then - dotest=0 - if test "x$pfm_root" != "x"; then - LIBS="-L$pfm_root/lib -lpfm" -- CPPFLAGS="-I$pfm_root/include" -+ CPPFLAGS="$CPPFLAGS -I$pfm_root/include" - dotest=1 - elif test "x$pfm_prefix" != "x"; then - LIBS="-L$pfm_prefix/lib -lpfm" -- CPPFLAGS="-I$pfm_prefix/include" -+ CPPFLAGS="$CPPFLAGS -I$pfm_prefix/include" - if test "x$pfm_libdir" = "x"; then - pfm_libdir="$pfm_prefix/lib" - fi -@@ -5973,8 +5974,7 @@ if test "$perfmon" != 0 -o "$perf_events" = "yes"; then - dotest=1 - fi - if test "x$pfm_incdir" != "x"; then -- CPPFLAGS="-I$pfm_incdir" -- dotest=1 -+ CPPFLAGS="$CPPFLAGS -I$pfm_incdir" - fi - fi - if test "$dotest" = 1; then -diff --git a/src/configure.in b/src/configure.in -index 6a36421..c286c62 100644 ---- a/src/configure.in -+++ b/src/configure.in -@@ -821,11 +821,11 @@ if test "$perfctr" != 0; then - dotest=0 - if test "x$perfctr_root" != "x"; then - LIBS="-L$perfctr_root/usr.lib -lperfctr" -- CPPFLAGS="-I$perfctr_root/usr.lib -I$perfctr_root/linux/include" -+ CPPFLAGS="$CPPFLAGS -I$perfctr_root/usr.lib -I$perfctr_root/linux/include" - dotest=1 - elif test "x$perfctr_prefix" != "x"; then - LIBS="-L$perfctr_prefix/lib -lperfctr" -- CPPFLAGS="-I$perfctr_prefix/include" -+ CPPFLAGS="$CPPFLAGS -I$perfctr_prefix/include" - perfctr_libdir="$perfctr_prefix/lib" - perfctr_incdir="$perfctr_prefix/include" - dotest=1 -@@ -839,6 +839,7 @@ if test "$perfctr" != 0; then - dotest=1 - fi - fi -+ - if test "$dotest" = 1; then - AC_CHECK_LIB([perfctr], [vperfctr_open], - [AC_CHECK_HEADERS([libperfctr.h], -@@ -1004,11 +1005,11 @@ if test "$perfmon" != 0 -o "$perf_events" = "yes"; then - dotest=0 - if test "x$pfm_root" != "x"; then - LIBS="-L$pfm_root/lib -lpfm" -- CPPFLAGS="-I$pfm_root/include" -+ CPPFLAGS="$CPPFLAGS -I$pfm_root/include" - dotest=1 - elif test "x$pfm_prefix" != "x"; then - LIBS="-L$pfm_prefix/lib -lpfm" -- CPPFLAGS="-I$pfm_prefix/include" -+ CPPFLAGS="$CPPFLAGS -I$pfm_prefix/include" - if test "x$pfm_libdir" = "x"; then - pfm_libdir="$pfm_prefix/lib" - fi -@@ -1022,8 +1023,7 @@ if test "$perfmon" != 0 -o "$perf_events" = "yes"; then - dotest=1 - fi - if test "x$pfm_incdir" != "x"; then -- CPPFLAGS="-I$pfm_incdir" -- dotest=1 -+ CPPFLAGS="$CPPFLAGS -I$pfm_incdir" - fi - fi - if test "$dotest" = 1; then -commit b978a744ee48a7e9cbb20bd77c28e0fc3e4eb19d -Author: Vince Weaver -Date: Wed Aug 29 12:59:45 2012 -0400 - - configure: fix autodetect perfmon case - - The fixes I made yesterday to libpfm include finding broke - on perfmon2 PAPI if you were letting the library be autodetected. - This change should fix things. Tested on an actual 2.6.30 - perfmon2 system. - -diff --git a/src/configure b/src/configure -index dd18bbf..f4fdcb9 100755 ---- a/src/configure -+++ b/src/configure -@@ -5787,6 +5787,7 @@ fi - fi - - if test "$perfmon" != 0; then -+ pfm_incdir="libpfm-3.y/include" - perfmon=`echo ${perfmon} | sed 's/^ \t*//;s/ \t*$//'` - perfmon=`echo ${perfmon} | grep -e '[1-9]\.[0-9][0-9]*'` - perfmon=`echo ${perfmon} | sed 's/\.//'` -diff --git a/src/configure.in b/src/configure.in -index c286c62..3f465ad 100644 ---- a/src/configure.in -+++ b/src/configure.in -@@ -898,6 +898,7 @@ AC_ARG_WITH(perfmon, - [perfmon=`cat /proc/perfmon | grep version | cut -d: -f2`], - [perfmon=0])]) - if test "$perfmon" != 0; then -+ pfm_incdir="libpfm-3.y/include" - perfmon=`echo ${perfmon} | sed 's/^[ \t]*//;s/[ \t]*$//'` - perfmon=`echo ${perfmon} | grep -e '[[1-9]]\.[[0-9]][[0-9]]*'` - perfmon=`echo ${perfmon} | sed 's/\.//'` diff --git a/papi.spec b/papi.spec index b202bc4..bdc8360 100644 --- a/papi.spec +++ b/papi.spec @@ -1,14 +1,12 @@ %bcond_with bundled_libpfm Summary: Performance Application Programming Interface Name: papi -Version: 5.0.0 -Release: 6%{?dist} +Version: 5.0.1 +Release: 1%{?dist} License: BSD Group: Development/System URL: http://icl.cs.utk.edu/papi/ Source0: http://icl.cs.utk.edu/projects/papi/downloads/%{name}-%{version}.tar.gz -Patch5: papi-unbundled-libpfm4.patch -Patch6: papi-ivb.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: ncurses-devel BuildRequires: gcc-gfortran @@ -50,9 +48,6 @@ the PAPI user-space libraries and interfaces. %prep %setup -q -%patch5 -p1 -%patch6 -p1 - %build %if %{without bundled_libpfm} # Build our own copy of libpfm. @@ -114,6 +109,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/*.a %changelog +* Thu Sep 20 2012 William Cohen - 5.0.1-1 +- Rebase to 5.0.1. + * Mon Sep 10 2012 William Cohen - 5.0.0-6 - Back port fixes for Intel Ivy Bridge event presets. diff --git a/sources b/sources index 721ea95..3c2f720 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7d6f2a0a3785f25cb4122923522db247 papi-5.0.0.tar.gz +39e6cbbd6cd72fe421de77cb75c4eb00 papi-5.0.1.tar.gz