211 Commits

Author SHA1 Message Date
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
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
ru
87ed4c32b3 MAN[1-9] -> MAN. 2001-03-27 14:59:06 +00:00
obrien
0684e6b4c3 Note rules of enguagement. 2001-03-15 23:20:13 +00:00
obrien
00ce34cb25 Include `dbxelf.h' via tm.h (the approved FSF/GNU way) vs. in our MI header. 2001-03-02 03:00:41 +00:00
obrien
c6f64d9c75 Define "FREEBSD_NATIVE" in the freebsd-native header to reduce the amount
of stuff (and thus length of error output) we put on the invocation command
line.  Also follow the new FSF/GNU style of giving the symbol a value so it
can be used in `if()' statements in addition to `#if' so seldomly compiled
in code (on some platforms) gets compiled always, to help reduce bit-rot.
2001-03-02 02:56:59 +00:00
obrien
bedab7f834 Do not need to define "VERSION" here -- we do it on the command line. 2001-03-01 23:07:18 +00:00
obrien
5fa97ec5bf Allow "NOSHARED" to be overridden.
Submitted by:	bde
2001-02-28 10:46:50 +00:00
obrien
1a27883a6c Make cc' and cpp0' staticly linked binaries in this development version
of the OS.
2001-02-17 09:46:41 +00:00
obrien
9ecd859376 Use a unified libgcc rather than a seperate one for threaded and
non-threaded programs.  This provides threaded programs with the
needed exception frame symbols.

parts submitted by:	Max Khon <fjoe@iclub.nsu.ru>
PR:	23252
2001-01-06 06:16:31 +00:00
obrien
0f4e383f2e The preprocessor used by the cc' driver is now named ccp0' to make it
clear this is the 1st pass of compilation and to make clear this particular
cpp is for `cc's use only.
2001-01-04 02:16:23 +00:00
obrien
a30b886e02 Add `gcov' to the mix.
Requested by:	David Malone <dwmalone@maths.tcd.ie>
PR:	18574
2000-12-23 19:49:28 +00:00
obrien
f7e4c19113 tm.h should include the platform specific ELF header if it exists. 2000-12-03 00:11:19 +00:00
obrien
032b642254 Add comment about a requirement in using a 64-bit `long' on i386. 2000-11-10 16:56:38 +00:00
obrien
f47f799a76 Link with libgcc_pic when building shared objects.
(note we should not just use GCC's default LIBGCC_SPEC as it doesn't use
the PIC version when linking shared)

Recomended by:	jdp
PR:	21983
2000-11-10 16:54:45 +00:00
obrien
1fb63986e9 Found remaining -kthread option that [sort of] supported using the
LinuxThreads port.  Dike it out as it was removed from freebsd.h on
19-July-2000 as 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.

Requested by:	jasone
2000-11-09 15:50:22 +00:00
obrien
7b694b0fc3 Scoot things over to the temporary *.295 source while I do major construction
on the mainline sources.
2000-06-04 06:56:23 +00:00
obrien
2a9348d6af Move c-decl.c out of the common libcc_int.a into the binary Makefiles
where it is used.  c-decl has symbols that conflict with several of the
cc1plus sources.

GNU `ld' was changed in Dec 1999 to be more be compatable with the way that
other linkers work (specifically in the Solaris linker).  The 2.9.1 `ld',
did the Wrong Thing in that if a library contained a common symbol that
matched a definition of that symbol in another (already linked in object)
it would also be linked in, even if there was no other reason to do so.
This is wrong.  The library should only be linked in if it contains
non-common, non-weak symbols which are needed by previously linked in
objects.
2000-05-24 20:02:21 +00:00
bde
b0b0b64001 Don't forget to clean f77.1.
Don't use "+=" for variables that are only set once.
2000-05-15 14:21:38 +00:00
steve
6ae88f375e Enable Haifa on sparc64 as well. 2000-04-02 22:51:02 +00:00
obrien
13cef0c010 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
obrien
4f7c2f0496 Make the SUBDIR list more granular to assist in my GCC hacking. 2000-03-19 23:47:50 +00:00
obrien
e573ed6d85 Make the build-tools objects weirder named so one can tell there is
something special going on here.
2000-03-15 05:13:53 +00:00
obrien
e0445c9696 Move some cflag contents down to where they are acutally used. 2000-03-13 09:12:36 +00:00
obrien
99f643a265 "Rev.1.45 of cc_tools/Makefile was a wrong fix for a problem introduced
in rev.1.44 (the egcs to gcc switch).  The problem is that print-rtl.o
is now needed to build some tools, but it wasn't added to the list of
objects which are specially handled because they are prerequisites for
tools."

Submitted by:	bde
2000-01-29 12:38:21 +00:00
jasone
5b0f1318a3 Track internal(!) libc symbol naming change. 2000-01-28 08:49:23 +00:00
obrien
b057923619 Merge cc_drv into cc_int. Merge more shared files into cc_int. 2000-01-24 20:12:05 +00:00
obrien
66353a5438 Simply cc_tools/Makefile by moving the parser generation to the respective
backends.
2000-01-24 09:17:09 +00:00
obrien
3ced96f0ca Style change to better match src/lib/'s Makefiles. 2000-01-24 08:44:30 +00:00
obrien
803231fc90 I *hate* using "i" in variables, looks too much like "1" or "l". 2000-01-23 22:46:00 +00:00
obrien
8144b5842a This patch solves the a cross-build problem where proj.c is both used by a
build-tools target and by the actual target.  In a cross-building situation
proj.o is both a native object and a cross-object (i.e., for the target
arch) and thus doesn't work.  Creating seperate opjects from the same
source file solves this...

This patch may also fix the following issue:

> it looks like -DNOCLEAN doesn't work too well.
> cd /usr/src/gnu/usr.bin/cc/f771; make build-tools
> make: don't know how to make /usr/obj/usr/src/i386/usr/include/stdarg.h. Stop

	This seems caused by wrong dependency information.  Dependency
	information shouldn't be created for build-tools sources.

Submitted by:	marcel
2000-01-14 09:28:25 +00:00
obrien
8c318abb02 Make mktemp.c a "normal" C implimentation when building this library. 2000-01-13 04:55:41 +00:00
obrien
882cc3f153 Drop the use of Bison for Byacc now that we don't need to depend on the
--broken-undeftoken-init Bison 1.25 bug.
2000-01-11 10:37:38 +00:00
obrien
b17f749ed0 Turn on a new /usr/bin/cpp that is a true binary rather than a shell script
wrapper.  /usr/bin/cpp knows about all the GCC predefined symbols and has
the functionality of the previous EGCS 1.1.2 /usr/libexec/cpp.
2000-01-04 03:48:08 +00:00
obrien
424e26f8b3 Didn't get these PREFIX specifiers removed with Makefile.inc rev 1.48.
Submitted by:	marcel
2000-01-02 22:57:34 +00:00
obrien
c34ec3d7da 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
obrien
f6e9d3853b Fix cut-n-paste braino. 1999-12-22 05:34:56 +00:00
obrien
8ed9d0ffe7 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
obrien
710e9c2403 Another style nit. 1999-12-22 02:16:21 +00:00
obrien
fe78d9d4b4 * Support a non-default sized `long' data type. This allows one to easily
build the compiler with a 64-bit longs on the i386.
* Comment an important dependancy.
* Fix some style nits

Submitted by:	bde
1999-12-22 02:03:28 +00:00
obrien
e54126e848 * Remove debugging cruft that accidently got committed.
* Support mixed OBJDIR handling such .a's are properly found with a mix of
  obj subdirs both w/in and outside the source tree works.  Requested by BDE.
1999-12-22 01:56:57 +00:00
obrien
21ba2a28bd Add libcc_fbsd.a that contains libc and libiberty routines needed in
bootstraping on FreeBSD specifically.

3.2 upgrade path tested by:	marcel
1999-12-19 20:22:42 +00:00
obrien
3fcb837fdb Revert rev 1.8.
NOT Approved by:	obrien
1999-12-08 16:00:08 +00:00
marcel
4c9e0c201c Maintain compatibility with FreeBSD versions that don't have mkstemps 1999-12-08 13:53:16 +00:00
marcel
66f5fff52e remove cc1obj from the original SUBDIR list since it's made optional
in the previous commit resulting.

Forgotten by: obrien
1999-11-28 12:30:20 +00:00
obrien
93b81d3874 Make ObjC bits optional. NO_OBJC ==> don't need `em. 1999-11-27 21:52:55 +00:00
obrien
ff47533fdb mkstemps() has been brought into 3-STABLE, so this isn't needed here
anymore as building -CURRENT sources on 3-STABLE was the reason for the
previous revision adding this.

Note that since the GCC Project moved mkstemp.c from GCC's world to
libiberty, we no longer support building -CURRENT sources on non-FreeBSD
boxes unless that box has a very simular libc mix as FreeBSD.
1999-11-20 00:32:05 +00:00
obrien
a0fd1a8f5c Remove the `sysctl' get osversion hack. There are issues with cross-hosting
builds, Also, `sysctl' is not a build-tool and I'd rather not make it one.
3-STABLE has been updated to deal with the main reason this came in.
1999-11-20 00:28:03 +00:00
obrien
4e5bce5012 Build genrtl.h before print-rtl.o.
Submitted by:	John Hay <jhay@mikom.csir.co.za> (basic idea, changed by me)
1999-11-17 15:50:45 +00:00
obrien
6f0a47ff70 Allow sub-Makefile's to determine the version of the OS we are make'ing on. 1999-11-17 07:42:40 +00:00