我试图交叉编译glibc-2.18为powerpc飞思卡尔评估委员会。
在构建的一个阶段,我得到以下错误:
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'发布于 2015-11-20 02:18:30
那里的SYS_ify(swapcontext)宏应该计算为__NR_swapcontext,这是用于交换上下文系统调用的数字。
__NR_swapcontext是一个宏,而不是变量名称,所以它应该由预处理器来解析(参见asm/unistd.h)。看起来您没有这方面的定义,因此没有对syscall号进行预处理,因此给您留下了一个未解决的变量名。
因此,您的问题是缺少__NR_swapcontext的定义,它应该由glibc编译所针对的内核头提供。您有正确的内核标题可用吗?
因为swapcontext是一个只有powerpc的系统调用,所以您可能会尝试针对构建机器的头来编译glibc。
https://stackoverflow.com/questions/33785554
复制相似问题