Commit Graph

215 Commits

Author SHA1 Message Date
David E. O'Brien
3d3dea1bbc Move the creation of the insn-*.c files from cc_tools to cc_int.
This gets rid of a cross build problem we have because we build
everything in cc_tools during the `make build-tools' (or `make depend')
stage.
2002-03-02 08:53:36 +00:00
David E. O'Brien
4cef291124 Use libgcc_p.a when -pg is in effect.
I am committing this here rather than in gcc/config/freebsd.h because the
profiled libgcc only exists with the native system compiler.  It is not
created by a stock FSF build and we will never be able to get these bits
committed to the FSF CVS repo.  Thus this is very much a FreeBSD "native"
issue.
2002-02-24 06:05:22 +00:00
David E. O'Brien
9237b562e5 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.
* Minimize a little bit more, things we dike out in the FREEBSD_NATIVE case.

Submitted by:	ru & obrien
2002-02-20 19:41:54 +00:00
David E. O'Brien
11dc790e85 Clean up the style a little bit. 2002-02-20 03:57:21 +00:00
David E. O'Brien
8f625d4e6c Do not define a 'MD_EXEC_PREFIX'. It is not needed, not used in the
cross case, and just ends up causing "/usr/libexec" being added to the
library search path.

Also remove misleading comment about 'STANDARD_EXEC_PREFIX'.  It is needed
if one does not set 'MD_EXEC_PREFIX'.

Submitted by:	ru
2002-02-20 03:10:54 +00:00
David E. O'Brien
838bc11f60 We need to build ``.depend'' early in the "build-tools" for the GCC
"build-tools".  If we do not do this, the "depend" stage of
"buildworld" will build ``.depend'' and it will record the wrong
library and header dependencies (DESTDIR=${WORLDTMP}).  Even worse,
the "all" stage may clobber build-architecture-format build tools
built in the "build-tools" stage with target-architecture-format ones.

Submitted by:	ru
2001-09-27 17:14:33 +00:00
David E. O'Brien
447ac70c38 I am no longer the FreeBSD GCC maintainer. 2001-09-10 16:05:39 +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
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
Ruslan Ermilov
e5ac5644e2 MAN[1-9] -> MAN. 2001-03-27 14:59:06 +00:00
David E. O'Brien
09ef0b3c85 Note rules of enguagement. 2001-03-15 23:20:13 +00:00
David E. O'Brien
e7d01c5d0b Include `dbxelf.h' via tm.h (the approved FSF/GNU way) vs. in our MI header. 2001-03-02 03:00:41 +00:00
David E. O'Brien
5064dbba95 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
David E. O'Brien
504da9b444 Do not need to define "VERSION" here -- we do it on the command line. 2001-03-01 23:07:18 +00:00
David E. O'Brien
16833ea1d9 Allow "NOSHARED" to be overridden.
Submitted by:	bde
2001-02-28 10:46:50 +00:00
David E. O'Brien
e43aa45a69 Make cc' and cpp0' staticly linked binaries in this development version
of the OS.
2001-02-17 09:46:41 +00:00
David E. O'Brien
3f6014e672 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
David E. O'Brien
766a31af14 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
David E. O'Brien
b811816356 Add `gcov' to the mix.
Requested by:	David Malone <dwmalone@maths.tcd.ie>
PR:	18574
2000-12-23 19:49:28 +00:00
David E. O'Brien
6e51951114 tm.h should include the platform specific ELF header if it exists. 2000-12-03 00:11:19 +00:00
David E. O'Brien
77765d0b13 Add comment about a requirement in using a 64-bit `long' on i386. 2000-11-10 16:56:38 +00:00
David E. O'Brien
a5f3753fed 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
David E. O'Brien
7472e09468 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
David E. O'Brien
c8a1d5ccc3 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
David E. O'Brien
8e5f64732b 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
Bruce Evans
b323234ba7 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 Price
dc886d4d77 Enable Haifa on sparc64 as well. 2000-04-02 22:51:02 +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
7dfa5832e9 Make the SUBDIR list more granular to assist in my GCC hacking. 2000-03-19 23:47:50 +00:00
David E. O'Brien
10f16f0fe2 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
David E. O'Brien
658cec5b94 Move some cflag contents down to where they are acutally used. 2000-03-13 09:12:36 +00:00
David E. O'Brien
aef79b9c89 "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
Jason Evans
9ac40dffaf Track internal(!) libc symbol naming change. 2000-01-28 08:49:23 +00:00
David E. O'Brien
9c8a631de5 Merge cc_drv into cc_int. Merge more shared files into cc_int. 2000-01-24 20:12:05 +00:00
David E. O'Brien
54e6aeb25d Simply cc_tools/Makefile by moving the parser generation to the respective
backends.
2000-01-24 09:17:09 +00:00
David E. O'Brien
01573adf71 Style change to better match src/lib/'s Makefiles. 2000-01-24 08:44:30 +00:00
David E. O'Brien
0eb6f1f6c1 I *hate* using "i" in variables, looks too much like "1" or "l". 2000-01-23 22:46:00 +00:00
David E. O'Brien
b243983f32 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
David E. O'Brien
f076712ac1 Make mktemp.c a "normal" C implimentation when building this library. 2000-01-13 04:55:41 +00:00
David E. O'Brien
a344203d03 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
David E. O'Brien
2d410dba14 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
David E. O'Brien
da5bfe2f43 Didn't get these PREFIX specifiers removed with Makefile.inc rev 1.48.
Submitted by:	marcel
2000-01-02 22:57:34 +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
8496474adb Fix cut-n-paste braino. 1999-12-22 05:34:56 +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
636e7b0455 Another style nit. 1999-12-22 02:16:21 +00:00
David E. O'Brien
6a36d46ee4 * 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
David E. O'Brien
f4d206c621 * 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
David E. O'Brien
665fb296a7 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
David E. O'Brien
e775328ff6 Revert rev 1.8.
NOT Approved by:	obrien
1999-12-08 16:00:08 +00:00