[openssl-dev] weird linker warnings on solaris 11

Kurt Roeckx kurt at roeckx.be
Sun Aug 14 11:59:51 UTC 2016


On Sat, Aug 13, 2016 at 08:27:30PM -0700, Erik Forsberg wrote:
> 
> just updated to developer studio 12.5 on Solaris 11.3
> I see lot of warnings when linking OpenSSL 1.1
> looking like these
> 
>     link_app.solaris-shared
> LD_LIBRARY_PATH=.: cc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM 
> -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DOPENSSLDIR="/usr/local/ssl" -DENGINESDIR="/usr/local/lib/amd64/engines-1.1" -xc99 -m64 -xarch=gen
> eric -xstrconst -DL_ENDIAN -xO5 -xdepend -xbuiltin -D_REENTRANT -DFILIO_H -mt -R /usr/local/lib/amd64 -o apps/openssl apps/app_rand.o apps/apps.o apps/asn1pars.o apps/ca.o apps/ciphers.o apps/cms.o apps/crl.o apps/c
> rl2p7.o apps/dgst.o apps/dhparam.o apps/dsa.o apps/dsaparam.o apps/ec.o apps/ecparam.o apps/enc.o apps/engine.o apps/errstr.o apps/gendsa.o apps/genpkey.o apps/genrsa.o apps/nseq.o apps/ocsp.o apps/openssl.o apps/op
> t.o apps/passwd.o apps/pkcs12.o apps/pkcs7.o apps/pkcs8.o apps/pkey.o apps/pkeyparam.o apps/pkeyutl.o apps/prime.o apps/rand.o apps/rehash.o apps/req.o apps/rsa.o apps/rsautl.o apps/s_cb.o apps/s_client.o apps/s_ser
> ver.o apps/s_socket.o apps/s_time.o apps/sess_id.o apps/smime.o apps/speed.o apps/spkac.o apps/srp.o apps/ts.o apps/verify.o apps/version.o apps/x509.o -L. -lssl -L. -lcrypto -lresolv -lsocket -lnsl -ldl -lpthread
> ld: warning: relocation warning: R_AMD64_COPY: file ./libcrypto.so: symbol PBEPARAM_it: relocation bound to a symbol with STV_PROTECTED visibility
> ld: warning: relocation warning: R_AMD64_COPY: file ./libcrypto.so: symbol PBE2PARAM_it: relocation bound to a symbol with STV_PROTECTED visibility
> ld: warning: relocation warning: R_AMD64_COPY: file ./libcrypto.so: symbol PBKDF2PARAM_it: relocation bound to a symbol with STV_PROTECTED visibility

I'm not sure why those symbols are marked as protected.  The only
thing we seem to be doing with visibilit is this:
./crypto/sparcv9cap.c:__attribute__ ((visibility("hidden")))

And you're not on sparc.

> seems the common thing here is that libcrypto.num does this, not sure what
> the implied effect is, but seems contradictory to me, one line says export as function
> the other one says ! (export as variable instead)
> 
> PBEPARAM_it                             1307    1_1_0   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
> PBEPARAM_it                             1307    1_1_0   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:

As far as I know, this is a windows only thing.  For ELF files
everything is just a symbol.

Anyway, from what I understand, it should be a harmless warning,
those variables should be read only and be in the .data.rel.ro
section.  But for some reason the solaris linker wants to make a
copy of it, so you'll end up with the same (read only) variable
twice.


Kurt



More information about the openssl-dev mailing list