[erlang-questions] Erlang crypto_drv in R13B02/03 fails to load on amd64-Solaris2.10

Chandru chandrashekhar.mullaparthi@REDACTED
Fri Nov 20 23:33:51 CET 2009

2009/11/20 Per Hedeland <per@REDACTED>

> Peter-Henry Mander <phmander@REDACTED> wrote:
> >
> >A useful point, but no. I've been careful to ensure that the build is 64
> bit:
> OK, it was just a first guess.:-)
> But then I recognized one more word from the message: "main". This kind
> of contradicts what I wrote above, but surely there shouldn't be a
> "main" symbol in crypto_drv. What does 'nm' say?
Here is the output of nm on the build Peter is working on.

> nm crypto_drv.so
                 U AES_cbc_encrypt
                 U AES_cfb128_encrypt
                 U AES_set_decrypt_key
                 U AES_set_encrypt_key
                 U BF_cfb64_encrypt
                 U BF_set_key
                 U BN_CTX_free
                 U BN_CTX_new
                 U BN_add
                 U BN_bin2bn
                 U BN_bn2bin
                 U BN_free
                 U BN_mod_exp
                 U BN_new
                 U BN_num_bits
                 U BN_pseudo_rand_range
                 U BN_sub
                 U CRYPTO_cleanup_all_ex_data
                 U CRYPTO_num_locks
                 U CRYPTO_set_dynlock_create_callback
                 U CRYPTO_set_dynlock_destroy_callback
                 U CRYPTO_set_dynlock_lock_callback
                 U CRYPTO_set_id_callback
                 U CRYPTO_set_locking_callback
                 U CRYPTO_set_mem_functions
                 U DES_ede3_cbc_encrypt
                 U DES_ncbc_encrypt
                 U DES_set_key
                 U DH_check
                 U DH_compute_key
                 U DH_free
                 U DH_generate_key
                 U DH_generate_parameters
                 U DH_new
                 U DH_size
                 U DSA_free
                 U DSA_new
                 U DSA_sign
                 U DSA_size
                 U DSA_verify
                 U MD4
                 U MD4_Final
                 U MD4_Init
                 U MD4_Update
                 U MD5
                 U MD5_Final
                 U MD5_Init
                 U MD5_Update
                 U RAND_pseudo_bytes
                 U RC2_cbc_encrypt
                 U RC2_set_key
                 U RC4
                 U RC4_set_key
                 U RSA_free
                 U RSA_new
                 U RSA_private_decrypt
                 U RSA_private_encrypt
                 U RSA_public_decrypt
                 U RSA_public_encrypt
                 U RSA_sign
                 U RSA_size
                 U RSA_verify
                 U SHA1
                 U SHA1_Final
                 U SHA1_Init
                 U SHA1_Update
                 U SSLeay
                 U SSLeay_version
0000000000017ff8 D _DYNAMIC
0000000000018318 b _END_
0000000000017cf8 D _GLOBAL_OFFSET_TABLE_
                 w _Jv_RegisterClasses
00000000000023f8 T _PROCEDURE_LINKAGE_TABLE_
0000000000000000 r _START_
00000000000181c0 d __CTOR_END__
00000000000181b8 d __CTOR_LIST__
00000000000181d0 d __DTOR_END__
00000000000181c8 d __DTOR_LIST__
00000000000001d0 r __EH_FRAME_BEGIN__
00000000000004d0 r __FRAME_END__
00000000000181d8 d __JCR_END__
00000000000181d8 d __JCR_LIST__
00000000000181a0 D ___Argv
                 w __deregister_frame_info_bases
0000000000007b70 t __do_global_ctors_aux
0000000000002a10 t __do_global_dtors_aux
00000000000181b0 D __dso_handle
                 U __fpstart
00000000000181a8 D __longdouble_used
                 w __register_frame_info_bases
00000000000182a8 D _edata
0000000000018318 B _end
0000000000018198 D _environ
0000000000007cf7 R _etext
                 U _exit
0000000000007bc0 T _fini
0000000000007bb0 T _init
0000000000007bcc R _lib_version
0000000000002a00 T _mcount
0000000000002980 T _start
                 U atexit
00000000000182c0 b completed.1
0000000000002c9f t control
0000000000018200 d crypto_driver_entry
                 U driver_alloc
                 U driver_alloc_binary
                 U driver_free
0000000000002ab8 T driver_init
                 U driver_realloc
                 U driver_realloc_binary
                 U driver_system_info
0000000000007797 t dyn_create_function
00000000000077d8 t dyn_destroy_function
00000000000077b4 t dyn_lock_function
0000000000018198 V environ
                 U erl_drv_rwlock_create
                 U erl_drv_rwlock_destroy
                 U erl_drv_rwlock_rlock
                 U erl_drv_rwlock_runlock
                 U erl_drv_rwlock_rwlock
                 U erl_drv_rwlock_rwunlock
                 U erl_drv_thread_self
                 U exit
0000000000002bfb t finish
0000000000002a60 t frame_dummy
00000000000077f6 t hmac_md5
00000000000079b1 t hmac_sha1
000000000000778c t id_function
0000000000002ac5 t init
0000000000007beb r libname.0
0000000000018310 b lock_vec
0000000000007729 t locking
00000000000076f2 t locking_function
                 U main
                 U memcpy
                 U memset
00000000000182e0 b object.2
00000000000181e0 d p.0
0000000000007683 t return_binary
00000000000075ff t return_binary_shrink
                 U set_port_control_flags
0000000000002c70 t start
0000000000002c95 t stop
                 U strlen


More information about the erlang-questions mailing list