Отключить -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
и посмотреть новый компилятор в действии.