This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils 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: Binutils + OpenSSL issue


Eric Christopher wrote:

What was the bug again?

-eric



(Guess you could say this is the "long" explanation)

Using binutils anytime after oh, Feb 6th, 2003 (That's a rough guess) caused it to start generating a broken OpenSSL package if compiled from source. Specifically, libcrypto and libssl start breaking. If you run the command below:

objdump -R /usr/lib/libcrypto.so.0.9.6 |grep R_MIPS |grep -v (R_MIPS_32\|R_MIPS_NONE\)

You will start getting error messages similar to the ones below:

BFD: BFD 2.13.90.0.18 20030121 assertion fail elf32-mips.c:1498 BFD: usr/lib/libcrypto.so.0.9.6(.rel.dyn): relocation 3755 has invalid symbol index 0


The brokenness is introduced even using -mips1 optimisations (gcc-3.2.x compiler), however, it appears that the amount of brokeness is small, and doesn't interfere with the operation of OpenSSL (although the possibility is there). It's not until you use -mips3 or -mips4 optimisations that the brokeness starts to to become apparent, and programs that link to OpenSSL, or call upon its various functions, for example, wget's configure script, get an error like the one below:


./conftest: error while loading shared libraries: usr/lib/libcrypto.so.0.9.6: unexpected reloc type 0x68


At first, it was believed it was an error specific to Gentoo, due to the sometimes odd/wacky optimisations people use or to some rogue/bad patch called in by the portage system during compile. However, as Thiemo put it, "the unlikely happened", and he was able to reproduce the error as well by building OpenSSL with binutils CVS.


I've nagged a few people about the bug as I've considered it a show stopper for myself and a few others running gentoo on their Indigo2/Indy machines due to having to live with what one might say is an outdated binutils. Currently, we consider binutils-2.13.90.0.16 to be the "stable" version, since OpenSSL is such a critical package in the system.

It seems to be a pretty isolated bug, having gone undetected for quite some time by anyone outside of gentoo really. Hopefully now it can be eliminated.

--Kumba


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