Commit Graph

43 Commits

Author SHA1 Message Date
Rodney W. Grimes 58d8a5e922 Make error message for no input files specified consistent across all
three compilers.

Submitted by:	Thomas Graichen <graichen@sirius.physik.fu-berlin.de>
1995-05-17 01:03:56 +00:00
Nate Williams 738ff67657 Gcc v2.6.3 currently has a problem with templates. Specifically, with
default switches, template functions get EXTERNAL linkage in each file
in which they occur, causing multiple definition errors during
linking.  The enclosed patch (from gnu.g++.bug) appears to solve the
problem (I enclose the accompanying message as well).

This patch fixes the multiply defined template functions bug
which was introduced in 2.6.1.

Submitted by:	"Justin T. Gibbs" <gibbs@estienne.cs.berkeley.edu>
Obtained from:  Jason Merrill at cygnus support on G++ mailing list
1995-03-17 21:24:25 +00:00
Andrey A. Chernov 4ad6de4413 Bump SHLIB_MAJOR to 263 to match ../Makefile.inc 1995-03-13 01:30:02 +00:00
Poul-Henning Kamp 0282d7a383 Don't install shared libgcc, we can't do it this way.
I will uuencode and check in to a "compat20" area the 2.0-RELEASE version.
1995-03-12 20:17:07 +00:00
Bruce Evans dad6f71aed Remove the last vestige of COMMENT_BEGIN. 1995-03-12 11:47:20 +00:00
Bruce Evans 60ae9f8840 Undo most of the changes in the gcc-2.6.3 "upgrade"
- Don't define NO_IMPLICIT_EXTERN_C here.  It is already the default
  (defined in i386/bsd.h).
- Don't lose the fixed comment about FUNCTION_PROFILER.
- Don't lose the define of NO_PROFILE_DATA.

Replace the unused define of COMMENT_BEGIN by the less-unused define
of ASM_COMMENT_START.  COMMENT_BEGIN was only defined in i386-specific
files and was not used in any part of gcc-2.6.3.  ASM_COMMENT_START
is defined for several targets and is used for stuff that we don't
support (dwarf).
1995-03-12 11:45:12 +00:00
Poul-Henning Kamp fd6eef4fd9 Remove a bunch of funtions that are in libc already.
Add back the shared libgcc, now that we don't use it to link against.
1995-03-12 09:37:26 +00:00
Nate Williams c6bc11c2f6 Added support for #pragma weak.
Obtained from: NetBSD
1995-03-11 04:07:26 +00:00
Nate Williams b18f8c1dda Updated the sources to gcc 2.6.3 with FreeBSD changes already applied.
Note: This isn't the most correct way, but it works and it's fast.
1995-03-11 03:51:44 +00:00
David Greenman c683527908 Define LINK_LIBGCC_SPECIAL_1 so that gcc will build static with libgcc. 1995-03-10 19:39:32 +00:00
Poul-Henning Kamp 93ccf2fa5e Since we are in the gcc bashing mood anyway: Add two changes for
basic-block profiling:
1. use a .stabs(25) symbol to link all the data structures together with.
The regular method isn't safe for the kernel.
2. add a BB before the prologue and add a BB after the epilogue,  this
alows us to find the length of any counted BB.  This is a cheap and somewhat
reasonable measure of actual cost.
1995-03-10 08:24:09 +00:00
Jordan K. Hubbard fdf5c453e0 We can't bail out on generating the pic archive yet.
Submitted by:	bde
1995-03-06 12:17:49 +00:00
Poul-Henning Kamp 3d496ce9e4 Don't make the shared libgcc. I don't belive we need the libgcc_pic.a
anymore, so I killed that as well.
1995-03-06 08:04:05 +00:00
Poul-Henning Kamp fcb2469be6 "Various very violent dissections
disables dysfunctional disinformed namei's,
needlessly negating namei cache."

These hacks cuts the number futile attempts made by cc and ccp to find
cross-compilers and other weird stuff.  A make of the BOOTFLP kernel
has 20% less namei calls now, that is from 30647 down to 24563 calls.
1995-03-05 20:34:41 +00:00
Andrey A. Chernov 95f51c5b57 Add doc subdir 1995-01-22 21:56:38 +00:00
Andrey A. Chernov ae46450f21 Add missing infopages 1995-01-22 21:54:49 +00:00
Andreas Schulz d5a22d48c4 Install also a gcc.1 manual page as a link from cc.1, as long as
we have the link cc to gcc.
1994-12-26 19:15:19 +00:00
L Jonas Olsson 0066ef2281 Added NO_IMPLICIT_C as our header files in standard locations are either
already C++ safe, or C++ header files.
This fixes the problem with parse errors in header files when compiling C++
files.
Recompiling libg++ also solves the undefined synbols problem.
1994-11-16 14:02:42 +00:00
Poul-Henning Kamp 8ab1d79d16 Integrated GCC-2.6.1 -> GCC-2.6.2 changes.
Notice that the libgcc DOESN'T change number, because there are no
changes.

Also now the gnu2bmake stuff is synchronized again.

I commit this so that others can test too.

You might want to postpone any "make worlds" until tomorrow, to
avoid any problems I didn't see in the first pass.

Thanks to Bruce for rounding up our changes to gcc.
1994-11-15 04:52:19 +00:00
Poul-Henning Kamp b80d982b84 As pointed out by Paul Traina, we need the libs to be 261.0 not 26.1. 1994-11-07 04:40:26 +00:00
Bruce Evans 374047c149 Restore my fixes to 2.6.0. The changes should not affect anything except
profiling and wchar_t.  Profiled libraries will shrink.

tm.h:
Our wchar_t is int, not unsigned short.
Always link statically if profiling.
Define all the SPECs together.

final.c, tm.h:
Don't emit unused profiling code and data.

aux-output.c:
Always preserve the PIC register if profiling.

aux-output.c, tm.h:
Implement FUNCTION_PROFILER_EPILOGUE (currently not used).

New:
tm.h:
Set the target defaults in the correct way.
1994-11-06 21:32:11 +00:00
Poul-Henning Kamp bf859da2b2 Explicitly tell cpp where to look for include files. 1994-11-04 21:40:39 +00:00
Poul-Henning Kamp 84e25b852b Bump the version-number of the "shared-gcc-internals" library. Will only
affect you if you decided to use that feature.
1994-11-03 20:37:05 +00:00
Jordan K. Hubbard 03076d6bbf Remove obsolete __386BSD__ predefine. 1994-11-03 14:29:57 +00:00
Poul-Henning Kamp fe7dee4700 ----------------------------------
GCC-2.6.1 COMES TO FREEBSD-current
----------------------------------
Everybody needs to 'make world'.

Oakland, Nov 2nd 1994.  In a surprise move this sunny afternoon, the release-
engineer for the slightly delayed FreeBSD-2.0, Poul-Henning Kamp (28),
decided to pull in the new version 2.6.1 of the GNU C-compiler.
The new version of the compiler was release today at noon, and hardly 9
hours later it was committed into the FreeBSD-current source-repository.
"It's is simply because we have had too much trouble with the version 2.6.0
of the compiler" Poul-Henning told the FreeBSD-Gazette, "we took a gamble
when we decided to use that as our compiler for the 2.0 release, but it
seems to pay of in the end now" he concludes.
The move has not been discussed on the "core" list at all, and will come as
a surprise for most Poul-Hennings peers.  "I have only discussed it with
Jordan [J. K. Hubbard, the FreeBSD's resident humourist], and we agreed that
we needed to do it, so ... I did it!".  After a breath he added with a grin:
"My email will probably get an all time 'disk-full' now!".
This will bring quite a flag-day to the FreeBSD developers, the patch-file
is almost 1.4 Megabyte, and they will have to run "make world" to get
entirely -current again.  "Too bad, but we just had to do this."  Was
the only comment from Poul-Henning to these problems.
When asked how this move would impact the 2.0 release-date, Poul-Hennings
face grew dark, he mumbled some very Danish words while he moved his fingers
in strange geometrical patterns.  Immediately something ecclipsed the Sun, a
minor tremor shook the buildings, and the temperature fell significantly.
We decided not to pursure the question.

-----------
JOB-SECTION
-----------
Are you a dedicated GCC-hacker ?
We BADLY need somebody to look at the 'freebsd' OS in gcc, sanitize it and
carry the patches back to the GNU people.  In particular, we need to get
out of the "i386-only" spot we are in now.  I have the stuff to take a
gnu-dist into bmake-form, and will do that part.

Please apply to phk@freebsd.org

No Novice Need Apply.
1994-11-03 06:52:42 +00:00
Paul Traina e8aae93744 Put a real man page in for cpp(1)... it needs to be converted to the mandoc
macros,  but it's good enough for now.
Obtained from: gcc 2.6.0 gnu distribution
1994-11-02 08:18:25 +00:00
Jordan K. Hubbard ad26d58d52 Link g++ -> c++, like I did with gcc -> cc. This is evil, but it's
now at least orthogonal evil.
1994-11-01 21:28:00 +00:00
Jordan K. Hubbard 4d9190ae3a Add LINKS to get gcc back. 1994-11-01 20:51:29 +00:00
L Jonas Olsson 0abc0dba57 Added f77 program. This is a modified version of the c++ program.
All it does is add -lf2c and -lm.
1994-10-25 14:36:50 +00:00
L Jonas Olsson 1f967df0a4 Added FORTRAN rule. 1994-10-25 13:36:02 +00:00
David Greenman b2075ecc44 Changed NO_SHARED_LIBCC_INT to SHARED_LIBCC_INT and changed the logic
as appropriate. This makes gcc not built with a shared cc_int the
default.
1994-10-25 07:02:23 +00:00
Bruce Evans 00f21b4680 Don't build profiled library. 1994-09-20 22:03:09 +00:00
Garrett Wollman 0385520e72 For Bruce: -DNO_SHARED_LIBCC_INT reverts back to static libcc_int.
This makes the back end run faster, but at the cost of speed.
1994-09-19 21:37:50 +00:00
Garrett Wollman b4aca961be Make GCC's back end be shared among all languages. cc, c++, and cpp now
no longer link against the whole library, since they don't require much
from it, but just compile the few small modules they actually need static.

This should save a measurable amount of space; compare:

-r-xr-xr-x  1 bin   bin   155648 Sep 18 18:00 cc1*
-r-xr-xr-x  1 root  bin  1048576 Sep 18 17:33 cc1.noshae*

Of course, the library takes up a bit of space, but when you add in the
savings from the C++ compiler, you more than make up the difference:

-r--r--r--  1 bin  bin  1157344 Sep 18 18:27 /usr/lib/libcc_int.so.26.0
-r-xr-xr-x  1 bin  bin  491520 Sep 18 18:27 /usr/libexec/cc1plus*
1994-09-18 22:35:55 +00:00
Rodney W. Grimes a861b63c28 Add q modifier (for long longs) support to -Wformat.
Reviewed by:	bde
1994-09-18 21:25:02 +00:00
Bruce Evans 4c06fcce4e Disable one of my extensions (function profiler epilogues) that
we're not ready for yet.  gcc and all profiled libraries will need
to be recompiled.  I suspect that the dependencies aren't complete
enough to do this automatically.
1994-09-02 20:39:41 +00:00
David Greenman 6439f9e911 Use gnumalloc to help reduce memory consumption. 1994-08-29 17:38:28 +00:00
Bruce Evans 2577a8acef Add dependencies on libraries to DPADD. Someday this should be done
automagically.  -lfoo has to be right to work, but ${LIBFO0} is too
easy to forget or misspell; nothing checks it and it should be
different for shared libraries.
1994-08-28 18:49:06 +00:00
Paul Richards 6f1537dd90 Fixed up everything so that the version of gcc that we install from the
FreeBSD system sources installs itself as the standard cc and c++. I've
fixed c++ to call cc instead of gcc and removed all the symlinks
that get created to g** version of the binaries. This means that
you can install a second version of gcc that does use the g prefix
alongside the "system" version of gcc. The only conflict is libgcc
but since we install it as libcc.so.26 and nothing else is likely
to that should be ok.

Reviewed by:
Submitted by:
1994-08-23 17:18:58 +00:00
Paul Richards c13a11ac11 Added -f to rm so install doesn't abort if the file doesn't exist.
Reviewed by:
Submitted by:
1994-08-20 06:28:37 +00:00
Garrett Wollman 0a9783e5a2 Define __FreeBSD__ to be 2. 1994-08-10 06:12:51 +00:00
Poul-Henning Kamp 250fc6c839 This gcc-2.6.0 should work with 2.0 1994-08-08 04:45:29 +00:00
Poul-Henning Kamp b75deec600 Here comes the right import of gcc-2.6.0. 1994-08-02 20:15:59 +00:00