summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/cc
Commit message (Collapse)AuthorAgeFilesLines
* MFC r264400,r265836:ngie2014-12-316-6/+6
| | | | | | | | | | | | | | r264400: NO_MAN= has been deprecated in favor of MAN= for some time, go ahead and finish the job. ncurses is now the only Makefile in the tree that uses it since it wasn't a simple mechanical change, and will be addressed in a future commit. r265836: Remove last two NO_MAN= in the tree. In both of these cases, MAN= is what is needed.
* MFC r258428, r258445pfg2013-12-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | gcc: another round of merges from the gcc pre-43 branch. Bring The following revisions from the gcc43 branch[1]: 118360, 118361, 118363, 118576, 119820, 123906, 125246, and 125721. They all have in common that the were merged long ago into Apple's gcc and should help improve the general quality of the compiler and make it easier to bring new features from Apple's gcc42. For details please review the additions to the files: gcc/ChangeLog.gcc43 gcc/cp/ChangeLog.gcc43 (new, adds previous revisions) Fix crosscompilation (r258445 by andreast) Reference: [1] http://gcc.gnu.org/viewcvs/gcc/trunk/?pathrev=126700 Obtained from: gcc pre4.3 (GPLv2) branch MFC after: 3 weeks
* MFC rr258501, r258507;pfg2013-12-152-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc: Bring updates from Google's enhanced gcc-4.2.1. Google released and enhanced version of gcc-4.2.1 plus their local patches for Android[1]. The patches are owned by Google and the license hasn't been changed from the original GPLv2. We are only bringing a subset of the available patches that may be helpful in FreeBSD, in other words, changes specific to android are not included. From the README.google file[1]. Patches applied to google_vendor_src_branch/gcc/gcc-4.2.1: gcc/Makefile.in gcc/c-common.c gcc/c-common.h gcc/c-opts.c gcc/c-typeck.c gcc/cp/typeck.c gcc/doc/invoke.texi gcc/flags.h gcc/opts.c gcc/tree-flow.h gcc/tree-ssa-alias-warnings.c gcc/tree-ssa-alias.c Backport of -Wstrict-aliasing from mainline. Silvius Rus <rus@google.com> gcc/coverage.c: Patch coverage_checksum_string for PR 25351. Seongbae Park <spark@google.com> Not yet submitted to FSF. gcc/c-opts.c gcc/c-ppoutput.c gcc/c.opt gcc/doc/cppopts.texi libcpp/Makefile.in libcpp/directives-only.c libcpp/directives.c libcpp/files.c libcpp/include/cpplib.h libcpp/init.c libcpp/internal.h libcpp/macro.c Support for -fdirectives-only. Ollie Wild <aaw@google.com>. Submitted to FSF but not yet approved. libstdc++-v3/include/ext/hashtable.h http://b/742065 http://b/629994 Reduce min size of hashtable for hash_map, hash_set from 53 to 5 libstdc++-v3/include/ext/hashtable.h http://b/629994 Do not iterate over buckets if hashtable is empty. gcc/common.opt gcc/doc/invoke.texi gcc/flags.h gcc/gimplify.c gcc/opts.c Add Saito's patch for -finstrument-functions-exclude-* options. gcc/common.opt gcc/doc/invoke.texi gcc/final.c gcc/flags.h gcc/opts.c gcc/testsuite/gcc.dg/Wframe-larger-than.c Add a new flag -Wframe-larger-than- which enables a new warning when a frame size of a function is larger than specified. This patch hasn't been integrated into gcc mainline yet. gcc/tree-vrp.c Add a hack to avoid using ivopts information for pointers starting at constant values. Reference: [1] https://android.googlesource.com/toolchain/gcc/+/master/gcc-4.2.1/ Obtained from: Google Inc.
* On platforms where clang is the default compiler, don't build gcc or libstdc++.theraven2013-09-061-1/+6
| | | | | | | | | | | | | | | | | | To enable them, set WITH_GCC and WITH_GNUCXX in src.conf. Make clang default to using libc++ on FreeBSD 10. Bumped __FreeBSD_version for the change. GCC is still enabled on PC98, because the PC98 bootloader requires GCC to build (or, at least, hard-codes the use of gcc into its build). Thanks to everyone who helped make the ports tree ready for this (and bapt for coordinating them all). Also to imp for reviewing this and working on the forward-porting of the changes in our gcc so that we're getting to a much better place with regard to external toolchains. Sorry to all of the people who helped who I forgot to mention by name. Reviewed by: bapt, imp, dim, ...
* add support to gcc for AES and PCLMUL intrinsics... This addes thejmg2013-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
* gcc: install AMD intrinsics header ammintrin.hpfg2013-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
* When gcc 4.2.0 was imported, the 3DNow intrinsics header <mm3dnow.h> wasdim2013-05-081-1/+2
| | | | | | | not added to the list of intrinsics headers to install, so belatedly (5 years :) add it. MFC after: 1 week
* Remove the Fortran directories.rpaulo2013-04-253-70/+0
|
* bsd.own.mk needs to be included before Makefil.inc so MK_ARM_EABI is definedandrew2013-01-251-3/+3
|
* Reorder so that NO_MAN is declared before bsd.own.mk is included and thusbrooks2013-01-241-6/+7
| | | | | has an effect (not installed a g++.1 manpage over the g++.1(.gz) link created in ../cc).
* Add compiler support for the ARM EABI.andrew2013-01-1712-3/+34
| | | | | | 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.
* Clean up hardcoded ar(1) flags in the tree to use the global ARFLAGS ineadler2012-12-061-1/+1
| | | | | | | | | | | | share/mk/sys.mk instead. This is part of a medium term project to permit deterministic builds of FreeBSD. Submitted by: Erik Cederstrand <erik@cederstrand.dk> Reviewed by: imp, toolchain@ Approved by: cperciva MFC after: 2 weeks
* Add support for bmake. This includes:marcel2012-10-062-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merging of projects/armv6, part 3gonzo2012-08-152-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | r238211: Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb This adds a new TARGET_ARCH for building on ARM processors that support the ARMv6K multiprocessor extensions. In particular, these processors have better support for TLS and mutex operations. This mostly touches a lot of Makefiles to extend existing patterns for inferring CPUARCH from ARCH. It also configures: * GCC to default to arm1176jz-s * GCC to predefine __FreeBSD_ARCH_armv6__ * gas to default to ARM_ARCH_V6K * uname -p to return 'armv6' * make so that MACHINE_ARCH defaults to 'armv6' It also changes a number of headers to use the compiler __ARM_ARCH_XXX__ macros to configure processor-specific support routines. Submitted by: Tim Kientzle <kientzle@freebsd.org>
* After the binutils 2.17.50 import, the assembler supports AS_REL16nwhitehorn2012-07-081-1/+1
| | | | relocations.
* Add src.conf option WITH_SHARED_TOOLCHAIN to enable building thekib2012-04-293-2/+10
| | | | | | | | toolchain binaries as dynamically linked. Option is disabled by default. Reviewed by: ru (previous version) MFC after: 2 weeks
* Assume a big-endian default on MIPS and drop the "eb" suffix from MACHINE_ARCH.jmallett2012-03-291-2/+3
| | | | | | | | | | | | | | | This makes our naming scheme more closely match other systems and the expectations of much third-party software. MIPS builds which are little-endian should require and exhibit no changes. Big-endian TARGET_ARCHes must be changed: From: To: mipseb mips mipsn32eb mipsn32 mips64eb mips64 An entry has been added to UPDATING and some foot-shooting protection (complete with warnings which should become errors in the near future) to the top-level base system Makefile.
* Add a WITH_CLANG_IS_CC option for src.conf(5), disabled by default, thatdim2012-02-294-7/+951
| | | | | | | | | | installs clang as /usr/bin/cc, /usr/bin/c++ and /usr/bin/cpp. Note this does *not* disable building and installing gcc, which will still be available as /usr/bin/gcc, /usr/bin/g++ and /usr/bin/gcpp. If you want to disable gcc completely, you must use WITHOUT_GCC. MFC after: 2 weeks
* Enable TLS support for ARM toolchaingonzo2012-02-141-2/+0
| | | | Reviewed by: cognet
* * Don't give the impression that this compiler is GPLv3.obrien2011-10-241-1/+1
| | | | | | (It is "well known" that GCC 4.2.2 is GPLv3.) * Don't give the impression that this compiler isn't "trustable". * Fix dependency nit.
* Update gcc's __FreeBSD__ and __FreeBSD_cc_version macros for FreeBSD 10.dim2011-10-181-2/+2
|
* Remove libobjc and other Objective-C related components, as these aredim2011-04-174-42/+1
| | | | | | extremely outdated, and not used by anything in the base system. Silence from: current@
* In r219639, SSSE3 instruction set support was backported to our gcc.dim2011-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>
* Now that TLS is supported for sparc64 by both binutils 2.17.50 committedmarius2011-03-111-1/+1
| | | | in r218822 and rtld(1) committed in r219533 turn on TLS support in GCC.
* Merge binutils 2.17.50 to head. This brings a number of improvements todim2011-02-181-7/+5
|\ | | | | | | | | | | | | | | | | x86 CPU support, better support for powerpc64, some new directives, and many other things. Bump __FreeBSD_version, and add a note to UPDATING. Thanks to the many people that have helped to test this. Obtained from: projects/binutils-2.17
| * Fix a missing underscore.nwhitehorn2010-12-091-1/+1
| |
| *-. Sync: merge r215944 through r216132 from ^/head.dim2010-12-021-1/+3
| |\ \
| * | | Sync: merge r215396 through r215463 from ^/head.dim2010-11-181-1/+1
| | | |
| * | | Sync: merge r215273 through r215318 from ^/head.dim2010-11-141-1/+1
| | | |
| * | | Sync: merge r214895 through r215140 from ^/head.dim2010-11-114-27/+28
| |\ \ \
| * | | | In case of powerpc64, enable HAVE_LD_NO_DOT_SYMS in gcc's auto-host.h.dim2010-10-221-1/+3
| | | | | | | | | | | | | | | | | | | | Requested by: nwhitehorn
| * | | | Update gcc's auto-host.h header for binutils 2.17: turn ondim2010-10-221-3/+3
| | | | | | | | | | | | | | | | | | | | HAVE_COMDAT_GROUP, HAVE_GAS_WEAKREF and HAVE_LD_SYSROOT.
* | | | | Remove unused support for 64 bit long on 32 bit architectures.tijl2011-01-071-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was used mainly to discover and fix some 64-bit portability problems before 64-bit arches were widely available. Discussed with: bde Approved by: kib (mentor)
* | | | | Retire TARGET_ABI.imp2011-01-072-11/+8
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement MACHINE_ARCH=mips64e[lb] to build N64 images. This replaces MACHINE_ARCH=mipse[lb] TARGET_ABI=n64. MACHINE_ARCH=mipsn32e[lb] has been added, but currently requires WITHOUT_CDDL due to atomic issues in libzfs. I've not investigated this much, but implemented this to preserve as much of the TARGET_ABI functionality that I could. Since its presence doesn't affect the working cases, I've kept it in for now. Added mips64e[lb] to make universe, so more kernels build. And I think this (finally) closes the curtain on the tbemd tree.
* | | | Unbreak amd64<->i386 cross builds.nwhitehorn2010-12-021-2/+3
| | | |
* | | | The driver-XXX.c files used for host CPU detection with -march=nativenwhitehorn2010-12-021-1/+2
| |_|/ |/| | | | | | | | | | | should not be compiled in the cross-tools case (where -march=native makes no sense). This fixes cross-building x86 toolchains on non-x86 systems.
* | | Let gcc and ld know where to find 32 bit libraries on amd64.tijl2010-11-171-1/+1
| | | | | | | | | | | | | | | Reviewed by: arch@ Approved by: kib (mentor)
* | | We need to add powerpc64->powerpc translations (I knew I hated copyingimp2010-11-141-1/+1
| |/ |/| | | | | | | | | | | | | this code in the first place). Also MACHINE_ARCH powerpc is 32-bit, not MACHINE_CPUARCH == powerpc. Submitted by: nathanw
* | Complete the integration of tbemd branch into head.imp2010-11-104-27/+28
|/ | | | | | | | | | | | | | | | TARGET_BIG_ENDIAN is now completely dead, except where it was originally supposed to be used (internally in the toolchain building). TARGET_ARCH has changed in three cases: (1) Little endian mips has changed to mipsel. (2) Big endian mips has changed to mipseb. (3) Big endian arm has changed to armeb. Some additional changes are needed to make 'make universe' work on arm and mips after this change, so those are commented out for now. UPDATING information will be forthcoming. Any remaining rough edges will be hammered out in -current.
* Teach our toolchain how to generate 64-bit PowerPC binaries. This fixesnwhitehorn2010-07-103-4/+22
| | | | | | | | 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
* Fix build for O32 systems without a TARGET_CPUTYPE defined. We must default tojmallett2010-06-021-0/+8
| | | | | | MIPS-III because FreeBSD relies on a number of MIPS-III features; the ABI default would be MIPS-I which we don't intend to support. Our old default before I switched to using the ABI default was MIPS32.
* Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain.jmallett2010-06-021-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | o) Add TARGET_ABI to the MIPS toolchain build process. This sets the default ABI to one of o32, n32 or n64. If it is not set, o32 is assumed as that is the current default. o) Set the default GCC cpu type to any specified TARGET_CPUTYPE. This is necessary to have a working "cc" if e.g. mips64 is specified, as binutils will refuse to link objects using different ISAs in some cases. o) Add support for n32 and n64 ABIs to binutils and GCC. o) Add additional required libgcc2 stubs for n32 and n64. o) Add support for the "mips64r2" architecture to GCC. Add the "octeon" o) When static linking, wrap default libraries in --start-group and --end-group. This is required for static linking to work on n64 with the interdependencies between libraries there. This is what other OSes that support n64 seem to do, as well. o) Fix our GCC spec to define __mips64 for 64-bit targets, not __mips64__, the former being what libgcc, etc., check and the latter seemingly being a misspelling of a hand merge from a Linux spec. o) When no TARGET_CPUTYPE is specified at build time, make GCC take the default ISA from the ABI. Our old defaults were too liberal and assumed that 64-bit ABIs should default to the MIPS64 ISA and that 32-bit ABIs should default to the MIPS32 ISA, when we are supporting or will support some systems based on earlier 32-bit and 64-bit ISAs, most notably MIPS-III. o) Merge a new opcode file (and support code) from a later version of binutils and add flags and code necessary to support Octeon-specific instructions. This should also make merging opcodes for other modern architectures easier. Reviewed by: imp
* Non-GCC gcc compatible compilers may provide the same multimedia intrinsicobrien2010-05-123-3/+7
| | | | | | | headers as GCC, but of their own implementation. So put the GCC ones into their own header "namespace". Requested by: ed
* Make little endian compiles produce little endian binaries on mips.imp2010-03-051-0/+4
| | | | Submitted by: neel@
* Back-merge (by hand) r195668:imp2010-01-081-3/+0
| | | | | | r195668 | gonzo | 2009-07-13 17:01:12 -0600 (Mon, 13 Jul 2009) | 3 lines - Get rid of ugly TARGET_CPU_DEFAULT default. 16 is MASK_DSP and was set there due to my ignroance.
* Back out previous revision until better tested fix is ready.kan2009-06-291-8/+0
| | | | Approved by: re (impliciti, by approving previos check-in)
* Eliminate .text relocations in shared libraries compiled with stack protector.kan2009-06-281-0/+8
| | | | | | | | | | | | Use libssp_nonshared library to pull __stack_chk_fail_local symbol into each library that needs it instead of pulling it from libc. GCC generates local calls to this function which result in absolute relocations put into position-independent code segment, making dynamic loader do extra work everys time given shared library is being relocated and making affected text pages non-shareable. Reviewed by: kib Approved by: re (kensmith)
* Fix build breakage due to the interplay between r189801 and r189824.das2009-03-141-0/+1
| | | | | | | In particular, vendor sources that aren't ready for gnu99 should still be compiled with gnu89. (Before r189824, these would have generated warnings if you tried to compile them in gnu99 mode, but the warnings went unheeded due to -Wno-error.)
* Add strndup(3) prototype to string.h.kib2008-12-081-1/+1
| | | | | | | | | | | This change was erronously ommitted from the r185690, and attempt to simply add the prototype to string.h has revealed that several contributed programs defined local prototypes for strndup(), controlled by autoconfed config.h. So, manually change #undef HAVE_STRNDUP to #define HAVE_STRNDUP 1. Next import of the corresponding program would regenerate config.h, overriding the changes in this commit. No objections from: kan
* Add FreeBSD/MIPS support to GCC.obrien2008-09-013-1/+14
|
OpenPOWER on IntegriCloud