aboutsummaryrefslogtreecommitdiff
path: root/gnu/usr.bin/cc/include
Commit message (Collapse)AuthorAgeFilesLines
* remove GCC 4.2.1 build infrastructureEd Maste2020-02-294-145/+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
* Convert gnu to using SRCTOPWarner Losh2017-03-121-1/+1
| | | | | | | | | | | | | | | 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
* Create a new MACHINE_ARCH for Freescale PowerPC e500v2Justin Hibbits2016-10-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* META_MODE: Remove DEP_RELDIR from Makefile.depend files.Bryan Drewery2015-09-251-2/+0
| | | | | | | | | This has not been needed since r284171 in projects/bmake. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288226
* Add META_MODE support.Simon J. Gerraty2015-06-131-0/+13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 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 head from 7/28Simon J. Gerraty2014-08-191-2/+0
| |\ | |/ |/| | | Notes: svn path=/projects/bmake/; revision=270164
| * Merge from headSimon J. Gerraty2013-09-053-2/+111
| |\ | | | | | | | | | Notes: svn path=/projects/bmake/; revision=255263
| * | Updated dependenciesSimon J. Gerraty2013-02-161-2/+0
| | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=246868
| * | Sync with HEAD.David E. O'Brien2013-02-081-0/+2
| |\ \ | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=246555
| * | | Sync FreeBSD's bmake branch with Juniper's internal bmake branch.Marcel Moolenaar2012-08-222-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Requested by: Simon Gerraty <sjg@juniper.net> Notes: svn path=/projects/bmake/; revision=239572
* | | | Remove ia64.Marcel Moolenaar2014-07-071-2/+0
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes: o All directories named *ia64* o All files named *ia64* o All ia64-specific code guarded by __ia64__ o All ia64-specific makefile logic o Mention of ia64 in comments and documentation This excludes: o Everything under contrib/ o Everything under crypto/ o sys/xen/interface o sys/sys/elf_common.h Discussed at: BSDcan Notes: svn path=/head/; revision=268351
* | | add support to gcc for AES and PCLMUL intrinsics... This addes theJohn-Mark Gurney2013-09-033-1/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -maes option, but not the -mpclmul option as I ran out of bits in the 32 bit flags field... You can -D__PCLMUL__ to get this, but it won't be compatible w/ clang and modern gcc... Reviewed by: -current, -toolchain Notes: svn path=/head/; revision=255185
* | | gcc: install AMD intrinsics header ammintrin.hPedro F. Giffuni2013-06-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This file was included in the changes from r251212 and originated in the pre-GPLv3 gcc43 branch. MFC after: 2 weeks Notes: svn path=/head/; revision=251480
* | | When gcc 4.2.0 was imported, the 3DNow intrinsics header <mm3dnow.h> wasDimitry Andric2013-05-081-1/+2
| |/ |/| | | | | | | | | | | | | | | | | not added to the list of intrinsics headers to install, so belatedly (5 years :) add it. MFC after: 1 week Notes: svn path=/head/; revision=250393
* | Add compiler support for the ARM EABI.Andrew Turner2013-01-171-0/+2
| | | | | | | | | | | | | | | | | | ARM EABI support is disabled by default and can be enabled by setting WITH_ARM_EABI when building, however only the kernel-toolchain target will work with this flag until the rest of the support is added. Notes: svn path=/head/; revision=245539
* | Add support for bmake. This includes:Marcel Moolenaar2012-10-061-3/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Don't do upgrade_checks when using bmake. As long as we have WITH_BMAKE, there's a bootstrap complication in ths respect. Avoid it. Make the necessary changes to have upgrade_checks work wth bmake anyway. 2. Remove the use of -E. It's not needed in our build because we use ?= for the respective variables, which means that we'll take the environment value (if any) anyway. 3. Properly declare phony targets as phony as bmake is a lot smarter (and thus agressive) about build avoidance. 4. Make sure CLEANFILES is complete and use it on .NOPATH. bmake is a lot smarter about build avoidance and should not find files we generate in the source tree. We should not have files in the repository we want to generate, but this is an easier way to cross this hurdle. 5. Have behavior under bmake the same as it is under make with respect to halting when sub-commands fail. Add "set -e" to compound commands so that bmake is informed when sub-commands fail. 6. Make sure crunchgen uses the same make as the rest of the build. This is important when the make utility isn't called make (but bmake for example). 7. While here, add support for using MAKEOBJDIR to set the object tree location. It's the second alternative bmake looks for when determining the actual object directory (= .OBJDIR). Submitted by: Simon Gerraty <sjg@juniper.net> Submitted by: John Van Horne <jvanhorne@juniper.net> Notes: svn path=/head/; revision=241298
* In r219639, SSSE3 instruction set support was backported to our gcc.Dimitry Andric2011-04-141-1/+1
| | | | | | | | | | | Therefore, we also need to install the new tmmintrin.h header containing the related intrinsic functions, similar to xmmintrin.h, emmintrin.h, etc. Reported by: George Liaskos <geo.liaskos@gmail.com> Notes: svn path=/head/; revision=220630
* Teach our toolchain how to generate 64-bit PowerPC binaries. This fixesNathan Whitehorn2010-07-101-1/+1
| | | | | | | | | | | a variety of bugs in binutils related to handling of 64-bit PPC ELF, provides a GCC configuration for 64-bit PowerPC on FreeBSD, and associated build systems tweaks. Obtained from: projects/ppc64 Notes: svn path=/head/; revision=209867
* Non-GCC gcc compatible compilers may provide the same multimedia intrinsicDavid E. O'Brien2010-05-121-0/+2
| | | | | | | | | | headers as GCC, but of their own implementation. So put the GCC ones into their own header "namespace". Requested by: ed Notes: svn path=/head/; revision=207995
* Update bmake glue to build GCC 4.2.Alexander Kabaev2007-05-191-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | Also: Switch FreeBSD to use libgcc_s.so.1. Use dl_iterate_phdr to locate shared objects' exception frame info instead of depending on older register_frame_info machinery. This allows us to avoid depending on libgcc_s.so.1 in binaries that do not use exception handling directly. As an additional benefit it breaks circular libc <=> libgcc_s.so.1 dependency too. Build newly added libgomp.so.1 library, the runtime support bits for OpenMP. Build LGPLed libssp library. Our libc provides our own BSD-licensed SSP callbacks implementation, so this library is only built to benefit applications that have hadcoded knowledge of libssp.so and libssp_nonshared.a. When linked in from command line, these libraries override libc implementation. Notes: svn path=/head/; revision=169718
* Start the dreaded NOFOO -> NO_FOO conversion.Ruslan Ermilov2004-12-211-1/+1
| | | | | | | OK'ed by: core Notes: svn path=/head/; revision=139103
* Bmake glue for GCC 3.4.2-prerelease.Alexander Kabaev2004-07-281-0/+4
| | | | Notes: svn path=/head/; revision=132751
* Add two additional headers for amd64 and x86.Alexander Kabaev2003-12-091-1/+1
| | | | | | | Reported by: Ollivier Robert Notes: svn path=/head/; revision=123359
* We're changing the platform name from x86[_-]86 to amd64.David E. O'Brien2003-04-261-1/+1
| | | | Notes: svn path=/head/; revision=114083
* Mark bits that do not require an object directory as such.Ruslan Ermilov2003-04-011-0/+2
| | | | Notes: svn path=/head/; revision=112940
* We're going to have to use a TARGET_ARCH of "x86_64" rather than "x86-64"David E. O'Brien2002-09-121-1/+1
| | | | | | | to make building GCC happy. Notes: svn path=/head/; revision=103257
* We don't need bsd.dep.mk here.David E. O'Brien2002-06-051-1/+0
| | | | Notes: svn path=/head/; revision=97872
* Install the i386 MMX headers, and IA-64 intrinsics functions.David E. O'Brien2002-06-041-0/+16
| | | | | | | Requested by: peter Notes: svn path=/head/; revision=97831
* Man the lifeboats! Tie down the hatches! Red alert! Activate gcc-2.7.2.1!Peter Wemm1996-09-1957-15499/+0
| | | | | | | | | | | | | | | | | | (the old cc has been tagged with "gcc_2_6_3_final" so we have a reference point in case of unforseen disasters...) This has the objc backend active, and I think I've managed to get the f77 f2c support through in one piece, but I don't know fortran to test it. A 'make world' change and libobjc commit will follow. If you normally do 'make -DNOCLEAN world', do not do so this time, I know it can fail with groff. This version of gcc makes a **LOT** more warnings on our kernel. Notes: svn path=/head/; revision=18390
* Enabled my FUNCTION_PROFILER_EPILOGUE code and added optionBruce Evans1995-12-261-6/+16
| | | | | | | | | | | | | | | -mprofiler-epilogue to support it and documented the option. cc.1: Listed all the machine-dependent options, even the temporary debugging ones. invoke.texi: Fixed the sense of -mno-ieee-fp. Sorted the machine-dependent options. Notes: svn path=/head/; revision=13018
* When building -static, link with special scrt0.o instead of crt0.o. ThisDavid Greenman1995-10-181-0/+3
| | | | | | | reduces the text size by about 1.5Kbytes. Notes: svn path=/head/; revision=11557
* Make only a `-r' flag (as opposed to `-r*') special within theJoerg Wunsch1995-08-041-1/+1
| | | | | | | | | | | | | LINK_SPEC. This solves a problem with the f77 frontend where aproviding the -r8 option (use REAL*8) caused `cc' to ``forget'' to pass the entry point to the linker. Closes PR #gnu/644: f77 -r8 Reviewed by: watanabe@komadori.earth.s.kobe-u.ac.jp (Takeshi WATANABE) Notes: svn path=/head/; revision=9910
* Remove trailing whitespace.Rodney W. Grimes1995-05-3018-66/+66
| | | | Notes: svn path=/head/; revision=8858
* Remove the last vestige of COMMENT_BEGIN.Bruce Evans1995-03-121-1/+0
| | | | Notes: svn path=/head/; revision=7024
* Undo most of the changes in the gcc-2.6.3 "upgrade"Bruce Evans1995-03-121-8/+10
| | | | | | | | | | | | | | | | - Don't define NO_IMPLICIT_EXTERN_C here. It is already the default (defined in i386/bsd.h). - Don't lose the fixed comment about FUNCTION_PROFILER. - Don't lose the define of NO_PROFILE_DATA. Replace the unused define of COMMENT_BEGIN by the less-unused define of ASM_COMMENT_START. COMMENT_BEGIN was only defined in i386-specific files and was not used in any part of gcc-2.6.3. ASM_COMMENT_START is defined for several targets and is used for stuff that we don't support (dwarf). Notes: svn path=/head/; revision=7023
* Added support for #pragma weak.Nate Williams1995-03-111-0/+3
| | | | | | | Obtained from: NetBSD Notes: svn path=/head/; revision=6997
* Updated the sources to gcc 2.6.3 with FreeBSD changes already applied.Nate Williams1995-03-112-25/+7
| | | | | | | Note: This isn't the most correct way, but it works and it's fast. Notes: svn path=/head/; revision=6996
* Added NO_IMPLICIT_C as our header files in standard locations are eitherL Jonas Olsson1994-11-161-0/+3
| | | | | | | | | | already C++ safe, or C++ header files. This fixes the problem with parse errors in header files when compiling C++ files. Recompiling libg++ also solves the undefined synbols problem. Notes: svn path=/head/; revision=4526
* Integrated GCC-2.6.1 -> GCC-2.6.2 changes.Poul-Henning Kamp1994-11-152-23/+26
| | | | | | | | | | | | | | | | | Notice that the libgcc DOESN'T change number, because there are no changes. Also now the gnu2bmake stuff is synchronized again. I commit this so that others can test too. You might want to postpone any "make worlds" until tomorrow, to avoid any problems I didn't see in the first pass. Thanks to Bruce for rounding up our changes to gcc. Notes: svn path=/head/; revision=4491
* Restore my fixes to 2.6.0. The changes should not affect anything exceptBruce Evans1994-11-061-19/+15
| | | | | | | | | | | | | | | | | | | | | | | | | profiling and wchar_t. Profiled libraries will shrink. tm.h: Our wchar_t is int, not unsigned short. Always link statically if profiling. Define all the SPECs together. final.c, tm.h: Don't emit unused profiling code and data. aux-output.c: Always preserve the PIC register if profiling. aux-output.c, tm.h: Implement FUNCTION_PROFILER_EPILOGUE (currently not used). New: tm.h: Set the target defaults in the correct way. Notes: svn path=/head/; revision=4215
* Explicitly tell cpp where to look for include files.Poul-Henning Kamp1994-11-041-2/+0
| | | | Notes: svn path=/head/; revision=4144
* Remove obsolete __386BSD__ predefine.Jordan K. Hubbard1994-11-031-1/+1
| | | | Notes: svn path=/head/; revision=4115
* ----------------------------------Poul-Henning Kamp1994-11-0313-454/+700
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC-2.6.1 COMES TO FREEBSD-current ---------------------------------- Everybody needs to 'make world'. Oakland, Nov 2nd 1994. In a surprise move this sunny afternoon, the release- engineer for the slightly delayed FreeBSD-2.0, Poul-Henning Kamp (28), decided to pull in the new version 2.6.1 of the GNU C-compiler. The new version of the compiler was release today at noon, and hardly 9 hours later it was committed into the FreeBSD-current source-repository. "It's is simply because we have had too much trouble with the version 2.6.0 of the compiler" Poul-Henning told the FreeBSD-Gazette, "we took a gamble when we decided to use that as our compiler for the 2.0 release, but it seems to pay of in the end now" he concludes. The move has not been discussed on the "core" list at all, and will come as a surprise for most Poul-Hennings peers. "I have only discussed it with Jordan [J. K. Hubbard, the FreeBSD's resident humourist], and we agreed that we needed to do it, so ... I did it!". After a breath he added with a grin: "My email will probably get an all time 'disk-full' now!". This will bring quite a flag-day to the FreeBSD developers, the patch-file is almost 1.4 Megabyte, and they will have to run "make world" to get entirely -current again. "Too bad, but we just had to do this." Was the only comment from Poul-Henning to these problems. When asked how this move would impact the 2.0 release-date, Poul-Hennings face grew dark, he mumbled some very Danish words while he moved his fingers in strange geometrical patterns. Immediately something ecclipsed the Sun, a minor tremor shook the buildings, and the temperature fell significantly. We decided not to pursure the question. ----------- JOB-SECTION ----------- Are you a dedicated GCC-hacker ? We BADLY need somebody to look at the 'freebsd' OS in gcc, sanitize it and carry the patches back to the GNU people. In particular, we need to get out of the "i386-only" spot we are in now. I have the stuff to take a gnu-dist into bmake-form, and will do that part. Please apply to phk@freebsd.org No Novice Need Apply. Notes: svn path=/head/; revision=4113
* Disable one of my extensions (function profiler epilogues) thatBruce Evans1994-09-021-0/+2
| | | | | | | | | we're not ready for yet. gcc and all profiled libraries will need to be recompiled. I suspect that the dependencies aren't complete enough to do this automatically. Notes: svn path=/head/; revision=2465
* Define __FreeBSD__ to be 2.Garrett Wollman1994-08-101-1/+1
| | | | Notes: svn path=/head/; revision=2003
* Here comes the right import of gcc-2.6.0.Poul-Henning Kamp1994-08-0257-0/+15252
Notes: svn path=/head/; revision=1823