首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对装配系统调用进行不支持的重新定位错误

对装配系统调用进行不支持的重新定位错误
EN

Stack Overflow用户
提问于 2015-11-18 16:39:14
回答 1查看 717关注 0票数 2

我试图交叉编译glibc-2.18为powerpc飞思卡尔评估委员会。

在构建的一个阶段,我得到以下错误:

代码语言:javascript
复制
    glibc
Failed:
 ../sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Assembler messages:
 ../sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S:40: Error: unsupported relocation against swapcontext
 make[3]: *** [/home/user/Desktop/SmoothWall/bcutm/distrib/build/sources/glibc/glibc-2.18-compile/stdlib/setcontext.o] Error 1
 make[3]: Leaving directory  /home/user/Desktop/SmoothWall/bcutm/distrib/build/sources/glibc/glibc-2.18/stdlib'
 make[2]: *** [stdlib/subdir_lib] Error 2
 make[2]: Leaving directory `/home/user/Desktop/SmoothWall/bcutm/distrib/build/sources/glibc/glibc-2.18'
 make[1]: *** [all] Error 2
 make[1]: Leaving directory `/home/user/Desktop/SmoothWall/bcutm/distrib/build/sources/glibc/glibc-2.18-compile'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-20 02:18:30

那里的SYS_ify(swapcontext)宏应该计算为__NR_swapcontext,这是用于交换上下文系统调用的数字。

__NR_swapcontext是一个宏,而不是变量名称,所以它应该由预处理器来解析(参见asm/unistd.h)。看起来您没有这方面的定义,因此没有对syscall号进行预处理,因此给您留下了一个未解决的变量名。

因此,您的问题是缺少__NR_swapcontext的定义,它应该由glibc编译所针对的内核头提供。您有正确的内核标题可用吗?

因为swapcontext是一个只有powerpc的系统调用,所以您可能会尝试针对构建机器的头来编译glibc。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33785554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档