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
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
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
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
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
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