Commit Graph

457 Commits

Author SHA1 Message Date
Alexander Kabaev
35d17d433c 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
Alexander Kabaev
2556bafc14 Use the stock 3.2.1-prerelease file.
Approved by:	obrien
2002-09-01 21:08:29 +00:00
Alexander Kabaev
4dccc39462 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
Alexander Kabaev
f2f9e41da3 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
Alexander Kabaev
a8a3b181ed 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
Alexander Kabaev
ec748e0ef8 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
Alexander Kabaev
e243da3452 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
Alexander Kabaev
accb351070 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
Alexander Kabaev
4e9f9a848d 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
Alexander Kabaev
449bacd8c3 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
Alexander Kabaev
f3575d94a6 Use the stock 3.2.1-prerelease file.
Approved by: obrien
2002-09-01 20:49:59 +00:00
Alexander Kabaev
bb3c979bf5 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
Alexander Kabaev
6be6d6640a 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
Ruslan Ermilov
26e1070b8b 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
David E. O'Brien
83728effa9 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
David E. O'Brien
d08a3fc2bc 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
David E. O'Brien
568fc330a7 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
David E. O'Brien
fffe57845a 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
David E. O'Brien
6c8ce4b3c7 Tweaks to make these files live beside our hacked config. 2002-06-21 22:54:24 +00:00
David E. O'Brien
d9adce40ed Tweaks for the 64-bit compiler. 2002-06-21 22:53:03 +00:00
David E. O'Brien
4396d0e99f 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
David E. O'Brien
9fc5b9d958 BDE prefers this organization.
Submitted by:	bde
2002-06-21 18:11:22 +00:00
David E. O'Brien
85441ab5f2 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
David E. O'Brien
60f9b09d26 Allow one to profile FORTRAN77 programs. 2002-06-09 00:03:56 +00:00
David E. O'Brien
4467cfa4b4 Match the DBX_OUTPUT_MAIN_SOURCE_FILE_END definition in dbxelf.h.
Bug found by:	bde
2002-06-06 18:00:58 +00:00
David E. O'Brien
0d68a433ae Allow the specification of LONG_TYPE_SIZE on the command line.
Submitted by:	bde
2002-06-06 03:39:03 +00:00
David E. O'Brien
670fd7ad58 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
David E. O'Brien
a56822dd07 Didn't get them all in revision 1.50. 2002-06-06 03:30:40 +00:00
David E. O'Brien
c48e5a6b24 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
David E. O'Brien
3c3942fcfc Tidy do-while.
Requested by:	bde
2002-06-06 03:26:36 +00:00
David E. O'Brien
74d3af89ef Read specs from /usr/libdata/gcc/specs if it exists. 2002-06-06 00:49:58 +00:00
David E. O'Brien
3a77dcde47 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
David E. O'Brien
ec9ec8af6a 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
David E. O'Brien
e07ec61d37 Seems we are not ready for revision 1.8. 2002-05-30 06:04:14 +00:00
David E. O'Brien
69eafeae74 Make our default predefines ANSI clean. 2002-05-30 00:58:35 +00:00
David E. O'Brien
79a702e6f3 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
David E. O'Brien
dcbd867c36 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
dd49f05638 This commit was manufactured by cvs2svn to create branch 'VENDOR-gcc'. 2002-05-17 19:47:49 +00:00
David E. O'Brien
424cbfd989 the processed hash file 2002-05-17 19:47:48 +00:00
Ruslan Ermilov
35abacef2a 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
David E. O'Brien
4e3e26a2ed 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
David E. O'Brien
8a75a69eaf 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
David E. O'Brien
a353d6a0f1 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
David E. O'Brien
2e0c661e02 Add framework for our kernel printf enhancements. 2002-05-14 00:30:25 +00:00
David E. O'Brien
f4603a02f9 Remove files not part of GCC 3.1. 2002-05-12 21:50:48 +00:00
David E. O'Brien
f0ab1657e0 do-while ASM_OUTPUT_ALIGN to enable its use in more places. 2002-05-12 17:31:12 +00:00
David E. O'Brien
79c021244b Fixes for building a.out bits.
Submitted by:	bde
2002-05-12 12:01:12 +00:00
David E. O'Brien
8e4199296c Localize the version number at the request of the GCC developers. 2002-05-11 00:25:50 +00:00
David E. O'Brien
be42e63aec Add tweaks needed when using as the system compiler. 2002-05-10 19:05:07 +00:00
David E. O'Brien
3b2b7c3e7a Change symbol values to match freebsd.h to avoid warnings. 2002-05-10 09:02:14 +00:00
David E. O'Brien
f35f6d5d45 Remove files not part of GCC 3.1. 2002-05-10 05:26:57 +00:00
David E. O'Brien
c16b9cb4c2 Import data for 3.0.2. 2002-05-10 05:21:15 +00:00
David E. O'Brien
df9426806f Use the stock (3.1 pre) file. 2002-05-09 22:44:32 +00:00
David E. O'Brien
2311abec95 Use the stock file for now (but leave a note behind about our OBE changes). 2002-05-09 22:42:39 +00:00
David E. O'Brien
f8263b4181 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
David E. O'Brien
4a81869631 Use the stock (3.1) file. 2002-05-09 22:38:33 +00:00
David E. O'Brien
1c7d68f037 We use the stock (3.1) file. 2002-05-09 22:16:22 +00:00
David E. O'Brien
d89ca98b1b 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
David E. O'Brien
e913f56bba Use the stock (3.1 pre) file. 2002-05-09 22:08:26 +00:00
David E. O'Brien
e9d2a91a8b Use the stock (3.1) version. 2002-05-09 22:05:33 +00:00
David E. O'Brien
b2eb577abd Merge rev 1.2 [_exit() over exit()] into the Gcc 3.1 prerelease. 2002-05-09 22:04:44 +00:00
David E. O'Brien
aa12b755c1 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
David E. O'Brien
6a38fe7c3a Merge rev 1.2 (a.out support) into the GCC 3.1 prerelease. 2002-05-09 21:44:15 +00:00
David E. O'Brien
bf6ecf8c61 Use the stock 3.1 prerelease version of this for now. 2002-05-09 21:42:32 +00:00
David E. O'Brien
6e85a4c56a 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
David E. O'Brien
ea73da804b Use the stock (3.1) file. 2002-05-09 21:24:44 +00:00
David E. O'Brien
f5902c2a3e We use the stock (3.1) file now. 2002-05-09 21:19:23 +00:00
David E. O'Brien
d341fe2879 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
David E. O'Brien
6bc913d9ee Use the stock 3.1 prerelease file. 2002-05-09 21:12:10 +00:00
David E. O'Brien
e3f1715f75 Use the stock 3.1-prerelease file. 2002-05-09 21:11:21 +00:00
David E. O'Brien
d5453940b5 Use stock file. 2002-05-09 21:06:15 +00:00
David E. O'Brien
909b401074 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
David E. O'Brien
a922fa645e 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
David E. O'Brien
2fa9c646bb Alpha MD bits for Gcc 3.1. 2002-05-07 23:28:45 +00:00
David E. O'Brien
fa4cd061df Comment a knob. 2002-05-07 02:26:40 +00:00
David E. O'Brien
f5519e857b The default ASM_OUTPUT_ADDR_DIFF_ELT will now handle our mixed a.out/ELF. 2002-05-07 02:25:52 +00:00
David E. O'Brien
b8df1f7e86 MI bits for Gcc 3.1. 2002-04-30 17:22:42 +00:00
David E. O'Brien
353c69dcb9 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
David E. O'Brien
d5d1c5a11e Style changes to reduce diff to things I did in the FSF repo. 2002-04-24 04:49:34 +00:00
David E. O'Brien
51448c0be3 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
David E. O'Brien
8e069c8cbe GCC 3.1 uses crtstuff.c on Alpha now. [yay!] 2002-03-27 22:18:22 +00:00
David E. O'Brien
50a5655602 Switch register numbers for DWARF2_DEBUG also. 2002-03-27 05:22:35 +00:00
David E. O'Brien
fcd0ff585f 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
David E. O'Brien
a84e77fb7b Allow one to specify a STANDARD_EXEC_PREFIX for GCC (but not BINUTILS) bits. 2002-03-03 04:18:00 +00:00
David E. O'Brien
7486111210 Better granularity of the FREEBSD_NATIVE #ifdef's. 2002-03-02 09:58:48 +00:00
David E. O'Brien
99339e95db 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
David E. O'Brien
e35f7181ce Use the stock [3.1-snap] version of this. 2002-02-06 05:10:06 +00:00
David E. O'Brien
3905f1c147 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
David E. O'Brien
34edb80c80 Merge BDE's printf format error fixes (rev 1.2) into GCC 3.1-snap. 2002-02-06 05:07:01 +00:00
David E. O'Brien
f4625df208 Use the stock GCC 3.1-snap version of this. 2002-02-06 05:05:49 +00:00
David E. O'Brien
eecc1da618 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
David E. O'Brien
982e216c53 Merge rev 1.2 (printf format error fixes) into GCC 3.1-snap. 2002-02-06 05:03:43 +00:00
David E. O'Brien
08a759af80 Use the stock [3.l-snap] version of this. 2002-02-06 05:02:18 +00:00
David E. O'Brien
229356526c Use the stock [3.1-snap] file. 2002-02-06 05:01:51 +00:00
David E. O'Brien
9864f35a4f 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
David E. O'Brien
2b6f3a3db7 Merge the stock gcc-3.1_snap file onto HEAD. 2002-02-06 05:00:48 +00:00
David E. O'Brien
a1640fbb8a 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
David E. O'Brien
21afea8038 We use the stock [3.1-snap] file. 2002-02-06 04:49:08 +00:00
David E. O'Brien
adb423b12d 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
David E. O'Brien
588c983274 Merge rev 1.2 (a.out support) into GCC 3.1-snap. 2002-02-01 19:42:45 +00:00