diff options
Diffstat (limited to 'contrib/binutils/binutils/README')
-rw-r--r-- | contrib/binutils/binutils/README | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/contrib/binutils/binutils/README b/contrib/binutils/binutils/README new file mode 100644 index 0000000..4ae93cd --- /dev/null +++ b/contrib/binutils/binutils/README @@ -0,0 +1,107 @@ +This is a beta release of a completely rewritten binutils distribution. +(Rewritten since binutils 1.x, that is.) + +The linker (ld) has been moved into a separate directory, which should be +../ld. Linker-specific notes are in ../ld/README. + +As of version 2.5, the assembler (as) is also included in this package, in +../gas. Assembler-specific notes can be found in ../gas/README. + +Recent changes are in ./NEWS, ../ld/NEWS, and ../gas/NEWS. + +Unpacking and Installation -- quick overview +============================================ + +When you unpack the binutils-2.8.tar.gz file, you'll get a directory +called something like `binutils-2.8', which contains various files and +directories. Most of the files in the top directory are for +information and for configuration. The actual source code is in +subdirectories. + +To build binutils, you can just do: + + cd binutils-2.8 + ./configure [ --enable-targets='target1,target2...' ] + make + make install # copies the programs files into /usr/local/bin + # by default. + +This will configure and build all the libraries as well as the +assembler, the binutils, and the linker. + +The --enable-targets option adds support for more binary file +formats besides the default. By default, support for only the +selected target file format is compiled in. To add support for more +formats, list them as the argument to --enable-targets, separated by +commas. For example: + + ./configure --enable-targets=sun3,rs6000-aix,decstation + +The name 'all' compiles in support for all valid BFD targets (this was +the default in releases before 2.3): + + ./configure --enable-targets=all + +The binutils can be used in a cross-development environment. +The file etc/configure.texi contains more information. + +You can also specify the --enable-shared option when you run +configure. This will build the BFD and opcodes libraries as shared +libraries. This will only work on certain systems, and currently will +only work when compiling with gcc. You can use arguments with the +--enable-shared option to indicate that only certain libraries should +be built shared; for example, --enable-shared=bfd. The only potential +shared libraries in a binutils release are bfd and opcodes. + +The binutils will be linked against the shared libraries. The build +step will attempt to place the correct library in the runtime search +path for the binaries. However, in some cases, after you install the +binaries, you may have to set an environment variable, normally +LD_LIBRARY_PATH, so that the system can find the installed libbfd +shared library. + +If you specify --enable-commonbfdlib as well as --enable-shared, then +a single shared library will be built containing the bfd, opcodes, and +libiberty libraries. It will be installed as libbfd. This option +will make the binutils programs as small as possible. + +To build under openVMS/AXP, see the file makefile.vms in the top level +directory. + +If you don't have ar +==================== + +If your system does not already have an ar program, the normal +binutils build process will not work. In this case, run configure as +usual. Before running make, run this script: + +#!/bin/sh +MAKE=${MAKE-make} +${MAKE} $* AR=true all-libiberty +${MAKE} $* AR=true all-bfd +cd binutils +${MAKE} $* ADDL_DEPS='$(BULIBS)' ADDL_LIBS='$(BULIBS) ../bfd/*.o `cat ../libiberty/required-list ../libiberty/needed-list | sed -e "s,\([^ ][^ ]*\),../libiberty/\1,g"`' ar + +This script will build an ar program in binutils/ar. Move binutils/ar +into a directory on your PATH. After doing this, you can run make as +usual to build the complete binutils distribution. You do not need +the ranlib program in order to build the distribution. + +Porting +======= +Binutils-2.8 supports many different architectures, but there +are many more not supported, including some that were supported +by earlier versions. We are hoping for volunteers to +improve this situation. + +The major effort in porting binutils to a new host and/or target +architecture involves the BFD library. There is some documentation +in ../bfd/doc. The file ../gdb/doc/gdbint.texinfo (distributed +with gdb-4.x) may also be of help. + +Reporting bugs +============== +Send bug reports and patches to bug-gnu-utils@prep.ai.mit.edu. Always +mention the version number you are running; this is printed by running +any of the binutils with the --version option. We appreciate reports +about bugs, but we do not promise to fix them. |