Сборка старого GCC <= 5.4 в Ubuntu 18.04 с использованием GCC 7.3 - PullRequest
0 голосов
/ 19 декабря 2018

Я хочу собрать более старые версии (<= 5.4.0) gcc в Ubuntu 18.04, однако продолжаю сталкиваться с различными ошибками компиляции, связанными с изменениями в стандарте POSIX.Я хочу создать много версий, но каждая версия gcc имеет различные проблемы, связанные с изменениями пространства имен.В настоящее время я компилирую с gcc-7.3. </p>

Существует ли центральный репозиторий более старого источника gcc (5.4, 4.8 и т. Д.) С патчами, позволяющими собирать их на Ubuntu 18.04 / gcc-7.3?В качестве альтернативы, есть ли какой-нибудь инструмент преобразования или аргументы компиляции, которые я могу использовать, чтобы полностью избежать этих ошибок?

Большинство ошибок связано с переопределениями struct namespace и, насколько я понимаю, это связано с некоторыми изменениями в POSIX.Некоторые примеры из моих попыток компиляции gcc-5.4.0:

  1. In linux-unwind.h с патчем от здесь

         siginfo_t info;
    -    struct ucontext uc;
    +    ucontext_t uc;
        } *rt_ = context->cfa;
    
  2. В sanitizer_stoptheworld_linux_libcdep.cc с патчем от здесь

Дело в том, что у меня нет полного списка необходимых мне изменений, и каждая версия gcc, кажется, требуетэто собственные модификации.

Мои параметры настройки для gcc-5.4.0 для справки:

../src/configure --prefix=/home/common/modules/gcc/5.4.0 --enable-languages=c,c++,fortran --disable-multilib --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --enable-checking=release
...