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

MFC r335733:

Don't use CCACHE for linking.


# 302408 07-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 15-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 15-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


# 300347 20-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


# 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


# 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


# 284289 11-Jun-2015 sjg

Misc fixes from projects/bmake

Differential Revision: D2748
Reviewed by: brooks imp


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


# 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 05-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


# 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@


# 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


# 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


# 170039 27-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.


# 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@...


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


# 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 10-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.


# 117429 11-Jul-2003 kan

Update bmake bits to build GCC 3.3.1-prerelease.


# 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


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


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


# 96833 18-May-2002 obrien

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


# 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


# 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


# 93874 05-Apr-2002 obrien

A little more reorg.


# 93801 04-Apr-2002 obrien

Remove some local cruft that snuck in yesterday.


# 93738 03-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.


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


# 69535 02-Dec-2000 obrien

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


# 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".


# 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 14-Nov-1999 obrien

Purely cosmetic changes to lineup targets.


# 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


# 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 21-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 06-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.