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

Bug#548842: libc6: alignment error in /lib/ld-linux.so.3 on armel



On Mon, Sep 28, 2009 at 11:34:06PM -0400, Daniel Kahn Gillmor wrote:
> Package: libc6
> Version: 2.9-25
> Severity: normal
> 
> I'm running alsaplayer on an armel platform, using the -text frontend 
> and the -alsa output.  I've configured my armel machine to send a SIGBUS
> to any process which makes an alignment error by doing this:
> 
>  echo 5 > /proc/cpu/alignment
> 
> when i launch the player (compiled with debug symbols), even before it 
> gets to main() i get the SIGBUS.
> 
> Here's the backtrace i see with libc6-dbg installed:
> 
> (gdb) bt
> #0  elf_machine_rel (scope=0x4001e1a0, lazy=1, consider_profiling=0) at ../ports/sysdeps/arm/dl-machine.h:429
> #1  elf_dynamic_do_rel (scope=0x4001e1a0, lazy=1, consider_profiling=0) at do-rel.h:120
> #2  _dl_relocate_object (scope=0x4001e1a0, lazy=1, consider_profiling=0) at dl-reloc.c:266
> #3  0x400039bc in dl_main (phdr=0x8034, phnum=8, user_entry=0xbe98257c) at rtld.c:2231
> #4  0x40015110 in _dl_sysdep_start (start_argptr=<value optimized out>, dl_main=0x400021d8 <dl_main>) at ../elf/dl-sysdep.c:239
> #5  0x40000cd0 in _dl_start_final (arg=0xbe982870, info=0xbe9825f8) at rtld.c:332
> #6  0x40000f68 in _dl_start (arg=0xbe982870) at rtld.c:560
> #7  0x400007f0 in _start () from /lib/ld-linux.so.3
> #8  0x400007f0 in _start () from /lib/ld-linux.so.3
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
> (gdb) 
> 
> that last line is just:
> 
>   *reloc_addr += value
> 
> but reloc_addr is optimized out.
> 

The problem is most probably a non word aligned relocation in the 
program you are trying to run or one of its library. You can list them
with objdump -R file.

-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net



Reply to: