The short story is that I want to make static libraries of Open SSL so that I can make Python modules (_ssl) that link against Open SSL statically, thereby reducing the amount of run time dependencies we have. But when I link these libraries in statically, I get relocation errors form the linker due to some of the code not being PIC.
I don't know if the development is the appropriate forum for this, but I think it might since it has to do with how Open SSL builds on Solaris. Here is my set up: gcc 4.7.4 with GNU assembler and Solaris linker (gcc was configured with --with-gnu-as, but not with --with-gnu-ld). I ran ./config --prefix=/home/tjk/openssl no-shared -fPIC The configured build is for 32 bit Sparc Solaris running on a sparcv9 processor. The C code compiles into PIC objects just fine, but the GNU assembler does not produce PIC code for sparccpuid.S. I worked around this by first preprocessing the file using gcc: gcc -I... -D... -E sparcpuid.S > sparcpuid.s and then assembled it using as -V -Qy -s -xarch=v8plusa -K PIC -xcode=pic32 sparcpuid.s (I first ran gcc -v to see what gcc was going to pass to the assembler, then took that output and modified it so that the right options would be used for the Solaris assembler). I found that the crucial option is -xcode=pic32. I do not really ant to do this as I plan on scripting builds of Open SSL and this requires manual intervention. Do you know of a way to get the GNU assemble to produce PIC code? Thanks, Tom