diff --git a/papi-6.0.0.tar.gz b/papi-6.0.0.tar.gz deleted file mode 100644 index bd1e23c..0000000 Binary files a/papi-6.0.0.tar.gz and /dev/null differ diff --git a/papi-7.0.1.tar.gz b/papi-7.0.1.tar.gz new file mode 100644 index 0000000..3a9e7a2 Binary files /dev/null and b/papi-7.0.1.tar.gz differ diff --git a/papi-add-support-riscv64.patch b/papi-add-support-riscv64.patch index 231677c..46dda02 100644 --- a/papi-add-support-riscv64.patch +++ b/papi-add-support-riscv64.patch @@ -1,7 +1,19 @@ -diff -ruN papi-6.0.0/src/libpfm4/config.mk papi/src/libpfm4/config.mk ---- papi-6.0.0/src/libpfm4/config.mk 2022-10-29 13:04:32.000000000 +0800 -+++ papi/src/libpfm4/config.mk 2023-01-15 21:16:16.101680541 +0800 -@@ -177,6 +177,9 @@ +From 78b4e79c4f51a4cb9244ba1d59840ef8a76518cb Mon Sep 17 00:00:00 2001 +Date: Tue, 20 Jun 2023 15:15:04 +0800 +Subject: [PATCH] papi add support riscv64 + +--- + src/libpfm4/config.mk | 3 +++ + src/linux-context.h | 2 ++ + src/linux-timer.c | 20 ++++++++++++++++++++ + src/mb.h | 3 +++ + 4 files changed, 28 insertions(+) + +diff --git a/src/libpfm4/config.mk b/src/libpfm4/config.mk +index 2b26947..c12fa45 100644 +--- a/src/libpfm4/config.mk ++++ b/src/libpfm4/config.mk +@@ -177,6 +177,9 @@ ifeq ($(ARCH),cell) CONFIG_PFMLIB_CELL=y endif @@ -11,10 +23,11 @@ diff -ruN papi-6.0.0/src/libpfm4/config.mk papi/src/libpfm4/config.mk # # you shouldn't have to touch anything beyond this point -diff -ruN papi-6.0.0/src/linux-context.h papi/src/linux-context.h ---- papi-6.0.0/src/linux-context.h 2022-10-29 13:04:32.000000000 +0800 -+++ papi/src/linux-context.h 2023-01-15 21:16:16.101680541 +0800 -@@ -37,6 +37,8 @@ +diff --git a/src/linux-context.h b/src/linux-context.h +index f46e557..394a480 100644 +--- a/src/linux-context.h ++++ b/src/linux-context.h +@@ -39,6 +39,8 @@ typedef ucontext_t hwd_ucontext_t; #define OVERFLOW_ADDRESS(ctx) ctx.ucontext->uc_mcontext.pc #elif defined(__hppa__) #define OVERFLOW_ADDRESS(ctx) ctx.ucontext->uc_mcontext.sc_iaoq[0] @@ -23,11 +36,12 @@ diff -ruN papi-6.0.0/src/linux-context.h papi/src/linux-context.h #else #error "OVERFLOW_ADDRESS() undefined!" #endif -diff -ruN papi-6.0.0/src/linux-timer.c papi/src/linux-timer.c ---- papi-6.0.0/src/linux-timer.c 2022-10-29 13:04:32.000000000 +0800 -+++ papi/src/linux-timer.c 2023-01-15 21:16:16.101680541 +0800 -@@ -288,6 +288,27 @@ - return 0; +diff --git a/src/linux-timer.c b/src/linux-timer.c +index 0eaa79c..46bfe75 100644 +--- a/src/linux-timer.c ++++ b/src/linux-timer.c +@@ -300,7 +300,27 @@ get_cycles( void ) + return ret; } +/************************/ @@ -36,17 +50,17 @@ diff -ruN papi-6.0.0/src/linux-timer.c papi/src/linux-timer.c + +#elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64 +static inline long long -+get_cycles( void ) -+{ ++get_cycles( void ) ++{ + register unsigned long ret; -+ + + __asm__ __volatile__ ("rdcycle %0" : "=r" (ret)); + + return ret; -+} ++} + +/* -+ * TODO: riscv32 implementation can be done following example in: ++ * TODO: riscv32 implementation can be done following example in: + * Volume I: RISC-V User-Level ISA V2.2 + * 2.8 Control and Status Register Instructions + * Timers and Counters @@ -54,9 +68,10 @@ diff -ruN papi-6.0.0/src/linux-timer.c papi/src/linux-timer.c #elif !defined(HAVE_GETTIMEOFDAY) && !defined(HAVE_CLOCK_GETTIME) #error "No get_cycles support for this architecture. " -diff -ruN papi-6.0.0/src/mb.h papi/src/mb.h ---- papi-6.0.0/src/mb.h 2022-10-29 13:04:32.000000000 +0800 -+++ papi/src/mb.h 2023-01-15 21:16:16.101680541 +0800 +diff --git a/src/mb.h b/src/mb.h +index 81797c5..347436b 100644 +--- a/src/mb.h ++++ b/src/mb.h @@ -39,6 +39,9 @@ #elif defined(__aarch64__) #define rmb() asm volatile("dmb ld" ::: "memory") @@ -67,3 +82,6 @@ diff -ruN papi-6.0.0/src/mb.h papi/src/mb.h #elif defined(__mips__) #define rmb() asm volatile( \ ".set mips2\n\t" \ +-- +2.33.0 + diff --git a/papi.spec b/papi.spec index ae02e82..3a2d21b 100644 --- a/papi.spec +++ b/papi.spec @@ -1,5 +1,5 @@ Name: papi -Version: 6.0.0 +Version: 7.0.1 Release: 1 Summary: Performance Application Programming Interface License: BSD @@ -8,6 +8,7 @@ Source0: http://icl.cs.utk.edu/projects/papi/downloads/%{name}-%{version BuildRequires: autoconf doxygen ncurses-devel gcc-gfortran kernel-headers >= 2.6.32 BuildRequires: chrpath lm_sensors-devel libpfm-devel >= 4.6.0-1 libpfm-static >= 4.6.0-1 BuildRequires: net-tools rdma-core-devel perl-generators +Requires: python3-unversioned-command Provides: papi-libs = %{version}-%{release} Obsoletes: papi-libs < %{version}-%{release} @@ -71,6 +72,7 @@ chrpath --delete $RPM_BUILD_ROOT%{_libdir}/*.so* %files devel %{_includedir}/*.h +%{_includedir}/*.hpp %{_libdir}/*.so %{_libdir}/pkgconfig/papi*.pc %{_libdir}/*.a @@ -83,6 +85,9 @@ chrpath --delete $RPM_BUILD_ROOT%{_libdir}/*.so* %{_mandir}/man3/* %changelog +* Tue Jun 20 2023 Ge Wang - 7.0.1-1 +- Upgrade to version 7.0.1 + * Wed Oct 26 2022 hua - 6.0.0-1 - upgrade version to 6.0.0