我需要禁用-enable-default-pie
gcc 配置中的选项,但我不知道该怎么做。是否有一个文本文件,我只需删除该选项即可,或者应该如何操作?
答案1
如果需要 GCC 的不同配置,则需要重新编译它。
下载 GCC
下载或者克隆从官方网站下载 GCC。或者,您也可以从 Ubuntu 源包中安装它。
# Download gcc
$ wget https://mirrors.kernel.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz
$ tar xf gcc-7.3.0.tar.xz
$ cd gcc-7.3.0
# Clone gcc
$ git clone https://gcc.gnu.org/git/gcc.git
$ cd gcc; git checkout gcc-7_3_0-release
# Use Ubuntu sources
$ apt-get source gcc-7
$ cd gcc-7-7.3.0
配置 GCC
进入 GCC 源文件夹并运行 autoconf 脚本configure
。在此之前,需要安装 gcc 的所有开发库。最常见的情况configure
只需要 c 和 c++ 语言(另请参阅这页面)。这也是您应该放置自定义选项的地方--enable-default-pie
。
$ sudo apt-get build-dep gcc-7
$ configure --enable-languages=c,c++
构建和安装
简单启动make
和make install
。这将在 中构建并安装自定义 gcc 。如果您需要不同的位置,您可以使用配置步骤中的选项/usr/local/bin
进行更改。--prefix=...
$ make -j $(grep -c processor /proc/cpuinfo)
$ sudo make install
# Or better with checkinstall which, creates a deb packet
$ sudo checkinstall make install
根据您拥有的 CPU 数量,这可能需要一段时间。之后,只需运行gcc --version
并观察新编译器的运行情况。