Hi,

I found Vince's patch from 2009. I have applied it.
That should get you further. But note that you won't
get symbol names (--resolv) when sampling.


On Mon, Mar 1, 2010 at 3:59 AM, Jie Jiang <robbie.ji...@gmail.com> wrote:
> 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