Commit Graph

537 Commits

Author SHA1 Message Date
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