summaryrefslogtreecommitdiff
path: root/lang/gcc/files (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Essentially replace (or rather reinvent) the lang/gcc port, which moreGerald Pfeifer2017-05-277-402/+0
| | | | | | | | | | | | | | | | | | | | | or less ended up identical to lang/gcc5 now that we differentiate between lang/gccX-devel and lang/gccX ports, by (or as) a meta-port that pulls in the respective lang/gccX port (based on the setting of $GCC_DEFAULT) and defines gcc, g++, and gfortran as symlinks to the respective versioned binaries. This is the end of a long journey establishing this infrastructure which is now similar to the one of the python ports, for example, and makes upgrading the default as well as adjusting the default locally a lot easier. (PORTVERSION remains at 5.4.0 for now to avoid PORTEPOCH, but PORTREVISION gets a bump.) Suggested by: tijl (a while ago) Notes: svn path=/head/; revision=441883
* Define WCHAR_T for aarch64 on all active gcc (gcc/gcc5 and gcc6) releases.Andreas Tobler2017-04-081-1/+6
| | | | | | | | | | | This define is already in upstream. The gcc*-devel ports will pickup the commit from upstream. Submitted by: kan@ Approved by: gerald@ (maintainer) Notes: svn path=/head/; revision=438061
* Copy over files/patch-disable-armvhf-config.gcc from lang/gcc5 toGerald Pfeifer2017-04-081-0/+18
| | | | | | | | | fix the armv6 bootstrap. Reported by: andreast, jbeich Notes: svn path=/head/; revision=437982
* Add support for aarch64.Gerald Pfeifer2017-04-011-0/+186
| | | | | | | Submitted by: andreast Notes: svn path=/head/; revision=437475
* Update lang/gcc and hence the default version of GCC in the PortsGerald Pfeifer2017-04-014-755/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Collection (requested by USE_GCC=yes and various USES=compiler invocations) from GCC 4.9.4 to GCC 5.4. files/patch-arm-support and files/patch-gcc_system.h have become obsolete. New patches files/patch-arm-unwind-cxx-support and files/patch-libc++ help support arm targets and new libc++ in base. ONLY_FOR_ARCHS now also includes arm. A new option GRAPHITE_DESC, off by default for now, adds support for Graphite loop optimizations. Finally, conflicts with other lang/gcc* ports are adjusted suitably. In terms of changes for users, this upgrade brings the following: The default mode for C is now -std=gnu11 instead of -std=gnu89. New warning options -Wc90-c99-compat and -Wc99-c11-compat may prove useful on that front. The C++ front end now has full C++14 language support including C++14 variable templates, C++14 aggregates with non-static data member initializers, C++14 extended constexpr, and more. The Standard C++ Library (libstdc++) has full C++11 support and experimental full C++14 support. It uses a new ABI by default. There have been significant improvements to inter-procedural optimizations and link-time optimization such as One Definition Rule based merging of C++ types as well as register allocation. OpenMP 4.0 specification offloading features are now supported by the C, C++, and Fortran compilers. Cilk Plus, an extension to the C and C++ languages to support data and task parallelism, has been added as well. New warning options -Wswitch-bool, -Wlogical-not-parentheses, -Wbool-compare and -Wsizeof-array-argument may prove useful as may new preprocessor directives __has_include, __has_include_next, and __has_attribute. GCC can now be built as a shared library for embedding in other processes (such as interpreters), suitable for Just-In-Time compilation to machine code. This provides a C API and a C++ wrapper API. Many code generation improvements for AArch64, ARM, support for AVX-512{BW,DQ,VL,IFMA,VBMI} and Intel MPX on x86-64, and generally improvements on many targets. The Local Register Allocator (LRA) now contains a rematerialization subpass and is able to reuse the PIC hard register on x86/x86-64 to improve performance of position independent code. https://gcc.gnu.org/gcc-5/changes.html has a more extensive set of changes and https://gcc.gnu.org/gcc-5/porting_to.html has a solid overview of issue you may encountering porting to this new version. PR: 216707, 218125 Tested by: antoine (-exp runs) Supported by: jbeich, tcberner, and others Notes: svn path=/head/; revision=437437
* Remove files/patch-armv6-hf-support since armv6hf no longer exists asGerald Pfeifer2017-04-011-18/+0
| | | | | | | | | an arch. Reported by: andreast Notes: svn path=/head/; revision=437435
* Remove gcc/files/patch-libcpp which has not been present on lang/gcc49Gerald Pfeifer2016-12-051-11/+0
| | | | | | | | | | | | | | | and lang/gcc48, but is something we have in lang/gcc47 and that lang/gcc carried over from the days it was about GCC 4.7 (so surviving both the transitions to GCC 4.8 and recently GCC 4.9). The underlying issue was addressed upstream 2014-10-24 with r216679, and in FreeBSD head 2013-09-06 by theraven@ who fixed fixed our iconv.h to not include stdbool.h. PR: 161417 Notes: svn path=/head/; revision=427827
* Fix build of lang/gcc with libc++ 3.9.0, similar to r421625:Dimitry Andric2016-11-251-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While testing the clang390-import branch, I ran into the following errors building lang/gcc49: In file included from /wrkdirs/usr/ports/lang/gcc49/work/gcc-4.9.4/gcc/c/c-objc-common.c:33: In file included from /usr/include/c++/v1/new:70: /usr/include/c++/v1/exception:267:5: error: no member named 'fancy_abort' in namespace 'std::__1'; did you mean simply 'fancy_abort'? _VSTD::abort(); ^~~~~~~ /usr/include/c++/v1/__config:451:15: note: expanded from macro '_VSTD' #define _VSTD std::_LIBCPP_NAMESPACE ^ /wrkdirs/usr/ports/lang/gcc49/work/gcc-4.9.4/gcc/system.h:685:13: note: 'fancy_abort' declared here extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; ^ 1 error generated. What is happening here, is that the source file includes gcc/system.h, which defines abort to fancy_abort, and then the source file includes <new>, which attempts to call _VSTD::abort() (the _VSTD is a libc++ alias for std::). The macro definition then causes the above breakage. Newer gcc ports, such as gcc5 and gcc6 don't show this issue, because upstream gcc first added an include of <algorithm> (which indirectly includes <new>) in r217348 [1], and later even add a direct include of <new> in r232736 [2]. Fix it for this version, by adding the direct include of <new> to gcc/system.h. This makes the 'second' includes of <new> in some .c files superfluous, but at least they won't result in errors. [1] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=217348 [2] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=232736 Approved by: portmgr (antoine) PR: 212465 Notes: svn path=/head/; revision=427110
* Pet portlint re patch format.Gerald Pfeifer2016-11-233-0/+3
| | | | Notes: svn path=/head/; revision=426982
* Long awaited, finally update the default version of GCC in the PortsGerald Pfeifer2016-11-207-417/+34
| | | | | | | | | | | | | | | | | | | Collection as well as the lang/gcc port from GCC 4.8.5 to GCC 4.9.4! See http://gcc.gnu.org/gcc-4.9/changes.html for an extensive list of changes and http://gcc.gnu.org/gcc-4.9/porting_to.html for information on how to port to that new version (if necessary). files/java-patch-hier required adjustments, gcc/files/patch-arm-libcpp is not needed any longer (merged upstream), and we're also loosing the local Stack Protector patches/backports. PR: 196712 Tested by: antoine (-exp runs) Supported by: antoine, kwm, and others Notes: svn path=/head/; revision=426565
* Skip armv6hf support and move it into armv6.Andreas Tobler2016-06-031-0/+17
| | | | | | | Discussed with: gerald@ Notes: svn path=/head/; revision=416337
* "Backport" the -fstack-protector-strong patchset from lang/gcc48 toGerald Pfeifer2015-11-094-0/+383
| | | | | | | | | | lang/gcc. PR: 203751, 186852 [1] Submitted by: software-freebsd@interfasys.ch [1] Notes: svn path=/head/; revision=401086
* Reverting temporary r384814Baptiste Daroussin2015-04-272-135/+0
| | | | | | | | | | | | While the feature has a great value, it is right now breaking the build of lang/gcc. Given the importance of lang/gcc it is better to revert now and reapply the patch once it has been fixed and passes an exp-run on all supported version With hat: portmgr Notes: svn path=/head/; revision=384834
* Implement the FreeBSD specific pieces for thread affinity for OpenMP.Adrian Chadd2015-04-272-0/+135
| | | | | | | | | | | | | | Upstream gcc 4.8 doesn't have support for this - it'll create threads, but it won't do any of the thread affinity stuff for FreeBSD. This allows for OMP_PROC_BIND=true to bind threads to their initial CPUs, leading to some pretty drastic improvements in performance for certain NUMA workloads. Approved by: gerald Notes: svn path=/head/; revision=384814
* Add support for armv6*-*-freebsd*.Andreas Tobler2015-01-042-0/+768
| | | | | | | | | | | | | The larger part of the patch is a backport from gcc trunk which is sent upstream for approval. Thanks to Sean Bruno for testing, Andrew Turner for explaining me fine details and Gerald for approving. Approved by: gerald (maintainer) Notes: svn path=/head/; revision=376266
* Merge updates from lang/gcc47 (and similarly lang/gcc48):Gerald Pfeifer2014-04-291-0/+7
| | | | | | | | | | | | | | | | - Add pkg-message that references the need to use -Wl,-rpath=... . [1] - Replace USE_BZIP2 by USES=tar:bzip2. - No longer install rebuild-gcj-db47 (which requires bash among others) and its man page. Bump PORTREVISION. PR: 185902 [1] Notes: svn path=/head/; revision=352664
* Update the default version of GCC used in the Ports Collection fromGerald Pfeifer2014-03-101-19/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC 4.6.4 to GCC 4.7.3. This entails updating the lang/gcc port as well as changing the default in Mk/bsd.default-versions.mk. This adds powerpc64 as a supported architecture (and removes ia64, though it can be supported by manually installing lang/gcc48). New binaries %%GNU_HOST%%-gcc-ar47, %%GNU_HOST%%-gcc-nm47, and %%GNU_HOST%%-gcc-ranlib47 are provided to support link-time optimization (LTO) which scales significantly better. And it adds support for indirect functions (IFUNCS), experimental support for transactional memory in the compiler as well as a supporting run-time library called libitm, a new string length optimization pass, and support for atomic operations specifying the C++11/C11 memory model. Version 3.1 of the OpenMP specification is now supported for the C, C++, and Fortran compilers. GCC accepts the options -std=c11 and -std=gnu11 for the C11 revision of the ISO C standard which inlcude support for unicode strings, nonreturning functions (_Noreturn and <stdnoreturn.h>), alignment support (_Alignas, _Alignof, max_align_t, <stdalign.h>), and a __builtin_complex built-in function. The C++ frontend now accepts the -std=c++11, -std=gnu++11, and -Wc++11-compat options and implements many C++11 features of the language including extended friends syntax, explicit override control, non-static data member initializers, user-defined literals, alias declarations, delegating constructors, atomic classes, and more. The C++ standard library and Fortran frontend have received many improvements. See http://gcc.gnu.org/gcc-4.7/changes.html for an extense list of changes; http://gcc.gnu.org/gcc-4.7/porting_to.html for information on how to port to that new version. PR: 182136 Supported by: Christoph Moench-Tegeder <cmt@burggraben.net> (fixing many ports) Tested by: bdrewery (two -exp runs) Notes: svn path=/head/; revision=347808
* Work around a bug in libcpp that pulls in the optional system iconvGerald Pfeifer2013-09-051-0/+10
| | | | | | | | | | | | | | | | if present instead of relying on the port we actually depend on. The issue is that /usr/include/iconv.h has #include <stdbool.h> which in turn, since both are included very late in the game, conflicts with similar definintions by libcpp itself. libstdc++ does not seem to require adjustments, so PR 161417 may not be relevant in full. PR: 161417 Notes: svn path=/head/; revision=326453
* Update to the release of GCC 4.6.3. This now supports FreeBSD 10Gerald Pfeifer2012-03-101-771/+0
| | | | | | | | | and later out of the box, no more extra patches necessary. Feature safe: yes Notes: svn path=/head/; revision=293068
* Fix the build on FreeBSD 10 and later.Gerald Pfeifer2011-12-201-0/+771
| | | | | | | Tested by: avg, kargl Notes: svn path=/head/; revision=287731
* Update to the 20110226 snapshot of GCC 4.6.0. The change for codeGerald Pfeifer2011-02-271-25/+0
| | | | | | | | generation on i386 to default to i486 on FreeBSD 6 and above is now upstream, too, so we can shed our specific patch. Notes: svn path=/head/; revision=269857
* Update to the 20110219 snapshot of GCC 4.6.0.Gerald Pfeifer2011-02-221-0/+25
| | | | | | | | | | | | | | | | This addresses the pollution of common namespace by share/python/aotcompile.py and share/python/classfile.py which are now saved in version-specific directories. By means of an extra patch default code generation on i386 now defaults to i486 on FreeBSD 6 and above. [1] Submitted by: tijl [1] Reported by: Yuri Karaban <tech@askold.net> [1] PR: 154364 [1] Notes: svn path=/head/; revision=269511
* Update to the 20100911 snapshot of GCC 4.6.0. This brings one fix forGerald Pfeifer2010-09-121-0/+19
| | | | | | | | FreeBSD/ia64 that I made upstream and together with another, which is a local patch for now, ia64 can become part of ONLY_FOR_ARCHS. Notes: svn path=/head/; revision=261003
* Update to the 20070223 snapshot of GCC 4.3.0. No extra patch is neededGerald Pfeifer2007-02-241-31/+0
| | | | | | | to build on i386 any longer. Notes: svn path=/head/; revision=185812
* Update to the 20070216 snapshot of GCC 4.3.0.Gerald Pfeifer2007-02-181-0/+31
| | | | | | | | | | This has a patch of mine to account for the removal of /usr/bin/objformat on 7-CURRENT and defaults to elf instead of aout in this case. Add a temporary patch to fix the bootstrap on i386. Notes: svn path=/head/; revision=185476
* Update to the 20070202 snapshot of GCC 4.3.0.Gerald Pfeifer2007-02-061-12/+0
| | | | | | | | | | | | | | Adjust pkg-plist to remove some secondary programs which we no longer provide after the import of the Eclipse Java frontend. Properly set INFO for those cases where we actually do not build libgomp, and thus not libgomp.info either. Move ia64 to NOT_FOR_ARCHS from BROKEN, like we did with lang/gcc43. Remove the cklatest target and files/patch-gengtype-yacc.y. Notes: svn path=/head/; revision=184370
* Update to the 20070105 snapshot of GCC 4.3.0. Remove temporary patch wasGerald Pfeifer2007-01-061-16/+0
| | | | | | | is upstream now. Notes: svn path=/head/; revision=181612
* Update to the 20061230 snapshot of GCC 4.3.0.Gerald Pfeifer2007-01-021-0/+16
| | | | | | | | | This adds a libgomp info page (the other changes to INFO and MAN are just to sort these two properly) and we need to add a temporary patch to fix an issue triggered by FreeBSD headers. Notes: svn path=/head/; revision=181300
* Update lang/gcc42 to the 20061014 snapshot of GCC 4.2.0, which appends aGerald Pfeifer2006-10-191-5/+5
| | | | | | | | | | | | | | | version number to libdata/pkgconfig/libgcj.pc. Fix packaging on amd64 on the way (enabling Java actually was a noop, except for pkg-plist). Update lang/gcc41 to the 20061013 snapshot of GCC 4.1.2. These changes allow us to remove the CONFLICT between lang/gcc41 and lang/gcc42 when building with Java support (the default on i386). Approved by: portmgr (erwin) Notes: svn path=/head/; revision=175407
* Update to the 20060624 snapshot of GCC 4.2.0.Gerald Pfeifer2006-06-261-8/+5
| | | | | | | | mf-runtime.h no longer pollutes public filename space, so we can remove our workaround. Refresh files/java-patch-hier. Notes: svn path=/head/; revision=166380
* Update to the 20060617 snapshot of GCC 4.2.0.Gerald Pfeifer2006-06-181-14/+0
| | | | | | | | | | Employ the new USE_LDCONFIG feature, which allows us to get rid of the various, much more manual and error-prone hacks we needed so far. Reviewed by: flz (for lang/gcc40) Notes: svn path=/head/; revision=165677
* - add RC_D_SH to keep shared libs working after rebootDirk Meyer2006-03-261-0/+14
| | | | Notes: svn path=/head/; revision=158130
* Update to the 20051125 snapshot of GCC 4.1.0 (which gets us rid of aGerald Pfeifer2005-11-291-13/+0
| | | | | | | workaround I had to apply to this port). Notes: svn path=/head/; revision=149944
* Update to the 20051112 snapshot of GCC 4.1.0 (which requires a fix toGerald Pfeifer2005-11-141-0/+13
| | | | | | | | | | | | build with GCC 2.95 that I already submitted upstream as well). Add a long missing dependency on USE_ICONV=yes.[1] PR: 88894 [1] Submitted by: Björn König" <bkoenig@cs.tu-berlin.de> [1] Notes: svn path=/head/; revision=148179
* This patch is now part of the stock FSF sources, so we don't need it anymore.David E. O'Brien2005-09-081-16/+0
| | | | Notes: svn path=/head/; revision=142235
* Fix bug where static forward declarations weren't accepted.David E. O'Brien2005-09-071-0/+16
| | | | | | | | | | This allows us to fix non-ISO-C constructs in our kernel to legal ISO-C. Submitted by: rodrigc Obtained from: http://gcc.gnu.org/ml/gcc-patches/2005-09/msg00006.html Notes: svn path=/head/; revision=142157
* Update to the 20050730 snapshot of GCC 4.1.0.Gerald Pfeifer2005-08-011-0/+0
| | | | | | | | | | | | | | | Replace the WITHOUT_LIBJAVA knob by WITHOUT_JAVA which also disables building the compiler and tools proper and avoids fetching the entire Java frontend and library tarball. Remove bogus ${PREFIX}/share/classpath/api directory that libjava adds these days. Make the (optional) handling of the Fortran and Java frontends easier to understand. Notes: svn path=/head/; revision=140719
* Update to the 20050528 snapshot of GCC 4.1.0. Adjust the libjava-relatedGerald Pfeifer2005-05-291-0/+16
| | | | | | | part of the packaging list. Notes: svn path=/head/; revision=136399
* Update to the 20041107 snapshot of GCC 4.0.0 which contains some iconv-Gerald Pfeifer2004-11-081-15/+0
| | | | | | | related fixes I had submitted upstream. Notes: svn path=/head/; revision=121130
* Complete the repo-copy of gcc34 to gcc40 and update to the 20041024Gerald Pfeifer2004-10-312-11/+15
| | | | | | | | | snapshot of GCC 4.0.0. PR: 71696. Notes: svn path=/head/; revision=120512
* Fix location of pkgconfig-dataVolker Stolz2004-09-031-0/+11
| | | | | | | Approved by: gerald Notes: svn path=/head/; revision=118059
* Update to the 2004-01-28 snapshot of GCC 3.4. Merge in my 2004/01/26Gerald Pfeifer2004-01-281-19/+0
| | | | | | | | change to the gcc33 port and introduce a new make variable SUFFIX to avoid hardcoding the version number and reorder USE_ variables. Notes: svn path=/head/; revision=99348
* Update to the 2004-01-14 snapshot of GCC 3.4.Gerald Pfeifer2004-01-221-0/+19
| | | | | | | | | | | | | | | | | | Merge in my 2004/01/17 change to the gcc33 port to configure with --program-suffix and related and further simplifications. Merge in my 2004/01/13 change to the gcc33 port to make the automatic generation of the package list for libraries and include files more failure tolerant, so that at least `make install` now works on sparc64. Merge in my 2004/01/05 change to the gcc33 port to combine and simplify the post-install handling of target libraries and GCJ include files. libgcj still is not supported and packaging is broken on sparc64; mark BROKEN on that platform. Notes: svn path=/head/; revision=98790
* Update to the 2003-12-24 snapshot.David E. O'Brien2003-12-262-10/+0
| | | | Notes: svn path=/head/; revision=96627
* * Deal with GCC's configurary's assumption that /usr/local/{include,lib}David E. O'Brien2003-12-152-0/+10
| | | | | | | | | | | are searched automatically by the compiler by using --with-libiconv-prefix. W/o --with-libiconv-prefix, 'configure' finds the lib, but not the header. During the make, neither will be found; a lot of inconsistency here... * Deal with GCC's configurary's brokenness WRT --with-libiconv-prefix due not actually passing the found header path to CFLAGS in any way. Notes: svn path=/head/; revision=95853
* Update from repo-copy of lang/gcc33 to the 2003-11-12 snapshot of GCC 3.4.Gerald Pfeifer2003-11-144-224/+0
| | | | | | | | | | There is no bounds-checking patch for GCC 3.4 yet, extended printf format checking for FreeBSD has not been ported yet, and the port is BROKEN due to weird libjava build failures which occur if and only if building from within the FreeBSD ports system. Notes: svn path=/head/; revision=93976
* Add bounds-checking support using Herman ten Brugge's patches.Gerald Pfeifer2003-06-171-0/+11
| | | | | | | | PR: 53395 Submitted by: Dan Nelson <dnelson@allantgroup.com> Notes: svn path=/head/; revision=83188
* Update to the first prerelease of GCC 3.3, which is only available as .tar.gz.Gerald Pfeifer2003-05-061-17/+0
| | | | | | | Adjust COMMENT and remove NO_CDROM. Reenable man pages. Notes: svn path=/head/; revision=80294
* Merge targets pre-configure and pre-build, simplify them, and removeGerald Pfeifer2003-04-251-12/+0
| | | | | | | | patch-va. All of these dealt with us patching generated files (which we don't do any longer). Notes: svn path=/head/; revision=79641
* Fifty-one months after ELF flag day, and after the system compiler becameGerald Pfeifer2003-04-242-92/+0
| | | | | | | | | | ELF-only as well, remove support for aout from the next generation of GCC. Suggested by: Loren James Rittle <rittle@labs.mot.com> Discussed with: obrien Notes: svn path=/head/; revision=79579