gpt4 book ai didi

c - glibc中带有__NR_前缀的符号是什么?

转载 作者:行者123 更新时间:2023-12-02 10:45:47 26 4
gpt4 key购买 nike

我正在尝试在Alpine Linux上编译Box86,这是使用musl libc实现而不是glibc的Linux发行版。完成46%时,编译因以下错误而暂停:

/home/newbyte/box86/src/emu/x86syscall.c:124:11: error: '__NR_gettimeofday' undeclared here (not in a function); did you mean 'gettimeofday'?
124 | { 78, __NR_gettimeofday, 2 },
| ^~~~~~~~~~~~~~~~~
| gettimeofday
/home/newbyte/box86/src/emu/x86syscall.c:210:12: error: '__NR_clock_gettime' undeclared here (not in a function); did you mean 'clock_gettime'?
210 | { 265, __NR_clock_gettime, 2 },
| ^~~~~~~~~~~~~~~~~~
| clock_gettime
/home/newbyte/box86/src/emu/x86syscall.c:211:12: error: '__NR_clock_getres' undeclared here (not in a function); did you mean 'clock_getres'?
211 | { 266, __NR_clock_getres, 2 },
| ^~~~~~~~~~~~~~~~~
| clock_getres
自然地,我的第一个直觉是查找这些名称并弄清楚它们的用途,以便我可以找到合适的替代品,但是我运气不好,这引出我的问题:这些 __NR_前缀的符号是什么,他们做什么?

最佳答案

您似乎正在使用musl 1.2.0或更高版本进行编译,该版本甚至在32位目标上也具有64位time_t。这意味着32位系统调用(gettimeofdayclock_gettimeclock_getres)与musl的struct timevalstruct timespec的定义不兼容。为了防止意外使用错误的类型调用这些系统调用,在此环境中不提供相应的系统调用常量。

关于c - glibc中带有__NR_前缀的符号是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64123402/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com