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