使用GCC 7.3在Ubuntu 18.04上构建旧版GCC <= 5.4

时间:2018-12-19 00:18:04

标签: ubuntu gcc g++ posix ubuntu-18.04

我想在Ubuntu 18.04上构建gcc的旧版本(<= 5.4.0),但是我一直遇到各种与POSIX标准更改有关的编译错误。我想构建许多版本,但是每个gcc版本都有与名称空间更改相关的不同问题。我目前正在使用gcc-7.3进行编译。

是否有一个较旧的gcc源(5.4、4.8等)的中央存储库,并带有补丁程序以允许它们在Ubuntu 18.04 / gcc-7.3上构建?另外,是否可以使用某些转换工具或编译参数来完全避免这些错误?

大多数错误与结构名称空间重新定义有关,据我了解,这与POSIX中的一些更改有关。我尝试编译gcc-5.4.0的一些示例:

  1. linux-unwind.h中,带有here的补丁

         siginfo_t info;
    -    struct ucontext uc;
    +    ucontext_t uc;
        } *rt_ = context->cfa;
    
  2. sanitizer_stoptheworld_linux_libcdep.cc中有来自here的补丁

问题是我没有我需要的完整更改列表,而且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

0 个答案:

没有答案