一个程序用gcc 8.3.1和 glibc 2.28编译过了,换台glibc 2.17的机器说找不到 mvec,
然后我打算通过头文件用低版本的 glibc 来编译(用了 __asm__(".symver sin,sin@GLIBC_2.2.5"); 这种方法),
这时候就出现 没有_ZGVbN2v_sin 类似的错误。
我简单做个case测试了一下,发现好像是 如果for 循环里面用了 sin的话,在 -O3 -fast-math的时候,就会优化成_ZGVbN2v_sin,然后链接了 libmvec.so吧。
想请教一下,有什么方法可以不优化,还是用sin() ?
--
FROM 14.16.155.*