小编Dav*_*hyi的帖子

如何将libc.a链接到arm-linux中的共享库中使用arm-none-linux-gnueabi-gcc

在一个项目中,我的同事创建了一个静态库,例如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重定位.

有没有人有这个想法?

谢谢你.

linux linker arm shared-libraries libc

5
推荐指数
1
解决办法
4615
查看次数

标签 统计

arm ×1

libc ×1

linker ×1

linux ×1

shared-libraries ×1