Commit Graph

218 Commits

Author SHA1 Message Date
John Birrell
da93b590fb After a repo copy of as_{alpha,i386,mips} to {alpha,i386,mips}-freebsd,
tidy up the logic that works out which sub-directories to build.

The new directories with freebsdelf suffixes now have freebsd suffixes
after a repo move by Peter at the request of David O'Brien.
1999-11-07 05:59:25 +00:00
John Birrell
bf5c062675 Replace freebsdelf with freebsd in BINDIR.
[ alpha-freebsd, i386-freebsd and mips-freebsd were repo-copied
  by Peter (one of the repo-men) ]

Requested by: obrien
1999-11-07 05:56:04 +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
John Birrell
6fc579d56c This one might be a bit controversial. 8-)
gas for i386 targeted to NT for those (like me) who have to do work
targeted to NT, but can't stand actually looking at it all day long.
I cross build apps on FreeBSD and just run them on NT later. Life is
better that way.
1999-11-06 22:26:43 +00:00
John Birrell
7426ce67f6 gas for m68k targeted to NetBSD's a.out format. Useful for porting or
even just building applications targeted to NetBSD.

I know this will upset some people (outside FreeBSD).
1999-11-06 22:21:57 +00:00
John Birrell
e9cf6a0347 gas for powerpc targeted to FreeBSD. 1999-11-06 22:16:59 +00:00
John Birrell
4e51edb129 gas for m68k targeted to FreeBSD. 1999-11-06 22:14:26 +00:00
John Birrell
9daea63040 gas for sparc targeted to FreeBSD as ELF32 for a start (suject to change). 1999-11-06 22:12:24 +00:00
John Birrell
1009ce833e Don't change the name when building a cross-tool. Just set the BINDIR
to /usr/libexec/cross/${MACHINE_ARCH}-freebsdelf.
1999-11-06 21:59:29 +00:00
John Birrell
e60947e1ad Add the BINUTILSDISTDIR hook here too. 1999-11-06 21:55:33 +00:00
John Birrell
19bf8ac856 Change CROSS_TARGETS to CROSS_FORMATS because that makes more sense.
Check if already cross-compiling and only build the cross-tools if
not cross-compiling (to save time).
1999-11-06 21:54:21 +00:00
John Birrell
53149093a0 Add support for additional architectures. 1999-11-06 21:38:41 +00:00
John Birrell
015520102a Add support for additional architectures. 1999-11-06 21:28:22 +00:00
John Birrell
fe8e7c2346 Change CROSS_TOOLS to CROSS_ARCH because that makes more sense.
Allow for the case where the host architecture might also be listed
in CROSS_ARCH, so don't do things twice. This situation can arise if you
want NT support in binutils (CROSS_ARCH=i386 CROSS_FORMAT=winnt).
1999-11-06 21:13:47 +00:00
John Birrell
2e734fae4e Teach binutils how to understand NT format objects and libs. This is useful
for those who want to objdump --disassemble things that they're not
supposed to. 8-)
1999-11-06 21:09:40 +00:00
John Birrell
3ba3ae906a Add a BINUTILSDISTDIR hook to provide a path to a full binutils release
outside the contrib files that FreeBSD distributes. This for use by
those who want to work on porting FreeBSD to additional architectures.
1999-11-06 21:04:46 +00:00
John Birrell
08630cfd05 Add binutils support for additional architectures. 1999-11-06 21:02:48 +00:00
Peter Wemm
9b7a44a60e $Id$ -> $FreeBSD$ 1999-08-27 23:37:10 +00:00
Andrew Gallatin
4331c85a32 Live & postmortem kernel debugging support for the alpha platform.
This was modeled after NetBSD's kernel debugging support.

Reviewed by: Doug Rabson <dfr@nlsystems.com>
1999-06-21 15:00:15 +00:00
Dmitrij Tejblum
8ea9dacf53 Fix placement of signal trampoline. 1999-06-13 19:41:50 +00:00
Bruce Evans
583393551b Fixed some regressions in rev.1.40:
- rev.1.39 was clobbered.
- PROG was defined twice, once as nm.
- style bugs.
1999-05-11 08:07:51 +00:00
Doug Rabson
cbed385da4 Install gdbserver and gdbreplay in /usr/bin, not /usr/libexec/elf. 1999-05-08 12:08:06 +00:00
Doug Rabson
0ba2f2a9ba Implement corefiles for FreeBSD/alpha. This requires a separate change to
the kernel which is awaiting review.
1999-05-07 21:49:06 +00:00
Doug Rabson
657b29aa29 Add core-regset.c to the Makefile to allow debugging elf corefiles. 1999-05-07 19:53:05 +00:00
Doug Rabson
e3af075499 * Merge gdb/doc/Makefile into binutils/doc/Makefile
* Update build for gdbserver and gdbreplay to work under binutils
* Fix gdbserver to use PT_GETREGS etc to access registers, removing the
  dependancy on the u-area.
* Make gdbserver work on the alpha.
1999-05-02 19:50:18 +00:00
Doug Rabson
78bd37a6ae Enable gdb on the alpha. 1999-05-02 16:11:43 +00:00
Doug Rabson
a4bf088d98 Enable building gdb under binutils for i386. I can't enable the alpha build
yet since CVS is hiding one of my files.
1999-05-02 11:38:12 +00:00
Doug Rabson
5c3925f8f9 * Add bmake framework for using gdb alongside binutils. The old bmake
framework was repository copied from gnu/usr.bin/gdb.
* Add alpha support.
1999-05-02 11:32:14 +00:00
Luoqi Chen
d53bd1ea8d Make gdb work with kernel after the SMP vmspace sharing changes. 1999-04-28 01:27:55 +00:00
Warner Losh
0781becd81 For mips assembler, we need to define TARGET_BYTES_BIG_ENDIAN to be
zero when building for little endian machines.

Correct the target names for mips.  We just use the generic targets
for mips elf, so the mipse[lb]-unknown-freebsd emulation types don't
exist.
1999-04-22 07:19:20 +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
David E. O'Brien
fa8e3bcb32 This duplicates gnu/usr.bin/cc/c++filt. 1999-04-18 10:25:57 +00:00
Bruce Evans
146fe9aaf2 echo -> ${ECHO}. 1999-04-03 07:04:53 +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
Nick Hibma
1a180222e0 Ignore return value for strip. Avoids make world going pop
because of

strip maybe_stripped
strip: maybe_stripped: File format not recognized
*** Error code 1

in I/usr/src/gnu/usr.bin/binutils/strip
1999-01-08 10:33:12 +00:00
Bruce Evans
cc4fb50148 Fixed breakage of gdbreplay's and gdbserver's BINDIR in previous commit.
They may belong in /usr/libexec/{aout,elf}, but objformat doesn't
support that.

Fixed bogus `?=' assignments for BINDIR.
1998-10-15 14:15:09 +00:00
John Polstra
fb73a559ca Don't build the info pages for the old assembler. Instead, build
and install the info pages for the new assembler and linker.
1998-10-03 03:59:47 +00:00
John Polstra
e8f80c1aca Fix GDB so that it can handle ELF core dumps. 1998-09-14 22:49:02 +00:00
Doug Rabson
1fdfa7ab3c Update alpha configuration files and remove i386 target from
libbinutils/config.h - it is declared in the arch Makefile.
1998-09-07 08:18:34 +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
John Birrell
050c06f9e2 Missed some BINFORMATs. Fingers! Can't live with 'em. Can't live without 'em. 1998-08-30 02:46:35 +00:00
John Birrell
0e94cd8261 BINFORMAT -> OBJFORMAT ready for E-day. I tossed a coin to decide this
one. We'll probably need to revisit gdb after E-day.
1998-08-30 02:01:07 +00:00
John Birrell
89ef33c09f Install binutils tools in /usr/libexec/elf like on i386 so that objformat
can be used to select them. The purpose of this is not necessarily to
allow another host format, but to allow us to use the objformat trickery
for cross compilation.
1998-08-18 06:51:08 +00:00
Bruce Evans
09d693f205 Fixed printf format errors. 1998-06-30 20:48:45 +00:00
Bruce Evans
ae33d52efb Don't use beforedepend or give dependencies on generated headers explicitly.
Just put generated headers in SRCS.
1998-06-04 06:50:58 +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
Bruce Evans
273762cff9 Removed special rules for lex- and yacc- generated files. The general
rules work identically, except that they actually work if the yacc-
generated header somehow becomes out of date.
1998-06-04 01:09:28 +00:00
Peter Wemm
3977d3f488 Missing DPADD's. 1998-06-03 18:57:59 +00:00
Peter Wemm
fb8bc13e4e Add missing DPADD's. 1998-06-03 18:01:04 +00:00
Bruce Evans
e7c80443b4 Don't attempt to read process context from the kernel when (the
kernel's) curproc is null.  This fixes endless recursion in
xfer_umem() for attempts to read from user addresses, in particular
for attempts to read %fs and %gs from the pcb for `info reg'.
1998-05-12 16:49:13 +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
6bcce84f32 Add CROSS_TARGETS to the list of GASES to build. We end up with a separate
gas for each target format. So for m68k targets that means several
gases. I wanted a m68k gas for VxWorks which uses aout in sun3 big
endian format, cross compiled on i386 under FreeBSD using libraries
supplied by DEC and intended by them for cross compilation on Alpha
under OSF/1. And it actually works!
1998-05-11 09:31:17 +00:00
John Birrell
292041e5f6 Make a path absolute. 1998-05-11 09:26:39 +00:00
John Birrell
4d725788f7 Fix the path. 1998-05-05 12:33:21 +00:00
John Birrell
402d0191b4 Specify an absolute include path.
Backout the previous commit in favour of the Makefile.inc added to
the parent directory.
1998-05-05 10:32:47 +00:00
John Birrell
9976c5ebe2 One of those silently included files that just about guarantee that
nobody has any idea how something like BINDIR gets defined.
1998-05-05 10:27:39 +00:00
John Birrell
b09740d425 The BINDIR definition is an extra directory level away, so include it
explicitly.
1998-05-05 08:57:11 +00:00
John Birrell
9b87ba9b0f Oops, missed the common part of gas. 1998-05-05 08:53:27 +00:00
John Birrell
c6497bae9d Support cross architectures by using specific directories instead of
the ones that match the host.
1998-05-04 22:09:10 +00:00
John Birrell
b967ddfa5c i386 gas config files. 1998-05-04 22:05:54 +00:00
John Birrell
bf28c35750 Alpha gas config files. 1998-05-04 22:04:55 +00:00
John Birrell
3cb3e87019 Support cross-architectures using sub-directories. 1998-05-04 22:03:00 +00:00
John Birrell
7998238373 Add support for cross-architecture gases. Since the GNU code doesn't
support more than one architecture at a time, build as from the
default for the host and if CROSS_TOOLS defines other architectures,
build them as as_${arch}
1998-05-04 22:01:27 +00:00
John Birrell
fea15783d0 BINDIR is now specified in a single place. There are no cross-architecture
issues with this utility.
1998-05-04 21:51:32 +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
John Birrell
3e87569545 BINDIR is now specified in a single place. There are no cross-architecture
issues with this utility.
1998-05-04 21:27:17 +00:00
John Birrell
48de30fa9d BIDIR is now specified in a single place. There are no cross-architecture
issues with this utility.
1998-05-04 21:23:23 +00:00
John Birrell
d8db061de4 Evaluate the TARGET from the architecture. We'll assume that FREEBSD
is ELF from here on.
1998-05-04 21:21:17 +00:00
John Birrell
87219aff8e Remote i386 cross-architecture support. It's now configurable, and off
by default.
1998-05-04 21:18:46 +00:00
John Birrell
beb33165cb Add cross-architecture support. 1998-05-04 21:16:46 +00:00
John Birrell
bb91c76f50 Since the makefiles below binutils with the architecture extension
are now included according to the cross-architecture support required,
default the BINDIR for i386 to /usr/libexec/elf here instead of in
all the i386 specific makefiles. For all other architectures, BINDIR
is just /usr/bin.
1998-05-04 21:13:50 +00:00
John Birrell
dd67e6bff7 Add makefile support for cross-architectures. Allow CROSS_TOOLS to
be defined (in /etc/make.conf, say) and set to the additional architectures
that need to be compiled in. So on alpha I set CROSS_TOOLS = i386.
On i386 you can't build alpha due to lack of 64-bit support on 32-bit
architectures, but that's a GNU problem.

This change relies on makefiles in the binutils sub-directories having
the extension defined in the CROSS_TOOLS, instead of those makefiles
being selected based on the host architecture.
1998-05-04 21:10:56 +00:00
Bruce Evans
e4e61e7b97 Simplified using new yacc rules. This is cosmetic - the old rules
worked because .ORDER prevented problems from concurrent generation
of multiple parsers (and their headers), and there were no missing
dependencies because the generated headers were not actually used.
1998-05-04 17:56:22 +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
Bruce Evans
cca078f55e Inherit BINDIR properly. 1998-05-01 14:48:06 +00:00
Bruce Evans
2b3c4dd72c Fixed apparent bitrot (=' changed to ?=') in the definition of BINDIR
in the previous commit.  Just don't define it here at all.  This works
now that the default is inherited properly.
1998-05-01 14:44:00 +00:00
Bruce Evans
9ca48245eb Oops, This should have been committed with the Makefile change that
requires the new file.

Fixed stale near-copy of contrib/libreadline/doc/hsuser.texinfo.  Patch
it at build ntime, and only keep the patch for it here.

Don't keep a copy of contrib/gdb/gdb/doc/all-cfg.texi here.  Link to it
at build time.
1998-05-01 14:13:00 +00:00
Doug Rabson
0f9bd807c9 Add support for ELF shared libraries. Also use bfd from the binutils in that
case rather than gdb's own copy.
1998-04-30 08:03:50 +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
dc84a8ccd6 Add c++filt. 1998-03-30 02:19:09 +00:00
Bruce Evans
3f9af06bf9 Removed vestiges of use of beforedepend target. 1998-03-19 15:21:19 +00:00
John Polstra
09ce8fd795 Make the binutils strip ELF-only for now. It isn't quite right for a.out. 1998-03-15 02:08:04 +00:00
John Polstra
66f259f3f5 Disable support for the a.out-i386-bsd target. Everything it can do
seems to be supported in the a.out-i386-freebsd target.  When both
are present, there are sometimes complaints of "ambiguous file
format."
1998-03-14 01:40:31 +00:00
John Birrell
db7662af72 Configure alpha to disassemble both alpha and i386 opcodes. 1998-03-12 13:02:46 +00:00
John Birrell
38bc294e8d Configure bfd for elf64, elf32, and aout. Yes alpha can handle i386
formats. No i386 can't handle alpha formats. 8-)
1998-03-12 12:29:20 +00:00
John Birrell
ab9475bf88 Define the target type for alpha. 1998-03-12 08:00:03 +00:00
John Birrell
9fa2607935 Add the alpha makefile.
Move tc-i386.c from Makefile to Makefile.i386 'cause alpha doesn't
like trying to swallow it. Indigestion, I think.
1998-03-12 06:51:48 +00:00
John Birrell
ec14ed6ee5 Change the include path for bfd.h to libbfd/${MACHINE_ARCH} since
I moved the location of that architecture specific file.
1998-03-12 05:59:22 +00:00
John Birrell
06e95425f7 This file was generated on i386, so it has been moved to the i386
sub-directory. It differs from the alpha version.
1998-03-12 05:31:34 +00:00
John Birrell
823093fcc3 This file was generated on i386 by the update.sh script in
src/gnu/usr.bin/binutils.
1998-03-12 05:29:44 +00:00
John Birrell
8e6a3bf016 These files were generated on alpha by the update.sh script in
src/gnu/usr.bin/binutils.
1998-03-12 05:26:30 +00:00
John Polstra
f07eaee2fc Replace empty install targets with definitions of INTERNALLIB and
INTERNALSTATICLIB to suppress installation of internal libraries.
1998-03-12 05:14:19 +00:00
John Birrell
e6956da5e0 Change script to get the machine type from `uname -m' and make
the binutils headers for (machine)-unknown-freebsdelf.

Also copy the bfd.h header to an architecture specific directory
because there are two fundamental lines that differ (32-bit vs 64-bit)
between i386 and alpha.

The config.h for libbinutils generates the same on alpha as i386,
so I didn't change that (though I was tempted!).
1998-03-12 04:54:42 +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