K_Gilbert wrote: Below is the broken assembly function commented out and replaced with the working GCC call:
static inline int __arm_papi_spin_lock (volatile unsigned int *lock)
unsigned int val;
val = __sync_lock_test_and_set(lock, 1); //GCC intrinsic, replace assembly inline code
/* asm volatile ("swp %0, %1, [%2]"
: "=r" (val)
: "0" (1), "r" (lock)
: "memory"); */
} while (val != 0);
Altering this file appended the assembler errors, and allowed me to make and install PAPI. However, I am currently running into problems when trying to run the tests; namely, a substantial amount of them fail. I mention this because you said you were running on a Pandaboard as well. This may simply be a mistake on my part, but it appears that PAPI has some problems reading the hardware registers on this ARM processor, giving me "PAPI_ECNFLCT" errors rather often, meaning "The underlying counter hardware can not count this event and other events in the EventSet simultaneously." Regardless, I hope this helps you and good luck!
Users browsing this forum: No registered users and 3 guests