Skip to content

Commit

Permalink
gcc: Remove gcc <= 4.7.x
Browse files Browse the repository at this point in the history
As per #222, in crosstool-NG >= 1.23.0, we will only support:

 [upstream supported gcc versions] - 1

As of this writing, these versions are:

* 5.2.0
* 4.9.3
* 4.8.5 (the -1, since development on 4.8.x is now closed)

I plan to keep 4.8.5 around because of some architectures having issues
with over-optimization or just faulty optimization in the 4.9.x and
possibly newer versions.

I also cleaned up a requirement for glibc to depend on >= gcc-4.6.x for
>= glibc-2.20, but since the lowest gcc we support after this change is
>= 4.8.5, this condition can go away.

Patches for older gcc versions are removed in the next commit.

This closes #222

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
  • Loading branch information
bhundven committed Nov 30, 2015
1 parent 0e85151 commit 2a89c32
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 176 deletions.
144 changes: 2 additions & 142 deletions config/cc/gcc.in
Original file line number Diff line number Diff line change
Expand Up @@ -64,60 +64,6 @@ config CC_GCC_V_4_8_5
prompt "4.8.5"
select CC_GCC_4_8

config CC_GCC_V_linaro_4_7
bool
prompt "linaro-4.7-2014.06"
depends on CC_GCC_SHOW_LINARO
select CC_GCC_4_7

config CC_GCC_V_4_7_4
bool
prompt "4.7.4"
select CC_GCC_4_7

config CC_GCC_V_linaro_4_6
bool
prompt "linaro-4.6-2013.05"
depends on CC_GCC_SHOW_LINARO
select CC_GCC_4_6

config CC_GCC_V_4_6_4
bool
prompt "4.6.4"
select CC_GCC_4_6

config CC_GCC_V_linaro_4_5
bool
prompt "linaro-4.5-2012.03"
depends on CC_GCC_SHOW_LINARO
select CC_GCC_4_5

config CC_GCC_V_4_5_4
bool
prompt "4.5.4"
select CC_GCC_4_5

config CC_GCC_V_linaro_4_4
bool
prompt "linaro-4.4-2011.02-0"
depends on CC_GCC_SHOW_LINARO
select CC_GCC_4_4

config CC_GCC_V_4_4_7
bool
prompt "4.4.7"
select CC_GCC_4_4

config CC_GCC_V_4_3_6
bool
prompt "4.3.6"
select CC_GCC_4_3

config CC_GCC_V_4_2_4
bool
prompt "4.2.4"
select CC_GCC_4_2

endchoice

config CC_GCC_CUSTOM
Expand All @@ -140,79 +86,6 @@ config CC_GCC_CUSTOM_LOCATION

endif #CC_GCC_CUSTOM

config CC_GCC_4_2
bool
select CC_GCC_4_2_or_later

config CC_GCC_4_2_or_later
bool

config CC_GCC_4_3
bool
select CC_GCC_4_3_or_later
select CC_GCC_USE_GMP_MPFR
select CC_GCC_HAS_PKGVERSION_BUGURL

config CC_GCC_4_3_or_later
bool
select CC_GCC_4_2_or_later

config CC_GCC_4_4
bool
select CC_GCC_4_4_or_later
select CC_GCC_USE_GMP_MPFR
select CC_GCC_HAS_GRAPHITE
select CC_GCC_HAS_PKGVERSION_BUGURL

config CC_GCC_4_4_or_later
bool
select CC_GCC_4_3_or_later

config CC_GCC_4_5
bool
select CC_GCC_4_5_or_later
select CC_GCC_USE_GMP_MPFR
select CC_GCC_USE_MPC
select CC_GCC_HAS_GRAPHITE
select CC_GCC_HAS_LTO
select CC_GCC_HAS_PKGVERSION_BUGURL
select CC_GCC_HAS_BUILD_ID

config CC_GCC_4_5_or_later
bool
select CC_GCC_4_4_or_later

config CC_GCC_4_6
bool
select CC_GCC_4_6_or_later
select CC_GCC_USE_GMP_MPFR
select CC_GCC_USE_MPC
select CC_GCC_HAS_GRAPHITE
select CC_GCC_HAS_LTO
select CC_GCC_HAS_PKGVERSION_BUGURL
select CC_GCC_HAS_BUILD_ID
select CC_GCC_HAS_LIBQUADMATH

config CC_GCC_4_6_or_later
bool
select CC_GCC_4_5_or_later

config CC_GCC_4_7
bool
select CC_GCC_4_7_or_later
select CC_GCC_USE_GMP_MPFR
select CC_GCC_USE_MPC
select CC_GCC_HAS_GRAPHITE
select CC_GCC_HAS_LTO
select CC_GCC_HAS_PKGVERSION_BUGURL
select CC_GCC_HAS_BUILD_ID
select CC_GCC_HAS_LNK_HASH_STYLE
select CC_GCC_HAS_LIBQUADMATH

config CC_GCC_4_7_or_later
bool
select CC_GCC_4_6_or_later

config CC_GCC_4_8
bool
select CC_GCC_4_8_or_later
Expand All @@ -229,7 +102,6 @@ config CC_GCC_4_8

config CC_GCC_4_8_or_later
bool
select CC_GCC_4_7_or_later

config CC_GCC_4_9
bool
Expand Down Expand Up @@ -291,8 +163,7 @@ config CC_GCC_USE_GRAPHITE
default y
depends on CC_GCC_HAS_GRAPHITE
select CLOOG_NEEDED if !CC_GCC_5_or_later
select PPL_NEEDED if !CC_GCC_4_8_or_later
select ISL_NEEDED if CC_GCC_4_8_or_later
select ISL_NEEDED
help
Enable the GRAPHITE loop optimsations.

Expand All @@ -316,7 +187,7 @@ config CC_GCC_USE_LTO
bool
default y
depends on CC_GCC_HAS_LTO
select CC_GCC_USE_LIBELF if CC_GCC_4_5
select CC_GCC_USE_LIBELF
help
Enable the Link Time Optimisations.

Expand Down Expand Up @@ -372,22 +243,11 @@ config CC_GCC_VERSION
default "4.9.3" if CC_GCC_V_4_9_3
default "linaro-4.8-2015.06" if CC_GCC_V_linaro_4_8
default "4.8.5" if CC_GCC_V_4_8_5
default "linaro-4.7-2014.06" if CC_GCC_V_linaro_4_7
default "4.7.4" if CC_GCC_V_4_7_4
default "linaro-4.6-2013.05" if CC_GCC_V_linaro_4_6
default "4.6.4" if CC_GCC_V_4_6_4
default "linaro-4.5-2012.03" if CC_GCC_V_linaro_4_5
default "4.5.4" if CC_GCC_V_4_5_4
default "linaro-4.4-2011.02-0" if CC_GCC_V_linaro_4_4
default "4.4.7" if CC_GCC_V_4_4_7
default "4.3.6" if CC_GCC_V_4_3_6
default "4.2.4" if CC_GCC_V_4_2_4

config CC_LANG_JAVA_USE_ECJ
bool
default y
depends on CC_LANG_JAVA
depends on CC_GCC_4_3_or_later

# Fortran always requires GMP+MPFR, whatever the gcc version
config CC_LANG_FORTRAN
Expand Down
7 changes: 3 additions & 4 deletions config/cc/gcc.in.2
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,13 @@ config CC_GCC_TARGET_FINAL
tricks are not done and the compiler is build with all/install.

config STATIC_TOOLCHAIN
select CC_GCC_STATIC_LIBSTDCXX if CC_GCC_4_4_or_later
bool
select CC_GCC_STATIC_LIBSTDCXX

config CC_GCC_STATIC_LIBSTDCXX
bool
prompt "Link libstdc++ statically into the gcc binary"
default y
depends on CC_GCC_4_4_or_later
select WANTS_STATIC_LINK
help
Newer gcc versions use the PPL library which is C++ code. Statically
Expand Down Expand Up @@ -142,7 +142,7 @@ config CC_GCC_LIBGOMP
Interface (API) for multi-platform shared-memory parallel programming in
C/C++ and Fortran". See:
http://gcc.gnu.org/onlinedocs/libgomp/

The default is 'N'. Say 'Y' if you need it, and report success/failure.

config CC_GCC_LIBSSP
Expand Down Expand Up @@ -229,7 +229,6 @@ config CC_GCC_LDBL_128
tristate
prompt "Enable 128-bit long doubles"
default m
depends on CC_GCC_4_2_or_later
help
Saying 'Y' will force gcc to use 128-bit wide long doubles
Saying 'N' will force gcc to use 64-bit wide long doubles
Expand Down
1 change: 0 additions & 1 deletion config/global/paths.in
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,6 @@ config STRIP_HOST_TOOLCHAIN_EXECUTABLES
config STRIP_TARGET_TOOLCHAIN_EXECUTABLES
bool
prompt "Strip target toolchain executables"
depends on CC_GCC_4_6_or_later
help
It means using install-strip target for GCC 4.6 or later.
An install-strip make target is provided that installs stripped
Expand Down
10 changes: 2 additions & 8 deletions config/libc/glibc.in
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ choice
config LIBC_GLIBC_V_2_22
bool
prompt "2.22"
select LIBC_GLIBC_2_21_or_later
select LIBC_GLIBC_2_20_or_later

config LIBC_GLIBC_V_2_21
bool
prompt "2.21"
select LIBC_GLIBC_2_21_or_later
select LIBC_GLIBC_2_20_or_later

config LIBC_GLIBC_LINARO_V_2_20
bool
Expand Down Expand Up @@ -141,12 +141,6 @@ config LIBC_GLIBC_CUSTOM

endchoice

# glibc 2.21 depends on gcc >= 4.6
config LIBC_GLIBC_2_21_or_later
bool
depends on CC_GCC_4_6_or_later
select LIBC_GLIBC_2_20_or_later

config LIBC_GLIBC_2_20_or_later
bool
select LIBC_GLIBC_2_17_or_later
Expand Down
27 changes: 6 additions & 21 deletions scripts/build/cc/100-gcc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -148,9 +148,7 @@ do_gcc_core_pass_2() {
;;
*)
core_opts+=( "mode=static" )
if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
core_opts+=( "build_libgcc=yes" )
fi
core_opts+=( "build_libgcc=yes" )
;;
esac

Expand Down Expand Up @@ -486,16 +484,8 @@ do_gcc_core_backend() {
CT_DoExecLog ALL ${make} ${JOBSFLAGS} -C libbacktrace
fi

# Starting with GCC 4.3, libgcc.mk is no longer built,
# and libgcc.mvars is used instead.

if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
libgcc_rule="libgcc.mvars"
core_targets=( gcc target-libgcc )
else
libgcc_rule="libgcc.mk"
core_targets=( gcc )
fi
libgcc_rule="libgcc.mvars"
core_targets=( gcc target-libgcc )

# On bare metal and canadian build the host-compiler is used when
# actually the build-system compiler is required. Choose the correct
Expand Down Expand Up @@ -731,10 +721,8 @@ do_gcc_backend() {
if [ -n "${CT_CC_GCC_ENABLE_CXX_FLAGS}" ]; then
extra_config+=("--enable-cxx-flags=${CT_CC_GCC_ENABLE_CXX_FLAGS}")
fi
if [ "${CT_CC_GCC_4_8_or_later}" = "y" ]; then
if [ "${CT_THREADS}" = "none" ]; then
extra_config+=(--disable-libatomic)
fi
if [ "${CT_THREADS}" = "none" ]; then
extra_config+=(--disable-libatomic)
fi
if [ "${CT_CC_GCC_LIBMUDFLAP}" = "y" ]; then
extra_config+=(--enable-libmudflap)
Expand Down Expand Up @@ -842,10 +830,7 @@ do_gcc_backend() {

if [ "${CT_THREADS}" = "none" ]; then
extra_config+=("--disable-threads")
if [ "${CT_CC_GCC_4_2_or_later}" = y ]; then
CT_Test "Disabling libgomp for no-thread gcc>=4.2" "${CT_CC_GCC_LIBGOMP}" = "Y"
extra_config+=("--disable-libgomp")
fi
extra_config+=("--disable-libgomp")
else
if [ "${CT_THREADS}" = "win32" ]; then
extra_config+=("--enable-threads=win32")
Expand Down

0 comments on commit 2a89c32

Please sign in to comment.