[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] how to debug the SSE assembler files (float_dotpr
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] how to debug the SSE assembler files (float_dotprod_sse.S) |
Date: |
Wed, 10 Oct 2007 16:47:27 -0700 |
User-agent: |
Mutt/1.5.9i |
On Wed, Oct 10, 2007 at 11:46:41PM +0200, Martin Dvh wrote:
>
> Any other ideas?
>
This worked for me. It seems to be somewhat confused about the
address to source line mapping, but setting the breakpoint using the
address [ b *0x.... ] worked.
Eric
an tests]$ libtool --mode=execute gdb test_filter
GNU gdb 6.4
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i586-suse-linux"...Using host libthread_db library
"/lib/libthread_db.so.1".
(gdb) b main
Breakpoint 1 at 0x8048930: file test_filter.cc, line 27.
(gdb) r
Starting program: /home/eb/gr/trunk/gnuradio-core/src/tests/.libs/lt-test_filter
[Thread debugging using libthread_db enabled]
[New Thread -1215183184 (LWP 31237)]
[Switching to Thread -1215183184 (LWP 31237)]
Breakpoint 1, main () at test_filter.cc:27
27 main (int argc, char **argv)
(gdb) p float_dotprod_sse
$1 = {<text variable, no debug info>} 0xb7d77ea0 <float_dotprod_sse>
(gdb) b *0xb7d77ea0
Breakpoint 2 at 0xb7d77ea0: file gr_remez.cc, line 864.
(gdb) c
Continuing.
.No 3DNow! support; not tested
.No 3DNow! support; not tested
.No 3DNow! support; not tested
.
Breakpoint 2, 0xb7d77ea0 in float_dotprod_sse () at gr_remez.cc:864
864 return std::vector<double> (&coeff[0], &coeff[numtaps]);
(gdb) bt
#0 0xb7d77ea0 in float_dotprod_sse () at gr_remez.cc:864
#1 0xb7eb8896 in qa_float_dotprod_x86::t1_base (this=0x804b3a8,
float_dotprod=0xb7d77ea0 <float_dotprod_sse>) at qa_float_dotprod_x86.cc:130
#2 0xb7eb9445 in qa_float_dotprod_x86::t1_sse (this=0x804b3a8)
at qa_float_dotprod_x86.cc:249
#3 0xb7eb3f3b in CppUnit::TestCaller<qa_float_dotprod_x86>::runTest
(this=0x804b140)
at /usr/include/cppunit/TestCaller.h:166
#4 0xb7c7eda7 in CppUnit::TestCaseMethodFunctor::operator() ()
from /usr/lib/libcppunit-1.10.so.2
#5 0xb7c725ae in CppUnit::DefaultProtector::protect ()
from /usr/lib/libcppunit-1.10.so.2
#6 0xb7c7aab3 in CppUnit::ProtectorChain::ProtectFunctor::operator() ()
from /usr/lib/libcppunit-1.10.so.2
#7 0xb7c7a7fd in CppUnit::ProtectorChain::protect () from
/usr/lib/libcppunit-1.10.so.2
#8 0xb7c873c1 in CppUnit::TestResult::protect () from
/usr/lib/libcppunit-1.10.so.2
#9 0xb7c7e718 in CppUnit::TestCase::run () from /usr/lib/libcppunit-1.10.so.2
#10 0xb7c7f39f in CppUnit::TestComposite::doRunChildTests ()
from /usr/lib/libcppunit-1.10.so.2
#11 0xb7c7f2da in CppUnit::TestComposite::run () from
/usr/lib/libcppunit-1.10.so.2
#12 0xb7c7f39f in CppUnit::TestComposite::doRunChildTests ()
from /usr/lib/libcppunit-1.10.so.2
#13 0xb7c7f2da in CppUnit::TestComposite::run () from
/usr/lib/libcppunit-1.10.so.2
#14 0xb7c7f39f in CppUnit::TestComposite::doRunChildTests ()
from /usr/lib/libcppunit-1.10.so.2
#15 0xb7c7f2da in CppUnit::TestComposite::run () from
/usr/lib/libcppunit-1.10.so.2
#16 0xb7c89920 in CppUnit::TestRunner::WrappingSuite::run ()
from /usr/lib/libcppunit-1.10.so.2
#17 0xb7c8702a in CppUnit::TestResult::runTest () from
/usr/lib/libcppunit-1.10.so.2
#18 0xb7c89760 in CppUnit::TestRunner::run () from /usr/lib/libcppunit-1.10.so.2
#19 0xb7c8cf85 in CppUnit::TextTestRunner::run () from
/usr/lib/libcppunit-1.10.so.2
#20 0x080489ae in main () at test_filter.cc:34
(gdb) x/20i $pc
0xb7d77ea0 <float_dotprod_sse>: push %ebp
0xb7d77ea1 <float_dotprod_sse+1>: mov %esp,%ebp
0xb7d77ea3 <float_dotprod_sse+3>: mov 0x8(%ebp),%edx
0xb7d77ea6 <float_dotprod_sse+6>: mov 0xc(%ebp),%eax
0xb7d77ea9 <float_dotprod_sse+9>: mov 0x10(%ebp),%ecx
0xb7d77eac <float_dotprod_sse+12>: xorps %xmm4,%xmm4
0xb7d77eaf <float_dotprod_sse+15>: xorps %xmm5,%xmm5
0xb7d77eb2 <float_dotprod_sse+18>: and $0x3,%ecx
0xb7d77eb5 <float_dotprod_sse+21>: jmp 0xb7d77ecf <.loop1+15>
0xb7d77eb7 <float_dotprod_sse+23>: mov %esi,%esi
0xb7d77eb9 <float_dotprod_sse+25>: lea 0x0(%edi),%edi
0xb7d77ec0 <.loop1>: movaps (%eax),%xmm0
0xb7d77ec3 <.loop1+3>: mulps (%edx),%xmm0
0xb7d77ec6 <.loop1+6>: add $0x10,%edx
0xb7d77ec9 <.loop1+9>: add $0x10,%eax
0xb7d77ecc <.loop1+12>: addps %xmm0,%xmm4
0xb7d77ecf <.loop1+15>: dec %ecx
0xb7d77ed0 <.loop1+16>: jge 0xb7d77ec0 <.loop1>
0xb7d77ed2 <.loop1+18>: mov 0x10(%ebp),%ecx
0xb7d77ed5 <.loop1+21>: movaps %xmm5,%xmm6
(gdb)