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