Opened 10 years ago
Last modified 9 years ago
#1019 closed task
GCC 5.2 — at Version 7
Reported by: | William Harrington | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | CLFS Standard 3.1.0 |
Component: | BOOK | Version: | CLFS Standard GIT |
Keywords: | GCC 5.2 | Cc: | berzerkula@…, jonathan@…, chris@… |
Description (last modified by )
New Major Release 5.2
https://gcc.gnu.org/ml/gcc-announce/2015/msg00003.html
Download: http://ftp.gnu.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.bz2
The Graphite framework for loop optimizations no longer requires the CLooG library, only ISL. The installation manual contains more information about requirements to build GCC.
There will be some configure changes and possibly toolchain changes. The patches for pure64bit and multilib will need to be edited.
Change History (11)
comment:1 by , 10 years ago
Version: | CLFS Standard 3.1.0 → CLFS Standard GIT |
---|
comment:2 by , 10 years ago
Description: | modified (diff) |
---|
by , 10 years ago
Attachment: | gcc-5.1.0-pure64-1.patch added |
---|
Pure64 bit patch for final system and 64bit builds. The layout of MIPS config has changed and needs a close look at those parts. Loongson and some other needs changed.
by , 10 years ago
Attachment: | gcc-5.1.0-amd64-final-tests added |
---|
Test resuilts of Ch10 Pure64 GCC AMD64
follow-up: 5 comment:4 by , 9 years ago
Agree on the bootstrap for the final version of the compiler, I have patches for the specs files also including mips etc, pure 64 works fine, but switched to a snapshot of gcc-5.1.1 as have noticed some regression when building packages. i kept the seds for LIBS and INC in temp gcc
by , 9 years ago
Attachment: | gcc-5.2.0-isl-1.patch added |
---|
by , 9 years ago
Attachment: | gcc-5.2.0-pure64_specs-1.patch added |
---|
comment:5 by , 9 years ago
Replying to blackadder:
Agree on the bootstrap for the final version of the compiler, I have patches for the specs files also including mips etc, pure 64 works fine, but switched to a snapshot of gcc-5.1.1 as have noticed some regression when building packages. i kept the seds for LIBS and INC in temp gcc
The seds for LIBS and INC can be removed. They are no longer required.
comment:6 by , 9 years ago
Here are my current build instructions for gcc 5.2.0 and Pure64 bit:
GCC 4.8.3 -> 5.2.0
gcc-5.2.0-isl-1.patch
Static ======
remove touch limits.h add --with-glibc-version=2.11 so GLIBC will detect and use ssp properly. GLIBC will then no longer need config.cache for ssp.
AR=ar LDFLAGS="-Wl,-rpath,/cross-tools/lib" ../gcc-5.2.0/configure --prefix=/cross-tools --build=${CLFS_HOST} --host=${CLFS_HOST} --target=${CLFS_TARGET} --with-sysroot=${CLFS} --with-glibc-version=2.11 --with-local-prefix=/tools --with-native-system-header-dir=/tools/include --disable-nls --disable-shared --with-mpfr=/cross-tools --with-gmp=/cross-tools --with-isl=/cross-tools --with-mpc=/cross-tools -without-headers --with-newlib --disable-multilib --disable-decimal-float --disable-threads --disable-libatomic --disable-libgomp --disable-libitm --disable-libquadmath --disable-libsanitizer --disable-libssp --disable-libvtv --disable-libcilkrts --disable-libstdc++-v3 --with-system-zlib --enable-languages=c --enable-checking=release
Final =====
AR=ar LDFLAGS="-Wl,-rpath,/cross-tools/lib" ../gcc-5.2.0/configure --prefix=/cross-tools --build=${CLFS_HOST} --target=${CLFS_TARGET} --host=${CLFS_HOST} --with-sysroot=${CLFS} --with-local-prefix=/tools --with-native-system-header-dir=/tools/include --disable-nls --disable-static --enable-languages=c,c++ --disable-multilib --with-mpc=/cross-tools --with-mpfr=/cross-tools --with-gmp=/cross-tools --with-isl=/cross-tools --with-system-zlib --enable-checking=release
Temp ====
cat gcc/limitx.h gcc/glimits.h gcc/limity.h >
dirname $($CLFS_TARGET-gcc -print-libgcc-file-name)
/include-fixed/limits.h
../gcc-5.2.0/configure --prefix=/tools --build=${CLFS_HOST} --host=${CLFS_TARGET} --target=${CLFS_TARGET} --with-local-prefix=/tools --disable-multilib --with-native-system-header-dir=/tools/include --enable-languages=c,c++ --disable-libstdcxx-pch --with-system-zlib --enable-checking=release --enable-libstdcxx-time
remove sed for LIBS and INC
Ch10 Final System I'm currently working with. I have this form my last build:
GCC 5.2.0 Final System
SED=sed CC="gcc -isystem /usr/include" CXX="g++ -isystem /usr/include" LDFLAGS="-Wl,-rpath-link,/usr/lib:/lib" ../gcc-5.2.0/configure --prefix=/usr --libexecdir=/usr/lib --enable-languages=c,c++ --disable-multilib --with-system-zlib --enable-checking=release
install -v -dm755 /usr/lib/bfd-plugins ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/5.2.0/liblto_plugin.so /usr/lib/bfd-plugins/
comment:7 by , 9 years ago
Description: | modified (diff) |
---|---|
Summary: | GCC 5.1 → GCC 5.2 |
Work in progress
May want to disable bootstrap for each build. There are branch updates we will want to include. 5.2.0 is fine for a stable release but there are critical issues that we need to follow with each release as usual.
Section 5.13 GCC 5.2.0 static
Section 5.15 GCC 5.2.0 Final:
Section 6.10 Temp System GCC 5.2.0:
remove sed for LIBS and INC
Section 10.19 Final System GCC 5.2.0:
View https://gcc.gnu.org/onlinedocs/libstdc++/manual/configure.html for configure options
libstdcxx-time looks like auto is best for configure to use
precompiled libstdcxx pch header should probably keep that. Still undecided
Add a compatibility symlink to enable building programs with Link Time Optimization (LTO)