On 09/26/2012 11:50 PM, Michael Kostylev wrote: > > On Wed Sep 26 17:00:49 2012 > Luca Barbato wrote: > >>> Program received signal SIGSEGV, Segmentation fault. >>> 0x105e7eb8 in compute_rematrixing_strategy (s=0x10db13a0) at >>> /home/mik/src/fate/src/libavcodec/ac3enc_template.c:356 >>> 356 if (blk && block->num_rematrixing_bands != >>> block0->num_rematrixing_bands) >>> >>> For some reason the whole expression is evaluted even if blk==0 while >>> block0 is uninitialized. >>> >> >> Could you please provide the assembly for that function? > > 0x105e7e58 <ff_ac3_fixed_encode_frame+1216>: ld s0,56(sp) > 0x105e7e5c <ff_ac3_fixed_encode_frame+1220>: jr ra > 0x105e7e60 <ff_ac3_fixed_encode_frame+1224>: addiu sp,sp,144 > 0x105e7e64 <ff_ac3_fixed_encode_frame+1228>: blez v0,0x105e7ca4 > <ff_ac3_fixed_encode_frame+780> > 0x105e7e68 <ff_ac3_fixed_encode_frame+1232>: lw ra,32(sp) > 0x105e7e6c <ff_ac3_fixed_encode_frame+1236>: addiu s1,s8,3004 > 0x105e7e70 <ff_ac3_fixed_encode_frame+1240>: move s5,zero > 0x105e7e74 <ff_ac3_fixed_encode_frame+1244>: li v1,1 > 0x105e7e78 <ff_ac3_fixed_encode_frame+1248>: lw v0,60(s1) > 0x105e7e7c <ff_ac3_fixed_encode_frame+1252>: sltiu a0,s5,1 > 0x105e7e80 <ff_ac3_fixed_encode_frame+1256>: sb a0,47(s1) > 0x105e7e84 <ff_ac3_fixed_encode_frame+1260>: li a0,4 > 0x105e7e88 <ff_ac3_fixed_encode_frame+1264>: mtlo s1 > 0x105e7e8c <ff_ac3_fixed_encode_frame+1268>: beqz v0,0x105e7ec8 > <ff_ac3_fixed_encode_frame+1328> > 0x105e7e90 <ff_ac3_fixed_encode_frame+1272>: sw a0,48(s1) > 0x105e7e94 <ff_ac3_fixed_encode_frame+1276>: lw v0,3904(s8) > 0x105e7e98 <ff_ac3_fixed_encode_frame+1280>: li a1,4 > 0x105e7e9c <ff_ac3_fixed_encode_frame+1284>: slti a0,v0,62 > 0x105e7ea0 <ff_ac3_fixed_encode_frame+1288>: xori v0,v0,0x25 > 0x105e7ea4 <ff_ac3_fixed_encode_frame+1292>: subu a0,a1,a0 > 0x105e7ea8 <ff_ac3_fixed_encode_frame+1296>: sltiu v0,v0,1 > 0x105e7eac <ff_ac3_fixed_encode_frame+1300>: subu v0,a0,v0 > 0x105e7eb0 <ff_ac3_fixed_encode_frame+1304>: beqz s5,0x105e7ec8 > <ff_ac3_fixed_encode_frame+1328> > 0x105e7eb4 <ff_ac3_fixed_encode_frame+1308>: sw v0,48(s1) > => 0x105e7eb8 <ff_ac3_fixed_encode_frame+1312>: lw a0,48(ra) > 0x105e7ebc <ff_ac3_fixed_encode_frame+1316>: bnel v0,a0,0x105e7ec8 > <ff_ac3_fixed_encode_frame+1328> > 0x105e7ec0 <ff_ac3_fixed_encode_frame+1320>: sb v1,47(s1) > 0x105e7ec4 <ff_ac3_fixed_encode_frame+1324>: nop > 0x105e7ec8 <ff_ac3_fixed_encode_frame+1328>: lw v0,3972(s8) > 0x105e7ecc <ff_ac3_fixed_encode_frame+1332>: lw t9,104(s1) > 0x105e7ed0 <ff_ac3_fixed_encode_frame+1336>: beqz v0,0x105e8028 > <ff_ac3_fixed_encode_frame+1680> > 0x105e7ed4 <ff_ac3_fixed_encode_frame+1340>: lw s6,108(s1) > > zero at v0 v1 > R0 00000000 7400fce1 00000004 00000001 > a0 a1 a2 a3 > R4 00000004 00000004 00000001 00000000 > a4 a5 a6 a7 > R8 000062ea 00000024 00000000 00000000 > t0 t1 t2 t3 > R12 1de18c18 1de18c18 10eb4c94 10eb3494 > s0 s1 s2 s3 > R16 00000024 10db1fdc 106d3cac 00000004 > s4 s5 s6 s7 > R20 10db1f60 00000001 00000061 00000004 > t8 t9 k0 k1 > R24 00000000 00000061 00000000 00000000 > gp sp s8 ra > R28 10836a20 7fe8cdd0 10db13a0 00000000 > status lo hi badvaddr > 0400fcf3 10db1fdc 00000000 00000030 > cause pc > 10000008 105e7eb8 > fcsr fir restart > 00000004 00770501 00000000 > >> Which compiler were you using? > > The above is gcc-4.8 -march=mips3, also there are at least three minor gcc > versions where the result is not better.
-O0 fixes the problem? lu _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
