summaryrefslogtreecommitdiffstats
path: root/contrib/gcc
Commit message (Collapse)AuthorAgeFilesLines
...
* gcc: more diff reductions against Apple GCC.pfg2013-12-2012-11/+58
| | | | | | | Mostly cosmetical changes to aid further merges. Obtained from: gcc 4.3 (rev. 120611, 124839; GPLv2) MFC after: 1 week
* gcc: backport upstream fix for issue with C++'s placement newpfg2013-12-1918-61/+434
| | | | | | | Fixes GCC libstdc++/29286 Obtained from: gcc 4.3 (rev. 125603, 125653; GPLv2) MFC after: 2 weeks
* gcc: add Apple compatible -Wnewline-eofpfg2013-12-181-1/+1
| | | | | | Fix document: "Apple compatible" suits better the origin. MFC after: 1 week
* gcc: add Apple compatible -Wnewline-eofpfg2013-12-183-0/+20
| | | | | | | | | | | | | | GCC 4.2 and previous have always warned about "No newline at end of file". Upstream GCC removed the warning completely but Apple made it an optional warning. Adopt it for compatibility with older GCC and clang. While here, add comment to complement r258712. Obtained from: Apple Inc. (Apple GCC 4.2 - 5531) MFC after: 1 week
* gcc: point to our address for bug reports.pfg2013-12-181-1/+1
| | | | | | | | | | As recommended by the FSF in gcc/version.c : "If you distribute a modified version of GCC, please change this to refer to a document giving instructions for reporting bugs to you, not us." MFC after: 2 weeks
* gcc: small merges from upstreampfg2013-12-178-31/+113
| | | | | | | | | | | | Solves GCC issues: PR middle-end/32602 PR middle-end/32603 Updates the to documentation and processing improvement. Obtained from: gcc 4.3 (rev. 119427, 126278, 126422; GPLv2) MFC after: 2 weeks
* 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-172-2/+16
| | | | | | | 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: new fvisibility-ms-compat optionpfg2013-12-086-0/+68
| | | | | Obtained from: gcc 4.3 (rev. 126088; GPLv2) MFC after: 3 weeks
* gcc: Include types in error message for build_binary_op.pfg2013-12-066-8/+21
| | | | | | | Mostly cosmetic change, again to reduce differences with Apple's gcc. Obtained from: gcc 4.3 (rev. 125239; GPLv2) MFC after: 3 weeks
* gcc: Add -flax-vector-conversionspfg2013-12-0513-53/+133
| | | | Obtained from: gcc 4.3 (rev. 120572, 120688; GPLv2)
* gcc: On rs6000 update sp_offset depending only on size.pfg2013-12-042-4/+20
| | | | | | | | 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
* libiberty: upstream updates.pfg2013-12-012-3/+24
| | | | | | | | | | | | | | | | | | | | | | There is a new ChangeLog.gcc43 file but most notable: * floatformat.c (get_field): Fix segfault with little-endian word order on 64-bit hosts. (put_field): Likewise. (min): Move definition. gcc/cp/ChangeLog 2007-05-04 Geoffrey Keating <geoffk@apple.com> PR 31775 * mangle.c (write_mangled_name): Mangle static variable names. (write_unqualified_name): Use local-source-name for namespace-scope static variables. (Completes FreeBSD's r258017 ) Obtained from: gcc 4.3 (rev. 118552, 120097, 20698, 120702, 121364, 122972, 126588; GPLv2) MFC after: 2 weeks
* gcc: upstream alignment cleanups.pfg2013-11-2914-81/+152
| | | | | | | | | | This solves GCC/32617 and contributes to reduce differences with Apple's gcc42. Complete some references in the ChangeLog while here. Obtained from: gcc 4.3 (rev. 126529, 126588; GPLv2) MFC after: 3 weeks
* gcc: Make use of TREE_OVERFLOW_P.pfg2013-11-295-32/+59
| | | | | | | | | While it was brought in r258179 only to fix a build issue, bringing the rest of the change has the advantage of fixing GCC/19978. Obtained from: gcc 4.3 (rev. 120505; GPLv2) MFC after: 1 week
* Forced commit to note that r258652 is actually:pfg2013-11-261-1/+1
| | | | | | | | | gcc: Move conditions before an assert. It is a bit cleaner to check the conditions before calling the assertion. It also preserves the style from the rest of the code. This is just a cosmetical change to match better what both Apple's gcc42 and Android's gcc-4.2.1 do.
* gcc: Altivec register adjustments from Apple.pfg2013-11-261-2/+2
| | | | | Obtained from: gcc pre-4.3 (rev. 124763; GPLv2) MFC after: 3 weeks
* gcc: Altivec register adjustments from Apple.pfg2013-11-262-99/+116
| | | | | Obtained from: gcc pre-4.3 (rev. 124763; GPLv2) MFC after: 3 weeks
* gcc: Bring updates from Google's enhanced gcc-4.2.1.pfg2013-11-2319-143/+1574
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. 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. MFC after: 3 weeks
* gcc: another round of merges from the gcc pre-43 branch.pfg2013-11-2146-428/+804
| | | | | | | | | | | | | | | | | | | | | | 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: Record some previous commits in the gcc43 ChangeLog.pfg2013-11-181-0/+35
| | | | | | | It is useful to update the ChangeLog with upstream references related to our local r189824 and r255095. MFC after: 3 weeks
* gcc: Fix postreload-gcse treatment of call-clobbered registers.pfg2013-11-164-105/+91
| | | | | | | | Reference: http://gcc.gnu.org/ml/gcc-patches/2007-05/msg01636.html Obtained from: gcc 4.3 (rev. 125037; GPLv2) MFC after: 3 weeks
* gcc: add femit-struct-debug support to reduce Reduce dwarf debug sizepfg2013-11-1612-10/+474
| | | | | Obtained from: gcc 4.3 (rev. 123909; GPLv2) MFC after: 3 weeks
* gcc: Add a new option -Wvla to warn variable length array.pfg2013-11-165-15/+89
| | | | | Obtained from: gcc 4.3 (rev. 122851; GPLv2) MFC after: 3 weeks
* Merge in gcc svn r120505 to include definition of TREE_OVERFLOW_P:sbruno2013-11-151-0/+5
| | | | | | | http://gcc.gnu.org/viewcvs/gcc/trunk/gcc/tree.h?revision=120505&view=markup This repairs build breakage for non x86 arch's that use gcc to build intruduced at svn R258157
* gcc: warn about integer overflow in constant expressions in the C++ frontend.pfg2013-11-151-0/+6
| | | | | | | | This fixes GCC 28986: http://gcc.gnu.org/ml/gcc-patches/2007-01/msg00473.html Obtained from: gcc 4.3 (rev. 120558; GPLv2) MFC after: 3 weeks
* Merge vrp-tree fix from gcc-4.3pfg2013-11-142-2/+7
| | | | | | | | | | | | Fix missed conversion from / to >> (GCC PR32521) Note that vrp-tree is currently disabled by default in FreeBSD's gcc due many bugs. While here fix a revision number in the 4.3 Changelog. Obtained from: gcc 4.3 (rev. 122831 - partial; GPLv2) MFC after: 3 weeks
* gcc: merge rs6000 change from FSF pre-gcc43pfg2013-11-142-4/+7
| | | | | | | | | | 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
* gcc: Backport fixes for -W parentheses in C++pfg2013-11-1310-113/+256
| | | | | | | | | | | | | This fixes GCC 19564: http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00868.html http://gcc.gnu.org/ml/gcc-patches/2006-12/msg01772.html http://gcc.gnu.org/ml/gcc-patches/2007-01/msg00545.html The patch and its fixes are used by Google in their enhanced gcc-4.2.1 port and predates the license switch in GCC so they are still under GPLv2. MFC after: 3 weeks
* 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-035-6/+26
| | | | | | | | -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
* Add support for the GCC binary integer constants extension.pfg2013-08-312-0/+29
| | | | | | | | | | This is required to build the i965 backend with newer versions of mesa. Original patch from Joerg Wunsch in GCC Bug 23479, under the GPLv2; also taken from there in OpenBSD. Obtained from: gcc 4.3 (rev. 125346; GPLv2) MFC after: 5 days
* 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: configuration fix.pfg2013-06-241-2/+2
| | | | | | | | | -Fix configuration support for FreeBSD 10 and 11. Note this change is based on GCC-SVN-131197 with permission by gerald@ . Reported by: jmallet
* gcc: add some configuration and references.pfg2013-06-243-5/+15
| | | | | | | | | | | | -Add configure support for FreeBSD 10 and 11. -Adapt a threading fix to gnu POSIX95 (which we don't use). -Refer to a bug fix for the disabled vrptree support. This is all useless in our current build but it is included for convenience in case someone may want to re-package our older gcc. Reviewed by: gerald (long ago)
* Pull in r183984 from llvm trunk:dim2013-06-201-12/+0
| | | | | | | | | | | | | Make PrologEpilogInserter save/restore all callee saved registers in functions which call __builtin_unwind_init() __builtin_unwind_init() is an undocumented gcc intrinsic which has this effect, and is used in libgcc_eh. Goes part of the way toward fixing PR8541. This obsoletes the ugly hack to libgcc's unwind code from r245272, and should also work for other arches, so revert the hack too.
* GCC: bring back experimental support for amdfam10/barcelona CPUs.pfg2013-06-0115-165/+1515
| | | | | | | | | | | | | 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
* Add support for "d" floating-point suffix, as defined by draft N1312pfg2013-05-121-0/+7
| | | | | | | | | of TR 24732. Emit pedantic warning if the feature is being used. Should solve GCC bug 39027. Obtained from: OpenBSD MFC after: 2 weeks
* Update the gcc43 changelog.pfg2013-05-121-0/+4
| | | | | | | | | The issue solved in r250392 actually originated upstream and was fixed in upstream gcc43 branch in 2006/10/24 (under GPLv2). Register it in the appropriate ChangeLog for reference. MFC after: 3 days
* 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.
* Add an ugly hack to libgcc's unwind code, to make it behave properly atdim2013-01-101-0/+12
| | | | | | | | | | | | | | | | | runtime on amd64, when it is compiled by clang. Some versions of clang don't save and restore all callee registers, if a __builtin_eh_return() intrinsic is used in a function. This is particularly bad on amd64. Until the problem gets fixed by upstream, use an asm statement to force clang to assume the registers in question are clobbered, when invoking __builtin_eh_return(), so it will emit code to save and restore them. This should fix the crashes reported on -current with some C++ programs, particularly those that throw exceptions over multiple function boundaries. Reported by: stefanf MFC after: 3 days
* gcc: avoid generating negative values to DW_AT_byte_size.pfg2012-12-281-1/+1
| | | | | | | | The previous change was actually a NOP because size is unsigned and compilers are dumb. Submitted by: Christoph Mallon MFC after: 1 week
* gcc: avoid generating negative values to DW_AT_byte_size.pfg2012-12-281-3/+3
| | | | | | | | | | | | | | | | | There is a bug in gcc (GCC/35998) where dwarf reports sizes of unsigned -1 (0xffffffff). On NetBSD this generated a faulty CTF entry which then caused a segfault in ctfmerge. The issue was worked around in NetBSD's Dtrace but since the issue originated in gcc, it seems reasonable to fix it here. Upstream gcc has been slow to react to this issue and the author that submitted the patch is not interested in licensing the change to us, so I did an independent workaround for the issue. MFC after: 1 week
OpenPOWER on IntegriCloud