This is a DOS/DJGPP port of GNU Binutils 2.10.

Contents
========

* Installing the binary
* DJGPP port news
* Building from sources
* The BFD library
* Bug reports & Known problems

Installing the binary
=====================

Unzip the binary package with the option to preserve directories 
(the -d option in PKUNZIP, the -directories option in PKZIP 2.5 and above)
from the top of your DJGPP directory tree.

DJGPP port news
===============

New features in this release:

* Weak symbols are supported, along with the '.gnu.linkonce' feature
  for efficient use of C++ templates. DJGPP ports of gcc 2.95.2 or later
  can generate weak symbols with the -mbnu210 command line switch.
  With a custom version of gcc 2.95.2 configured to generated .gnu.linkonce
  sections, a real C++ program that makes heavy use of small template classes
  went from about 800K compiled with "-O2" down to 700K when compiled with
  "-O2 -mbnu210" or about a 12% savings in space.
* General fixes are included for handling drive names and the path separator.
* Intel-style syntax is supported.
* Intel MMX and SSE instructions are supported.
* AMD 3dNow! instructions are supported.
* Long section names are supported.
* The .text, .data, and .bss section now have 16-byte alignment.
* Please see the README and NEWS files found in the subdirectories for
  other new features in this release.

Changes against the official Binutils 2.10:

* A weak symbol is turned into a strong one when writing it out
  to an executable. This fixes problems debugging with the -gstabs+
  compiler switch.
* The default DJGPP stub has been updated to the one in djdev 2.03.
* In the BFD version of gas, the VMA and LMA is now set for all sections.
* The .section directive in the BFD version of 'as' no longer allows you
  to change a section's attributes once they've been set. The .section
  directive in the non-BFD version of 'as' has this same flaw, but a fix
  for it is not yet available.
* 'objdump --debug' on an object file containing weak symbol does work.
* The function for returning the nearest line number for stabs debugging
  symbols now correctly handles DOS-style pathnames.
* Garbage -- often readable text -- near the start of an executable no
  longer appears in Binutils 2.10 generated executables.

Future changes:

* The BFD version of the 'as' will likely be the default version of the
  assembler in the next release. The non-BFD version of 'as' has a limit
  of about 40 sections which can easily be exceeded when using the -mbnu210
  switch with gcc in CVS or gcc 3.0 (when released). The version included
  in this release is the BFD version of 'as'.

Building from sources
=====================

You will need:

* bnu210s.zip
* Bash 2.03 or later.
* GCC compiler and existing Binutils.
* Make 3.78.1 or later.
* Sed 3.02 or later.
* Fileutils 3.16 or later.
* DJGPP v2.03
* and possibly more packages

1. Unzip the source archive with the option to preserve directories
(the -d option in the old PKUNZIP, the -directories option in newer
versions of PKZIP) from the top of your DJGPP directory tree. Install
the Bash binary and required utilities if you haven't already done so.

2. Run configure. Change to the directory 'gnu/binutils-2.10/djbuild' and
   run 'sh djconfig.sh [any additional parameters]'.

3. Run make. Then either 'make info' or 'make doc' depending on what types
   of documentation you want.

4. If the generated executables are built for DJGPP (the default when
   using DJGPP's tools, unless you used the '--target' option with
   configure), install the binaries and documentation by running
   'sh djinstall.sh'.


The DJGPP version of the Binutils 2.10 sources use the Automake CVS version
of 'ylwrap', and other changes contained in 'djbuild/bnu210.dif'.

The BFD Library
===============

The BFD library -- along its associated libraries and header files --
provides a way for programs to manipulate object files using its API.
The BFD documentation and the binutils subdirectory in bnu210s.zip are your
best tools for learning how to use BFD.

Bug reports & Known Problems
============================

Please send DJGPP-specific bug reports to the newsgroup comp.os.msdos.djgpp
or to the e-mail gateway djgpp@delorie.com. All other bug reports should be
sent to binutils@sourceware.cygnus.com . There are no known problems at
this time. If any are discovered, bnu210.README will be created to
document them.

Thanks
======

Thanks to those who helped with bug fixes and enhancements, including
Eli Zaretskii for his patches for better of handling DOS pathnames.

The porter for this release is Mark E. <snowball3@bigfoot.com>

