当前位置: 代码迷 >> 综合 >> Openwrt 19.07编译cycletest和glibc出错处理
  详细解决方案

Openwrt 19.07编译cycletest和glibc出错处理

热度:45   发布时间:2024-02-12 08:54:04.0

硬件:ARM cortex A7, NXP imx6ull

系统:openwrt 19.07,linux 5.4.46

 

binutils 2.31,选择glibc时,要求gcc 6.2以上版本,故采用7.x版本。

编译过程中会出现数组个数小于0的错误,错误产生于代码文件libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc的1150行 CHECK_SIZE_AND_OFFSET(ipc_perm, mode);

这行代码是对_sanitizer_ipc_perm->mode和ipc_perm->mode的sizeof和offset做比较,推测是编译器对编译开关判断错误引起的,将其注释后编译通过。

至于为什么要用glibc,是因为musl库的signal.h和siginfo.h代码有错误,用到sigevent结构体的程序会编译出错,比如cycletest。