c - 来自 MIPS 平台上的 uClibc 的 sem_wait() 返回未实现
问题描述
碰巧我们被迫在 MIPS 平台上使用 2007 年发布的 Linux 2.6.21,不,改变内核是不可能的,或者说这个问题真的很昂贵。
为此,我正在使用带有 ./maintainer/addToolVersion.sh --linux --obsolete 2.6.21 的 crosstool-ng 构建自己的工具链,以添加旧的 kenel 支持和为 NPTL 线程配置的 uClibc-0.9.33.2。所以我遇到了信号量的问题,特别是 sem_wait() 和 sem_timedwait() - 当使用任何参数调用时,它们返回 -1 并将 errno 设置为未实现。
我试图用设置不同 Errno 的简单函数替换 sem_wait()、__new_sem_wait() 和 __old_sem_wait() 的所有实例,但 x86 汇编代码除外,但它不起作用并且仍然返回 Not Implemented。
所以我的问题是:有没有人见过这样的问题,或者你知道 uClibc 如何选择用于 MIPS 平台的函数?
解决方案
推荐阅读
- java - 使用 Files.move 创建新的“文件”文件类型,而不是将文件移动到目录
- java - 为石英调度程序使用不同的数据源,该数据源在 spring boot 应用程序中使用
- r - 在 R/dplyr 中按条件最大值过滤
- sql - SQL 查询使用 row_number over partition by 获取聚合结果
- extjs - Sencha Architect - 饼图在设计视图中有效,但在浏览器中无效(Extjs 6.2 Classic)
- c# - DependencyResolver SOMETIMES 在 IHttpModule 请求运行时未注册
- javascript - 在 Expo Go 上加载 Expo React Native 时遇到问题
- c++ - SAT 的哈密顿路径疑难解答
- java - Tomcat 错误 GRAVE:子容器在启动期间失败
- qt - QT 中是否有类似地图的工具可以在插入的索引上进行迭代?