Commit Graph

465 Commits

Author SHA1 Message Date
David E. O'Brien
8f3bf9945d Lock GCC w/o -m32 into 64-bit mode. 2003-05-01 15:00:46 +00:00
David E. O'Brien
a12d8aed9a We're changing the platform name from x86[_-]86 to amd64. 2003-04-26 20:04:38 +00:00
Ruslan Ermilov
4d63e8de71 Mark bits that do not require an object directory as such. 2003-04-01 12:37:54 +00:00
Ruslan Ermilov
2587947187 Install the gcov(1) manpage; kernbb(8) references it. 2003-02-24 22:58:19 +00:00
David E. O'Brien
685272c479 Gperf is usable again. 2002-12-04 17:34:21 +00:00
David E. O'Brien
f685377c2e Remove our custom mixed ELF/a.out support. This means the base compiler
now only produce ELF objects.  It also makes us closer to stock GCC, and
simplifies the set of changes we still need from stock GCC on every import.

Applauded by:	peter
Approved by:	re
2002-11-26 18:25:20 +00:00
Ruslan Ermilov
4192cfffe2 Bootstrapping aid for 4.0-RELEASE. 2002-11-13 11:50:40 +00:00
David E. O'Brien
837bd2fa82 Better emulate the FSF build for Sparc64. 2002-11-06 07:00:59 +00:00
David E. O'Brien
597e16e012 We HAVE_STPCPY now. 2002-10-20 07:50:20 +00:00
Alexander Kabaev
9734ce03a2 Add multilib_options variable definition.
Approved by:	obrien
2002-10-10 04:56:35 +00:00
Peter Wemm
66422f5b7a Initiate deorbit burn for the i386-only a.out related support. Moves are
under way to move the remnants of the a.out toolchain to ports.  As the
comment in src/Makefile said, this stuff is deprecated and one should not
expect this to remain beyond 4.0-REL.  It has already lasted WAY beyond
that.

Notable exceptions:
gcc - I have not touched the a.out generation stuff there.
ldd/ldconfig - still have some code to interface with a.out rtld.
old as/ld/etc - I have not removed these yet, pending their move to ports.
some includes - necessary for ldd/ldconfig for now.

Tested on: i386 (extensively), alpha
2002-09-17 01:49:00 +00:00
David E. O'Brien
1ca4970561 We're going to have to use a TARGET_ARCH of "x86_64" rather than "x86-64"
to make building GCC happy.
2002-09-12 15:56:21 +00:00
David E. O'Brien
60f9b09d26 Allow one to profile FORTRAN77 programs. 2002-06-09 00:03:56 +00:00
David E. O'Brien
9291f1b122 Restore revision 1.15 (use profiled C++ libs) which wasn't on the WIP_GCC31
branch and thus was lost in the shuffle on the move to Gcc 3.1.
2002-06-08 19:58:31 +00:00
David E. O'Brien
a32192cc4f Fix compiling FORTRAN77 programs. 2002-06-08 18:48:40 +00:00
David E. O'Brien
86f99a57b2 Read specs from /usr/libdata/gcc/specs if it exists. 2002-06-06 03:47:02 +00:00
David E. O'Brien
eb5cb11b70 The best we can do about man pages for the moment. 2002-06-05 21:30:46 +00:00
David E. O'Brien
f09cdb5b44 Search the "backward" C++ compatibility include dir also. 2002-06-05 16:10:59 +00:00
David E. O'Brien
1fd8bea50e We don't need bsd.dep.mk here. 2002-06-05 15:40:39 +00:00
David E. O'Brien
d09b305248 Install the i386 MMX headers, and IA-64 intrinsics functions.
Requested by:	peter
2002-06-04 20:00:29 +00:00
David E. O'Brien
8df64a7d4f We don't need this library any more. 2002-06-04 19:45:09 +00:00
David E. O'Brien
ca9578f3ef I missed the setting of PREFIX_INCLUDE_DIR when I visually santity checked
the output from a autoconfig run.
2002-05-27 17:48:28 +00:00
David E. O'Brien
5a87307b7f Use a more API denoting way to handle what is in libc and what isn't. 2002-05-18 04:49:44 +00:00
David E. O'Brien
00900fed40 Don't depend on gperf. 2002-05-18 00:18:00 +00:00
David E. O'Brien
9c2a81d5ba Remove some WIP bits that I didn't fully clean out before merging to HEAD. 2002-05-17 06:35:44 +00:00
Ruslan Ermilov
a43171c248 Back out revision 1.30 change.
cc1plus can apparently be built if you happen to have
/usr/bin/gperf, or set CXX to point to a C++ compiler
that can build gperf(1) in the bootstrap-tools stage
of buildworld.
2002-05-17 05:41:47 +00:00
David E. O'Brien
cffafa9e12 Do not cut `docs' out of the build with NO_CXX.
There are no longer GNU C++ specific info files, and it was a bug with Gcc
2.95 that NO_CXX would cause the C and CPP info files to not be installed.
2002-05-17 03:00:33 +00:00
Ruslan Ermilov
35abacef2a MD_EXEC_PREFIX doesn't work for the cross-arch compiler.
The change also makes the `cc -print-search-dirs' output
sane (the pre-3.1 way) in the non-cross case.

Draft reviewed by:	obrien
2002-05-16 15:22:58 +00:00
Ruslan Ermilov
2898afe627 Make it possible to build a cross compiler for alpha,
ia64 and sparc64 on systems that do not have atoll(3).
The "cross" here doesn't necessarily mean cross-arch.
2002-05-16 15:18:13 +00:00
David E. O'Brien
fcbdc1f8a0 Add x86-64 bits. 2002-05-15 22:40:50 +00:00
David E. O'Brien
23735e10dd The IA-64 config needs to know that we are using GNU ld & as.
Submitted by:	peter
2002-05-15 21:59:46 +00:00
Ruslan Ermilov
83f56d9ae4 Make sure to not yet build the GNU C++, but still allow
for the C++ progs to be built with e.g. an old compiler,
CXX=/usr/bin/c++, for the time being.
2002-05-15 16:29:45 +00:00
Ruslan Ermilov
423e9124d9 Mark all internal libraries with INTERNALLIB. 2002-05-13 11:24:03 +00:00
David E. O'Brien
6677f3e022 Restore some of the implementation from the Bmake gcc 2.95 bits.
In the end, I can do things more like the previous Bmake bits than was
apparent in the middle of the gcc31 WIP.
2002-05-13 03:27:03 +00:00
David E. O'Brien
5b3bcd0c77 I was finally able to repeat the -j breakage on one of my machines. Fix it.
I borrowed some ideas from Ruslan, and made the style match cc_tools/Makefile
2002-05-13 01:54:26 +00:00
David E. O'Brien
a0eb22834d Tidy up the cleanfiles. 2002-05-12 12:06:19 +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
c00b947e3f Sorry, I did not mean to turn collect2 back on yet. 2002-05-11 04:51:45 +00:00
David E. O'Brien
b42da20fd5 Revert rev 1.3 -- I tested using the wrong build compiler. 2002-05-11 00:15:45 +00:00
David E. O'Brien
943aada83d Actually we don't need any special YACC'ing here. The ones known to
Bmake are fine.
2002-05-10 23:20:54 +00:00
David E. O'Brien
d147c3da04 Touching the sjlj setting on IA-64 makes things not build.
Submitted by:	peter
2002-05-10 17:42:19 +00:00
David E. O'Brien
871d3affa7 Doh! Add IA-64 to our target list. 2002-05-10 17:23:04 +00:00
David E. O'Brien
415f2bb46f Gather up the stragglers that depends on genrtl.h. This is -j10 safe now. 2002-05-10 10:21:19 +00:00
David E. O'Brien
01c50f1782 This was *very* -j unsafe. Add a dependency on the common generated
headers to mostly make it -j1 safe.
2002-05-10 10:14:53 +00:00
David E. O'Brien
3cdd876f04 Bmake bits for Gcc 3.1.
Partially made possible by:	Wilko.Bulte@compaq.com
2002-05-10 08:54:50 +00:00
David E. O'Brien
7b4716843d Use MD_EXEC_PREFIX now to get us thru `buildworld'.
The problem is the GCC driver now turns STANDARD_EXEC_PREFIX into a relative
path -- "<basename argv[0]>/../../libexec" for our normal install location.
However, in the middle of `buildworld' we need
"<basename argv[0]>/../../../../libexec" due to the prefix we tell the GCC
driver.  But either the GCC driver is buggy, or we are confusing it, as it
tries to exec "<basename argv[0]>/../../libexec/cpp0" as if it were installed
in the normal place (but isn't).
MD_EXEC_PREFIX is still absolute, so I'll use that for now.  I would like to
later make it so MD_EXEC_PREFIX is set only for `buildworld', as
MD_EXEC_PREFIX is also in the search path for libraries. Don't ask me why!
Another way is to add ${OBJFORMAT_PATH} (as set in CROSSENV) to the PATH
in src/Makefile.inc's WMAKEENV.
2002-05-10 08:41:46 +00:00
David E. O'Brien
066003a540 Gcc 3.1 now offers both a C99 and a K&R traditional C preprocessor.
This is the ISO C99 one.
2002-05-10 02:46:01 +00:00
David E. O'Brien
dd7731cf37 Bmake bits for GCC 3.1. 2002-05-10 02:36:12 +00:00
cvs2svn
ff24f7832c This commit was manufactured by cvs2svn to create branch 'WIP_GCC31'. 2002-05-09 00:52:10 +00:00
David E. O'Brien
354b719bf7 Gcc 3.1 now offers both a C99 and a K&R traditional C preprocessor.
This is the traditional one.
2002-05-09 00:52:09 +00:00
David E. O'Brien
b9b736e422 Using ${.ALLSRC} here is dangerious as it sometimes picks up more
"sources" than desired.
2002-05-08 02:46:10 +00:00
David E. O'Brien
672528fa3d Make the YACC'ing more bullet proof. 2002-05-07 01:41:46 +00:00
David E. O'Brien
baef823236 The GCC target name does not always match our platform's name.
MFC: rev 1.61 (needed a different way to keep from multiple inclusion)
2002-05-07 01:26:58 +00:00
David E. O'Brien
66ecbefa3d The HAVE_AS_GOTOFF_IN_DATA definition needs to depend on obj format. 2002-05-07 01:19:56 +00:00
David E. O'Brien
a5cc86f163 Add support for using the profiled versions of the C++ (and related) libs. 2002-05-01 19:19:22 +00:00
David E. O'Brien
e5ccba11ac Don't use "GCCDIR" as the multiple inclusion protector. Subdir Makefiles
may want to override GCCDIR and this gets in the way.
2002-04-23 00:10:18 +00:00
David E. O'Brien
9d838dbb47 Remove the #ifdef IN_GCC junk. We *know* we are building GCC with these
bits.  Also remove comment about keeping in sync with other instances in
the source tree -- it was too easy to get out of sync, so the other
instances now use this instance.
2002-04-15 03:41:47 +00:00
David E. O'Brien
d99ab028e5 Note that HAVE_GAS_SHF_MERGE is a new feature, and it can be surprising if
one does not know about it.

Experienced by:	peter
2002-04-15 03:39:20 +00:00
David E. O'Brien
d6c4eef6dd Turn off collect2.
collect2 was added based on the need of -frepo.  However, -frepo is currently
broken on -CURRENT (Gcc 2.95.4 20020320 [FreeBSD] / ld 2.12.0 [FreeBSD]
2002-04-10).  It is also broken on RELENG_4 (Gcc 2.95.3 20010315 / ld
2.11.2 20010719), so there is no need to MFC collect2 there yet.  I have
a feeling the brokeness is due to the wide difference between the libiberty
bits of Gcc 2.95 and the later ld.

Testing by:	fjoe
2002-04-15 03:15:40 +00:00
David E. O'Brien
8089148b52 In the cross case we need to provide TARGET_MACHINE. 2002-04-11 18:40:37 +00:00
David E. O'Brien
8f5dad4aa0 Update infodoc building for GCC 3.1. 2002-04-11 02:56:30 +00:00
David E. O'Brien
cb2a59bc57 In the cross case we need to provide TARGET_MACHINE. 2002-04-10 02:20:48 +00:00
David E. O'Brien
e228f1da77 Change YACCing.
Submited by:	ru
2002-04-10 01:48:47 +00:00
David E. O'Brien
9833f59b8c Fine! I cannot freaking take the bikeshed any more.
These binaries will be static, peroid.
2002-04-08 18:48:38 +00:00
David E. O'Brien
bf4990bb76 Fix search path. 2002-04-07 08:05:33 +00:00
David E. O'Brien
9e3b001017 Bmake bits for GCC 3.1. 2002-04-06 23:18:01 +00:00
cvs2svn
4e6aeb72b4 This commit was manufactured by cvs2svn to create branch 'WIP_GCC31'. 2002-04-06 23:16:27 +00:00
David E. O'Brien
f99189726f Break some things used by the front-ends from Makefile.inc that cannot
be used build-wide for GCC 3.1.
2002-04-06 23:16:26 +00:00
David E. O'Brien
dbb66afa0b Build and install collect2. This is needed for some C++ programs. 2002-04-06 23:12:46 +00:00
David E. O'Brien
cf5eb7bb89 Break some things out of Makefile.inc that cannot be used build-wide
for GCC 3.1.
2002-04-06 22:37:19 +00:00
David E. O'Brien
a5cf1da8f8 Expand the toolchain a little bit.
Requested by:	fjoe (collect2), des (protoize)
2002-04-06 09:35:06 +00:00
David E. O'Brien
bb5545c63e Tell GCC 3.1 our capibilities. 2002-04-05 12:14:36 +00:00
David E. O'Brien
6d57d58120 A little more reorg. 2002-04-05 10:23:19 +00:00
David E. O'Brien
93c646073d MFC: tidy up YACCing. 2002-04-04 19:44:34 +00:00
David E. O'Brien
051ab09117 Minor reorg. 2002-04-04 19:36:33 +00:00
David E. O'Brien
aeccb79001 Minor style tweak. 2002-04-04 19:26:13 +00:00
David E. O'Brien
fda035bb2c MFC: remove 2.6.3 cc_int shlib cruft and s/GNU_ARCH/TARGET_ARCH/g. 2002-04-04 18:30:57 +00:00
David E. O'Brien
953bfb1637 Remove some local cruft that snuck in yesterday. 2002-04-04 18:24:56 +00:00
David E. O'Brien
d93d97cd31 Make the sed line a little bit more clear (it will get messier later). 2002-04-04 01:25:26 +00:00
David E. O'Brien
51b5a2f445 Set NOSHARED conditionally. 2002-04-04 00:50:14 +00:00
David E. O'Brien
fe7e92414e Clean up the YACCing. I don't know why we cannot leave the .y's as .y's.
So lets see if doing so causes anyone trouble.
Also use make(1)'s assistance in using the right file.  It knows the
dependency, so lets just ask it.
2002-04-04 00:26:20 +00:00
David E. O'Brien
fdae72d720 Remove duplicate objc-parse.h. While we are at it, just spell it correctly
as c-parse.h since that is how the consumers spell it.
2002-04-04 00:14:58 +00:00
David E. O'Brien
5ccf2039e4 Get rid of GCC_ARCH, and just use plain TARGET_ARCH.
We got rid of the MIPS le/be stuff that needed this a long time ago.
2002-04-04 00:11:00 +00:00
David E. O'Brien
0f0016ae39 Remove some 1996 GCC 2.6.3 cruft for building a shared cc_int lib. 2002-04-03 03:18:15 +00:00
David E. O'Brien
fd6d292255 Properly get the version number after the 2.95.4 upgrade. 2002-03-21 01:34:56 +00:00
David E. O'Brien
e4753251f7 Matching contrib/gcc/gcc.c commit of rev 1.23, remove misleading comment
about 'STANDARD_EXEC_PREFIX'.  It is used now and is needed if one does not
set 'MD_EXEC_PREFIX'.

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.
2002-03-05 00:39:29 +00:00
David E. O'Brien
a370115d7d 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
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
c21c782ba5 Clean up the style a little bit. 2002-03-02 01:06:42 +00:00
David E. O'Brien
4a88cacfed MFC: rev 1.13 (use libgcc_p.a when -pg is in effect) 2002-03-02 00:54:17 +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
a19de87a67 I used this for one of the gcc 2.97 snapshots.
It is here in case we decide we want the directory to match the binary name
since neither the binary nor the source file(s) are named 'cccp' any longer.
2001-12-18 03:24:18 +00:00
David E. O'Brien
05f25aae14 Changes in order to compile GCC 3.0.2. 2001-12-18 03:22:23 +00:00
David E. O'Brien
3dbb6175cd Working changes for GCC 3.0.2. 2001-12-18 03:21:49 +00:00
David E. O'Brien
523a651a6f Changes in order to compile GCC 3.0.2.
The for-GCC-only preprocessor is now built using cpplib.
2001-12-18 03:20:31 +00:00
David E. O'Brien
8561d1123d Changes in order to compile GCC 3.0.2.
Really irritating changes are the "forced" layering of malloc + friends
in order to use the GNU versions.  Sorry, we have a *very* fine malloc,
and we will use it.  Period.  Even more irritating is that the GNU people
now want to replace ctype also!!  So we partially dike it out here.
2001-12-18 03:19:11 +00:00
David E. O'Brien
e5d7f6b935 Regenerated for GCC 3.0.2. 2001-12-18 03:15:02 +00:00
David E. O'Brien
9aef790094 Changes in order to compile GCC 3.0.2.
Boy did a lot of files get added or moved around.
2001-12-18 03:13:22 +00:00
David E. O'Brien
9018d6738b Changes in order to compile GCC 3.0.2. 2001-12-18 03:12:24 +00:00
David E. O'Brien
3a7789cfeb Working changes for GCC 3.0.2. 2001-12-18 03:11:35 +00:00
David E. O'Brien
1a2f149713 Working changes for GCC 3.0.2.
We now have to use the GCC stdarg.h varargs.h.  We simply have no choice
as it has an internal representation that we really cannot properly define
in our headers.
2001-12-18 03:10:56 +00:00
David E. O'Brien
2c8b5b1291 Working changes for GCC 3.0.2.
This thing grew.  We now have to link with many more files as if it
were one of the driver programs.  We also have to deal with the very
irritating layering of malloc and friends.  Our malloc works *very*
well thank you.  Thus we will use it.
2001-12-18 03:09:26 +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
Marcel Moolenaar
1bc51f6ae7 Maintain compatibility with FreeBSD versions that don't have mkstemps 1999-12-08 13:53:16 +00:00
Marcel Moolenaar
3792991203 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
David E. O'Brien
690d1b00ac Make ObjC bits optional. NO_OBJC ==> don't need `em. 1999-11-27 21:52:55 +00:00
David E. O'Brien
f2b766ceb4 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
David E. O'Brien
4f095fcfa7 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
David E. O'Brien
5918196236 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
David E. O'Brien
e91a7e08cf Allow sub-Makefile's to determine the version of the OS we are make'ing on. 1999-11-17 07:42:40 +00:00
David E. O'Brien
312af410fe Add `mkstemp.c' to the mix if we are building on something older than
__FreeBSD_version < 400004.

This allows -STABLE to build -CURRENT sources.

[mkstemps() was added to -current just before the version bump to 400004
(a matter of hours in this case), so the test is as exact as possible.]

Submitted by:	marcel
1999-11-17 07:39:51 +00:00
David E. O'Brien
eb33411e9b Cut over the system compiler from from EGCS 1.1.2 to GCC 2.95.2. 1999-11-15 04:16:19 +00:00
David E. O'Brien
07123604c5 Purely cosmetic changes to lineup targets. 1999-11-15 00:29:00 +00:00
David E. O'Brien
356f7b8cd1 Cosmetic removeal of a trailing white space. 1999-11-15 00:25:01 +00:00
David E. O'Brien
b7969a0a9b Our capibilities updated for GCC 2.95.2. 1999-11-06 05:57:53 +00:00
David E. O'Brien
da488b7086 Minor cosmetic changes in an attempt to improve consistancy. 1999-11-04 04:46:04 +00:00
David E. O'Brien
96ace1a290 `make' will fail if hash.h exists for some reason and gxx-hash needs to be
rebuilt.  Fix this.

Submitted by:	bde
1999-10-30 08:08:29 +00:00
David E. O'Brien
831ac5c655 Add a comment explaing the linking and segrated the old and new cases a little. 1999-10-12 20:27:53 +00:00
David E. O'Brien
047419e54f Change the name of the file generaged from gxx.gperf from "hash.h" to
"gxx-hash.h" with hopes of getting Cygnus to do the same.  We create a link
to the old name for now.
1999-10-12 20:25:11 +00:00
David E. O'Brien
d0248b64a3 Move -I of cc_tool/ before the GCCDIR ones.
When I imported EGCS into contrib/egcs/ I failed to prune out
egcs/gcc/cp/hash.h which is generated from gxx.gperf.  Thus `cc1plus' wasn't
using the hash.h we generated by cc/cc_tools/Makefile, but rather the one in
egcs/gcc/cp/.

When I imported contrib/gcc/ I did prune gcc/cp/hash.h.  Unfortunately the
GCC maintainers weren't smart on their file nameing and there is also a
egcs/gcc/hash.h (name overloading does NOT work as well on the filesystem
as in C++...).  Due to the -I ordering we are were then picking up gcc/hash.h
when compiling `cc1plus'.
1999-10-12 20:22:38 +00:00
Peter Wemm
9b7a44a60e $Id$ -> $FreeBSD$ 1999-08-27 23:37:10 +00:00
Peter Wemm
d3c6699913 Make gcc work on the Alpha again. alpha/alpha.h is used instead of svr4.h 1999-08-19 21:19:36 +00:00
David E. O'Brien
5e796f18b4 Rev 1.36 also includes functional chagnes I intended to commit seperately.
Configuration header inclusion has been moved around to reduce diffs from
the offical GCC distribution.  We now generate the same ``tm.h'' produced by
gcc's `configure' script [minus all the "#ifdef IN_GCC"'s].

Jeff Law of EGCS/Cygus says the new "approved" way of doing configure-related
includes is to list them all in ``tm.h'' rather than having the architure
config headers include large numbers of other configure headers.
1999-08-16 09:55:16 +00:00
David E. O'Brien
b08a091980 Purely cosmetic cleanups.
- Id tag layout wrong.
 - "FOO =" -> "FOO=".
 - 4 space indention on continuation lines rather than a <tab>

Basic idea checked by:	bde
1999-08-16 04:10:48 +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
0931d97ff3 Use Bison with "--broken-undeftoken-init". 1999-08-14 22:44:36 +00:00
David E. O'Brien
440976accd Rather than deleting the grammer files during building, move them out of the
way.  This way they are available for inspection when debugging problems.
1999-08-14 22:40:01 +00:00
Bruce Evans
d04f1c6acc Forgotten in previous log message:
PR:		misc/12920
1999-08-08 07:31:47 +00:00
Bruce Evans
bb9ac9f631 Install c++filt in /usr/libexec/${OBJFORMAT}. The version that
was installed in /usr/bin normally got clobbered when objformat
was installed.  Indirection through objformat is correct although
underscore handling is the only thing that differs for aout and
elf -- going through objformat is the easiest way to set c++filt's
underscore handling flag correctly.
1999-08-08 07:30:02 +00:00
David E. O'Brien
c4dfebb2a6 Only use Bison to generate cc1plus's parse code. 1999-08-01 15:44:51 +00:00
David E. O'Brien
33f62e7951 Go back to using Bison for now, due to `make world' breakage.
BTW, if our src/contrib/bison is upgraded from 1.25 to the current 1.27
offering, the build breaks exactly the same way....
1999-07-29 09:49:29 +00:00
David E. O'Brien
62562698d8 Use Yacc rather than Bison. 1999-07-28 07:22:08 +00:00
David E. O'Brien
316dc6cb31 The Unix way is arguments come before an input file name, not after. 1999-07-28 07:19:38 +00:00
Bruce Evans
636c549064 Don't override the (correct) default for BINDIR. 1999-07-04 15:51:39 +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
fe35213c90 use `target' macro crafted in parent Makefile rather than making our own
Submitted by:	Warner Losh
1999-04-25 17:23:28 +00:00
David E. O'Brien
90a3081603 Hookup FORTRAN info docs.
Submitted by:	Mark Murry
1999-04-25 17:09:48 +00:00
David E. O'Brien
52ae8152fa Sorry didn't get this in the last commit: MACHINE_ARCH changes courtesy
of Warner Losh <imp@village.org>.  (he's got plans for FreeBSD mips :-))
1999-04-22 20:12:21 +00:00
David E. O'Brien
a834cf28a5 Use GNU_ARCH' in most places where MACHINE_ARCH' was used. Building for
mips has some particularlies.
1999-04-22 19:35:16 +00:00
David E. O'Brien
403563f5aa Have config/i386/freebsd.h directly include att.h. I have no idea why stock
EGCS doesn't just do this.  None of the rest of our other platforms will need
this file.
1999-04-22 00:20:36 +00:00
David E. O'Brien
df35f426d2 Add FORTRAN support. 1999-04-18 09:44:36 +00:00
David E. O'Brien
b414fa0fb0 Move HAVE_CONFIG_H define to global cc/ Makefile so all can share the benifits. 1999-04-18 09:42:56 +00:00
David E. O'Brien
1e2318cd6a *** empty log message *** 1999-04-18 09:41:49 +00:00
David E. O'Brien
58485a8a93 Use inherited BINDIR defintion. 1999-04-18 09:39:38 +00:00
David E. O'Brien
0af4cf134e Include the parent Makefile.inc so we get a proper BINDIR definition.
As explained by:	bde
1999-04-18 09:36:11 +00:00
David E. O'Brien
6253064e3f Hookup the new FORTRAN compiler. Define `NO_FORTRAN' to not compile it. 1999-04-18 09:34:01 +00:00
David E. O'Brien
083f04bdd4 Add the EGCS g77 FORTRAN compiler. 1999-04-18 09:33:25 +00:00
David E. O'Brien
ec237986a1 Minimum change to convert from home-grown f77 to EGCS's g77.
(Pre-bdelinted)
1999-04-18 09:22:56 +00:00
David E. O'Brien
aff31301d4 Make room for g77. 1999-04-18 09:17:31 +00:00
Mark Murray
a4e77b9b5f As the INFO stuff un doc/ works, we may as well build/install it.
OK'ed by:	obrien
1999-04-13 17:56:28 +00:00
Bruce Evans
192e833d22 Cleaned up egcs changes (mainly to minimise diffs with the gcc version
and restore order to sorted lists).
1999-04-11 04:32:42 +00:00
Bruce Evans
5c2d3329d8 Fixed unusable dependencies in `.depend'. The following comment in the
code still applies, but the code attached to it had rotted:

# ../Makefile.inc will put an absolute path to our objdir in CFLAGS.
# Prevent mkdep from using it, so that we don't have to give rules for
# aliases of generated headers.

Many other makefiles seem to have the same bug (i.e., spelling "." as
"${.OBJDIR}" or as an even more complicated alias in -I directives).
1999-04-11 04:11:27 +00:00
Bruce Evans
c4980fa9d1 Fixed world breakage. Fixed (?) building with -jN (N > 1).
The previous commit made things worse by breaking the -j0 case and
moving around the breakage for the -jN case.  The fix involves
restoring .ORDER statements that were deleted in the previous commit,
removing wrong special handling of tree-check.h, and rewriting the
generation of fudged dependencies based on an idea I got from the
previous commit (filter out problematic objects first).
1999-04-09 18:46:48 +00:00