Hi,

I got following errors when testing pfmon2-3.6 on SPARC T2/Linux-2.6.27.

My platform is linux-2.6.27 patched by perfmon-new-base-081013.

#cat /proc/cpuinfo
cpu             : UltraSparc T2 (Niagara2)
fpu             : UltraSparc T2 integrated FPU
pmu             : niagara2
prom            : OBP 4.29.1 2008/10/29 14:16
type            : sun4v
ncpus probed    : 64
ncpus active    : 64
D$ parity tl1   : 0
I$ parity tl1   : 0
Cpu0ClkTck      : 00000000457656f0
Cpu1ClkTck      : 00000000457656f0
Cpu2ClkTck      : 00000000457656f0
Cpu3ClkTck      : 00000000457656f0
Cpu4ClkTck      : 00000000457656f0
Cpu5ClkTck      : 00000000457656f0
Cpu6ClkTck      : 00000000457656f0
Cpu7ClkTck      : 00000000457656f0
Cpu8ClkTck      : 00000000457656f0
Cpu9ClkTck      : 00000000457656f0
Cpu10ClkTck     : 00000000457656f0
Cpu11ClkTck     : 00000000457656f0
Cpu12ClkTck     : 00000000457656f0
Cpu13ClkTck     : 00000000457656f0
Cpu14ClkTck     : 00000000457656f0
Cpu15ClkTck     : 00000000457656f0
Cpu16ClkTck     : 00000000457656f0
Cpu17ClkTck     : 00000000457656f0
Cpu18ClkTck     : 00000000457656f0
Cpu19ClkTck     : 00000000457656f0
Cpu20ClkTck     : 00000000457656f0
Cpu21ClkTck     : 00000000457656f0
Cpu22ClkTck     : 00000000457656f0
Cpu23ClkTck     : 00000000457656f0
Cpu24ClkTck     : 00000000457656f0
Cpu25ClkTck     : 00000000457656f0
Cpu26ClkTck     : 00000000457656f0
Cpu27ClkTck     : 00000000457656f0
Cpu28ClkTck     : 00000000457656f0
Cpu29ClkTck     : 00000000457656f0
Cpu30ClkTck     : 00000000457656f0
Cpu31ClkTck     : 00000000457656f0
Cpu64ClkTck     : 00000000457656f0
Cpu65ClkTck     : 00000000457656f0
Cpu66ClkTck     : 00000000457656f0
Cpu67ClkTck     : 00000000457656f0
Cpu68ClkTck     : 00000000457656f0
Cpu69ClkTck     : 00000000457656f0
Cpu70ClkTck     : 00000000457656f0
Cpu71ClkTck     : 00000000457656f0
Cpu72ClkTck     : 00000000457656f0
Cpu73ClkTck     : 00000000457656f0
Cpu74ClkTck     : 00000000457656f0
Cpu75ClkTck     : 00000000457656f0
Cpu76ClkTck     : 00000000457656f0
Cpu77ClkTck     : 00000000457656f0
Cpu78ClkTck     : 00000000457656f0
Cpu79ClkTck     : 00000000457656f0
Cpu80ClkTck     : 00000000457656f0
Cpu81ClkTck     : 00000000457656f0
Cpu82ClkTck     : 00000000457656f0
Cpu83ClkTck     : 00000000457656f0
Cpu84ClkTck     : 00000000457656f0
Cpu85ClkTck     : 00000000457656f0
Cpu86ClkTck     : 00000000457656f0
Cpu87ClkTck     : 00000000457656f0
Cpu88ClkTck     : 00000000457656f0
Cpu89ClkTck     : 00000000457656f0
Cpu90ClkTck     : 00000000457656f0
Cpu91ClkTck     : 00000000457656f0
Cpu92ClkTck     : 00000000457656f0
Cpu93ClkTck     : 00000000457656f0
Cpu94ClkTck     : 00000000457656f0
Cpu95ClkTck     : 00000000457656f0
MMU Type        : Hypervisor (sun4v)
State:
CPU0:           online
CPU1:           online
CPU2:           online
CPU3:           online
CPU4:           online
CPU5:           online
CPU6:           online
CPU7:           online
CPU8:           online
CPU9:           online
CPU10:          online
CPU11:          online
CPU12:          online
CPU13:          online
CPU14:          online
CPU15:          online
CPU16:          online
CPU17:          online
CPU18:          online
CPU19:          online
CPU20:          online
CPU21:          online
CPU22:          online
CPU23:          online
CPU24:          online
CPU25:          online
CPU26:          online
CPU27:          online
CPU28:          online
CPU29:          online
CPU30:          online
CPU31:          online
CPU64:          online
CPU65:          online
CPU66:          online
CPU67:          online
CPU68:          online
CPU69:          online
CPU70:          online
CPU71:          online
CPU72:          online
CPU73:          online
CPU74:          online
CPU75:          online
CPU76:          online
CPU77:          online
CPU78:          online
CPU79:          online
CPU80:          online
CPU81:          online
CPU82:          online
CPU83:          online
CPU84:          online
CPU85:          online
CPU86:          online
CPU87:          online
CPU88:          online
CPU89:          online
CPU90:          online
CPU91:          online
CPU92:          online
CPU93:          online
CPU94:          online
CPU95:          online

#uname -a
Linux debian 2.6.27.pmu #4 SMP Mon Mar 1 10:56:15 CST 2010 sparc64 GNU/Linux

#pwd
#/home/pfmon-3.6

#make
compiling pfmon for sparc architecture
compiling pfmon as a shared binary
make[1]: Entering directory
`/home/jiangjie/work/SPARC_PFMON/perfmon2_3.7/pfmon-3.6/pfmon'
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG
-DDATADIR=\"/usr/local/pfmon/pfmon/share/pfmon\" -I.
-I/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_SPARC -DPFMON_DEBUG
-g -c pfmon.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG
-DDATADIR=\"/usr/local/pfmon/pfmon/share/pfmon\" -I.
-I/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_SPARC -DPFMON_DEBUG
-g -c pfmon_smpl.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG
-DDATADIR=\"/usr/local/pfmon/pfmon/share/pfmon\" -I.
-I/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_SPARC -DPFMON_DEBUG
-g -c pfmon_util.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG
-DDATADIR=\"/usr/local/pfmon/pfmon/share/pfmon\" -I.
-I/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_SPARC -DPFMON_DEBUG
-g -c pfmon_system.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG
-DDATADIR=\"/usr/local/pfmon/pfmon/share/pfmon\" -I.
-I/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_SPARC -DPFMON_DEBUG
-g -c pfmon_task.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG
-DDATADIR=\"/usr/local/pfmon/pfmon/share/pfmon\" -I.
-I/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_SPARC -DPFMON_DEBUG
-g -c pfmon_symbols.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG
-DDATADIR=\"/usr/local/pfmon/pfmon/share/pfmon\" -I.
-I/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_SPARC -DPFMON_DEBUG
-g -c pfmon_results.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG
-DDATADIR=\"/usr/local/pfmon/pfmon/share/pfmon\" -I.
-I/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_SPARC -DPFMON_DEBUG
-g -c pfmon_hash.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG
-DDATADIR=\"/usr/local/pfmon/pfmon/share/pfmon\" -I.
-I/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_SPARC -DPFMON_DEBUG
-g -c pfmon_smpl_dfl.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG
-DDATADIR=\"/usr/local/pfmon/pfmon/share/pfmon\" -I.
-I/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_SPARC -DPFMON_DEBUG
-g -c pfmon_os.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG
-DDATADIR=\"/usr/local/pfmon/pfmon/share/pfmon\" -I.
-I/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_SPARC -DPFMON_DEBUG
-g -c pfmon_sparc.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG
-DDATADIR=\"/usr/local/pfmon/pfmon/share/pfmon\" -I.
-I/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_SPARC -DPFMON_DEBUG
-g -c pfmon_util_sparc.c
make[2]: Entering directory
`/home/jiangjie/work/SPARC_PFMON/perfmon2_3.7/pfmon-3.6/pfmon/smpl_mod'
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG -D_GNU_SOURCE -I. -I..
-c inst_hist_smpl.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG -D_GNU_SOURCE -I. -I..
-c compact_smpl.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG -D_GNU_SOURCE -I. -I..
-c raw_smpl.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT
-I/usr/local/pfmon/libpfm/include -DPFMON_DEBUG -D_GNU_SOURCE -I. -I..
-c detailed_smpl.c
rm -f libsmplfmt.a
ar rv libsmplfmt.a inst_hist_smpl.o compact_smpl.o raw_smpl.o detailed_smpl.o
ar: creating libsmplfmt.a
a - inst_hist_smpl.o
a - compact_smpl.o
a - raw_smpl.o
a - detailed_smpl.o
make[2]: Leaving directory
`/home/jiangjie/work/SPARC_PFMON/perfmon2_3.7/pfmon-3.6/pfmon/smpl_mod'
gcc -o pfmon pfmon.o pfmon_smpl.o pfmon_util.o pfmon_system.o
pfmon_task.o pfmon_symbols.o pfmon_results.o pfmon_hash.o
pfmon_smpl_dfl.o pfmon_os.o pfmon_sparc.o pfmon_util_sparc.o -ggdb -g
-Wall -Werror -D_REENTRANT -I/usr/local/pfmon/libpfm/include
-DPFMON_DEBUG -DDATADIR=\"/usr/local/pfmon/pfmon/share/pfmon\" -I.
-I/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_SPARC -DPFMON_DEBUG
-g  smpl_mod/libsmplfmt.a  -L/usr/lib/nptl -lpthread -lm -lrt
-Wl,-Bstatic -lelf -Wl,-Bdynamic -L/usr/local/pfmon/libpfm/lib -lpfm
pfmon_task.o: In function `pfmon_setup_dlopen':
/home/jiangjie/work/SPARC_PFMON/perfmon2_3.7/pfmon-3.6/pfmon/pfmon_task.c:1432:
undefined reference to `pfmon_get_dlopen_hook'
collect2: ld returned 1 exit status
make[1]: *** [pfmon] Error 1
make[1]: Leaving directory
`/home/jiangjie/work/SPARC_PFMON/perfmon2_3.7/pfmon-3.6/pfmon'
make: *** [all] Error 2


--------


I grep the source code in pfmon directory and find that the symbol
"pfmon_get_dlopen_hook" is defined in pfmon_util_cell.c,
pfmon_util_ia64.c, pfmon_util_mips64,c and pfmon_util_x86.c, but not
in pfmon_util_sparc.c. So on SPARC platform, this symbol seems to be
undefined.

Also, in pfmon_util_sparc.c, "#include <link.h>" should be added to
include the declaration of struct r_debug.

The above two problems also exist in pfmon-3.9 source code.


On the perfmon-devel mailing list, there was the same bug report on
March 2nd, 2009.
And Stephane provided  a patch  to solve the first problem.
But I can't find the patch now.
So Stephane, will you send the patch to me again?

Regards,
Jie

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to