|
Rockbox mail archiveSubject: Re: Segfault with Faster MDCT patch and -fPICRe: Segfault with Faster MDCT patch and -fPIC
From: Dave Hooper <dave_at_beermex.com>
Date: Mon, 20 Sep 2010 11:22:11 +0100 Meant to type r10 not t10 > That looks weird to me! R10 still holds one side of the previous butterfly > calculation but looks like gcc is assuming it still holds some address (I > don't know how pic is supposed to work however). So it's either a gcc bug, > or we need to explicitly put t10 in clobbers in asm (even though gcc should > see its clobbered from the output constraints) or the output constraints are > wrong, or we should just write the asm ourselves.. >> 2010/9/20 Rafaël Carré <rafael.carre_at_gmail.com>: >>> >>> Try disass $pc-32,$pc+32 >> >> Thanks! >>> >>> >>> ... is not shown here, can you run the commands on the same crash? >>> >>> -- >>> Rafaël Carré >>> >> >> I'm sorry. My fault. >> >> Program received signal SIGSEGV, Segmentation fault. >> 0x0003b3a0 in pass (z_arg=<value optimized out>, STEP_arg=<value >> optimized out>, n_arg=<value optimized out>) at fft-ffmpeg.c:243 >> warning: Source file is more recent than executable. >> 243 w += STEP; >> (gdb) bt >> #0 0x0003b3a0 in pass (z_arg=<value optimized out>, STEP_arg=<value >> optimized out>, n_arg=<value optimized out>) at fft-ffmpeg.c:243 >> #1 0x0003c080 in fft64 (z=0x1b10190) at fft-ffmpeg.c:355 >> #2 0x0003c0b0 in fft128 (z=0x1b10190) at fft-ffmpeg.c:356 >> #3 0x0003c0e0 in fft256 (z=0x1b10190) at fft-ffmpeg.c:357 >> #4 0x0003b924 in ff_fft_calc_c (nbits=<value optimized out>, >> z=0x1ae2dc0) at fft-ffmpeg.c:370 >> #5 0x0003ad78 in ff_imdct_half (nbits=28199880, output=0x1b100c8, >> input=<value optimized out>) at mdct-ffmpeg.c:112 >> #6 0x0003b178 in ff_imdct_calc (nbits=28377488, output=0x1afa5c8, >> input=0x0) at mdct-ffmpeg.c:348 >> #7 0x0003a5ac in mapping0_inverse (vb=0xbef68670, l=0x1b0b538) at >> mapping0.c:290 >> #8 0x00033270 in vorbis_synthesis (vb=0xbef68670, op=<value optimized >> out>, decodep=1) at synthesis.c:75 >> ... >> (gdb) disass $pc-64,$pc+64 >> Dump of assembler code from 0x3b360 to 0x3b3e0: >> 0x0003b360 <pass+296>: sub r4, r9, r2, lsl #1 >> 0x0003b364 <pass+300>: sub r6, r10, r6, lsl #1 >> 0x0003b368 <pass+304>: stm r0, {r9, r10} >> 0x0003b36c <pass+308>: add r0, r11, r0 >> 0x0003b370 <pass+312>: ldm r0, {r9, r10} >> 0x0003b374 <pass+316>: add r9, r7, r9 >> 0x0003b378 <pass+320>: add r10, r8, r10 >> 0x0003b37c <pass+324>: sub r7, r9, r7, lsl #1 >> 0x0003b380 <pass+328>: sub r8, r10, r8, lsl #1 >> 0x0003b384 <pass+332>: stm r0, {r9, r10} >> 0x0003b388 <pass+336>: add r0, r11, r0 >> 0x0003b38c <pass+340>: stm r0, {r4, r6} >> 0x0003b390 <pass+344>: add r0, r11, r0 >> 0x0003b394 <pass+348>: stm r0, {r7, r8} >> 0x0003b398 <pass+352>: ldr r3, [pc, #916] ; 0x3b734 <pass+1276> >> 0x0003b39c <pass+356>: ldr r12, [sp, #16] >> => 0x0003b3a0 <pass+360>: ldr r3, [r10, r3] >> 0x0003b3a4 <pass+364>: add lr, r12, r1 >> 0x0003b3a8 <pass+368>: add r2, r12, lr >> 0x0003b3ac <pass+372>: ldr r1, [sp, #24] >> 0x0003b3b0 <pass+376>: str r3, [sp, #12] >> 0x0003b3b4 <pass+380>: mov r5, r2 >> 0x0003b3b8 <pass+384>: lsl r3, r12, #1 >> 0x0003b3bc <pass+388>: add r2, r12, r2 >> 0x0003b3c0 <pass+392>: rsb r0, r1, r0 >> 0x0003b3c4 <pass+396>: str r3, [sp, #36] ; 0x24 >> 0x0003b3c8 <pass+400>: str r2, [sp, #32] >> 0x0003b3cc <pass+404>: add r3, r0, #8 >> 0x0003b3d0 <pass+408>: ldm lr, {r4, r12} >> 0x0003b3d4 <pass+412>: ldr r0, [sp, #20] >> 0x0003b3d8 <pass+416>: add r3, r0, r3 >> 0x0003b3dc <pass+420>: ldm r3, {r9, r10} >> End of assembler dump. >> (gdb) info all-registers >> r0 0x1b10190 28377488 >> r1 0x1ae2dc0 28192192 >> r2 0x0 0 >> r3 0x100 256 >> r4 0x0 0 >> r5 0x0 0 >> r6 0x0 0 >> r7 0x0 0 >> r8 0x0 0 >> r9 0x0 0 >> r10 0x0 0 >> r11 0x40 64 >> r12 0x400 1024 >> sp 0xbef68450 0xbef68450 >> lr 0x0 0 >> pc 0x3b3a0 0x3b3a0 <pass+360> >> f0 0 (raw 0x0003f8cc0000000000000000) >> f1 0 (raw 0x0003f8cc0000000000000000) >> f2 0 (raw 0x0003f8cc0000000000000000) >> f3 0 (raw 0x0003f8cc0000000000000000) >> f4 0 (raw 0x0003f8cc0000000000000000) >> f5 0 (raw 0x0003f8cc0000000000000000) >> f6 0 (raw 0x0003f8cc0000000000000000) >> f7 0 (raw 0x0003f8cc0000000000000000) >> fps 0x0 0 >> cpsr 0x60000010 1610612752 >> >> -- >> regards, >> Slawomir Testowy Received on 2010-09-20 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |