Commit Graph

458 Commits

Author SHA1 Message Date
David E. O'Brien
588c983274 Merge rev 1.2 (a.out support) into GCC 3.1-snap. 2002-02-01 19:42:45 +00:00
David E. O'Brien
5e6e19c1c0 Use the stock 3.1-snap file now.
Until we can figure out how to reimpliment our custom format warnings
since the FSF developers totally revamped them, and took away the hooks
we were using to accomplish our desires.
2002-02-01 19:38:44 +00:00
David E. O'Brien
fcce64f0cf Merge rev 1.2 (add_bb) into GCC 3.1-snap.
Note that the "NO_PROFILE_DATA"/"NO_PROFILE_COUNTERS" bits were added
to the stock FSF GCC 2.97 (and thus 3.1) source as i386 Linux needed them
also.  (amazing what can get committed to the FSF GCC when needed by Linux...)
2002-02-01 19:19:08 +00:00
David E. O'Brien
d76ac4b1ae We use the stock [3.1-snap] version of this,
other than having to add $FreeBSD$...
2002-02-01 19:12:03 +00:00
David E. O'Brien
e743a6a21f Use the stock 3.1-snap file now.
I do not think our rev 1.2 changes are needed any longer.
2002-02-01 19:10:11 +00:00
David E. O'Brien
06c0bda4d1 The stock (3.1-snap) version of this file is used now.
The FreeBSD hacks now apply to `config.gcc'.
2002-02-01 18:56:12 +00:00
David E. O'Brien
27e13c821e Go back to stock [3.1-snap] file -- our previous mods are OBE. 2002-02-01 18:54:38 +00:00
David E. O'Brien
1a321c6fba We use the stock 3.1-snap file now.
All the -Wformat related code moved to c-format.c.
2002-02-01 18:53:34 +00:00
David E. O'Brien
dbefadbf9d Use the stock 3.1-snap file now.
I have folded all our local changes into the FSF CVS repo.
2002-02-01 18:50:05 +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
d549989694 Add the `WANT_FORCE_OPTIMIZATION_DOWNGRADE' knob. If set to an integer
value, it forces GCC to not optimize above this level.  For intance, GCC
made with "WANT_FORCE_OPTIMIZATION_DOWNGRADE=1" is a good setting for the
Alpha platform when building ports.
2001-08-16 06:05:18 +00:00
David E. O'Brien
67c5850a34 Correct the version number. 2001-08-01 18:35:54 +00:00
David E. O'Brien
5a108f415b libiberty file list for the 11-July-2000 import. 2001-07-12 19:03:33 +00:00
David E. O'Brien
872825029c Support the environmental var "GCC_OPTIONS". Which can hold a set of
default options for GCC.  These options are interpreted first and can be
overwritten by explicit command line parameters.  This provides one way of
adding [temporary] options to your world build w/o editing /etc/make.conf.
2001-05-29 09:54:45 +00:00
David E. O'Brien
741a3bc754 Teach gcc about '%+' so it will not warn when using '%+' in a format
string when using strftime(), since our libc supports it.

PR:             26827
Submitted by:   Marc Olzheim <marcolz@ilse.nl>
2001-05-25 19:00:07 +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
370d222b7f Remove MIPS support.
It has rotted quite badly and no one has provided updates for it.
2001-04-11 00:12:48 +00:00
David E. O'Brien
66d7199d63 Import the setjump/longjump exception handling fixes from GCC 2.95.3.test3
that were removed from GCC 2.95.3.test4 and the subsequent release due
to problems on HP-UX.  However, they work just fine on all the BSD's.

W/o these patches the following program segmentation faults if compiled
with -O2 (but not -Os or -O or -O0):

#include <stdio.h>

class A {
public:
  A() { printf("c'tor A\n"); }
  ~A(){ printf("d'tor A\n"); }
};

class foo : public A {
public:
  foo()  { printf("C'tor foo\n"); throw 8; }
  ~foo() { printf("D'tor foo\n"); }
};

int main(){
  try { foo fii; }
  catch (int){ printf("catch ...\n"); }
  return 0;
}
2001-03-24 01:58:31 +00:00
David E. O'Brien
8338ba3e77 This commit was generated by cvs2svn to compensate for changes in r74722,
which included commits to RCS files with non-trunk default branches.
2001-03-24 01:58:31 +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
59543307c9 This commit was generated by cvs2svn to compensate for changes in r74473,
which included commits to RCS files with non-trunk default branches.
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
6ec77f62cc Merge rev 1.2 (-fformat-extensions); 1.{7,9} (complain about -O2 on the
Alpha & FORCE_OPTIMIZATION_DOWNGRADE); 1.8 (-Wnon-const-format)
into GCC 2.95.3(RC#3).
2001-02-17 09:06:31 +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
5720952623 Upgrade instructions that describe the 11-July-2000 import. 2001-01-04 11:21:44 +00:00
David E. O'Brien
ac82a333b2 Merge rev 1.2 (-fformat-extensions); 1.{7,9} (complain about -O2 on the
Alpha & FORCE_OPTIMIZATION_DOWNGRADE); 1.8 (-Wnon-const-format)
into GCC 2.95.3(RC#1).
2001-01-03 18:05:31 +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
14193a95b7 Merge gcc 2.95.3-test1 changes onto vendor branch 2001-01-03 17:17:00 +00:00
Peter Wemm
8f90f252f4 Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #1 2001-01-03 17:16:05 +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
9ea458c501 Update the 3-June-2000 import delete list to keep mkdeps.[ch] which
is needed by the new C preprocessor.
2000-12-01 11:02:05 +00:00
David E. O'Brien
d14352244a Comment an endif. 2000-12-01 10:20:17 +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
035d965568 Helper listing file specs to remove from a FSF/GCC anoncvs checkout
before importing new versions of GCC.  This differs from FREEBSD-Xlist
in that this is for use only with anoncvs checkouts, not tarball'ed
releases [snapshots].

This delete list applies to the 3-June-2000 import.
2000-10-13 11:35:53 +00:00
David E. O'Brien
86d0ff06b7 Upgrade instructions that describe the 3-June-2000 import. 2000-10-13 11:32:20 +00:00
David E. O'Brien
507f261243 Fix conflicts. 2000-05-27 02:43:50 +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
a6f1a0f45e Clarify that the "yields only last 2 digits of year in some locales" warning
does not apply to BSD.

Submitted by:	ache
2000-04-18 20:01:07 +00:00
David E. O'Brien
6876d9f694 From FSFChangeLog: (tfaff): Now a function, not a string. All users changed.
I did not catch this on the EGCS 1.1.x --> GCC 2.95 upgrade.
So propogate this change to our custom hacks.

PR:		15549
Submitted by:	Naohiko Tsuji <yakisoba@osaka.interq.or.jp>
		Patrick Bihan-Faou <patrick@mindstep.com>
2000-04-18 04:13:29 +00:00
David E. O'Brien
6dcccc6b20 Sparc64 configure section.
Submitted by:	steve
2000-04-06 09:27:38 +00:00
David E. O'Brien
34f99151ae Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch"
branch as of March 29th, 2000.  [these are changes March 7-29th]
2000-03-30 03:23:37 +00:00
David E. O'Brien
e869a83616 This commit was generated by cvs2svn to compensate for changes in r58809,
which included commits to RCS files with non-trunk default branches.
2000-03-30 03:23:37 +00:00
David E. O'Brien
a18552bb75 Yell about -O2 on the Alpha. Forceably downgrade -O2+ if
"FORCE_OPTIMIZATION_DOWNGRADE" is defined when GCC is built.
2000-03-26 12:56:54 +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
40a121a27c Merge conflicts. 2000-03-09 10:11:08 +00:00
David E. O'Brien
ce5adf112e 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
David E. O'Brien
03e4472d23 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
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
f3fe9ba024 Merge in fixes from the GCC anoncvs tree. 2000-01-22 16:05:33 +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
8107fa79b5 Virgin import of the GCC 2.95.2 compilers 2000-01-17 12:16:41 +00:00
David E. O'Brien
0274b6ee0d This commit was generated by cvs2svn to compensate for changes in r56173,
which included commits to RCS files with non-trunk default branches.
2000-01-17 12:16:41 +00:00
David E. O'Brien
253745e1fc Allow the specification of a prefix for gcc to find all the various bits.
If one wishes to anchor the compiler toolchain tree somewhere other than /,
all one needs to do is set "TOOLS_PREFIX" to a different rooting.

Submitted by:	marcel (in a different format and reworked by me)
1999-12-29 14:42:46 +00:00
David E. O'Brien
a3d6eca585 Reduce the FreeBSD custom hacks to gcc.c by using the GCC provided methods
of changing the search dirs.  This also removes an used search dir,
removes unneeded redundancy, and a bugus dir we enherited on the i386
by baseing off of svr4.h.

We went from:
	install: /usr/libexec/(null)
	programs: /usr/libexec/<OBJFORMAT>/:/usr/libexec/:/usr/bin/:/usr/libexec/
	libraries: /usr/libdata/gcc/:/usr/libexec/:/usr/ccs/lib/:/usr/lib/

to:
	install: /usr/libexec/(null)
	programs: /usr/libexec/<OBJFORMAT>/:/usr/libexec/
	libraries: /usr/libexec/:/usr/lib/
1999-12-22 05:00:28 +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
7849745722 Provide complete coverage in switch statement to quiet -Wall. 1999-12-18 09:56:15 +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
cd423b136e * Use getobjformat() rather than manually do what it does.
* Don't conditional based on i386, but generalize to all FreeBSD arch's.
* Don't be a.out-centric, but generalize to handle other possible future
  formats.

Submitted by:	marcel (partial)
1999-11-29 10:41:21 +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
0e2abe6daa Upgrade support file for GCC 2.95.2. 1999-11-15 04:41:30 +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
David E. O'Brien
8b2496aa28 Virgin import of the GCC 2.95.1 compilers 1999-11-14 08:33:44 +00:00
David E. O'Brien
f91f0e2951 This commit was generated by cvs2svn to compensate for changes in r53142,
which included commits to RCS files with non-trunk default branches.
1999-11-14 08:33:44 +00:00
David E. O'Brien
47d43e699e Virgin import of gcc from EGCS 1.1.2 1999-11-14 08:31:18 +00:00
David E. O'Brien
1859f7348a This commit was generated by cvs2svn to compensate for changes in r53140,
which included commits to RCS files with non-trunk default branches.
1999-11-14 08:31:18 +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
152b6a190b Virgin import from GCC 2.95.1.
As of GCC 2.95 these files from libiberty are absolutely required:
	ansidecl.h	libiberty.h	splay-tree.h	splay-tree.c

To keep from having to import all of libiberty, they are imported here
for now.  Before all is said and done, libiberty might be imported, or
these files might move elsewhere.
1999-11-04 10:35:02 +00:00
David E. O'Brien
694985ca74 This commit was generated by cvs2svn to compensate for changes in r52878,
which included commits to RCS files with non-trunk default branches.
1999-11-04 10:35:02 +00:00
David E. O'Brien
dbbf50b2c1 Merge rev 1.2 [_exit() over exit()] into GCC 2.95.1. 1999-11-04 10:26:31 +00:00
David E. O'Brien
edc039af11 Merge rev 1.2 (use /tmp 1st, and then /var/tmp) into GCC 2.95.1. 1999-11-04 10:23:25 +00:00
David E. O'Brien
bb26fe914f Virgin import from GCC 2.95.1.
As of GCC 2.95 these files:
	choose-temp.c  demangle.h   getopt.h    obstack.c  pexecute.c
	cplus-dem.c    getopt.c     getopt1.c   obstack.h

were removed from the GCC compilers proper to libiberty.  To continue our
revision history, and to keep from having to import all of libiberty,
they are imported here as if they were never moved.
1999-11-04 10:20:05 +00:00
David E. O'Brien
8084f41299 This commit was generated by cvs2svn to compensate for changes in r52874,
which included commits to RCS files with non-trunk default branches.
1999-11-04 10:20:05 +00:00
David E. O'Brien
5e4f33b57d Structure field name changed. 1999-11-03 12:33:56 +00:00
David E. O'Brien
7429eb627b This brings rev 1.2 (reality check and document profiling extensions)
into GCC 2.95.2.
1999-11-01 20:09:07 +00:00
David E. O'Brien
145b487463 This adds rev 1.2 (-fformat-extensions) to GCC 2.95.2. 1999-11-01 19:51:19 +00:00
David E. O'Brien
8364821558 Merge rev 1.2 (a.out support) into GCC 2.95.2. 1999-11-01 18:56:02 +00:00
David E. O'Brien
3a81009a05 Add Alpha and proper x86 support to GCC 2.95.2.
[ Functionally speaking, this covers revs 1.{2,3} ]
1999-11-01 18:53:45 +00:00
David E. O'Brien
60766cff6e Merge our -fformat-extensions and printf0() into GCC 2.95.2. 1999-11-01 18:41:09 +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
77ba2fa135 Use the stock file for now. 1999-10-27 09:45:47 +00:00
David E. O'Brien
7870ac45b1 s brings rev 1.2 (document printf0()) into GCC 2.95.1. 1999-10-27 09:41:10 +00:00
David E. O'Brien
022c4aa3c3 This brings rev 1.2 (reality check and document profiling extensions)
into GCC 2.95.1.
1999-10-27 09:37:24 +00:00
David E. O'Brien
038686ab78 This adds rev 1.2 (-fformat-extensions) to GCC 2.95.1. 1999-10-27 09:31:52 +00:00
David E. O'Brien
b59570183a Use the stock file. 1999-10-27 09:23:37 +00:00
David E. O'Brien
aa3dc39c46 Use the stock file now. 1999-10-26 09:17:58 +00:00
David E. O'Brien
844fd17cbc Merge the FREEBSD_NATIVE and ELF/a.out support into GCC 2.95.1. 1999-10-26 09:13:47 +00:00
David E. O'Brien
d135dab220 Fix conflicts. 1999-10-26 08:57:00 +00:00
David E. O'Brien
b2d5bd75c2 Merge rev 1.2 (a.out support) into GCC 2.95.1. 1999-10-26 08:53:03 +00:00
David E. O'Brien
cd6526700d Merge our changes - this brings rev 1.2 (fix stabs ordering for a.out)
into GCC 2.95.1.
1999-10-26 08:47:58 +00:00
David E. O'Brien
c4fdf639ae Merge our changes - this brings rev 1.2 (-fformat-extensions)
into GCC 2.95.1.
1999-10-26 08:45:23 +00:00
David E. O'Brien
d9996e3a9a Merge our changes - this brings revs 1.{2,3} minus rev 1.4 into GCC 2.95.1. 1999-10-26 08:41:38 +00:00
David E. O'Brien
4c47b7c8d4 Fix conflicts. (dist src now contains our rev 1.1->1.2 changes) 1999-10-26 08:38:21 +00:00
David E. O'Brien
fd61cf3070 Add Alpha and proper x86 support to GCC 2.95.1.
[ Functionally speaking, this covers revs 1.{2,3} ]
1999-10-16 08:44:43 +00:00
David E. O'Brien
c6975f0768 Merge rev 1.2 (FreeBSD native support -- do not search the multitude of
extended include file paths that do not exist) into GCC 2.95.1.
1999-10-16 08:39:06 +00:00
David E. O'Brien
75b9cba00e Go back to stock file -- our mods are OBE. 1999-10-16 08:34:33 +00:00
David E. O'Brien
a659e1e661 Merge our -fformat-extensions and printf0() into GCC 2.95.1. 1999-10-16 08:28:26 +00:00
David E. O'Brien
c3c9b2d1d1 Stick with the stock version of this. 1999-10-16 08:21:54 +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
bceb635162 Merge BDE's printf format error fixes into GCC 2.95.1. 1999-10-16 07:57:37 +00:00
David E. O'Brien
5270ed0d16 Use the stock file here. 1999-10-16 07:56:14 +00:00
David E. O'Brien
923ab67efc 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
David E. O'Brien
eead50688d Merge rev 1.2 into GCC 2.95.1. 1999-10-16 07:35:28 +00:00
David E. O'Brien
b39cebb8f3 Fix conflicts. 1999-10-16 07:12:34 +00:00
David E. O'Brien
f32ac804b1 Virgin import of the GCC 2.95.1 compilers 1999-10-16 07:10:09 +00:00
David E. O'Brien
05da15fdb4 This commit was generated by cvs2svn to compensate for changes in r52287,
which included commits to RCS files with non-trunk default branches.
1999-10-16 07:10:09 +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
f269f9df8d Grrrrr. Put the $FreeBSD$ in a Bad Place. 1999-10-15 21:49:40 +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
46e3c32617 Merge rev 1.2 (a.out support) into EGCS 1.1.2. 1999-10-15 20:48:35 +00:00
David E. O'Brien
68883b2d58 Return these files back to their stock versions.
These files aren't used in either building GCC or with a GCC installation
in the "FreeBSD native" case.
1999-10-13 15:55:31 +00:00
David E. O'Brien
b50366c383 Virgin import of EGCS 1.1.2 1999-10-12 00:47:56 +00:00
David E. O'Brien
f04184a54b This commit was generated by cvs2svn to compensate for changes in r52143,
which included commits to RCS files with non-trunk default branches.
1999-10-12 00:47:56 +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
bdc228c639 Virgin import of EGCS 1.1.2 1999-10-03 09:19:40 +00:00
David E. O'Brien
72a8915368 This commit was generated by cvs2svn to compensate for changes in r51899,
which included commits to RCS files with non-trunk default branches.
1999-10-03 09:19:40 +00:00
David E. O'Brien
dc76ff5a60 Virgin import of EGCS 1.1.2 1999-10-02 21:54:32 +00:00
David E. O'Brien
360a324402 This commit was generated by cvs2svn to compensate for changes in r51885,
which included commits to RCS files with non-trunk default branches.
1999-10-02 21:54:32 +00:00
David E. O'Brien
929da3a6b2 * We have /var/tmp, not /usr/tmp. So use that where EGCS used the latter.
*  In the absence of the env vars TMPDIR, TMP, TEMP (which override this
   ordering), attempt to create temperary files in /tmp, P_tmpdir (/var/tmp),
   /usr/tmp, and .  until successful.
1999-10-02 21:50:07 +00:00
David E. O'Brien
261b37fb6c Virgin import of EGCS 1.1.2 1999-10-02 01:46:57 +00:00
David E. O'Brien
8167cb1aef This commit was generated by cvs2svn to compensate for changes in r51848,
which included commits to RCS files with non-trunk default branches.
1999-10-02 01:46:57 +00:00
David E. O'Brien
b6f18be149 Bring BDE's printf format error fixes into EGCS. 1999-09-19 11:00:01 +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
f23c668cbe Document the new i386 family options.
Obtained from:	invoke.texi
1999-09-19 09:00:24 +00:00
David E. O'Brien
7c61b15b97 Document -Os optimization. Add to -O{0,2} documentation.
Obtained from:	invoke.texi
1999-09-19 08:58:44 +00:00
David E. O'Brien
95a61b537f Merge revs 1.2-1.11 (doc fixes and updates to reflect reality) into the
EGCS 1.1.2 manpage.
1999-09-19 08:56:04 +00:00
David E. O'Brien
dbf974584d Merge rev 1.2 docs fixes into EGCS 1.1.2's manpage. 1999-09-19 08:18:18 +00:00
David E. O'Brien
08d266f93c Fix conflicts. This has a small part of rev 1.2 in it. 1999-09-18 11:14:59 +00:00
David E. O'Brien
8e9098e1f3 Fix conflicts. This merges revs 1.{2,3} with EGCS 1.1.2. 1999-09-18 11:02:28 +00:00
Bruce Evans
e6413fc21c Merge from ../egcs/gcc/gcc.c rev.1.5:
Don't exclude directories that the linker is "known" to search (/lib
and /usr/lib) when deciding whether to pass certain paths to the
linker.  Under FreeBSD, the linker is actually known to never search
/lib and to only search /usr/lib in the elf case.  Not passing the
paths causes at best causes confusing differences for cross compiling.
This change is conditional on FREEBSD_NATIVE but should be absolute.
1999-09-13 15:50:16 +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
7870fcbbe0 Fix conflicts. 1999-08-30 09:58:28 +00:00
David E. O'Brien
37f5c2fd7b Use the stock EGCS 1.1.2 file here. Our previous changes are OBE. 1999-08-30 09:54:31 +00:00
David E. O'Brien
a80c005075 This add Alpha and proper x86 support to EGCS 1.1.2. Functionally speaking,
this covers revs 1.{2,3}.
1999-08-30 08:41:19 +00:00
David E. O'Brien
698a4b1cdb This brings rev 1.2 (reality check and document profiling extensions)
into EGCS 1.1.2.
1999-08-30 07:51:44 +00:00
David E. O'Brien
562502babb This brings rev 1.2 (document printf0()) into EGCS 1.1.2. 1999-08-30 07:38:42 +00:00
David E. O'Brien
7214c26ced Fix conflicts. 1999-08-30 07:28:52 +00:00
David E. O'Brien
1ff1015930 Fix conflicts.
This adds rev 1.2 (-fformat-extensions) to EGCS 1.1.2.
1999-08-30 04:01:02 +00:00
David E. O'Brien
252b86ac0b Fix conflict. 1999-08-30 01:02:55 +00:00
David E. O'Brien
293515f678 Fix conflicts. 1999-08-30 00:01:36 +00:00
David E. O'Brien
e9a76e02f7 This brings rev 1.2 (FREEBSD_NATIVE) and rev 1.5 (mixed ELF/aout support)
into EGCS 1.1.2.
1999-08-29 23:53:46 +00:00
David E. O'Brien
b8871f91cb Correct vfork()/exit() to vfork()/_exit().
Also return "1" rather than "-1".  According to bde: -1 is unrepresentable.
Exit statuses must be >= 0 and <= 255, at least if chars are 8 bits and
shorts are 16 bits.  This seems to only be documented indirectly in exit.2
by referring to wait.2.  WEXITSTATUS() throws away all except the low 8 bits
of the status returned by _exit(), and the kernel actually only stores 8
bits of it (if chars are 8 bits, etc.), so wait() can't return any more bits.

Obtained from: rev 1.4 of contrib/gcc/gcc.c
1999-08-29 23:46:20 +00:00
David E. O'Brien
a462f21277 Fix conflicts.
This brings rev 1.2 (-fformat-extensions) into EGCS 1.1.2.
1999-08-28 11:46:53 +00:00
David E. O'Brien
d8f6a90a74 Fix conflicts.
This brings revs 1.{2,3} minus rev 1.4 into EGCS 1.1.2.
1999-08-28 11:27:19 +00:00
David E. O'Brien
c805b031d1 Fix conflicts. 1999-08-28 08:14:14 +00:00