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: