【发布时间】:2016-08-15 18:58:58
【问题描述】:
出于“原因”,我需要构建一个不发出 SIMD 指令的 x86 工具链(尝试使用 -march 是不够的,因为 glibc 将包含为使用 SIMD 指令而构建的函数等)。
我使用以下配置标志构建了自己的 gcc 5.3:
../src/gcc/configure --prefix=/scratch/install --enable-languages=c,c++ \
--with-cpu=ivybridge \
--with-arch=ivybridge \
CFLAGS="-march=ivybridge" \
CXXFLAGS="-march=ivybridge"
然后我使用以下配置标志构建了自己的 glibc:
../src/glibc/configure --prefix=/scratch/install --with-arch=ivybridge \
CC="/scratch/install/bin/gcc" \
CXX="/scratch/install/bin/g++" \
CFLAGS="-O2 -march=ivybridge" \
CXXFLAGS="-O2 -march=ivybridge -Wa,-march=corei7+nommx+nosse+noavx"`
我确认我的 gcc 没有使用我的 glibc。
$ /scratch/install/bin/gcc -print-file-name=libc.so
/usr/lib/x86_64-linux-gnu/libc.so
问题:
如何链接我新编译的 glibc?如果有帮助,我只对编译 -static 二进制文件感兴趣。
【问题讨论】: