aboutsummaryrefslogtreecommitdiff
path: root/lang/gcc
Commit message (Collapse)AuthorAgeFilesLines
* Revert previous commit (which should have gone into lang/gcc48),Gerald Pfeifer2016-08-241-0/+1
| | | | | | | restoring OPTIONS_DEFAULT_powerpc64=BOOTSTRAP. Notes: svn path=/head/; revision=420822
* Remove OPTIONS_DEFAULT_powerpc64=BOOTSTRAP which is redundant withGerald Pfeifer2016-08-241-1/+0
| | | | | | | OPTIONS_DEFAULT. Notes: svn path=/head/; revision=420821
* Default powerpc64 to bootstrapping (option BOOTSTRAP) since otherwiseGerald Pfeifer2016-08-241-2/+3
| | | | | | | | | | | | | | | GCC can be mis-built, leading to an internal compiler error building libgcc/libgcov.c, at least on FreeBSD 11. Adjust OPTIONS_DEFINE_powerpc64 and OPTIONS_DEFAULT_powerpc64 incrementally (with +=) to avoid overwriting settings defined at the top of the Makefile (or child ports). [1] Submitted by: swills [1] Reported by: swills Notes: svn path=/head/; revision=420820
* GCC uses an AWK script to generate source code that helps processGerald Pfeifer2016-08-142-1/+5
| | | | | | | | | | | | | | | | | 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. PR: 210122, 211742 Submitted by: jkim Notes: svn path=/head/; revision=420178
* Skip armv6hf support and move it into armv6.Andreas Tobler2016-06-031-0/+17
| | | | | | | Discussed with: gerald@ Notes: svn path=/head/; revision=416337
* Apply the following to all common GCC ports based on end-of-life versionsGerald Pfeifer2016-05-061-2/+0
| | | | | | | | | | | of GCC including lang/gcc: Only override CONFIGURE_TARGET for amd64 which is x86-64/x86_64 for the rest of the world including GNU and GCC. For all other architectures it already defaults to the value we were setting. Notes: svn path=/head/; revision=414734
* Make MULTILIB_DESC consistent and more logical also for the lang/gccGerald Pfeifer2016-05-031-1/+1
| | | | | | | and lang/gcc48 ports, now in line across all lang/gcc* ports. Notes: svn path=/head/; revision=414552
* lang/gcc*: convert to CONFIGURE_OUTSOURCEJan Beich2016-04-131-10/+5
| | | | | | | | | | PR: 208294, 208309 Exp-run by: antoine Approved by: gerald (maintainer) Differential Revision: https://reviews.freebsd.org/D4157 Notes: svn path=/head/; revision=413188
* Remove ${PORTSDIR}/ from dependencies, categories h, i, j, k, and l.Mathieu Arnold2016-04-011-9/+9
| | | | | | | | With hat: portmgr Sponsored by: Absolight Notes: svn path=/head/; revision=412347
* This being the generic GCC port, add gfortran, gcc, and g++ as linksGerald Pfeifer2015-11-242-1/+9
| | | | | | | | | | | | | to the versioned executable (gfortran48, gcc48, and g++48). These standard names are going to remain in place in case of version upgrades and constitute the default, and expected by users, names. Suggested by: db Reviewed by: db Notes: svn path=/head/; revision=402352
* Add a MULTILIB option to gcc{,48,49,5} for powerpc64Julio Merino2015-11-221-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is the same as r400632, which updated gcc[56]-devel, but now for gcc{,48,49,5}. This change is the second attempt at doing this: the first attempt went in r401072 and was reverted in r401074 because the diff was bogus and enabled the new MULTILIB option under all platforms instead of just powerpc64. This fixes the build of gcc{,48,49,5} under powerpc64 when the system is built without the lib32 libraries. More in detail: If the system is built with lib32 support (WITH_LIB32, which is the default), building gcc from ports results in a compiler that can target both 64-bit and 32-bit binaries on powerpc64. However, when lib32 support is disabled (WITHOUT_LIB32), gcc should only be built with 64-bit support or otherwise the build fails. To fix this, explicitly disable 32-bit support when /usr/lib32 is not present and add a MULTILIB option (which is only defined for powerpc64 when 32-bit support is possible and defaults to yes to preserve the current behavior) to allow the user to explicitly control this feature. Approved by: gerald (maintainer), bdrewery (mentor), andreast Differential Revision: https://reviews.freebsd.org/D3952 Notes: svn path=/head/; revision=402245
* "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
* Revert r401072.Julio Merino2015-11-081-9/+0
| | | | | | | | | | | I'm not sure what happened exactly but I think I committed the change from the wrong client. The applied change enabled the MULTILIB option for all architectures and not only powerpc64. Let's just revert the commit and do it properly from scratch; other things might be wrong so I wanna take a closer look, and it's best to just revert quickly. Notes: svn path=/head/; revision=401074
* Add a MULTILIB option to gcc{,48,49,5} for powerpc64Julio Merino2015-11-081-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is the same as r400632, which updated gcc[56]-devel, but now for gcc{,48,49,5}. Waited a week to ensure the change caused nothing to go horribly wrong but this change is very low risk because it only affects powerpc64. This fixes the build of gcc{,48,49,5} under powerpc64 when the system is built without the lib32 libraries. More in detail: If the system is built with lib32 support (WITH_LIB32, which is the default), building gcc from ports results in a compiler that can target both 64-bit and 32-bit binaries on powerpc64. However, when lib32 support is disabled (WITHOUT_LIB32), gcc should only be built with 64-bit support or otherwise the build fails. To fix this, explicitly disable 32-bit support when /usr/lib32 is not present and add a MULTILIB option (which is only defined for powerpc64 when 32-bit support is possible and defaults to yes to preserve the current behavior) to allow the user to explicitly control this feature. Approved by: gerald (maintainer), bdrewery (mentor), andreast Differential Revision: https://reviews.freebsd.org/D3952 Notes: svn path=/head/; revision=401072
* Add missing USES=compiler, needed for ${COMPILER_TYPE} checksAntoine Brodin2015-10-051-1/+1
| | | | | | | PR: 203540 Notes: svn path=/head/; revision=398656
* Remove deprecated @exec/@unexec from ports using ccache-update-linksAntoine Brodin2015-09-261-2/+2
| | | | Notes: svn path=/head/; revision=397956
* Update to GCC 4.8.5. Mostly bug fixes, a very conservative update.Gerald Pfeifer2015-07-172-4/+3
| | | | Notes: svn path=/head/; revision=392340
* Merge MASTER_SITES and MASTER_SITE_SUBDIR into just the former.Gerald Pfeifer2015-05-011-2/+1
| | | | | | | Suggested by: mat Notes: svn path=/head/; revision=385140
* Bump portrevision after revert as some people did managed to build the _2 ↵Baptiste Daroussin2015-04-271-1/+1
| | | | | | | version Notes: svn path=/head/; revision=384836
* Reverting temporary r384814Baptiste Daroussin2015-04-273-136/+1
| | | | | | | | | | | | 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-273-1/+136
| | | | | | | | | | | | | | 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
* Remove unnecesssary UNIQUENAME.Gerald Pfeifer2015-04-061-1/+0
| | | | Notes: svn path=/head/; revision=383445
* lang/gcc: Use OPTIONS_EXCLUDE_DragonFly to block JAVAJohn Marino2015-03-261-0/+1
| | | | | | | | | Adjust lang/gcc as was done for gcc46+ Approved by: DragonFly blanket Notes: svn path=/head/; revision=382342
* Fix UNIQUENAME not being unique after recent PORTNAME shuffle.Bryan Drewery2015-03-231-0/+2
| | | | | | | | | | | | This was causing the gcc packages to be generated with a /usr/local/libdata/ldconfig/gcc file. All were conflicting. Bump PORTREVISION to fix packages built during this time. With hat: portmgr Reported by: sunpoet Notes: svn path=/head/; revision=382022
* Add CPE information.Gerald Pfeifer2015-03-221-1/+2
| | | | | | | | PR: 198249 Submitted by: shun.fbsd.pr@dropcut.net Notes: svn path=/head/; revision=381885
* Tweak a comment and fix whitespace in the new ARM support.Gerald Pfeifer2015-01-121-2/+2
| | | | Notes: svn path=/head/; revision=376814
* Add support for armv6*-*-freebsd*.Andreas Tobler2015-01-043-1/+781
| | | | | | | | | | | | | 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
* Update from the GCC 4.8.3 release to the GCC 4.8.4 release.Gerald Pfeifer2015-01-042-4/+3
| | | | | | | | | This fixes (at least) 87 bugs reported, cf. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.8.4 for the full list. No new features. Notes: svn path=/head/; revision=376180
* When building the gcc ports using a full bootstrap, tell the configureDimitry Andric2014-12-301-0/+1
| | | | | | | | | | | | | | | | | | | script to assume the BUILD_CONFIG is set to bootstrap-debug, instead of letting it auto-detect. With clang 3.5.0 this auto-detection can fail, due to a discrepancy [1] [2] in its debug information, when objects are produced with and without -g. When the auto-detection fails, gcc will compare objects with full debug information during the stage comparisons, and this sometimes causes those stage comparisons to fail unexpectedly. [1] http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141222/250134.html [2] http://llvm.org/PR22046 Approved by: gerald (maintainer) Notes: svn path=/head/; revision=375846
* Remove all traces of @dirrm, both in pkg-plist directly and those thatGerald Pfeifer2014-10-202-7/+0
| | | | | | | are added dynamically via the Makefile. Notes: svn path=/head/; revision=371305
* Comment out info/dir filesBaptiste Daroussin2014-10-062-2/+2
| | | | | | | | | indexinfo is taking care of generating it at package installation time Reported by: peter Notes: svn path=/head/; revision=370199
* Add USES=libtoolTijl Coosemans2014-09-111-4/+3
| | | | Notes: svn path=/head/; revision=367942
* Update the default version of GCC in the Ports Collection from GCC 4.7.4Gerald Pfeifer2014-09-104-14/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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) Notes: svn path=/head/; revision=367883
* Update to GCC 4.7.4, the latest (and final) release in the GCC 4.7Gerald Pfeifer2014-07-192-6/+7
| | | | | | | | | | | | series that closes this branch. Extend full-regression-test by running contrib/test_summary. Also clean *.la files in LIBEXEC, and recursively so, there and for TARGLIB. Notes: svn path=/head/; revision=362259
* Fix build on system built WITHOUT_INFOBaptiste Daroussin2014-06-251-1/+1
| | | | | | | With hat: portmgr Notes: svn path=/head/; revision=359209
* Convert GMAKE to MAKE_CMDBaptiste Daroussin2014-06-251-1/+1
| | | | | | | | | | Please note that lots of invocation of MAKE_CMD here are wrong as they do not properly respect MAKE_ENV and friends With hat: portmgr Notes: svn path=/head/; revision=359185
* Convert all :U to :tu and :L to :tlBaptiste Daroussin2014-05-051-2/+2
| | | | | | | | | | | | | | | | | Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a replacement for :U and :L (which has been marked as deprecated) bmake which is the default on FreeBSD 10+ only support by default :tu/:tl a hack has been added at the time to support :U and :L to ease migration. This hack is now not necessary anymore Note that this makes the ports tree incompatible with make(1) from FreeBSD 8.3 or earlier With hat: portmgr Notes: svn path=/head/; revision=352986
* Merge updates from lang/gcc47 (and similarly lang/gcc48):Gerald Pfeifer2014-04-293-4/+13
| | | | | | | | | | | | | | | | - 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-105-31/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Set the license to a combination of GPLv3 (for the compiler itself) andGerald Pfeifer2014-02-221-0/+3
| | | | | | | GPLv3 with GCC Runtime Library Exception (for the runtime). Notes: svn path=/head/; revision=345628
* Remove the man7 pages, which we are not packaging, from the stagingGerald Pfeifer2014-02-171-3/+1
| | | | | | | | | | | | | | area to silence some warnings some are concerned about. [1] No longer run ccache-update-links as part of post-install which, in the world of staging, no longer is what it used to be. Rely on the existing @exec and @unexec in pkg-plist instead. [2] Submitted by: miwi [1] Discussed with: antoine [1][2] Notes: svn path=/head/; revision=344760
* No longer add -I${LOCALBASE}/include to CFLAGS.Gerald Pfeifer2014-02-151-1/+0
| | | | | | | | | | | | | Since we now configure with --with-gmp=${LOCALBASE} this is no longer necessary, and due to bugs in binutils (which should not install ansidecl.h into ${PREFIX}/include, fixed with revision 336642 [1]) and GCC (which should search its own include directories with higher priority) could lead to build failures. PR: 184327 [1] Notes: svn path=/head/; revision=344478
* Fix properties on pkg-plistBaptiste Daroussin2014-01-211-1/+0
| | | | Notes: svn path=/head/; revision=340674
* Revert revision 334627 from 2013-11-23 that worked around a problem withGerald Pfeifer2013-12-071-1/+0
| | | | | | | | | | | | | the staging infrastructure and had us remove info/gcc46 ourselves. [1] This has now been addressed in the general infrastructure and actually causes warnings in some cases. [2] PR: 184178 [1] Reported by: amdmi3 [2] Notes: svn path=/head/; revision=335820
* Change PORTNAME for lang/gcc46 from gcc to gcc46 to match the actualGerald Pfeifer2013-11-261-1/+1
| | | | | | | | | | | name of this port and avoid a package name collision with other GCC ports. This also allows us to remove LATEST_LINK. And it finally allows for a simple and proper CONFLICTS between lang/gcc and lang/gcc46. Notes: svn path=/head/; revision=334934
* Work around ports infrastructure breakage introduced with staging andGerald Pfeifer2013-11-231-0/+1
| | | | | | | | | | remove info/gcc46 ourselves. Reported by: QAT, amdmi3, mandree, bf, dbn PR: 184178 Notes: svn path=/head/; revision=334627
* Update to GCC 4.6.4 which, among others, addresses document buildingGerald Pfeifer2013-11-023-44/+40
| | | | | | | | | | | | | | | | with new versions of texinfo. [1] Adopt the new LIB_DEPENDS standard and replace USE_GMAKE by USES=gmake. Remove an obsolete dependency on bison. [2] STAGEify. PR: 183342 [1] Reported by: Christoph Moench-Tegeder <cmt@burggraben.net> [1], marino [2] Notes: svn path=/head/; revision=332557
* Update to libmpc version 1.0.1 which brings the following fixes:Gerald Pfeifer2013-10-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Switched to automake 1.11.6, see CVE-2012-3386. - #14669: Fixed extraction of CC from gmp.h. - Fixed case of intermediate zero real or imaginary part in mpc_fma, found by hydra with GMP_CHECK_RANDOMIZE=1346362345. This is on top of the following changes from version 1.0 - Licence change towards LGPLv3+ for the code and GFDLv1.3+ (with no invariant sections) for the documentation. - 100% of all lines are covered by tests - Renamed functions . mpc_mul_2exp to mpc_mul_2ui . mpc_div_2exp to mpc_div_2ui - 0^0, which returned (NaN,NaN) previously, now returns (1,+0). - Removed compatibility with K&R compilers, which was untestable due to lack of such compilers. - New functions . mpc_log10 . mpc_mul_2si, mpc_div_2si - Speed-ups . mpc_fma - Bug fixes . mpc_div and mpc_norm now return a value indicating the effective rounding direction, as the other functions. . mpc_mul, mpc_sqr and mpc_norm now return correct results even if there are over- or underflows during the computation. . mpc_asin, mpc_proj, mpc_sqr: Wrong result when input variable has infinite part and equals output variable is corrected. . mpc_fr_sub: Wrong return value for imaginary part is corrected. Convert to the new LIB_DEPENDS standard and remove hard-coded .so versions from a couple of dependent ports. Bump PORTREVISIONS of all dependent ports. PR: 183141 Approved by: portmgr (bdrewery) Notes: svn path=/head/; revision=331644
* Add NO_STAGE all over the place in preparation for the staging support (cat: ↵Baptiste Daroussin2013-09-201-0/+1
| | | | | | | lang) Notes: svn path=/head/; revision=327741
* SSP support has been added to ports with WITH_SSP for i386 and amd64Bryan Drewery2013-09-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on FreeBSD 10, and amd64 on earlier versions. SSP_UNSAFE is added to disable in a port if it fails to build, but this should only be used in rare circumstances such as kernel modules. Otherwise, the port may just be failing due to lack of respecting LDFLAGS. On FreeBSD 10, this uses an ldscript in /usr/lib/libc.so to pull in libssp_nonshared.a to address issues linking on i386 [1]. On earlier FreeBSD versions the WITH_SSP knob will add -lssp_nonshared to LDFLAGS on i386. This is not needed on amd64. However, several hundred ports do not currently respect LDFLAGS, so this support is disabled currently as it causes build failures if a dependency is looking for the stack_chk symbols. Many thanks to jlh@ for this as he had many years of patience in getting all of the necessary pieces [1][2] in. [1] http://svnweb.freebsd.org/base/head/lib/libc/libc.ldscript?revision=251668&view=markup PR: ports/138228 [2] Submitted by: jlh (bsd.ssp.mk based on) Reviewed by: bapt With hat: portmgr exp-runs done: 37 over a month on 91i386,91amd64,10i386,10amd64 Notes: svn path=/head/; revision=327697