IA32 Windows 上用于 powerpc 的 Codesourcery 工具链曾经有 libc 文件夹并支持 pthreads 等。现在来自 Mentor graphics 的 Codesourcery 使用 newlibc,因此省略了 libc 目录(具有 librt.a 和 libpthread.a)。要在 Windows 上为 powerpc e500v2 内核构建我的应用程序,我需要将它链接到 -lrt 和 -lpthread。我通过使用 Mentor graphics Codesourcery 中的工具链并从
1> 为 e500 mc 和其他 powerpc 内核提供 pthread 支持的 Applied Micro Circuits (AMCC) 工具链,但为 e500mc 构建的代码目前不能用于 e500v2。因此,在 e500v2 的工具链中添加他们的 libpthread.a 会出错
../../..\libpthread.a(pthread_create.o) 中的 TLS 引用与 powerpc-eabi/lib\libc.a(lib_a-reent.o) 中的非 TLS 引用不匹配
2> 来自 Codesourcery、ELDK 等的 linux 的 e500v2 工具链对 linux 有 pthread 支持,使用那些 libpthread.a 和 librt.a 也会产生上述错误。提到可以在下面的链接中删除非 TLS 参考错误,但是在遵循这些之后我找不到任何成功
用于 Windows 的所有 codesourcery 工具链中使用的 Red Hat newlib C 库不支持 powerpc-eabi 平台的 pthread(但对于 linux,ELDK 工具链支持 e500V2 的 pthread)。
我正在尝试为飞思卡尔 P1010-RDB 评估板构建。
如何使用托管在 IA32 Windows 上的 Codesourcery EABI 来获得对 powerpc e500v2 内核的 pthread 支持?