Commit Graph

24 Commits

Author SHA1 Message Date
Steve Price
d07cc88aff Build and install the elf32_sparc ld(1) scripts and make elf32_sparc
the default emulation.
2000-04-03 03:42:07 +00:00
Steve Price
5e59c5460c First cut at the (non-contrib) bits needed to build the binutils
distribution for FreeBSD/Sparc64.

Reviewed by:	obrien
2000-04-02 22:36:56 +00:00
Steve Price
78d3fce125 The ld directory is in ${SRCDIR} not ${BINUTILSDISTDIR}. 2000-04-02 20:23:58 +00:00
Bruce Evans
6a18627411 Use ${dir}/libfoo.a' instead of -L${dir} -lfoo' for local static
libraries in LDADD so that `make checkdpadd' doesn't report non-errors.

Fixed some style bugs (the usual ones for DPADD and LDADD, and misformatting
of $FreeBSD$).
2000-03-27 18:02:04 +00:00
Marcel Moolenaar
ecc4dcbd82 s/MACHINE_ARCH/TARGET_ARCH/g
The target machine is represented by TARGET_ARCH. MACHINE_ARCH always
represents the host machine. When TARGET_ARCH is not defined, it is
assumed to be equal to MACHINE_ARCH. This means that we're building a
native toolset by default. We're creating cross-compilation tools when
MACHINE_ARCH != TARGET_ARCH.

TARGET_ARCH is defined when building binutils as part of the bootstrap
build and is set to reflect the architecture we're currently cross-
building. With this change binutils is ready for cross-building.
1999-12-17 15:50:45 +00:00
John Birrell
4ed1406b4c Replace freebsdelf with freebsd in most places.
Requested by: obrien
1999-11-07 06:01:35 +00:00
John Birrell
4fecd2e259 Add support for additional architectures. 1999-11-06 22:52:33 +00:00
John Birrell
86f001b84c Use the simplified genscripts.sh and set the cross-compiled library
directory to /usr/cross/${MACHINE_ARCH}-freebsdelf/usr/lib so that
the cross tools behave the same way that the host versions do. When
building cross tools, Cygnus doesn't set the default library directory.
This doesn't suit FreeBSD IMHO.

Add WinNT emulation support too. You only get this if you've set
BINUTILSDISTDIR because the contrib/binutils repository doesn't
contain the required sources.
1999-11-06 22:46:45 +00:00
John Birrell
08d64a6b65 Use the simplified genscripts.sh and set the cross-compiled library
directory to /usr/cross/${MACHINE_ARCH}-freebsdelf/usr/lib so that
the cross tools behave the same way that the host versions do. When
building cross tools, Cygnus doesn't set the default library directory.
This doesn't suit FreeBSD IMHO.
1999-11-06 22:44:32 +00:00
John Birrell
6eb9b41026 This is a simplified version of the binutils script which better suits
the (few) things that the FreeBSD makefiles need to specify.
1999-11-06 22:40:15 +00:00
John Birrell
a719bd2fd1 Add a BINUTILSDISTDIR hook here too. 1999-11-06 22:36:40 +00:00
Peter Wemm
9b7a44a60e $Id$ -> $FreeBSD$ 1999-08-27 23:37:10 +00:00
Warner Losh
f1b48216be TARGET was being defined wrong, causing ld to always fail. It is the
name of the bfd target, not the gnu-standard target name.  Corrected
to be elf32-{big,little}mips from mipse[bl]-unknown-freebsd.

DEFAULT_EMULATION was bogusly defined, causing ld to always fail (this
was masked by the TARGET bogosity).  Define correctly as elf32bmip and
elf32lmip.  Mips doesn't follow the same conventions as i386 and alpha
do in this area.

ld now appears to work correctly for the uncommitted mips changes to
egcs.
1999-04-21 07:46:06 +00:00
Warner Losh
7408d8ff34 Add TARGET_ARCH=mipsel and TARGET_ARCH=mipseb as a valid targets.
Unlike the unisex architecutres we've had so far, mips is bisexual.
These tools can produce either byte sex, and the compiler/make
determines the proper gender to use.  Otherwise, we'd have to have had
mipsel and mipseb in all the places that we have just mips.  And there
are other complications with doing that (binutils doesn't like to
build mips tools without both byte genders, it seems).

Introduced BINUTIL_ARCH so that other bisexual architectures can a
generic mechanism.

We cannot just define MACHINE_ARCH as mips because we need to
differentiate big and little endian types of binaries.  Discussions on
freebsd-arch have hashed out this issue (and the parallel libc
issues).  NetBSD is moving towards mipsel and mipseb for their two
flavors of mips ports (in time for 1.4, if this change hasn't already
been accomplished).

I've been building i386 worlds with this tree for a three months with
these files in place with no ill effects.
1999-03-01 04:01:57 +00:00
John Polstra
34d2198035 Update for import of binutils-2.9.1.
Submitted by:	Doug Rabson <dfr>
1998-09-06 23:01:53 +00:00
Bruce Evans
365f9d17e4 Removed superfluous beforedepends. Their files were already in SRCS. 1998-06-04 06:38:17 +00:00
Bruce Evans
c35f4af578 Don't use beforedepend; just put generated headers in SRCS. ldgram.h
was already put in SRCS by the general yacc rules.  Putting ldemul-list.h
in SRCS fixes races in `make -jN' when .depend hasn't been made.

Don't forget to clean ldemul-list.h.
1998-06-04 06:26:23 +00:00
Peter Wemm
fb8bc13e4e Add missing DPADD's. 1998-06-03 18:01:04 +00:00
John Birrell
978b3eee15 The yacc makefile changes don't seem to know when to generate the
header file and when not to, so for the time being make sure the
sucker gets generated up front.
1998-05-11 09:33:55 +00:00
John Birrell
c8c066f7e3 Work out the list of emulations based on the cross-architectures
defined. The TARGET is now set from an included makefile.
1998-05-04 21:38:46 +00:00
John Birrell
a9ab354c8d Add cross-architecture support. 1998-05-04 21:29:54 +00:00
Bruce Evans
e6abc0de81 Fixed races in `make -jN' using new yacc rules. This also fixes plain
`make' (without a previous `make depend').
1998-05-04 16:31:41 +00:00
John Polstra
98ad0dae72 Give up on a.out support in binutils. It has too many problems to
be worth much effort.  Install all i386 binutils programs in
"/usr/libexec/elf".  Disable a.out support in libbfd.  It's too
dangerous to leave it in.  Some of the utilities think they can
handle a.out, but they generate bad object files.
1998-03-30 02:21:27 +00:00
John Polstra
ab5ad3a4b5 Restructure the binutils hierarchy somewhat in order to better
support building it for variant architectures.  It was already
becoming clear that the former structure was too rigid and didn't
scale well.

The usual sort of makefile magic arranges to .include an architecture
specific makefile "Makefile.${MACHINE_ARCH}" in each directory
where it exists.  Also, sources will be found in each subdirectory
"${MACHINE_ARCH}" that exists.  This is all taken care of automatically
by the top level "Makefile.inc0".

This all seems to work right for the i386 now.  I have also converted
those alpha pieces already present to the new schema as best I
could.

Also: change the BINDIR on the i386 to /usr/libexec/elf for "ar"
and "ranlib".  They are not object format independent enough to
put into /usr/bin.
1998-03-12 02:55:43 +00:00