Commit Graph

51 Commits

Author SHA1 Message Date
Bruce Evans
1f4f6e61d4 Enabled my FUNCTION_PROFILER_EPILOGUE code and added option
-mprofiler-epilogue to support it and documented the option.

cc.1:
Listed all the machine-dependent options, even the temporary
debugging ones.

invoke.texi:
Fixed the sense of -mno-ieee-fp.
Sorted the machine-dependent options.
1995-12-26 01:34:39 +00:00
David Greenman
694ae82790 When building -static, link with special scrt0.o instead of crt0.o. This
reduces the text size by about 1.5Kbytes.
1995-10-18 04:28:31 +00:00
Garrett Wollman
401a157932 Make cc1plus smaller and faster as was done for cc1 by linking static. 1995-10-02 16:37:16 +00:00
David Greenman
1661971e0f Build cc1 nonshared. This actually results in it consuming 40K *less* disk
space and improves compile times by a few percent.
1995-10-01 20:16:27 +00:00
Poul-Henning Kamp
0ad2ff70ee Stop using gnumalloc. 1995-09-22 14:14:32 +00:00
Joerg Wunsch
6aefd62078 Make only a -r' flag (as opposed to -r*') special within the
LINK_SPEC.  This solves a problem with the f77 frontend where
aproviding the -r8 option (use REAL*8) caused `cc' to ``forget'' to
pass the entry point to the linker.

Closes PR #gnu/644: f77 -r8

Reviewed by:	watanabe@komadori.earth.s.kobe-u.ac.jp (Takeshi WATANABE)
1995-08-04 17:11:32 +00:00
Bruce Evans
460396d6ee Fix dependencies for gcc.info and reno.info. `make depend' doesn't handle
info files although texinfo supports @include.
1995-07-12 18:57:21 +00:00
Rodney W. Grimes
4399be3cbd Remove trailing whitespace. 1995-05-30 05:05:38 +00:00
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