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

Re: Status update hppa - glibc 2.2.92 (Problems with __divdi3)



Carlos,
   The problem with this issue is that it was only explored
gradually on libc-alpha so you'll not find one message that
entirely lays it out. Basically in gcc 3.1 a bunch of symbols
in libgcc were made .hidden. Before this change, gcc < 3.1 allowed
creation of shared libs that could be reexporting these libgcc symbols.
Again the ONLY way to be certain to catch all of these is to
follow Jakub's instructions...

-------------------------------------------------------------
Basically, you take the list of libgcc.a (formerly) exported symbols
and scan all binaries/libraries if they have undefined references to any
of these symbols (as libc.so exports those on ia32/sparc and a few
others only, they will not be exported on other arches from libc, thus
are resolved to some unintentionally exported symbol in some other library
which is going away after rebuild with 3.2).

        Jakub
---------------------------------------------------------------
So take a debian hppa system with gcc 3.0 (not 3.2) installed.
Use "nm -D /lib/libgcc_s.so.1" to get a list of these libgcc
symbols. Now the hard part. You will have to craft a script
that will look at all the binaries/libs on your machine and if
they have a matching symbol from that list make sure that it 
isn't undefined. If it is undefined then you need to mark it
up for inclusion in a libgcc-compat.c. I know it not pretty
but it is what Jakub and Franz did, and everyone else will need
to do it as well.
                            Jack



Reply to: