在一个项目中,我的同事创建了一个静态库,例如liba.a,它与app链接.
在liba.a中,他将libc malloc()覆盖为其所有者版本.
我创建了一个共享库libs.so,它也与app链接.
问题是当我的libs.so与app链接时,我的libs.so中使用的malloc()将是liba.a中的那个,而不是标准libc.so中的那个,这会导致问题.
然后,我想将libc.a静态链接到我的libs.so,我为gcc使用了-static -shared -fPIC标志.
但我总是得到arm-2012.03/bin /../ lib/gcc/arm-none-linux-gnueabi/4.6.3 /../../../../ arm-none-linux-gnueabi/bin/ld:arm-2012.03/bin /../ arm-none-linux-gnueabi/libc/usr/lib/libc.a(dl-tsd.o)(.text + 0x14):共享对象中不允许R_ARM_TLS_LE32重定位.
有没有人有这个想法?
谢谢你.