Hello, 

I'm trying to build an Universal Binary (with 4 darwin architectures) version 
of OpenSSL libraries for Leopard.

When linking, ld returns the following error message:

Undefined symbols:
  "K0", referenced from:
      _sha256_block_data_order in libcrypto.a(sha256-x86_64.o)
      _sha512_block_data_order in libcrypto.a(sha512-x86_64.o)
  "_OPENSSL_ia0cap_P", referenced from:
      _AES_cbc_encrypt in libcrypto.a(aes-x86_64.o)
      _RC4_set_key in libcrypto.a(rc4-x86_64.o)
      _RC4_options in libcrypto.a(rc4-x86_64.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[4]: *** [link_a.darwin] Error 1
make[3]: *** [do_darwin-shared] Error 2
make[2]: *** [libcrypto.1.0.0.dylib] Error 2
make[1]: *** [shared] Error 2


I hacked the generated .s to replace symbols references this way, then deleted 
the .o to force the build:
K0 => K256 (sha256-x86_64.s)
K0 => K512 (sha256-x86_64.s)
_OPENSSL_ia0cap_P => _OPENSSL_ia32cap_P (aes-x86_64.s, rc4-x86_64[x2])

This allows me to build, but I assume it's not the right way to do it, and the 
build might be broken as there might be other side effects that I was unable to 
find (assembly is definitely not my mother tongue...).

I'd like to know the right way to do this, and to know if I need to do the 
build again in case it has broken the binaries.

PS: Re-sent, as I had no feedback from the ticket system after 2 hours (message 
lost or in queue ?) 

Thanks,
Yvan

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to