Commit Graph

297 Commits

Author SHA1 Message Date
Alexander Kabaev
b00eee8d85 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.10  -mno-align-long-strings
  1.11  Allow the specification of LONG_TYPE_SIZE on the command line.

Approved by:	obrien
2002-09-01 21:12:30 +00:00
Alexander Kabaev
7d6e8a6ad0 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.11  -mno-align-long-strings

Approved by:	obrien
2002-09-01 21:11:35 +00:00
Alexander Kabaev
35d17d433c Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.8 Change symbol values to match freebsd.h

Approved by:	obrien
2002-09-01 21:09:26 +00:00
Alexander Kabaev
2556bafc14 Use the stock 3.2.1-prerelease file.
Approved by:	obrien
2002-09-01 21:08:29 +00:00
Alexander Kabaev
bb3c979bf5 Gcc 3.2.1-prerelease from the FSF anoncvs repo gcc-3_2-branch on 1-Sep-2002 00:00:01 EDT. 2002-09-01 20:38:57 +00:00
Alexander Kabaev
6be6d6640a This commit was generated by cvs2svn to compensate for changes in r102780,
which included commits to RCS files with non-trunk default branches.
2002-09-01 20:38:57 +00:00
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
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
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
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
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
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
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
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
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
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
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
David E. O'Brien
50a5655602 Switch register numbers for DWARF2_DEBUG also. 2002-03-27 05:22:35 +00:00
David E. O'Brien
99339e95db Use the default 'ld' emulation rather than hard coding it.
For FreeBSD, 'ld' 2.12.0 uses a different emulation than in the past.
So this change makes the upgrade easier.
2002-02-25 04:49:17 +00:00
David E. O'Brien
08a759af80 Use the stock [3.l-snap] version of this. 2002-02-06 05:02:18 +00:00
David E. O'Brien
229356526c Use the stock [3.1-snap] file. 2002-02-06 05:01:51 +00:00
David E. O'Brien
9864f35a4f Use the stock file for now.
The changes from GCC 2.95.3 to 3.1 are large and it is hard to figure
out how to apply our changes.  Once BDE can properly test GCC 3.1 he'll
add back in our changes.
2002-02-06 05:01:29 +00:00
David E. O'Brien
2b6f3a3db7 Merge the stock gcc-3.1_snap file onto HEAD. 2002-02-06 05:00:48 +00:00
David E. O'Brien
1952e2e1c1 Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0.
These bits are taken from the FSF anoncvs repo on 1-Feb-2002 08:20 PST.
2002-02-01 18:16:02 +00:00
David E. O'Brien
11b18c4539 This commit was generated by cvs2svn to compensate for changes in r90075,
which included commits to RCS files with non-trunk default branches.
2002-02-01 18:16:02 +00:00
David E. O'Brien
13696e0464 MFC: gcc.295/config/alpha/freebsd.h revision 1.12:
Remove our definition for FUNCTION_PROFILER as it is wrong.

Note that "jsr $28,_mcount" is a macro for
	ldq $27, _mcount($29)           !literal!1
	jsr $28, ($27), _mcount         !lituse_jsr!1

1. The call to _mcount is added by alpha_expand_prologue after we load the gp.
Our _mcount uses $27 for the incoming address, unlike OSF/1 and Linux,
which use $28.  This probably doesn't matter since we probably don't use $27
within _mcount itself.
2. You can't use this insn with _mcount because it uses the PLT, which clobbers
the return address in $28.  Note that the prologue_mcount pattern carefully
avoids adding the lituse_jsr relocation so that we call through the GOT
directly.

Submitted by:	Richard Henderson <rth@redhat.com>
2002-01-31 17:20:44 +00:00
Peter Wemm
d337ceafd7 Remove files that have been removed from vendor branch 2002-01-27 22:41:09 +00:00
Peter Wemm
418b22b96f This commit was generated by cvs2svn to compensate for changes in r89884,
which included commits to RCS files with non-trunk default branches.
2002-01-27 22:41:09 +00:00
David E. O'Brien
a6d80351b7 Re-initialize gp after a jsr.
When rtld runs the .fini section in a shared lib (C++), the code in
question from .../contrib/gdb/config/alpha/crtbegin.asm first calls
__do_globals_dtors_aux and then __do_frame_takedown.  Unfortunately, the
value of gp after a jsr is undefined and in this case had changed from before
the call, probably as a result of calling code in some other shared library.
The normal calling convention for alpha is to re-initialize gp using
'ldgp gp,0(ra)' after a jsr instruction but in this case no such
re-initialization is done. This leads to a bogus value being read for the
address of __do_frame_takedown and a quick segfault.

Submitted by:   dfr
Obtained from:  GCC 3.0
2001-08-17 22:54:26 +00:00
David E. O'Brien
cb300ebf8e Make it easy for people to use define DWARF2 exceptions unwinding.
If "WANT_DWARF2_UNWIND" you get it.  Note that this is a different C++ ABI
than the FreeBSD default.  So you will need to recompile all your C++ apps
that uses exceptions if you turn this on.  I am adding it here for Yahoo!'s
use and for those that want to be early adopters to what I will make as the
default with the GCC 3.0 import.
2001-05-14 22:45:26 +00:00
David E. O'Brien
3cd4df5a77 Choose the right LIB_SPEC for threads based on "__FreeBSD_version".
This allows someone with an older -current to update their compiler [only].

Inspired by:	Loren James Rittle <rittle@rsch.comm.mot.com>
2001-05-12 04:57:49 +00:00
David E. O'Brien
41fd0c09eb Remove some files that are no longer in the FSF branch. 2001-03-19 19:50:17 +00:00
David E. O'Brien
1e1e1a599e Merge gcc-2.95.3 changes onto mainline. Update FreeBSD changes to converge
with changes made in the FSF tree.
2001-03-19 19:50:16 +00:00
David E. O'Brien
843b04fb90 Virgin import of the GCC 2.95.3 compilers 2001-03-19 19:46:16 +00:00
David E. O'Brien
9dcc3a35a1 Change "NO_PROFILE_DATA" to "NO_PROFILE_COUNTERS" to match the commit by
the FSF/GCC people in the stock 2.97 source that is like our custom change
modulo the conditional compilation symbol.
2001-03-02 08:46:15 +00:00
David E. O'Brien
49bd150d88 Move the obvious bits of mixed ELF and a.out support down into this MD
header to reduce the difference of our sources to the stock GNU/FSF ones.
While the mix binary format support was nice to have in the FreeBSD MI
header as a frame work, it just clutters up too much and makes the FreeBSD
MI header more different from the FSF/GNU stock one than it needs to be.
2001-03-02 02:46:05 +00:00
David E. O'Brien
c04329d184 Push as much as was easy of the mixed ELF & a.out support for the i386
into the i386 MD FreeBSD header.  Also comment tweaking, continuation line
style changes, and other minor changes to make this closer to the latest
FSF/GNU 3.0 sources (to reduce my headache when 3.0 is imported).
2001-03-02 02:42:42 +00:00
David E. O'Brien
6ed0ce16ce Stylistic changes mirroring ones done in the FSF/GNU 3.0 development sources. 2001-02-28 22:37:32 +00:00
David E. O'Brien
0e907ffc9a Merge gcc-2.95.3-test3 changes onto mainline. Bump FreeBSD cc version. 2001-02-17 08:35:00 +00:00
David E. O'Brien
c4ac962157 Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
David E. O'Brien
9520158aff This commit was generated by cvs2svn to compensate for changes in r72562,
which included commits to RCS files with non-trunk default branches.
2001-02-17 08:34:50 +00:00
David E. O'Brien
e09c90cd8a Bump __FreeBSD_cc_version to 500002 to show the -pthread option change. 2001-02-08 05:27:17 +00:00
John Polstra
747291735d Make the "-pthread" option work again, now that libc_r has to be
linked in addition to libc rather than instead of libc.

Ideally, "-pthread" would now be equivalent to adding "-lc_r" to the
end of the link command.  But it is slightly different in this
implementation.  Adding "-lc_r" to the link command would produce a
"ld" command line containing this:

    ... -lc_r /usr/lib/libgcc.a -lc /usr/lib/libgcc.a ...

but this implementation of the "-pthread" option produces this:

    ... /usr/lib/libgcc.a -lc_r -lc /usr/lib/libgcc.a ...

It would be possible to make them identical, but that doesn't fit
as nicely into GCC's way of doing things.  I don't think the ordering
change will make any difference in practice.
2001-01-25 18:57:13 +00:00
David E. O'Brien
f0ae320070 Merge gcc.2.95.3-test1 changes onto mainline 2001-01-03 17:17:01 +00:00
David E. O'Brien
48f9f7204c This commit was generated by cvs2svn to compensate for changes in r70635,
which included commits to RCS files with non-trunk default branches.
2001-01-03 17:16:04 +00:00
David E. O'Brien
5401a9ce8b Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #1 2001-01-03 17:16:04 +00:00
David E. O'Brien
e4475bb03f Properly format the SUBTARGET_SWITCHES so that ``gcc -v --help'' prints
them out.

PR:		19326
Submitted by:	Naohiko Tsuji <yakisoba@f2.dion.ne.jp>
2000-11-11 04:50:51 +00:00
David E. O'Brien
7d6cccab42 Remove the -kthread option that matched [sort of] the LinuxThreads port.
This option depended on bits not part of the base system and required
people to install the LinuxThreads port in a manner non-consistent with
the workings of our Ports Collection.
The directions for properly linking with LinuxThreads are given by that
port at install time.

Requested by:	jasone
2000-11-07 21:49:08 +00:00
David E. O'Brien
2644e5e81b Start using crt[in].o to adhear to the ELF ABI
(and crtstuff.c's requirements).
2000-10-30 12:25:22 +00:00
David E. O'Brien
c6d2f3514a Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch"
branch as of May 26th, 2000.  [these are changes March 31 - May 24th]
2000-05-27 02:25:28 +00:00
David E. O'Brien
1318f6d724 This commit was generated by cvs2svn to compensate for changes in r60967,
which included commits to RCS files with non-trunk default branches.
2000-05-27 02:25:28 +00:00
David E. O'Brien
51a3f1907b Do not use DWARF2 unwinding mechanisms for C++ exceptions on all of our
platforms.
2000-05-22 06:52:04 +00:00
David E. O'Brien
4553af7930 ASM_DECLARE_OBJECT_NAME and ASM_FINISH_DECLARE_OBJECT are ELF MI routines
to generate the special .type and .size directives which are used to set
the corresponding fields of the linker symbol table entries in the ELF
object file.  As such they are not i386-specific and thus belong in our
MI header.  Otherwise on the Alpha we don't properly give the type and
size of dynamic symbols.  Bintuil versions past 2.9.1 warn of this and
w/o this change, `ld' generates a lot of warnings during a `make world'.
2000-05-20 10:14:43 +00:00
David E. O'Brien
ac419355a1 Clean up the FreeBSD configuration files -- includes removing the usage
of svr4.h on the i386, and moving all the shared arch neutral bits into
the FreeBSD general config header.
2000-03-23 10:18:26 +00:00
David E. O'Brien
bf7adae1e3 This is FreeBSD version 5.0. 2000-03-23 01:20:46 +00:00
David E. O'Brien
c92f6a5f61 Fix our -mprofiler-epilogue code.
"The problem is that egcs/gcc-2.95's reorganisation of the prologue and
epilogue code to use rtl instead of output_asm_insn() completely broke our
hooks.  rtl is emitted in a different order, only after optimisation, while
output_asm_insn() is emitted immediately.  rtl is presumably used so that
the prologue and epilogue can be optimised.

I couldn't find any good examples to copy.  gcc's own
FUNCTION_BLOCK_PROFILER still uses output_asm_insn() and seems to be
completely broken.  One of the XXX comments points to this.

IIRC, the hacks here basically arrange to emit magic label names; then when
the magic names are output, they are transformed into prologue and epilogue
code."

Submitted by:	bde
2000-01-29 13:06:33 +00:00
David E. O'Brien
554d1e2e9c Bump __FreeBSD_version and __FreeBSD_cc_version due to the C++ ABI change
in GCC 2.95.2 from -fvtable-thunks to -fno-vtable-thunks by default.
2000-01-27 23:12:38 +00:00
David E. O'Brien
7885e8b5d8 Do not use "DEFAULT_VTABLE_THUNKS". The bugs that have existed since
EGCS 1.x have not been worked out.  And with 4.0 RELEASE comming quickly
we need C++ to be stable and usable.
2000-01-25 06:58:15 +00:00
David E. O'Brien
f402e7674c Merge in the restore pic register fix from the vendor branch.
PR:		3441
Submitted by:	Mark Diekhans <markd@Grizzly.COM>
2000-01-22 16:04:30 +00:00
David E. O'Brien
cbab320528 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
David E. O'Brien
aaaa7e3448 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
David E. O'Brien
68567ff127 Use symbolic values rather than constants in TARGET_DEFAULT.
Submitted by:	bde on -current
1999-12-19 07:40:17 +00:00
David E. O'Brien
ad586591ec Use a unified CPP_SPEC. 1999-12-19 06:42:24 +00:00
David E. O'Brien
52ee5d1983 Fix my CPP_SPEC synatax screwup.
Totally pissed at self:	obrien
1999-12-16 02:03:35 +00:00
David E. O'Brien
f1195718dd Remove the defining of __i486__ baesd on TARGET_CPU_DEFAULT and !m386 or m486. 1999-12-15 10:16:25 +00:00
David E. O'Brien
0cef048f94 Virgin import of the GCC 2.95.1 compilers
(gcc/config/i386/freebsd.h renamed to freebsd-aout.h)
1999-11-24 06:24:35 +00:00
David E. O'Brien
e4dfd37f5a This commit was generated by cvs2svn to compensate for changes in r53660,
which included commits to RCS files with non-trunk default branches.
1999-11-24 06:24:35 +00:00
David E. O'Brien
5003d98148 Virgin import of gcc from EGCS 1.1.2.
(renamed to freebsd-aout.h)
1999-11-24 06:23:43 +00:00
David E. O'Brien
9ea0cca7b7 This commit was generated by cvs2svn to compensate for changes in r53657,
which included commits to RCS files with non-trunk default branches.
1999-11-24 06:23:43 +00:00
David E. O'Brien
421eff041a Virgin import of GCC 2.7.2.3's gcc/config/i386/freebsd.h for a.out systems.
[This has been renamed to freebsd-aout.h to not conflict with our own
hacked up version.]
1999-11-24 06:22:22 +00:00
David E. O'Brien
2cbc2fc2d0 This commit was generated by cvs2svn to compensate for changes in r53654,
which included commits to RCS files with non-trunk default branches.
1999-11-24 06:22:22 +00:00
David E. O'Brien
32458f8c01 * Remove a trailing ";" from a macro.
* Style cleanup.
1999-11-17 07:18:25 +00:00
David E. O'Brien
9df17bd3c2 This temperary file can die now. 1999-11-17 07:03:32 +00:00
David E. O'Brien
a02d4a1bb5 Fix a minor bogon. 1999-11-15 19:26:58 +00:00
David E. O'Brien
aa2b357d9e Undo rev 1.13 (define "OBSTACK_CHUNK_SIZE" as getpagesize()).
It causes internal compiler errors and sig 11's with GCC 2.95.2.
1999-11-15 07:57:13 +00:00
David E. O'Brien
874051e952 Add rev 1.2 profiling tweaks, to GCC 2.95.2. 1999-11-15 04:33:36 +00:00
David E. O'Brien
6a90513a0f Use the stock 2.95.2 file here.
I cannot determine if our previous (rev 1.2) changes for ObjC are still
appropriate.
1999-11-15 04:28:55 +00:00
David E. O'Brien
103b517414 Bump __FreeBSD_cc_version due to the compiler upgrade. 1999-11-15 04:25:13 +00:00
David E. O'Brien
bad1bfea45 Make cross-compilation work for Alpha on i386 machines.
Note that the optimizer has a bug somewhere.  This means that only -O0
works at this time.

Submitted by:	marcel
1999-11-14 12:07:57 +00:00
David E. O'Brien
f4f21b5c0a Remove 'SET_ASM_OP' macro, which is unused now and rather harmful
for recent Egcs 1.1.x.

Submitted by:	simokawa
1999-11-14 12:04:02 +00:00
David E. O'Brien
92a8fe88b3 Changes for Alpha and EGCS.
*  Commonalities with i386, moved to a FreeBSD wide config file.
*  Major additions to this file were adapted from Hidetoshi Shimokawa
   <simokawa@FreeBSD.ORG>'s Alpha suppliment to the Egcs 1.1.2 port.
1999-11-14 12:01:58 +00:00
Marcel Moolenaar
bd8ae5d0d7 Make cross-compilation work for Alpha on i386 machines. Note that
the optimizer has a bug somewhere. This means that only -O0 works
at this time.
1999-11-12 16:36:16 +00:00
David E. O'Brien
d14ec649a5 Virgin import of the GCC 2.95.2 compilers 1999-11-01 08:28:22 +00:00
David E. O'Brien
79fe5b7c35 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
David E. O'Brien
0efb1a6924 Use this stock version of this. 1999-10-16 08:13:35 +00:00
David E. O'Brien
3fa6aa223c Use the stock file here. I cannot determine if our previous (rev 1.2)
changes for ObjC are still appropriate.
1999-10-16 08:12:02 +00:00
David E. O'Brien
098b3e11ec Use stock file here. 1999-10-16 08:10:36 +00:00
David E. O'Brien
e5dfdb494d Bring our profiling tweaks from rev 1.2 into GCC 2.95.1. 1999-10-16 08:08:21 +00:00
David E. O'Brien
f2c57ef828 Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
David E. O'Brien
3bae6d51b0 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
David E. O'Brien
b7da6f22c3 Register the fact we want expand_main_function() to invoke __main. 1999-10-15 20:56:19 +00:00
David E. O'Brien
44d23c83a9 Remove a useless blank line, I accidently added. 1999-10-12 00:35:49 +00:00
David E. O'Brien
ba505f0644 Move RCS tag to our normal place. 1999-10-10 22:43:12 +00:00
David E. O'Brien
1baaa64720 Style cleanups:
* be consistant on protecting "#define FOO"s with "#undef FOO".
* be consistant that macro params are upper case, and commas are followed
  by a space in the macro definition
* protect macro param expansion by ()'s
* break long lines
* line continuations chars to consistant column
* remove trailing spaces
1999-10-10 22:33:40 +00:00
David E. O'Brien
ac27a30c83 Remove things common to all FreeBSD platforms. They will now live in a
FreeBSD wide config file.

This includes "WORD_SWITCH_TAKES_ARG" & "SWITCH_TAKES_ARG".  Platforms
such as FreeBSD/MIPS will need to override these two defintions, but it
can #undef them and define them approapiately.
1999-10-10 22:17:24 +00:00
David E. O'Brien
989e177ec2 Bring our profiling tweaks into EGCS 1.1.2. 1999-09-19 10:43:38 +00:00
David E. O'Brien
db102939b7 "COMMENT_BEGIN" is no longer used. 1999-09-19 10:32:18 +00:00
David E. O'Brien
8d5d8faf3b Support linking against libgcc_r.
Submitted by:	Luoqi Chen <luoqi@chen.ml.org>
1999-09-19 10:31:14 +00:00
David E. O'Brien
844dfb548c This should get us the same functionality we had with GCC 2.7.2.1.
*  Support for our dual ELF/a.out building ability
*  Our custom ASM_* definitions
*  Our custom debugger and profiling related definitions
*  Our custom STARTFILE/ENDFILE specs

*  The stock EGCS 1.1.2 freebsd-elf.h file depended on
   egcs-1.1.2/gcc/config/linux.h, which included "svr4.h".  We will
   include "svr4.h" via our "tm.h" definition.  So add the few bits
   from "linux.h" we actually needed.

*  Using our current crtbegin.o/crtend.o we cannot support the DWARF2
   unwinding mechanisms.  In the future we will switch to the
   non-sjlj-exceptions type exception machanism.  However the `make world'
   bootstrap problems with the EGCS crtstuff.c must be overcome first.

*  Our a.out gas doesn't "know" to use NOP's for aligns while in the text
   section.  Thus the a.out alignment generation needed tweaking from
   what we did with GCC 2.7.2.  [from BDE]

*  The definition of SUPPORTS_ONE_ONLY prevents the compiler from trying
   to use "linkonce" sections for a.out.  The definition of
   NO_DBX_FUNCTION_END we had causes it to avoid .stabs symbols that the
   assembler cannot handle for a.out.  [from JDP]

*  The previous "EXCEPTION_SECTION_FUNCTION" is the wrong name for EGCS.
   It also needed tweaking for EGCS.  [from JDP]

Also bump __FreeBSD_cc_version to 400002 in case we need to know we are
using EGCS at some point.
1999-09-19 10:28:57 +00:00
David E. O'Brien
a49a6042f2 Use the stock EGCS version of this. 1999-09-19 09:09:21 +00:00
David E. O'Brien
6641a1b79d Use the stock EGCS 1.1.2 file here. Our previous changes are OBE.
(code change by rev 1.3 has been removed, and 1.2 is not needed since
contrib/gcc/cp/except.c is now the stock one)
1999-08-30 10:50:39 +00:00
David E. O'Brien
291e7c65a6 Use the stock EGCS 1.1.2 file here. I cannot determine if our previous
changes for ObjC are still appropriate.
1999-08-30 10:27:11 +00:00
David E. O'Brien
e5b502affd This brings rev 1.2 into EGCS 1.1.2. Also tweaks gleemed from EGCS
ChangeLog's.  Note that rev 1.3 changes (HOST_PTR_PRINTF) was not
brought into EGCS 1.1.2 as that is the default.
1999-08-30 10:12:33 +00:00
David E. O'Brien
2a266d02ba Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
David E. O'Brien
f1a94e6381 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
David E. O'Brien
2e3446e467 * Consistantly surround macro parameters with ()
* Consistantly put spaces after "," in macro param lists
* Consistantly align continuation characters.
* Don't need to supply all variations of __FOO__ in CPP_PREDEFINES,
  gcc will do that for us.
1999-08-20 09:01:55 +00:00
David E. O'Brien
1f2d1c0503 Move two of the DBX config directives to the common configuration header.
Also simply CPP_PREDEFINES a little.
1999-08-19 09:16:23 +00:00
David E. O'Brien
adba8d12f5 Move "WORD_SWITCH_TAKES_ARG" & "SWITCH_TAKES_ARG" to the general spec file
since their definitions were identical.  FreeBSD/MIPS will need to override
these two defintions, but it can #undef them and define them approapiately.
1999-08-15 22:02:50 +00:00
David E. O'Brien
c86942dc66 Move "LIBGCC_SPEC" to freebsd-native.h as it is not approapiate for
submitting to the GCC mainainers for folding into the stock GCC.
1999-08-15 21:59:46 +00:00
David E. O'Brien
3b82b5b7f7 Virgin import of GCC 2.7.2.3 1999-07-10 23:03:59 +00:00
David E. O'Brien
68bb3e165b 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
David E. O'Brien
14ffedf1b0 * The OBSTACK_CHUNK_SIZE #define was in the "Code generation parameters"
section rather than the "Miscellaneous parameters" where it belongs.

* Clarify what we are locating using the -m rule.

Submitted by:	bde
1999-07-02 19:26:45 +00:00
David E. O'Brien
5bfda2db35 The GNU standard about putting 2 spaces after sentences in comments
was not consistantly followed.

Submitted by:	bde
1999-07-02 19:20:44 +00:00
David E. O'Brien
7675d60dff Define "OBSTACK_CHUNK_SIZE" as getpagesize().
Our malloc can allocte pagesized blocks efficiently and the EGCS default size
of 4072 bytes is not optimal.

Submitted by:	Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1999-06-28 09:05:56 +00:00
Hidetoshi Shimokawa
766b710e3a Remove 'SET_ASM_OP' macro, which is unused now and rather harmful
for recent egcs.
1999-06-10 12:05:48 +00:00
John Polstra
d36a530801 Fix typo (#unset where #undef was meant). 1999-05-21 04:56:32 +00:00
David E. O'Brien
395b1ec416 Consistantly protect "#define FOO ..." with "#undef FOO". 1999-05-20 08:30:48 +00:00
David E. O'Brien
2898537149 Turn DEFAULT_VTABLE_THUNKS back on. It caused problems with undefined symbols
in libstdc++.

Until I have a chance to look at what that problem is and to carefully consider
the upgrade issues of turning it back on at a later date if we leave it turned
off for any extended peroid of time.
1999-04-30 19:12:51 +00:00
David E. O'Brien
e53bca4f44 Rather than hack config/freebsd.h to contain our hacks for a native compiler,
just include them in tm.h (as built from cc/cc_tools/Makefile).

This will reduce the diffs from the vendor sources.

Excellent idea by:	jdp
1999-04-28 18:48:08 +00:00
David E. O'Brien
3f1ea226c9 Simplify the definition of FBSD_SWITCH_TAKES_ARG, and make sure
SWITCH_TAKES_ARG isn't defined (which svr4.h does) when we assign our
definition to it.
1999-04-27 19:29:44 +00:00
David E. O'Brien
512a10fde7 Wait until EGCS 1.2 to use more efficient ``thunks'' to implement C++ vtables.
While I have yet to hear of any problems with us using thunks.  The EGCS
mailing list notes some have problems with it and not using them are a
safer default.  People wanting to use them, can set the appropiate
compiler flag.
1999-04-27 15:43:56 +00:00
David E. O'Brien
1030a4e631 Use new FBSD_SWITCH_TAKES_ARG' and FBSD_WORD_SWITCH_TAKES_ARG'. 1999-04-22 17:45:24 +00:00
David E. O'Brien
61d2d44398 Move SWITCH_TAKES_ARG' to FBSD_SWITCH_TAKES_ARG' and `WORD_SWITCH_TAKES_ARG'
to `FBSD_WORD_SWITCH_TAKES_ARG' which allows architectures to tweak these
values if needed.
1999-04-22 17:45:01 +00:00
David E. O'Brien
073f9b19ff Support linking against libgcc_r.
Submitted by:	Luoqi Chen <luoqi@chen.ml.org>
1999-04-14 00:25:45 +00:00
Bruce Evans
b3827ce345 Removed unconditional definitions of __ELF__. They were redundant for
elf and wrong for i386-aout.
1999-04-08 13:57:13 +00:00
David E. O'Brien
2f494cb24f Merge shared LIB_SPEC into share config header. 1999-04-08 07:49:24 +00:00