summaryrefslogtreecommitdiffstats
path: root/contrib/gcc
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Bring a couple of fixes for gcc optimizations.pfg2012-06-215-10/+45
| | | | | | | | | | | | | | The GCC4.3 branch contains some optimization fixes that were not considered regressions and therefore were never backported. We are bringing a couple of them that are under GPLv2 since they were made before the license switch upstream. While here, add the GCC revision numbers in the log. Discussed with: jkim MFC after: 1 week
* 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-1320-1724/+493
| | | | | | | | 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
* Space mismatch - typo in r236962.pfg2012-06-121-1/+1
| | | | | | Found by: Dima Panov Approved by: jhb (mentor) MFC after: 2 weeks
* Add experimental support for amdfam10/barcelona from the GCC 4.3 branch.pfg2012-06-1220-493/+1724
| | | | | | | | | | | | | | | | | | | 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
* Revert r235797. GCC's mis-assumptions has led to incorrect usage ofobrien2012-05-231-4/+0
| | | | "%q[diouxX]" within FreeBSD sources.
* Do not incorrectly warn when printing a quad_t using "%qd" on 64-bit platforms.obrien2012-05-221-0/+4
|
* Bring in a subset of gcc fixes that were back ported topfg2012-05-1810-99/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Unbreak jemalloc build with MALLOC_PRODUCTION set. New jemalloc versiongonzo2012-04-301-2/+26
| | | | | | | | uncovered MIPS-related gcc bug described in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33256 The patch was obtained from r128198 in gcc-4_1-branch, which is GPLv2, so it's OK to merge it.
* Fix a typo in GCC affecting calculations with -ffast-math.pfg2012-04-052-1/+6
| | | | | | | | | | The fix is similar to the one applied in GCC-4.3 in GCCSVN-r117929 under the GPLv2. Submitted by: Andrey Simonenko Reviewed by: mm Approved by: jhb (mentor) MFC after: 3 days
* Disable IRIX compatibility flags for DWARF code generator. IRIX-compatiblegonzo2012-03-231-1/+2
| | | | DWARF code is not compatible with CTF tools
* Implement -print-file-name=include (which is undocumentedkientzle2012-02-101-0/+11
| | | | | | | | | | | | but used by some Linux boot loaders). This option prints out the directory holding the include files needed by a freestanding program. The default implementation of this doesn't work on FreeBSD because of the different include file layout. But it's easy to implement: just return /usr/include (or the cross-compiling equivalent). Reviewed by: kan MFC after: 1 week
* Silence a warning about redefinition of TARGET_ELF on powerpc.andreast2012-01-061-0/+1
|
* Clean an inconsistency with -ffinite-math-only.pfg2011-12-212-7/+15
| | | | | | | | | | | | Backported from the gcc-4_3-branch, revision 118001, under the GPLv2. This issue was also fixed in Apple's gcc. PR: 157025 Reviewed by: mm Approved by: jhb (mentor) MFC: 2 weeks
* Rename the linker emulation name for powerpc and powerc64. This is needed thatandreast2011-11-191-1/+1
| | | | | we can also use the upstream binutils linker where we have to have a unique name for the FreeBSD emulation.
* Copy over the ASM_DECLARE_FUNCTION_SIZE macro from linux64.h. This macroandreast2011-11-161-0/+19
| | | | | | | | | | | | | | | | | | | | | declares the proper size of a function. Without this macro recent GNU as will complain about with: 'Error: .size expression for main does not evaluate to a constant.' Up to now we produce this: .L.main: .... .size main, .-main With the macro defined the output is this: .L.main: .... .size main,.-.L.main This affects only the 64-bit compiler. Tested with world and kernel on both, 32 and 64-bit powerpc.
* Import gcc fix for -fstack-protector that produces segfaultingfabient2011-11-091-2/+4
| | | | | | | | | | binaries on arm/armel. Related gcc bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35965 PR: 161128 MFC after: 1 week
* * Don't give the impression that this compiler is GPLv3.obrien2011-10-242-2/+2
| | | | | | (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.
* Adjust posix_memalign() prototype to match what we define in stdlib.h forstefanf2011-10-161-1/+1
| | | | | | C++ compilation. PR: standards/147210
* Fix accidential dos-style endings to unix-style line endingsmm2011-07-301-6/+6
| | | | | | from last commit (r224523) to match the version approved by re@ Approved by: re (implicit)
* Fix invalid assertion of C++ external static data member declarationsmm2011-07-302-1/+7
| | | | | | | | | | | as anonymous namespaces are local to the current translation. GCC PR: c++/33094 Reviewed by: uqs Approved by: re (kib) Obtained from: gcc (branches/redhat/gcc-4_1-branch, rev. 129554, GPLv2) MFC after: 1 week
* - Fix typo in check_for_nested_with_variably_modified presentuqs2011-07-014-1/+15
| | | | | | | | | | - Implement -Wvariable-decl. - Port -Wtrampolines support from gcc3. (all three also via OpenBSD) PR: gnu/127136, gnu/157019 Submitted by: Henning Petersen, Pedro Giffuni MFC after: 6 weeks
* Fix clang warnings.benl2011-06-184-9/+20
| | | | Approved by: philip (mentor)
* Fix clang warnings.benl2011-05-226-18/+16
| | | | Approved by: philip (mentor)
* Fix clang warnings.benl2011-05-193-15/+15
| | | | Approved by: philip (mentor)
* Fix clang warnings.benl2011-05-181-2/+2
| | | | Approved by: philip (mentor)
* Add ChangeLog.gcc43 for backported changes from gcc 4.3mm2011-04-301-0/+163
| | | | MFC after: 3 days
* Remove libobjc and other Objective-C related components, as these aredim2011-04-1723-12793/+105
| | | | | | extremely outdated, and not used by anything in the base system. Silence from: current@
* Upgrade of base gcc and libstdc++ to the last GPLv2-licensed revisionmm2011-03-2936-56/+667
| | | | | | | | | | | | | | | | | | | (rev. 127959 of gcc-4_2-branch). Resolved GCC bugs: c++: 17763, 29365, 30535, 30917, 31337, 31941, 32108, 32112, 32346, 32898, 32992 debug: 32610, 32914 libstdc++: 33084, 33128 middle-end: 32563 rtl-optimization: 33148 tree-optimization: 25413, 32723 target: 32218 Tested by: pointyhat (miwi) Obtained from: gcc (gcc-4_2-branch up to rev. 127959) PR: gnu/153298, gnu/153959, gnu/154385 MFC after: 1 month
* Backport missing tunings for -march=core2:mm2011-03-171-2/+2
| | | | | | | | | | - enable extra 80387 mathematical constants (ext_80387_constants) [1] - enable compare and exchange 16 bytes (cmpxchg16b) [2] Verified against llvm-gcc (and apple gcc) Obtained from: gcc-4.3 (ref. svn revs. 119260 [1], 121140 [2]; GPLv2) MFC after: 2 weeks
* Fix -march/-mtune=native autodetection for Intel Core 2 CPUsmm2011-03-161-2/+9
| | | | | Obtained from: gcc 4.3 (partial rev. 119454; GPLv2) MFC after: 2 weeks
* Backport SSSE3 instruction set support to base gcc.mm2011-03-1411-20/+1312
| | | | | | | Enabled by default for -march=core2 Obtained from: gcc 4.3 (rev. 117958, 121687, 121726, 123639; GPLv2) MFC after: 2 weeks
* Now that TLS is supported for sparc64 by both binutils 2.17.50 committedmarius2011-03-111-0/+7
| | | | in r218822 and rtld(1) committed in r219533 turn on TLS support in GCC.
* Backport Intel Core 2 and AMD Geode CPU types from gcc-4.3 (GPLv2)mm2011-03-077-48/+361
| | | | | | | | These options are supported in this shape in all newer GCC versions. PR: gnu/155308 Obtained from: gcc 4.3 (rev. 118090, 118973, 120846; GPLv2) MFC after: 2 weeks
* Backport svn r124339 from gcc 4.3 and add opteron-sse3, athlon64-sse3mm2011-02-203-1/+15
| | | | | | | | | | | | | and k8-sse3 cpu-types for -march=/-mtune= gcc options. These new cpu-types include the SSE3 instruction set that is supported by all newer AMD Athlon 64 and Opteron processors. All three cpu-types are supported by clang and all gcc versions starting with 4.3 SVN rev 124339 (at that time GPLv2 licensed). PR: gnu/154906 Discussed with: kib, kan, dim Obtained from: gcc 4.3 (r124339, GPLv2 licensed) MFC after: 2 weeks
* Turn off default generation of userland dot symbols on powerpc64 now thatnwhitehorn2011-02-181-1/+8
| | | | | we have a binutils that supports it. Kernel dot symbols remain on to assist DDB.
* Configure gcc to emit .note.GNU-stack for both 32 and 64 bits PowerPC.kib2011-01-144-1/+9
| | | | | | | | | | | Mark gcc-provided asm files as not requiring executable stack. It seems that non-FreeBSD ABIs for powerpc64 claim stack non-executable. Due to this, rs6000_elf_end_indicate_exec_stack() only emit the note for 32 bit target. I decided not to change FreeBSD ABI and patch emit the notes for both variants. Reviewed and tested by: nwhitehorn
* Make gcc emit the .note.GNU-stack section into the assembler files.kib2011-01-071-0/+3
| | | | Reviewed by: kan
* Now that the fix for gcc PR 20218 is applied, and hidden attributesdim2010-11-251-1/+8
| | | | | | | | | | | | | | | actually work, linking of libgcc_s.so.1 on ia64 will fail with: unwind-ia64.So(.text+0x1762): In function `_Unwind_FindEnclosingFunction': : undefined reference to `_Unwind_FindTableEntry' unwind-ia64.So(.text+0x1d82): In function `uw_frame_state_for': : undefined reference to `_Unwind_FindTableEntry' /usr/bin/ld: libgcc_s.so.1: hidden symbol `_Unwind_FindTableEntry' isn't defined Repair this by not hiding the _Unwind_FindTableEntry symbol; on FreeBSD, it is in libc, not in libgcc. Silence from: current@
* Apply backported fix for gcc PR 20218. This makes __attribute__dim2010-11-257-111/+66
| | | | | | | ((visibility ("hidden"))) work properly, and fixes building devel/glib20 with newer binutils. Silence from: current@
* Check for NULL link registers as found in initial stack frames when doingnwhitehorn2010-09-261-6/+5
| | | | | | | stack unwinding, instead of naively trying to check the instruction at that location. This fixes signal handling in threaded applications after recent changes regarding unwinding in libthr. While here, clean up our MD_FROB_UPDATE_CONTEXT() implementation a little.
* Mark __DTOR_LIST__, __EH_FRAME_BEGIN__ and __CTOR_END__ as used to avoidrpaulo2010-08-261-5/+5
| | | | | | segfaults when building with clang. This comes (partly) from the LLVM svn r41105.
* Mark __JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__ as used torpaulo2010-08-261-5/+5
| | | | | | avoid segfaults when building with clang. Permission to backport given by Jan hubicka <jh at suse.cz>.
* Mark the following static variables as __used__ instead of __unused__:rpaulo2010-08-241-6/+6
| | | | | | | | | | | | | | | | | | o force_to_data o __CTOR_LIST__ o __do_global_dtors_aux_fini_array_entry o __frame_dummy_init_array_entry This is necessary because Clang is smart enough to optimize out these variables was they were marked as __unused__ (and they are also static). The end result was programs segfaulting because these symbols weren't present. This follows the upstream revision 159228 and the author of that revision (Jan Hubicka <jh at suse.de>) allowed us to backport this to our GPLv2 GCC. Discussed with: core
* Revert part of r211505. Some of the removed casts are actually safe sorpaulo2010-08-211-16/+16
| | | | | | | | put them back in again. Also, clang only complained about the lvalue cast. Submitted by: Dimitry Andric <dimitry at andric.com> Pointed out: bde
* Remove unneeded casts in inline assembly in contrib/gcc/longlong.h,rpaulo2010-08-191-22/+22
| | | | | | | | | which are apparently "heinous" GNU extensions, so clang can compile this without using the -fheinous-gnu-extensions option. Results in *no* binary change, neither with clang, nor with gcc. Submitted by: Dimitry Andric <dimitry at andric.com>
OpenPOWER on IntegriCloud