From: Marcin M. <ma...@me...> - 2011-06-26 11:25:45
|
Hello! I have problem with compilation oprofile on hardened gentoo. With oprofile-0.9.6 i'm getting such error: make[3]: Entering directory `/var/tmp/portage/dev-util/oprofile-0.9.6/work/oprofile-0.9.6/libop' if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../libutil -W -Wall -fno-common -Wdeclaration-after-statement -O2 -march=native -mfpmath=sse -pipe -fprefetch-loop-arrays -fpeel-loops -fgraphite-identity -floop-interchange -floop-block -floop-strip-mine -fira-loop-pressure -fpredictive-commoning -freorder-blocks-and-partition -ftracer -ftree-loop-distribution -ftree-vectorize --param l2-cache-size=1024 --param l1-cache-size=16 --param l1-cache-line-size=16 -ggdb -MT op_events.o -MD -MP -MF ".deps/op_events.Tpo" -c -o op_events.o op_events.c; \ then mv -f ".deps/op_events.Tpo" ".deps/op_events.Po"; else rm -f ".deps/op_events.Tpo"; exit 1; fi In file included from op_events.c:19:0: op_hw_specific.h: In function 'read_events': op_hw_specific.h:80:2: error: PIC register clobbered by 'ebx' in 'asm' op_hw_specific.h: In function 'arch_filter_events': op_hw_specific.h:49:2: error: PIC register clobbered by 'ebx' in 'asm' make[3]: *** [op_events.o] Error 1 And with oprofile-0.9.7_rc1: make[3]: Entering directory `/var/tmp/portage/dev-util/oprofile-0.9.7_rc1/work/oprofile-0.9.7-rc1/libop' i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I../libutil -W -Wall -fno-common -Wdeclaration-after-statement -O2 -march=native -mfpmath=sse -pipe -fpref etch-loop-arrays -fpeel-loops -fgraphite-identity -floop-interchange -floop-block -floop-strip-mine -fira-loop-pressure -fpredictive-commoning -freord er-blocks-and-partition -ftracer -ftree-loop-distribution -ftree-vectorize --param l2-cache-size=1024 --param l1-cache-size=16 --param l1-cache-line-size =16 -ggdb -MT op_events.o -MD -MP -MF .deps/op_events.Tpo -c -o op_events.o op_events.c In file included from op_events.c:19:0: op_hw_specific.h: In function 'read_events': op_hw_specific.h:94:2: error: PIC register clobbered by 'ebx' in 'asm' op_hw_specific.h: In function 'arch_filter_events': op_hw_specific.h:30:2: error: PIC register clobbered by 'ebx' in 'asm' make[3]: *** [op_events.o] Error 1 version of gcc: # gcc -v Using built-in specs. COLLECT_GCC=/usr/i686-pc-linux-gnu/gcc-bin/4.5.2/gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-linux-gnu/4.5.2/lto-wrapper Target: i686-pc-linux-gnu Configured with: /dane/domeny/PORT/portage/sys-devel/gcc-4.5.2/work/gcc-4.5.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.5.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --disable-fixed-point --with-ppl --with-cloog --disable-ppl-version-check --with-cloog-include=/usr/include/cloog --enable-lto --enable-nls --without-included-gettext --with-system-zlib --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --enable-esp --enable-libgomp --enable-cld --with-python-dir=/share/gcc-data/i686-pc-linux-gnu/4.5.2/python --enable-checking=release --disable-libgcj --with-arch=i686 --enable-languages=c,c++ --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo Hardened 4.5.2 p1.1, pie-0.4.5' Thread model: posix gcc version 4.5.2 (Gentoo Hardened 4.5.2 p1.1, pie-0.4.5) Thanks for any help. |
From: William C. <wc...@re...> - 2011-06-27 15:20:02
|
On 06/26/2011 07:09 AM, Marcin Mirosław wrote: > Hello! > I have problem with compilation oprofile on hardened gentoo. > With oprofile-0.9.6 i'm getting such error: > make[3]: Entering directory > `/var/tmp/portage/dev-util/oprofile-0.9.6/work/oprofile-0.9.6/libop' > if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../libutil -W > -Wall -fno-common -Wdeclaration-after-statement -O2 -march=native > -mfpmath=sse -pipe -fprefetch-loop-arrays -fpeel-loops > -fgraphite-identity -floop-interchange -floop-block -floop-strip-mine > -fira-loop-pressure -fpredictive-commoning > -freorder-blocks-and-partition -ftracer -ftree-loop-distribution > -ftree-vectorize --param l2-cache-size=1024 --param > l1-cache-size=16 --param l1-cache-line-size=16 -ggdb -MT op_events.o -MD > -MP -MF ".deps/op_events.Tpo" -c -o op_events.o op_events.c; \ > then mv -f ".deps/op_events.Tpo" ".deps/op_events.Po"; else rm -f > ".deps/op_events.Tpo"; exit 1; fi > In file included from op_events.c:19:0: > op_hw_specific.h: In function 'read_events': > op_hw_specific.h:80:2: error: PIC register clobbered by 'ebx' in 'asm' > op_hw_specific.h: In function 'arch_filter_events': > op_hw_specific.h:49:2: error: PIC register clobbered by 'ebx' in 'asm' > make[3]: *** [op_events.o] Error 1 > > And with oprofile-0.9.7_rc1: > make[3]: Entering directory > `/var/tmp/portage/dev-util/oprofile-0.9.7_rc1/work/oprofile-0.9.7-rc1/libop' > i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I../libutil -W -Wall > -fno-common -Wdeclaration-after-statement -O2 -march=native -mfpmath=sse > -pipe -fpref > etch-loop-arrays -fpeel-loops -fgraphite-identity -floop-interchange > -floop-block -floop-strip-mine -fira-loop-pressure > -fpredictive-commoning -freord > er-blocks-and-partition -ftracer -ftree-loop-distribution > -ftree-vectorize --param l2-cache-size=1024 --param > l1-cache-size=16 --param l1-cache-line-size > =16 -ggdb -MT op_events.o -MD -MP -MF .deps/op_events.Tpo -c -o > op_events.o op_events.c > In file included from op_events.c:19:0: > op_hw_specific.h: In function 'read_events': > op_hw_specific.h:94:2: error: PIC register clobbered by 'ebx' in 'asm' > op_hw_specific.h: In function 'arch_filter_events': > op_hw_specific.h:30:2: error: PIC register clobbered by 'ebx' in 'asm' > make[3]: *** [op_events.o] Error 1 > > > version of gcc: > # gcc -v > Using built-in specs. > COLLECT_GCC=/usr/i686-pc-linux-gnu/gcc-bin/4.5.2/gcc > COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-linux-gnu/4.5.2/lto-wrapper > Target: i686-pc-linux-gnu > Configured with: > /dane/domeny/PORT/portage/sys-devel/gcc-4.5.2/work/gcc-4.5.2/configure > --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.5.2 > --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/include > --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.2 > --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.2/man > --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.2/info > --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/include/g++-v4 > --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec > --disable-fixed-point --with-ppl --with-cloog > --disable-ppl-version-check --with-cloog-include=/usr/include/cloog > --enable-lto --enable-nls --without-included-gettext --with-system-zlib > --disable-werror --enable-secureplt --disable-multilib > --enable-libmudflap --disable-libssp --enable-esp --enable-libgomp > --enable-cld > --with-python-dir=/share/gcc-data/i686-pc-linux-gnu/4.5.2/python > --enable-checking=release --disable-libgcj --with-arch=i686 > --enable-languages=c,c++ --enable-shared --enable-threads=posix > --enable-__cxa_atexit --enable-clocale=gnu > --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo Hardened > 4.5.2 p1.1, pie-0.4.5' > Thread model: posix > gcc version 4.5.2 (Gentoo Hardened 4.5.2 p1.1, pie-0.4.5) > > Thanks for any help. Hi Marcin, The assembly language instruction cpuid used to determine processor details. It overwrites the eax, ebx, ecx, and edx registers with the results: http://faydoc.tripod.com/cpu/cpuid.htm However, the PIC code uses ebx registers to base register. GCC notes that the asm statements are overwriting ebx which will cause problems with the PIC code. The asm statements will need to adjusted to avoid clobbering ebx. -Will |
From: William C. <wc...@re...> - 2011-06-27 18:52:38
Attachments:
cpuid.patch
|
On 06/26/2011 07:09 AM, Marcin Mirosław wrote: > Hello! > I have problem with compilation oprofile on hardened gentoo. > With oprofile-0.9.6 i'm getting such error: > make[3]: Entering directory > `/var/tmp/portage/dev-util/oprofile-0.9.6/work/oprofile-0.9.6/libop' > if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../libutil -W > -Wall -fno-common -Wdeclaration-after-statement -O2 -march=native > -mfpmath=sse -pipe -fprefetch-loop-arrays -fpeel-loops > -fgraphite-identity -floop-interchange -floop-block -floop-strip-mine > -fira-loop-pressure -fpredictive-commoning > -freorder-blocks-and-partition -ftracer -ftree-loop-distribution > -ftree-vectorize --param l2-cache-size=1024 --param > l1-cache-size=16 --param l1-cache-line-size=16 -ggdb -MT op_events.o -MD > -MP -MF ".deps/op_events.Tpo" -c -o op_events.o op_events.c; \ > then mv -f ".deps/op_events.Tpo" ".deps/op_events.Po"; else rm -f > ".deps/op_events.Tpo"; exit 1; fi > In file included from op_events.c:19:0: > op_hw_specific.h: In function 'read_events': > op_hw_specific.h:80:2: error: PIC register clobbered by 'ebx' in 'asm' > op_hw_specific.h: In function 'arch_filter_events': > op_hw_specific.h:49:2: error: PIC register clobbered by 'ebx' in 'asm' > make[3]: *** [op_events.o] Error 1 > > And with oprofile-0.9.7_rc1: > make[3]: Entering directory > `/var/tmp/portage/dev-util/oprofile-0.9.7_rc1/work/oprofile-0.9.7-rc1/libop' > i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I../libutil -W -Wall > -fno-common -Wdeclaration-after-statement -O2 -march=native -mfpmath=sse > -pipe -fpref > etch-loop-arrays -fpeel-loops -fgraphite-identity -floop-interchange > -floop-block -floop-strip-mine -fira-loop-pressure > -fpredictive-commoning -freord > er-blocks-and-partition -ftracer -ftree-loop-distribution > -ftree-vectorize --param l2-cache-size=1024 --param > l1-cache-size=16 --param l1-cache-line-size > =16 -ggdb -MT op_events.o -MD -MP -MF .deps/op_events.Tpo -c -o > op_events.o op_events.c > In file included from op_events.c:19:0: > op_hw_specific.h: In function 'read_events': > op_hw_specific.h:94:2: error: PIC register clobbered by 'ebx' in 'asm' > op_hw_specific.h: In function 'arch_filter_events': > op_hw_specific.h:30:2: error: PIC register clobbered by 'ebx' in 'asm' > make[3]: *** [op_events.o] Error 1 > > Hi Marcin, I took a look at this problem and created a draft patch to try to fix this problem. Could you try the attached patch, verifies it compiles and works? Ideally,test out on a Intel processor that support the Intel Architected Performance counters. -Will |
From: Marcin M. <ma...@me...> - 2011-06-28 13:04:41
|
W dniu 27.06.2011 20:52, William Cohen pisze: > > Hi Marcin, > > I took a look at this problem and created a draft patch to try to fix this problem. Could you try the attached patch, verifies it compiles and works? Ideally,test out on a Intel processor that support the Intel Architected Performance counters. Hi William, thank you for spending time on it and thanks for explanation. Although not everything was clear for me, i'm not familiar with such level of programing;) I've tried your patch, i got such compilation error: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I ../libabi -I ../libutil -I ../libop -I ../libdb -W -Wall -fno-common -Wdeclaration-after-statement -fno-omit-frame-pointer -O2 -march=native -mfpmath=sse -pipe -fprefetch-loop-arrays -fpeel-loops -fgraphite-identity -floop-interchange -floop-block -floop-strip-mine -fira-loop-pressure -fpredictive-commoning -freorder-blocks-and-partition -ftracer -ftree-loop-distribution -ftree-vectorize --param l2-cache-size=1024 --param l1-cache-size=16 --param l1-cache-line-size=16 -ggdb -MT opd_ibs.o -MD -MP -MF .deps/opd_ibs.Tpo -c -o opd_ibs.o opd_ibs.c opd_ibs.c: In function ‘ibs_init’: opd_ibs.c:499:2: error: can't find a register in class ‘BREG’ while reloading ‘asm’ opd_ibs.c:499:2: error: ‘asm’ operand has impossible constraints make[3]: *** [opd_ibs.o] Error 1 About Intel Architected Performance Counters, is such CPU ok? dmesg |grep -i pmu [ 0.120000] Performance Events: PEBS fmt0-, Core2 events, Intel PMU driver. Regards! |
From: Marcin M. <ma...@me...> - 2011-06-28 19:02:16
|
W dniu 2011-06-28 20:05, William Cohen pisze: > On 06/28/2011 12:26 PM, Maynard Johnson wrote: >> On 06/28/2011 8:04 AM, Marcin Mirosław wrote: >>> W dniu 27.06.2011 20:52, William Cohen pisze: >>>> >>>> Hi Marcin, >>>> >>>> I took a look at this problem and created a draft patch to try to fix this problem. Could you try the attached patch, verifies it compiles and works? Ideally,test out on a Intel processor that support the Intel Architected Performance counters. >>> >>> Hi William, >>> thank you for spending time on it and thanks for explanation. Although >>> not everything was clear for me, i'm not familiar with such level of >>> programing;) >>> I've tried your patch, i got such compilation error: >>> i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I ../libabi -I >>> ../libutil -I ../libop -I ../libdb -W -Wall -fno-common >>> -Wdeclaration-after-statement -fno-omit-frame-pointer -O2 -march=native >>> -mfpmath=sse -pipe -fprefetch-loop-arrays -fpeel-loops >>> -fgraphite-identity -floop-interchange -floop-block -floop-strip-mine >>> -fira-loop-pressure -fpredictive-commoning >>> -freorder-blocks-and-partition -ftracer -ftree-loop-distribution >>> -ftree-vectorize --param l2-cache-size=1024 --param >>> l1-cache-size=16 --param l1-cache-line-size=16 -ggdb -MT opd_ibs.o -MD >>> -MP -MF .deps/opd_ibs.Tpo -c -o opd_ibs.o opd_ibs.c >> >> Suravee, can you take a look at this compilation error in opd_ibs.c, please? >> >> Thanks. >> -Maynard >> >>> opd_ibs.c: In function ‘ibs_init’: >>> opd_ibs.c:499:2: error: can't find a register in class ‘BREG’ while >>> reloading ‘asm’ >>> opd_ibs.c:499:2: error: ‘asm’ operand has impossible constraints >>> make[3]: *** [opd_ibs.o] Error 1 >>> >>> About Intel Architected Performance Counters, is such CPU ok? >>> dmesg |grep -i pmu >>> [ 0.120000] Performance Events: PEBS fmt0-, Core2 events, Intel PMU >>> driver. >>> >>> Regards! > > Hi Maynard, Suravee, and Marcin, > > There was another cpuid instruction in op_ibs.c. I have updated the patch cpuid2.patch to make use of the op_hw_specific.h and eliminate the duplicate code. Please, check whether the attached patch addresses the problem. > -Will Hi! This patch works correctly, oprofile builds and works with hardened gcc. Thanks a lot for your work and time! Regards, Marcin. |
From: Maynard J. <may...@us...> - 2011-06-29 13:02:53
|
Marcin Mirosław wrote: > W dniu 2011-06-28 20:05, William Cohen pisze: >> On 06/28/2011 12:26 PM, Maynard Johnson wrote: >>> On 06/28/2011 8:04 AM, Marcin Mirosław wrote: >>>> W dniu 27.06.2011 20:52, William Cohen pisze: >>>>> >>>>> Hi Marcin, >>>>> >>>>> I took a look at this problem and created a draft patch to try to fix this problem. Could you try the attached patch, verifies it compiles and works? Ideally,test out on a Intel processor that support the Intel Architected Performance counters. >>>> >>>> Hi William, >>>> thank you for spending time on it and thanks for explanation. Although >>>> not everything was clear for me, i'm not familiar with such level of >>>> programing;) >>>> I've tried your patch, i got such compilation error: >>>> i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I ../libabi -I >>>> ../libutil -I ../libop -I ../libdb -W -Wall -fno-common >>>> -Wdeclaration-after-statement -fno-omit-frame-pointer -O2 -march=native >>>> -mfpmath=sse -pipe -fprefetch-loop-arrays -fpeel-loops >>>> -fgraphite-identity -floop-interchange -floop-block -floop-strip-mine >>>> -fira-loop-pressure -fpredictive-commoning >>>> -freorder-blocks-and-partition -ftracer -ftree-loop-distribution >>>> -ftree-vectorize --param l2-cache-size=1024 --param >>>> l1-cache-size=16 --param l1-cache-line-size=16 -ggdb -MT opd_ibs.o -MD >>>> -MP -MF .deps/opd_ibs.Tpo -c -o opd_ibs.o opd_ibs.c >>> >>> Suravee, can you take a look at this compilation error in opd_ibs.c, please? >>> >>> Thanks. >>> -Maynard >>> >>>> opd_ibs.c: In function ‘ibs_init’: >>>> opd_ibs.c:499:2: error: can't find a register in class ‘BREG’ while >>>> reloading ‘asm’ >>>> opd_ibs.c:499:2: error: ‘asm’ operand has impossible constraints >>>> make[3]: *** [opd_ibs.o] Error 1 >>>> >>>> About Intel Architected Performance Counters, is such CPU ok? >>>> dmesg |grep -i pmu >>>> [ 0.120000] Performance Events: PEBS fmt0-, Core2 events, Intel PMU >>>> driver. >>>> >>>> Regards! >> >> Hi Maynard, Suravee, and Marcin, >> >> There was another cpuid instruction in op_ibs.c. I have updated the patch cpuid2.patch to make use of the op_hw_specific.h and eliminate the duplicate code. Please, check whether the attached patch addresses the problem. >> -Will > > Hi! > This patch works correctly, oprofile builds and works with hardened gcc. Suravee, please review Will's patch and commit it on your ack. Looks like we'll need an RC2 for this bug fix. -Maynard > Thanks a lot for your work and time! > Regards, > Marcin. > |
From: Suravee S. <sur...@am...> - 2011-07-05 02:15:24
|
On 06/29/2011 08:02 AM, Maynard Johnson wrote: > Marcin Mirosław wrote: >> W dniu 2011-06-28 20:05, William Cohen pisze: >>> On 06/28/2011 12:26 PM, Maynard Johnson wrote: >>>> On 06/28/2011 8:04 AM, Marcin Mirosław wrote: >>>>> W dniu 27.06.2011 20:52, William Cohen pisze: >>>>>> Hi Marcin, >>>>>> >>>>>> I took a look at this problem and created a draft patch to try to fix this problem. Could you try the attached patch, verifies it compiles and works? Ideally,test out on a Intel processor that support the Intel Architected Performance counters. >>>>> Hi William, >>>>> thank you for spending time on it and thanks for explanation. Although >>>>> not everything was clear for me, i'm not familiar with such level of >>>>> programing;) >>>>> I've tried your patch, i got such compilation error: >>>>> i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I ../libabi -I >>>>> ../libutil -I ../libop -I ../libdb -W -Wall -fno-common >>>>> -Wdeclaration-after-statement -fno-omit-frame-pointer -O2 -march=native >>>>> -mfpmath=sse -pipe -fprefetch-loop-arrays -fpeel-loops >>>>> -fgraphite-identity -floop-interchange -floop-block -floop-strip-mine >>>>> -fira-loop-pressure -fpredictive-commoning >>>>> -freorder-blocks-and-partition -ftracer -ftree-loop-distribution >>>>> -ftree-vectorize --param l2-cache-size=1024 --param >>>>> l1-cache-size=16 --param l1-cache-line-size=16 -ggdb -MT opd_ibs.o -MD >>>>> -MP -MF .deps/opd_ibs.Tpo -c -o opd_ibs.o opd_ibs.c >>>> Suravee, can you take a look at this compilation error in opd_ibs.c, please? >>>> >>>> Thanks. >>>> -Maynard >>>> >>>>> opd_ibs.c: In function ‘ibs_init’: >>>>> opd_ibs.c:499:2: error: can't find a register in class ‘BREG’ while >>>>> reloading ‘asm’ >>>>> opd_ibs.c:499:2: error: ‘asm’ operand has impossible constraints >>>>> make[3]: *** [opd_ibs.o] Error 1 >>>>> >>>>> About Intel Architected Performance Counters, is such CPU ok? >>>>> dmesg |grep -i pmu >>>>> [ 0.120000] Performance Events: PEBS fmt0-, Core2 events, Intel PMU >>>>> driver. >>>>> >>>>> Regards! >>> Hi Maynard, Suravee, and Marcin, >>> >>> There was another cpuid instruction in op_ibs.c. I have updated the patch cpuid2.patch to make use of the op_hw_specific.h and eliminate the duplicate code. Please, check whether the attached patch addresses the problem. >>> -Will >> Hi! >> This patch works correctly, oprofile builds and works with hardened gcc. > Suravee, please review Will's patch and commit it on your ack. Looks like we'll need an RC2 for this bug fix. > > -Maynard > [Suravee] Sorry for delay, the patch has been commited. >> Thanks a lot for your work and time! >> Regards, >> Marcin. >> > |
From: Maynard J. <may...@us...> - 2011-06-28 16:27:10
|
On 06/28/2011 8:04 AM, Marcin Mirosław wrote: > W dniu 27.06.2011 20:52, William Cohen pisze: >> >> Hi Marcin, >> >> I took a look at this problem and created a draft patch to try to fix this problem. Could you try the attached patch, verifies it compiles and works? Ideally,test out on a Intel processor that support the Intel Architected Performance counters. > > Hi William, > thank you for spending time on it and thanks for explanation. Although > not everything was clear for me, i'm not familiar with such level of > programing;) > I've tried your patch, i got such compilation error: > i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I ../libabi -I > ../libutil -I ../libop -I ../libdb -W -Wall -fno-common > -Wdeclaration-after-statement -fno-omit-frame-pointer -O2 -march=native > -mfpmath=sse -pipe -fprefetch-loop-arrays -fpeel-loops > -fgraphite-identity -floop-interchange -floop-block -floop-strip-mine > -fira-loop-pressure -fpredictive-commoning > -freorder-blocks-and-partition -ftracer -ftree-loop-distribution > -ftree-vectorize --param l2-cache-size=1024 --param > l1-cache-size=16 --param l1-cache-line-size=16 -ggdb -MT opd_ibs.o -MD > -MP -MF .deps/opd_ibs.Tpo -c -o opd_ibs.o opd_ibs.c Suravee, can you take a look at this compilation error in opd_ibs.c, please? Thanks. -Maynard > opd_ibs.c: In function ‘ibs_init’: > opd_ibs.c:499:2: error: can't find a register in class ‘BREG’ while > reloading ‘asm’ > opd_ibs.c:499:2: error: ‘asm’ operand has impossible constraints > make[3]: *** [opd_ibs.o] Error 1 > > About Intel Architected Performance Counters, is such CPU ok? > dmesg |grep -i pmu > [ 0.120000] Performance Events: PEBS fmt0-, Core2 events, Intel PMU > driver. > > Regards! > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2 > _______________________________________________ > oprofile-list mailing list > opr...@li... > https://lists.sourceforge.net/lists/listinfo/oprofile-list |
From: William C. <wc...@re...> - 2011-06-28 18:05:21
Attachments:
cpuid2.patch
|
On 06/28/2011 12:26 PM, Maynard Johnson wrote: > On 06/28/2011 8:04 AM, Marcin Mirosław wrote: >> W dniu 27.06.2011 20:52, William Cohen pisze: >>> >>> Hi Marcin, >>> >>> I took a look at this problem and created a draft patch to try to fix this problem. Could you try the attached patch, verifies it compiles and works? Ideally,test out on a Intel processor that support the Intel Architected Performance counters. >> >> Hi William, >> thank you for spending time on it and thanks for explanation. Although >> not everything was clear for me, i'm not familiar with such level of >> programing;) >> I've tried your patch, i got such compilation error: >> i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I ../libabi -I >> ../libutil -I ../libop -I ../libdb -W -Wall -fno-common >> -Wdeclaration-after-statement -fno-omit-frame-pointer -O2 -march=native >> -mfpmath=sse -pipe -fprefetch-loop-arrays -fpeel-loops >> -fgraphite-identity -floop-interchange -floop-block -floop-strip-mine >> -fira-loop-pressure -fpredictive-commoning >> -freorder-blocks-and-partition -ftracer -ftree-loop-distribution >> -ftree-vectorize --param l2-cache-size=1024 --param >> l1-cache-size=16 --param l1-cache-line-size=16 -ggdb -MT opd_ibs.o -MD >> -MP -MF .deps/opd_ibs.Tpo -c -o opd_ibs.o opd_ibs.c > > Suravee, can you take a look at this compilation error in opd_ibs.c, please? > > Thanks. > -Maynard > >> opd_ibs.c: In function ‘ibs_init’: >> opd_ibs.c:499:2: error: can't find a register in class ‘BREG’ while >> reloading ‘asm’ >> opd_ibs.c:499:2: error: ‘asm’ operand has impossible constraints >> make[3]: *** [opd_ibs.o] Error 1 >> >> About Intel Architected Performance Counters, is such CPU ok? >> dmesg |grep -i pmu >> [ 0.120000] Performance Events: PEBS fmt0-, Core2 events, Intel PMU >> driver. >> >> Regards! Hi Maynard, Suravee, and Marcin, There was another cpuid instruction in op_ibs.c. I have updated the patch cpuid2.patch to make use of the op_hw_specific.h and eliminate the duplicate code. Please, check whether the attached patch addresses the problem. -Will |