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

Re: how to find symbols needed for libgcc-compat in glibc



On Mon, Oct 14, 2002 at 10:20:13AM -0400, Jack Howarth wrote:
>    Well, if you have rebuilt any of those binaries with gcc > 3.1
> they will work. Also double check which package your installed
> libgcc_s_so belongs to. If you have a copy installed from 
> gcc 3.0.x it will not have those symbols .hidden. It should
> be the combination of gcc 3.2.1pre (with its libgcc installed) and
> glibc 2.3 built with the same that should exhibit breakage.
> Also you should check your installed libc.so.6 to make sure those
> symbols are in fact currently undefined or missing from it.
I rebuilt nothing in the chroot except for libc6 so far, furthermore:

dpkg -s libgcc1
Package: libgcc1
Status: install ok installed
Priority: standard
Section: libs
Installed-Size: 140
Maintainer: Debian GCC maintainers <debian-gcc@lists.debian.org>
Source: gcc-3.2 (1:3.2.1ds2-0pre3)
...and...
nm -D --defined-only libc.so.6 | grep __divdi3 | wc -l
      0

I tried to check where these symbols actually get resolved:
for i in `cat /glibc/check-gcc-compat/found.list | awk '{ print $1 }'`; do 
    LD_DEBUG=bindings $i < /dev/null 2>&1 | grep -E '__(udivdi3|divdi3|ucmpdi2|umoddi3)' 
done
binding file /lib/libuuid.so.1 to /lib/libuuid.so.1: normal symbol `__udivdi3'
binding file /lib/libuuid.so.1 to /lib/libuuid.so.1: normal symbol `__umoddi3
binding file /usr/lib/libbfd-2.13.90.0.4.so to /usr/lib/libbfd-2.13.90.0.4.so: normal symbol `__ucmpdi2'
binding file /usr/lib/libbfd-2.13.90.0.4.so to /usr/lib/libbfd-2.13.90.0.4.so: normal symbol `__udivdi3'
....
So it seems all of these symbols finally get resolved in one of the
libraries the packages depend on. Are there any other pitfalls to watch
out for or implies this that mips doesn't need any libgcc-compat code
(in case no really unresolved symbols surface)?
Regards,
 -- Guido



Reply to: