Сборка Devtoolset 7 gcc с "--enable-vtable-verify"

На моем компьютере установлены пакеты devtoolset7

devtoolset-7-binutils-devel-2.28-11.el7.x86_64
devtoolset-7-runtime-7.1-4.el7.x86_64
devtoolset-7-binutils-2.28-11.el7.x86_64
devtoolset-7-gdb-8.0.1-36.el7.x86_64
devtoolset-7-libasan-devel-7.3.1-5.13.el7.x86_64
devtoolset-7-gcc-c++-7.3.1-5.13.el7.x86_64
devtoolset-7-libstdc++-devel-7.3.1-5.13.el7.x86_64
devtoolset-7-valgrind-3.13.0-11.el7.x86_64
devtoolset-7-gcc-7.3.1-5.13.el7.x86_64

Я пытаюсь построить двоичный файл с -fvtable-verify=std

К сожалению, gcc, поставляемый с devtoolset 7, не собран с --enable-vtable-verify

Как я могу восстановить devtoolset 7 GCC с --enable-vtable-verify с аналогичной конфигурацией, используемой devtoolset 7.

0 ответов

Вся суть devtoolset заключается в том, чтобы оставаться обратно совместимой с системным компилятором и его старыми версиями. libstdc++.so.6библиотека. В--enable-vtable-verify опция создает несовместимую среду выполнения C++ с другим ABI, которая не может использоваться с любыми существующими библиотеками, которые не были скомпилированы с включенным VTV.

Нет смысла создавать компилятор devtoolset (предназначенный для совместимости с системным компилятором), который явно несовместим с системным компилятором.

Если вы хотите использовать VTV, просто создайте свой собственный GCC из исходного кода и включите VTV, но имейте в виду, что код, скомпилированный этим GCC, не будет совместим с кодом, скомпилированным с помощью системного компилятора или компилятора devtoolset.

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