aboutsummaryrefslogtreecommitdiff
path: root/gnu/usr.bin/cc
Commit message (Collapse)AuthorAgeFilesLines
* remove GCC 4.2.1 build infrastructureEd Maste2020-02-2944-4955/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | As described in Warner's email message[1] to the FreeBSD-arch mailing list we have reached GCC 4.2.1's retirement date. At this time all supported architectures either use in-tree Clang, or rely on external toolchain (i.e., a contemporary GCC version from ports). GCC 4.2.1 was released July 18, 2007 and was imported into FreeBSD later that year, in r171825. GCC has served us well, but version 4.2.1 is obsolete and not used by default on any architecture in FreeBSD. It does not support modern C and does not support arm64 or RISC-V. Thanks to everyone responsible for maintaining, updating, and testing GCC in the FreeBSD base system over the years. So long, and thanks for all the fish. [1] https://lists.freebsd.org/pipermail/freebsd-arch/2020-January/019823.html PR: 228919 Reviewed by: brooks, imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D23124 Notes: svn path=/head/; revision=358454
* Move all sources from the llvm project into contrib/llvm-project.Dimitry Andric2019-12-201-1/+1
| | | | | | | | | | | | | This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. Notes: svn path=/head/; revision=355940
* powerpc: Transition to Secure-PLT, like most other OSs (Toolchain part)Justin Hibbits2019-06-251-0/+3
| | | | | | | | | | | | | | | | Summary: Toolchain follow-up to r349350. LLVM patches will be submitted upstream for 9.0 as well. The bsd.cpu.mk change is required because GNU ld assumes BSS-PLT if it cannot determine for certain that it needs Secure-PLT, and some binaries do not compile in such a way to make it know to use Secure-PLT. Reviewed By: nwhitehorn, bdragon, pfg Differential Revision: https://reviews.freebsd.org/D20598 Notes: svn path=/head/; revision=349351
* - Update head to 13.0-CURRENT.Glen Barber2018-10-191-2/+2
| | | | | | | | | | | | | | - Bump MACHINE_TRIPLE, TARGET_TRIPLE, FBSD_MAJOR, FBSD_CC_VER, FREEBSD_CC_VERSION, OS_VERSION. - Update comment in UPDATING regarding debugging options. - Remove debug.witness.trace=0 from installation media. - Bump __FreeBSD_version. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=339436
* Disable sbrk() use in GNU tools.Brooks Davis2018-09-211-1/+1
| | | | | | | | | | | | | | We're studing the possibility of deprecating sbrk(). To make it easier we're removing unnecessicary uses in the base system. None of these tools require sbrk(), but they agressively prefer it for no good reason. Reviewed by: andrew Approved by: re (kib) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D16141 Notes: svn path=/head/; revision=338860
* Don't use CCACHE for linking.Bryan Drewery2018-06-273-6/+6
| | | | | | | | MFC after: 2 weeks Sponsored by: Dell EMC Notes: svn path=/head/; revision=335733
* Fix GCC 4.2.1 to honor --sysroot for includes.John Baldwin2018-06-272-7/+4
| | | | | | | | | | | | | | | | | | | - Change the C++ directory entries to honor --sysroot if it is set. - Don't define CROSS_INCLUDE_DIR for the cross compiler. Instead, set TARGET_SYSTEM_ROOT to point to WORLDTMP and always define STANDARD_INCLUDE_DIR. - Change STANDARD_INCLUDE_DIR and the C++ include directories to just start with "/usr" always. The compiler will prepend the sysroot when doing cross-builds. GCC_INCLUDE_DIR (which contains headers that ship with the compiler such as intrinsincs rather than OS-supplied headers) remains hardcoded to look in TOOLS_PREFIX. Reviewed by: bdrewery (older version) Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D15127 Notes: svn path=/head/; revision=335717
* Don't hardcode the TOOLS_PREFIX for the startfiles directories.John Baldwin2018-06-271-2/+2
| | | | | | | | | | | | GCC 4.2 prefixes these directories with --sysroot meaning that during buildworld they have a double sysroot. Reviewed by: bdrewery Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D14780 Notes: svn path=/head/; revision=335716
* build-tools: De-special-case the gcc tools build.Bryan Drewery2017-10-311-0/+1
| | | | | | | | | | | It merely wanted to use 'all' rather than 'build-tools' so just add a build-tools target to the Makefile. MFC after: 2 weeks Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325243
* DIRDEPS_BUILD: Update dependencies.Bryan Drewery2017-10-317-7/+0
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325188
* Support armv7 builds for userlandWarner Losh2017-10-051-1/+4
| | | | | | | | | | | | | | | | | | | Make armv7 as a new MACHINE_ARCH. Copy all the places we do armv6 and add armv7 as basically an alias. clang appears to generate code for armv7 by default. armv7 hard float isn't supported by the the in-tree gcc, so it hasn't been updated to have a new default. Support armv7 as a new valid MACHINE_ARCH (and by extension TARGET_ARCH). Add armv7 to the universe build. Differential Revision: https://reviews.freebsd.org/D12010 Notes: svn path=/head/; revision=324340
* Convert all the arm big endian tests into a regexp rather than a list.Warner Losh2017-08-142-2/+2
| | | | | | | Suggested by: emaste@ Notes: svn path=/head/; revision=322521
* Make _TO_CPUARCH macro for ARCH to CPUARCH conversionsWarner Losh2017-08-121-1/+1
| | | | | | | | | | | | Consolidate all the regular expressions to convert from MACHINE_ARCH to MACHINE_CPUARCH into a variable and use that variable in preference to the almost identical copies in the tree (which should have been identical). Differential Revision: https://reviews.freebsd.org/D11986 Notes: svn path=/head/; revision=322429
* Convert gnu to using SRCTOPWarner Losh2017-03-122-3/+3
| | | | | | | | | | | | | | | Prefer SRCTOP over CURDIR/../../contrib, etc. However, retain the "up one level" instances of ../ because they are really relative to this part of the tree and not a means to find the root of the tree. As such, it's better to leave them since that further the goal of being able to move directories if watned to in the future. Differential Revision: https://reviews.freebsd.org/D9932 Sponsored by: Netflix Silence On: arch@ (twice) Notes: svn path=/head/; revision=315175
* Bump GCC FBSD_CC_VER for r312899 (-march=octeon+ support)Ed Maste2017-02-011-1/+1
| | | | | | | | | | Reported by: lidl MFC after: 1 month MFC with: r312899 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=313041
* Add full softfloat and hardfloat support for RISC-V.Ruslan Bukin2016-11-161-1/+1
| | | | | | | | | | | Hardfloat is now default (use riscv64sf as TARGET_ARCH for softfloat). Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D8529 Notes: svn path=/head/; revision=308731
* Add full softfloat and hardfloat support for MIPS.Ruslan Bukin2016-10-312-3/+3
| | | | | | | | | | | | | | This adds new target architectures for hardfloat: mipselhf mipshf mips64elhf mips64hf. Tested in QEMU only. Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D8376 Notes: svn path=/head/; revision=308130
* Fix a typo from a manual merge.Justin Hibbits2016-10-221-1/+1
| | | | Notes: svn path=/head/; revision=307784
* Create a new MACHINE_ARCH for Freescale PowerPC e500v2Justin Hibbits2016-10-223-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The Freescale e500v2 PowerPC core does not use a standard FPU. Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this. Additionaly, the SPE opcodes overlap with Altivec, so these are mutually exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was created with the same function set as in powerpc/powerpc/altivec.c, so it becomes effectively a drop-in replacement. setjmp/longjmp were modified to save the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by the SPE). Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not support double-precision floating point. Also, without a new MACHINE_ARCH it would be impossible to provide binary packages which utilize the SPE. Additionally, no work has been done to support ports, work is needed for this. This also means no newer gcc can yet be used. However, gcc's powerpc support has been refactored which would make adding a powerpcspe-freebsd target very easy. Test Plan: This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222 (P1022-based) board, compiled against the new ABI. Base system utilities (/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot multiuser. Reviewed By: bdrewery, imp Relnotes: yes Differential Revision: https://reviews.freebsd.org/D5683 Notes: svn path=/head/; revision=307761
* Revert r302670 and r302671 for now.Bryan Drewery2016-07-131-1/+1
| | | | | | | | MACHINE_CPUARCH smells like MACHINE except for arm64/aarch64 which has it backwards. Notes: svn path=/head/; revision=302690
* Create one list of replacements for MACHINE_CPUARCH as MACHINE_CPUARCH_SUB.Bryan Drewery2016-07-121-1/+1
| | | | | | | | | | | | | This also adds missing s/aarch64/arm64 to the sys.mk version and also adds back armv6hf for universe since it was added to the sys.mk version in r300438. MFC after: 3 days Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D7159 Notes: svn path=/head/; revision=302670
* Spell 1200000 correctly.Glen Barber2016-07-081-1/+1
| | | | | | | | Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=302413
* Reflect head is now 12.0-CURRENT.Glen Barber2016-07-081-2/+2
| | | | | | | | Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=302409
* WITH_META_MODE: Don't expect a .meta file for side-effect generated files.Bryan Drewery2016-06-151-1/+1
| | | | | | | | | | This is the same as r301285. Approved by: re (implicit) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=301936
* Convert to new FAST_DEPEND syntax for guessed dependencies.Bryan Drewery2016-06-152-37/+35
| | | | | | | | | | | | | | | | This OBJS_DEPEND_GUESS is needed since each target gets its own .depend.target.o file but also because it is spelled .meta.target.o with WITH_META_MODE. The OBJS_DEPEND_GUESS will apply the dependency if the required file is missing. Also remove redundant .c files while here to avoid prolems with targets using .ALLSRC and getting multiple source files. Approved by: re (implicit) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=301934
* DIRDEPS_BUILD: Update GCC dependencies.Bryan Drewery2016-06-047-4/+7
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=301402
* gcc42: Fix minor C99 parse bugConrad Meyer2016-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | DR #289[0] came down and gcc4.2.1 was on the wrong side of history. Partially revert GCC r42574 (just remove the error) to rectify the parse bug to match Clang and other compliant C99 compilers. An example declaration gcc tripped on before this fix: void foobar(int [static 1]); An example declaration gcc did not trip on before this fix: void foobar(int name[static 1]); Bump __FreeBSD_cc_version. [0]: http://www.open-std.org/JTC1/SC22/WG14/www/docs/dr_289.htm Reported by: allanjude Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300822
* WITH_META_MODE: Avoid rebuilds of cc_tools during target build.Bryan Drewery2016-05-211-17/+19
| | | | | | | | | This is the same as r299289 and r297997. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300347
* Make armv6 hard float abi by default. Kill armv6hf.Warner Losh2016-05-181-1/+1
| | | | | | | | | | Allow CPUTYPE=soft to build the current soft-float abi libraries. Add UPDATING entry to announce this. Approved by: re@ (gjb) Notes: svn path=/head/; revision=300119
* Follow-up r297842: Rework header generation to fix always rebuilding.Bryan Drewery2016-04-182-113/+135
| | | | | | | | | | | | | This reworks the handling of common headers to just include the needed logic rather than invoke MAKE. This avoids the problem listed in r297842 and avoids other dependency tracking issues. Pointyhat to: bdrewery Reported by: Nikolai Lifanov <lifanov@mail.lifanov.com> Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=298218
* DIRDEPS_BUILD: Regenerate without local dependencies.Bryan Drewery2016-02-244-238/+0
| | | | | | | | | | | These are no longer needed after the recent 'beforebuild: depend' changes and hooking DIRDEPS_BUILD into a subset of FAST_DEPEND which supports skipping 'make depend'. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=295989
* Use LIBEXECDIR for /usr/libexec.Bryan Drewery2015-11-262-2/+2
| | | | | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291348
* META MODE: Don't create .meta files when symlinking sources into the obj ↵Bryan Drewery2015-11-251-2/+2
| | | | | | | | | | | | | | directory. Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln are newer than the source file. There's no reason for meta mode to do this as make is already handling the rebuild dependency fine. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291320
* Add more SUBDIR_PARALLEL.Bryan Drewery2015-10-151-1/+11
| | | | | | | | MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=289393
* Remove directories disconnected since r169718.Bryan Drewery2015-10-152-32/+0
| | | | | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=289379
* Remove redundant .NOPATH.Bryan Drewery2015-09-261-2/+0
| | | | | | | | | All of these are already in CLEANFILES which is added to .NOPATH in bsd.obj.mk. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288267
* META_MODE: Remove DEP_RELDIR from Makefile.depend files.Bryan Drewery2015-09-2512-24/+0
| | | | | | | | | This has not been needed since r284171 in projects/bmake. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288226
* Remove old GNU Binutils tools now provided by ELF Tool ChainEd Maste2015-08-053-45/+0
| | | | | | | | | Reviewed by: bapt, brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3238 Notes: svn path=/head/; revision=286332
* Add META_MODE support.Simon J. Gerraty2015-06-1313-0/+497
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree. Still need to add real targets under targets/ to build packages. Differential Revision: D2796 Reviewed by: brooks imp Notes: svn path=/head/; revision=284345
| * Merge sync of headSimon J. Gerraty2015-05-274-56/+9
| |\ | | | | | | | | | Notes: svn path=/projects/bmake/; revision=283595
| * \ Merge from head@274682Simon J. Gerraty2014-11-192-4/+2
| |\ \ | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=274683
| * \ \ Merge head from 7/28Simon J. Gerraty2014-08-193-11/+1
| |\ \ \ | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=270164
| * | | | Updated dependenciesSimon J. Gerraty2014-05-106-0/+11
| | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265802
| * | | | Merge from headSimon J. Gerraty2014-05-088-7/+8
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265720
| * \ \ \ \ Merge headSimon J. Gerraty2014-04-2811-12/+13
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265044
| * \ \ \ \ \ Merge head@256308Simon J. Gerraty2013-10-141-2/+2
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=256444
| * \ \ \ \ \ \ Merge headSimon J. Gerraty2013-09-111-1/+6
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=255477
| * \ \ \ \ \ \ \ Merge from headSimon J. Gerraty2013-09-056-72/+111
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=255263
| * | | | | | | | | Updated dependenciesSimon J. Gerraty2013-03-178-14/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=248406
| * | | | | | | | | Updated dependenciesSimon J. Gerraty2013-02-166-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=246868