History log of /freebsd-11-stable/gnu/usr.bin/cc/cc_tools/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
337477 08-Aug-2018 bdrewery

MFC r335733:

Don't use CCACHE for linking.

314573 03-Mar-2017 emaste

MFC r312899: add octeon+ as an alias for octeon in GCC & binutils

r208737 added support for the "mips64r2" architecture and "octeon" CPU,
and the saa/saad instructions.

Upstream binutils also added the "octeon+" CPU, and the saa/saad
instructions are only available in octeon+, not octeon. Since our
base system tool chain already accepts saa/saad with -march=octeon,
just allow octeon+ as an alias.

This allows the use of octeon+ in kernel config files, for use with both
external tool chain and in-tree GCC/binutils.

Also includes GCC FBSD_CC_VER bump (r313041 in HEAD)

PR: 216516
Sponsored by: The FreeBSD Foundation

302408 08-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


/freebsd-11-stable/MAINTAINERS
/freebsd-11-stable/cddl
/freebsd-11-stable/cddl/contrib/opensolaris
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/zfs
/freebsd-11-stable/cddl/contrib/opensolaris/lib/libzfs
/freebsd-11-stable/contrib/amd
/freebsd-11-stable/contrib/apr
/freebsd-11-stable/contrib/apr-util
/freebsd-11-stable/contrib/atf
/freebsd-11-stable/contrib/binutils
/freebsd-11-stable/contrib/bmake
/freebsd-11-stable/contrib/byacc
/freebsd-11-stable/contrib/bzip2
/freebsd-11-stable/contrib/com_err
/freebsd-11-stable/contrib/compiler-rt
/freebsd-11-stable/contrib/dialog
/freebsd-11-stable/contrib/dma
/freebsd-11-stable/contrib/dtc
/freebsd-11-stable/contrib/ee
/freebsd-11-stable/contrib/elftoolchain
/freebsd-11-stable/contrib/elftoolchain/ar
/freebsd-11-stable/contrib/elftoolchain/brandelf
/freebsd-11-stable/contrib/elftoolchain/elfdump
/freebsd-11-stable/contrib/expat
/freebsd-11-stable/contrib/file
/freebsd-11-stable/contrib/gcc
/freebsd-11-stable/contrib/gcclibs/libgomp
/freebsd-11-stable/contrib/gdb
/freebsd-11-stable/contrib/gdtoa
/freebsd-11-stable/contrib/groff
/freebsd-11-stable/contrib/ipfilter
/freebsd-11-stable/contrib/ldns
/freebsd-11-stable/contrib/ldns-host
/freebsd-11-stable/contrib/less
/freebsd-11-stable/contrib/libarchive
/freebsd-11-stable/contrib/libarchive/cpio
/freebsd-11-stable/contrib/libarchive/libarchive
/freebsd-11-stable/contrib/libarchive/libarchive_fe
/freebsd-11-stable/contrib/libarchive/tar
/freebsd-11-stable/contrib/libc++
/freebsd-11-stable/contrib/libc-vis
/freebsd-11-stable/contrib/libcxxrt
/freebsd-11-stable/contrib/libexecinfo
/freebsd-11-stable/contrib/libpcap
/freebsd-11-stable/contrib/libstdc++
/freebsd-11-stable/contrib/libucl
/freebsd-11-stable/contrib/libxo
/freebsd-11-stable/contrib/llvm
/freebsd-11-stable/contrib/llvm/projects/libunwind
/freebsd-11-stable/contrib/llvm/tools/clang
/freebsd-11-stable/contrib/llvm/tools/lldb
/freebsd-11-stable/contrib/llvm/tools/llvm-dwarfdump
/freebsd-11-stable/contrib/llvm/tools/llvm-lto
/freebsd-11-stable/contrib/mdocml
/freebsd-11-stable/contrib/mtree
/freebsd-11-stable/contrib/ncurses
/freebsd-11-stable/contrib/netcat
/freebsd-11-stable/contrib/ntp
/freebsd-11-stable/contrib/nvi
/freebsd-11-stable/contrib/one-true-awk
/freebsd-11-stable/contrib/openbsm
/freebsd-11-stable/contrib/openpam
/freebsd-11-stable/contrib/openresolv
/freebsd-11-stable/contrib/pf
/freebsd-11-stable/contrib/sendmail
/freebsd-11-stable/contrib/serf
/freebsd-11-stable/contrib/sqlite3
/freebsd-11-stable/contrib/subversion
/freebsd-11-stable/contrib/tcpdump
/freebsd-11-stable/contrib/tcsh
/freebsd-11-stable/contrib/tnftp
/freebsd-11-stable/contrib/top
/freebsd-11-stable/contrib/top/install-sh
/freebsd-11-stable/contrib/tzcode/stdtime
/freebsd-11-stable/contrib/tzcode/zic
/freebsd-11-stable/contrib/tzdata
/freebsd-11-stable/contrib/unbound
/freebsd-11-stable/contrib/vis
/freebsd-11-stable/contrib/wpa
/freebsd-11-stable/contrib/xz
/freebsd-11-stable/crypto/heimdal
/freebsd-11-stable/crypto/openssh
/freebsd-11-stable/crypto/openssl
/freebsd-11-stable/gnu/lib
/freebsd-11-stable/gnu/usr.bin/binutils
/freebsd-11-stable/gnu/usr.bin/cc/cc_tools
/freebsd-11-stable/gnu/usr.bin/gdb
/freebsd-11-stable/lib/libc/locale/ascii.c
/freebsd-11-stable/sys/cddl/contrib/opensolaris
/freebsd-11-stable/sys/contrib/dev/acpica
/freebsd-11-stable/sys/contrib/ipfilter
/freebsd-11-stable/sys/contrib/libfdt
/freebsd-11-stable/sys/contrib/octeon-sdk
/freebsd-11-stable/sys/contrib/x86emu
/freebsd-11-stable/sys/contrib/xz-embedded
/freebsd-11-stable/usr.sbin/bhyve/atkbdc.h
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.c
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.h
/freebsd-11-stable/usr.sbin/bhyve/console.c
/freebsd-11-stable/usr.sbin/bhyve/console.h
/freebsd-11-stable/usr.sbin/bhyve/pci_fbuf.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.h
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.c
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.h
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.c
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.h
/freebsd-11-stable/usr.sbin/bhyve/rfb.c
/freebsd-11-stable/usr.sbin/bhyve/rfb.h
/freebsd-11-stable/usr.sbin/bhyve/sockstream.c
/freebsd-11-stable/usr.sbin/bhyve/sockstream.h
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.c
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.h
/freebsd-11-stable/usr.sbin/bhyve/usb_mouse.c
/freebsd-11-stable/usr.sbin/bhyve/vga.c
/freebsd-11-stable/usr.sbin/bhyve/vga.h
301936 16-Jun-2016 bdrewery

WITH_META_MODE: Don't expect a .meta file for side-effect generated files.

This is the same as r301285.

Approved by: re (implicit)
Sponsored by: EMC / Isilon Storage Division


301934 16-Jun-2016 bdrewery

Convert to new FAST_DEPEND syntax for guessed dependencies.

This OBJS_DEPEND_GUESS is needed since each target gets its
own .depend.target.o file but also because it is spelled
.meta.target.o with WITH_META_MODE. The OBJS_DEPEND_GUESS
will apply the dependency if the required file is missing.

Also remove redundant .c files while here to avoid prolems with
targets using .ALLSRC and getting multiple source files.

Approved by: re (implicit)
Sponsored by: EMC / Isilon Storage Division


301402 04-Jun-2016 bdrewery

DIRDEPS_BUILD: Update GCC dependencies.

Sponsored by: EMC / Isilon Storage Division


300822 27-May-2016 cem

gcc42: Fix minor C99 parse bug

DR #289[0] came down and gcc4.2.1 was on the wrong side of history.
Partially revert GCC r42574 (just remove the error) to rectify the parse
bug to match Clang and other compliant C99 compilers.

An example declaration gcc tripped on before this fix:

void foobar(int [static 1]);

An example declaration gcc did not trip on before this fix:

void foobar(int name[static 1]);

Bump __FreeBSD_cc_version.

[0]: http://www.open-std.org/JTC1/SC22/WG14/www/docs/dr_289.htm

Reported by: allanjude
Sponsored by: EMC / Isilon Storage Division


300347 21-May-2016 bdrewery

WITH_META_MODE: Avoid rebuilds of cc_tools during target build.

This is the same as r299289 and r297997.

Sponsored by: EMC / Isilon Storage Division


298218 18-Apr-2016 bdrewery

Follow-up r297842: Rework header generation to fix always rebuilding.

This reworks the handling of common headers to just include the needed
logic rather than invoke MAKE. This avoids the problem listed in r297842
and avoids other dependency tracking issues.

Pointyhat to: bdrewery
Reported by: Nikolai Lifanov <lifanov@mail.lifanov.com>
Sponsored by: EMC / Isilon Storage Division


296417 05-Mar-2016 dim

Upgrade our copies of clang, llvm, lldb and compiler-rt to 3.8.0
release.

Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11
support to build; see UPDATING for more information.

Release notes for llvm and clang will soon be available here:
<http://llvm.org/releases/3.8.0/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.8.0/tools/clang/docs/ReleaseNotes.html>

Thanks to Ed Maste, Roman Divacky, Davide Italiano and Antoine Brodin
for their help.

Relnotes: yes


295989 24-Feb-2016 bdrewery

DIRDEPS_BUILD: Regenerate without local dependencies.

These are no longer needed after the recent 'beforebuild: depend' changes
and hooking DIRDEPS_BUILD into a subset of FAST_DEPEND which supports
skipping 'make depend'.

Sponsored by: EMC / Isilon Storage Division


291320 25-Nov-2015 bdrewery

META MODE: Don't create .meta files when symlinking sources into the obj directory.

Tracking these leads to situations where meta mode will consider the
file to be out of date if /bin/sh or /bin/ln are newer than the source
file. There's no reason for meta mode to do this as make is already
handling the rebuild dependency fine.

Sponsored by: EMC / Isilon Storage Division


290494 07-Nov-2015 bapt

Improve collation string and locales support

Merge collation support from Illumos and DragonflyBSD.

Locales are now generated with the new localedef(1) tool from CLDR POSIX files.
The generated files are now identified as "BSD 1.0" format.

The libc now only read "BSD 1.0" locales definitions, all other version will be
set to "C"
The localedef(1) tool has been imported from Illumos and modified to use tree(3)
instead of the CDDL avl(3)
A set of tool created by edwin@ and extended by marino@ for dragonfly has been
added to be able to generate locales and the Makefiles from the vanilla CLDR
unicode databases + a universal UTF-8 charmap (by marino@)
Update the locales to unicode v27
Given our regex(3) does not support multibyte (yet) it has been forced to always
use locale C
Remove now unused colldef(1) and mklocale(1)
Finish implementing the numeric BSD extension for ctypes
The number of supported locales has grown from 175 to 250 locales. Among the new
locales: 6 Arabic locales (AE EG JO MA QA SA), Different variations of spanish
locales.
Added new 3 components locales for mn_Cyrl_MN, sr_Cyrl_RS sr_Latn_RS,
zh_Hans_CN, zh_Hant_HK and zh_Hant_TW. Some aliases has been for 2 components
version when possible.

Thanks: Garrett D'Amore (Illumos) who made sure all his work was done under
BSD license!, Edwin Groothuis (edwin@) for the work he made on tools to be able
to generate locales definition usable in freebsd sources out of vanilla CLDR
definitions, John Marino (DragonflyBSD) who first merge the Illumos work into
Dragonfly and spent hours tracking down bugs.


290102 28-Oct-2015 bapt

Merge mpsutil(8) branch

mpsutil(8)/mprutil(8) are new utilities for managing LSI Fusion-MPT
2/3 controllers (mps(4) and mpr(4))

For now only informational commands have been implemented.

This utility has been written by scottl@ [1] and polished by myself[2]

Submitted by: scottl
Discussed with: scottl
Relnotes: yes
Sponsored by: Netflix [1]
Sponsored by: Gandi.net [2]


288943 06-Oct-2015 dim

Upgrade our copies of clang, llvm, lldb, compiler-rt and libc++ to 3.7.0
release.

Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11
support to build; see UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.7.0/tools/clang/docs/ReleaseNotes.html>

Thanks to Ed Maste, Andrew Turner and Antoine Brodin for their help.

Exp-run: antoine
Relnotes: yes


288267 26-Sep-2015 bdrewery

Remove redundant .NOPATH.

All of these are already in CLEANFILES which is added to .NOPATH in bsd.obj.mk.

Sponsored by: EMC / Isilon Storage Division


288226 25-Sep-2015 bdrewery

META_MODE: Remove DEP_RELDIR from Makefile.depend files.

This has not been needed since r284171 in projects/bmake.

Sponsored by: EMC / Isilon Storage Division


284345 13-Jun-2015 sjg

Add META_MODE support.

Off by default, build behaves normally.
WITH_META_MODE we get auto objdir creation, the ability to
start build from anywhere in the tree.

Still need to add real targets under targets/ to build packages.

Differential Revision: D2796
Reviewed by: brooks imp


284289 11-Jun-2015 sjg

Misc fixes from projects/bmake

Differential Revision: D2748
Reviewed by: brooks imp


276479 31-Dec-2014 dim

Upgrade our copy of clang, llvm and lldb to 3.5.0 release.

Please note that this version now requires C++11 support to build; see
UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.5.0/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.5.0/tools/clang/docs/ReleaseNotes.html>

Thanks to Ed Maste, Roman Divacky, Andrew Turner, Justin Hibbits and
Antoine Brodin for their invaluable help with this import.

Approved by: portmgr (antoine)
MFC after: 1 month


272350 01-Oct-2014 andrew

Remove MK_ARM_EABI, the armeb issues have been fixed. The code to support
the oabi is still in the tree, but it is expected this will be removed
as developers work on surrounding code.

With this commit the ARM EABI is the only supported supported ABI by
FreeBSD on ARMa 32-bit processors.

X-MFC after: never
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D876


265420 06-May-2014 imp

Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.


258445 21-Nov-2013 andreast

Fix cross compilation after r258428.

Reviewed by: pfg


256298 10-Oct-2013 dim

Bump OS versions in the toolchain triples to 11.0, and bump the
__FreeBSD_cc_version predefined macros in clang and gcc.

Approved by: re (gjb)


245539 17-Jan-2013 andrew

Add compiler support for the ARM EABI.

ARM EABI support is disabled by default and can be enabled by setting
WITH_ARM_EABI when building, however only the kernel-toolchain target will
work with this flag until the rest of the support is added.


243933 06-Dec-2012 eadler

Clean up hardcoded ar(1) flags in the tree to use the global ARFLAGS in
share/mk/sys.mk instead.

This is part of a medium term project to permit deterministic builds of
FreeBSD.

Submitted by: Erik Cederstrand <erik@cederstrand.dk>
Reviewed by: imp, toolchain@
Approved by: cperciva
MFC after: 2 weeks


238255 08-Jul-2012 nwhitehorn

After the binutils 2.17.50 import, the assembler supports AS_REL16
relocations.


231852 17-Feb-2012 bz

Merge multi-FIB IPv6 support from projects/multi-fibv6/head/:

Extend the so far IPv4-only support for multiple routing tables (FIBs)
introduced in r178888 to IPv6 providing feature parity.

This includes an extended rtalloc(9) KPI for IPv6, the necessary
adjustments to the network stack, and user land support as in netstat.

Sponsored by: Cisco Systems, Inc.
Reviewed by: melifaro (basically)
MFC after: 10 days


231620 14-Feb-2012 gonzo

Enable TLS support for ARM toolchain

Reviewed by: cognet


226519 18-Oct-2011 dim

Update gcc's __FreeBSD__ and __FreeBSD_cc_version macros for FreeBSD 10.


223758 04-Jul-2011 attilio

With retirement of cpumask_t and usage of cpuset_t for representing a
mask of CPUs, pc_other_cpus and pc_cpumask become highly inefficient.

Remove them and replace their usage with custom pc_cpuid magic (as,
atm, pc_cpumask can be easilly represented by (1 << pc_cpuid) and
pc_other_cpus by (all_cpus & ~(1 << pc_cpuid))).

This change is not targeted for MFC because of struct pcpu members
removal and dependency by cpumask_t retirement.

MD review by: marcel, marius, alc
Tested by: pluknet
MD testing by: marcel, marius, gonzo, andreast


222813 07-Jun-2011 attilio

etire the cpumask_t type and replace it with cpuset_t usage.

This is intended to fix the bug where cpu mask objects are
capped to 32. MAXCPU, then, can now arbitrarely bumped to whatever
value. Anyway, as long as several structures in the kernel are
statically allocated and sized as MAXCPU, it is suggested to keep it
as low as possible for the time being.

Technical notes on this commit itself:
- More functions to handle with cpuset_t objects are introduced.
The most notable are cpusetobj_ffs() (which calculates a ffs(3)
for a cpuset_t object), cpusetobj_strprint() (which prepares a string
representing a cpuset_t object) and cpusetobj_strscan() (which
creates a valid cpuset_t starting from a string representation).
- pc_cpumask and pc_other_cpus are target to be removed soon.
With the moving from cpumask_t to cpuset_t they are now inefficient
and not really useful. Anyway, for the time being, please note that
access to pcpu datas is protected by sched_pin() in order to avoid
migrating the CPU while reading more than one (possible) word
- Please note that size of cpuset_t objects may differ between kernel
and userland. While this is not directly related to the patch itself,
it is good to understand that concept and possibly use the patch
as a reference on how to deal with cpuset_t objects in userland, when
accessing kernland members.
- KTR_CPUMASK is changed and now is represented through a string, to be
set as the example reported in NOTES.

Please additively note that no MAXCPU is bumped in this patch, but
private testing has been done until to MAXCPU=128 on a real 8x8x2(htt)
machine (amd64).

Please note that the FreeBSD version is not yet bumped because of
the upcoming pcpu changes. However, note that this patch is not
targeted for MFC.

People to thank for the time spent on this patch:
- sbruno, pluknet and Nicholas Esborn (nick AT desert DOT net) tested
several revision of the patches and really helped in improving
stability of this work.
- marius fixed several bugs in the sparc64 implementation and reviewed
patches related to ktr.
- jeff and jhb discussed the basic approach followed.
- kib and marcel made targeted review on some specific part of the
patch.
- marius, art, nwhitehorn and andreast reviewed MD specific part of
the patch.
- marius, andreast, gonzo, nwhitehorn and jceel tested MD specific
implementations of the patch.
- Other people have made contributions on other patches that have been
already committed and have been listed separately.

Companies that should be mentioned for having participated at several
degrees:
- Yahoo! for having offered the machines used for testing on big
count of CPUs.
- The FreeBSD Foundation for having sponsored my devsummit attendance,
which has been instrumental.
- Sandvine for having offered offices and infrastructure during
development.

(I really hope I didn't forget anyone, if it happened I apologize in
advance).


220755 17-Apr-2011 dim

Remove libobjc and other Objective-C related components, as these are
extremely outdated, and not used by anything in the base system.

Silence from: current@


219534 11-Mar-2011 marius

Now that TLS is supported for sparc64 by both binutils 2.17.50 committed
in r218822 and rtld(1) committed in r219533 turn on TLS support in GCC.


218822 18-Feb-2011 dim

Merge binutils 2.17.50 to head. This brings a number of improvements to
x86 CPU support, better support for powerpc64, some new directives, and
many other things. Bump __FreeBSD_version, and add a note to UPDATING.

Thanks to the many people that have helped to test this.

Obtained from: projects/binutils-2.17


215439 17-Nov-2010 tijl

Let gcc and ld know where to find 32 bit libraries on amd64.

Reviewed by: arch@
Approved by: kib (mentor)


215082 10-Nov-2010 imp

Complete the integration of tbemd branch into head.

TARGET_BIG_ENDIAN is now completely dead, except where it was
originally supposed to be used (internally in the toolchain building).

TARGET_ARCH has changed in three cases:
(1) Little endian mips has changed to mipsel.
(2) Big endian mips has changed to mipseb.
(3) Big endian arm has changed to armeb.

Some additional changes are needed to make 'make universe' work on arm
and mips after this change, so those are commented out for now.

UPDATING information will be forthcoming. Any remaining rough edges
will be hammered out in -current.


209867 10-Jul-2010 nwhitehorn

Teach our toolchain how to generate 64-bit PowerPC binaries. This fixes
a variety of bugs in binutils related to handling of 64-bit PPC ELF,
provides a GCC configuration for 64-bit PowerPC on FreeBSD, and
associated build systems tweaks.

Obtained from: projects/ppc64


207995 12-May-2010 obrien

Non-GCC gcc compatible compilers may provide the same multimedia intrinsic
headers as GCC, but of their own implementation. So put the GCC ones into
their own header "namespace".

Requested by: ed


195152 29-Jun-2009 kan

Back out previous revision until better tested fix is ready.

Approved by: re (impliciti, by approving previos check-in)


195151 28-Jun-2009 kan

Eliminate .text relocations in shared libraries compiled with stack protector.

Use libssp_nonshared library to pull __stack_chk_fail_local symbol into
each library that needs it instead of pulling it from libc. GCC generates
local calls to this function which result in absolute relocations put into
position-independent code segment, making dynamic loader do extra work everys
time given shared library is being relocated and making affected text pages
non-shareable.

Reviewed by: kib
Approved by: re (kensmith)


182627 01-Sep-2008 obrien

Add FreeBSD/MIPS support to GCC.


182579 31-Aug-2008 obrien

Turn cc_tools/Makefile and Makefile.tgt into a "linear" read. Shared
parts of the configuration aren't duplicated, and arch-specific exceptions
are made "in-place". Also clean up the FreeBSD/amd64 config a little.


173731 18-Nov-2007 ache

Use LC_ALL=C before awk generating "optionlist"
(and before two other awk calls, just to be safe)
Without it sorting is broken for locales with ASCII collating equivalence
like (v,w) in sv_SE


172592 12-Oct-2007 obrien

Welcome FreeBSD 8.


172473 08-Oct-2007 marius

Disable TLS for arm and sparc64 here as binutils 2.15 predate GNU TLS
support for these. This is in line with gnu/lib/libgomp/config.h and
gnu/lib/libstdc++/config.h.

Reviewed by: cognet, obrien
Approved by: re (kensmith)


170039 28-May-2007 kan

Fix compiles when user chooses to disable both ObjC and C++ support in
GCC.

Reported by: bz


169828 21-May-2007 ru

Back out the addition of -static to LDFLAGS; I'm pretty confident
that the build failure was caused by a computer/sources date/time
mismatch that caused GCC tools to be mistakenly rebuilt again at
an inappropriate time during buildworld, re-linking them against
new libraries instead of host's installed libraries and thus making
them not runnable by the host. Normally they are only built in
the early stage of buildworld (build-tools) that links them against
shared libraries of the host, but if either the system clock or
modification date/time on source files is set incorrectly, make(1)
can be foolished into thinking that tools are stale and will rebuild
them again, now in the "target" environment which is not suitable
for building helper apps that are to be run during buildworld.

OK'ed by: kan


169740 19-May-2007 scottl

Work-around for upgrading from a pre-symbol-versioned world.

Blame-to: cperciva


169718 19-May-2007 kan

Update bmake glue to build GCC 4.2.

Also:
Switch FreeBSD to use libgcc_s.so.1.

Use dl_iterate_phdr to locate shared objects' exception frame
info instead of depending on older register_frame_info machinery.
This allows us to avoid depending on libgcc_s.so.1 in binaries
that do not use exception handling directly. As an additional
benefit it breaks circular libc <=> libgcc_s.so.1 dependency too.

Build newly added libgomp.so.1 library, the runtime support
bits for OpenMP.

Build LGPLed libssp library. Our libc provides our own
BSD-licensed SSP callbacks implementation, so this library
is only built to benefit applications that have hadcoded
knowledge of libssp.so and libssp_nonshared.a. When linked
in from command line, these libraries override libc
implementation.


164019 06-Nov-2006 obrien

Remove gratuitous white space change.


162496 21-Sep-2006 kan

Bump __FreeBSD_cc_version in case someone cares for differences between
GCC 3.4.4 and GCC 3.4.6 on -current.


162417 18-Sep-2006 imp

Add additional support for generating code for the arm. There's still
a few issues in other parts of the tree, but those will be resolved
separately.

Submitted by: cogenet@
Reviewed by: kan@, obrien@
MFC After: 5 days


162209 11-Sep-2006 imp

Fix three whitespace nits.

I think these are from kan@...


160575 22-Jul-2006 obrien

The platform name is ARM not StrongARM.

Submitted by: cognet


156813 17-Mar-2006 ru

Reimplementation of world/kernel build options. For details, see:

http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by: imp, jhb, kris, phk, ru (all bugs are mine)


151887 30-Oct-2005 obrien

Locate __FreeBSD_cc_version's value beside __FreeBSD__'s value to make it
easier to keep them in sync.


151857 29-Oct-2005 obrien

Catch up with FreeBSD 7.


146910 03-Jun-2005 kan

Update bmake glue for GCC 3.4.4.


133956 18-Aug-2004 ru

A fix from rev. 1.52 of gnu/usr.bin/cc/cc_tools/Makefile was lost
in rev. 1.57. Fix this regression by making cc_tools a new-style
build-tool in Makefile.inc1. For details of what has been fixed,
please see the gnu/usr.bin/cc/cc_tools/Makefile,v 1.52 commit log.

Caught this by accidentally touching param.h while in the process
of cross-buildworld for amd64.


133581 12-Aug-2004 kan

Consolidate libiberty files in one place and avoid listing some
of them in several places.

Noticed by: bsdimp


132751 28-Jul-2004 kan

Bmake glue for GCC 3.4.2-prerelease.


130325 11-Jun-2004 peter

Revise previous commit - I managed to mess up a 1-line change and broke
amd64 world. The csu code evalues this Makefile with a different origin.


130324 10-Jun-2004 peter

The gcc/config/i386/freebsd64.h file neglects to override the default
(bogus, application name space) mcount function name on amd64. Override
it here instead.

I've done it this way to avoid touching gcc source while 3.4 is in
progress, and this is the smallest, lowest impact I could come up with.
Adding a patch touches about 10-14 lines of Makefile, this touches only 1.
This will likely go away with the 3.4 import.

I spoke with Alexander about this a few days ago, but waited until after
sorting out some of the other bugs in the userland profiling.


126266 26-Feb-2004 bde

Backed out the residue of rev.1.13 (bogus addition of -static to CFLAGS).
Makeworld will add -static in the correct place if needed and possible.
Self-hosted builds can just use the system default.

Fixed some nearby style bugs (code unrelated to its comment, and comment
formatting).


125040 26-Jan-2004 kan

Do not treat make variables as Perl variables.


124547 15-Jan-2004 ru

Fixed "make clean".


124417 12-Jan-2004 ru

Removed duplicate SRCS.


123678 19-Dec-2003 kan

Use __cxa_atexit, rather than atexit, to register C++ destructors for local
statics and global objects. This is essential for fully standards-compliant
handling of destructors, and requires __cxa_atexit in libc.


117496 13-Jul-2003 kan

Including dynamically generated osreldate.h wasn't such a good
idea after all.

Fix cross-builds and ia64 builds. gnu/lib/csu/Makefile is modified to
pre-include osreldate.h and gnu/usr.bin/cc/cc_tools/auto-host.h
will avoid including sys/param.h if __FreeBSD_version is already defined.


117453 11-Jul-2003 kan

Include osreldate.h instead of sys/param.h to get __FreeBSD_version
definition. This fixes buildworld breakage on ia64.


117429 11-Jul-2003 kan

Update bmake bits to build GCC 3.3.1-prerelease.


117428 11-Jul-2003 kan

Update for GCC 3.3.1-pre.


116891 26-Jun-2003 peter

Add missing quote after cut/paste error in last commit. :-(


116859 26-Jun-2003 peter

Configure gcc in biarch mode for amd64 so that the -m32 flag is enabled
for things like boot blocks etc.

Reviewed by: kan


116320 13-Jun-2003 peter

When building a shared library, link it against libgcc_pic.a instead of the
non-PIC libgcc.a. Linking non-pic code into a shared library is not
a good thing. It happens to break amd64 at compile time, and the ppc
folks want it too. The problem is mainly with C++ code, unwind-dw2.c
in particular. Most of the other functions in libgcc.a are self
contained so most of the time it isn't a problem. The dwarf2 unwinder
is not safe though since it does make global variable references.

Reviewed by: kan


114425 01-May-2003 obrien

Lock GCC w/o -m32 into 64-bit mode.


114083 26-Apr-2003 obrien

We're changing the platform name from x86[_-]86 to amd64.


107286 26-Nov-2002 obrien

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


106848 13-Nov-2002 ru

Bootstrapping aid for 4.0-RELEASE.


105502 20-Oct-2002 obrien

We HAVE_STPCPY now.


104770 10-Oct-2002 kan

Add multilib_options variable definition.

Approved by: obrien


103257 12-Sep-2002 obrien

We're going to have to use a TARGET_ARCH of "x86_64" rather than "x86-64"
to make building GCC happy.


98056 09-Jun-2002 obrien

Allow one to profile FORTRAN77 programs.


98054 08-Jun-2002 obrien

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.


97913 06-Jun-2002 obrien

Read specs from /usr/libdata/gcc/specs if it exists.


97873 05-Jun-2002 obrien

Search the "backward" C++ compatibility include dir also.


97356 27-May-2002 obrien

I missed the setting of PREFIX_INCLUDE_DIR when I visually santity checked
the output from a autoconfig run.


96833 18-May-2002 obrien

Use a more API denoting way to handle what is in libc and what isn't.


96736 16-May-2002 ru

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


96734 16-May-2002 ru

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.


96699 15-May-2002 obrien

Add x86-64 bits.


96697 15-May-2002 obrien

The IA-64 config needs to know that we are using GNU ld & as.

Submitted by: peter


96447 12-May-2002 obrien

Fixes for building a.out bits.

Submitted by: bde


96360 10-May-2002 obrien

Touching the sjlj setting on IA-64 makes things not build.

Submitted by: peter


96345 10-May-2002 obrien

Gather up the stragglers that depends on genrtl.h. This is -j10 safe now.


96344 10-May-2002 obrien

This was *very* -j unsafe. Add a dependency on the common generated
headers to mostly make it -j1 safe.


96340 10-May-2002 obrien

Bmake bits for Gcc 3.1.

Partially made possible by: Wilko.Bulte@compaq.com


95878 01-May-2002 obrien

Add support for using the profiled versions of the C++ (and related) libs.


93874 05-Apr-2002 obrien

A little more reorg.


93807 04-Apr-2002 obrien

Minor reorg.


93801 04-Apr-2002 obrien

Remove some local cruft that snuck in yesterday.


93738 04-Apr-2002 obrien

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.


91559 02-Mar-2002 obrien

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.


91190 24-Feb-2002 obrien

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.


90993 20-Feb-2002 obrien

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


90952 20-Feb-2002 obrien

Clean up the style a little bit.


90951 20-Feb-2002 obrien

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


84032 27-Sep-2001 obrien

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


73307 02-Mar-2001 obrien

Include `dbxelf.h' via tm.h (the approved FSF/GNU way) vs. in our MI header.


73306 02-Mar-2001 obrien

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.


73297 01-Mar-2001 obrien

Do not need to define "VERSION" here -- we do it on the command line.


70703 06-Jan-2001 obrien

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


69535 03-Dec-2000 obrien

tm.h should include the platform specific ELF header if it exists.


68571 10-Nov-2000 obrien

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


68528 09-Nov-2000 obrien

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


58478 23-Mar-2000 obrien

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.


56806 29-Jan-2000 obrien

"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


56521 24-Jan-2000 obrien

Simply cc_tools/Makefile by moving the parser generation to the respective
backends.


56497 23-Jan-2000 obrien

I *hate* using "i" in variables, looks too much like "1" or "l".


55220 29-Dec-1999 obrien

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)


54990 22-Dec-1999 obrien

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/


53280 17-Nov-1999 obrien

Build genrtl.h before print-rtl.o.

Submitted by: John Hay <jhay@mikom.csir.co.za> (basic idea, changed by me)


53173 15-Nov-1999 obrien

Cut over the system compiler from from EGCS 1.1.2 to GCC 2.95.2.


53161 15-Nov-1999 obrien

Purely cosmetic changes to lineup targets.


52914 06-Nov-1999 obrien

Our capibilities updated for GCC 2.95.2.


52648 30-Oct-1999 obrien

`make' will fail if hash.h exists for some reason and gxx-hash needs to be
rebuilt. Fix this.

Submitted by: bde


52172 12-Oct-1999 obrien

Add a comment explaing the linking and segrated the old and new cases a little.


52171 12-Oct-1999 obrien

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.


50472 27-Aug-1999 peter

$Id$ -> $FreeBSD$


50064 19-Aug-1999 peter

Make gcc work on the Alpha again. alpha/alpha.h is used instead of svr4.h


49885 16-Aug-1999 obrien

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.


49864 16-Aug-1999 obrien

Purely cosmetic cleanups.
- Id tag layout wrong.
- "FOO =" -> "FOO=".
- 4 space indention on continuation lines rather than a <tab>

Basic idea checked by: bde


49853 15-Aug-1999 obrien

Move "LIBGCC_SPEC" to freebsd-native.h as it is not approapiate for
submitting to the GCC mainainers for folding into the stock GCC.


49810 14-Aug-1999 obrien

Rather than deleting the grammer files during building, move them out of the
way. This way they are available for inspection when debugging problems.


49152 28-Jul-1999 obrien

Use Yacc rather than Bison.


49151 28-Jul-1999 obrien

The Unix way is arguments come before an input file name, not after.


46157 28-Apr-1999 obrien

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


45944 22-Apr-1999 obrien

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 :-))


45943 22-Apr-1999 obrien

Use `GNU_ARCH' in most places where `MACHINE_ARCH' was used. Building for
mips has some particularlies.


45928 22-Apr-1999 obrien

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.


45767 18-Apr-1999 obrien

Add FORTRAN support.


45583 11-Apr-1999 bde

Cleaned up egcs changes (mainly to minimise diffs with the gcc version
and restore order to sorted lists).


45582 11-Apr-1999 bde

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).


45519 09-Apr-1999 bde

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).


45500 08-Apr-1999 obrien

Another fix for -jN building -- the last fix didn't fix it for everybody.

Submitted by: Luoqi Chen <luoqi@watermarkgroup.com>


45480 08-Apr-1999 peter

Clean up the multilib stuff so that it actually works..
cc -aout now works again.


45469 08-Apr-1999 obrien

Remove some of the dependencies. This removes the cycles I was getting on
`make -j 8' builds.


45467 08-Apr-1999 obrien

Due to other explicit dependancies, don't treat tree-check.h as a SRCS.


45466 08-Apr-1999 obrien

Fix a circular dependancy.


45456 08-Apr-1999 obrien

alpha/freebsd-elf.h is being folded into alpha/freebsd.h

Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>


45340 05-Apr-1999 peter

Fix type mismatch..


45307 04-Apr-1999 obrien

Conditionalize one more i386'ism.


45305 04-Apr-1999 obrien

Attempt at creating the right ``tm.h'' file for the Alpha.


45299 04-Apr-1999 obrien

Minimum set of changes to switch from Gcc 2.7.2 (in contrib/gcc) to Egcs 1.1.2
(in contrib/egcs)


40457 16-Oct-1998 bde

Split up rule for ${COMMONHDRS} so that `make -j N' doesn't create the
6 headers up to 6 times concurrently. Debugged by Don Lewis
(Don.Lewis@tsc.tdk.com).

Fixed some disorder.


38462 20-Aug-1998 jb

Make the build tools static to avoid trying to use the shared loader
before it is installed.

This upsets Bruce because the host boostrap build forces tools to be
static anyway. He says I'm abusing NOTOOLS in src/Makefile by using
it to do a aout->elf transition build. One day I'll find a place to
install host tools like these to allow a true cross build.


37460 07-Jul-1998 bde

Added a `build-tools' target for internal tools.


35402 23-Apr-1998 bde

Fixed missing dependencies. The critical missing one was of bi-lexer.o
on bi-parser.h. Not having it sometimes (only with `make -j') triggered
a bug suite that led to ordinary cpp output being put in .depend files.
Various bugs (the main one only with `make -j') prevented timely detection
of failure to build and install gnu/usr.bin/cc. Eventually the missing
${WORLDTMP}/usr/libexec/cpp caused ${WORLDTMP}/usr/bin/cpp to be invoked
by cc, and this version of cpp is not suitable for such invocation.
Ordinary cpp output was put in .depend files when cpp terminated options
processing before seeing the -M flag.

Cleaned up.


34813 23-Mar-1998 bde

Honour -static in LDLAGS. ld without -Bstatic is happy to choose
static libraries if there are no shared libraries in the search path,
but gcc without -static blindly attempts to link crt0.o.


34515 12-Mar-1998 bde

Fixed `make -jN depend' (N >= 2) by removing the beforedepend
target. .ORDER doesn't work right, but is used for things related
to the depend target. It "works" for the depend target by skipping
the build of .depend when N >= 2 and there is a non-default
beforedepend target with no rules. Recent fixes made almost all
the beforedepend targets in the tree a no-op except for this bug.

Removed vestiges of elf and aout targets.


34229 08-Mar-1998 peter

First round of changes to support generation of assembler for the old
a.out gas and the binutils gas (elf or a.out) with a single compiler.

This uses other infrastructure not yet committed, in order to support
both a.out and elf it needs to be able to get to both a.out and elf
gas, ld, libs, crt* etc. So for now, the support is pretty much dormant.

The new freebsd.h file is based on the old freebsd-elf.h file (which has a
long lineage, right back through linux and svr4 files). The change is
pretty dramatic from a gcc internals standpoint as it overrides a lot of
definitions in order to generate different output based on target mode.
There is potential for screw-ups, so please be on the lookout - gcc's
configuration mechanism wasn't really meant for this kind of thing.
It's believed to compile world etc just fine under both a.out and elf, can
handle global constructors and destructors, handles the differences in
a.out and elf stabs, and what sections things like exceptions go in.

The initial idea came from i386/osfrose.h which is a dual rose/elf format
target. These two are not as diverse as a.out and elf it would seem.

The cc front-end uses external configuration to determine default object
format (still being thrashed out, so read the source if you want to see
it so far), and has a '-aout' and '-elf' override command line switch.
There are some other internal switches that can be accessed, namely -maout,
-mno-aout, -munderscores and -mnounderscores. The underscore and local
symbol prefixing rules are controllable seperately to the output format.
(ie: it's possible to generate a.out without the _ prefixes on symbols and
also to generate elf with the _ prefixes. This isn't quite optimal, but
does seem to work pretty well, except the linkers don't always recognise
the local symbols without their normal names)

The default format is a.out (still), nobody should see any major changes.

With both elf and a.out tools and libraries installed:

[1:26pm]/tmp-223> cc -elf -o hello hello.c
peter@beast[1:27pm]/tmp-224> file hello
hello: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked, not stripped
[1:27pm]/tmp-225> ./hello
hello world!

[1:27pm]/tmp-226> cc -aout -o hello hello.c
[1:27pm]/tmp-227> file hello
hello: FreeBSD/i386 compact demand paged dynamically linked executable not stripped
1:27pm]/tmp-228> ./hello
hello world!

Since my co-conspirators put a lot of effort into this too, I'll add them
so they can share the blame^H^H^H^H^Hglory. :-)

Reviewed by: sos, jdp


34112 06-Mar-1998 bde

Fixed `make -jN' for large N. The usual method of pretending that all
objects depend on all generated headers doesn't work because it gives
cyclic dependencies. Give enough dependencies explicitly. We no
longer need to use .SINGLESHELL for `make depend'. .SINGLESHELL was
more of a bottleneck than usual because `make depend' makes everything.

Fixed some spelling and English errors.


32763 25-Jan-1998 jb

Change MACHINE -> MACHINE_ARCH so that the design make sense on those
machines where the processor chip determines the compiler, and where
multiple machines use the same architecture.


32423 11-Jan-1998 jb

More i386 -> ${MACHINE} changes to make this Makefile machine
independent. It makes it look like you can get aout on alpha, but
that's just your imagination. The makefile above gives you no choice.


30113 05-Oct-1997 jkh

Changes to support full make parallelism (-j<n>) in the world
target.
Reviewed by: <many different folks>
Submitted by: Nickolay N. Dudorov" <nnd@nnd.itfs.nsk.su>


22996 22-Feb-1997 peter

Revert $FreeBSD$ to $Id$


21673 14-Jan-1997 jkh

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.


18390 19-Sep-1996 peter

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.