Я получаю дамп ядра в моей общей библиотеке (libabc.so).
libabc.so - это библиотека, которую я создал, используя все статические библиотеки (используя -Wl, -Bstatic), кроме libdl.so & librt.so (используя -Wl, -Bdynamic).
Я использовал gdb, чтобы посмотреть дамп ядра. Stack strace показывает, что libabc.so вызывает некоторые функции и использует их из libsoftokn3.so, libfreeblpriv3.so и libnssutil3.so.
Я проверил с помощью команды - 'ldd libabc.so', связаны ли вышеуказанные библиотеки, но он не перечисляет ни одну из вышеуказанных трех библиотек или библиотек, которые могут их использовать.
Моя проблема в том, почему / как компоновщик автоматически связывает эти общие библиотеки?
Это причина для coredump?
Для справки:
#0 0x00007fc878cfa2f7 in PL_HashTableLookupConst (ht=0x0,
key=0x7fffdf6eb840) at plhash.c:351
351 keyHash = (*ht->keyHash)(key);
[Current thread is 1 (Thread 0x7fc8791ed740 (LWP 13380))]
(gdb) bt
#0 0x00007fc878cfa2f7 in PL_HashTableLookupConst (ht=0x0,
key=0x7fffdf6eb840) at plhash.c:351
#1 0x00007fc875ffe7b8 in SECOID_FindOID_Util () from /usr/lib/x86_64-linux-
gnu/libnssutil3.so
#2 0x00007fc875ffe849 in SECOID_FindOIDTag_Util () from /usr/lib/x86_64-
linux-gnu/libnssutil3.so
#3 0x00007fc87573d992 in ?? () from /usr/lib/x86_64-linux-gnu/nss/libfreeblpriv3.so
#4 0x00007fc87573db9f in ?? () from /usr/lib/x86_64-linux-gnu/nss/libfreeblpriv3.so
#5 0x00007fc876502c05 in ?? () from /usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so
#6 0x00007fc878c28e7d in PK11_GenerateKeyPairWithOpFlags () from /usr/avcd/bin/libabc.so
#7 0x00007fc878c58b8c in SECKEY_CreateECPrivateKey () from /usr/avcd/bin/libabc.so
#8 0x00007fc878c06de5 in ssl_CreateECDHEphemeralKeyPair () from /usr/avcd/bin/libabc.so
#9 0x00007fc878c078b3 in ssl_CreateStaticECDHEKeyPair () from /usr/avcd/bin/libabc.so
#10 0x00007fc878d154e7 in PR_CallOnceWithArg (once=0x7fc878fe7f40 <gECDHEKeyPairs+224>,
func=0x7fc878c07880 <ssl_CreateStaticECDHEKeyPair>, arg=0x7fffdf6ec180) at prinit.c:807
#11 0x00007fc878c07a30 in ssl_FilterSupportedGroups () from /usr/avcd/bin/libabc.so
#12 0x00007fc878bf07ed in ssl3_config_match_init () from /usr/avcd/bin/libabc.so
#13 0x00007fc878bf5b76 in ssl3_SendClientHello () from /usr/avcd/bin/libabc.so
#14 0x00007fc878c002bb in ssl_BeginClientHandshake () from /usr/avcd/bin/libabc.so
#15 0x00007fc878bd9742 in ssl_Do1stHandshake () from /usr/avcd/bin/libabc.so
#16 0x00007fc878bda317 in ssl_SecureRecv () from /usr/avcd/bin/libabc.so
#17 0x00007fc878bde041 in ssl_Recv () from /usr/avcd/bin/libabc.so
#18 0x00007fc878d0af21 in PR_Recv (fd=0xec1610, buf=0x7fffdf6ecbf0, amount=100, flags=0,
timeout=4294967295) at priometh.c:188
#19 0x00007fc878b8e634 in recv () from /usr/avcd/bin/libabc.so
#20 0x00007fc878b8eb1f in client_received_handshake(int) () from /usr/avcd/bin/libabc.so
#21 0x00007fc878b95820 in connect () from /usr/avcd/bin/libabc.so
#22 0x0000000000402af2 in service_create (ap_socket=ap_socket@entry=0x7fffdf6edc24,
a_serverName=<optimized out>, a_serverPort=5000, argv=argv@entry=0x7fffdf6edd18)
at client.c:126
#23 0x00000000004034b8 in main (a_argc=<optimized out>, ap_argv=0x7fffdf6edd18) at client.c:48