the issue appears to be not in the compiler, but the newer Soalris linker (ld)
I switched back to using 12.4 compiler, issue went away BUT now the issue 
surfaces
if building OpenSSL using GCC. Some examples during the test suite

ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
PKCS7_SIGNED_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
PKCS7_SIGN_ENVELOPE_it: relocation bound to a symbol with STV_PROTECTED 
visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
PKCS7_SIGNER_INFO_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
PKCS8_PRIV_KEY_INFO_it: relocation bound to a symbol with STV_PROTECTED 
visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
PKEY_USAGE_PERIOD_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
POLICY_CONSTRAINTS_it: relocation bound to a symbol with STV_PROTECTED 
visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
POLICYINFO_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
POLICY_MAPPING_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
POLICY_MAPPINGS_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
POLICYQUALINFO_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
PROXY_CERT_INFO_EXTENSION_it: relocation bound to a symbol with STV_PROTECTED 
visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
PROXY_POLICY_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
RSA_OAEP_PARAMS_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
RSAPrivateKey_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
RSA_PSS_PARAMS_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
RSAPublicKey_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
SXNET_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
SXNETID_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
USERNOTICE_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_ALGOR_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_ALGORS_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_ATTRIBUTE_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_CERT_AUX_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_CINF_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_CRL_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_CRL_INFO_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_EXTENSION_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_EXTENSIONS_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_NAME_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_NAME_ENTRY_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_PUBKEY_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_REQ_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_REQ_INFO_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_REVOKED_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_SIG_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
X509_VAL_it: relocation bound to a symbol with STV_PROTECTED visibility
ld: warning: relocation warning: R_386_COPY: file ./libcrypto.so: symbol 
ZLONG_it: relocation bound to a symbol with STV_PROTECTED visibility


>-- Original Message --
>
>support for attribute visibility is new in the studio 12.5 compiler
>so there seems to be some incompatibility between cc and gcc now
>
>>-- Original Message --
>>
>>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
>>
>>-- 
>>openssl-dev mailing list
>>To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
>
>-- 
>openssl-dev mailing list
>To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

-- 
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to