discuss-gnuradio
[Top][All Lists]
Advanced

[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) 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]