This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fixup PPC symbol versioning for libgcc symbols


Ulrich,
   Do you mean "does the libgcc-compat code not build if
a gcc < 3.1 compiler is used"? No, thats not the case. It was 
discussed when we were running into these different binutils
bugs, that this tickled, but HJ preferred to fix them instead.
One situation in particular that exposed a binutils bugs 
was the case when we built the glibc, with the new
libgcc-compat code, under gcc 2.95.4 (which provides these
symbols in error). Oddly it wasn't the original libgcc-compat
code currently in glibc-2-2-branch (which incorrectly exports
symbols like __divdi3 from libgcc-compat for linking) that
caused us problems. It was the case where the new libgcc-compat
code DIDN'T export this symbol for linking from libc.so.6
which caused problems. We found that binutils would incorrectly
complain about __divdi3 being in symbol conflict, even though
the __divdi3 from libc.so.6 wasn't exported for linking...i.e.
was versioned (GLIBC_2.0), with the one from libgcc_s.so.1.
A completely bogus error message...this prevented us from
building programs under gcc 2.95.4 with this new libgcc-compat
code until it was resolved...

http://sources.redhat.com/ml/binutils/2002-08/msg00173.html
http://sources.redhat.com/ml/binutils/2002-08/msg00175.html

The second binutils bug we exposed was tickled when a
libc.so.6 built with the new libgcc-compat code (which doesn't
export __divdi3 for linking) was used for building gcc 3.2.
We uncovered a binutils bug which caused the __divdi3 symbol in
libgcc_s.so.1 to be unversioned instead of GLIBC_2.0. This 
has been fixed in binutils (it was the origin of Franz's 
aborted attempt to get a versioning change to GCC_3.0 added
to gcc 3.2...which was entirely unneeded as the correct fix
was to fix binutils).

http://sources.redhat.com/ml/binutils/2002-08/msg00217.html
http://sources.redhat.com/ml/binutils/2002-08/msg00221.html

Franz has been building with the new glibc 2.2.90 cvs with
his revised libgcc-compat patch using gcc 3.2 without
issues. I have been exercising the libgcc-compat-9-2-2
version of the patch under glibc 2.2.5 and gcc 2.95.4
by building numerous programs including glibc, binutils
and gcc 3.2. I see no compatibility problems whatsoever
under this new version of the libgcc-compat code in 
glibc 2.2.5.
     Once again thanks in advance for approving this
         patch for glibc-2-2-branch.
                      Jack
ps The code is not omitted if the ABI's aren't needed in
current glibc-2-2-branch's original libgcc-compat either.
As I said, this is a non-issue now as all the symbols
are for run-time resolution only and not exported for
linking. Also any issues with binutils have been resolved now...
it actualy was worth doing as some nice obscure binutils
bugs got flushed out.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]