Commit Graph

674 Commits

Author SHA1 Message Date
kan
bb8e727a8d Teach gcc how to put unitialized data into BSS on FreeBSD. 2003-04-13 01:04:01 +00:00
kan
52e69d78ee 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
kan
ea2de33c6b 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
kan
bdfd3bdba6 Merge FreeBSD modifications into gcc 3.2.2 release:
1.8  printf format error fixes.
2003-02-10 06:07:12 +00:00
kan
2da58157b4 Merge FreeBSD modifications into gcc 3.2.2 release:
1.10  -mno-align-long-strings.
  1.11  Allow the specification of LONG_TYPE_SIZE on the command line.
2003-02-10 06:05:16 +00:00
kan
0a982e8aa5 Merge FreeBSD modifications into gcc 3.2.2 release:
1.11  -mno-align-long-strings.
Note the change 1.15 is not needed anymore.
2003-02-10 06:04:35 +00:00
kan
4d62c1a303 Update for Gcc 3.2.2 release. 2003-02-10 06:03:47 +00:00
kan
7c2f8a7c01 Merge FreeBSD modifications into gcc 3.2.2 release:
1.{2,15}     FREEBSD_NATIVE.
  1.21         "GCC_OPTIONS".
  1.{16,25,27} Cross-compiling issues.
2003-02-10 06:03:16 +00:00
kan
d28c3fda3c Merge FreeBSD modifications into gcc 3.2.2 release:
1.2 -fformat-extensions.
  1.3 -printf0
  1.6 Teach GCC about %y for DDB and implement
      support for the C99 %z format modifier.
2003-02-10 06:00:24 +00:00
kan
faf9b1c18e Merge FreeBSD modifications into gcc 3.2.2 release:
1.2 kernel printf enhancements framework.
  1.3 suppress prototype warnings on K&R main.
2003-02-10 05:59:19 +00:00
kan
9bbf1e7a3b Merge FreeBSD modifications into gcc 3.2.2 release:
1.2  framework for our kernel printf enhancements.
  1.3  suppress prototype warnings on K&R main.
2003-02-10 05:58:19 +00:00
kan
bb9b382fea Update HEAD with stock GCC 3.2.2 release files. 2003-02-10 05:57:03 +00:00
kan
793833d7a7 Gcc 3.2.2-release. 2003-02-10 05:41:50 +00:00
kan
88e949e954 This commit was generated by cvs2svn to compensate for changes in r110611,
which included commits to RCS files with non-trunk default branches.
2003-02-10 05:41:50 +00:00
imp
92c33e449a -kthread has been dead these many years. This PR has languished for a
long time.  Go ahead and commit the patch since a co-worker has been
working up a code patch in this area and wondered why it hasn't been
committed yet.

PR: 35800
2003-02-01 18:39:32 +00:00
obrien
2a78d37417 main() changed its argv declaration, so follow suit in some FBSD added code. 2003-01-29 05:16:58 +00:00
kan
16d547a294 Fix a bug in GCC which effectively prevents DEFAULT_PCC_STRUCT_RETURN from
having any effect. This restores a calling convention traditionally used
by FreeBSD/i386 and which is expected by a number of assembly sources
in libc.

Reviewed by:	obrien
Approved by:	re (rwatson)
2002-12-22 05:57:53 +00:00
obrien
8b626b1c8d _NIH, __NIH__, __N_I_H__, __nih__, _niH_.
*sigh* GCC developers can't seem to make up their mind which pre-defined arch
symbols are the official ones.  So make them, and the Sparc64 using Martians
happy with every permutation.

This fixes f77 and possibly changes some 'long long' handling.

Approved by:	re(bmah)
2002-12-05 18:40:24 +00:00
obrien
8adee44fd1 I really hate the GCC directory structure of gcc/gcc/gcc/<compiler files> 2002-12-04 21:31:04 +00:00
obrien
1babcc37ec Update HEAD with FSF branch 3.2.1 release files. 2002-12-04 16:35:55 +00:00
obrien
d3c00e65a3 Use pure stock files. 2002-12-04 16:31:48 +00:00
obrien
ddc99173df Merge rev 1.8 (printf format error fixes) into Gcc 3.2.1 release. 2002-12-04 16:13:54 +00:00
obrien
ed69fd7f37 Gperf is usable again. We don't need this. 2002-12-04 16:13:07 +00:00
obrien
24cacfdcb6 Fix typo to sync with FSF sources. 2002-12-04 16:09:42 +00:00
obrien
ba3fadd779 Merge revs 1.10 (-mno-align-long-strings) and 1.11 (LONG_TYPE_SIZE override)
into Gcc 3.2.1 release.
2002-12-04 16:07:58 +00:00
obrien
72957d94ad Merge rev 1.11 (-mno-align-long-strings) into Gcc 3.2.1 release. 2002-12-04 16:04:26 +00:00
obrien
28a1bb7449 Update for Gcc 3.2.1 release. 2002-12-04 16:01:15 +00:00
obrien
8f4ce55b2c Merge revs 1.2 (-fformat-extensions), 1.7 (FORCE_OPTIMIZATION_DOWNGRADE knob),
1.14 (-O/-O1 optimize alignment for time, not size) into Gcc 3.2.1 release.
2002-12-04 15:59:56 +00:00
obrien
663dcc27f0 Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.21 ("GCC_OPTIONS"); 1.{16,25,27}
(cross compiling issues) into GCC 3.2.1 release.

Note revs 1.{5,13} (ELF and objformat support) are OBE with the a.out dike-out.
2002-12-04 15:57:11 +00:00
obrien
3f4eb16912 Merge revs 1.2 (kernel printf framework) and 1.3 (suppress K&R main warnings)
into Gcc 3.2.1 release.
2002-12-04 15:48:26 +00:00
obrien
7a1080fa5c Gcc 3.2.1 release virgin vendor import. (19-Nov-2002) 2002-12-04 15:42:16 +00:00
obrien
c052a71883 This commit was generated by cvs2svn to compensate for changes in r107590,
which included commits to RCS files with non-trunk default branches.
2002-12-04 15:42:16 +00:00
obrien
ef3bb13184 Gcc 3.2.1 release virgin vendor import. (19-Nov-2002) 2002-12-04 15:15:07 +00:00
obrien
91f47f293a This commit was generated by cvs2svn to compensate for changes in r107588,
which included commits to RCS files with non-trunk default branches.
2002-12-04 15:15:07 +00:00
obrien
a6fad761ac Add spaces around FBSD_ENDFILE_SPEC as it is used in string concatenation.
Approved by:	re(bmah)
2002-12-03 04:31:19 +00:00
obrien
8380cfda3b Update the version number.
Approved by:	bmah, jhb, murray (independently)
2002-11-27 03:36:49 +00:00
obrien
fa7971ab70 Remove our custom mixed ELF/a.out support. This means the base compiler
now only produce ELF objects.  It also makes us closer to stock GCC, and
simplifies the set of changes we still need from stock GCC on every import.

Applauded by:	peter
Approved by:	re
2002-11-26 18:25:20 +00:00
obrien
522f637a46 Sync with the stock FSF 3.2 file. This adds TRANSFER_FROM_TRAMPOLINE,
which is needed in order for nexted C functions to work.
2002-11-05 03:35:56 +00:00
mux
bdcd4ebb5d - Rename the DDB specific %z printf format to %y.
- Make DDB use %y instead of %z.
- Teach GCC about %y.
- Implement support for the C99 %z format modifier.

Approved by:	re@
Reviewed by:	peter
Tested on:	i386, sparc64
2002-10-25 19:41:32 +00:00
obrien
6305ecda7f ELF low-level toolchain bits now live in /usr/bin, not /usr/libexec/elf. 2002-10-12 01:39:46 +00:00
kan
897ceed212 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.8  printf format error fixes

Approved by:	obrien
2002-10-10 04:53:46 +00:00
kan
f76cf2a76b Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.10  -mno-align-long-strings
  1.11  Allow the specification of LONG_TYPE_SIZE on the command line.

Approved by:	obrien
2002-10-10 04:53:15 +00:00
kan
f27ed2548f Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.11  -mno-align-long-strings

Approved by:	obrien
2002-10-10 04:52:41 +00:00
kan
6b61fff881 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2  Localize the version number

Approved by:	obrien
2002-10-10 04:52:03 +00:00
kan
0d0c2e1127 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2  -fformat-extensions
  1.7  FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha
  1.14 -O0 -O1 should optimize alignment for time, not size

Approved by:	obrien
2002-10-10 04:51:11 +00:00
kan
029dcab170 Use the stock 3.2.1-prerelease file.
Approved by:	obrien
2002-10-10 04:50:29 +00:00
kan
84c8b45596 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.\\{2,15\\}     FREEBSD_NATIVE
  1.\\{5,13\\}     ELF, and objformat support
  1.\\{16,23,25\\} Better cross building control
  1.21           'GCC_OPTIONS'
  1.27           cross-arch MD_EXEC_PREFIX fixes
                 cc -print-search-dir fixes
  1.28           Read specs from /usr/libdata/gcc/specs, if available

Approved by:	obrien
2002-10-10 04:49:03 +00:00
kan
d8eaad6018 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework

Approved by:	obrien
2002-10-10 04:47:27 +00:00
kan
570c92f024 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework
  1.3 suppress warnings on K&R main

Approved by:	obrien
2002-10-10 04:46:44 +00:00
kan
92318bc515 Gcc 3.2.1-prerelease from the FSF anoncvs repo gcc-3_2-branch on October 9th 2002 20:15 EST. 2002-10-10 04:40:18 +00:00
kan
369fa86760 This commit was generated by cvs2svn to compensate for changes in r104752,
which included commits to RCS files with non-trunk default branches.
2002-10-10 04:40:18 +00:00
obrien
4a0f4fc5b5 Turn off the "-O2 flag TRIGGERS KNOWN OPTIMIZER BUGS" warning.
From current testsuite results, the optimizer bugs don't appear to exist
anymore.  RTH@cygnus.com did a lot of work on the Alpha ELF code generator
for GCC 3.2[.0].  A recent FreeBSD/AXP GCC bootstrap is at
http://gcc.gnu.org/ml/gcc-testresults/2002-09/msg00604.html
In this bootstraps, all gcc libraries are built with -O2 and c-torture
gives -O2 a real workout.  None of the remaining failures have anything
to do with -O2 optimizer bugs.

Submitted by:	Loren James Rittle <rittle@latour.rsch.comm.mot.com>
2002-09-22 07:26:38 +00:00
kan
b804ce4fd3 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.8  printf format error fixes

Approved by:	obrien
2002-09-17 04:16:58 +00:00
kan
35e670d11c Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2  Localize the version number

Approved by:	obrien
2002-09-17 04:15:43 +00:00
kan
beeedde8dd Use the stock 3.2.1-prerelease file.
Approved by:	obrien
2002-09-17 04:14:38 +00:00
kan
ff2e899178 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2  framework for our kernel printf enhancements
  1.3  suppress prototype warning for K&R main

Approved by:	obrien
2002-09-17 04:10:25 +00:00
kan
3669766422 Gcc 3.2.1-prerelease from the FSF anoncvs repo gcc-3_2-branch on 16-Sep-2002 13:23:11 EDT. 2002-09-17 04:03:37 +00:00
kan
a1d331aa1f This commit was generated by cvs2svn to compensate for changes in r103445,
which included commits to RCS files with non-trunk default branches.
2002-09-17 04:03:37 +00:00
obrien
fce167d1b3 Emacs decides between v8 and v9 based on "__arch64__". So define it.
Desired by:	tmm
2002-09-12 17:19:09 +00:00
obrien
98ab8a7d26 Remove some debugging cruft I accidently committed with rev 1.4. 2002-09-12 16:10:21 +00:00
obrien
77b0cabe7f Try to detect support for the `long long' type so that ANSI-C[89] clean
code will know not to try to use `long long'.
Unfortunately the GCC spec parser will not allow us to properly detect the
"iso9899:1990" and "iso9899:199409" forms of the acceptable -std= arguments,
because of the ':' in the -std argument.  :-(  I have left them in the spec
as a place holder in hopes someone knows a way to make the detection of
them work.

Desired by:	wollman
2002-09-12 16:05:56 +00:00
obrien
d630de954b Bump __FreeBSD_cc_version for gcc 3.1-prerelease -> 3.2.1-snap upgrade. 2002-09-09 06:56:29 +00:00
kan
303c7049a3 Revert rev. 1.2. GCC 3.2 seems to have builtin_memset fixed.
Approved by:	obrien
2002-09-01 21:18:18 +00:00
kan
1f55c3310d Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.8  printf format error fixes

Approved by:	obrien
2002-09-01 21:16:14 +00:00
kan
a51fc15f74 Use the stock 3.2.1-prerelease file.
Approved by:	obrien
2002-09-01 21:13:32 +00:00
kan
662abc46ea Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.10  -mno-align-long-strings
  1.11  Allow the specification of LONG_TYPE_SIZE on the command line.

Approved by:	obrien
2002-09-01 21:12:30 +00:00
kan
444cf02e74 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.11  -mno-align-long-strings

Approved by:	obrien
2002-09-01 21:11:35 +00:00
kan
2015880449 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.8 Change symbol values to match freebsd.h

Approved by:	obrien
2002-09-01 21:09:26 +00:00
kan
39de93233c Use the stock 3.2.1-prerelease file.
Approved by:	obrien
2002-09-01 21:08:29 +00:00
kan
1ce5213676 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2  Localize the version number

Approved by:	obrien
2002-09-01 21:07:09 +00:00
kan
d1eeee6125 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2  -fformat-extensions
  1.7  optimization downgrade
  1.14 -O0 -O1 should optimize alignment for time, not size

Approved by:	obrien
2002-09-01 21:06:42 +00:00
kan
2102521add Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.\{2,15\}     FREEBSD_NATIVE
  1.\{5,13\}     ELF, and objformat support
  1.\{16,23,25\} Better cross building control
  1.21           'GCC_OPTIONS'
  1.27           cross-arch MD_EXEC_PREFIX fixes
                 cc -print-search-dir fixes
  1.28           Read specs from /usr/libdata/gcc/specs,
                 if available

Approved by:	obrien
2002-09-01 21:03:33 +00:00
kan
1685710455 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 a.out support

Approved by:	obrien
2002-09-01 21:02:41 +00:00
kan
9c10215d37 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 do not create paradoxical FLOAT_MODE subregs

I am not sure if this is still required.

Approved by:	obrien
2002-09-01 21:01:12 +00:00
kan
8ac78c3b49 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework

Approved by:	obrien
2002-09-01 20:57:33 +00:00
kan
67f771a4b4 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 don't let gcc(1) hide warnings in system headers.

Approved by:	obrien
2002-09-01 20:56:10 +00:00
kan
474d90c51c Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework
  1.3 suppress warnings on K&R main

Approved by:	obrien
2002-09-01 20:53:28 +00:00
kan
eb9254c159 Use the stock 3.2.1-prerelease file.
Approved by: obrien
2002-09-01 20:49:59 +00:00
kan
2e25f3a6c5 Gcc 3.2.1-prerelease from the FSF anoncvs repo gcc-3_2-branch on 1-Sep-2002 00:00:01 EDT. 2002-09-01 20:38:57 +00:00
kan
96f278c475 This commit was generated by cvs2svn to compensate for changes in r102780,
which included commits to RCS files with non-trunk default branches.
2002-09-01 20:38:57 +00:00
ru
b955fa1b2c Merge gcc.295/cccp.c,v 1.9: don't let gcc(1) hide warnings in system headers.
Reviewed by:	bde

Original 2.95 change was subject to:

Approved by:	obrien
2002-08-15 08:45:49 +00:00
obrien
cacc7a70db Fix C++ exception handling. GCC was using the older BSD DBX register numbers
rather than the ELF ABI/SVR4 ones in its DWARF unwinding.

Submitted by:	Alexander Kabaev <ak03@gte.com>
2002-07-12 17:44:24 +00:00
obrien
599a83dfc4 When I decided to use a stock dbxout.c rather than merge the rev 1.2 change
(put the function stabs in traditional order on a.out, or gdb doesn't see
function local variables), I failed to remove the related knobs here.

Effectively were overrode the ELF-wide definition in elfos.h w/o providing
new infrastructure.  This is what caused GDB to fail to debug applications
compiled and linked with -stabs.  This is because GCC was unconditionally
inserts .stabs instruction for functions after the function body.  GDB was
getting confused because what it thinks is function beginning address is
actually function ending address.

Submitted by:	Alexander Kabaev <ak03@gte.com>
2002-07-12 17:35:35 +00:00
obrien
49c4747738 Yep, revision 1.3 was 1/2assed.
This time use the right attribute for null_format_ok.

Submitted by:	bde
2002-07-12 00:49:52 +00:00
obrien
e75eef45ae Allow XFree86-4 to build
by not creating paradoxical FLOAT_MODE subregs.

Tested by:	se
Obtained from:	http://gcc.gnu.org/ml/gcc/2002-06/msg01709.html
2002-07-03 23:35:06 +00:00
obrien
29fd0bf33a Tweaks to make these files live beside our hacked config. 2002-06-21 22:54:24 +00:00
obrien
fd6a0fada4 Tweaks for the 64-bit compiler. 2002-06-21 22:53:03 +00:00
obrien
a0b51ec56f cc -O0 and -O1 didn't do the easy optimization of alignment for space.
Instead it attempted to do the easy optimization of alignment for time,
which should be to 1-byte alignment on i386's.

Submitted by:	bde
2002-06-21 18:21:30 +00:00
obrien
bf953252b2 BDE prefers this organization.
Submitted by:	bde
2002-06-21 18:11:22 +00:00
obrien
b7ea29f504 cvs -j -j gave me two copies of TARGET_VERSION and I didn't notice
it before committing.
2002-06-10 15:48:23 +00:00
obrien
016feefa33 Allow one to profile FORTRAN77 programs. 2002-06-09 00:03:56 +00:00
obrien
8fe5b86833 Match the DBX_OUTPUT_MAIN_SOURCE_FILE_END definition in dbxelf.h.
Bug found by:	bde
2002-06-06 18:00:58 +00:00
obrien
7dfe2c583e Allow the specification of LONG_TYPE_SIZE on the command line.
Submitted by:	bde
2002-06-06 03:39:03 +00:00
obrien
28b73f7a82 Implement "-mno-align-long-strings" which prevents pessimization of strings
for space.  -Os could do this, but it was easy to hack an MD version.
This saves a whole 32 bytes in boot2, so I think it is worth using it.
(keep how much worse gcc 3.2 will compile boot2...)

Submitted by:	bde (minus gcc 3.2 commentary)
2002-06-06 03:36:32 +00:00
obrien
4699cf5d0b Didn't get them all in revision 1.50. 2002-06-06 03:30:40 +00:00
obrien
616a2ae30e Fix excessive alignment for the aout case, and unbreak genassym for that case.
Our aout linker has alignment hacks and doesn't need gcc to do anything special.

Tested for a year by:	bde :-)
2002-06-06 03:28:49 +00:00
obrien
52aeefcdd8 Tidy do-while.
Requested by:	bde
2002-06-06 03:26:36 +00:00
obrien
8d32f3a19b Read specs from /usr/libdata/gcc/specs if it exists. 2002-06-06 00:49:58 +00:00
obrien
6e1cb4b9ca The brokenness in ix86_expand_clrstr is quite visible when you
compare the function with ix86_expand_movstr.

Submitted by:	Tor Egge
2002-06-04 18:06:12 +00:00
obrien
d047bea9fd Gcc 3.1 (-O) now generates broken inline code for memset in some cases.
This broke newfs (newfs left some garbage in a bitmap).

The ASM for:

	#include <string.h>
	int x, foo[100];
	main()
	{
		memset(&foo[0], 0, x);
	}

is (at least if you have fixed function alignment):

	.file	"z.c"
	.text
	.p2align 2,,3
.globl main
	.type	main,@function
main:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%edi
	pushl	%eax
	movl	x, %ecx
	xorl	%eax, %eax
	shrl	$2, %ecx
	movl	$foo, %edi
	cld
	rep
	stosl
	andl	$-16, %esp
				<-- the lower bits of `len' should be loaded
				    near here
	testl	$2, %edi	<-- this seems to be meant to test the 2^1
				    bit in `len' (not alignment of the pointer
				    like it actually does).  %edi is the wrong
				    register for holding the bits, since it is
				    still needed for the pointer.
	je	.L2
	stosw
.L2:
	testl	$1, %edi	<-- similarly for the 2^0 bit.
	je	.L3
	stosb
.L3:
	movl	-4(%ebp), %edi
	leave
	ret
.Lfe1:
	.size	main,.Lfe1-main
	.comm	foo,400,32
	.comm	x,4,4
	.ident	"GCC: (GNU) 3.1 [FreeBSD] 20020509 (prerelease)"

This seems to only result in (len % 3) bytes not being cleared, since gcc
doesn't seem to use the builtin memset unless it knows that the pointer is
aligned.  If %edi could be misaligned, then too many bytes would be set.

Submitted by:	BDE
2002-06-04 18:04:27 +00:00
obrien
c2beebb55b Seems we are not ready for revision 1.8. 2002-05-30 06:04:14 +00:00
obrien
f3e84ff8bd Make our default predefines ANSI clean. 2002-05-30 00:58:35 +00:00
obrien
c63b7df4ec The special checks for %b and %D in rev 1.1 were done before skipping over
any characters between the % and the [bD], so only plain %b and %B worked.
This may un-1/2ass our -fformat-extensions support.

Submitted by:	bde
2002-05-26 16:04:37 +00:00
obrien
25711d6191 1/2assed reimplementation of c-common.c revs 1.2 (-fformat-extensions)
and 1.3 (printf0) for GCC 3.1.
2002-05-22 16:37:09 +00:00
cvs2svn
efbfe7b228 This commit was manufactured by cvs2svn to create branch 'VENDOR-gcc'. 2002-05-17 19:47:49 +00:00
obrien
80b0d5d606 the processed hash file 2002-05-17 19:47:48 +00:00
ru
af2650e805 MD_EXEC_PREFIX doesn't work for the cross-arch compiler.
The change also makes the `cc -print-search-dirs' output
sane (the pre-3.1 way) in the non-cross case.

Draft reviewed by:	obrien
2002-05-16 15:22:58 +00:00
obrien
069c7c8d3a Merge c-common.c rev 1.10 into GCC 3.1
Clarify that the "yields only last 2 digits of year in some locales" warning
does not apply to BSD.

Submitted by:	ache
2002-05-14 01:53:53 +00:00
obrien
7d64ac0ab2 If you want to not warn on K&R main(); this is how it should be implemented. 2002-05-14 01:44:02 +00:00
obrien
b028831d22 Merge choose-temp.c rev 1.2 (use /tmp 1st, and then /var/tmp) into GCC 3.1. 2002-05-14 00:33:44 +00:00
obrien
1e93bf0871 Add framework for our kernel printf enhancements. 2002-05-14 00:30:25 +00:00
obrien
ed72cee726 Remove files not part of GCC 3.1. 2002-05-12 21:50:48 +00:00
obrien
532536cdd5 do-while ASM_OUTPUT_ALIGN to enable its use in more places. 2002-05-12 17:31:12 +00:00
obrien
29ad76a5ac Fixes for building a.out bits.
Submitted by:	bde
2002-05-12 12:01:12 +00:00
obrien
a8e2e6d6bb Localize the version number at the request of the GCC developers. 2002-05-11 00:25:50 +00:00
obrien
f4aad0fe00 Add tweaks needed when using as the system compiler. 2002-05-10 19:05:07 +00:00
obrien
5eb5239e7b Change symbol values to match freebsd.h to avoid warnings. 2002-05-10 09:02:14 +00:00
obrien
4af4f4a28b Remove files not part of GCC 3.1. 2002-05-10 05:26:57 +00:00
obrien
9465775461 Import data for 3.0.2. 2002-05-10 05:21:15 +00:00
obrien
c95b4b5523 Use the stock (3.1 pre) file. 2002-05-09 22:44:32 +00:00
obrien
e40513279f Use the stock file for now (but leave a note behind about our OBE changes). 2002-05-09 22:42:39 +00:00
obrien
3519dd389b Merge rev 1.2 (printf format error fixes) in its 1.8 form into Gcc 3.1 pre. 2002-05-09 22:39:46 +00:00
obrien
37ab630335 Use the stock (3.1) file. 2002-05-09 22:38:33 +00:00
obrien
5dab80497a We use the stock (3.1) file. 2002-05-09 22:16:22 +00:00
obrien
65e2ec7693 Merge rev 1.2 (-fformat-extensions) and rev 1.7 (optimization downgrade)
into the Gcc 3.1 prerelease.
2002-05-09 22:15:04 +00:00
obrien
0ac4840cc7 Use the stock (3.1 pre) file. 2002-05-09 22:08:26 +00:00
obrien
7d3f59c051 Use the stock (3.1) version. 2002-05-09 22:05:33 +00:00
obrien
ec81e43ce5 Merge rev 1.2 [_exit() over exit()] into the Gcc 3.1 prerelease. 2002-05-09 22:04:44 +00:00
obrien
286b84aa7c Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.{5,13} (ELF, and objformat support);
1.{16,23,25} (better cross building control); 1.21 ("GCC_OPTIONS")
into the GCC 3.1 prerelease.
2002-05-09 22:02:01 +00:00
obrien
b7d19d3348 Merge rev 1.2 (a.out support) into the GCC 3.1 prerelease. 2002-05-09 21:44:15 +00:00
obrien
603733766c Use the stock 3.1 prerelease version of this for now. 2002-05-09 21:42:32 +00:00
obrien
65d1b51533 Use the stock 3.1 prerelease file now. Rev 1.2 (add_bb) just doesn't
cleanly fit in any more.
2002-05-09 21:41:12 +00:00
obrien
03d718bf25 Use the stock (3.1) file. 2002-05-09 21:24:44 +00:00
obrien
da84150b6c We use the stock (3.1) file now. 2002-05-09 21:19:23 +00:00
obrien
67d7740f78 Use the stock (3.1) file now.
The choosing of TMPDIR has moved to make-temp-file.c.
2002-05-09 21:15:23 +00:00
obrien
e93c006736 Use the stock 3.1 prerelease file. 2002-05-09 21:12:10 +00:00
obrien
43f5e99714 Use the stock 3.1-prerelease file. 2002-05-09 21:11:21 +00:00
obrien
d6b5d86ff9 Use stock file. 2002-05-09 21:06:15 +00:00
obrien
c8f5fc7032 Gcc 3.1.0 pre-release from the FSF anoncvs repo on 9-May-2002 15:57:15 EDT. 2002-05-09 20:02:13 +00:00
obrien
98051db4df This commit was generated by cvs2svn to compensate for changes in r96263,
which included commits to RCS files with non-trunk default branches.
2002-05-09 20:02:13 +00:00
obrien
3c0c831761 Alpha MD bits for Gcc 3.1. 2002-05-07 23:28:45 +00:00
obrien
21304809df Comment a knob. 2002-05-07 02:26:40 +00:00
obrien
9ced709070 The default ASM_OUTPUT_ADDR_DIFF_ELT will now handle our mixed a.out/ELF. 2002-05-07 02:25:52 +00:00
obrien
1e3fa59089 MI bits for Gcc 3.1. 2002-04-30 17:22:42 +00:00
obrien
9a9ba1484f i386 MD bits for Gcc 3.1.
These are totally untested.  Do these work?  Hell if I know, I have yet to
bootstrap using these bits.  But people want them, so here they are.
2002-04-30 17:15:01 +00:00
obrien
257900c741 Style changes to reduce diff to things I did in the FSF repo. 2002-04-24 04:49:34 +00:00
obrien
638b01d99e Fix bug where we were loosing our platform-wide ASM_COMMENT_START
definition due to pollution in i386/unix.h.
2002-04-24 04:48:00 +00:00
obrien
3e278e7acd GCC 3.1 uses crtstuff.c on Alpha now. [yay!] 2002-03-27 22:18:22 +00:00
obrien
9b5143f94f Switch register numbers for DWARF2_DEBUG also. 2002-03-27 05:22:35 +00:00
obrien
95b6324d69 Allow for better control over the GCC front-end when building a cross
compiler.

* Undo the diking out of cross compiler logic from gcc.c rev 1.16.
* Add the `CROSS_STARTFILE_PREFIX' knob.
* Add our own definition of `STANDARD_INCLUDE_DIR'.  This should have been
  included in freebsd-native.h rev 1.5.
2002-03-05 00:17:24 +00:00
obrien
140f4d987a Allow one to specify a STANDARD_EXEC_PREFIX for GCC (but not BINUTILS) bits. 2002-03-03 04:18:00 +00:00
obrien
71fa5068bb Better granularity of the FREEBSD_NATIVE #ifdef's. 2002-03-02 09:58:48 +00:00
obrien
d3a0922fcf Use the default 'ld' emulation rather than hard coding it.
For FreeBSD, 'ld' 2.12.0 uses a different emulation than in the past.
So this change makes the upgrade easier.
2002-02-25 04:49:17 +00:00
obrien
be9fa5e36c Use the stock [3.1-snap] version of this. 2002-02-06 05:10:06 +00:00
obrien
3e10a6d863 A slightly more general version of rev 1.2 that might be more acceptable
to the GCC maintainers.
2002-02-06 05:07:17 +00:00
obrien
fecfd9c398 Merge BDE's printf format error fixes (rev 1.2) into GCC 3.1-snap. 2002-02-06 05:07:01 +00:00
obrien
6e12cd4bd2 Use the stock GCC 3.1-snap version of this. 2002-02-06 05:05:49 +00:00
obrien
1b2d183105 A slightly different version of rev 1.2 that is closer to something the
GCC maintainers might actually accept.
2002-02-06 05:04:25 +00:00
obrien
1f24b90f6a Merge rev 1.2 (printf format error fixes) into GCC 3.1-snap. 2002-02-06 05:03:43 +00:00
obrien
6687f51a11 Use the stock [3.l-snap] version of this. 2002-02-06 05:02:18 +00:00
obrien
a33632ba5a Use the stock [3.1-snap] file. 2002-02-06 05:01:51 +00:00
obrien
bad15f47f4 Use the stock file for now.
The changes from GCC 2.95.3 to 3.1 are large and it is hard to figure
out how to apply our changes.  Once BDE can properly test GCC 3.1 he'll
add back in our changes.
2002-02-06 05:01:29 +00:00
obrien
757b03860f Merge the stock gcc-3.1_snap file onto HEAD. 2002-02-06 05:00:48 +00:00
obrien
7d7df915b2 Merge rev 1.2 (-fformat-extensions) and rev 1.7 (optimization downgrade)
into GCC 3.1-snap.
2002-02-06 04:59:39 +00:00
obrien
489c41bdc6 We use the stock [3.1-snap] file. 2002-02-06 04:49:08 +00:00
obrien
d2767dc723 Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.{5,13} (ELF, and objformat support);
1.16 (allow specification of TOOLS_PREFIX); 1.21 ("GCC_OPTIONS")
into GCC 3.1-snap.

Note that rev 1.20 was fixed in the stock GCC 3 sources.
2002-02-06 02:53:38 +00:00
obrien
47aa5e488c Merge rev 1.2 (a.out support) into GCC 3.1-snap. 2002-02-01 19:42:45 +00:00
obrien
29165fd98d Use the stock 3.1-snap file now.
Until we can figure out how to reimpliment our custom format warnings
since the FSF developers totally revamped them, and took away the hooks
we were using to accomplish our desires.
2002-02-01 19:38:44 +00:00
obrien
71e646a649 Merge rev 1.2 (add_bb) into GCC 3.1-snap.
Note that the "NO_PROFILE_DATA"/"NO_PROFILE_COUNTERS" bits were added
to the stock FSF GCC 2.97 (and thus 3.1) source as i386 Linux needed them
also.  (amazing what can get committed to the FSF GCC when needed by Linux...)
2002-02-01 19:19:08 +00:00
obrien
ee24f3094c We use the stock [3.1-snap] version of this,
other than having to add $FreeBSD$...
2002-02-01 19:12:03 +00:00
obrien
e638c832dc Use the stock 3.1-snap file now.
I do not think our rev 1.2 changes are needed any longer.
2002-02-01 19:10:11 +00:00
obrien
460c84b46f The stock (3.1-snap) version of this file is used now.
The FreeBSD hacks now apply to `config.gcc'.
2002-02-01 18:56:12 +00:00
obrien
32e6f721d0 Go back to stock [3.1-snap] file -- our previous mods are OBE. 2002-02-01 18:54:38 +00:00
obrien
a1d6d49034 We use the stock 3.1-snap file now.
All the -Wformat related code moved to c-format.c.
2002-02-01 18:53:34 +00:00
obrien
9aba5b9cc9 Use the stock 3.1-snap file now.
I have folded all our local changes into the FSF CVS repo.
2002-02-01 18:50:05 +00:00
obrien
c9ab9ae440 Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0.
These bits are taken from the FSF anoncvs repo on 1-Feb-2002 08:20 PST.
2002-02-01 18:16:02 +00:00
obrien
170a7bc58b This commit was generated by cvs2svn to compensate for changes in r90075,
which included commits to RCS files with non-trunk default branches.
2002-02-01 18:16:02 +00:00
obrien
9e7f705ccb MFC: gcc.295/config/alpha/freebsd.h revision 1.12:
Remove our definition for FUNCTION_PROFILER as it is wrong.

Note that "jsr $28,_mcount" is a macro for
	ldq $27, _mcount($29)           !literal!1
	jsr $28, ($27), _mcount         !lituse_jsr!1

1. The call to _mcount is added by alpha_expand_prologue after we load the gp.
Our _mcount uses $27 for the incoming address, unlike OSF/1 and Linux,
which use $28.  This probably doesn't matter since we probably don't use $27
within _mcount itself.
2. You can't use this insn with _mcount because it uses the PLT, which clobbers
the return address in $28.  Note that the prologue_mcount pattern carefully
avoids adding the lituse_jsr relocation so that we call through the GOT
directly.

Submitted by:	Richard Henderson <rth@redhat.com>
2002-01-31 17:20:44 +00:00
peter
2ecfd8bd04 Remove files that have been removed from vendor branch 2002-01-27 22:41:09 +00:00
peter
b91a8c787a This commit was generated by cvs2svn to compensate for changes in r89884,
which included commits to RCS files with non-trunk default branches.
2002-01-27 22:41:09 +00:00
obrien
d40943f1a4 Re-initialize gp after a jsr.
When rtld runs the .fini section in a shared lib (C++), the code in
question from .../contrib/gdb/config/alpha/crtbegin.asm first calls
__do_globals_dtors_aux and then __do_frame_takedown.  Unfortunately, the
value of gp after a jsr is undefined and in this case had changed from before
the call, probably as a result of calling code in some other shared library.
The normal calling convention for alpha is to re-initialize gp using
'ldgp gp,0(ra)' after a jsr instruction but in this case no such
re-initialization is done. This leads to a bogus value being read for the
address of __do_frame_takedown and a quick segfault.

Submitted by:   dfr
Obtained from:  GCC 3.0
2001-08-17 22:54:26 +00:00
obrien
cd3f3aab8e Add the `WANT_FORCE_OPTIMIZATION_DOWNGRADE' knob. If set to an integer
value, it forces GCC to not optimize above this level.  For intance, GCC
made with "WANT_FORCE_OPTIMIZATION_DOWNGRADE=1" is a good setting for the
Alpha platform when building ports.
2001-08-16 06:05:18 +00:00
obrien
6b5bce7420 Correct the version number. 2001-08-01 18:35:54 +00:00
obrien
631aa159a9 libiberty file list for the 11-July-2000 import. 2001-07-12 19:03:33 +00:00
obrien
9e25b214f6 Support the environmental var "GCC_OPTIONS". Which can hold a set of
default options for GCC.  These options are interpreted first and can be
overwritten by explicit command line parameters.  This provides one way of
adding [temporary] options to your world build w/o editing /etc/make.conf.
2001-05-29 09:54:45 +00:00
obrien
2e368cdccd Teach gcc about '%+' so it will not warn when using '%+' in a format
string when using strftime(), since our libc supports it.

PR:             26827
Submitted by:   Marc Olzheim <marcolz@ilse.nl>
2001-05-25 19:00:07 +00:00
obrien
0983569eda Make it easy for people to use define DWARF2 exceptions unwinding.
If "WANT_DWARF2_UNWIND" you get it.  Note that this is a different C++ ABI
than the FreeBSD default.  So you will need to recompile all your C++ apps
that uses exceptions if you turn this on.  I am adding it here for Yahoo!'s
use and for those that want to be early adopters to what I will make as the
default with the GCC 3.0 import.
2001-05-14 22:45:26 +00:00
obrien
a7ff9d3249 Choose the right LIB_SPEC for threads based on "__FreeBSD_version".
This allows someone with an older -current to update their compiler [only].

Inspired by:	Loren James Rittle <rittle@rsch.comm.mot.com>
2001-05-12 04:57:49 +00:00
obrien
686317c48c Remove MIPS support.
It has rotted quite badly and no one has provided updates for it.
2001-04-11 00:12:48 +00:00
obrien
83655f473e Import the setjump/longjump exception handling fixes from GCC 2.95.3.test3
that were removed from GCC 2.95.3.test4 and the subsequent release due
to problems on HP-UX.  However, they work just fine on all the BSD's.

W/o these patches the following program segmentation faults if compiled
with -O2 (but not -Os or -O or -O0):

#include <stdio.h>

class A {
public:
  A() { printf("c'tor A\n"); }
  ~A(){ printf("d'tor A\n"); }
};

class foo : public A {
public:
  foo()  { printf("C'tor foo\n"); throw 8; }
  ~foo() { printf("D'tor foo\n"); }
};

int main(){
  try { foo fii; }
  catch (int){ printf("catch ...\n"); }
  return 0;
}
2001-03-24 01:58:31 +00:00
obrien
4caa529cad This commit was generated by cvs2svn to compensate for changes in r74722,
which included commits to RCS files with non-trunk default branches.
2001-03-24 01:58:31 +00:00
obrien
831148a589 Remove some files that are no longer in the FSF branch. 2001-03-19 19:50:17 +00:00
obrien
6830f79554 Merge gcc-2.95.3 changes onto mainline. Update FreeBSD changes to converge
with changes made in the FSF tree.
2001-03-19 19:50:16 +00:00
obrien
bc8a8f48cf Virgin import of the GCC 2.95.3 compilers 2001-03-19 19:46:16 +00:00
obrien
b9bbde2f6f This commit was generated by cvs2svn to compensate for changes in r74473,
which included commits to RCS files with non-trunk default branches.
2001-03-19 19:46:16 +00:00
obrien
dcea9e494b Change "NO_PROFILE_DATA" to "NO_PROFILE_COUNTERS" to match the commit by
the FSF/GCC people in the stock 2.97 source that is like our custom change
modulo the conditional compilation symbol.
2001-03-02 08:46:15 +00:00
obrien
c2acd8fa31 Move the obvious bits of mixed ELF and a.out support down into this MD
header to reduce the difference of our sources to the stock GNU/FSF ones.
While the mix binary format support was nice to have in the FreeBSD MI
header as a frame work, it just clutters up too much and makes the FreeBSD
MI header more different from the FSF/GNU stock one than it needs to be.
2001-03-02 02:46:05 +00:00
obrien
370995c37f Push as much as was easy of the mixed ELF & a.out support for the i386
into the i386 MD FreeBSD header.  Also comment tweaking, continuation line
style changes, and other minor changes to make this closer to the latest
FSF/GNU 3.0 sources (to reduce my headache when 3.0 is imported).
2001-03-02 02:42:42 +00:00
obrien
24ec32f09f Stylistic changes mirroring ones done in the FSF/GNU 3.0 development sources. 2001-02-28 22:37:32 +00:00
obrien
c6dcd6a7fe Merge rev 1.2 (-fformat-extensions); 1.{7,9} (complain about -O2 on the
Alpha & FORCE_OPTIMIZATION_DOWNGRADE); 1.8 (-Wnon-const-format)
into GCC 2.95.3(RC#3).
2001-02-17 09:06:31 +00:00
obrien
b545fa1c7f Merge gcc-2.95.3-test3 changes onto mainline. Bump FreeBSD cc version. 2001-02-17 08:35:00 +00:00
obrien
c67d59390e Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
obrien
a15849488b This commit was generated by cvs2svn to compensate for changes in r72562,
which included commits to RCS files with non-trunk default branches.
2001-02-17 08:34:50 +00:00
obrien
93d05d1855 Bump __FreeBSD_cc_version to 500002 to show the -pthread option change. 2001-02-08 05:27:17 +00:00
jdp
b0eae7994f Make the "-pthread" option work again, now that libc_r has to be
linked in addition to libc rather than instead of libc.

Ideally, "-pthread" would now be equivalent to adding "-lc_r" to the
end of the link command.  But it is slightly different in this
implementation.  Adding "-lc_r" to the link command would produce a
"ld" command line containing this:

    ... -lc_r /usr/lib/libgcc.a -lc /usr/lib/libgcc.a ...

but this implementation of the "-pthread" option produces this:

    ... /usr/lib/libgcc.a -lc_r -lc /usr/lib/libgcc.a ...

It would be possible to make them identical, but that doesn't fit
as nicely into GCC's way of doing things.  I don't think the ordering
change will make any difference in practice.
2001-01-25 18:57:13 +00:00
obrien
9d224a1cba Upgrade instructions that describe the 11-July-2000 import. 2001-01-04 11:21:44 +00:00
obrien
784d223de9 Merge rev 1.2 (-fformat-extensions); 1.{7,9} (complain about -O2 on the
Alpha & FORCE_OPTIMIZATION_DOWNGRADE); 1.8 (-Wnon-const-format)
into GCC 2.95.3(RC#1).
2001-01-03 18:05:31 +00:00
obrien
b2d68729b2 Merge gcc.2.95.3-test1 changes onto mainline 2001-01-03 17:17:01 +00:00
obrien
180bdd72ff Merge gcc 2.95.3-test1 changes onto vendor branch 2001-01-03 17:17:00 +00:00
peter
f765f56813 Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #1 2001-01-03 17:16:05 +00:00
obrien
c49a039ffd This commit was generated by cvs2svn to compensate for changes in r70635,
which included commits to RCS files with non-trunk default branches.
2001-01-03 17:16:04 +00:00
obrien
e103926ab5 Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #1 2001-01-03 17:16:04 +00:00
obrien
e584b1548c Update the 3-June-2000 import delete list to keep mkdeps.[ch] which
is needed by the new C preprocessor.
2000-12-01 11:02:05 +00:00
obrien
6b16a0fe37 Comment an endif. 2000-12-01 10:20:17 +00:00
obrien
19fd5b1366 Properly format the SUBTARGET_SWITCHES so that ``gcc -v --help'' prints
them out.

PR:		19326
Submitted by:	Naohiko Tsuji <yakisoba@f2.dion.ne.jp>
2000-11-11 04:50:51 +00:00
obrien
4b7105175f Remove the -kthread option that matched [sort of] the LinuxThreads port.
This option depended on bits not part of the base system and required
people to install the LinuxThreads port in a manner non-consistent with
the workings of our Ports Collection.
The directions for properly linking with LinuxThreads are given by that
port at install time.

Requested by:	jasone
2000-11-07 21:49:08 +00:00
obrien
a2cdf6684f Start using crt[in].o to adhear to the ELF ABI
(and crtstuff.c's requirements).
2000-10-30 12:25:22 +00:00
obrien
cc292f3682 Helper listing file specs to remove from a FSF/GCC anoncvs checkout
before importing new versions of GCC.  This differs from FREEBSD-Xlist
in that this is for use only with anoncvs checkouts, not tarball'ed
releases [snapshots].

This delete list applies to the 3-June-2000 import.
2000-10-13 11:35:53 +00:00
obrien
b2ca950104 Upgrade instructions that describe the 3-June-2000 import. 2000-10-13 11:32:20 +00:00
obrien
797ccd6333 Fix conflicts. 2000-05-27 02:43:50 +00:00
obrien
890b30850f Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch"
branch as of May 26th, 2000.  [these are changes March 31 - May 24th]
2000-05-27 02:25:28 +00:00
obrien
2213994dde This commit was generated by cvs2svn to compensate for changes in r60967,
which included commits to RCS files with non-trunk default branches.
2000-05-27 02:25:28 +00:00
obrien
0360392802 Do not use DWARF2 unwinding mechanisms for C++ exceptions on all of our
platforms.
2000-05-22 06:52:04 +00:00
obrien
c474a49cac ASM_DECLARE_OBJECT_NAME and ASM_FINISH_DECLARE_OBJECT are ELF MI routines
to generate the special .type and .size directives which are used to set
the corresponding fields of the linker symbol table entries in the ELF
object file.  As such they are not i386-specific and thus belong in our
MI header.  Otherwise on the Alpha we don't properly give the type and
size of dynamic symbols.  Bintuil versions past 2.9.1 warn of this and
w/o this change, `ld' generates a lot of warnings during a `make world'.
2000-05-20 10:14:43 +00:00
obrien
5295026471 Clarify that the "yields only last 2 digits of year in some locales" warning
does not apply to BSD.

Submitted by:	ache
2000-04-18 20:01:07 +00:00
obrien
7df70954d3 From FSFChangeLog: (tfaff): Now a function, not a string. All users changed.
I did not catch this on the EGCS 1.1.x --> GCC 2.95 upgrade.
So propogate this change to our custom hacks.

PR:		15549
Submitted by:	Naohiko Tsuji <yakisoba@osaka.interq.or.jp>
		Patrick Bihan-Faou <patrick@mindstep.com>
2000-04-18 04:13:29 +00:00
obrien
f55dd2a9b3 Sparc64 configure section.
Submitted by:	steve
2000-04-06 09:27:38 +00:00
obrien
89d6e979f6 Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch"
branch as of March 29th, 2000.  [these are changes March 7-29th]
2000-03-30 03:23:37 +00:00
obrien
3de76ad710 This commit was generated by cvs2svn to compensate for changes in r58809,
which included commits to RCS files with non-trunk default branches.
2000-03-30 03:23:37 +00:00
obrien
2d22f9eac0 Yell about -O2 on the Alpha. Forceably downgrade -O2+ if
"FORCE_OPTIMIZATION_DOWNGRADE" is defined when GCC is built.
2000-03-26 12:56:54 +00:00
obrien
13cef0c010 Clean up the FreeBSD configuration files -- includes removing the usage
of svr4.h on the i386, and moving all the shared arch neutral bits into
the FreeBSD general config header.
2000-03-23 10:18:26 +00:00
obrien
d30e2783e9 This is FreeBSD version 5.0. 2000-03-23 01:20:46 +00:00
obrien
4988cee646 Merge conflicts. 2000-03-09 10:11:08 +00:00
obrien
922a45e8c8 Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch"
branch as of March 7th, 2000.
2000-03-09 09:21:46 +00:00
obrien
f75cfb157e This commit was generated by cvs2svn to compensate for changes in r57844,
which included commits to RCS files with non-trunk default branches.
2000-03-09 09:21:46 +00:00
obrien
6995e4285b Fix our -mprofiler-epilogue code.
"The problem is that egcs/gcc-2.95's reorganisation of the prologue and
epilogue code to use rtl instead of output_asm_insn() completely broke our
hooks.  rtl is emitted in a different order, only after optimisation, while
output_asm_insn() is emitted immediately.  rtl is presumably used so that
the prologue and epilogue can be optimised.

I couldn't find any good examples to copy.  gcc's own
FUNCTION_BLOCK_PROFILER still uses output_asm_insn() and seems to be
completely broken.  One of the XXX comments points to this.

IIRC, the hacks here basically arrange to emit magic label names; then when
the magic names are output, they are transformed into prologue and epilogue
code."

Submitted by:	bde
2000-01-29 13:06:33 +00:00
obrien
3050fca7ad Bump __FreeBSD_version and __FreeBSD_cc_version due to the C++ ABI change
in GCC 2.95.2 from -fvtable-thunks to -fno-vtable-thunks by default.
2000-01-27 23:12:38 +00:00
obrien
d581a449b9 Do not use "DEFAULT_VTABLE_THUNKS". The bugs that have existed since
EGCS 1.x have not been worked out.  And with 4.0 RELEASE comming quickly
we need C++ to be stable and usable.
2000-01-25 06:58:15 +00:00
obrien
8797ccaa10 Merge in fixes from the GCC anoncvs tree. 2000-01-22 16:05:33 +00:00
obrien
d41539bd1f Merge in the restore pic register fix from the vendor branch.
PR:		3441
Submitted by:	Mark Diekhans <markd@Grizzly.COM>
2000-01-22 16:04:30 +00:00
obrien
19e1413b5d Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch"
branch on Jan 20th, 2000.
2000-01-22 02:59:08 +00:00
obrien
0c931ae0a1 This commit was generated by cvs2svn to compensate for changes in r56385,
which included commits to RCS files with non-trunk default branches.
2000-01-22 02:59:08 +00:00
obrien
06f3b91449 Virgin import of the GCC 2.95.2 compilers 2000-01-17 12:16:41 +00:00
obrien
620cc853d2 This commit was generated by cvs2svn to compensate for changes in r56173,
which included commits to RCS files with non-trunk default branches.
2000-01-17 12:16:41 +00:00
obrien
c34ec3d7da Allow the specification of a prefix for gcc to find all the various bits.
If one wishes to anchor the compiler toolchain tree somewhere other than /,
all one needs to do is set "TOOLS_PREFIX" to a different rooting.

Submitted by:	marcel (in a different format and reworked by me)
1999-12-29 14:42:46 +00:00
obrien
8ed9d0ffe7 Reduce the FreeBSD custom hacks to gcc.c by using the GCC provided methods
of changing the search dirs.  This also removes an used search dir,
removes unneeded redundancy, and a bugus dir we enherited on the i386
by baseing off of svr4.h.

We went from:
	install: /usr/libexec/(null)
	programs: /usr/libexec/<OBJFORMAT>/:/usr/libexec/:/usr/bin/:/usr/libexec/
	libraries: /usr/libdata/gcc/:/usr/libexec/:/usr/ccs/lib/:/usr/lib/

to:
	install: /usr/libexec/(null)
	programs: /usr/libexec/<OBJFORMAT>/:/usr/libexec/
	libraries: /usr/libexec/:/usr/lib/
1999-12-22 05:00:28 +00:00
obrien
119cfeff30 Use symbolic values rather than constants in TARGET_DEFAULT.
Submitted by:	bde on -current
1999-12-19 07:40:17 +00:00
obrien
4cced586e8 Use a unified CPP_SPEC. 1999-12-19 06:42:24 +00:00
obrien
76277b31cd Provide complete coverage in switch statement to quiet -Wall. 1999-12-18 09:56:15 +00:00
obrien
f1e75fd104 Fix my CPP_SPEC synatax screwup.
Totally pissed at self:	obrien
1999-12-16 02:03:35 +00:00