Commit Graph

44 Commits

Author SHA1 Message Date
Peter Wemm
cd51f0035e Add a temporary indirect patch for gcc when targeting amd64. This is to
give the cvs tree a surviving a 'make world'.  One of the two diff chunks
is already in gcc-3.3, the other has been committed to gcc's HEAD and
is in the pipeline for gcc-3.3.1 (but has not been committed yet).

The first chunk simplifies an excessively complex assembler statement
when generating switch jump tables.  The use of '.' causes as(1) to choke
on big files.  Use a simpler form instead.  This is only an issue for
TARGET_64BIT mode.

The second chunk fixes an internal compiler error when compiling
libc/stdio/vfprinf.c.  While this is supposedly only an issue for
64 bit mode, it does touch the 32 bit i386 code paths, so this patch
is only applied for TARGET_ARCH == amd64 to keep the risks down.
Breaking gcc at the 11th hour would suck.

This will be removed when it is time to import gcc-3.3.

Discussed with:	kan
Approved by:	re (jhb)
2003-05-24 20:58:47 +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
Ruslan Ermilov
423e9124d9 Mark all internal libraries with INTERNALLIB. 2002-05-13 11:24:03 +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
9e3b001017 Bmake bits for GCC 3.1. 2002-04-06 23:18:01 +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
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
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
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
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
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
01573adf71 Style change to better match src/lib/'s Makefiles. 2000-01-24 08:44:30 +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
Peter Wemm
9b7a44a60e $Id$ -> $FreeBSD$ 1999-08-27 23:37:10 +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
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
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
94389b2723 Use Haifa scheduler on the Alpha. 1999-04-06 20:08:01 +00:00
David E. O'Brien
18ff6ae909 Minimum set of changes to switch from Gcc 2.7.2 (in contrib/gcc) to Egcs 1.1.2
(in contrib/egcs)
1999-04-04 16:36:35 +00:00
John Polstra
f92bdbd010 Switch to using ".So" as the extension for PIC object files rather
than ".so".  The old extension conflicted with well-established
naming conventions for dynamically loadable modules.

The "clean" targets continue to remove ".so" files too, to deal with
old systems.
1999-01-09 21:51:00 +00:00
Peter Wemm
fce15c9ab3 Revert $FreeBSD$ to $Id$ 1997-02-22 15:48:31 +00:00
Jordan K. Hubbard
211253fcfd Remove incorrect use of double-negative since it means the same thing
to make but perhaps not to the human reading it.
1997-01-21 18:16:02 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Jordan K. Hubbard
926a83ef42 Nuke a trailing .endif which survived Peter's last edits. 1996-09-21 17:49:45 +00:00
Peter Wemm
8fb64f20b5 Remove the partial support for a shared -lcc_int, since it's been unusable
for a fair while.  cc1, cc1plus etc have been linked static for some time.
1996-09-21 14:27:38 +00:00
Peter Wemm
a1b588fd3f Man the lifeboats! Tie down the hatches! Red alert! Activate gcc-2.7.2.1!
(the old cc has been tagged with "gcc_2_6_3_final" so we have a reference
 point in case of unforseen disasters...)

This has the objc backend active, and I think I've managed to get the
f77 f2c support through in one piece, but I don't know fortran to test it.

A 'make world' change and libobjc commit will follow.

If you normally do 'make -DNOCLEAN world', do not do so this time, I know
it can fail with groff.

This version of gcc makes a **LOT** more warnings on our kernel.
1996-09-19 15:53:53 +00:00
Jordan K. Hubbard
526195ad0d General -Wall warning cleanup, part I.
Submitted-By: Kent Vander Velden <graphix@iastate.edu>
1996-07-12 19:08:36 +00:00
Jordan K. Hubbard
48551fe40b Work around optimizer strength reduction bug.
Submitted by:	Richard Henderson <richard@atheist.tamu.edu>
Obtained from:	bug-gcc@prep.ai.mit.edu
1996-01-04 04:44:47 +00:00
Rodney W. Grimes
4399be3cbd Remove trailing whitespace. 1995-05-30 05:05:38 +00:00
Andrey A. Chernov
4ad6de4413 Bump SHLIB_MAJOR to 263 to match ../Makefile.inc 1995-03-13 01:30:02 +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
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
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
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
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
Poul-Henning Kamp
b75deec600 Here comes the right import of gcc-2.6.0. 1994-08-02 20:15:59 +00:00