Subject: OpenSSL/Binutils Issues

From: Kumba <[email-masked]>
Date: Sat, 10 May 2003 00:20:49 -0400

Greetings all,

	Having some issues with Binutils and OpenSSL on mips.  Trying to 
bootstrap a machine using binutils-2.14.90.0.1, gcc-3.2.3, & 
glibc-2.3.2, and use -mips3 -mabi=32.  It's working good so far, I 
almost have a complete system built in chroot, only problem is OpenSSL 
doesn't seem to coorperate well with the latest Binutils.

	OpenSSL itself builds, but other programs have issues attempting to 
make use of it.  I've known of the issue since one user said OpenSSH 
doesn't work, but this time, while building wget, wget's configure 
program was unable to use OpenSSL.  The Error messages are below.

	Wget's configure builds this code as "conftest.c":

		#include "confdefs.h"

		int RSA_new();
		int SSL_new();
		main(){return 0;}

	And Compiles it with:

		gcc -o conftest -O3 -mips3 -mabi=32 -mtune=r4400 -pipe
		-fomit-frame-pointer -I/usr/include/openssl 3.c  -lssl
		-lcrypto -ldl

	Which builds fine.  Then the error hits when attempting to execute the 
"conftest" executable:

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

	Has anyone seen anything like this?  My base mips install on my SGI 
Indigo2 is built using binutils-2.13.90.0.16, which builds everything 
fine, just doesn't cooperate well with -mips3 or higher options.  I'm 
not sure if this is mips-specific, or if I need to bother the OpenSSL 
team about it.

	Ideas?

--Kumba

---

From: Muthukumar Ratty <[email-masked]>
Date: Fri, 9 May 2003 22:50:24 -0700 (PDT)

> 		usr/lib/libcrypto.so.0.9.6: unexpected reloc type 0x68

something really wrong with your crypto library (has some non mips
specific rel. syms???)

> not sure if this is mips-specific, or if I need to bother the OpenSSL

probably you should :)

---

From: Thiemo Seufer <[email-masked]>
Date: Sat, 10 May 2003 16:19:59 +0200

Kumba wrote:
[snip]
> 	Which builds fine.  Then the error hits when attempting to execute 
> 	the "conftest" executable:
> 

This libcrypto seems to be broken. 0x68 is not a valid MIPS reloc type
at all, and a shared lib should use only R_MIPS_32 (type 2) relocations
anyway.

> not sure if this is mips-specific, or if I need to bother the OpenSSL 

It is probably a binutils issue. Can you send the output of
objdump -R usr/lib/libcrypto.so.0.9.6 |grep R_MIPS |grep -v \(R_MIPS_32\|R_MIPS_NONE\)

Thiemo

---

From: Muthukumar Ratty <[email-masked]>
Date: Sat, 10 May 2003 12:04:08 -0700 (PDT)

Hi,
Where can I get MIPS processor specific ELF document (if there is any?)
Thanks
Muthu.

---

From: Thiemo Seufer <[email-masked]>
Date: Sat, 10 May 2003 21:36:38 +0200

> Where can I get MIPS processor specific ELF document (if there is any?)

http://www.caldera.com/developers/devspecs/

Thiemo