Отключить -enable-default-pie для gcc

Мне нужно отключить -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 

В зависимости от количества процессоров, которые у вас есть, это может занять некоторое время. После этого просто беги gcc --version и посмотреть новый компилятор в действии.

Другие вопросы по тегам