middle-end/7617: shared libgcc binary incompatibility on sparc-sun-solaris2.8
nbryant@allegientsystems.com
nbryant@allegientsystems.com
Fri Aug 16 14:56:00 GMT 2002
>Number: 7617
>Category: middle-end
>Synopsis: shared libgcc binary incompatibility on sparc-sun-solaris2.8
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Aug 16 14:56:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: nbryant@allegientsystems.com
>Release: gcc-3.2
>Organization:
>Environment:
sparc solaris-2.8
>Description:
Recently I upgraded a sparc-sun-solaris2.8 box to gcc 3.2 and binutils 2.13 and now my binaries compiled with gcc 3.0.4 seem to have stopped working.
as best as i can remember, my upgrade path went something like this:
* original installation of GNU toolchain with gcc 3.0.4 from sunfreeware
* installed binutils, probably 2.11.something
* at this point i think i recompiled gcc 3.0.4 with itself to get a working java version using binutils. most of my binaries and libraries in /usr/local were then compiled with this toolchain.
* upgraded to binutils 2.12.1 and gcc 3.1, both built from source. I didn't build too many binaries with this toolchain, but I believe all my old binaries still worked at this point.
* built and installed binutils 2.13 from source. no special configure options.
* built and installed gcc-3.2 from source, configured as follows:
nbryant@sundev:~/src$ gcc -v
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2/specs
Configured with: /export/home/nbryant/src/gcc-3.2/configure --with-gnu-as --with-gnu-ld --enable-threads --with-as=/usr/local/bin/as --with-ld=/usr/local/bin/ld --enable-libgcj --with-system-zlib --with-cpu=ultrasparc
Thread model: posix
gcc version 3.2
At this point, I noticed that any of my old binaries linked with libgcc_s no longer work; they dump core immediately on startup. This means that anything linked with a C shared library built with the older gcc can't work.
I believe my gcc 3.0.4 was configured identically, but without --with-cpu=ultrasparc and without --with-system-zlib, probably. in all cases, binutils was built without options.
Can somebody please tell me what version of these tools I should be using to ensure C ABI compatibility going forward?
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-bugs
mailing list