reassign 548842 libstdc++6
found 548842 4.4.1-4
thanks

On 11/23/2009 07:04 PM, Aurelien Jarno wrote:
> 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.

Since armel is a 32-bit machine, i assume i find the non-aligned relocations
by looking for addresses that aren't equal to 0 mod 4, like this:

0 d...@igor:~$ objdump -R $(which alsaplayer) | egrep 
'^[0-9a-f]{7}[1235679abdef]'
1 d...@igor:~$ 

looking in all of the loaded libraries, it looks like the problem is in
libstdc++.so.6:

0 d...@igor:~$ for foo in $(ldd $(which alsaplayer) | sed -e 's/^.*=>//' -e 's/ 
(0x[0-9a-f]*)$//') ; do if objdump -R $foo | egrep '^[0-9a-f]{7}[1235679abdef]' 
; then echo $foo ; fi; done
000cda6a R_ARM_ABS32       __gxx_personality_v0
000ce243 R_ARM_ABS32       __gxx_personality_v0
/usr/lib/libstdc++.so.6
0 d...@igor:~$ 

This is all using an up-to-date squeeze installation, with libstdc++6 4.4.1-4.

when i upgrade libstdc++6 to 4.4.2-3 (from sid, dragging in gcc-4.4-base,
libgcc1, and libgomp1), the problem goes away, and the above search is clean:

0 d...@igor:~$ for foo in $(ldd $(which alsaplayer) | sed -e 's/^.*=>//' -e 's/ 
(0x[0-9a-f]*)$//') ; do if objdump -R $foo | egrep '^[0-9a-f]{7}[1235679abdef]' 
; then echo $foo ; fi; done
0 d...@igor:~$

Thanks for pointing that out, Aurelien.  I'm going to go run this test on all
my shared libraries now and file bugs appropriately.

        --dkg

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to