From 673b0d84ba9591e07c0bdf0ee49d92eba10f502c Mon Sep 17 00:00:00 2001 From: Matthew Burgess Date: Mon, 3 May 2004 10:59:46 +0000 Subject: * Merged newxml into HEAD git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3435 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter06/binutils.xml | 122 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 109 insertions(+), 13 deletions(-) (limited to 'chapter06/binutils.xml') diff --git a/chapter06/binutils.xml b/chapter06/binutils.xml index 92c02a803..589f61f29 100644 --- a/chapter06/binutils.xml +++ b/chapter06/binutils.xml @@ -1,17 +1,24 @@ + + + %general-entities; +]> -Installing Binutils-&binutils-version; - +Binutils-&binutils-version; + + +Binutils The Binutils package contains a linker, an assembler, and other tools for handling object files. -&buildtime; &binutils-time; -&diskspace; &binutils-compsize; +&buildtime; 1.4 SBU +&diskspace; 167 MB + +Binutils installation depends on: Bash, Coreutils, Diffutils, GCC, Gettext, +Glibc, Grep, Make, Perl, Sed, Texinfo. -&aa-binutils-down; -&aa-binutils-dep; -   Installation of Binutils @@ -34,7 +41,7 @@ to fix the problem. This package is known to behave badly when you have changed its default optimization flags (including the -march and -mcpu options). Therefore, if you have defined any environment variables that override -default optimizations, such as CFLAGS and CXXFLAGS, we recommend unsetting +default optimizations, such as CFLAGS and CXXFLAGS, we recommend un-setting or modifying them when building Binutils. The Binutils documentation recommends building Binutils outside of the @@ -45,7 +52,7 @@ cd ../binutils-build Now prepare Binutils for compilation: -../&binutils-dir;/configure --prefix=/usr --enable-shared +../binutils-&binutils-version;/configure --prefix=/usr --enable-shared Compile the package: @@ -78,12 +85,101 @@ doubts. Install the libiberty header file that is needed by some packages: -cp ../&binutils-dir;/include/libiberty.h /usr/include +cp ../binutils-&binutils-version;/include/libiberty.h /usr/include -&aa-binutils-shortdesc; -&aa-binutils-desc; - +Contents of Binutils + +Installed programs: addr2line, ar, as, c++filt, +gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings and +strip + +Installed libraries: libiberty.a, libbfd.[a,so] and +libopcodes.[a,so] + + + + +Short descriptions + +addr2line +addr2line translates program addresses to file +names and line numbers. Given an address and the name of an executable, it +uses the debugging information in the executable to figure out which source +file and line number are associated with the address. + +ar +ar creates, modifies, and extracts from archives. An archive +is a single file holding a collection of other files in a structure that makes +it possible to retrieve the original individual files (called members of +the archive). + +as +as is an assembler. It assembles the output of +gcc into object files. + +c++filt +c++filt is used by the linker to de-mangle C++ and +Java symbols, to keep overloaded functions from clashing. + +gprof +gprof displays call graph profile data. + +ld +ld is a linker. It combines a number of object +and archive files into a single file, relocating their data and tying up symbol +references. + +nm +nm lists the symbols occurring in a given object file. +objcopy +objcopy is used to translate one type of object +file into another. + +objdump +objdump displays information about the given +object file, with options controlling what particular information to display. +The information shown is mostly only useful to programmers who are working on +the compilation tools. + +ranlib +ranlib generates an index of the contents of an +archive, and stores it in the archive. The index lists all the symbols defined +by archive members that are relocatable object files. + +readelf +readelf displays information about elf type binaries. + +size +size lists the section sizes -- and the grand +total -- for the given object files. + +strings +strings outputs, for each given file, the sequences +of printable characters that are of at least the specified length (defaulting to 4). +For object files it prints, by default, only the strings from the initializing +and loading sections. For other types of files it scans the whole file. + +strip +strip discards symbols from object files. + +libiberty +libiberty contains routines used by various GNU +programs, including getopt, obstack, strerror, strtol and strtoul. + +libbfd +libbfd is the Binary File Descriptor library. + +libopcodes +libopcodes is a library for dealing with opcodes. +It is used for building utilities like objdump. Opcodes are the readable +text versions of instructions for the processor. + + + + + + -- cgit v1.2.3-54-g00ecf