Update the default version of GCC in the Ports Collection from GCC 4.7.4

to GCC 4.8.3.

This entails updating the lang/gcc port as well as changing the default
in Mk/bsd.default-versions.mk, and it replaces the CONFLICT between the
lang/gcc and lang/gcc47 ports by lang/gcc48.

GCC now uses C++ as its implementation language and performs more
aggressive loop analysis which can be disabled via the
-fno-aggressive-loop-optimizations command-line option.

Compilation of extremely large functions has been signficantly improved,
as have interprocedural optimizations.

A new optimization level -Og has been introduced.  It addresses the need
for fast compilation and a superior debugging experience while providing
a reasonable level of run-time performance.  This should be better
suitable for development than the default -O0.

A new local register allocator (LRA) has been implemented, which replaces
the 26 year old reload pass and improves generated code quality. For now
it is active on the x86 and x86-64 targets.

AddressSanitizer, a fast memory error detector, has been added and can be
enabled via -fsanitize=address.

Each diagnostic emitted now includes the original source line and a caret
indicating the column.

The new option -Wpedantic is an alias for -pedantic, which is now deprecated.

The C++ frontend and associated run-time library libstdc++ have gained
support for many additional C++11 features.  As with previous releases
the Fortrand frontend has seen many improvements as well.

Support for the AArch64 has been added, and there are many improvements
to the x86/x86-64 backend and others.

See http://gcc.gnu.org/gcc-4.8/changes.html for an extense list of changes;
http://gcc.gnu.org/gcc-4.8/porting_to.html for information on how to port
to that new version.

PR:		192025
Tested by:	antoine (-exp runs)
This commit is contained in:
Gerald Pfeifer 2014-09-10 19:09:58 +00:00
parent c980de92a0
commit 7e422e0825
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=367883
5 changed files with 12 additions and 15 deletions

View File

@ -20,7 +20,7 @@ ${_l:tu}_DEFAULT= ${lang:C/.*=//g}
APACHE_DEFAULT?= 2.4
FPC_DEFAULT?= 2.6.4
GCC_DEFAULT?= 4.7
GCC_DEFAULT?= 4.8
LUA_DEFAULT?= 5.2
MYSQL_DEFAULT?= 5.5
PERL5_DEFAULT?= 5.16

View File

@ -2,13 +2,13 @@
# $FreeBSD$
PORTNAME= gcc
PORTVERSION= 4.7.4
PORTVERSION= 4.8.3
CATEGORIES= lang java
MASTER_SITES= ${MASTER_SITE_GCC}
MASTER_SITE_SUBDIR= releases/gcc-${DISTVERSION}
MAINTAINER= gerald@FreeBSD.org
COMMENT= GNU Compiler Collection 4.7
COMMENT= GNU Compiler Collection 4.8
LICENSE= GPLv3 GPLv3RLE
LICENSE_COMB= multi
@ -23,7 +23,7 @@ RUN_DEPENDS+= ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
BUILD_DEPENDS+= runtest:${PORTSDIR}/misc/dejagnu
.endif
CONFLICTS= gcc47*
CONFLICTS= gcc48*
# DISTVERSION relates to downloads, GCC_VERSION and SUFFIX to names
# of executables and directories once installed.
@ -94,7 +94,7 @@ INFO= gcc${SUFFIX}/cpp \
gcc${SUFFIX}/gfortran \
gcc${SUFFIX}/libgomp
# Release tarballs (as opposed to snapshots) always carry this.
#.if ${ARCH} != "ia64" && ${ARCH} != "powerpc" && ${ARCH} != "sparc64"
#.if ${ARCH} == "i386" || ${ARCH} == "amd64"
INFO+= gcc${SUFFIX}/libquadmath \
gcc${SUFFIX}/libitm
#.endif

View File

@ -1,2 +1,2 @@
SHA256 (gcc-4.7.4.tar.bz2) = 92e61c6dc3a0a449e62d72a38185fda550168a86702dea07125ebd3ec3996282
SIZE (gcc-4.7.4.tar.bz2) = 82935453
SHA256 (gcc-4.8.3.tar.bz2) = 6a8e4f11b185f4fe2ed9d7fc053e80f8c7e73f800c045f51f9d8bea33f080f1e
SIZE (gcc-4.8.3.tar.bz2) = 86126808

View File

@ -1,11 +1,11 @@
GCC, the GNU Compiler Collection, supports a number of languages. This
port installs the C, C++, Fortran and Java front ends as gcc47, g++47,
gfortran47, and gcj47, respectively.
port installs the C, C++, Fortran and Java front ends as gcc48, g++48,
gfortran48, and gcj48, respectively.
It can be used interchangibly with the lang/gcc47 port which tracks
It can be used interchangibly with the lang/gcc48 port which tracks
weekly upstream snapshots whereas this port will be updated less
frequently, mostly in sync with upstream releases, and will move to
lang/gcc48 and later over time.
lang/gcc49 and later over time.
WWW: http://gcc.gnu.org/

View File

@ -52,7 +52,7 @@ share/gcc-%%GCC_VERSION%%/python/libstdcxx/v6/printers.py
%%JAVA%%bin/gtnameserv%%SUFFIX%%
%%JAVA%%bin/jcf-dump%%SUFFIX%%
%%JAVA%%bin/jv-convert%%SUFFIX%%
%%JAVA%%libdata/pkgconfig/libgcj-4.7.pc
%%JAVA%%libdata/pkgconfig/libgcj-4.8.pc
%%JAVA%%man/man1/aot-compile%%SUFFIX%%.1.gz
%%JAVA%%man/man1/gappletviewer%%SUFFIX%%.1.gz
%%JAVA%%man/man1/gc-analyze%%SUFFIX%%.1.gz
@ -74,9 +74,6 @@ share/gcc-%%GCC_VERSION%%/python/libstdcxx/v6/printers.py
%%JAVA%%man/man1/gtnameserv%%SUFFIX%%.1.gz
%%JAVA%%man/man1/jcf-dump%%SUFFIX%%.1.gz
%%JAVA%%man/man1/jv-convert%%SUFFIX%%.1.gz
%%JAVA%%man/man3/ffi%%SUFFIX%%.3.gz
%%JAVA%%man/man3/ffi_call%%SUFFIX%%.3.gz
%%JAVA%%man/man3/ffi_prep_cif%%SUFFIX%%.3.gz
%%JAVA%%share/java/libgcj-%%GCC_VERSION%%.jar
%%JAVA%%share/java/libgcj-tools-%%GCC_VERSION%%.jar
@exec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi