Commit Graph

820 Commits

Author SHA1 Message Date
Martin Matuska
c031e7949e Backport SSSE3 instruction set support to base gcc.
Enabled by default for -march=core2

Obtained from:	gcc 4.3 (rev. 117958, 121687, 121726, 123639; GPLv2)
MFC after:	2 weeks
2011-03-14 13:31:34 +00:00
Marius Strobl
d6582233c1 Now that TLS is supported for sparc64 by both binutils 2.17.50 committed
in r218822 and rtld(1) committed in r219533 turn on TLS support in GCC.
2011-03-11 21:24:02 +00:00
Martin Matuska
91b1eb9429 Backport Intel Core 2 and AMD Geode CPU types from gcc-4.3 (GPLv2)
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
2011-03-07 14:48:22 +00:00
Martin Matuska
c33f0aaf60 Backport svn r124339 from gcc 4.3 and add opteron-sse3, athlon64-sse3
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
2011-02-20 22:25:23 +00:00
Nathan Whitehorn
79c77d726e Turn off default generation of userland dot symbols on powerpc64 now that
we have a binutils that supports it. Kernel dot symbols remain on to assist
DDB.
2011-02-18 21:44:53 +00:00
Konstantin Belousov
e2e30ff971 Configure gcc to emit .note.GNU-stack for both 32 and 64 bits PowerPC.
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
2011-01-14 11:31:22 +00:00
Konstantin Belousov
e81361ede0 Make gcc emit the .note.GNU-stack section into the assembler files.
Reviewed by:	kan
2011-01-07 14:24:24 +00:00
Dimitry Andric
d8f878a1c5 Now that the fix for gcc PR 20218 is applied, and hidden attributes
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@
2010-11-25 20:35:49 +00:00
Dimitry Andric
0e1c5cba52 Apply backported fix for gcc PR 20218. This makes __attribute__
((visibility ("hidden"))) work properly, and fixes building devel/glib20
with newer binutils.

Silence from:	current@
2010-11-25 20:29:14 +00:00
Nathan Whitehorn
a9f035fdd9 Check for NULL link registers as found in initial stack frames when doing
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.
2010-09-26 14:20:09 +00:00
Rui Paulo
ed5d030788 Mark __DTOR_LIST__, __EH_FRAME_BEGIN__ and __CTOR_END__ as used to avoid
segfaults when building with clang.

This comes (partly) from the LLVM svn r41105.
2010-08-26 13:04:16 +00:00
Rui Paulo
30ca19f436 Mark __JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__ as used to
avoid segfaults when building with clang.

Permission to backport given by Jan hubicka <jh at suse.cz>.
2010-08-26 13:00:29 +00:00
Rui Paulo
0c898ccd30 Mark the following static variables as __used__ instead of __unused__:
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
2010-08-24 00:23:40 +00:00
Rui Paulo
28be8b2ba9 Revert part of r211505. Some of the removed casts are actually safe so
put them back in again. Also, clang only complained about the lvalue
cast.

Submitted by:	Dimitry Andric <dimitry at andric.com>
Pointed out:	bde
2010-08-21 10:31:26 +00:00
Rui Paulo
aeba5ab26b Remove unneeded casts in inline assembly in contrib/gcc/longlong.h,
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>
2010-08-19 12:59:57 +00:00
Nathan Whitehorn
2cf64c8006 Teach our toolchain how to generate 64-bit PowerPC binaries. This fixes
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
2010-07-10 02:29:22 +00:00
Juli Mallett
5619a3e4bf Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain.
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
2010-06-02 11:06:03 +00:00
Warner Losh
b2be35012a Tweak the linker spec a smidge.
Correct a typo.
2010-03-05 21:25:20 +00:00
Warner Losh
63f3798125 Add support for o32 (when it isn't the default), n32, n64, and o64 to
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
2010-03-05 16:56:08 +00:00
Warner Losh
fa8ce1239c Also define _MIPS_ISA here.
Submitted by:	jmallet@
2010-03-03 02:44:20 +00:00
Warner Losh
24179b0140 Bring in more built-in defines from NetBSD
a few #defines from JC.

# tested only with o32 at the moment

Submitted by:	C. Jayachandran (CJ)
Obtained from:	NetBSD
2010-03-02 05:59:14 +00:00
Warner Losh
168194c97f Merge r194519 from projects/mips to head by hand:
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
2010-01-08 23:37:30 +00:00
Konstantin Belousov
c09ba32715 Properly support -fPIE by linking PIE binaries with specially-built
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
2009-12-02 16:34:20 +00:00
John Baldwin
22239c9dc4 Change gcc to assume a default machine architecture of 486 instead of 386
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
2009-10-21 19:26:12 +00:00
Bruce M Simpson
f667763060 Output DWARF debug information for global 'using' declarations, instead
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)
2009-07-22 01:07:11 +00:00
Alexander Kabaev
2286fe7635 Second attempt at eliminating .text relocations in shared libraries
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)
2009-07-14 21:19:13 +00:00
David Schultz
e4c3a7fc88 Merge an important change that I mistakenly left out when merging C99
inline function support. This should fix instances where gcc
spuriously reports the following error:

    error: nested function 'foo' declared but never defined
2009-03-25 05:10:32 +00:00
David Schultz
d5ed956300 Make gcc use C99 inline semantics in c99 and gnu99 mode. This was the
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@
2009-03-14 19:36:13 +00:00
David E. O'Brien
5a33926c5b If arm.h is going to define WCHAR_TYPE, don't assume WCHAR_TYPE_SIZE
doesn't already have a definition.

Reported by:	imp
2008-09-10 15:47:31 +00:00
David E. O'Brien
0b4f8552dd We're not quite ready for the full %(endian_spec). 2008-09-01 23:09:45 +00:00
David E. O'Brien
1b34d5982b Add __unix__. Tweak __KPRINTF_ATTRIBUTE__ while I'm here. 2008-09-01 22:22:44 +00:00
David E. O'Brien
4bdc01a9f9 Add FreeBSD/MIPS support to GCC. 2008-09-01 18:46:03 +00:00
David E. O'Brien
9dec52bfb2 Turn cc_tools/Makefile and Makefile.tgt into a "linear" read. Shared
parts of the configuration aren't duplicated, and arch-specific exceptions
are made "in-place".  Also clean up the FreeBSD/amd64 config a little.
2008-08-31 23:38:28 +00:00
David Schultz
7a9e0a96e0 Doc updates for changes in the default values of
-ffancy-math-387 and -mmath-errno.
2008-08-10 19:35:09 +00:00
David Schultz
7a5b5fae94 Make -fno-math-errno the default. Our libm doesn't support the SysV
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.
2008-08-10 19:33:35 +00:00
David Schultz
1b93600c85 Make -mfancy-math-387 the default on FreeBSD, as it is on most other
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.
2008-08-10 19:02:57 +00:00
David E. O'Brien
b370e2cfea White space fixes. 2008-06-28 15:28:17 +00:00
David E. O'Brien
c4a2958381 Reduce diff to vendor. 2008-06-28 15:17:02 +00:00
Peter Wemm
497e80a371 Reorganize the gcc vendor import work area. This flattens out a bunch
of unnecessary path components that are relics of cvs2svn.

(These are directory moves)
2008-06-01 00:03:21 +00:00
Marius Strobl
7125e147b2 * gthr-posix.h (__gthread_active_p): Use the Solaris implementation
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
2008-04-21 20:40:42 +00:00
Marius Strobl
ae8e775b82 This commit was generated by cvs2svn to compensate for changes in r178388,
which included commits to RCS files with non-trunk default branches.
2008-04-21 20:40:42 +00:00
David E. O'Brien
c817ff638d Do not fold -C*ABS<n> to ABS<-C*n> (i.e., do not move negative constants
inside ABS expression).
Obtained from:	Richard Guenther <rguenther@suse.de>
Approved by:	core
2007-12-11 03:35:39 +00:00
David E. O'Brien
c5ace62e4e This commit was generated by cvs2svn to compensate for changes in r174531,
which included commits to RCS files with non-trunk default branches.
2007-12-11 03:35:39 +00:00
Marius Strobl
3df889c865 Allow the targeted CPU type to be set via -mcpu instead of
limiting to the hardcoded equivalent of -mcpu=ultrasparc.

PR:		109510
MFC after:	3 months
2007-12-09 17:41:47 +00:00
David E. O'Brien
efd1233d59 Do not imply -ftree-vrp with -O2 and above. One must implicitly specify
'-ftree-vrp' if one wants it.
Some bad code generation has been tracked to -ftree-vrp.  jdk1{5,6} are
notable examples.

Approved by:	re(kensmith)
2007-10-02 20:06:14 +00:00
Alexander Kabaev
4da6937165 Update locally changed files to GCC 4.2.1.
Approved by: re (kensmith)
2007-08-14 03:04:42 +00:00
Alexander Kabaev
89ec829aba Merge files that are no longer carry FreeBSD local changes.
Approved by:	re (kensmith)
2007-08-14 03:02:26 +00:00
Alexander Kabaev
23baddbde1 GCC 4.2.1 release. 2007-08-14 02:45:23 +00:00
Alexander Kabaev
997921685c This commit was generated by cvs2svn to compensate for changes in r171825,
which included commits to RCS files with non-trunk default branches.
2007-08-14 02:45:23 +00:00
Alexander Kabaev
7a6bf861d6 Disable shared libgcc use for profiled builds. GNU linker pulls symbols
out of libgcc_s.so.1 somehow and fails to record DT_NEEED dependency
when linking with profiled libraries despite --ld-as-needed option.
2007-05-28 23:02:56 +00:00
Olivier Houchard
67de64dde8 FreeBSD expects VFP, so use that as the default FPU.
Reviewed by:	kan
2007-05-21 08:38:42 +00:00
Alexander Kabaev
f1d9718c03 Cosmetics: remove extra space from GCC version string. 2007-05-19 06:37:32 +00:00
Alexander Kabaev
fe32ca9af4 Merge arm-freebsd.h.diff directly into the target file. Maintaining
separate patch is much more painful than taking this file off the
vendor branch.
2007-05-19 03:11:26 +00:00
Alexander Kabaev
23400e5a44 Add FMT_FLAG_NULL_FORMAT_OK flag. 2007-05-19 03:09:31 +00:00
Alexander Kabaev
888346df5f Remove files that are no more part of GCC distribution from FSF branch. 2007-05-19 02:42:17 +00:00
Alexander Kabaev
ef444676f3 This commit was generated by cvs2svn to compensate for changes in r169708,
which included commits to RCS files with non-trunk default branches.
2007-05-19 02:42:17 +00:00
Alexander Kabaev
8902467bb7 Remove files that are not part of GCC distribution anymore. 2007-05-19 02:34:18 +00:00
Alexander Kabaev
096b39c236 Update configuration files for GCC 4.2. 2007-05-19 02:30:20 +00:00
Alexander Kabaev
0d6df2bb56 Merge local FreeBSD changes for -mno-align-long-strings. 2007-05-19 02:26:26 +00:00
Alexander Kabaev
be54bacbaf Merge local FreeBSD changes. 2007-05-19 02:23:49 +00:00
Alexander Kabaev
2bc5055037 In FreeBSD -O0 -O1 optimize alignment for time, not size. 2007-05-19 02:22:16 +00:00
Alexander Kabaev
f48faea4fa Merge local changes for -mprofiler-epilogue support. 2007-05-19 02:18:38 +00:00
Alexander Kabaev
2f68bca35b Merge local FreeBSD changes to support -fformat-extensions. 2007-05-19 02:16:45 +00:00
Alexander Kabaev
e2f01f3f63 Add FreeBSD suffix to GCC version string. 2007-05-19 02:14:13 +00:00
Alexander Kabaev
9d6b9560a8 FreeBSD uses unchanged versions of this files. 2007-05-19 02:12:21 +00:00
Alexander Kabaev
6b834ef156 GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
Alexander Kabaev
533952614f This commit was generated by cvs2svn to compensate for changes in r169689,
which included commits to RCS files with non-trunk default branches.
2007-05-19 01:19:51 +00:00
Bruce Evans
11e27303d3 Fixed -mprofiler-epilogue. The garbage collector apparently doesn't
understand that non-local variables can never be collected, and when
it collected the static variable for mexitcount_libfunc, gcc aborted
on the next use of this variable.

This quick fix is to reinitialize the variable on every use and depend
on garbage collection recovering the small amount of memory wasted by
this, and not worry by the small amount of time wasted by this.  It
would be better to initialize the variable together with most of the
other libfuncs in optabs.c and depend on whatever magic is there to
prevent its collection, but we initialize it here to avoid taking at
least 2 more files off the vendor branch.
2006-10-25 07:29:22 +00:00
Ruslan Ermilov
f981f1923b Removed these from HEAD as well. 2006-09-21 07:55:28 +00:00
Ruslan Ermilov
89de143f92 These files live in the doc/ subdir in later releases of GCC. 2006-09-21 07:54:02 +00:00
Ruslan Ermilov
5bb8cebbb4 This commit was generated by cvs2svn to compensate for changes in r162512,
which included commits to RCS files with non-trunk default branches.
2006-09-21 07:54:02 +00:00
Ruslan Ermilov
932b1e2fe8 Updated manpages for 3.4.6 release.
OK'ed by:	kan
Obtained from:	gcc-3.4.6.tar.bz2
2006-09-21 07:45:37 +00:00
Ruslan Ermilov
83cc3b492f This commit was generated by cvs2svn to compensate for changes in r162509,
which included commits to RCS files with non-trunk default branches.
2006-09-21 07:45:37 +00:00
Alexander Kabaev
f2d5255ddd Resolve conflicts after GCC 3.4.6 20060825 import. 2006-08-26 21:37:21 +00:00
Alexander Kabaev
e35cf0a56c Gcc 3.4.6 as of 2006/08/25 #116475. 2006-08-26 21:29:10 +00:00
Alexander Kabaev
35cc3dc5ba This commit was generated by cvs2svn to compensate for changes in r161651,
which included commits to RCS files with non-trunk default branches.
2006-08-26 21:29:10 +00:00
David E. O'Brien
a1cfcf9970 Locate __FreeBSD_cc_version's value beside __FreeBSD__'s value to make it
easier to keep them in sync.
2005-10-30 19:04:47 +00:00
David E. O'Brien
67ae096798 Catch up with FreeBSD 7. 2005-10-29 09:13:31 +00:00
Craig Rodrigues
5dbed42856 Submitted following patch to FSF GCC:
* freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS):
	  Use builtin_define_with_int_value() instead of
	  adding a new check for every new major FreeBSD version.

Motivated by:	simon
Discussed with:	obrien, kan
2005-10-27 23:57:55 +00:00
David E. O'Brien
d109621656 Fix bug where static forward declarations weren't accepted.
This allows us to fix non-ISO-C constructs in our kernel to legal ISO-C.

Submitted by:	rodrigc
Obtained from:	http://gcc.gnu.org/ml/gcc-patches/2005-09/msg00006.html
2005-09-07 09:23:39 +00:00
David E. O'Brien
8d85d711c3 Fix bug where GCC thought athlon-tbird had SSE support. 2005-07-19 21:53:22 +00:00
Scott Long
98e104cbc9 Patch the freebsd spec file for PowerPC so that PIC code builds correctly.
This allows FreeBSD/PPC to build and run out of stock CVS sources.  This
also takes the file off of the vendor branch.

Submitted by: kan, grehan
Approved by: re, kan
2005-07-07 21:40:37 +00:00
Alexander Kabaev
b297022008 Enable handling of MS-compatible packing push and pop pragmas. This change was
inadvertedly left out of the last import.
2005-06-03 17:35:13 +00:00
Alexander Kabaev
441d901f19 Fix a typo from previos commit. 2005-06-03 05:58:56 +00:00
Alexander Kabaev
65bbb3030a Catch up with changes in BDX_OUTPUT_[LR]BRAC callers. 2005-06-03 04:19:23 +00:00
Alexander Kabaev
c3cbf7fdb9 Merge conflicts for GCC 3.4.4. 2005-06-03 04:02:20 +00:00
Alexander Kabaev
d14a001770 Localize GCC version string for FreeBSD. 2005-06-03 03:52:25 +00:00
Alexander Kabaev
31a119f3ed Stock files. 2005-06-03 03:50:42 +00:00
Alexander Kabaev
d51085f37e Gcc 3.4.4 release. 2005-06-03 03:28:44 +00:00
Alexander Kabaev
4101e78861 This commit was generated by cvs2svn to compensate for changes in r146895,
which included commits to RCS files with non-trunk default branches.
2005-06-03 03:28:44 +00:00
David E. O'Brien
337c1d7b9b Break lines at sentence ends, etc... 2004-11-11 07:50:09 +00:00
David E. O'Brien
fb89b41ce4 Don't attempt to claim what version of GCC we're documenting. The manpage
is still mostly the GCC 2.95 one, with faint attempts by me over the years
to document a few new switches.  Thus, it is dubious to claim documentation
of specific modern GCC versions.

Noted by:	delphij
2004-11-11 07:45:01 +00:00
Alexander Kabaev
1689e31de6 Import a patch from GCC PR c/16999 to stop quoting already quoted ident
strings.
2004-10-15 03:22:13 +00:00
Alexander Kabaev
f75a5631b8 This commit was generated by cvs2svn to compensate for changes in r136527,
which included commits to RCS files with non-trunk default branches.
2004-10-15 03:22:13 +00:00
David E. O'Brien
b4e8286b3b Enter the long awaited start of FreeBSD 6.0! 2004-08-21 03:58:39 +00:00
Alexander Kabaev
292f200484 Remove files that are not part of GCC 3.4.x from the vendor branch. 2004-08-12 16:41:42 +00:00
Alexander Kabaev
6d3e93598f This commit was generated by cvs2svn to compensate for changes in r133582,
which included commits to RCS files with non-trunk default branches.
2004-08-12 16:41:42 +00:00
Alexander Kabaev
025ee8b5ee Import one more file for Gcc 3.4.2 20040728. 2004-08-12 02:21:58 +00:00
Alexander Kabaev
db20bc12fe This commit was generated by cvs2svn to compensate for changes in r133534,
which included commits to RCS files with non-trunk default branches.
2004-08-12 02:21:58 +00:00
Alexander Kabaev
dfa9c64b20 Remove obsolete ASM_FINAL_SPEC definition.
Reported by:	green
2004-07-29 21:49:34 +00:00
Alexander Kabaev
e4d548aae3 Allow GCC to recognize -fformat-extensions flag. 2004-07-29 02:04:58 +00:00
Alexander Kabaev
e46f2ea2ce Merge rev. 1.2 (allow profiling of FORTRAN77 programs) info
GCC 3.4.3-prerelease sources.
2004-07-28 05:08:31 +00:00
Alexander Kabaev
10e9ba0b8b Merge FreeBSD changes into GCC 3.4.2-prerelease:
1.2   Printf format errors fixes.
2004-07-28 05:06:59 +00:00
Alexander Kabaev
110ff012a5 Use stock version of this file now. 2004-07-28 05:03:19 +00:00
Alexander Kabaev
eba800a0ec Update sparc64 MD bits to GCC 3.4.2-prerelease. 2004-07-28 05:00:13 +00:00
Alexander Kabaev
b76a1e10e7 Merge FreeBSD changes into GCC 3.4.2-prerelease:
1.2   Tweaks to make this file live beside our hacked config.
2004-07-28 04:56:54 +00:00
Alexander Kabaev
85336dcfdf Merge r1.10 (-mno-align-long-strings) and r1.11 (make LONG_TYPE_SIZE
overridable from the command line).
2004-07-28 04:49:58 +00:00
Alexander Kabaev
c4471ac9b4 Merge r1.11 (-mno-align-long-strings). 2004-07-28 04:47:35 +00:00
Alexander Kabaev
025f702c81 Update Amd64 MD bits for GCC 3.4.2-prerelease. 2004-07-28 04:44:23 +00:00
Alexander Kabaev
fed81232e9 Update i386 MD bits for GCC 3.4.2-prerelease. 2004-07-28 04:41:42 +00:00
Alexander Kabaev
cd778f4053 Update Alpha config MD bits for GCC 3.4.2-prerelease. 2004-07-28 04:39:15 +00:00
Alexander Kabaev
7217bc1ccb Merge FreeBSD modifications into gcc 3.4.2-prerelease:
1.8 Change symbol values to match freebsd.h.
2004-07-28 04:35:51 +00:00
Alexander Kabaev
9e7f3a944a Update MI config bits for GCC 3.4.2-prerelease. 2004-07-28 04:34:05 +00:00
Alexander Kabaev
4fc9ee4449 Update for GCC 3.4.2. Bump __FreeBSD_cc_version_ and use correct ELF
interpreter on FreeBSD 5.x series.
2004-07-28 04:31:47 +00:00
Alexander Kabaev
6a664e83d1 Merge FreeBSD modifications into gcc 3.4.2-prerelease:
1.2   Localize the version string.
2004-07-28 04:27:06 +00:00
Alexander Kabaev
c123cd5f1d -O0 -O1 should optimize alignment for time, not size. Moved from toplev.c. 2004-07-28 04:23:38 +00:00
Alexander Kabaev
d483803cd9 Merge FreeBSD modifications into gcc 3.4.2-prelelease:
1.2  -fformat-extensions.

Remove r1.7 (FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha) as obsolete.
Move r1.14 (-O0 -O1 optimize alignment for time, not size) to opts.c.
2004-07-28 04:20:36 +00:00
Alexander Kabaev
4babd86df3 Merge FreeBSD modifications into gcc 3.4.2-prerelease:
1.{2,15}      FREEBSD_NATIVE.
  1.21          "GCC_OPTIONS".
  1.{16,25,27}  Cross-compiling issues.
  1.38		Correct priority for GCC_EXEC_PREFIX.
2004-07-28 04:05:09 +00:00
Alexander Kabaev
8e87f3b2bd Merge FreeBSD changes into GCC 3.4.2-prerelease.
1.19	Fix -mprofiler-epilogue on i386.
2004-07-28 04:01:01 +00:00
Alexander Kabaev
38f88cafa3 Merge FreeBSD modifications into gcc 3.4.2-prerelease:
1.2 -fformat-extensions.
  1.3 -printf0
  1.6 teach GCC about %y for DDB.
2004-07-28 03:57:21 +00:00
Alexander Kabaev
7073af4071 Use stock version of this file.
Revision 1.3 to suppress warnings on K&R main is not useful anymore
since GCC suppresses such warnings unconditionally now.
2004-07-28 03:53:20 +00:00
Alexander Kabaev
42eb4c1088 Merge FreeBSD modifications into gcc 3.4.2-prerelease:
1.2   framework for our kernel printf enhancements.
  1.3   suppress prototype warnings on K&R main.

Both flag variables declared here were disconnected through the 5-current
lifetime and are retained here for backwards compatibility reasons only.
2004-07-28 03:46:02 +00:00
Alexander Kabaev
48b98bbb98 Merge FreeBSD changes into GCC 3.4.2-prerelease.
r1.18: Move FreeBSD specific flag variables from c-decl.c here.
2004-07-28 03:40:54 +00:00
Alexander Kabaev
f246de45e2 Use stock GCC versions on these files. 2004-07-28 03:36:15 +00:00
Alexander Kabaev
9a63ad9273 Gcc 3.4.2 20040728. 2004-07-28 03:11:36 +00:00
Alexander Kabaev
4609cf73ba This commit was generated by cvs2svn to compensate for changes in r132718,
which included commits to RCS files with non-trunk default branches.
2004-07-28 03:11:36 +00:00
David E. O'Brien
255eea9a74 Grrr. our rev 1.19 (FSF GCC rev 1.579) is causing some problems on 32-bit
systems.  So only use the rev 1.19 (FSF GCC rev 1.579) change on 64-bit
systems.
2004-06-19 20:40:00 +00:00
David E. O'Brien
a3bfe8fd89 Merge FSF GCC rev 1.579 change ((x86_output_mi_thunk): Don't pass MEM to
%P0, just SYMBOL_REF) into GCC 3.3.3.  This fixes the bad C++ thunks code
generation building Firefox on AMD64.

Submitted by:	Sean McNeil <sean@mcneil.com>
2004-06-19 07:29:04 +00:00
Andrey A. Chernov
518818386c Remove unneeded files 2004-02-17 03:22:35 +00:00
Daniel Eischen
f24e6a4f39 Make gcc -pthread link to -lpthread instead of -lc_r. 2004-01-30 12:14:19 +00:00
Bruce Evans
a36805bd93 Quick fix for breakage of non-i386 arches in previous commit. Only
use TARGET_PROFILER_EPILOGUE if it is defined.
2004-01-06 10:38:48 +00:00
Alexander Kabaev
973e839bed Fix -mprofiler-epilogue on i386. This should be extended to other
architectures in future.

Submitted by:	bde
2004-01-05 22:23:27 +00:00
Alexander Kabaev
0fb0a43f46 Remove files not part of GCC 3.3.x. 2004-01-05 20:27:51 +00:00
Alexander Kabaev
8412b382ed This commit was generated by cvs2svn to compensate for changes in r124151,
which included commits to RCS files with non-trunk default branches.
2004-01-05 20:27:51 +00:00
Alexander Kabaev
6c9999e01d Fix ASM_OUTPUT_LABELREF to deal with TSL model prefixes GCC
started to use internally. They need to be stripped before
the name of the label or symbol is printed.
2003-12-22 04:27:17 +00:00
David E. O'Brien
2572485481 One might want to correctly generate 32-bit code on an Opteron.
Submitted by:	peter
2003-12-16 05:40:06 +00:00
David E. O'Brien
6778cdfd3f Consistently define __LP64__ on all our 64-bit platforms. 2003-12-15 10:34:01 +00:00
Alexander Kabaev
57ec9907bc Use correct priority parameter value in add_prefix from corresponding
enum instead of passing literal 0. This fixes gcc invocations with
GCC_EXEC_PREFIX environment set.

Submitted By:	Geoff Morrison
PR:		gnu/53476
2003-11-13 22:40:05 +00:00
Daniel Eischen
cd902b7719 Remove a comment stating that -pthread isn't supported. 2003-11-10 18:52:57 +00:00
Alexander Kabaev
148e0bd79e Drop r1.6 (warn_system_heders by default). Use stock version of
the file from now on.
2003-11-07 03:30:31 +00:00
Alexander Kabaev
4ff5474ba8 Merge revs 1.2 (-fformat-extensions), 1.7 (FORCE_OPTIMIZATION_DOWNGRADE knob),
1.14 (-O/-O1 optimize alignment for time, not size).

Back out r1.22 which used to enable warnings in system headers by
default.
2003-11-07 03:27:32 +00:00
Alexander Kabaev
b4b53e1576 Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.21 ("GCC_OPTIONS"); 1.{16,25,27}
(cross compiling issues).
2003-11-07 03:23:43 +00:00
Alexander Kabaev
0ebd98fb58 Merge r1.3 (suppress warnings on K&R main). 2003-11-07 03:21:29 +00:00
Alexander Kabaev
78bcdb61f6 New GCC version. 2003-11-07 03:19:35 +00:00
Alexander Kabaev
7c755eb0ac Merge r1.11 (-mno-align-long-strings). 2003-11-07 03:17:46 +00:00
Alexander Kabaev
e52bc8a3d6 Merge r1.10 (-mno-align-long-strings) and r1.11 (make LONG_TYPE_SIZE
overridable from the command line).
2003-11-07 03:16:22 +00:00
Alexander Kabaev
31cc83e1e5 Merge r1.8 (printf format error fixes). 2003-11-07 03:13:51 +00:00
Alexander Kabaev
e9c9d25f92 Drop the revision 1.2 (don't let gcc(1) hide warnings in system headers)
and use stock version of this file now.
2003-11-07 03:09:40 +00:00
Alexander Kabaev
3697be5590 No FreeBSD-local changes in these files. 2003-11-07 03:05:29 +00:00
Alexander Kabaev
ea875f6efe Gcc 3.3.3 20031106. 2003-11-07 02:43:04 +00:00
Alexander Kabaev
26b1f5924a This commit was generated by cvs2svn to compensate for changes in r122180,
which included commits to RCS files with non-trunk default branches.
2003-11-07 02:43:04 +00:00
Daniel Eischen
0fa21a585c The ports freeze may take longer than anticipated. Instead of
waiting for it to be delayed, temporarily back out the -pthread
removal until the freeze is lifted.

Freeze possibly taking longer than necessary:	will
Requested by:	kris
2003-09-21 07:59:16 +00:00
David E. O'Brien
b62fd55fde Bump __FreeBSD_cc_version for (1) 5.1 (post-mortem) (2) -pthread changes. 2003-09-12 19:19:10 +00:00
Daniel Eischen
7231b5a661 Remove the -pthread option (in FreeBSD versions 500016 and greater) as
threatened over 2 years ago.

Why?  -pthread was a hack to prevent linking to both libc and libc_r
and became unecessary when libc_r became free of libc.  Now that we
have multiple thread libraries from which to choose, it is more confusing
because you can't link to more than one threads library at a time.
Things like autoconf and libtool sometimes detect -pthread and
also -lc_r, and in conjunction with ports usage of ${PTHREAD_LIBS},
really wacky things ensue when PTHREAD_LIBS is set to another
threads library.  This might not be so bad if the build broke
when this happens, but it doesn't and you don't know it until
funny things happen when you run the application (or use an
affected library).

Reviewed by:    obrien
2003-09-03 15:44:34 +00:00
Daniel Eischen
ee6e0476d2 Backout rev 1.10.
Requested by:	obrien
2003-09-01 05:31:33 +00:00
Daniel Eischen
d489dec95c Remove -pthread as a compiler option. It was deprecated 2.5 years
ago, but not removed.

No reply from:	threads, kan, obrien
2003-08-31 22:38:52 +00:00
David E. O'Brien
1bbeaa6437 Reformat FBSD_{START,END}FILE_SPEC to FSF coding standards.
Use these in our i386, amd64, and alpha platforms.
2003-08-24 16:56:31 +00:00
Alexander Kabaev
b82f80cdc5 Enable warn_system_heders by default. 2003-08-22 03:31:54 +00:00
Alexander Kabaev
7a4310c825 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2   don't let gcc(1) hide warnings in system headers.

Don't disable warning suppression unconditionally, but rather
make in dependent on warn_system_headers flag, one should be
able to use -Wno-system-headers flag if warnings from system
headers are not desired.
2003-08-22 03:26:30 +00:00
Alexander Kabaev
6ff1e7b00d Merge FreeBSD modifications into gcc 3.3.1-release:
1.8   printf format error fixes.
2003-08-22 03:18:02 +00:00
Alexander Kabaev
d3a52ac3e0 Merge FreeBSD modifications into gcc 3.3.1-release:
1.2   Localize the version string.
2003-08-22 03:16:37 +00:00
Alexander Kabaev
63cde6278d Merge FreeBSD modifications into gcc 3.3.1-release:
1.3 suppress warnings on K&R main.
2003-08-22 03:14:37 +00:00
Alexander Kabaev
5f020c09b4 Merge FreeBSD modifications into gcc 3.3.1-release:
1.2  -fformat-extensions.
  1.7  FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha.
  1.14 -O0 -O1 optimize alignment for time, not size.
2003-08-22 03:13:20 +00:00
Alexander Kabaev
d586a2745c Stock files. 2003-08-22 03:10:47 +00:00
Alexander Kabaev
50ebf00d84 Gcc 3.3.1-release. 2003-08-22 02:56:07 +00:00
Alexander Kabaev
eae42ca5bc This commit was generated by cvs2svn to compensate for changes in r119256,
which included commits to RCS files with non-trunk default branches.
2003-08-22 02:56:07 +00:00
Gordon Tetlow
29bd4869a1 Tell the toolchain to look for rtld in /libexec instead of /usr/libexec. 2003-08-17 08:17:44 +00:00
David E. O'Brien
fda6f0c4a1 This file became OBE when we went to GCC 3. 2003-07-17 17:15:22 +00:00
Alexander Kabaev
e329c5e19f Do not override FP rounding options for 32bit platforms. amd64 doesn't
need this.
2003-07-12 19:33:34 +00:00
Alexander Kabaev
46b370ef71 Merge FreeBSD changes into GCC 3.3.1-prerelease.
Move FreeBSD specific flag variables from c-decl.c here.
2003-07-11 06:00:50 +00:00
Alexander Kabaev
22bf82941c Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2 -fformat-extensions.
  1.3 -printf0
  1.6 teach GCC about %y for DDB.
2003-07-11 05:12:46 +00:00
Alexander Kabaev
fff64a6e53 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.3 suppress warnings on K&R main.

  Rev. 1.2 (options for kernel printf enhancements) changes have been
  moved to another
2003-07-11 05:11:14 +00:00
Alexander Kabaev
06432e3a6a Update for GCC 3.3.1-prerelease. 2003-07-11 05:09:19 +00:00
Alexander Kabaev
bec4705400 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.8 Change symbol values to match freebsd.h.
2003-07-11 05:05:45 +00:00
Alexander Kabaev
e815c3de60 Update for 3.3.1-prerelease. 2003-07-11 05:03:47 +00:00
Alexander Kabaev
aaa8c4b302 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.4 Look into right directory when linking 32-bit binaries.
2003-07-11 04:54:45 +00:00
Alexander Kabaev
31653fae42 Use stock version of this file now. 2003-07-11 04:52:32 +00:00
Alexander Kabaev
0f50cc1930 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2	don't let gcc(1) hide warnings in system headers.
2003-07-11 04:49:30 +00:00
Alexander Kabaev
d5a10d25d8 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2  -fformat-extensions.
  1.7  FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha.
  1.14 -O0 -O1 optimize alignment for time, not size.
2003-07-11 04:48:05 +00:00
Alexander Kabaev
cf9a9a701d Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.{2,15}	FREEBSD_NATIVE.
  1.21		"GCC_OPTIONS".
  1.{16,25,27}	Cross-compiling issues.
2003-07-11 04:45:39 +00:00
Alexander Kabaev
b8edac44d5 Merge FreeBSD changes into GCC 3.3.1-prerelease:
1.2	Tweaks to make this file live beside our hacked config.
2003-07-11 04:43:01 +00:00
Alexander Kabaev
38ce1a2479 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2	Localize the version string.
2003-07-11 04:37:16 +00:00
Alexander Kabaev
a4f4ed1ee5 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.8	printf format error fixes.
2003-07-11 04:34:52 +00:00
Alexander Kabaev
4b47e8ff24 Merge FreeBSD changes into GCC 3.3.1-prerelease:
1.2	Printf format errors fixes.
2003-07-11 04:32:20 +00:00
Alexander Kabaev
600d347e40 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.11	-mno-align-long-strings.
2003-07-11 04:29:35 +00:00
Alexander Kabaev
27998756bd Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.10  -mno-align-long-strings.
  1.11  Allow the specification of LONG_TYPE_SIZE on the command line.
2003-07-11 04:28:01 +00:00
Alexander Kabaev
43bab0e092 Merge FreeBSD modifications into gcc 3.3.1-pre:
1.2	framework for our kernel printf enhancements.
  1.3	suppress prototype warnings on K&R main.
2003-07-11 04:24:59 +00:00
Alexander Kabaev
df07a219a0 Merge rev. 1.2 (allow profiling of FORTRAN77 programs) info GCC 3.3.1-pre
sources.
2003-07-11 04:03:28 +00:00
Alexander Kabaev
b2bcf6753d FreeBSD uses stock versions of these GCC files. 2003-07-11 04:00:23 +00:00
Alexander Kabaev
bd0df3aa27 Gcc 3.3.1-pre as of 2003-07-11. 2003-07-11 03:40:53 +00:00
Alexander Kabaev
46c315278f This commit was generated by cvs2svn to compensate for changes in r117395,
which included commits to RCS files with non-trunk default branches.
2003-07-11 03:40:53 +00:00
David E. O'Brien
952d62c73c Remove bit about _THREAD_SAFE. deischen committed a change to stdio.h
that totally removed _THREAD_SAFE.

PR:		36167
Submitted by:	gerald
2003-06-25 16:12:05 +00:00
David E. O'Brien
f8f4e47610 I goofed in rev 1.59 (a.out support axing) and missed getting FUNCTION_PROFILER
fully clean.  This resulted in inserted garbage into the produced assembly code
when the gcc -pg and -fPIC options are used together.

PR:		i386/50598
Submitted by:	Don Lewis <truckman@freebsd.org>
2003-05-08 16:02:22 +00:00
David E. O'Brien
a12d8aed9a We're changing the platform name from x86[_-]86 to amd64. 2003-04-26 20:04:38 +00:00
David E. O'Brien
1143283a26 Fix the LINK_SPEC. Our i386 32-bit emulation name changed.
We also need to look in the proper directory for 32-bit libs.
2003-04-26 19:20:25 +00:00
David E. O'Brien
9ad1907230 Remove the last vestiges (I hope) of the mixed ELF/a.out support.
As a plus we can use the stock CC1_SPEC and ASM_SPEC for AMD64.
2003-04-26 19:16:54 +00:00
Alexander Kabaev
f6a013dc14 Teach gcc how to put unitialized data into BSS on FreeBSD. 2003-04-13 01:04:01 +00:00
Alexander Kabaev
fabd8bcd49 Remove files incidentally imported from the wrong place during
3.2.1 import. They are not used by any of our system GCC versions
and will be physically removed from repository soon.

Reviewed by:	obrien
2003-03-26 18:12:01 +00:00
Alexander Kabaev
0c0bdf85fa This commit was generated by cvs2svn to compensate for changes in r112680,
which included commits to RCS files with non-trunk default branches.
2003-03-26 18:12:01 +00:00
Alexander Kabaev
42194a8171 Merge FreeBSD modifications into gcc 3.2.2 release:
1.8  printf format error fixes.
2003-02-10 06:07:12 +00:00