summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/config
Commit message (Collapse)AuthorAgeFilesLines
* MFC r318024,r318025:mmel2017-05-232-0/+26
| | | | | | | r318024: Fix _Unwind_Backtrace symbol version for ARM. r318025: Revert accidentally changed std.armv6 in r318024.
* MFC r312899: add octeon+ as an alias for octeon in GCC & binutilsemaste2017-03-032-1/+5
| | | | | | | | | | | | | | | | | | r208737 added support for the "mips64r2" architecture and "octeon" CPU, and the saa/saad instructions. Upstream binutils also added the "octeon+" CPU, and the saa/saad instructions are only available in octeon+, not octeon. Since our base system tool chain already accepts saa/saad with -march=octeon, just allow octeon+ as an alias. This allows the use of octeon+ in kernel config files, for use with both external tool chain and in-tree GCC/binutils. Also includes GCC FBSD_CC_VER bump (r313041 in HEAD) PR: 216516 Sponsored by: The FreeBSD Foundation
* MFC r303396: rename ARM's libunwind.S to to avoid conflict with llvm libunwindemaste2016-08-011-0/+0
| | | | | | | | llvm libunwind includes a libunwind.cpp, but on ARM libunwind.S is found first in .PATH. Rename the latter one, since it is not going to be updated again. Approved by: re (kib)
* Add a minimal gcc config for RISC-V.br2016-01-232-0/+7
| | | | | | | | | This is required to build csu. Reviewed by: andrew Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D5039
* Silence a boring warning.andreast2015-12-221-0/+2
|
* Annotate arm userspace assembler sources stating their tolerance tokib2015-09-293-0/+6
| | | | | | | the non-executable stack. Reviewed by: andrew Sponsored by: The FreeBSD Foundation
* Use a spelling of .thumb clang understands.andrew2015-05-311-1/+1
|
* Also define DWARF_FRAME_REGISTERS. This is used to size arrays, withoutandrew2015-03-261-1/+1
| | | | | | this exceptions could write over the stack. Sponsored by: The FreeBSD Foundation
* Adda minimal gcc config. This is just enough to build the bits of csu weandrew2015-03-242-0/+9
| | | | | | get from gcc, and libgcc_eh. Sponsored by: The FreeBSD Foundation
* FreeBSD expects _Unwind_GetGR, _Unwind_SetGR, and _Unwind_SetIP to beandrew2015-02-012-11/+24
| | | | | symbols and not macros. Make this so. This fixes a few ports that try to link against these functions but fail as they previously didn't exist.
* Allow -march=armv7a on the gcc command line, for compatibility with clang.ian2014-12-211-0/+2
| | | | | | | This will result in __ARM_ARCH_7A__ being defined during the compile. When compiling with gcc, it will still only generate armv6 opcodes itself, but should pass the arch to gas so that inline asm can use v7 opcodes.
* Use the floating-point instruction on ARMv7 as the clang 3.5 integratedandrew2014-12-011-0/+15
| | | | | | | assembler doesn't allow these two instructions to use co-processor 11. MFC after: 1 Week Sponsored by: ABT Systems Ltd
* There is no need to use FUNC_END with aeabi_ldiv0 or aeabi_idiv0 as theyandrew2014-11-301-2/+0
| | | | | | are aliases. Sponsored by: ABT Systems Ltd
* Supplement r259111 by also using correct casts in gcc's emmintrin.h fordim2014-08-131-1/+1
| | | | | | | | | | | | | | | the first argument of the following builtin function: * __builtin_ia32_psrlqi128() takes __v2di instead of __v4si This should fix the following errors when building the graphics/webp port with base gcc: lossless_sse2.c:403: error: incompatible type for argument 1 of '__builtin_ia32_psrlqi128' lossless_sse2.c:404: error: incompatible type for argument 1 of '__builtin_ia32_psrlqi128' Reported by: Jos Chrispijn <ports@webrz.net> MFC after: 3 days
* Add FreeBSD to the list of environments that needs to handle R_ARM_TARGET2ian2014-07-221-1/+1
| | | | | | relocations in unwind data as pc-relative indirect references. MFC after: 1 week
* gcc: fix strict alignment.pfg2014-05-021-1/+1
| | | | | | | | | | | | | | | From the OpenBSD log: x86-64 ABI requires arrays greater than 16 bytes to be aligned to 16byte boundary. However, GCC 16-byte aligns arrays of >=16 BITS, not BYTES. This diff improves bug detectability for code which has local arrays of [16 .. 127] bits: in those cases SSP will now detect even 1-byte overflows. Obtained from: OpenBSD (CVS rev 1.4) MFC after: 1 week
* Fix gcc with EABI on big-endian ARM by setting the endian correctly.andrew2014-01-121-0/+3
| | | | | | Without this gcc would generate byte loads for a little-endian core. MFC after: 1 week
* libcpp: misc fixes from Apple's GCC.pfg2014-01-051-1/+3
| | | | | | | | | Fixes some bugs detected by Apple: #error with unmatched quotes pragma mark Obtained from: Apple GCC 4.2 - 5553 MFC after: 1 week
* gcc: small enhancements for the arm support.pfg2013-12-252-5/+109
| | | | | | | | | Very small updates: fixes GCC-PR target/31152 Tested by building the cross-compiler. Obtained from: gcc 4.3 (rev. r118461, 125973: GPLv2) MFC after: 2 weeks
* gcc: Add ability to generate DWARF pubtypes section ifpfg2013-12-242-0/+2
| | | | | | | | DEBUG_PUBTYPES_SECTION is defined. Obtained from: gcc 4.3 (rev. 118826; GPLv2) MFC after: 2 weeks
* gcc: more diff reductions against Apple GCC.pfg2013-12-201-0/+4
| | | | | | | Mostly cosmetical changes to aid further merges. Obtained from: gcc 4.3 (rev. 120611, 124839; GPLv2) MFC after: 1 week
* gcc: fix ICE in rs600 when using -fno-trapping-math.pfg2013-12-171-2/+3
| | | | | | | Solve build issue with previous change. Obtained from: gcc 4.3 (rev. 120902; GPLv2) MFC after: 2 weeks
* gcc: fix ICE in rs600 when using -fno-trapping-math.pfg2013-12-171-2/+10
| | | | | | | Solves GCC-PR target/30485 Obtained from: gcc 4.3 (rev. 120902; GPLv2) MFC after: 2 weeks
* Use correct casts in gcc's emmintrin.h for the first arguments of thedim2013-12-081-3/+3
| | | | | | | | | | | | | | | | | | following builtin functions: * __builtin_ia32_pslldi128() takes __v4si instead of __v8hi * __builtin_ia32_psllqi128() takes __v2di instead of __v8hi * __builtin_ia32_psradi128() takes __v4si instead of __v8hi This should fix the following errors when building the LINT kernel with gcc: sys/crypto/aesni/aesni_wrap.c:191: error: incompatible type for argument 1 of '__builtin_ia32_psradi128' sys/crypto/aesni/aesni_wrap.c:195: error: incompatible type for argument 1 of '__builtin_ia32_pslldi128' MFC after: 3 days
* gcc: Add -flax-vector-conversionspfg2013-12-053-32/+24
| | | | Obtained from: gcc 4.3 (rev. 120572, 120688; GPLv2)
* gcc: On rs6000 update sp_offset depending only on size.pfg2013-12-041-3/+11
| | | | | | | | This fixes a nasty bug introduced in r258651. Reported and tested by: Justin Hibbits Obtained from: gcc pre-4.3 (rev. 125116; GPLv2) MFC after: 2 weeks
* gcc: Altivec register adjustments from Apple.pfg2013-11-261-99/+110
| | | | | Obtained from: gcc pre-4.3 (rev. 124763; GPLv2) MFC after: 3 weeks
* gcc: another round of merges from the gcc pre-43 branch.pfg2013-11-219-279/+301
| | | | | | | | | | | | | | | | | | | | | | 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) Reference: [1] http://gcc.gnu.org/viewcvs/gcc/trunk/?pathrev=126700 Obtained from: gcc pre4.3 (GPLv2) branch MFC after: 3 weeks
* gcc: merge rs6000 change from FSF pre-gcc43pfg2013-11-141-4/+2
| | | | | | | | | | config/rs6000/rs6000.c http://gcc.gnu.org/ml/gcc-patches/2007-04/msg01551.html Don't set MASK_PPC_GFXOPT for 8540 or 8548. Obtained from: gcc 4.3 (rev. 124381; GPLv2) MFC after: 3 weeks Reviewed by: nathan
* On ARM EABI double precision floating point values are stored in theandrew2013-09-071-1/+1
| | | | | | endian the CPU is in, i.e. little-endian on most ARM cores. This allows ARMv4 and ARMv5 boards to boot with the ARM EABI.
* add support to gcc for AES and PCLMUL intrinsics... This addes thejmg2013-09-033-0/+18
| | | | | | | | -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
* Implement _Unwind_GetIP and _Unwind_GetIPInfo as functions as that is whatandrew2013-08-312-0/+21
| | | | we expect on FreeBSD. The implementation is based on the existing macros.
* Bring in gcc r128087 to add support for _Unwind_Backtrace on ARM. This isandrew2013-08-313-1/+69
| | | | prior to the licence change so is under the GPLv2.
* GCC: bring back experimental support for amdfam10/barcelona CPUs.pfg2013-06-0111-157/+1285
| | | | | | | | | | | | | Initial support for the AMD amdfam10 chipsets has been available in the gcc43 branch under GPLv2. AMD and some linux distributions (OpenSUSE) did a backport of the amdfam10 support and made it available. This is a revised subset of the support initially brought in in r236962 and later reverted. The collateral efects seem to have disappeared but it is still recommended to set the CPUTYPE with caution. Reviewed by: jkim (ages ago) MFC after: 3 weeks
* For some reason, the gcc intrinsics header tmmintrin.h was imported withdim2013-05-081-224/+0
| | | | | | two copies of itself pasted together. Remove the extraneous copy. MFC after: 3 days
* Add #undef TARGET_DEFAULT back as it shouldn't have been removed in r245539andrew2013-02-041-0/+1
|
* Allow the unwind functions int libgcc_s to interact correctly with libthr.andrew2013-02-041-2/+2
| | | | | | | | | | | | | | | | | | | _Unwind_ForcedUnwind in libgcc_s takes as one of it's parameters a stop function to tell it when to stop unwinding. One of the stop function's parameters is a _Unwind_Exception_Class. On most architectures this is an int64_t, however on ARM EABI the gcc developers have made this a char array with 8 items. While both of these take the same space they are passed into the stop function differently, an int64_t is passed in in registers r2 and r3, while the char[8] is passed in as a pointer to the first item in register r2. Because libthr expects the value to be an int64_t we would get incorrect results when it passes a function that take an int64_t but libgcc passes in a pointer to a char array including crashing. The fix is to update libgcc_s to make it pass an int64_t to the stop function and to libstdc++ as it expects _Unwind_Exception_Class to be an array.
* Clean some 'svn:executable' properties in the tree.pfg2013-01-263-0/+0
| | | | | Submitted by: Christoph Mallon MFC after: 3 days
* Add compiler support for the ARM EABI.andrew2013-01-171-3/+27
| | | | | | 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.
* Switch the default CPU to an arm9. This removes compiler support for theandrew2013-01-141-1/+1
| | | | | unsupported 26-bit addressing mode. This change is required for moving to the ARM EABI.
* Don't define CTORS_SECTION_ASM_OP and DTORS_SECTION_ASM_OP on arm whenandrew2012-12-151-0/+2
| | | | | | | | | | | | | | | | | built with clang. When these are defined the lists are defined similar to: asm(".section .ctors"); STATIC func_ptr __CTOR_LIST__[1] = { (func_ptr) (-1) }; asm(".section .dtors"); STATIC func_ptr __DTOR_LIST__[1] = { (func_ptr) (-1) }; The problem is clang will move the two arrays out of the .ctors and .dtors sections causing these sections to contain a single null address. By not defining these macros we use the version of the code that places the arrays is their sections by using __attribute__((section(".ctors"))) and similar for .dtors. Submitted by: Daisuke Aoyama <aoyama AT peach.ne.jp>
* Follow clang lead and include mm_malloc.h only in hosted configurations.kan2012-10-271-0/+2
| | | | | | | This makes the use of intrinsics easier in kernel environment, according to the submitter. Requested by: jmg
* Merging of projects/armv6, part 3gonzo2012-08-151-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* Pass --enable-new-dtags to the linker invocation by default. Ifkib2012-07-157-4/+7
| | | | | | | | | | | | desired, one can turn off the generation of post-ELF standard dtags by overriding it with --disable-new-dtags after the default switch. Immediate effect of the change is that -rpath path is now stored both in DT_RPATH and DT_RUNPATH tags, which is the right way to provide rpath for dynamic linker supporting DT_RUNPATH per specification. Reviewed by: kan MFC after: 1 month
* Merge r236137 from x86:marius2012-06-141-0/+1
| | | | Enable GNU hash generation for dynamic ELF binaries.
* Revert r236962 - Experimental amdfam10/barcelona support.pfg2012-06-1311-1369/+477
| | | | | | | | The patches are unexpectedly causing gcc to fail while building ports/graphics/ImageMagick even when the cpu flags are not used. Reported by: Andreas Tobler
* Add experimental support for amdfam10/barcelona from the GCC 4.3 branch.pfg2012-06-1211-477/+1369
| | | | | | | | | | | | | | | | | | | Initial support for the AMD barcelona chipsets has been available in the gcc43 branch under GPLv2 but was not included when the Core 2 support was brought to the system gcc. AMD and some linux distributions (OpenSUSE) did a backport of the amdfam10 support and made them available. Unfortunately this is still experimental and while it can improve performance, enabling the CPUTYPE may break some C++ ports (like clang). Special care was taken to make sure that the patches predate the GPLv3 switch upstream. Tested by: Vladimir Kushnir Reviewed by: mm Approved by: jhb (mentor) MFC after: 2 weeks
* Merge r236137 from x86:marius2012-05-301-2/+4
| | | | | | | Enable GNU hash generation for dynamic ELF binaries. While at it, sync the order of options with x86 and pass along the verbose flag.
* Enable gnu hash generation for dynamic ELF binaries on x86.kib2012-05-272-0/+2
| | | | Reviewed by: kan
* Bring in a subset of gcc fixes that were back ported topfg2012-05-182-43/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the GCC 4.1 branch and are available under GPLv2. 2007-11-07 Eric Botcazou <ebotcazou@libertysurf.fr> PR rtl-optimization/33822 * rtl.h (REG_OFFSET): Fix comment. * var-tracking.c (INT_MEM_OFFSET): New macro. (var_mem_set): Use it. (var_mem_delete_and_set): Likewise. (var_mem_delete): Likewise. (vt_get_decl_and_offset): Likewise. (offset_valid_for_tracked_p): New predicate. (count_uses): Do not track locations with invalid offsets. (add_uses): Likewise. (add_stores): Likewise. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129972 2007-11-16 Richard Guenther <rguenther@suse.de> PR middle-end/34030 * fold-const.c (fold_binary): Use correct types for folding 1 << X & Y to Y >> X & 1. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130242 2008-01-14 Eric Botcazou <ebotcazou@adacore.com> PR rtl-optimization/31944 * cse.c (remove_pseudo_from_table): New function. (merge_equiv_classes): Use above function to remove pseudo-registers. (invalidate): Likewise http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131524 2008-01-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> Backport: 2007-11-07 Kenneth Zadeck <zadeck@naturalbridge.com> PR middle-end/33826 * ipa-pure-const (static_execute): Added code to keep recursive functions from being marked as pure or const. * ipa-utils (searchc): Fixed comment. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131807 2008-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> Backport: 2007-08-02 Nathan Froyd <froydnj@codesourcery.com> PR middle-end/25445 * varasm.c (default_binds_local_p_1): Consult flag_whole_program if we are compiling with -fPIC. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132061 2008-02-04 Richard Guenther <rguenther@suse.de> PR middle-end/33631 * expr.c (count_type_elements): Give for unions instead of guessing. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132101 2008-02-14 Alan Modra <amodra@bigpond.net.au> PR target/34393 * config/rs6000/rs6000.md (restore_stack_block): Force operands[1] to a reg. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132309 2008-03-25 Richard Guenther <rguenther@suse.de> Backport from mainline: 2008-02-12 Richard Guenther <rguenther@suse.de> PR middle-end/35163 * fold-const.c (fold_widened_comparison): Use get_unwidened in value-preserving mode. Disallow final truncation. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133509 2008-11-30 Eric Botcazou <ebotcazou@adacore.com> PR target/38287 * config/sparc/sparc.md (divsi3 expander): Remove constraints. (divsi3_sp32): Add new alternative with 'K' for operand #2. (cmp_sdiv_cc_set): Factor common string. (udivsi3_sp32): Add new alternative with 'K' for operand #2. Add TARGET_V9 case. (cmp_udiv_cc_set): Factor common string. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142298 Reviewed by: mm Approved by: jhb (mentor) MFC after: 1 week
OpenPOWER on IntegriCloud