This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

stack alignment and SSE


The program segfaults on movaps instruction at 0x4432eb54, I believe because of
alignment requirements.
Is it stack setup fault or GCC? GCC 3.4.2 on Linux RedHat 9.
Fixed in newer GLIBC?
I also see this http://gcc.gnu.org/ml/gcc/2004-09/msg00905.html

(gdb) disassemble 0x4432eb20 0x4432eb60
Dump of assembler code from 0x4432eb20 to 0x4432eb60:
0x4432eb20 <apiG729Decode+5553>:        mov    DWORD PTR [ebp-2872],0x0
0x4432eb2a <apiG729Decode+5563>:        mov    DWORD PTR [ebp-2920],0x0
0x4432eb34 <apiG729Decode+5573>:        lea    ecx,[edi+956]
0x4432eb3a <apiG729Decode+5579>:        mov    DWORD PTR [ebp-2952],ecx
0x4432eb40 <apiG729Decode+5585>:        lea    esi,[edi+2824]
0x4432eb46 <apiG729Decode+5591>:        mov    DWORD PTR [ebp-2956],esi
0x4432eb4c <apiG729Decode+5597>:        movss  xmm0,ds:0x4436cb50
0x4432eb54 <apiG729Decode+5605>:        movaps DWORD PTR [ebp-2984],xmm0
0x4432eb5b <apiG729Decode+5612>:        mov    eax,0x1e
End of assembler dump.
(gdb) set disassembly-flavor att 
(gdb) disassemble 0x4432eb20 0x4432eb60
Dump of assembler code from 0x4432eb20 to 0x4432eb60:
0x4432eb20 <apiG729Decode+5553>:        movl   $0x0,0xfffff4c8(%ebp)
0x4432eb2a <apiG729Decode+5563>:        movl   $0x0,0xfffff498(%ebp)
0x4432eb34 <apiG729Decode+5573>:        lea    0x3bc(%edi),%ecx
0x4432eb3a <apiG729Decode+5579>:        mov    %ecx,0xfffff478(%ebp)
0x4432eb40 <apiG729Decode+5585>:        lea    0xb08(%edi),%esi
0x4432eb46 <apiG729Decode+5591>:        mov    %esi,0xfffff474(%ebp)
0x4432eb4c <apiG729Decode+5597>:        movss  0x4436cb50,%xmm0
0x4432eb54 <apiG729Decode+5605>:        movaps %xmm0,0xfffff458(%ebp)
0x4432eb5b <apiG729Decode+5612>:        mov    $0x1e,%eax
End of assembler dump.
(gdb) info registers 
eax            0x1e     30
ecx            0x816e720        135718688
edx            0x0      0
ebx            0x44574d78       1146572152
esp            0x44574bc8       0x44574bc8
ebp            0x445757b0       0x445757b0
esi            0x816ee6c        135720556
edi            0x816e364        135717732
eip            0x4432eb54       0x4432eb54
...
(gdb) si

Program received signal SIGSEGV, Segmentation fault.
...
556           for (NSbfr = 0,nsubfr=0; NSbfr < FRM_LEN; NSbfr += SUBFR_LEN,nsubfr++) {


arkadi.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]