summaryrefslogtreecommitdiffstats
path: root/contrib/gcc
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Teach our toolchain how to generate 64-bit PowerPC binaries. This fixesnwhitehorn2010-07-101-7/+175
| | | | | | | | 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
* Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain.jmallett2010-06-0212-23/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Tweak the linker spec a smidge.imp2010-03-051-3/+2
| | | | Correct a typo.
* Add support for o32 (when it isn't the default), n32, n64, and o64 toimp2010-03-051-10/+31
| | | | | | | the linker spec. Provide the ability to have a default ABI that's different than o32 (again, for all 4). Submitted by: C. Jayachandran (JC) with tweaks for o64/o32 by me
* Also define _MIPS_ISA here.imp2010-03-031-4/+20
| | | | Submitted by: jmallet@
* Bring in more built-in defines from NetBSDimp2010-03-021-14/+73
| | | | | | | | | a few #defines from JC. # tested only with o32 at the moment Submitted by: C. Jayachandran (CJ) Obtained from: NetBSD
* Merge r194519 from projects/mips to head by hand:imp2010-01-081-0/+3
| | | | | | r194519 | gonzo | 2009-06-19 17:28:26 -0600 (Fri, 19 Jun 2009) | 3 lines - set -mabicalls and -msoft-float as a default in order to simplify building ports
* Properly support -fPIE by linking PIE binaries with specially-builtkib2009-12-021-4/+4
| | | | | | | | | | | | | | Scrt1.o instead of crt1.o, since the later is built as non-PIC. Separate i386-elf crt1.c into the pure assembler part and C code, supplying all data extracted by assembler stub as explicit parameters [1]. Hide and localize _start1 symbol used as an interface between asm and C code. In collaboration with: kan Inspired by: PR i386/127387 [1] Prodded and tested by: rdivacky [1] MFC after: 3 weeks
* Change gcc to assume a default machine architecture of 486 instead of 386jhb2009-10-211-1/+1
| | | | | | | | | | on "i386". Doing it in the compiler is deemed to be less fragile then attempting to provide a default -march setting via bsd.cpu.mk. FreeBSD itself has not supported plain 386 CPUs since 5.x. Suggested by: kan Requested by: rdivacky MFC after: 1 month
* Output DWARF debug information for global 'using' declarations, insteadbms2009-07-221-1/+1
| | | | | | | | | | | of just blowing up. A very similar change to this exists which is GPLv3 licensed, this is my own change. This problem was triggered by running the Boost regression tests. See also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31899 Reviewed by: luigi Approved by: re (kib)
* Second attempt at eliminating .text relocations in shared librarieskan2009-07-141-0/+1
| | | | | | | | | | | | | | compiled with stack protector. 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 every time given shared library is being relocated and making affected text pages non-shareable. Reviewed by: kib Approved by: re (kib)
* Merge an important change that I mistakenly left out when merging C99das2009-03-251-1/+3
| | | | | | | inline function support. This should fix instances where gcc spuriously reports the following error: error: nested function 'foo' declared but never defined
* Make gcc use C99 inline semantics in c99 and gnu99 mode. This was thedas2009-03-146-139/+212
| | | | | | | | | | | | | | | | | | | | | original intent, but the functionality wasn't implemented until after gcc 4.2 was released. However, if you compiled a program that would behave differently before and after this change, gcc 4.2 would have warned you; hence, everything currently in the base system is unaffected by this change. This patch also adds additional warnings about certain inline function-related bogosity, e.g., using a static non-const local variable in an inline function. These changes were merged from a snapshot of gcc mainline from March 2007, prior to the GPLv3 switch. I then ran the regression test suite from a more recent gcc snapshot and fixed the important bugs it found. I also squelched the following warning unless -pedantic is specified: foo is static but used in inline function bar which is not static This is consistent with LLVM's behavior, but not consistent with gcc 4.3. Reviewed by: arch@
* If arm.h is going to define WCHAR_TYPE, don't assume WCHAR_TYPE_SIZEobrien2008-09-101-1/+1
| | | | | | doesn't already have a definition. Reported by: imp
* We're not quite ready for the full %(endian_spec).obrien2008-09-011-1/+3
|
* Add __unix__. Tweak __KPRINTF_ATTRIBUTE__ while I'm here.obrien2008-09-011-1/+2
|
* Add FreeBSD/MIPS support to GCC.obrien2008-09-013-1/+258
|
* Turn cc_tools/Makefile and Makefile.tgt into a "linear" read. Sharedobrien2008-08-311-1/+1
| | | | | parts of the configuration aren't duplicated, and arch-specific exceptions are made "in-place". Also clean up the FreeBSD/amd64 config a little.
* Doc updates for changes in the default values ofdas2008-08-101-2/+3
| | | | -ffancy-math-387 and -mmath-errno.
* Make -fno-math-errno the default. Our libm doesn't support the SysVdas2008-08-101-1/+1
| | | | | | mistake of setting errno, and never has. This will need to be fixed upstream in a more generic way, but the changes are somewhat more involved.
* Make -mfancy-math-387 the default on FreeBSD, as it is on most otherdas2008-08-101-5/+0
| | | | | | | operating systems. Previously, gcc would inhibit the generation of fsqrt, fsin, and several other floating point instructions, for the benefit of the old in-kernel math emulator, which was removed over 5 years ago.
* White space fixes.obrien2008-06-281-8/+8
|
* Reduce diff to vendor.obrien2008-06-281-1/+1
|
* This commit was generated by cvs2svn to compensate for changes in r178388,marius2008-04-211-4/+7
|\ | | | | | | which included commits to RCS files with non-trunk default branches.
| * * gthr-posix.h (__gthread_active_p): Use the Solaris implementationmarius2008-04-211-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | for FreeBSD as well. This is the fix for __gthread_active_p() returning false positives which was committed as rev. 1.1.1.8.2.1 to RELENG_7 but now looped back to the vendor branch via the GCC repository and relicensed to be GPLv2 by me. Thanks go to gerald@ for getting the fix approved upstream and for committing to the GCC repository. PR: 119289 Approved by: core
* | This commit was generated by cvs2svn to compensate for changes in r174531,obrien2007-12-111-0/+3
|\ \ | |/ | | | | which included commits to RCS files with non-trunk default branches.
| * Do not fold -C*ABS<n> to ABS<-C*n> (i.e., do not move negative constantsobrien2007-12-111-0/+3
| | | | | | | | | | | | inside ABS expression). Obtained from: Richard Guenther <rguenther@suse.de> Approved by: core
* | Allow the targeted CPU type to be set via -mcpu instead ofmarius2007-12-091-5/+7
| | | | | | | | | | | | | | limiting to the hardcoded equivalent of -mcpu=ultrasparc. PR: 109510 MFC after: 3 months
OpenPOWER on IntegriCloud