Commit graph

15 commits

Author SHA1 Message Date
Tobias Kortkamp
e73279ea10 lang/gcc*: Hide pkg-message during upgrades
PR:		239419
Approved by:	gerald (maintainer)
2019-07-24 21:30:44 +00:00
Gerald Pfeifer
4416e5432c Fix an incorrect sed regular expression used in libjava by adding a local
patch files/patch-libjava-classpath-scripts-check_jni_methods.sh.in.
Escapes of ordinary characters will be disallowed by regex(3) in the
future. [1]

While here already, factor out a proper USES block in the Makefile. [2]

PR:		233443 [1]
Submitted by:	kevans [1]
Reported by:	portlint [2]
2019-02-19 22:09:23 +00:00
Gerald Pfeifer
b25f38a2af Update to the GCC 6.4.0 upstream release which carries a number of
fixes and closes the GCC 6 release  branch.

files/patch-armv7-support and files/patch-freebsd-unwind.h made it
upstream in between GCC 6.4 and GCC 6.5, so remove them.
2018-10-26 20:23:02 +00:00
Mark Linimon
d0c5aa8cc1 Allow gcc compilers to be built on new arch 'powerpcspe'.
Tested for no-harm on amd64.

Submitted by:		jhibbits
Approved by:		portmgr (tier-2 blanket)
Differential Revision:	D13126
2018-03-31 12:11:36 +00:00
Gerald Pfeifer
001b2bc6a5 Add a patch that we pulled into gcc6-devel via upstream a few days ago
that addresses a real-world issue around threading and unwinding as
files/patch-freebsd-unwind.h .

This will become obsolete with the next release of GCC 6, GCC 6.5.

Bump PORTREVISION since this is a functional change.

On the way fix up the format for files/patch-armv7-support . [1]

Reported by:	portlint [1]
2017-11-14 05:28:51 +00:00
Andreas Tobler
7ead1eb866 Add support for armv7-*-freebsd*.
This patch is already upstreamed and can be dropped once a new GCC 6.x is
released.

PR:	221905
Submitted by:	mmel@
Approved by:	gerald@ (maintainer)
2017-10-10 19:17:19 +00:00
Gerald Pfeifer
5b0478c11f Update to the GCC 6.4.0 upstream release which carries a number of fixes.
This now comes as an xz archive, so update USES=tar accordingly.

Also this now includes
  files/patch-aarch64-support,
  files/patch-libgcc-config-arm-unwind-arm, and
  files/patch-x86-64-fix-m16
which andreast@ and me pushed upstream.

On the other hand we gain bin/gcov-dump6 and man pages for gcov-dump6
and gcov-tool6.

Finally, as with lang/gcc5 and lang/gcc6-devel, remove headers being
created by GCC's fixincludes machinery from the installation / packaging
to avoid breakage when FreeBSD's headers are changing afterwards.
2017-07-08 09:57:58 +00:00
Gerald Pfeifer
8f3d5752f6 Forward port files/patch-x86-64-fix-m16 from lang/gcc5. This has been
in gcc6-devel for a while, but the next GCC 6 release has been taking
longer than expected, so let's put this in temporarily.

PR:		219291
2017-05-28 10:34:12 +00:00
Andreas Tobler
b172a04396 Make _Unwind_GetIP, _Unwind_GetIPInfo and _Unwind_SetIP available as functions
for arm*-*-freebsd*.
This patch is already pushed upstream to all active gcc branches.
GCC-5, GCC-6, GCC-7 and trunk. The gcc?-devel ports will catch up these bits
with the next update.
Once a new release for gcc6 or gcc5 is done, this patch will be obsolete.

Approved by: gerald@ (maintainer)
2017-05-21 20:34:22 +00:00
Andreas Tobler
2f4835ed3d Define WCHAR_T for aarch64 on all active gcc (gcc/gcc5 and gcc6) releases.
This define is already in upstream.
The gcc*-devel ports will pickup the commit from upstream.

Submitted by:	kan@
Approved by:	gerald@ (maintainer)
2017-04-08 18:55:35 +00:00
Andreas Tobler
7a0dbdf30d Backport the bits needed for aarch64-*-freebsd* support from the gcc6-devel
port.
The same applies here as on the lang/gcc5 port, as soon as GCC releases
a new gcc6, these bits go away. Iow, they are already part of the gcc6-devel
branch.

Approved by:	gerald(maintainer)
2017-02-16 18:38:27 +00:00
Gerald Pfeifer
33aa6a46c0 Update to the GCC 6.3 release which brings a number of bugfixes.
Omit the definition of DISTVERSION which is only necessary for ports
tracking snapshots of GCC and simplify the definition of GCC_VERSION
(but keep the latter as a variable to align the gcc6-devel and gcc6 ports).

Remove files/patch-unwind-ia64.h since we have not been supporting ia64
with this release series (ONLY_FOR_ARCHS has not been including ia64).
2016-12-25 21:03:54 +00:00
Gerald Pfeifer
57ae2dd7a4 Update to the GCC 6.2 release with a fair number of fixes.
files/patch-armv6-hf-support has been accepted upstream, even
on the GCC 6-branch this release comes from, so remove it.

Backport the following from lang/gcc6-devel:

GCC uses an AWK script to generate source code that helps process
command-line options.  According to POSIX, string comparisons (and
hence sorting) are to be performed based on the locale's collating
order.  Alas GNU AWK only does so in POSIX mode, whereas starting
with FreeBSD 11 we do so by default, running into a bug (or false
assumption) with that script used by GCC.

Setting MAKE_ARGS such that AWK is always invoked in the C locale
works around this bug. [1]

PR:		210122 [1], 211742 [1]
Submitted by:	jkim [1]
2016-08-22 13:20:47 +00:00
Andreas Tobler
3c69a3f69e Skip armv6hf support and move it into armv6. 2016-06-13 09:07:14 +00:00
Gerald Pfeifer
8d6d07c36d Welcome to the GCC 6.1 release, the first release of the GCC 6 series.
The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98.

Type-based alias analysis now disambiguates accesses to different pointers.
This improves precision of the alias oracle by about 20-30% on higher-level
C++ programs. Programs doing invalid type punning of pointer types may now
need -fno-strict-aliasing to work correctly.

Value range propagation now assumes that the this pointer of C++ member
functions is non-null. This eliminates common null pointer checks but also
breaks some non-conforming code-bases (such as Qt-5, Chromium, KDevelop).
As a temporary work-around -fno-delete-null-pointer-checks can be used.
Wrong code can be identified by using -fsanitize=undefined.

There have been significant improvements around link-time optimization
and inter-procedural optimization and some support for OpenACC (though
probably not tested on FreeBSD) and version 4.5 of the OpenMP specification.

Source locations for the C and C++ compilers are now tracked as ranges
and diagnostics can now contain "fix-it hints".

New command-line options include -Wshift-negative-value, -Wshift-overflow,
-Wtautological-compare, -Wnull-dereference, -Wduplicated-cond, and
-Wmisleading-indentation.

C++ Concepts are now supported when compiling with -fconcepts, and there
are several other improvements around support for newer C++ features as
well as in the libstdc++ library.

Fortran now features Fortran 2008 SUBMODULE support, Fortran 2015 EVENT_TYPE,
EVENT_POST, EVENT_WAIT, and EVENT_QUERY support, and improved support for
OpenMP and OpenACC.

A lot has happened on the AArch64 and ARM fronts, on x86-64 there is now
Skylake with AVX-512 support, AMD instructions monitorx and mwaitx, and
support for address spaces __seg_fs, __seg_gs, and __seg_tl, as well as
AMD Zen (family 17h) processors, and basic support has been added for POWER9.

https://gcc.gnu.org/gcc-6/changes.html has a more extensive set of
changes and https://gcc.gnu.org/gcc-6/porting_to.html has a solid
overview of issue you may encountering porting to this new version.
2016-06-10 09:04:15 +00:00