Commit Graph

30 Commits

Author SHA1 Message Date
obrien
f75cfb157e This commit was generated by cvs2svn to compensate for changes in r57844,
which included commits to RCS files with non-trunk default branches.
2000-03-09 09:21:46 +00:00
obrien
922a45e8c8 Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch"
branch as of March 7th, 2000.
2000-03-09 09:21:46 +00:00
obrien
19e1413b5d Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch"
branch on Jan 20th, 2000.
2000-01-22 02:59:08 +00:00
obrien
0c931ae0a1 This commit was generated by cvs2svn to compensate for changes in r56385,
which included commits to RCS files with non-trunk default branches.
2000-01-22 02:59:08 +00:00
obrien
4b66dfb903 Virgin import of the GCC 2.95.2 compilers 1999-11-01 08:28:22 +00:00
obrien
244fe162cc This commit was generated by cvs2svn to compensate for changes in r52750,
which included commits to RCS files with non-trunk default branches.
1999-11-01 08:28:22 +00:00
obrien
af6623e278 Merge BDE's printf format error fixes into GCC 2.95.1. 1999-10-16 07:57:37 +00:00
obrien
6fc90f57b3 Use the stock file here. 1999-10-16 07:56:14 +00:00
obrien
ad65a89b33 Use the stock GCC 2.95.1 file here. Our previous (rev 1.2) changes are OBE. 1999-10-16 07:53:19 +00:00
obrien
7f3675d738 Merge rev 1.2 into GCC 2.95.1. 1999-10-16 07:35:28 +00:00
obrien
cae8fa8120 Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
obrien
8f3bf11ba2 This commit was generated by cvs2svn to compensate for changes in r52284,
which included commits to RCS files with non-trunk default branches.
1999-10-16 06:09:09 +00:00
obrien
caa7271ba9 Bring BDE's printf format error fixes into EGCS. 1999-09-19 11:00:01 +00:00
obrien
537ee54f88 Fix conflicts. 1999-08-30 09:58:28 +00:00
obrien
903d244211 Use the stock EGCS 1.1.2 file here. Our previous changes are OBE. 1999-08-30 09:54:31 +00:00
obrien
0bedf4fb30 Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
obrien
ad6db0c2d6 This commit was generated by cvs2svn to compensate for changes in r50397,
which included commits to RCS files with non-trunk default branches.
1999-08-26 09:30:50 +00:00
obrien
d4db5fb866 Virgin import of GCC 2.7.2.3 1999-07-10 23:03:59 +00:00
obrien
597d081113 This commit was generated by cvs2svn to compensate for changes in r48743,
which included commits to RCS files with non-trunk default branches.
1999-07-10 23:03:59 +00:00
bde
559a9a5f7d Fixed printf format errors. gcc should have a macro HOST_PTR_PRINTF_TYPE
to go with its HOST_PTR_PRINTF[_FORMAT], since if %p is wrong for the
format then `void *' is probably wrong for the type.
1998-08-02 14:57:00 +00:00
peter
c39aed21a8 First round of changes to support generation of assembler for the old
a.out gas and the binutils gas (elf or a.out) with a single compiler.

This uses other infrastructure not yet committed, in order to support
both a.out and elf it needs to be able to get to both a.out and elf
gas, ld, libs, crt* etc.  So for now, the support is pretty much dormant.

The new freebsd.h file is based on the old freebsd-elf.h file (which has a
long lineage, right back through linux and svr4 files).  The change is
pretty dramatic from a gcc internals standpoint as it overrides a lot of
definitions in order to generate different output based on target mode.
There is potential for screw-ups, so please be on the lookout - gcc's
configuration mechanism wasn't really meant for this kind of thing.
It's believed to compile world etc just fine under both a.out and elf, can
handle global constructors and destructors, handles the differences in
a.out and elf stabs, and what sections things like exceptions go in.

The initial idea came from i386/osfrose.h which is a dual rose/elf format
target.  These two are not as diverse as a.out and elf it would seem.

The cc front-end uses external configuration to determine default object
format (still being thrashed out, so read the source if you want to see
it so far), and has a '-aout' and '-elf' override command line switch.
There are some other internal switches that can be accessed, namely -maout,
-mno-aout, -munderscores and -mnounderscores.  The underscore and local
symbol prefixing rules are controllable seperately to the output format.
(ie: it's possible to generate a.out without the _ prefixes on symbols and
also to generate elf with the _ prefixes.  This isn't quite optimal, but
does seem to work pretty well, except the linkers don't always recognise
the local symbols without their normal names)

The default format is a.out (still), nobody should see any major changes.

With both elf and a.out tools and libraries installed:

[1:26pm]/tmp-223> cc -elf -o hello hello.c
peter@beast[1:27pm]/tmp-224> file hello
hello: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked, not stripped
[1:27pm]/tmp-225> ./hello
hello world!

[1:27pm]/tmp-226> cc -aout -o hello hello.c
[1:27pm]/tmp-227> file hello
hello: FreeBSD/i386 compact demand paged dynamically linked executable not stripped
1:27pm]/tmp-228> ./hello
hello world!

Since my co-conspirators put a lot of effort into this too, I'll add them
so they can share the blame^H^H^H^H^Hglory. :-)

Reviewed by: sos, jdp
1998-03-08 05:29:49 +00:00
asami
b15bba4e8b Make all the info dir entries line up neatly. 1997-05-28 07:49:21 +00:00
jmacd
8514111caf This file has the info annotation, except its annotated name
is different from its filename for some reason.
1997-01-11 02:56:24 +00:00
peter
f27b081045 Remove temporary hack to disable use of libstdc++ now that it's built and
installed (and hopefully: working).
1996-10-04 08:51:18 +00:00
jdp
b400b72e46 Fix a bug that caused incorrect PIC code to be generated for exceptions.
The symptom was an assembler warning

    "GOT relocation burb: `___EXCEPTION_TABLE__' should be global"

followed (sometimes) by a core dump.  The fix makes the compiler
generate the correct GOTOFF addressing for that symbol, rather than the
GOT addressing it was emitting before.

Warning:  There is still at least one serious bug in the i386 exception
code for PIC.  The exception code that is generated clobbers the GOT
register (%ebx) and then tries to use it later.  That leads to core
dumps at program execution time.  I know where the problem is, but I do
not have a fix for it at this time.  Until it is fixed, exceptions will
not work in PIC code.  This is a general problem for all i386 platforms;
it is not specific to FreeBSD.
1996-10-03 17:49:35 +00:00
peter
ff1dd074e9 Temporarily disable the code that wants to add -lstdc++ in tge g++ driver
since we don't have it yet and I've taken too long on the libg++-2.7.2
stuff (it causes problems due to to the lack of .weak support which I've
nearly finished)

Submitted by: "Ph. Charnier" <charnier@xp11.frmug.org>
1996-09-27 05:13:40 +00:00
peter
631dad77e7 My feeble attempt at fixing complaints that makeinfo makes about
errors in this doc.
1996-09-18 06:35:00 +00:00
peter
1a3f294135 Do not print two \n's in a fatal error message.
Obtained from: bde
1996-09-18 06:33:32 +00:00
peter
acb2bcd167 Import of 2.7.2.1 into vendor branch 1996-09-18 05:45:16 +00:00
peter
d4691e641b Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the
non-i386, non-unix, and generatable files have been trimmed, but can easily
be added in later if needed.

gcc-2.7.2.1 will follow shortly, it's a very small delta to this and it's
handy to have both available for reference for such little cost.

The freebsd-specific changes will then be committed, and once the dust has
settled, the bmakefiles will be committed to use this code.
1996-09-18 05:35:50 +00:00