首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我该如何告诉gcc使用glibc的具体实例化?

我该如何告诉gcc使用glibc的具体实例化?
EN

Stack Overflow用户
提问于 2016-04-22 08:33:38
回答 1查看 496关注 0票数 0

出于“原因”,我需要构建一个没有SIMD指令的x86工具链(尝试使用-march是不够的,因为glibc将包含用于使用SIMD指令的函数,等等)。

我使用以下配置标志构建了自己的gcc 5.3:

代码语言:javascript
复制
../src/gcc/configure --prefix=/scratch/install --enable-languages=c,c++ \
--with-cpu=ivybridge \
--with-arch=ivybridge \
CFLAGS="-march=ivybridge" \
CXXFLAGS="-march=ivybridge"

然后,我使用以下配置标志构建了自己的glibc:

代码语言:javascript
复制
../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没有用我的滑头。

代码语言:javascript
复制
$ /scratch/install/bin/gcc  -print-file-name=libc.so
/usr/lib/x86_64-linux-gnu/libc.so

问题:

如何在新编译的glibc中链接?我只对编译-static二进制文件感兴趣,如果这有帮助的话。

EN

回答 1

Stack Overflow用户

发布于 2016-04-27 04:10:23

我证实我的gcc没有用我的滑头。

为什么要这么做?

您需要重新构建gcc,添加--with-sysroot=/scratch/install (可能还有其他标志)。

一般来说,构建正确的linux到linux交叉编译器是相当棘手的,您可能会发现使用交叉凳-ng会为您节省相当多的尝试和错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36788849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档