Pthread支持Windows上的Codesourcery工具链中的Power arch

时间:2013-08-15 06:30:44

标签: powerpc codesourcery

IA32上用于powerpc的代码源工具链Windows曾经拥有libc文件夹并支持pthreads等。现在来自Mentor图形的Codesourcery使用newlibc,因此省略了libc目录(有librt.a和libpthread.a)。 要在Windows上构建我的powerpc e500v2核心应用程序,我需要将它链接到-lrt和-lpthread。 我已经尝试了各种选项,使用Mentor图形代码源中的工具链,并从

添加libc liberaries(libpthread,librt)

1>应用微电路(AMCC)工具链,支持e500 mc和其他powerpc内核,但代码为e500mc构建 目前不能用于e500v2。因此,在工具链中为e500v2添加他们的libpthread.a会出错

在../../..\libpthread.a(pthread_create.o)中的TLS引用与powerpc-eabi / lib \ libc.a(lib_a-reent.o)中的非TLS引用不匹配

2 - ;来自Codesourcery,ELDK等的e500v2 for linux工具链具有pthread支持linux,使用libpthread.a和librt.a将 也产生上述错误。 提到非TLS参考错误可以在下面的链接中删除,但在遵循这些

之后我找不到任何成功

http://www.linuxquestions.org/questions/linux-general-1/ld-errno-tbss-mismatches-non-tls-reference-588894/

Red Hat newlib C liberary,用于Windows的所有代码源工具链,不支持powerpc-eabi平台的pthread(但对于linux,ELDK工具链对e500V2有pthread支持)。

我正在尝试为freescale P1010-RDB评估板构建。

使用在IA32 Windows上托管的Codesourcery EABI,可以做些什么来获得对powerpc e500v2核心的pthread支持?

1 个答案:

答案 0 :(得分:2)

如果你想要pthreads那么@ams可能是正确的,你混淆了裸机和Linux平台。您可能需要Windows主机Power GNU / Linux工具链:https://sourcery.mentor.com/GNUToolchain/release1785

newlib仅用于裸机工具链变体,因为EABI变体适用于裸机应用程序,所以没有pthread实现。