与OpenSSL库重复的名称/签名链接问题

时间:2014-01-21 16:59:48

标签: linux linker openssl ld

当我构建我的可执行文件时,我遇到了一个问题,我有一个目标文件,其名称/签名与libcrypto(SHA_Update)中的一个OpenSSL函数相同。我想我在这里有两个问题:

1。)我很惊讶链接器没有抱怨该符号有多个定义。

2.。)我构建的可执行文件调用HMAC_Update(将调用SHA_Update)。但是,它调用在我的一个目标文件中定义的SHA_Update,而不是OpenSSL的SHA_Update。

有人可以对此有所了解吗? libcrypto与我的可执行文件动态链接。

我认为这可能是弱链接的问题,其中openssl函数是弱链接的,而我的目标文件中的那个是强连接的,这可以解释所有这些(因为链接器不会抱怨多个定义和强链接的一个会破坏弱链接的一个,但我没有看到任何类型的文件中带有objdump或readelf的弱链接符号的引用。)

0 个答案:

没有答案