325 Commits

Author SHA1 Message Date
obrien
95b6324d69 Allow for better control over the GCC front-end when building a cross
compiler.

* Undo the diking out of cross compiler logic from gcc.c rev 1.16.
* Add the `CROSS_STARTFILE_PREFIX' knob.
* Add our own definition of `STANDARD_INCLUDE_DIR'.  This should have been
  included in freebsd-native.h rev 1.5.
2002-03-05 00:17:24 +00:00
obrien
140f4d987a Allow one to specify a STANDARD_EXEC_PREFIX for GCC (but not BINUTILS) bits. 2002-03-03 04:18:00 +00:00
obrien
71fa5068bb Better granularity of the FREEBSD_NATIVE #ifdef's. 2002-03-02 09:58:48 +00:00
obrien
d3a0922fcf 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
obrien
be9fa5e36c Use the stock [3.1-snap] version of this. 2002-02-06 05:10:06 +00:00
obrien
3e10a6d863 A slightly more general version of rev 1.2 that might be more acceptable
to the GCC maintainers.
2002-02-06 05:07:17 +00:00
obrien
fecfd9c398 Merge BDE's printf format error fixes (rev 1.2) into GCC 3.1-snap. 2002-02-06 05:07:01 +00:00
obrien
6e12cd4bd2 Use the stock GCC 3.1-snap version of this. 2002-02-06 05:05:49 +00:00
obrien
1b2d183105 A slightly different version of rev 1.2 that is closer to something the
GCC maintainers might actually accept.
2002-02-06 05:04:25 +00:00
obrien
1f24b90f6a Merge rev 1.2 (printf format error fixes) into GCC 3.1-snap. 2002-02-06 05:03:43 +00:00
obrien
6687f51a11 Use the stock [3.l-snap] version of this. 2002-02-06 05:02:18 +00:00
obrien
a33632ba5a Use the stock [3.1-snap] file. 2002-02-06 05:01:51 +00:00
obrien
bad15f47f4 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
obrien
757b03860f Merge the stock gcc-3.1_snap file onto HEAD. 2002-02-06 05:00:48 +00:00
obrien
7d7df915b2 Merge rev 1.2 (-fformat-extensions) and rev 1.7 (optimization downgrade)
into GCC 3.1-snap.
2002-02-06 04:59:39 +00:00
obrien
489c41bdc6 We use the stock [3.1-snap] file. 2002-02-06 04:49:08 +00:00
obrien
d2767dc723 Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.{5,13} (ELF, and objformat support);
1.16 (allow specification of TOOLS_PREFIX); 1.21 ("GCC_OPTIONS")
into GCC 3.1-snap.

Note that rev 1.20 was fixed in the stock GCC 3 sources.
2002-02-06 02:53:38 +00:00
obrien
47aa5e488c Merge rev 1.2 (a.out support) into GCC 3.1-snap. 2002-02-01 19:42:45 +00:00
obrien
29165fd98d 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
obrien
71e646a649 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
obrien
ee24f3094c We use the stock [3.1-snap] version of this,
other than having to add $FreeBSD$...
2002-02-01 19:12:03 +00:00
obrien
e638c832dc 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
obrien
460c84b46f 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
obrien
32e6f721d0 Go back to stock [3.1-snap] file -- our previous mods are OBE. 2002-02-01 18:54:38 +00:00
obrien
a1d6d49034 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
obrien
9aba5b9cc9 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
obrien
170a7bc58b 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
obrien
c9ab9ae440 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
obrien
9e7f705ccb 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
2ecfd8bd04 Remove files that have been removed from vendor branch 2002-01-27 22:41:09 +00:00
peter
b91a8c787a 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
obrien
d40943f1a4 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
obrien
cd3f3aab8e 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
obrien
6b5bce7420 Correct the version number. 2001-08-01 18:35:54 +00:00
obrien
631aa159a9 libiberty file list for the 11-July-2000 import. 2001-07-12 19:03:33 +00:00
obrien
9e25b214f6 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
obrien
2e368cdccd 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
obrien
0983569eda 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
obrien
a7ff9d3249 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
obrien
686317c48c Remove MIPS support.
It has rotted quite badly and no one has provided updates for it.
2001-04-11 00:12:48 +00:00
obrien
83655f473e 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
obrien
4caa529cad 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
obrien
831148a589 Remove some files that are no longer in the FSF branch. 2001-03-19 19:50:17 +00:00
obrien
6830f79554 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
obrien
bc8a8f48cf Virgin import of the GCC 2.95.3 compilers 2001-03-19 19:46:16 +00:00
obrien
b9bbde2f6f 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
obrien
dcea9e494b 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
obrien
c2acd8fa31 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
obrien
370995c37f 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
obrien
24ec32f09f Stylistic changes mirroring ones done in the FSF/GNU 3.0 development sources. 2001-02-28 22:37:32 +00:00