[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Segfault with volk on 32 bit AMD

From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] Segfault with volk on 32 bit AMD
Date: Fri, 16 Mar 2012 14:55:56 -0400

On Fri, Mar 16, 2012 at 2:50 PM, Nick Foster <address@hidden> wrote:
On Fri, Mar 16, 2012 at 11:42 AM, Frederick Stevens <address@hidden> wrote:

Here is the output from gdb:

RUN_VOLK_TESTS: volk_32fc_32f_multiply_32fc_a

Program received signal SIGSEGV, Segmentation fault.
0xb7f2c6e0 in volk_32fc_32f_multiply_32fc_a_generic ()
  from /home/fred/extras/gnuradio/gnuradio/build/volk/lib/libvolk.so.0.0.0

Dump of assembler code for function volk_32fc_32f_multiply_32fc_a_generic:
  0xb7f2c6c0 <+0>:     push   %ebp
  0xb7f2c6c1 <+1>:     mov    %esp,%ebp
  0xb7f2c6c3 <+3>:     push   %edi
  0xb7f2c6c4 <+4>:     push   %esi
  0xb7f2c6c5 <+5>:     mov    0x8(%ebp),%edx
  0xb7f2c6c8 <+8>:     mov    0xc(%ebp),%ecx
  0xb7f2c6cb <+11>:    mov    0x10(%ebp),%edi
  0xb7f2c6ce <+14>:    mov    0x14(%ebp),%esi
  0xb7f2c6d1 <+17>:    test   %esi,%esi
  0xb7f2c6d3 <+19>:    je     0xb7f2c6fc <volk_32fc_32f_multiply_32fc_a_generic+60>
  0xb7f2c6d5 <+21>:    xor    %eax,%eax
  0xb7f2c6d7 <+23>:    mov    %esi,%esi
  0xb7f2c6d9 <+25>:    lea    0x0(%edi,%eiz,1),%edi
=> 0xb7f2c6e0 <+32>:    flds   (%edi,%eax,8)
  0xb7f2c6e3 <+35>:    flds   (%ecx,%eax,8)
  0xb7f2c6e6 <+38>:    fmul   %st(1),%st
  0xb7f2c6e8 <+40>:    fxch   %st(1)
  0xb7f2c6ea <+42>:    fmuls  0x4(%ecx,%eax,8)
  0xb7f2c6ee <+46>:    fxch   %st(1)
  0xb7f2c6f0 <+48>:    fstps  (%edx,%eax,8)
  0xb7f2c6f3 <+51>:    fstps  0x4(%edx,%eax,8)
  0xb7f2c6f7 <+55>:    inc    %eax
  0xb7f2c6f8 <+56>:    cmp    %eax,%esi
  0xb7f2c6fa <+58>:    ja     0xb7f2c6e0 <volk_32fc_32f_multiply_32fc_a_generic+32>
  0xb7f2c6fc <+60>:    pop    %esi
  0xb7f2c6fd <+61>:    pop    %edi
  0xb7f2c6fe <+62>:    pop    %ebp
  0xb7f2c6ff <+63>:    ret
End of assembler dump.

I omitted the first part of the program execution since everything seemed to be working fine.  Hope this helps.  Let me know if you would like me to try something else.



OK, that's weird as hell. That's the generic implementation, which is just a std::complex multiply in a for loop. Can you give me your gcc version?


Yep, that shouldn't be a problem. Fred, can you also give us the backtrace?

You might have to recompile volk with debugging turned on (passing -DCMAKE_BUILD_TYPE="Debug" to cmake).


reply via email to

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