378 Commits

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