diff options
Diffstat (limited to 'binutils-2.24/binutils/doc')
21 files changed, 0 insertions, 18195 deletions
diff --git a/binutils-2.24/binutils/doc/Makefile.am b/binutils-2.24/binutils/doc/Makefile.am deleted file mode 100644 index 51fa0a01..00000000 --- a/binutils-2.24/binutils/doc/Makefile.am +++ /dev/null @@ -1,201 +0,0 @@ -## Process this file with automake to generate Makefile.in -# -# Copyright 2012 Free Software Foundation -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; see the file COPYING3. If not see -# <http://www.gnu.org/licenses/>. -# - -AUTOMAKE_OPTIONS = cygnus - -# What version of the manual you want; "all" includes everything -CONFIG=all - -# Options to extract the man page from as.texinfo -MANCONF = -Dman - -TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl $(AM_MAKEINFOFLAGS) - -POD2MAN = pod2man --center="GNU Development Tools" \ - --release="binutils-$(VERSION)" --section=1 - -# List of man pages generated from binutils.texi -man_MANS = \ - addr2line.1 \ - ar.1 \ - dlltool.1 \ - nlmconv.1 \ - nm.1 \ - objcopy.1 \ - objdump.1 \ - ranlib.1 \ - readelf.1 \ - size.1 \ - strings.1 \ - strip.1 \ - elfedit.1 \ - windres.1 \ - windmc.1 \ - $(DEMANGLER_NAME).1 - -info_TEXINFOS = binutils.texi -binutils_TEXI = $(srcdir)/binutils.texi - -AM_MAKEINFOFLAGS = -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" \ - -I "$(top_srcdir)/../bfd/doc" -I ../../bfd/doc -TEXI2DVI = texi2dvi -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" \ - -I "$(top_srcdir)/../bfd/doc" -I ../../bfd/doc - -# Man page generation from texinfo -addr2line.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Daddr2line < $(binutils_TEXI) > addr2line.pod - -($(POD2MAN) addr2line.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f addr2line.pod - -ar.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dar < $(binutils_TEXI) > ar.pod - -($(POD2MAN) ar.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f ar.pod - -dlltool.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Ddlltool < $(binutils_TEXI) > dlltool.pod - -($(POD2MAN) dlltool.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f dlltool.pod - -nlmconv.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dnlmconv < $(binutils_TEXI) > nlmconv.pod - -($(POD2MAN) nlmconv.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f nlmconv.pod - -nm.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dnm < $(binutils_TEXI) > nm.pod - -($(POD2MAN) nm.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f nm.pod - -objcopy.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dobjcopy < $(binutils_TEXI) > objcopy.pod - -($(POD2MAN) objcopy.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f objcopy.pod - -objdump.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dobjdump < $(binutils_TEXI) > objdump.pod - -($(POD2MAN) objdump.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f objdump.pod - -ranlib.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dranlib < $(binutils_TEXI) > ranlib.pod - -($(POD2MAN) ranlib.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f ranlib.pod - -readelf.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dreadelf < $(binutils_TEXI) > readelf.pod - -($(POD2MAN) readelf.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f readelf.pod - -size.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dsize < $(binutils_TEXI) > size.pod - -($(POD2MAN) size.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f size.pod - -strings.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dstrings < $(binutils_TEXI) > strings.pod - -($(POD2MAN) strings.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f strings.pod - -strip.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dstrip < $(binutils_TEXI) > strip.pod - -($(POD2MAN) strip.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f strip.pod - -elfedit.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Delfedit < $(binutils_TEXI) > elfedit.pod - -($(POD2MAN) elfedit.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f elfedit.pod - -windres.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dwindres < $(binutils_TEXI) > windres.pod - -($(POD2MAN) windres.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f windres.pod - -windmc.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dwindmc < $(binutils_TEXI) > windmc.pod - -($(POD2MAN) windmc.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f windmc.pod - -cxxfilt.man: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dcxxfilt < $(binutils_TEXI) > $(DEMANGLER_NAME).pod - -($(POD2MAN) $(DEMANGLER_NAME).pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $(DEMANGLER_NAME).pod - -MOSTLYCLEANFILES = $(DEMANGLER_NAME).1 - -$(DEMANGLER_NAME).1: cxxfilt.man Makefile - if test -f cxxfilt.man; then \ - man=cxxfilt.man; \ - else \ - man=$(srcdir)/cxxfilt.man; \ - fi; \ - sed -e 's/@PROGRAM@/$(DEMANGLER_NAME)/' \ - -e 's/cxxfilt/$(DEMANGLER_NAME)/' < $$man \ - > $(DEMANGLER_NAME).1 - -# We want install to imply install-info as per GNU standards, despite the -# cygnus option. -install-data-local: install-info - -MAINTAINERCLEANFILES = binutils.info - -# Automake 1.9 will only build info files in the objdir if they are -# mentioned in DISTCLEANFILES. It doesn't have to be unconditional, -# though, so we use a bogus condition. -if GENINSRC_NEVER -DISTCLEANFILES = binutils.info -endif - -# Maintenance - -# We need it for the taz target in ../../Makefile.in. -info-local: $(MANS) diff --git a/binutils-2.24/binutils/doc/Makefile.in b/binutils-2.24/binutils/doc/Makefile.in deleted file mode 100644 index 596dbda3..00000000 --- a/binutils-2.24/binutils/doc/Makefile.in +++ /dev/null @@ -1,888 +0,0 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# -# Copyright 2012 Free Software Foundation -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; see the file COPYING3. If not see -# <http://www.gnu.org/licenses/>. -# -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = doc -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/../bfd/acinclude.m4 \ - $(top_srcdir)/../config/zlib.m4 \ - $(top_srcdir)/../bfd/warning.m4 $(top_srcdir)/../config/acx.m4 \ - $(top_srcdir)/../config/depstand.m4 \ - $(top_srcdir)/../config/gettext-sister.m4 \ - $(top_srcdir)/../config/iconv.m4 \ - $(top_srcdir)/../config/largefile.m4 \ - $(top_srcdir)/../config/lcmessage.m4 \ - $(top_srcdir)/../config/lead-dot.m4 \ - $(top_srcdir)/../config/lib-ld.m4 \ - $(top_srcdir)/../config/lib-link.m4 \ - $(top_srcdir)/../config/lib-prefix.m4 \ - $(top_srcdir)/../config/nls.m4 \ - $(top_srcdir)/../config/override.m4 \ - $(top_srcdir)/../config/plugins.m4 \ - $(top_srcdir)/../config/po.m4 \ - $(top_srcdir)/../config/progtest.m4 \ - $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ - $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ - $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -depcomp = -am__depfiles_maybe = -SOURCES = -INFO_DEPS = binutils.info -TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex -am__TEXINFO_TEX_DIR = $(top_srcdir)/../texinfo -DVIS = binutils.dvi -PDFS = binutils.pdf -PSS = binutils.ps -HTMLS = binutils.html -TEXINFOS = binutils.texi -TEXI2PDF = $(TEXI2DVI) --pdf --batch -MAKEINFOHTML = $(MAKEINFO) --html -AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) -DVIPS = dvips -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" -NROFF = nroff -MANS = $(man_MANS) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BUILD_DLLTOOL = @BUILD_DLLTOOL@ -BUILD_DLLWRAP = @BUILD_DLLWRAP@ -BUILD_INSTALL_MISC = @BUILD_INSTALL_MISC@ -BUILD_MISC = @BUILD_MISC@ -BUILD_NLMCONV = @BUILD_NLMCONV@ -BUILD_SRCONV = @BUILD_SRCONV@ -BUILD_WINDMC = @BUILD_WINDMC@ -BUILD_WINDRES = @BUILD_WINDRES@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CC_FOR_BUILD = @CC_FOR_BUILD@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DATADIRNAME = @DATADIRNAME@ -DEFS = @DEFS@ -DEMANGLER_NAME = @DEMANGLER_NAME@ -DEPDIR = @DEPDIR@ -DLLTOOL_DEFS = @DLLTOOL_DEFS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EMULATION = @EMULATION@ -EMULATION_VECTOR = @EMULATION_VECTOR@ -EXEEXT = @EXEEXT@ -EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ -FGREP = @FGREP@ -GENCAT = @GENCAT@ -GMSGFMT = @GMSGFMT@ -GREP = @GREP@ -HDEFINES = @HDEFINES@ -INCINTL = @INCINTL@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBINTL_DEP = @LIBINTL_DEP@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -MSGMERGE = @MSGMERGE@ -NLMCONV_DEFS = @NLMCONV_DEFS@ -NM = @NM@ -NMEDIT = @NMEDIT@ -NO_WERROR = @NO_WERROR@ -OBJDUMP = @OBJDUMP@ -OBJDUMP_DEFS = @OBJDUMP_DEFS@ -OBJDUMP_PRIVATE_OFILES = @OBJDUMP_PRIVATE_OFILES@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -WARN_CFLAGS = @WARN_CFLAGS@ -XGETTEXT = @XGETTEXT@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AUTOMAKE_OPTIONS = cygnus - -# What version of the manual you want; "all" includes everything -CONFIG = all - -# Options to extract the man page from as.texinfo -MANCONF = -Dman -TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl $(AM_MAKEINFOFLAGS) -POD2MAN = pod2man --center="GNU Development Tools" \ - --release="binutils-$(VERSION)" --section=1 - - -# List of man pages generated from binutils.texi -man_MANS = \ - addr2line.1 \ - ar.1 \ - dlltool.1 \ - nlmconv.1 \ - nm.1 \ - objcopy.1 \ - objdump.1 \ - ranlib.1 \ - readelf.1 \ - size.1 \ - strings.1 \ - strip.1 \ - elfedit.1 \ - windres.1 \ - windmc.1 \ - $(DEMANGLER_NAME).1 - -info_TEXINFOS = binutils.texi -binutils_TEXI = $(srcdir)/binutils.texi -AM_MAKEINFOFLAGS = -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" \ - -I "$(top_srcdir)/../bfd/doc" -I ../../bfd/doc - -TEXI2DVI = texi2dvi -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" \ - -I "$(top_srcdir)/../bfd/doc" -I ../../bfd/doc - -MOSTLYCLEANFILES = $(DEMANGLER_NAME).1 -MAINTAINERCLEANFILES = binutils.info - -# Automake 1.9 will only build info files in the objdir if they are -# mentioned in DISTCLEANFILES. It doesn't have to be unconditional, -# though, so we use a bogus condition. -@GENINSRC_NEVER_TRUE@DISTCLEANFILES = binutils.info -all: all-am - -.SUFFIXES: -.SUFFIXES: .dvi .ps -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -binutils.info: binutils.texi - restore=: && backupdir="$(am__leading_dot)am$$$$" && \ - rm -rf $$backupdir && mkdir $$backupdir && \ - if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ - for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ - if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ - done; \ - else :; fi && \ - if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ - -o $@ `test -f 'binutils.texi' || echo '$(srcdir)/'`binutils.texi; \ - then \ - rc=0; \ - else \ - rc=$$?; \ - $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ - fi; \ - rm -rf $$backupdir; exit $$rc - -binutils.dvi: binutils.texi - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2DVI) -o $@ `test -f 'binutils.texi' || echo '$(srcdir)/'`binutils.texi - -binutils.pdf: binutils.texi - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2PDF) -o $@ `test -f 'binutils.texi' || echo '$(srcdir)/'`binutils.texi - -binutils.html: binutils.texi - rm -rf $(@:.html=.htp) - if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ - -o $(@:.html=.htp) `test -f 'binutils.texi' || echo '$(srcdir)/'`binutils.texi; \ - then \ - rm -rf $@; \ - if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ - mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ - else \ - if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ - rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ - exit 1; \ - fi -.dvi.ps: - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - $(DVIPS) -o $@ $< - -uninstall-dvi-am: - @$(NORMAL_UNINSTALL) - @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ - rm -f "$(DESTDIR)$(dvidir)/$$f"; \ - done - -uninstall-html-am: - @$(NORMAL_UNINSTALL) - @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ - rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ - done - -uninstall-info-am: - @$(PRE_UNINSTALL) - @if test -d '$(DESTDIR)$(infodir)' && \ - (install-info --version && \ - install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ - list='$(INFO_DEPS)'; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ - if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ - then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \ - done; \ - else :; fi - @$(NORMAL_UNINSTALL) - @list='$(INFO_DEPS)'; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ - (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ - echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ - rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ - else :; fi); \ - done - -uninstall-pdf-am: - @$(NORMAL_UNINSTALL) - @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ - rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ - done - -uninstall-ps-am: - @$(NORMAL_UNINSTALL) - @list='$(PSS)'; test -n "$(psdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ - rm -f "$(DESTDIR)$(psdir)/$$f"; \ - done - -dist-info: $(INFO_DEPS) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; \ - for base in $$list; do \ - case $$base in \ - $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ - esac; \ - if test -f $$base; then d=.; else d=$(srcdir); fi; \ - base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ - for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ - if test -f $$file; then \ - relfile=`expr "$$file" : "$$d/\(.*\)"`; \ - test -f "$(distdir)/$$relfile" || \ - cp -p $$file "$(distdir)/$$relfile"; \ - else :; fi; \ - done; \ - done - -mostlyclean-aminfo: - -rm -rf binutils.aux binutils.cp binutils.cps binutils.fn binutils.fns \ - binutils.ky binutils.log binutils.pg binutils.pgs \ - binutils.tmp binutils.toc binutils.tp binutils.tps \ - binutils.vr binutils.vrs - -clean-aminfo: - -test -z "binutils.dvi binutils.pdf binutils.ps binutils.html" \ - || rm -rf binutils.dvi binutils.pdf binutils.ps binutils.html - -maintainer-clean-aminfo: - @list='$(INFO_DEPS)'; for i in $$list; do \ - i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ - echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ - rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ - done - -clean-info: mostlyclean-aminfo clean-aminfo -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" - @list=''; test -n "$(man1dir)" || exit 0; \ - { for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - test -z "$$files" || { \ - echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - -check-am: -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-am - -clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: $(DVIS) - -html: html-am - -html-am: $(HTMLS) - -info: info-am - -info-am: $(INFO_DEPS) info-local - -install-data-am: install-data-local install-man - -install-dvi: install-dvi-am - -install-dvi-am: $(DVIS) - @$(NORMAL_INSTALL) - test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)" - @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \ - done -install-exec-am: - -install-html: install-html-am - -install-html-am: $(HTMLS) - @$(NORMAL_INSTALL) - test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" - @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ - for p in $$list; do \ - if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ - $(am__strip_dir) \ - if test -d "$$d$$p"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ - $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ - echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \ - $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ - else \ - list2="$$list2 $$d$$p"; \ - fi; \ - done; \ - test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ - done; } -install-info: install-info-am - -install-info-am: $(INFO_DEPS) - @$(NORMAL_INSTALL) - test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ - for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - esac; \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ - for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ - $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ - if test -f $$ifile; then \ - echo "$$ifile"; \ - else : ; fi; \ - done; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done - @$(POST_INSTALL) - @if (install-info --version && \ - install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ - list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ - install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ - done; \ - else : ; fi -install-man: install-man1 - -install-pdf: install-pdf-am - -install-pdf-am: $(PDFS) - @$(NORMAL_INSTALL) - test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)" - @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done -install-ps: install-ps-am - -install-ps-am: $(PSS) - @$(NORMAL_INSTALL) - test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)" - @list='$(PSS)'; test -n "$(psdir)" || list=; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-aminfo \ - maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-aminfo mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: $(PDFS) - -ps: ps-am - -ps-am: $(PSS) - -uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \ - uninstall-man uninstall-pdf-am uninstall-ps-am - -uninstall-man: uninstall-man1 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-aminfo clean-generic \ - clean-info clean-libtool dist-info distclean distclean-generic \ - distclean-libtool dvi dvi-am html html-am info info-am \ - info-local install install-am install-data install-data-am \ - install-data-local install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-man1 install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-aminfo maintainer-clean-generic mostlyclean \ - mostlyclean-aminfo mostlyclean-generic mostlyclean-libtool pdf \ - pdf-am ps ps-am uninstall uninstall-am uninstall-dvi-am \ - uninstall-html-am uninstall-info-am uninstall-man \ - uninstall-man1 uninstall-pdf-am uninstall-ps-am - - -# Man page generation from texinfo -addr2line.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Daddr2line < $(binutils_TEXI) > addr2line.pod - -($(POD2MAN) addr2line.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f addr2line.pod - -ar.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dar < $(binutils_TEXI) > ar.pod - -($(POD2MAN) ar.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f ar.pod - -dlltool.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Ddlltool < $(binutils_TEXI) > dlltool.pod - -($(POD2MAN) dlltool.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f dlltool.pod - -nlmconv.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dnlmconv < $(binutils_TEXI) > nlmconv.pod - -($(POD2MAN) nlmconv.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f nlmconv.pod - -nm.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dnm < $(binutils_TEXI) > nm.pod - -($(POD2MAN) nm.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f nm.pod - -objcopy.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dobjcopy < $(binutils_TEXI) > objcopy.pod - -($(POD2MAN) objcopy.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f objcopy.pod - -objdump.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dobjdump < $(binutils_TEXI) > objdump.pod - -($(POD2MAN) objdump.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f objdump.pod - -ranlib.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dranlib < $(binutils_TEXI) > ranlib.pod - -($(POD2MAN) ranlib.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f ranlib.pod - -readelf.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dreadelf < $(binutils_TEXI) > readelf.pod - -($(POD2MAN) readelf.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f readelf.pod - -size.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dsize < $(binutils_TEXI) > size.pod - -($(POD2MAN) size.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f size.pod - -strings.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dstrings < $(binutils_TEXI) > strings.pod - -($(POD2MAN) strings.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f strings.pod - -strip.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dstrip < $(binutils_TEXI) > strip.pod - -($(POD2MAN) strip.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f strip.pod - -elfedit.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Delfedit < $(binutils_TEXI) > elfedit.pod - -($(POD2MAN) elfedit.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f elfedit.pod - -windres.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dwindres < $(binutils_TEXI) > windres.pod - -($(POD2MAN) windres.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f windres.pod - -windmc.1: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dwindmc < $(binutils_TEXI) > windmc.pod - -($(POD2MAN) windmc.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f windmc.pod - -cxxfilt.man: $(binutils_TEXI) $(binutils_TEXINFOS) - touch $@ - -$(TEXI2POD) $(MANCONF) -Dcxxfilt < $(binutils_TEXI) > $(DEMANGLER_NAME).pod - -($(POD2MAN) $(DEMANGLER_NAME).pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $(DEMANGLER_NAME).pod - -$(DEMANGLER_NAME).1: cxxfilt.man Makefile - if test -f cxxfilt.man; then \ - man=cxxfilt.man; \ - else \ - man=$(srcdir)/cxxfilt.man; \ - fi; \ - sed -e 's/@PROGRAM@/$(DEMANGLER_NAME)/' \ - -e 's/cxxfilt/$(DEMANGLER_NAME)/' < $$man \ - > $(DEMANGLER_NAME).1 - -# We want install to imply install-info as per GNU standards, despite the -# cygnus option. -install-data-local: install-info - -# Maintenance - -# We need it for the taz target in ../../Makefile.in. -info-local: $(MANS) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/binutils-2.24/binutils/doc/addr2line.1 b/binutils-2.24/binutils/doc/addr2line.1 deleted file mode 100644 index 0d60c7e0..00000000 --- a/binutils-2.24/binutils/doc/addr2line.1 +++ /dev/null @@ -1,299 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "ADDR2LINE 1" -.TH ADDR2LINE 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -addr2line \- convert addresses into file names and line numbers. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -addr2line [\fB\-a\fR|\fB\-\-addresses\fR] - [\fB\-b\fR \fIbfdname\fR|\fB\-\-target=\fR\fIbfdname\fR] - [\fB\-C\fR|\fB\-\-demangle\fR[=\fIstyle\fR]] - [\fB\-e\fR \fIfilename\fR|\fB\-\-exe=\fR\fIfilename\fR] - [\fB\-f\fR|\fB\-\-functions\fR] [\fB\-s\fR|\fB\-\-basename\fR] - [\fB\-i\fR|\fB\-\-inlines\fR] - [\fB\-p\fR|\fB\-\-pretty\-print\fR] - [\fB\-j\fR|\fB\-\-section=\fR\fIname\fR] - [\fB\-H\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] - [addr addr ...] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBaddr2line\fR translates addresses into file names and line numbers. -Given an address in an executable or an offset in a section of a relocatable -object, it uses the debugging information to figure out which file name and -line number are associated with it. -.PP -The executable or relocatable object to use is specified with the \fB\-e\fR -option. The default is the file \fIa.out\fR. The section in the relocatable -object to use is specified with the \fB\-j\fR option. -.PP -\&\fBaddr2line\fR has two modes of operation. -.PP -In the first, hexadecimal addresses are specified on the command line, -and \fBaddr2line\fR displays the file name and line number for each -address. -.PP -In the second, \fBaddr2line\fR reads hexadecimal addresses from -standard input, and prints the file name and line number for each -address on standard output. In this mode, \fBaddr2line\fR may be used -in a pipe to convert dynamically chosen addresses. -.PP -The format of the output is \fB\s-1FILENAME:LINENO\s0\fR. The file name and -line number for each input address is printed on separate lines. -.PP -If the \fB\-f\fR option is used, then each \fB\s-1FILENAME:LINENO\s0\fR -line is preceded by \fB\s-1FUNCTIONNAME\s0\fR which is the name of the -function containing the address. -.PP -If the \fB\-i\fR option is used and the code at the given address is -present there because of inlining by the compiler then the -\&\fB{\s-1FUNCTIONNAME\s0} \s-1FILENAME:LINENO\s0\fR information for the inlining -function will be displayed afterwards. This continues recursively -until there is no more inlining to report. -.PP -If the \fB\-a\fR option is used then the output is prefixed by the -input address. -.PP -If the \fB\-p\fR option is used then the output for each input -address is displayed on one, possibly quite long, line. If -\&\fB\-p\fR is not used then the output is broken up into multiple -lines, based on the paragraphs above. -.PP -If the file name or function name can not be determined, -\&\fBaddr2line\fR will print two question marks in their place. If the -line number can not be determined, \fBaddr2line\fR will print 0. -.SH "OPTIONS" -.IX Header "OPTIONS" -The long and short forms of options, shown here as alternatives, are -equivalent. -.IP "\fB\-a\fR" 4 -.IX Item "-a" -.PD 0 -.IP "\fB\-\-addresses\fR" 4 -.IX Item "--addresses" -.PD -Display the address before the function name, file and line number -information. The address is printed with a \fB0x\fR prefix to easily -identify it. -.IP "\fB\-b\fR \fIbfdname\fR" 4 -.IX Item "-b bfdname" -.PD 0 -.IP "\fB\-\-target=\fR\fIbfdname\fR" 4 -.IX Item "--target=bfdname" -.PD -Specify that the object-code format for the object files is -\&\fIbfdname\fR. -.IP "\fB\-C\fR" 4 -.IX Item "-C" -.PD 0 -.IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4 -.IX Item "--demangle[=style]" -.PD -Decode (\fIdemangle\fR) low-level symbol names into user-level names. -Besides removing any initial underscore prepended by the system, this -makes \*(C+ function names readable. Different compilers have different -mangling styles. The optional demangling style argument can be used to -choose an appropriate demangling style for your compiler. -.IP "\fB\-e\fR \fIfilename\fR" 4 -.IX Item "-e filename" -.PD 0 -.IP "\fB\-\-exe=\fR\fIfilename\fR" 4 -.IX Item "--exe=filename" -.PD -Specify the name of the executable for which addresses should be -translated. The default file is \fIa.out\fR. -.IP "\fB\-f\fR" 4 -.IX Item "-f" -.PD 0 -.IP "\fB\-\-functions\fR" 4 -.IX Item "--functions" -.PD -Display function names as well as file and line number information. -.IP "\fB\-s\fR" 4 -.IX Item "-s" -.PD 0 -.IP "\fB\-\-basenames\fR" 4 -.IX Item "--basenames" -.PD -Display only the base of each file name. -.IP "\fB\-i\fR" 4 -.IX Item "-i" -.PD 0 -.IP "\fB\-\-inlines\fR" 4 -.IX Item "--inlines" -.PD -If the address belongs to a function that was inlined, the source -information for all enclosing scopes back to the first non-inlined -function will also be printed. For example, if \f(CW\*(C`main\*(C'\fR inlines -\&\f(CW\*(C`callee1\*(C'\fR which inlines \f(CW\*(C`callee2\*(C'\fR, and address is from -\&\f(CW\*(C`callee2\*(C'\fR, the source information for \f(CW\*(C`callee1\*(C'\fR and \f(CW\*(C`main\*(C'\fR -will also be printed. -.IP "\fB\-j\fR" 4 -.IX Item "-j" -.PD 0 -.IP "\fB\-\-section\fR" 4 -.IX Item "--section" -.PD -Read offsets relative to the specified section instead of absolute addresses. -.IP "\fB\-p\fR" 4 -.IX Item "-p" -.PD 0 -.IP "\fB\-\-pretty\-print\fR" 4 -.IX Item "--pretty-print" -.PD -Make the output more human friendly: each location are printed on one line. -If option \fB\-i\fR is specified, lines for all enclosing scopes are -prefixed with \fB(inlined by)\fR. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/ar.1 b/binutils-2.24/binutils/doc/ar.1 deleted file mode 100644 index f3d02f82..00000000 --- a/binutils-2.24/binutils/doc/ar.1 +++ /dev/null @@ -1,461 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "AR 1" -.TH AR 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -ar \- create, modify, and extract from archives -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -ar [\fB\-\-plugin\fR \fIname\fR] [\fB\-X32_64\fR] [\fB\-\fR]\fIp\fR[\fImod\fR [\fIrelpos\fR] [\fIcount\fR]] [\fB\-\-target\fR \fIbfdname\fR] \fIarchive\fR [\fImember\fR...] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \s-1GNU\s0 \fBar\fR program creates, modifies, and extracts from -archives. An \fIarchive\fR is a single file holding a collection of -other files in a structure that makes it possible to retrieve -the original individual files (called \fImembers\fR of the archive). -.PP -The original files' contents, mode (permissions), timestamp, owner, and -group are preserved in the archive, and can be restored on -extraction. -.PP -\&\s-1GNU\s0 \fBar\fR can maintain archives whose members have names of any -length; however, depending on how \fBar\fR is configured on your -system, a limit on member-name length may be imposed for compatibility -with archive formats maintained with other tools. If it exists, the -limit is often 15 characters (typical of formats related to a.out) or 16 -characters (typical of formats related to coff). -.PP -\&\fBar\fR is considered a binary utility because archives of this sort -are most often used as \fIlibraries\fR holding commonly needed -subroutines. -.PP -\&\fBar\fR creates an index to the symbols defined in relocatable -object modules in the archive when you specify the modifier \fBs\fR. -Once created, this index is updated in the archive whenever \fBar\fR -makes a change to its contents (save for the \fBq\fR update operation). -An archive with such an index speeds up linking to the library, and -allows routines in the library to call each other without regard to -their placement in the archive. -.PP -You may use \fBnm \-s\fR or \fBnm \-\-print\-armap\fR to list this index -table. If an archive lacks the table, another form of \fBar\fR called -\&\fBranlib\fR can be used to add just the table. -.PP -\&\s-1GNU\s0 \fBar\fR can optionally create a \fIthin\fR archive, -which contains a symbol index and references to the original copies -of the member files of the archive. This is useful for building -libraries for use within a local build tree, where the relocatable -objects are expected to remain available, and copying the contents of -each object would only waste time and space. -.PP -An archive can either be \fIthin\fR or it can be normal. It cannot -be both at the same time. Once an archive is created its format -cannot be changed without first deleting it and then creating a new -archive in its place. -.PP -Thin archives are also \fIflattened\fR, so that adding one thin -archive to another thin archive does not nest it, as would happen with -a normal archive. Instead the elements of the first archive are added -individually to the second archive. -.PP -The paths to the elements of the archive are stored relative to the -archive itself. -.PP -\&\s-1GNU\s0 \fBar\fR is designed to be compatible with two different -facilities. You can control its activity using command-line options, -like the different varieties of \fBar\fR on Unix systems; or, if you -specify the single command-line option \fB\-M\fR, you can control it -with a script supplied via standard input, like the \s-1MRI\s0 \*(L"librarian\*(R" -program. -.SH "OPTIONS" -.IX Header "OPTIONS" -\&\s-1GNU\s0 \fBar\fR allows you to mix the operation code \fIp\fR and modifier -flags \fImod\fR in any order, within the first command-line argument. -.PP -If you wish, you may begin the first command-line argument with a -dash. -.PP -The \fIp\fR keyletter specifies what operation to execute; it may be -any of the following, but you must specify only one of them: -.IP "\fBd\fR" 4 -.IX Item "d" -\&\fIDelete\fR modules from the archive. Specify the names of modules to -be deleted as \fImember\fR...; the archive is untouched if you -specify no files to delete. -.Sp -If you specify the \fBv\fR modifier, \fBar\fR lists each module -as it is deleted. -.IP "\fBm\fR" 4 -.IX Item "m" -Use this operation to \fImove\fR members in an archive. -.Sp -The ordering of members in an archive can make a difference in how -programs are linked using the library, if a symbol is defined in more -than one member. -.Sp -If no modifiers are used with \f(CW\*(C`m\*(C'\fR, any members you name in the -\&\fImember\fR arguments are moved to the \fIend\fR of the archive; -you can use the \fBa\fR, \fBb\fR, or \fBi\fR modifiers to move them to a -specified place instead. -.IP "\fBp\fR" 4 -.IX Item "p" -\&\fIPrint\fR the specified members of the archive, to the standard -output file. If the \fBv\fR modifier is specified, show the member -name before copying its contents to standard output. -.Sp -If you specify no \fImember\fR arguments, all the files in the archive are -printed. -.IP "\fBq\fR" 4 -.IX Item "q" -\&\fIQuick append\fR; Historically, add the files \fImember\fR... to the end of -\&\fIarchive\fR, without checking for replacement. -.Sp -The modifiers \fBa\fR, \fBb\fR, and \fBi\fR do \fInot\fR affect this -operation; new members are always placed at the end of the archive. -.Sp -The modifier \fBv\fR makes \fBar\fR list each file as it is appended. -.Sp -Since the point of this operation is speed, implementations of -\&\fBar\fR have the option of not updating the archive's symbol -table if one exists. Too many different systems however assume that -symbol tables are always up-to-date, so \s-1GNU\s0 \fBar\fR will -rebuild the table even with a quick append. -.Sp -Note \- \s-1GNU\s0 \fBar\fR treats the command \fBqs\fR as a -synonym for \fBr\fR \- replacing already existing files in the -archive and appending new ones at the end. -.IP "\fBr\fR" 4 -.IX Item "r" -Insert the files \fImember\fR... into \fIarchive\fR (with -\&\fIreplacement\fR). This operation differs from \fBq\fR in that any -previously existing members are deleted if their names match those being -added. -.Sp -If one of the files named in \fImember\fR... does not exist, \fBar\fR -displays an error message, and leaves undisturbed any existing members -of the archive matching that name. -.Sp -By default, new members are added at the end of the file; but you may -use one of the modifiers \fBa\fR, \fBb\fR, or \fBi\fR to request -placement relative to some existing member. -.Sp -The modifier \fBv\fR used with this operation elicits a line of -output for each file inserted, along with one of the letters \fBa\fR or -\&\fBr\fR to indicate whether the file was appended (no old member -deleted) or replaced. -.IP "\fBs\fR" 4 -.IX Item "s" -Add an index to the archive, or update it if it already exists. Note -this command is an exception to the rule that there can only be one -command letter, as it is possible to use it as either a command or a -modifier. In either case it does the same thing. -.IP "\fBt\fR" 4 -.IX Item "t" -Display a \fItable\fR listing the contents of \fIarchive\fR, or those -of the files listed in \fImember\fR... that are present in the -archive. Normally only the member name is shown; if you also want to -see the modes (permissions), timestamp, owner, group, and size, you can -request that by also specifying the \fBv\fR modifier. -.Sp -If you do not specify a \fImember\fR, all files in the archive -are listed. -.Sp -If there is more than one file with the same name (say, \fBfie\fR) in -an archive (say \fBb.a\fR), \fBar t b.a fie\fR lists only the -first instance; to see them all, you must ask for a complete -listing\-\-\-in our example, \fBar t b.a\fR. -.IP "\fBx\fR" 4 -.IX Item "x" -\&\fIExtract\fR members (named \fImember\fR) from the archive. You can -use the \fBv\fR modifier with this operation, to request that -\&\fBar\fR list each name as it extracts it. -.Sp -If you do not specify a \fImember\fR, all files in the archive -are extracted. -.Sp -Files cannot be extracted from a thin archive. -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -Displays the list of command line options supported by \fBar\fR -and then exits. -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -Displays the version information of \fBar\fR and then exits. -.PP -A number of modifiers (\fImod\fR) may immediately follow the \fIp\fR -keyletter, to specify variations on an operation's behavior: -.IP "\fBa\fR" 4 -.IX Item "a" -Add new files \fIafter\fR an existing member of the -archive. If you use the modifier \fBa\fR, the name of an existing archive -member must be present as the \fIrelpos\fR argument, before the -\&\fIarchive\fR specification. -.IP "\fBb\fR" 4 -.IX Item "b" -Add new files \fIbefore\fR an existing member of the -archive. If you use the modifier \fBb\fR, the name of an existing archive -member must be present as the \fIrelpos\fR argument, before the -\&\fIarchive\fR specification. (same as \fBi\fR). -.IP "\fBc\fR" 4 -.IX Item "c" -\&\fICreate\fR the archive. The specified \fIarchive\fR is always -created if it did not exist, when you request an update. But a warning is -issued unless you specify in advance that you expect to create it, by -using this modifier. -.IP "\fBD\fR" 4 -.IX Item "D" -Operate in \fIdeterministic\fR mode. When adding files and the archive -index use zero for UIDs, GIDs, timestamps, and use consistent file modes -for all files. When this option is used, if \fBar\fR is used with -identical options and identical input files, multiple runs will create -identical output files regardless of the input files' owners, groups, -file modes, or modification times. -.Sp -If \fIbinutils\fR was configured with -\&\fB\-\-enable\-deterministic\-archives\fR, then this mode is on by default. -It can be disabled with the \fBU\fR modifier, below. -.IP "\fBf\fR" 4 -.IX Item "f" -Truncate names in the archive. \s-1GNU\s0 \fBar\fR will normally permit file -names of any length. This will cause it to create archives which are -not compatible with the native \fBar\fR program on some systems. If -this is a concern, the \fBf\fR modifier may be used to truncate file -names when putting them in the archive. -.IP "\fBi\fR" 4 -.IX Item "i" -Insert new files \fIbefore\fR an existing member of the -archive. If you use the modifier \fBi\fR, the name of an existing archive -member must be present as the \fIrelpos\fR argument, before the -\&\fIarchive\fR specification. (same as \fBb\fR). -.IP "\fBl\fR" 4 -.IX Item "l" -This modifier is accepted but not used. -.IP "\fBN\fR" 4 -.IX Item "N" -Uses the \fIcount\fR parameter. This is used if there are multiple -entries in the archive with the same name. Extract or delete instance -\&\fIcount\fR of the given name from the archive. -.IP "\fBo\fR" 4 -.IX Item "o" -Preserve the \fIoriginal\fR dates of members when extracting them. If -you do not specify this modifier, files extracted from the archive -are stamped with the time of extraction. -.IP "\fBP\fR" 4 -.IX Item "P" -Use the full path name when matching names in the archive. \s-1GNU\s0 -\&\fBar\fR can not create an archive with a full path name (such archives -are not \s-1POSIX\s0 complaint), but other archive creators can. This option -will cause \s-1GNU\s0 \fBar\fR to match file names using a complete path -name, which can be convenient when extracting a single file from an -archive created by another tool. -.IP "\fBs\fR" 4 -.IX Item "s" -Write an object-file index into the archive, or update an existing one, -even if no other change is made to the archive. You may use this modifier -flag either with any operation, or alone. Running \fBar s\fR on an -archive is equivalent to running \fBranlib\fR on it. -.IP "\fBS\fR" 4 -.IX Item "S" -Do not generate an archive symbol table. This can speed up building a -large library in several steps. The resulting archive can not be used -with the linker. In order to build a symbol table, you must omit the -\&\fBS\fR modifier on the last execution of \fBar\fR, or you must run -\&\fBranlib\fR on the archive. -.IP "\fBT\fR" 4 -.IX Item "T" -Make the specified \fIarchive\fR a \fIthin\fR archive. If it already -exists and is a regular archive, the existing members must be present -in the same directory as \fIarchive\fR. -.IP "\fBu\fR" 4 -.IX Item "u" -Normally, \fBar r\fR... inserts all files -listed into the archive. If you would like to insert \fIonly\fR those -of the files you list that are newer than existing members of the same -names, use this modifier. The \fBu\fR modifier is allowed only for the -operation \fBr\fR (replace). In particular, the combination \fBqu\fR is -not allowed, since checking the timestamps would lose any speed -advantage from the operation \fBq\fR. -.IP "\fBU\fR" 4 -.IX Item "U" -Do \fInot\fR operate in \fIdeterministic\fR mode. This is the inverse -of the \fBD\fR modifier, above: added files and the archive index will -get their actual \s-1UID\s0, \s-1GID\s0, timestamp, and file mode values. -.Sp -This is the default unless \fIbinutils\fR was configured with -\&\fB\-\-enable\-deterministic\-archives\fR. -.IP "\fBv\fR" 4 -.IX Item "v" -This modifier requests the \fIverbose\fR version of an operation. Many -operations display additional information, such as filenames processed, -when the modifier \fBv\fR is appended. -.IP "\fBV\fR" 4 -.IX Item "V" -This modifier shows the version number of \fBar\fR. -.PP -\&\fBar\fR ignores an initial option spelt \fB\-X32_64\fR, for -compatibility with \s-1AIX\s0. The behaviour produced by this option is the -default for \s-1GNU\s0 \fBar\fR. \fBar\fR does not support any of the other -\&\fB\-X\fR options; in particular, it does not support \fB\-X32\fR -which is the default for \s-1AIX\s0 \fBar\fR. -.PP -The optional command line switch \fB\-\-plugin\fR \fIname\fR causes -\&\fBar\fR to load the plugin called \fIname\fR which adds support -for more file formats. This option is only available if the toolchain -has been built with plugin support enabled. -.PP -The optional command line switch \fB\-\-target\fR \fIbfdname\fR -specifies that the archive members are in an object code format -different from your system's default format. See -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fInm\fR\|(1), \fIranlib\fR\|(1), and the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/binutils.info b/binutils-2.24/binutils/doc/binutils.info deleted file mode 100644 index f7d09766..00000000 --- a/binutils-2.24/binutils/doc/binutils.info +++ /dev/null @@ -1,4898 +0,0 @@ -This is binutils.info, produced by makeinfo version 4.8 from -binutils.texi. - - Copyright (C) 1991-2013 Free Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the section entitled "GNU -Free Documentation License". - -INFO-DIR-SECTION Software development -START-INFO-DIR-ENTRY -* Binutils: (binutils). The GNU binary utilities. -END-INFO-DIR-ENTRY - -INFO-DIR-SECTION Individual utilities -START-INFO-DIR-ENTRY -* addr2line: (binutils)addr2line. Convert addresses to file and line. -* ar: (binutils)ar. Create, modify, and extract from archives. -* c++filt: (binutils)c++filt. Filter to demangle encoded C++ symbols. -* cxxfilt: (binutils)c++filt. MS-DOS name for c++filt. -* dlltool: (binutils)dlltool. Create files needed to build and use DLLs. -* nlmconv: (binutils)nlmconv. Converts object code into an NLM. -* nm: (binutils)nm. List symbols from object files. -* objcopy: (binutils)objcopy. Copy and translate object files. -* objdump: (binutils)objdump. Display information from object files. -* ranlib: (binutils)ranlib. Generate index to archive contents. -* readelf: (binutils)readelf. Display the contents of ELF format files. -* size: (binutils)size. List section sizes and total size. -* strings: (binutils)strings. List printable strings from files. -* strip: (binutils)strip. Discard symbols. -* elfedit: (binutils)elfedit. Update the ELF header of ELF files. -* windmc: (binutils)windmc. Generator for Windows message resources. -* windres: (binutils)windres. Manipulate Windows resources. -END-INFO-DIR-ENTRY - - -File: binutils.info, Node: Top, Next: ar, Up: (dir) - -Introduction -************ - -This brief manual contains documentation for the GNU binary utilities -(GNU Binutils) version 2.23.91: - - This document is distributed under the terms of the GNU Free -Documentation License version 1.3. A copy of the license is included -in the section entitled "GNU Free Documentation License". - -* Menu: - -* ar:: Create, modify, and extract from archives -* nm:: List symbols from object files -* objcopy:: Copy and translate object files -* objdump:: Display information from object files -* ranlib:: Generate index to archive contents -* size:: List section sizes and total size -* strings:: List printable strings from files -* strip:: Discard symbols -* c++filt:: Filter to demangle encoded C++ symbols -* cxxfilt: c++filt. MS-DOS name for c++filt -* addr2line:: Convert addresses to file and line -* nlmconv:: Converts object code into an NLM -* windmc:: Generator for Windows message resources -* windres:: Manipulate Windows resources -* dlltool:: Create files needed to build and use DLLs -* readelf:: Display the contents of ELF format files -* elfedit:: Update the ELF header of ELF files -* Common Options:: Command-line options for all utilities -* Selecting the Target System:: How these utilities determine the target -* Reporting Bugs:: Reporting Bugs -* GNU Free Documentation License:: GNU Free Documentation License -* Binutils Index:: Binutils Index - - -File: binutils.info, Node: ar, Next: nm, Prev: Top, Up: Top - -1 ar -**** - - ar [`--plugin' NAME] [-]P[MOD [RELPOS] [COUNT]] [`--target' BFDNAME] ARCHIVE [MEMBER...] - ar -M [ <mri-script ] - - The GNU `ar' program 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). - - The original files' contents, mode (permissions), timestamp, owner, -and group are preserved in the archive, and can be restored on -extraction. - - GNU `ar' can maintain archives whose members have names of any -length; however, depending on how `ar' is configured on your system, a -limit on member-name length may be imposed for compatibility with -archive formats maintained with other tools. If it exists, the limit -is often 15 characters (typical of formats related to a.out) or 16 -characters (typical of formats related to coff). - - `ar' is considered a binary utility because archives of this sort -are most often used as "libraries" holding commonly needed subroutines. - - `ar' creates an index to the symbols defined in relocatable object -modules in the archive when you specify the modifier `s'. Once -created, this index is updated in the archive whenever `ar' makes a -change to its contents (save for the `q' update operation). An archive -with such an index speeds up linking to the library, and allows -routines in the library to call each other without regard to their -placement in the archive. - - You may use `nm -s' or `nm --print-armap' to list this index table. -If an archive lacks the table, another form of `ar' called `ranlib' can -be used to add just the table. - - GNU `ar' can optionally create a _thin_ archive, which contains a -symbol index and references to the original copies of the member files -of the archive. This is useful for building libraries for use within a -local build tree, where the relocatable objects are expected to remain -available, and copying the contents of each object would only waste -time and space. - - An archive can either be _thin_ or it can be normal. It cannot be -both at the same time. Once an archive is created its format cannot be -changed without first deleting it and then creating a new archive in -its place. - - Thin archives are also _flattened_, so that adding one thin archive -to another thin archive does not nest it, as would happen with a normal -archive. Instead the elements of the first archive are added -individually to the second archive. - - The paths to the elements of the archive are stored relative to the -archive itself. - - GNU `ar' is designed to be compatible with two different facilities. -You can control its activity using command-line options, like the -different varieties of `ar' on Unix systems; or, if you specify the -single command-line option `-M', you can control it with a script -supplied via standard input, like the MRI "librarian" program. - -* Menu: - -* ar cmdline:: Controlling `ar' on the command line -* ar scripts:: Controlling `ar' with a script - - -File: binutils.info, Node: ar cmdline, Next: ar scripts, Up: ar - -1.1 Controlling `ar' on the Command Line -======================================== - - ar [`--plugin' NAME] [`-X32_64'] [`-']P[MOD [RELPOS] [COUNT]] [`--target' BFDNAME] ARCHIVE [MEMBER...] - - When you use `ar' in the Unix style, `ar' insists on at least two -arguments to execute: one keyletter specifying the _operation_ -(optionally accompanied by other keyletters specifying _modifiers_), -and the archive name to act on. - - Most operations can also accept further MEMBER arguments, specifying -particular files to operate on. - - GNU `ar' allows you to mix the operation code P and modifier flags -MOD in any order, within the first command-line argument. - - If you wish, you may begin the first command-line argument with a -dash. - - The P keyletter specifies what operation to execute; it may be any -of the following, but you must specify only one of them: - -`d' - _Delete_ modules from the archive. Specify the names of modules to - be deleted as MEMBER...; the archive is untouched if you specify - no files to delete. - - If you specify the `v' modifier, `ar' lists each module as it is - deleted. - -`m' - Use this operation to _move_ members in an archive. - - The ordering of members in an archive can make a difference in how - programs are linked using the library, if a symbol is defined in - more than one member. - - If no modifiers are used with `m', any members you name in the - MEMBER arguments are moved to the _end_ of the archive; you can - use the `a', `b', or `i' modifiers to move them to a specified - place instead. - -`p' - _Print_ the specified members of the archive, to the standard - output file. If the `v' modifier is specified, show the member - name before copying its contents to standard output. - - If you specify no MEMBER arguments, all the files in the archive - are printed. - -`q' - _Quick append_; Historically, add the files MEMBER... to the end of - ARCHIVE, without checking for replacement. - - The modifiers `a', `b', and `i' do _not_ affect this operation; - new members are always placed at the end of the archive. - - The modifier `v' makes `ar' list each file as it is appended. - - Since the point of this operation is speed, implementations of - `ar' have the option of not updating the archive's symbol table if - one exists. Too many different systems however assume that symbol - tables are always up-to-date, so GNU `ar' will rebuild the table - even with a quick append. - - Note - GNU `ar' treats the command `qs' as a synonym for `r' - - replacing already existing files in the archive and appending new - ones at the end. - -`r' - Insert the files MEMBER... into ARCHIVE (with _replacement_). This - operation differs from `q' in that any previously existing members - are deleted if their names match those being added. - - If one of the files named in MEMBER... does not exist, `ar' - displays an error message, and leaves undisturbed any existing - members of the archive matching that name. - - By default, new members are added at the end of the file; but you - may use one of the modifiers `a', `b', or `i' to request placement - relative to some existing member. - - The modifier `v' used with this operation elicits a line of output - for each file inserted, along with one of the letters `a' or `r' - to indicate whether the file was appended (no old member deleted) - or replaced. - -`s' - Add an index to the archive, or update it if it already exists. - Note this command is an exception to the rule that there can only - be one command letter, as it is possible to use it as either a - command or a modifier. In either case it does the same thing. - -`t' - Display a _table_ listing the contents of ARCHIVE, or those of the - files listed in MEMBER... that are present in the archive. - Normally only the member name is shown; if you also want to see - the modes (permissions), timestamp, owner, group, and size, you can - request that by also specifying the `v' modifier. - - If you do not specify a MEMBER, all files in the archive are - listed. - - If there is more than one file with the same name (say, `fie') in - an archive (say `b.a'), `ar t b.a fie' lists only the first - instance; to see them all, you must ask for a complete listing--in - our example, `ar t b.a'. - -`x' - _Extract_ members (named MEMBER) from the archive. You can use - the `v' modifier with this operation, to request that `ar' list - each name as it extracts it. - - If you do not specify a MEMBER, all files in the archive are - extracted. - - Files cannot be extracted from a thin archive. - -`--help' - Displays the list of command line options supported by `ar' and - then exits. - -`--version' - Displays the version information of `ar' and then exits. - - - A number of modifiers (MOD) may immediately follow the P keyletter, -to specify variations on an operation's behavior: - -`a' - Add new files _after_ an existing member of the archive. If you - use the modifier `a', the name of an existing archive member must - be present as the RELPOS argument, before the ARCHIVE - specification. - -`b' - Add new files _before_ an existing member of the archive. If you - use the modifier `b', the name of an existing archive member must - be present as the RELPOS argument, before the ARCHIVE - specification. (same as `i'). - -`c' - _Create_ the archive. The specified ARCHIVE is always created if - it did not exist, when you request an update. But a warning is - issued unless you specify in advance that you expect to create it, - by using this modifier. - -`D' - Operate in _deterministic_ mode. When adding files and the archive - index use zero for UIDs, GIDs, timestamps, and use consistent file - modes for all files. When this option is used, if `ar' is used - with identical options and identical input files, multiple runs - will create identical output files regardless of the input files' - owners, groups, file modes, or modification times. - - If `binutils' was configured with - `--enable-deterministic-archives', then this mode is on by default. - It can be disabled with the `U' modifier, below. - -`f' - Truncate names in the archive. GNU `ar' will normally permit file - names of any length. This will cause it to create archives which - are not compatible with the native `ar' program on some systems. - If this is a concern, the `f' modifier may be used to truncate file - names when putting them in the archive. - -`i' - Insert new files _before_ an existing member of the archive. If - you use the modifier `i', the name of an existing archive member - must be present as the RELPOS argument, before the ARCHIVE - specification. (same as `b'). - -`l' - This modifier is accepted but not used. - -`N' - Uses the COUNT parameter. This is used if there are multiple - entries in the archive with the same name. Extract or delete - instance COUNT of the given name from the archive. - -`o' - Preserve the _original_ dates of members when extracting them. If - you do not specify this modifier, files extracted from the archive - are stamped with the time of extraction. - -`P' - Use the full path name when matching names in the archive. GNU - `ar' can not create an archive with a full path name (such archives - are not POSIX complaint), but other archive creators can. This - option will cause GNU `ar' to match file names using a complete - path name, which can be convenient when extracting a single file - from an archive created by another tool. - -`s' - Write an object-file index into the archive, or update an existing - one, even if no other change is made to the archive. You may use - this modifier flag either with any operation, or alone. Running - `ar s' on an archive is equivalent to running `ranlib' on it. - -`S' - Do not generate an archive symbol table. This can speed up - building a large library in several steps. The resulting archive - can not be used with the linker. In order to build a symbol - table, you must omit the `S' modifier on the last execution of - `ar', or you must run `ranlib' on the archive. - -`T' - Make the specified ARCHIVE a _thin_ archive. If it already exists - and is a regular archive, the existing members must be present in - the same directory as ARCHIVE. - -`u' - Normally, `ar r'... inserts all files listed into the archive. If - you would like to insert _only_ those of the files you list that - are newer than existing members of the same names, use this - modifier. The `u' modifier is allowed only for the operation `r' - (replace). In particular, the combination `qu' is not allowed, - since checking the timestamps would lose any speed advantage from - the operation `q'. - -`U' - Do _not_ operate in _deterministic_ mode. This is the inverse of - the `D' modifier, above: added files and the archive index will - get their actual UID, GID, timestamp, and file mode values. - - This is the default unless `binutils' was configured with - `--enable-deterministic-archives'. - -`v' - This modifier requests the _verbose_ version of an operation. Many - operations display additional information, such as filenames - processed, when the modifier `v' is appended. - -`V' - This modifier shows the version number of `ar'. - - `ar' ignores an initial option spelt `-X32_64', for compatibility -with AIX. The behaviour produced by this option is the default for GNU -`ar'. `ar' does not support any of the other `-X' options; in -particular, it does not support `-X32' which is the default for AIX -`ar'. - - The optional command line switch `--plugin' NAME causes `ar' to load -the plugin called NAME which adds support for more file formats. This -option is only available if the toolchain has been built with plugin -support enabled. - - The optional command line switch `--target' BFDNAME specifies that -the archive members are in an object code format different from your -system's default format. See *Note Target Selection::, for more -information. - - -File: binutils.info, Node: ar scripts, Prev: ar cmdline, Up: ar - -1.2 Controlling `ar' with a Script -================================== - - ar -M [ <SCRIPT ] - - If you use the single command-line option `-M' with `ar', you can -control its operation with a rudimentary command language. This form -of `ar' operates interactively if standard input is coming directly -from a terminal. During interactive use, `ar' prompts for input (the -prompt is `AR >'), and continues executing even after errors. If you -redirect standard input to a script file, no prompts are issued, and -`ar' abandons execution (with a nonzero exit code) on any error. - - The `ar' command language is _not_ designed to be equivalent to the -command-line options; in fact, it provides somewhat less control over -archives. The only purpose of the command language is to ease the -transition to GNU `ar' for developers who already have scripts written -for the MRI "librarian" program. - - The syntax for the `ar' command language is straightforward: - * commands are recognized in upper or lower case; for example, `LIST' - is the same as `list'. In the following descriptions, commands are - shown in upper case for clarity. - - * a single command may appear on each line; it is the first word on - the line. - - * empty lines are allowed, and have no effect. - - * comments are allowed; text after either of the characters `*' or - `;' is ignored. - - * Whenever you use a list of names as part of the argument to an `ar' - command, you can separate the individual names with either commas - or blanks. Commas are shown in the explanations below, for - clarity. - - * `+' is used as a line continuation character; if `+' appears at - the end of a line, the text on the following line is considered - part of the current command. - - Here are the commands you can use in `ar' scripts, or when using -`ar' interactively. Three of them have special significance: - - `OPEN' or `CREATE' specify a "current archive", which is a temporary -file required for most of the other commands. - - `SAVE' commits the changes so far specified by the script. Prior to -`SAVE', commands affect only the temporary copy of the current archive. - -`ADDLIB ARCHIVE' -`ADDLIB ARCHIVE (MODULE, MODULE, ... MODULE)' - Add all the contents of ARCHIVE (or, if specified, each named - MODULE from ARCHIVE) to the current archive. - - Requires prior use of `OPEN' or `CREATE'. - -`ADDMOD MEMBER, MEMBER, ... MEMBER' - Add each named MEMBER as a module in the current archive. - - Requires prior use of `OPEN' or `CREATE'. - -`CLEAR' - Discard the contents of the current archive, canceling the effect - of any operations since the last `SAVE'. May be executed (with no - effect) even if no current archive is specified. - -`CREATE ARCHIVE' - Creates an archive, and makes it the current archive (required for - many other commands). The new archive is created with a temporary - name; it is not actually saved as ARCHIVE until you use `SAVE'. - You can overwrite existing archives; similarly, the contents of any - existing file named ARCHIVE will not be destroyed until `SAVE'. - -`DELETE MODULE, MODULE, ... MODULE' - Delete each listed MODULE from the current archive; equivalent to - `ar -d ARCHIVE MODULE ... MODULE'. - - Requires prior use of `OPEN' or `CREATE'. - -`DIRECTORY ARCHIVE (MODULE, ... MODULE)' -`DIRECTORY ARCHIVE (MODULE, ... MODULE) OUTPUTFILE' - List each named MODULE present in ARCHIVE. The separate command - `VERBOSE' specifies the form of the output: when verbose output is - off, output is like that of `ar -t ARCHIVE MODULE...'. When - verbose output is on, the listing is like `ar -tv ARCHIVE - MODULE...'. - - Output normally goes to the standard output stream; however, if you - specify OUTPUTFILE as a final argument, `ar' directs the output to - that file. - -`END' - Exit from `ar', with a `0' exit code to indicate successful - completion. This command does not save the output file; if you - have changed the current archive since the last `SAVE' command, - those changes are lost. - -`EXTRACT MODULE, MODULE, ... MODULE' - Extract each named MODULE from the current archive, writing them - into the current directory as separate files. Equivalent to `ar -x - ARCHIVE MODULE...'. - - Requires prior use of `OPEN' or `CREATE'. - -`LIST' - Display full contents of the current archive, in "verbose" style - regardless of the state of `VERBOSE'. The effect is like `ar tv - ARCHIVE'. (This single command is a GNU `ar' enhancement, rather - than present for MRI compatibility.) - - Requires prior use of `OPEN' or `CREATE'. - -`OPEN ARCHIVE' - Opens an existing archive for use as the current archive (required - for many other commands). Any changes as the result of subsequent - commands will not actually affect ARCHIVE until you next use - `SAVE'. - -`REPLACE MODULE, MODULE, ... MODULE' - In the current archive, replace each existing MODULE (named in the - `REPLACE' arguments) from files in the current working directory. - To execute this command without errors, both the file, and the - module in the current archive, must exist. - - Requires prior use of `OPEN' or `CREATE'. - -`VERBOSE' - Toggle an internal flag governing the output from `DIRECTORY'. - When the flag is on, `DIRECTORY' output matches output from `ar - -tv '.... - -`SAVE' - Commit your changes to the current archive, and actually save it - as a file with the name specified in the last `CREATE' or `OPEN' - command. - - Requires prior use of `OPEN' or `CREATE'. - - - -File: binutils.info, Node: nm, Next: objcopy, Prev: ar, Up: Top - -2 nm -**** - - nm [`-A'|`-o'|`--print-file-name'] [`-a'|`--debug-syms'] - [`-B'|`--format=bsd'] [`-C'|`--demangle'[=STYLE]] - [`-D'|`--dynamic'] [`-f'FORMAT|`--format='FORMAT] - [`-g'|`--extern-only'] [`-h'|`--help'] - [`-l'|`--line-numbers'] [`-n'|`-v'|`--numeric-sort'] - [`-P'|`--portability'] [`-p'|`--no-sort'] - [`-r'|`--reverse-sort'] [`-S'|`--print-size'] - [`-s'|`--print-armap'] [`-t' RADIX|`--radix='RADIX] - [`-u'|`--undefined-only'] [`-V'|`--version'] - [`-X 32_64'] [`--defined-only'] [`--no-demangle'] - [`--plugin' NAME] [`--size-sort'] [`--special-syms'] - [`--synthetic'] [`--target='BFDNAME] - [OBJFILE...] - - GNU `nm' lists the symbols from object files OBJFILE.... If no -object files are listed as arguments, `nm' assumes the file `a.out'. - - For each symbol, `nm' shows: - - * The symbol value, in the radix selected by options (see below), or - hexadecimal by default. - - * The symbol type. At least the following types are used; others - are, as well, depending on the object file format. If lowercase, - the symbol is usually local; if uppercase, the symbol is global - (external). There are however a few lowercase symbols that are - shown for special global symbols (`u', `v' and `w'). - - `A' - The symbol's value is absolute, and will not be changed by - further linking. - - `B' - `b' - The symbol is in the uninitialized data section (known as - BSS). - - `C' - The symbol is common. Common symbols are uninitialized data. - When linking, multiple common symbols may appear with the - same name. If the symbol is defined anywhere, the common - symbols are treated as undefined references. For more - details on common symbols, see the discussion of -warn-common - in *Note Linker options: (ld.info)Options. - - `D' - `d' - The symbol is in the initialized data section. - - `G' - `g' - The symbol is in an initialized data section for small - objects. Some object file formats permit more efficient - access to small data objects, such as a global int variable - as opposed to a large global array. - - `i' - For PE format files this indicates that the symbol is in a - section specific to the implementation of DLLs. For ELF - format files this indicates that the symbol is an indirect - function. This is a GNU extension to the standard set of ELF - symbol types. It indicates a symbol which if referenced by a - relocation does not evaluate to its address, but instead must - be invoked at runtime. The runtime execution will then - return the value to be used in the relocation. - - `I' - The symbol is an indirect reference to another symbol. - - `N' - The symbol is a debugging symbol. - - `p' - The symbols is in a stack unwind section. - - `R' - `r' - The symbol is in a read only data section. - - `S' - `s' - The symbol is in an uninitialized data section for small - objects. - - `T' - `t' - The symbol is in the text (code) section. - - `U' - The symbol is undefined. - - `u' - The symbol is a unique global symbol. This is a GNU - extension to the standard set of ELF symbol bindings. For - such a symbol the dynamic linker will make sure that in the - entire process there is just one symbol with this name and - type in use. - - `V' - `v' - The symbol is a weak object. When a weak defined symbol is - linked with a normal defined symbol, the normal defined - symbol is used with no error. When a weak undefined symbol - is linked and the symbol is not defined, the value of the - weak symbol becomes zero with no error. On some systems, - uppercase indicates that a default value has been specified. - - `W' - `w' - The symbol is a weak symbol that has not been specifically - tagged as a weak object symbol. When a weak defined symbol - is linked with a normal defined symbol, the normal defined - symbol is used with no error. When a weak undefined symbol - is linked and the symbol is not defined, the value of the - symbol is determined in a system-specific manner without - error. On some systems, uppercase indicates that a default - value has been specified. - - `-' - The symbol is a stabs symbol in an a.out object file. In - this case, the next values printed are the stabs other field, - the stabs desc field, and the stab type. Stabs symbols are - used to hold debugging information. - - `?' - The symbol type is unknown, or object file format specific. - - * The symbol name. - - The long and short forms of options, shown here as alternatives, are -equivalent. - -`-A' -`-o' -`--print-file-name' - Precede each symbol by the name of the input file (or archive - member) in which it was found, rather than identifying the input - file once only, before all of its symbols. - -`-a' -`--debug-syms' - Display all symbols, even debugger-only symbols; normally these - are not listed. - -`-B' - The same as `--format=bsd' (for compatibility with the MIPS `nm'). - -`-C' -`--demangle[=STYLE]' - Decode ("demangle") low-level symbol names into user-level names. - Besides removing any initial underscore prepended by the system, - this makes C++ function names readable. Different compilers have - different mangling styles. The optional demangling style argument - can be used to choose an appropriate demangling style for your - compiler. *Note c++filt::, for more information on demangling. - -`--no-demangle' - Do not demangle low-level symbol names. This is the default. - -`-D' -`--dynamic' - Display the dynamic symbols rather than the normal symbols. This - is only meaningful for dynamic objects, such as certain types of - shared libraries. - -`-f FORMAT' -`--format=FORMAT' - Use the output format FORMAT, which can be `bsd', `sysv', or - `posix'. The default is `bsd'. Only the first character of - FORMAT is significant; it can be either upper or lower case. - -`-g' -`--extern-only' - Display only external symbols. - -`-h' -`--help' - Show a summary of the options to `nm' and exit. - -`-l' -`--line-numbers' - For each symbol, use debugging information to try to find a - filename and line number. For a defined symbol, look for the line - number of the address of the symbol. For an undefined symbol, - look for the line number of a relocation entry which refers to the - symbol. If line number information can be found, print it after - the other symbol information. - -`-n' -`-v' -`--numeric-sort' - Sort symbols numerically by their addresses, rather than - alphabetically by their names. - -`-p' -`--no-sort' - Do not bother to sort the symbols in any order; print them in the - order encountered. - -`-P' -`--portability' - Use the POSIX.2 standard output format instead of the default - format. Equivalent to `-f posix'. - -`-r' -`--reverse-sort' - Reverse the order of the sort (whether numeric or alphabetic); let - the last come first. - -`-S' -`--print-size' - Print both value and size of defined symbols for the `bsd' output - style. This option has no effect for object formats that do not - record symbol sizes, unless `--size-sort' is also used in which - case a calculated size is displayed. - -`-s' -`--print-armap' - When listing symbols from archive members, include the index: a - mapping (stored in the archive by `ar' or `ranlib') of which - modules contain definitions for which names. - -`-t RADIX' -`--radix=RADIX' - Use RADIX as the radix for printing the symbol values. It must be - `d' for decimal, `o' for octal, or `x' for hexadecimal. - -`-u' -`--undefined-only' - Display only undefined symbols (those external to each object - file). - -`-V' -`--version' - Show the version number of `nm' and exit. - -`-X' - This option is ignored for compatibility with the AIX version of - `nm'. It takes one parameter which must be the string `32_64'. - The default mode of AIX `nm' corresponds to `-X 32', which is not - supported by GNU `nm'. - -`--defined-only' - Display only defined symbols for each object file. - -`--plugin NAME' - Load the plugin called NAME to add support for extra target types. - This option is only available if the toolchain has been built - with plugin support enabled. - -`--size-sort' - Sort symbols by size. The size is computed as the difference - between the value of the symbol and the value of the symbol with - the next higher value. If the `bsd' output format is used the - size of the symbol is printed, rather than the value, and `-S' - must be used in order both size and value to be printed. - -`--special-syms' - Display symbols which have a target-specific special meaning. - These symbols are usually used by the target for some special - processing and are not normally helpful when included in the - normal symbol lists. For example for ARM targets this option - would skip the mapping symbols used to mark transitions between - ARM code, THUMB code and data. - -`--synthetic' - Include synthetic symbols in the output. These are special symbols - created by the linker for various purposes. They are not shown by - default since they are not part of the binary's original source - code. - -`--target=BFDNAME' - Specify an object code format other than your system's default - format. *Note Target Selection::, for more information. - - - -File: binutils.info, Node: objcopy, Next: objdump, Prev: nm, Up: Top - -3 objcopy -********* - - objcopy [`-F' BFDNAME|`--target='BFDNAME] - [`-I' BFDNAME|`--input-target='BFDNAME] - [`-O' BFDNAME|`--output-target='BFDNAME] - [`-B' BFDARCH|`--binary-architecture='BFDARCH] - [`-S'|`--strip-all'] - [`-g'|`--strip-debug'] - [`-K' SYMBOLNAME|`--keep-symbol='SYMBOLNAME] - [`-N' SYMBOLNAME|`--strip-symbol='SYMBOLNAME] - [`--strip-unneeded-symbol='SYMBOLNAME] - [`-G' SYMBOLNAME|`--keep-global-symbol='SYMBOLNAME] - [`--localize-hidden'] - [`-L' SYMBOLNAME|`--localize-symbol='SYMBOLNAME] - [`--globalize-symbol='SYMBOLNAME] - [`-W' SYMBOLNAME|`--weaken-symbol='SYMBOLNAME] - [`-w'|`--wildcard'] - [`-x'|`--discard-all'] - [`-X'|`--discard-locals'] - [`-b' BYTE|`--byte='BYTE] - [`-i' [BREADTH]|`--interleave'[=BREADTH]] - [`--interleave-width='WIDTH] - [`-j' SECTIONPATTERN|`--only-section='SECTIONPATTERN] - [`-R' SECTIONPATTERN|`--remove-section='SECTIONPATTERN] - [`-p'|`--preserve-dates'] - [`-D'|`--enable-deterministic-archives'] - [`-U'|`--disable-deterministic-archives'] - [`--debugging'] - [`--gap-fill='VAL] - [`--pad-to='ADDRESS] - [`--set-start='VAL] - [`--adjust-start='INCR] - [`--change-addresses='INCR] - [`--change-section-address' SECTIONPATTERN{=,+,-}VAL] - [`--change-section-lma' SECTIONPATTERN{=,+,-}VAL] - [`--change-section-vma' SECTIONPATTERN{=,+,-}VAL] - [`--change-warnings'] [`--no-change-warnings'] - [`--set-section-flags' SECTIONPATTERN=FLAGS] - [`--add-section' SECTIONNAME=FILENAME] - [`--rename-section' OLDNAME=NEWNAME[,FLAGS]] - [`--long-section-names' {enable,disable,keep}] - [`--change-leading-char'] [`--remove-leading-char'] - [`--reverse-bytes='NUM] - [`--srec-len='IVAL] [`--srec-forceS3'] - [`--redefine-sym' OLD=NEW] - [`--redefine-syms='FILENAME] - [`--weaken'] - [`--keep-symbols='FILENAME] - [`--strip-symbols='FILENAME] - [`--strip-unneeded-symbols='FILENAME] - [`--keep-global-symbols='FILENAME] - [`--localize-symbols='FILENAME] - [`--globalize-symbols='FILENAME] - [`--weaken-symbols='FILENAME] - [`--alt-machine-code='INDEX] - [`--prefix-symbols='STRING] - [`--prefix-sections='STRING] - [`--prefix-alloc-sections='STRING] - [`--add-gnu-debuglink='PATH-TO-FILE] - [`--keep-file-symbols'] - [`--only-keep-debug'] - [`--strip-dwo'] - [`--extract-dwo'] - [`--extract-symbol'] - [`--writable-text'] - [`--readonly-text'] - [`--pure'] - [`--impure'] - [`--file-alignment='NUM] - [`--heap='SIZE] - [`--image-base='ADDRESS] - [`--section-alignment='NUM] - [`--stack='SIZE] - [`--subsystem='WHICH:MAJOR.MINOR] - [`--compress-debug-sections'] - [`--decompress-debug-sections'] - [`--dwarf-depth=N'] - [`--dwarf-start=N'] - [`-v'|`--verbose'] - [`-V'|`--version'] - [`--help'] [`--info'] - INFILE [OUTFILE] - - The GNU `objcopy' utility copies the contents of an object file to -another. `objcopy' uses the GNU BFD Library to read and write the -object files. It can write the destination object file in a format -different from that of the source object file. The exact behavior of -`objcopy' is controlled by command-line options. Note that `objcopy' -should be able to copy a fully linked file between any two formats. -However, copying a relocatable object file between any two formats may -not work as expected. - - `objcopy' creates temporary files to do its translations and deletes -them afterward. `objcopy' uses BFD to do all its translation work; it -has access to all the formats described in BFD and thus is able to -recognize most formats without being told explicitly. *Note BFD: -(ld.info)BFD. - - `objcopy' can be used to generate S-records by using an output -target of `srec' (e.g., use `-O srec'). - - `objcopy' can be used to generate a raw binary file by using an -output target of `binary' (e.g., use `-O binary'). When `objcopy' -generates a raw binary file, it will essentially produce a memory dump -of the contents of the input object file. All symbols and relocation -information will be discarded. The memory dump will start at the load -address of the lowest section copied into the output file. - - When generating an S-record or a raw binary file, it may be helpful -to use `-S' to remove sections containing debugging information. In -some cases `-R' will be useful to remove sections which contain -information that is not needed by the binary file. - - Note--`objcopy' is not able to change the endianness of its input -files. If the input format has an endianness (some formats do not), -`objcopy' can only copy the inputs into file formats that have the same -endianness or which have no endianness (e.g., `srec'). (However, see -the `--reverse-bytes' option.) - -`INFILE' -`OUTFILE' - The input and output files, respectively. If you do not specify - OUTFILE, `objcopy' creates a temporary file and destructively - renames the result with the name of INFILE. - -`-I BFDNAME' -`--input-target=BFDNAME' - Consider the source file's object format to be BFDNAME, rather than - attempting to deduce it. *Note Target Selection::, for more - information. - -`-O BFDNAME' -`--output-target=BFDNAME' - Write the output file using the object format BFDNAME. *Note - Target Selection::, for more information. - -`-F BFDNAME' -`--target=BFDNAME' - Use BFDNAME as the object format for both the input and the output - file; i.e., simply transfer data from source to destination with no - translation. *Note Target Selection::, for more information. - -`-B BFDARCH' -`--binary-architecture=BFDARCH' - Useful when transforming a architecture-less input file into an - object file. In this case the output architecture can be set to - BFDARCH. This option will be ignored if the input file has a - known BFDARCH. You can access this binary data inside a program - by referencing the special symbols that are created by the - conversion process. These symbols are called - _binary_OBJFILE_start, _binary_OBJFILE_end and - _binary_OBJFILE_size. e.g. you can transform a picture file into - an object file and then access it in your code using these symbols. - -`-j SECTIONPATTERN' -`--only-section=SECTIONPATTERN' - Copy only the indicated sections from the input file to the output - file. This option may be given more than once. Note that using - this option inappropriately may make the output file unusable. - Wildcard characters are accepted in SECTIONPATTERN. - -`-R SECTIONPATTERN' -`--remove-section=SECTIONPATTERN' - Remove any section matching SECTIONPATTERN from the output file. - This option may be given more than once. Note that using this - option inappropriately may make the output file unusable. Wildcard - characters are accepted in SECTIONPATTERN. Using both the `-j' - and `-R' options together results in undefined behaviour. - -`-S' -`--strip-all' - Do not copy relocation and symbol information from the source file. - -`-g' -`--strip-debug' - Do not copy debugging symbols or sections from the source file. - -`--strip-unneeded' - Strip all symbols that are not needed for relocation processing. - -`-K SYMBOLNAME' -`--keep-symbol=SYMBOLNAME' - When stripping symbols, keep symbol SYMBOLNAME even if it would - normally be stripped. This option may be given more than once. - -`-N SYMBOLNAME' -`--strip-symbol=SYMBOLNAME' - Do not copy symbol SYMBOLNAME from the source file. This option - may be given more than once. - -`--strip-unneeded-symbol=SYMBOLNAME' - Do not copy symbol SYMBOLNAME from the source file unless it is - needed by a relocation. This option may be given more than once. - -`-G SYMBOLNAME' -`--keep-global-symbol=SYMBOLNAME' - Keep only symbol SYMBOLNAME global. Make all other symbols local - to the file, so that they are not visible externally. This option - may be given more than once. - -`--localize-hidden' - In an ELF object, mark all symbols that have hidden or internal - visibility as local. This option applies on top of - symbol-specific localization options such as `-L'. - -`-L SYMBOLNAME' -`--localize-symbol=SYMBOLNAME' - Make symbol SYMBOLNAME local to the file, so that it is not - visible externally. This option may be given more than once. - -`-W SYMBOLNAME' -`--weaken-symbol=SYMBOLNAME' - Make symbol SYMBOLNAME weak. This option may be given more than - once. - -`--globalize-symbol=SYMBOLNAME' - Give symbol SYMBOLNAME global scoping so that it is visible - outside of the file in which it is defined. This option may be - given more than once. - -`-w' -`--wildcard' - Permit regular expressions in SYMBOLNAMEs used in other command - line options. The question mark (?), asterisk (*), backslash (\) - and square brackets ([]) operators can be used anywhere in the - symbol name. If the first character of the symbol name is the - exclamation point (!) then the sense of the switch is reversed for - that symbol. For example: - - -w -W !foo -W fo* - - would cause objcopy to weaken all symbols that start with "fo" - except for the symbol "foo". - -`-x' -`--discard-all' - Do not copy non-global symbols from the source file. - -`-X' -`--discard-locals' - Do not copy compiler-generated local symbols. (These usually - start with `L' or `.'.) - -`-b BYTE' -`--byte=BYTE' - If interleaving has been enabled via the `--interleave' option - then start the range of bytes to keep at the BYTEth byte. BYTE - can be in the range from 0 to BREADTH-1, where BREADTH is the - value given by the `--interleave' option. - -`-i [BREADTH]' -`--interleave[=BREADTH]' - Only copy a range out of every BREADTH bytes. (Header data is not - affected). Select which byte in the range begins the copy with - the `--byte' option. Select the width of the range with the - `--interleave-width' option. - - This option is useful for creating files to program ROM. It is - typically used with an `srec' output target. Note that `objcopy' - will complain if you do not specify the `--byte' option as well. - - The default interleave breadth is 4, so with `--byte' set to 0, - `objcopy' would copy the first byte out of every four bytes from - the input to the output. - -`--interleave-width=WIDTH' - When used with the `--interleave' option, copy WIDTH bytes at a - time. The start of the range of bytes to be copied is set by the - `--byte' option, and the extent of the range is set with the - `--interleave' option. - - The default value for this option is 1. The value of WIDTH plus - the BYTE value set by the `--byte' option must not exceed the - interleave breadth set by the `--interleave' option. - - This option can be used to create images for two 16-bit flashes - interleaved in a 32-bit bus by passing `-b 0 -i 4 - --interleave-width=2' and `-b 2 -i 4 --interleave-width=2' to two - `objcopy' commands. If the input was '12345678' then the outputs - would be '1256' and '3478' respectively. - -`-p' -`--preserve-dates' - Set the access and modification dates of the output file to be the - same as those of the input file. - -`-D' -`--enable-deterministic-archives' - Operate in _deterministic_ mode. When copying archive members and - writing the archive index, use zero for UIDs, GIDs, timestamps, - and use consistent file modes for all files. - - If `binutils' was configured with - `--enable-deterministic-archives', then this mode is on by default. - It can be disabled with the `-U' option, below. - -`-U' -`--disable-deterministic-archives' - Do _not_ operate in _deterministic_ mode. This is the inverse of - the `-D' option, above: when copying archive members and writing - the archive index, use their actual UID, GID, timestamp, and file - mode values. - - This is the default unless `binutils' was configured with - `--enable-deterministic-archives'. - -`--debugging' - Convert debugging information, if possible. This is not the - default because only certain debugging formats are supported, and - the conversion process can be time consuming. - -`--gap-fill VAL' - Fill gaps between sections with VAL. This operation applies to - the _load address_ (LMA) of the sections. It is done by increasing - the size of the section with the lower address, and filling in the - extra space created with VAL. - -`--pad-to ADDRESS' - Pad the output file up to the load address ADDRESS. This is done - by increasing the size of the last section. The extra space is - filled in with the value specified by `--gap-fill' (default zero). - -`--set-start VAL' - Set the start address of the new file to VAL. Not all object file - formats support setting the start address. - -`--change-start INCR' -`--adjust-start INCR' - Change the start address by adding INCR. Not all object file - formats support setting the start address. - -`--change-addresses INCR' -`--adjust-vma INCR' - Change the VMA and LMA addresses of all sections, as well as the - start address, by adding INCR. Some object file formats do not - permit section addresses to be changed arbitrarily. Note that - this does not relocate the sections; if the program expects - sections to be loaded at a certain address, and this option is - used to change the sections such that they are loaded at a - different address, the program may fail. - -`--change-section-address SECTIONPATTERN{=,+,-}VAL' -`--adjust-section-vma SECTIONPATTERN{=,+,-}VAL' - Set or change both the VMA address and the LMA address of any - section matching SECTIONPATTERN. If `=' is used, the section - address is set to VAL. Otherwise, VAL is added to or subtracted - from the section address. See the comments under - `--change-addresses', above. If SECTIONPATTERN does not match any - sections in the input file, a warning will be issued, unless - `--no-change-warnings' is used. - -`--change-section-lma SECTIONPATTERN{=,+,-}VAL' - Set or change the LMA address of any sections matching - SECTIONPATTERN. The LMA address is the address where the section - will be loaded into memory at program load time. Normally this is - the same as the VMA address, which is the address of the section - at program run time, but on some systems, especially those where a - program is held in ROM, the two can be different. If `=' is used, - the section address is set to VAL. Otherwise, VAL is added to or - subtracted from the section address. See the comments under - `--change-addresses', above. If SECTIONPATTERN does not match any - sections in the input file, a warning will be issued, unless - `--no-change-warnings' is used. - -`--change-section-vma SECTIONPATTERN{=,+,-}VAL' - Set or change the VMA address of any section matching - SECTIONPATTERN. The VMA address is the address where the section - will be located once the program has started executing. Normally - this is the same as the LMA address, which is the address where - the section will be loaded into memory, but on some systems, - especially those where a program is held in ROM, the two can be - different. If `=' is used, the section address is set to VAL. - Otherwise, VAL is added to or subtracted from the section address. - See the comments under `--change-addresses', above. If - SECTIONPATTERN does not match any sections in the input file, a - warning will be issued, unless `--no-change-warnings' is used. - -`--change-warnings' -`--adjust-warnings' - If `--change-section-address' or `--change-section-lma' or - `--change-section-vma' is used, and the section pattern does not - match any sections, issue a warning. This is the default. - -`--no-change-warnings' -`--no-adjust-warnings' - Do not issue a warning if `--change-section-address' or - `--adjust-section-lma' or `--adjust-section-vma' is used, even if - the section pattern does not match any sections. - -`--set-section-flags SECTIONPATTERN=FLAGS' - Set the flags for any sections matching SECTIONPATTERN. The FLAGS - argument is a comma separated string of flag names. The - recognized names are `alloc', `contents', `load', `noload', - `readonly', `code', `data', `rom', `share', and `debug'. You can - set the `contents' flag for a section which does not have - contents, but it is not meaningful to clear the `contents' flag of - a section which does have contents-just remove the section - instead. Not all flags are meaningful for all object file formats. - -`--add-section SECTIONNAME=FILENAME' - Add a new section named SECTIONNAME while copying the file. The - contents of the new section are taken from the file FILENAME. The - size of the section will be the size of the file. This option only - works on file formats which can support sections with arbitrary - names. - -`--rename-section OLDNAME=NEWNAME[,FLAGS]' - Rename a section from OLDNAME to NEWNAME, optionally changing the - section's flags to FLAGS in the process. This has the advantage - over usng a linker script to perform the rename in that the output - stays as an object file and does not become a linked executable. - - This option is particularly helpful when the input format is - binary, since this will always create a section called .data. If - for example, you wanted instead to create a section called .rodata - containing binary data you could use the following command line to - achieve it: - - objcopy -I binary -O <output_format> -B <architecture> \ - --rename-section .data=.rodata,alloc,load,readonly,data,contents \ - <input_binary_file> <output_object_file> - -`--long-section-names {enable,disable,keep}' - Controls the handling of long section names when processing `COFF' - and `PE-COFF' object formats. The default behaviour, `keep', is - to preserve long section names if any are present in the input - file. The `enable' and `disable' options forcibly enable or - disable the use of long section names in the output object; when - `disable' is in effect, any long section names in the input object - will be truncated. The `enable' option will only emit long - section names if any are present in the inputs; this is mostly the - same as `keep', but it is left undefined whether the `enable' - option might force the creation of an empty string table in the - output file. - -`--change-leading-char' - Some object file formats use special characters at the start of - symbols. The most common such character is underscore, which - compilers often add before every symbol. This option tells - `objcopy' to change the leading character of every symbol when it - converts between object file formats. If the object file formats - use the same leading character, this option has no effect. - Otherwise, it will add a character, or remove a character, or - change a character, as appropriate. - -`--remove-leading-char' - If the first character of a global symbol is a special symbol - leading character used by the object file format, remove the - character. The most common symbol leading character is - underscore. This option will remove a leading underscore from all - global symbols. This can be useful if you want to link together - objects of different file formats with different conventions for - symbol names. This is different from `--change-leading-char' - because it always changes the symbol name when appropriate, - regardless of the object file format of the output file. - -`--reverse-bytes=NUM' - Reverse the bytes in a section with output contents. A section - length must be evenly divisible by the value given in order for - the swap to be able to take place. Reversing takes place before - the interleaving is performed. - - This option is used typically in generating ROM images for - problematic target systems. For example, on some target boards, - the 32-bit words fetched from 8-bit ROMs are re-assembled in - little-endian byte order regardless of the CPU byte order. - Depending on the programming model, the endianness of the ROM may - need to be modified. - - Consider a simple file with a section containing the following - eight bytes: `12345678'. - - Using `--reverse-bytes=2' for the above example, the bytes in the - output file would be ordered `21436587'. - - Using `--reverse-bytes=4' for the above example, the bytes in the - output file would be ordered `43218765'. - - By using `--reverse-bytes=2' for the above example, followed by - `--reverse-bytes=4' on the output file, the bytes in the second - output file would be ordered `34127856'. - -`--srec-len=IVAL' - Meaningful only for srec output. Set the maximum length of the - Srecords being produced to IVAL. This length covers both address, - data and crc fields. - -`--srec-forceS3' - Meaningful only for srec output. Avoid generation of S1/S2 - records, creating S3-only record format. - -`--redefine-sym OLD=NEW' - Change the name of a symbol OLD, to NEW. This can be useful when - one is trying link two things together for which you have no - source, and there are name collisions. - -`--redefine-syms=FILENAME' - Apply `--redefine-sym' to each symbol pair "OLD NEW" listed in the - file FILENAME. FILENAME is simply a flat file, with one symbol - pair per line. Line comments may be introduced by the hash - character. This option may be given more than once. - -`--weaken' - Change all global symbols in the file to be weak. This can be - useful when building an object which will be linked against other - objects using the `-R' option to the linker. This option is only - effective when using an object file format which supports weak - symbols. - -`--keep-symbols=FILENAME' - Apply `--keep-symbol' option to each symbol listed in the file - FILENAME. FILENAME is simply a flat file, with one symbol name - per line. Line comments may be introduced by the hash character. - This option may be given more than once. - -`--strip-symbols=FILENAME' - Apply `--strip-symbol' option to each symbol listed in the file - FILENAME. FILENAME is simply a flat file, with one symbol name - per line. Line comments may be introduced by the hash character. - This option may be given more than once. - -`--strip-unneeded-symbols=FILENAME' - Apply `--strip-unneeded-symbol' option to each symbol listed in - the file FILENAME. FILENAME is simply a flat file, with one - symbol name per line. Line comments may be introduced by the hash - character. This option may be given more than once. - -`--keep-global-symbols=FILENAME' - Apply `--keep-global-symbol' option to each symbol listed in the - file FILENAME. FILENAME is simply a flat file, with one symbol - name per line. Line comments may be introduced by the hash - character. This option may be given more than once. - -`--localize-symbols=FILENAME' - Apply `--localize-symbol' option to each symbol listed in the file - FILENAME. FILENAME is simply a flat file, with one symbol name - per line. Line comments may be introduced by the hash character. - This option may be given more than once. - -`--globalize-symbols=FILENAME' - Apply `--globalize-symbol' option to each symbol listed in the file - FILENAME. FILENAME is simply a flat file, with one symbol name - per line. Line comments may be introduced by the hash character. - This option may be given more than once. - -`--weaken-symbols=FILENAME' - Apply `--weaken-symbol' option to each symbol listed in the file - FILENAME. FILENAME is simply a flat file, with one symbol name - per line. Line comments may be introduced by the hash character. - This option may be given more than once. - -`--alt-machine-code=INDEX' - If the output architecture has alternate machine codes, use the - INDEXth code instead of the default one. This is useful in case a - machine is assigned an official code and the tool-chain adopts the - new code, but other applications still depend on the original code - being used. For ELF based architectures if the INDEX alternative - does not exist then the value is treated as an absolute number to - be stored in the e_machine field of the ELF header. - -`--writable-text' - Mark the output text as writable. This option isn't meaningful - for all object file formats. - -`--readonly-text' - Make the output text write protected. This option isn't - meaningful for all object file formats. - -`--pure' - Mark the output file as demand paged. This option isn't - meaningful for all object file formats. - -`--impure' - Mark the output file as impure. This option isn't meaningful for - all object file formats. - -`--prefix-symbols=STRING' - Prefix all symbols in the output file with STRING. - -`--prefix-sections=STRING' - Prefix all section names in the output file with STRING. - -`--prefix-alloc-sections=STRING' - Prefix all the names of all allocated sections in the output file - with STRING. - -`--add-gnu-debuglink=PATH-TO-FILE' - Creates a .gnu_debuglink section which contains a reference to - PATH-TO-FILE and adds it to the output file. - -`--keep-file-symbols' - When stripping a file, perhaps with `--strip-debug' or - `--strip-unneeded', retain any symbols specifying source file - names, which would otherwise get stripped. - -`--only-keep-debug' - Strip a file, removing contents of any sections that would not be - stripped by `--strip-debug' and leaving the debugging sections - intact. In ELF files, this preserves all note sections in the - output. - - The intention is that this option will be used in conjunction with - `--add-gnu-debuglink' to create a two part executable. One a - stripped binary which will occupy less space in RAM and in a - distribution and the second a debugging information file which is - only needed if debugging abilities are required. The suggested - procedure to create these files is as follows: - - 1. Link the executable as normal. Assuming that is is called - `foo' then... - - 2. Run `objcopy --only-keep-debug foo foo.dbg' to create a file - containing the debugging info. - - 3. Run `objcopy --strip-debug foo' to create a stripped - executable. - - 4. Run `objcopy --add-gnu-debuglink=foo.dbg foo' to add a link - to the debugging info into the stripped executable. - - Note--the choice of `.dbg' as an extension for the debug info file - is arbitrary. Also the `--only-keep-debug' step is optional. You - could instead do this: - - 1. Link the executable as normal. - - 2. Copy `foo' to `foo.full' - - 3. Run `objcopy --strip-debug foo' - - 4. Run `objcopy --add-gnu-debuglink=foo.full foo' - - i.e., the file pointed to by the `--add-gnu-debuglink' can be the - full executable. It does not have to be a file created by the - `--only-keep-debug' switch. - - Note--this switch is only intended for use on fully linked files. - It does not make sense to use it on object files where the - debugging information may be incomplete. Besides the - gnu_debuglink feature currently only supports the presence of one - filename containing debugging information, not multiple filenames - on a one-per-object-file basis. - -`--strip-dwo' - Remove the contents of all DWARF .dwo sections, leaving the - remaining debugging sections and all symbols intact. This option - is intended for use by the compiler as part of the `-gsplit-dwarf' - option, which splits debug information between the .o file and a - separate .dwo file. The compiler generates all debug information - in the same file, then uses the `--extract-dwo' option to copy the - .dwo sections to the .dwo file, then the `--strip-dwo' option to - remove those sections from the original .o file. - -`--extract-dwo' - Extract the contents of all DWARF .dwo sections. See the - `--strip-dwo' option for more information. - -`--file-alignment NUM' - Specify the file alignment. Sections in the file will always - begin at file offsets which are multiples of this number. This - defaults to 512. [This option is specific to PE targets.] - -`--heap RESERVE' -`--heap RESERVE,COMMIT' - Specify the number of bytes of memory to reserve (and optionally - commit) to be used as heap for this program. [This option is - specific to PE targets.] - -`--image-base VALUE' - Use VALUE as the base address of your program or dll. This is the - lowest memory location that will be used when your program or dll - is loaded. To reduce the need to relocate and improve performance - of your dlls, each should have a unique base address and not - overlap any other dlls. The default is 0x400000 for executables, - and 0x10000000 for dlls. [This option is specific to PE targets.] - -`--section-alignment NUM' - Sets the section alignment. Sections in memory will always begin - at addresses which are a multiple of this number. Defaults to - 0x1000. [This option is specific to PE targets.] - -`--stack RESERVE' -`--stack RESERVE,COMMIT' - Specify the number of bytes of memory to reserve (and optionally - commit) to be used as stack for this program. [This option is - specific to PE targets.] - -`--subsystem WHICH' -`--subsystem WHICH:MAJOR' -`--subsystem WHICH:MAJOR.MINOR' - Specifies the subsystem under which your program will execute. The - legal values for WHICH are `native', `windows', `console', - `posix', `efi-app', `efi-bsd', `efi-rtd', `sal-rtd', and `xbox'. - You may optionally set the subsystem version also. Numeric values - are also accepted for WHICH. [This option is specific to PE - targets.] - -`--extract-symbol' - Keep the file's section flags and symbols but remove all section - data. Specifically, the option: - - * removes the contents of all sections; - - * sets the size of every section to zero; and - - * sets the file's start address to zero. - - This option is used to build a `.sym' file for a VxWorks kernel. - It can also be a useful way of reducing the size of a - `--just-symbols' linker input file. - -`--compress-debug-sections' - Compress DWARF debug sections using zlib. - -`--decompress-debug-sections' - Decompress DWARF debug sections using zlib. - -`-V' -`--version' - Show the version number of `objcopy'. - -`-v' -`--verbose' - Verbose output: list all object files modified. In the case of - archives, `objcopy -V' lists all members of the archive. - -`--help' - Show a summary of the options to `objcopy'. - -`--info' - Display a list showing all architectures and object formats - available. - - -File: binutils.info, Node: objdump, Next: ranlib, Prev: objcopy, Up: Top - -4 objdump -********* - - objdump [`-a'|`--archive-headers'] - [`-b' BFDNAME|`--target=BFDNAME'] - [`-C'|`--demangle'[=STYLE] ] - [`-d'|`--disassemble'] - [`-D'|`--disassemble-all'] - [`-z'|`--disassemble-zeroes'] - [`-EB'|`-EL'|`--endian='{big | little }] - [`-f'|`--file-headers'] - [`-F'|`--file-offsets'] - [`--file-start-context'] - [`-g'|`--debugging'] - [`-e'|`--debugging-tags'] - [`-h'|`--section-headers'|`--headers'] - [`-i'|`--info'] - [`-j' SECTION|`--section='SECTION] - [`-l'|`--line-numbers'] - [`-S'|`--source'] - [`-m' MACHINE|`--architecture='MACHINE] - [`-M' OPTIONS|`--disassembler-options='OPTIONS] - [`-p'|`--private-headers'] - [`-P' OPTIONS|`--private='OPTIONS] - [`-r'|`--reloc'] - [`-R'|`--dynamic-reloc'] - [`-s'|`--full-contents'] - [`-W[lLiaprmfFsoRt]'| - `--dwarf'[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]] - [`-G'|`--stabs'] - [`-t'|`--syms'] - [`-T'|`--dynamic-syms'] - [`-x'|`--all-headers'] - [`-w'|`--wide'] - [`--start-address='ADDRESS] - [`--stop-address='ADDRESS] - [`--prefix-addresses'] - [`--[no-]show-raw-insn'] - [`--adjust-vma='OFFSET] - [`--special-syms'] - [`--prefix='PREFIX] - [`--prefix-strip='LEVEL] - [`--insn-width='WIDTH] - [`-V'|`--version'] - [`-H'|`--help'] - OBJFILE... - - `objdump' displays information about one or more object files. The -options control what particular information to display. This -information is mostly useful to programmers who are working on the -compilation tools, as opposed to programmers who just want their -program to compile and work. - - OBJFILE... are the object files to be examined. When you specify -archives, `objdump' shows information on each of the member object -files. - - The long and short forms of options, shown here as alternatives, are -equivalent. At least one option from the list -`-a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T,-V,-x' must be -given. - -`-a' -`--archive-header' - If any of the OBJFILE files are archives, display the archive - header information (in a format similar to `ls -l'). Besides the - information you could list with `ar tv', `objdump -a' shows the - object file format of each archive member. - -`--adjust-vma=OFFSET' - When dumping information, first add OFFSET to all the section - addresses. This is useful if the section addresses do not - correspond to the symbol table, which can happen when putting - sections at particular addresses when using a format which can not - represent section addresses, such as a.out. - -`-b BFDNAME' -`--target=BFDNAME' - Specify that the object-code format for the object files is - BFDNAME. This option may not be necessary; OBJDUMP can - automatically recognize many formats. - - For example, - objdump -b oasys -m vax -h fu.o - displays summary information from the section headers (`-h') of - `fu.o', which is explicitly identified (`-m') as a VAX object file - in the format produced by Oasys compilers. You can list the - formats available with the `-i' option. *Note Target Selection::, - for more information. - -`-C' -`--demangle[=STYLE]' - Decode ("demangle") low-level symbol names into user-level names. - Besides removing any initial underscore prepended by the system, - this makes C++ function names readable. Different compilers have - different mangling styles. The optional demangling style argument - can be used to choose an appropriate demangling style for your - compiler. *Note c++filt::, for more information on demangling. - -`-g' -`--debugging' - Display debugging information. This attempts to parse STABS and - IEEE debugging format information stored in the file and print it - out using a C like syntax. If neither of these formats are found - this option falls back on the `-W' option to print any DWARF - information in the file. - -`-e' -`--debugging-tags' - Like `-g', but the information is generated in a format compatible - with ctags tool. - -`-d' -`--disassemble' - Display the assembler mnemonics for the machine instructions from - OBJFILE. This option only disassembles those sections which are - expected to contain instructions. - -`-D' -`--disassemble-all' - Like `-d', but disassemble the contents of all sections, not just - those expected to contain instructions. - - If the target is an ARM architecture this switch also has the - effect of forcing the disassembler to decode pieces of data found - in code sections as if they were instructions. - -`--prefix-addresses' - When disassembling, print the complete address on each line. This - is the older disassembly format. - -`-EB' -`-EL' -`--endian={big|little}' - Specify the endianness of the object files. This only affects - disassembly. This can be useful when disassembling a file format - which does not describe endianness information, such as S-records. - -`-f' -`--file-headers' - Display summary information from the overall header of each of the - OBJFILE files. - -`-F' -`--file-offsets' - When disassembling sections, whenever a symbol is displayed, also - display the file offset of the region of data that is about to be - dumped. If zeroes are being skipped, then when disassembly - resumes, tell the user how many zeroes were skipped and the file - offset of the location from where the disassembly resumes. When - dumping sections, display the file offset of the location from - where the dump starts. - -`--file-start-context' - Specify that when displaying interlisted source code/disassembly - (assumes `-S') from a file that has not yet been displayed, extend - the context to the start of the file. - -`-h' -`--section-headers' -`--headers' - Display summary information from the section headers of the object - file. - - File segments may be relocated to nonstandard addresses, for - example by using the `-Ttext', `-Tdata', or `-Tbss' options to - `ld'. However, some object file formats, such as a.out, do not - store the starting address of the file segments. In those - situations, although `ld' relocates the sections correctly, using - `objdump -h' to list the file section headers cannot show the - correct addresses. Instead, it shows the usual addresses, which - are implicit for the target. - -`-H' -`--help' - Print a summary of the options to `objdump' and exit. - -`-i' -`--info' - Display a list showing all architectures and object formats - available for specification with `-b' or `-m'. - -`-j NAME' -`--section=NAME' - Display information only for section NAME. - -`-l' -`--line-numbers' - Label the display (using debugging information) with the filename - and source line numbers corresponding to the object code or relocs - shown. Only useful with `-d', `-D', or `-r'. - -`-m MACHINE' -`--architecture=MACHINE' - Specify the architecture to use when disassembling object files. - This can be useful when disassembling object files which do not - describe architecture information, such as S-records. You can - list the available architectures with the `-i' option. - - If the target is an ARM architecture then this switch has an - additional effect. It restricts the disassembly to only those - instructions supported by the architecture specified by MACHINE. - If it is necessary to use this switch because the input file does - not contain any architecture information, but it is also desired to - disassemble all the instructions use `-marm'. - -`-M OPTIONS' -`--disassembler-options=OPTIONS' - Pass target specific information to the disassembler. Only - supported on some targets. If it is necessary to specify more - than one disassembler option then multiple `-M' options can be - used or can be placed together into a comma separated list. - - If the target is an ARM architecture then this switch can be used - to select which register name set is used during disassembler. - Specifying `-M reg-names-std' (the default) will select the - register names as used in ARM's instruction set documentation, but - with register 13 called 'sp', register 14 called 'lr' and register - 15 called 'pc'. Specifying `-M reg-names-apcs' will select the - name set used by the ARM Procedure Call Standard, whilst - specifying `-M reg-names-raw' will just use `r' followed by the - register number. - - There are also two variants on the APCS register naming scheme - enabled by `-M reg-names-atpcs' and `-M reg-names-special-atpcs' - which use the ARM/Thumb Procedure Call Standard naming - conventions. (Either with the normal register names or the - special register names). - - This option can also be used for ARM architectures to force the - disassembler to interpret all instructions as Thumb instructions by - using the switch `--disassembler-options=force-thumb'. This can be - useful when attempting to disassemble thumb code produced by other - compilers. - - For the x86, some of the options duplicate functions of the `-m' - switch, but allow finer grained control. Multiple selections from - the following may be specified as a comma separated string. - `x86-64', `i386' and `i8086' select disassembly for the given - architecture. `intel' and `att' select between intel syntax mode - and AT&T syntax mode. `intel-mnemonic' and `att-mnemonic' select - between intel mnemonic mode and AT&T mnemonic mode. - `intel-mnemonic' implies `intel' and `att-mnemonic' implies `att'. - `addr64', `addr32', `addr16', `data32' and `data16' specify the - default address size and operand size. These four options will be - overridden if `x86-64', `i386' or `i8086' appear later in the - option string. Lastly, `suffix', when in AT&T mode, instructs the - disassembler to print a mnemonic suffix even when the suffix could - be inferred by the operands. - - For PowerPC, `booke' controls the disassembly of BookE - instructions. `32' and `64' select PowerPC and PowerPC64 - disassembly, respectively. `e300' selects disassembly for the - e300 family. `440' selects disassembly for the PowerPC 440. - `ppcps' selects disassembly for the paired single instructions of - the PPC750CL. - - For MIPS, this option controls the printing of instruction mnemonic - names and register names in disassembled instructions. Multiple - selections from the following may be specified as a comma separated - string, and invalid options are ignored: - - `no-aliases' - Print the 'raw' instruction mnemonic instead of some pseudo - instruction mnemonic. I.e., print 'daddu' or 'or' instead of - 'move', 'sll' instead of 'nop', etc. - - `virt' - Disassemble the virtualization ASE instructions. - - `gpr-names=ABI' - Print GPR (general-purpose register) names as appropriate for - the specified ABI. By default, GPR names are selected - according to the ABI of the binary being disassembled. - - `fpr-names=ABI' - Print FPR (floating-point register) names as appropriate for - the specified ABI. By default, FPR numbers are printed - rather than names. - - `cp0-names=ARCH' - Print CP0 (system control coprocessor; coprocessor 0) - register names as appropriate for the CPU or architecture - specified by ARCH. By default, CP0 register names are - selected according to the architecture and CPU of the binary - being disassembled. - - `hwr-names=ARCH' - Print HWR (hardware register, used by the `rdhwr' - instruction) names as appropriate for the CPU or architecture - specified by ARCH. By default, HWR names are selected - according to the architecture and CPU of the binary being - disassembled. - - `reg-names=ABI' - Print GPR and FPR names as appropriate for the selected ABI. - - `reg-names=ARCH' - Print CPU-specific register names (CP0 register and HWR names) - as appropriate for the selected CPU or architecture. - - For any of the options listed above, ABI or ARCH may be specified - as `numeric' to have numbers printed rather than names, for the - selected types of registers. You can list the available values of - ABI and ARCH using the `--help' option. - - For VAX, you can specify function entry addresses with `-M - entry:0xf00ba'. You can use this multiple times to properly - disassemble VAX binary files that don't contain symbol tables (like - ROM dumps). In these cases, the function entry mask would - otherwise be decoded as VAX instructions, which would probably - lead the rest of the function being wrongly disassembled. - -`-p' -`--private-headers' - Print information that is specific to the object file format. The - exact information printed depends upon the object file format. - For some object file formats, no additional information is printed. - -`-P OPTIONS' -`--private=OPTIONS' - Print information that is specific to the object file format. The - argument OPTIONS is a comma separated list that depends on the - format (the lists of options is displayed with the help). - - For XCOFF, the available options are: `header', `aout', - `sections', `syms', `relocs', `lineno', `loader', `except', - `typchk', `traceback', `toc' and `ldinfo'. - -`-r' -`--reloc' - Print the relocation entries of the file. If used with `-d' or - `-D', the relocations are printed interspersed with the - disassembly. - -`-R' -`--dynamic-reloc' - Print the dynamic relocation entries of the file. This is only - meaningful for dynamic objects, such as certain types of shared - libraries. As for `-r', if used with `-d' or `-D', the - relocations are printed interspersed with the disassembly. - -`-s' -`--full-contents' - Display the full contents of any sections requested. By default - all non-empty sections are displayed. - -`-S' -`--source' - Display source code intermixed with disassembly, if possible. - Implies `-d'. - -`--prefix=PREFIX' - Specify PREFIX to add to the absolute paths when used with `-S'. - -`--prefix-strip=LEVEL' - Indicate how many initial directory names to strip off the - hardwired absolute paths. It has no effect without - `--prefix='PREFIX. - -`--show-raw-insn' - When disassembling instructions, print the instruction in hex as - well as in symbolic form. This is the default except when - `--prefix-addresses' is used. - -`--no-show-raw-insn' - When disassembling instructions, do not print the instruction - bytes. This is the default when `--prefix-addresses' is used. - -`--insn-width=WIDTH' - Display WIDTH bytes on a single line when disassembling - instructions. - -`-W[lLiaprmfFsoRt]' -`--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]' - Displays the contents of the debug sections in the file, if any are - present. If one of the optional letters or words follows the - switch then only data found in those specific sections will be - dumped. - - Note that there is no single letter option to display the content - of trace sections or .gdb_index. - - Note: the output from the `=info' option can also be affected by - the options `--dwarf-depth', the `--dwarf-start' and the - `--dwarf-check'. - -`--dwarf-depth=N' - Limit the dump of the `.debug_info' section to N children. This - is only useful with `--dwarf=info'. The default is to print all - DIEs; the special value 0 for N will also have this effect. - - With a non-zero value for N, DIEs at or deeper than N levels will - not be printed. The range for N is zero-based. - -`--dwarf-start=N' - Print only DIEs beginning with the DIE numbered N. This is only - useful with `--dwarf=info'. - - If specified, this option will suppress printing of any header - information and all DIEs before the DIE numbered N. Only siblings - and children of the specified DIE will be printed. - - This can be used in conjunction with `--dwarf-depth'. - -`--dwarf-check' - Enable additional checks for consistency of Dwarf information. - -`-G' -`--stabs' - Display the full contents of any sections requested. Display the - contents of the .stab and .stab.index and .stab.excl sections from - an ELF file. This is only useful on systems (such as Solaris 2.0) - in which `.stab' debugging symbol-table entries are carried in an - ELF section. In most other file formats, debugging symbol-table - entries are interleaved with linkage symbols, and are visible in - the `--syms' output. - -`--start-address=ADDRESS' - Start displaying data at the specified address. This affects the - output of the `-d', `-r' and `-s' options. - -`--stop-address=ADDRESS' - Stop displaying data at the specified address. This affects the - output of the `-d', `-r' and `-s' options. - -`-t' -`--syms' - Print the symbol table entries of the file. This is similar to - the information provided by the `nm' program, although the display - format is different. The format of the output depends upon the - format of the file being dumped, but there are two main types. - One looks like this: - - [ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss - [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred - - where the number inside the square brackets is the number of the - entry in the symbol table, the SEC number is the section number, - the FL value are the symbol's flag bits, the TY number is the - symbol's type, the SCL number is the symbol's storage class and - the NX value is the number of auxilary entries associated with the - symbol. The last two fields are the symbol's value and its name. - - The other common output format, usually seen with ELF based files, - looks like this: - - 00000000 l d .bss 00000000 .bss - 00000000 g .text 00000000 fred - - Here the first number is the symbol's value (sometimes refered to - as its address). The next field is actually a set of characters - and spaces indicating the flag bits that are set on the symbol. - These characters are described below. Next is the section with - which the symbol is associated or _*ABS*_ if the section is - absolute (ie not connected with any section), or _*UND*_ if the - section is referenced in the file being dumped, but not defined - there. - - After the section name comes another field, a number, which for - common symbols is the alignment and for other symbol is the size. - Finally the symbol's name is displayed. - - The flag characters are divided into 7 groups as follows: - `l' - `g' - `u' - `!' - The symbol is a local (l), global (g), unique global (u), - neither global nor local (a space) or both global and local - (!). A symbol can be neither local or global for a variety - of reasons, e.g., because it is used for debugging, but it is - probably an indication of a bug if it is ever both local and - global. Unique global symbols are a GNU extension to the - standard set of ELF symbol bindings. For such a symbol the - dynamic linker will make sure that in the entire process - there is just one symbol with this name and type in use. - - `w' - The symbol is weak (w) or strong (a space). - - `C' - The symbol denotes a constructor (C) or an ordinary symbol (a - space). - - `W' - The symbol is a warning (W) or a normal symbol (a space). A - warning symbol's name is a message to be displayed if the - symbol following the warning symbol is ever referenced. - - `I' - - `i' - The symbol is an indirect reference to another symbol (I), a - function to be evaluated during reloc processing (i) or a - normal symbol (a space). - - `d' - `D' - The symbol is a debugging symbol (d) or a dynamic symbol (D) - or a normal symbol (a space). - - `F' - - `f' - - `O' - The symbol is the name of a function (F) or a file (f) or an - object (O) or just a normal symbol (a space). - -`-T' -`--dynamic-syms' - Print the dynamic symbol table entries of the file. This is only - meaningful for dynamic objects, such as certain types of shared - libraries. This is similar to the information provided by the `nm' - program when given the `-D' (`--dynamic') option. - -`--special-syms' - When displaying symbols include those which the target considers - to be special in some way and which would not normally be of - interest to the user. - -`-V' -`--version' - Print the version number of `objdump' and exit. - -`-x' -`--all-headers' - Display all available header information, including the symbol - table and relocation entries. Using `-x' is equivalent to - specifying all of `-a -f -h -p -r -t'. - -`-w' -`--wide' - Format some lines for output devices that have more than 80 - columns. Also do not truncate symbol names when they are - displayed. - -`-z' -`--disassemble-zeroes' - Normally the disassembly output will skip blocks of zeroes. This - option directs the disassembler to disassemble those blocks, just - like any other data. - - -File: binutils.info, Node: ranlib, Next: size, Prev: objdump, Up: Top - -5 ranlib -******** - - ranlib [`--plugin' NAME] [`-DhHvVt'] ARCHIVE - - `ranlib' generates an index to the contents of an archive and stores -it in the archive. The index lists each symbol defined by a member of -an archive that is a relocatable object file. - - You may use `nm -s' or `nm --print-armap' to list this index. - - An archive with such an index speeds up linking to the library and -allows routines in the library to call each other without regard to -their placement in the archive. - - The GNU `ranlib' program is another form of GNU `ar'; running -`ranlib' is completely equivalent to executing `ar -s'. *Note ar::. - -`-h' -`-H' -`--help' - Show usage information for `ranlib'. - -`-v' -`-V' -`--version' - Show the version number of `ranlib'. - -`-D' - Operate in _deterministic_ mode. The symbol map archive member's - header will show zero for the UID, GID, and timestamp. When this - option is used, multiple runs will produce identical output files. - - If `binutils' was configured with - `--enable-deterministic-archives', then this mode is on by - default. It can be disabled with the `-U' option, described below. - -`-t' - Update the timestamp of the symbol map of an archive. - -`-U' - Do _not_ operate in _deterministic_ mode. This is the inverse of - the `-D' option, above: the archive index will get actual UID, - GID, timestamp, and file mode values. - - If `binutils' was configured _without_ - `--enable-deterministic-archives', then this mode is on by default. - - - -File: binutils.info, Node: size, Next: strings, Prev: ranlib, Up: Top - -6 size -****** - - size [`-A'|`-B'|`--format='COMPATIBILITY] - [`--help'] - [`-d'|`-o'|`-x'|`--radix='NUMBER] - [`--common'] - [`-t'|`--totals'] - [`--target='BFDNAME] [`-V'|`--version'] - [OBJFILE...] - - The GNU `size' utility lists the section sizes--and the total -size--for each of the object or archive files OBJFILE in its argument -list. By default, one line of output is generated for each object file -or each module in an archive. - - OBJFILE... are the object files to be examined. If none are -specified, the file `a.out' will be used. - - The command line options have the following meanings: - -`-A' -`-B' -`--format=COMPATIBILITY' - Using one of these options, you can choose whether the output from - GNU `size' resembles output from System V `size' (using `-A', or - `--format=sysv'), or Berkeley `size' (using `-B', or - `--format=berkeley'). The default is the one-line format similar - to Berkeley's. - - Here is an example of the Berkeley (default) format of output from - `size': - $ size --format=Berkeley ranlib size - text data bss dec hex filename - 294880 81920 11592 388392 5ed28 ranlib - 294880 81920 11888 388688 5ee50 size - - This is the same data, but displayed closer to System V - conventions: - - $ size --format=SysV ranlib size - ranlib : - section size addr - .text 294880 8192 - .data 81920 303104 - .bss 11592 385024 - Total 388392 - - - size : - section size addr - .text 294880 8192 - .data 81920 303104 - .bss 11888 385024 - Total 388688 - -`--help' - Show a summary of acceptable arguments and options. - -`-d' -`-o' -`-x' -`--radix=NUMBER' - Using one of these options, you can control whether the size of - each section is given in decimal (`-d', or `--radix=10'); octal - (`-o', or `--radix=8'); or hexadecimal (`-x', or `--radix=16'). - In `--radix=NUMBER', only the three values (8, 10, 16) are - supported. The total size is always given in two radices; decimal - and hexadecimal for `-d' or `-x' output, or octal and hexadecimal - if you're using `-o'. - -`--common' - Print total size of common symbols in each file. When using - Berkeley format these are included in the bss size. - -`-t' -`--totals' - Show totals of all objects listed (Berkeley format listing mode - only). - -`--target=BFDNAME' - Specify that the object-code format for OBJFILE is BFDNAME. This - option may not be necessary; `size' can automatically recognize - many formats. *Note Target Selection::, for more information. - -`-V' -`--version' - Display the version number of `size'. - - -File: binutils.info, Node: strings, Next: strip, Prev: size, Up: Top - -7 strings -********* - - strings [`-afovV'] [`-'MIN-LEN] - [`-n' MIN-LEN] [`--bytes='MIN-LEN] - [`-t' RADIX] [`--radix='RADIX] - [`-e' ENCODING] [`--encoding='ENCODING] - [`-'] [`--all'] [`--print-file-name'] - [`-T' BFDNAME] [`--target='BFDNAME] - [`--help'] [`--version'] FILE... - - For each FILE given, GNU `strings' prints the printable character -sequences that are at least 4 characters long (or the number given with -the options below) and are followed by an unprintable character. By -default, it only prints the strings from the initialized and loaded -sections of object files; for other types of files, it prints the -strings from the whole file. - - `strings' is mainly useful for determining the contents of non-text -files. - -`-a' -`--all' -`-' - Do not scan only the initialized and loaded sections of object - files; scan the whole files. - -`-f' -`--print-file-name' - Print the name of the file before each string. - -`--help' - Print a summary of the program usage on the standard output and - exit. - -`-MIN-LEN' -`-n MIN-LEN' -`--bytes=MIN-LEN' - Print sequences of characters that are at least MIN-LEN characters - long, instead of the default 4. - -`-o' - Like `-t o'. Some other versions of `strings' have `-o' act like - `-t d' instead. Since we can not be compatible with both ways, we - simply chose one. - -`-t RADIX' -`--radix=RADIX' - Print the offset within the file before each string. The single - character argument specifies the radix of the offset--`o' for - octal, `x' for hexadecimal, or `d' for decimal. - -`-e ENCODING' -`--encoding=ENCODING' - Select the character encoding of the strings that are to be found. - Possible values for ENCODING are: `s' = single-7-bit-byte - characters (ASCII, ISO 8859, etc., default), `S' = - single-8-bit-byte characters, `b' = 16-bit bigendian, `l' = 16-bit - littleendian, `B' = 32-bit bigendian, `L' = 32-bit littleendian. - Useful for finding wide character strings. (`l' and `b' apply to, - for example, Unicode UTF-16/UCS-2 encodings). - -`-T BFDNAME' -`--target=BFDNAME' - Specify an object code format other than your system's default - format. *Note Target Selection::, for more information. - -`-v' -`-V' -`--version' - Print the program version number on the standard output and exit. - - -File: binutils.info, Node: strip, Next: c++filt, Prev: strings, Up: Top - -8 strip -******* - - strip [`-F' BFDNAME |`--target='BFDNAME] - [`-I' BFDNAME |`--input-target='BFDNAME] - [`-O' BFDNAME |`--output-target='BFDNAME] - [`-s'|`--strip-all'] - [`-S'|`-g'|`-d'|`--strip-debug'] - [`--strip-dwo'] - [`-K' SYMBOLNAME |`--keep-symbol='SYMBOLNAME] - [`-N' SYMBOLNAME |`--strip-symbol='SYMBOLNAME] - [`-w'|`--wildcard'] - [`-x'|`--discard-all'] [`-X' |`--discard-locals'] - [`-R' SECTIONNAME |`--remove-section='SECTIONNAME] - [`-o' FILE] [`-p'|`--preserve-dates'] - [`-D'|`--enable-deterministic-archives'] - [`-U'|`--disable-deterministic-archives'] - [`--keep-file-symbols'] - [`--only-keep-debug'] - [`-v' |`--verbose'] [`-V'|`--version'] - [`--help'] [`--info'] - OBJFILE... - - GNU `strip' discards all symbols from object files OBJFILE. The -list of object files may include archives. At least one object file -must be given. - - `strip' modifies the files named in its argument, rather than -writing modified copies under different names. - -`-F BFDNAME' -`--target=BFDNAME' - Treat the original OBJFILE as a file with the object code format - BFDNAME, and rewrite it in the same format. *Note Target - Selection::, for more information. - -`--help' - Show a summary of the options to `strip' and exit. - -`--info' - Display a list showing all architectures and object formats - available. - -`-I BFDNAME' -`--input-target=BFDNAME' - Treat the original OBJFILE as a file with the object code format - BFDNAME. *Note Target Selection::, for more information. - -`-O BFDNAME' -`--output-target=BFDNAME' - Replace OBJFILE with a file in the output format BFDNAME. *Note - Target Selection::, for more information. - -`-R SECTIONNAME' -`--remove-section=SECTIONNAME' - Remove any section named SECTIONNAME from the output file. This - option may be given more than once. Note that using this option - inappropriately may make the output file unusable. The wildcard - character `*' may be given at the end of SECTIONNAME. If so, then - any section starting with SECTIONNAME will be removed. - -`-s' -`--strip-all' - Remove all symbols. - -`-g' -`-S' -`-d' -`--strip-debug' - Remove debugging symbols only. - -`--strip-dwo' - Remove the contents of all DWARF .dwo sections, leaving the - remaining debugging sections and all symbols intact. See the - description of this option in the `objcopy' section for more - information. - -`--strip-unneeded' - Remove all symbols that are not needed for relocation processing. - -`-K SYMBOLNAME' -`--keep-symbol=SYMBOLNAME' - When stripping symbols, keep symbol SYMBOLNAME even if it would - normally be stripped. This option may be given more than once. - -`-N SYMBOLNAME' -`--strip-symbol=SYMBOLNAME' - Remove symbol SYMBOLNAME from the source file. This option may be - given more than once, and may be combined with strip options other - than `-K'. - -`-o FILE' - Put the stripped output in FILE, rather than replacing the - existing file. When this argument is used, only one OBJFILE - argument may be specified. - -`-p' -`--preserve-dates' - Preserve the access and modification dates of the file. - -`-D' -`--enable-deterministic-archives' - Operate in _deterministic_ mode. When copying archive members and - writing the archive index, use zero for UIDs, GIDs, timestamps, - and use consistent file modes for all files. - - If `binutils' was configured with - `--enable-deterministic-archives', then this mode is on by default. - It can be disabled with the `-U' option, below. - -`-U' -`--disable-deterministic-archives' - Do _not_ operate in _deterministic_ mode. This is the inverse of - the `-D' option, above: when copying archive members and writing - the archive index, use their actual UID, GID, timestamp, and file - mode values. - - This is the default unless `binutils' was configured with - `--enable-deterministic-archives'. - -`-w' -`--wildcard' - Permit regular expressions in SYMBOLNAMEs used in other command - line options. The question mark (?), asterisk (*), backslash (\) - and square brackets ([]) operators can be used anywhere in the - symbol name. If the first character of the symbol name is the - exclamation point (!) then the sense of the switch is reversed for - that symbol. For example: - - -w -K !foo -K fo* - - would cause strip to only keep symbols that start with the letters - "fo", but to discard the symbol "foo". - -`-x' -`--discard-all' - Remove non-global symbols. - -`-X' -`--discard-locals' - Remove compiler-generated local symbols. (These usually start - with `L' or `.'.) - -`--keep-file-symbols' - When stripping a file, perhaps with `--strip-debug' or - `--strip-unneeded', retain any symbols specifying source file - names, which would otherwise get stripped. - -`--only-keep-debug' - Strip a file, removing contents of any sections that would not be - stripped by `--strip-debug' and leaving the debugging sections - intact. In ELF files, this preserves all note sections in the - output. - - The intention is that this option will be used in conjunction with - `--add-gnu-debuglink' to create a two part executable. One a - stripped binary which will occupy less space in RAM and in a - distribution and the second a debugging information file which is - only needed if debugging abilities are required. The suggested - procedure to create these files is as follows: - - 1. Link the executable as normal. Assuming that is is called - `foo' then... - - 2. Run `objcopy --only-keep-debug foo foo.dbg' to create a file - containing the debugging info. - - 3. Run `objcopy --strip-debug foo' to create a stripped - executable. - - 4. Run `objcopy --add-gnu-debuglink=foo.dbg foo' to add a link - to the debugging info into the stripped executable. - - Note--the choice of `.dbg' as an extension for the debug info file - is arbitrary. Also the `--only-keep-debug' step is optional. You - could instead do this: - - 1. Link the executable as normal. - - 2. Copy `foo' to `foo.full' - - 3. Run `strip --strip-debug foo' - - 4. Run `objcopy --add-gnu-debuglink=foo.full foo' - - i.e., the file pointed to by the `--add-gnu-debuglink' can be the - full executable. It does not have to be a file created by the - `--only-keep-debug' switch. - - Note--this switch is only intended for use on fully linked files. - It does not make sense to use it on object files where the - debugging information may be incomplete. Besides the - gnu_debuglink feature currently only supports the presence of one - filename containing debugging information, not multiple filenames - on a one-per-object-file basis. - -`-V' -`--version' - Show the version number for `strip'. - -`-v' -`--verbose' - Verbose output: list all object files modified. In the case of - archives, `strip -v' lists all members of the archive. - - -File: binutils.info, Node: c++filt, Next: addr2line, Prev: strip, Up: Top - -9 c++filt -********* - - c++filt [`-_'|`--strip-underscore'] - [`-n'|`--no-strip-underscore'] - [`-p'|`--no-params'] - [`-t'|`--types'] - [`-i'|`--no-verbose'] - [`-s' FORMAT|`--format='FORMAT] - [`--help'] [`--version'] [SYMBOL...] - - The C++ and Java languages provide function overloading, which means -that you can write many functions with the same name, providing that -each function takes parameters of different types. In order to be able -to distinguish these similarly named functions C++ and Java encode them -into a low-level assembler name which uniquely identifies each -different version. This process is known as "mangling". The `c++filt' -(1) program does the inverse mapping: it decodes ("demangles") low-level -names into user-level names so that they can be read. - - Every alphanumeric word (consisting of letters, digits, underscores, -dollars, or periods) seen in the input is a potential mangled name. If -the name decodes into a C++ name, the C++ name replaces the low-level -name in the output, otherwise the original word is output. In this way -you can pass an entire assembler source file, containing mangled names, -through `c++filt' and see the same source file containing demangled -names. - - You can also use `c++filt' to decipher individual symbols by passing -them on the command line: - - c++filt SYMBOL - - If no SYMBOL arguments are given, `c++filt' reads symbol names from -the standard input instead. All the results are printed on the -standard output. The difference between reading names from the command -line versus reading names from the standard input is that command line -arguments are expected to be just mangled names and no checking is -performed to separate them from surrounding text. Thus for example: - - c++filt -n _Z1fv - - will work and demangle the name to "f()" whereas: - - c++filt -n _Z1fv, - - will not work. (Note the extra comma at the end of the mangled name -which makes it invalid). This command however will work: - - echo _Z1fv, | c++filt -n - - and will display "f(),", i.e., the demangled name followed by a -trailing comma. This behaviour is because when the names are read from -the standard input it is expected that they might be part of an -assembler source file where there might be extra, extraneous characters -trailing after a mangled name. For example: - - .type _Z1fv, @function - -`-_' -`--strip-underscore' - On some systems, both the C and C++ compilers put an underscore in - front of every name. For example, the C name `foo' gets the - low-level name `_foo'. This option removes the initial - underscore. Whether `c++filt' removes the underscore by default - is target dependent. - -`-n' -`--no-strip-underscore' - Do not remove the initial underscore. - -`-p' -`--no-params' - When demangling the name of a function, do not display the types of - the function's parameters. - -`-t' -`--types' - Attempt to demangle types as well as function names. This is - disabled by default since mangled types are normally only used - internally in the compiler, and they can be confused with - non-mangled names. For example, a function called "a" treated as - a mangled type name would be demangled to "signed char". - -`-i' -`--no-verbose' - Do not include implementation details (if any) in the demangled - output. - -`-s FORMAT' -`--format=FORMAT' - `c++filt' can decode various methods of mangling, used by - different compilers. The argument to this option selects which - method it uses: - - `auto' - Automatic selection based on executable (the default method) - - `gnu' - the one used by the GNU C++ compiler (g++) - - `lucid' - the one used by the Lucid compiler (lcc) - - `arm' - the one specified by the C++ Annotated Reference Manual - - `hp' - the one used by the HP compiler (aCC) - - `edg' - the one used by the EDG compiler - - `gnu-v3' - the one used by the GNU C++ compiler (g++) with the V3 ABI. - - `java' - the one used by the GNU Java compiler (gcj) - - `gnat' - the one used by the GNU Ada compiler (GNAT). - -`--help' - Print a summary of the options to `c++filt' and exit. - -`--version' - Print the version number of `c++filt' and exit. - - _Warning:_ `c++filt' is a new utility, and the details of its user - interface are subject to change in future releases. In particular, - a command-line option may be required in the future to decode a - name passed as an argument on the command line; in other words, - - c++filt SYMBOL - - may in a future release become - - c++filt OPTION SYMBOL - - ---------- Footnotes ---------- - - (1) MS-DOS does not allow `+' characters in file names, so on MS-DOS -this program is named `CXXFILT'. - - -File: binutils.info, Node: addr2line, Next: nlmconv, Prev: c++filt, Up: Top - -10 addr2line -************ - - addr2line [`-a'|`--addresses'] - [`-b' BFDNAME|`--target='BFDNAME] - [`-C'|`--demangle'[=STYLE]] - [`-e' FILENAME|`--exe='FILENAME] - [`-f'|`--functions'] [`-s'|`--basename'] - [`-i'|`--inlines'] - [`-p'|`--pretty-print'] - [`-j'|`--section='NAME] - [`-H'|`--help'] [`-V'|`--version'] - [addr addr ...] - - `addr2line' translates addresses into file names and line numbers. -Given an address in an executable or an offset in a section of a -relocatable object, it uses the debugging information to figure out -which file name and line number are associated with it. - - The executable or relocatable object to use is specified with the -`-e' option. The default is the file `a.out'. The section in the -relocatable object to use is specified with the `-j' option. - - `addr2line' has two modes of operation. - - In the first, hexadecimal addresses are specified on the command -line, and `addr2line' displays the file name and line number for each -address. - - In the second, `addr2line' reads hexadecimal addresses from standard -input, and prints the file name and line number for each address on -standard output. In this mode, `addr2line' may be used in a pipe to -convert dynamically chosen addresses. - - The format of the output is `FILENAME:LINENO'. The file name and -line number for each input address is printed on separate lines. - - If the `-f' option is used, then each `FILENAME:LINENO' line is -preceded by `FUNCTIONNAME' which is the name of the function containing -the address. - - If the `-i' option is used and the code at the given address is -present there because of inlining by the compiler then the -`{FUNCTIONNAME} FILENAME:LINENO' information for the inlining function -will be displayed afterwards. This continues recursively until there -is no more inlining to report. - - If the `-a' option is used then the output is prefixed by the input -address. - - If the `-p' option is used then the output for each input address is -displayed on one, possibly quite long, line. If `-p' is not used then -the output is broken up into multiple lines, based on the paragraphs -above. - - If the file name or function name can not be determined, `addr2line' -will print two question marks in their place. If the line number can -not be determined, `addr2line' will print 0. - - The long and short forms of options, shown here as alternatives, are -equivalent. - -`-a' -`--addresses' - Display the address before the function name, file and line number - information. The address is printed with a `0x' prefix to easily - identify it. - -`-b BFDNAME' -`--target=BFDNAME' - Specify that the object-code format for the object files is - BFDNAME. - -`-C' -`--demangle[=STYLE]' - Decode ("demangle") low-level symbol names into user-level names. - Besides removing any initial underscore prepended by the system, - this makes C++ function names readable. Different compilers have - different mangling styles. The optional demangling style argument - can be used to choose an appropriate demangling style for your - compiler. *Note c++filt::, for more information on demangling. - -`-e FILENAME' -`--exe=FILENAME' - Specify the name of the executable for which addresses should be - translated. The default file is `a.out'. - -`-f' -`--functions' - Display function names as well as file and line number information. - -`-s' -`--basenames' - Display only the base of each file name. - -`-i' -`--inlines' - If the address belongs to a function that was inlined, the source - information for all enclosing scopes back to the first non-inlined - function will also be printed. For example, if `main' inlines - `callee1' which inlines `callee2', and address is from `callee2', - the source information for `callee1' and `main' will also be - printed. - -`-j' -`--section' - Read offsets relative to the specified section instead of absolute - addresses. - -`-p' -`--pretty-print' - Make the output more human friendly: each location are printed on - one line. If option `-i' is specified, lines for all enclosing - scopes are prefixed with `(inlined by)'. - - -File: binutils.info, Node: nlmconv, Next: windmc, Prev: addr2line, Up: Top - -11 nlmconv -********** - -`nlmconv' converts a relocatable object file into a NetWare Loadable -Module. - - _Warning:_ `nlmconv' is not always built as part of the binary - utilities, since it is only useful for NLM targets. - - nlmconv [`-I' BFDNAME|`--input-target='BFDNAME] - [`-O' BFDNAME|`--output-target='BFDNAME] - [`-T' HEADERFILE|`--header-file='HEADERFILE] - [`-d'|`--debug'] [`-l' LINKER|`--linker='LINKER] - [`-h'|`--help'] [`-V'|`--version'] - INFILE OUTFILE - - `nlmconv' converts the relocatable `i386' object file INFILE into -the NetWare Loadable Module OUTFILE, optionally reading HEADERFILE for -NLM header information. For instructions on writing the NLM command -file language used in header files, see the `linkers' section, -`NLMLINK' in particular, of the `NLM Development and Tools Overview', -which is part of the NLM Software Developer's Kit ("NLM SDK"), -available from Novell, Inc. `nlmconv' uses the GNU Binary File -Descriptor library to read INFILE; see *Note BFD: (ld.info)BFD, for -more information. - - `nlmconv' can perform a link step. In other words, you can list -more than one object file for input if you list them in the definitions -file (rather than simply specifying one input file on the command line). -In this case, `nlmconv' calls the linker for you. - -`-I BFDNAME' -`--input-target=BFDNAME' - Object format of the input file. `nlmconv' can usually determine - the format of a given file (so no default is necessary). *Note - Target Selection::, for more information. - -`-O BFDNAME' -`--output-target=BFDNAME' - Object format of the output file. `nlmconv' infers the output - format based on the input format, e.g. for a `i386' input file the - output format is `nlm32-i386'. *Note Target Selection::, for more - information. - -`-T HEADERFILE' -`--header-file=HEADERFILE' - Reads HEADERFILE for NLM header information. For instructions on - writing the NLM command file language used in header files, see - see the `linkers' section, of the `NLM Development and Tools - Overview', which is part of the NLM Software Developer's Kit, - available from Novell, Inc. - -`-d' -`--debug' - Displays (on standard error) the linker command line used by - `nlmconv'. - -`-l LINKER' -`--linker=LINKER' - Use LINKER for any linking. LINKER can be an absolute or a - relative pathname. - -`-h' -`--help' - Prints a usage summary. - -`-V' -`--version' - Prints the version number for `nlmconv'. - - -File: binutils.info, Node: windmc, Next: windres, Prev: nlmconv, Up: Top - -12 windmc -********* - -`windmc' may be used to generator Windows message resources. - - _Warning:_ `windmc' is not always built as part of the binary - utilities, since it is only useful for Windows targets. - - windmc [options] input-file - - `windmc' reads message definitions from an input file (.mc) and -translate them into a set of output files. The output files may be of -four kinds: - -`h' - A C header file containing the message definitions. - -`rc' - A resource file compilable by the `windres' tool. - -`bin' - One or more binary files containing the resource data for a - specific message language. - -`dbg' - A C include file that maps message id's to their symbolic name. - - The exact description of these different formats is available in -documentation from Microsoft. - - When `windmc' converts from the `mc' format to the `bin' format, -`rc', `h', and optional `dbg' it is acting like the Windows Message -Compiler. - -`-a' -`--ascii_in' - Specifies that the input file specified is ASCII. This is the - default behaviour. - -`-A' -`--ascii_out' - Specifies that messages in the output `bin' files should be in - ASCII format. - -`-b' -`--binprefix' - Specifies that `bin' filenames should have to be prefixed by the - basename of the source file. - -`-c' -`--customflag' - Sets the customer bit in all message id's. - -`-C CODEPAGE' -`--codepage_in CODEPAGE' - Sets the default codepage to be used to convert input file to - UTF16. The default is ocdepage 1252. - -`-d' -`--decimal_values' - Outputs the constants in the header file in decimal. Default is - using hexadecimal output. - -`-e EXT' -`--extension EXT' - The extension for the header file. The default is .h extension. - -`-F TARGET' -`--target TARGET' - Specify the BFD format to use for a bin file as output. This is a - BFD target name; you can use the `--help' option to see a list of - supported targets. Normally `windmc' will use the default format, - which is the first one listed by the `--help' option. *Note - Target Selection::. - -`-h PATH' -`--headerdir PATH' - The target directory of the generated header file. The default is - the current directory. - -`-H' -`--help' - Displays a list of command line options and then exits. - -`-m CHARACTERS' -`--maxlength CHARACTERS' - Instructs `windmc' to generate a warning if the length of any - message exceeds the number specified. - -`-n' -`--nullterminate' - Terminate message text in `bin' files by zero. By default they are - terminated by CR/LF. - -`-o' -`--hresult_use' - Not yet implemented. Instructs `windmc' to generate an OLE2 header - file, using HRESULT definitions. Status codes are used if the flag - is not specified. - -`-O CODEPAGE' -`--codepage_out CODEPAGE' - Sets the default codepage to be used to output text files. The - default is ocdepage 1252. - -`-r PATH' -`--rcdir PATH' - The target directory for the generated `rc' script and the - generated `bin' files that the resource compiler script includes. - The default is the current directory. - -`-u' -`--unicode_in' - Specifies that the input file is UTF16. - -`-U' -`--unicode_out' - Specifies that messages in the output `bin' file should be in UTF16 - format. This is the default behaviour. - -`-v' - -`--verbose' - Enable verbose mode. - -`-V' - -`--version' - Prints the version number for `windmc'. - -`-x PATH' -`--xdgb PATH' - The path of the `dbg' C include file that maps message id's to the - symbolic name. No such file is generated without specifying the - switch. - - -File: binutils.info, Node: windres, Next: dlltool, Prev: windmc, Up: Top - -13 windres -********** - -`windres' may be used to manipulate Windows resources. - - _Warning:_ `windres' is not always built as part of the binary - utilities, since it is only useful for Windows targets. - - windres [options] [input-file] [output-file] - - `windres' reads resources from an input file and copies them into an -output file. Either file may be in one of three formats: - -`rc' - A text format read by the Resource Compiler. - -`res' - A binary format generated by the Resource Compiler. - -`coff' - A COFF object or executable. - - The exact description of these different formats is available in -documentation from Microsoft. - - When `windres' converts from the `rc' format to the `res' format, it -is acting like the Windows Resource Compiler. When `windres' converts -from the `res' format to the `coff' format, it is acting like the -Windows `CVTRES' program. - - When `windres' generates an `rc' file, the output is similar but not -identical to the format expected for the input. When an input `rc' -file refers to an external filename, an output `rc' file will instead -include the file contents. - - If the input or output format is not specified, `windres' will guess -based on the file name, or, for the input file, the file contents. A -file with an extension of `.rc' will be treated as an `rc' file, a file -with an extension of `.res' will be treated as a `res' file, and a file -with an extension of `.o' or `.exe' will be treated as a `coff' file. - - If no output file is specified, `windres' will print the resources -in `rc' format to standard output. - - The normal use is for you to write an `rc' file, use `windres' to -convert it to a COFF object file, and then link the COFF file into your -application. This will make the resources described in the `rc' file -available to Windows. - -`-i FILENAME' -`--input FILENAME' - The name of the input file. If this option is not used, then - `windres' will use the first non-option argument as the input file - name. If there are no non-option arguments, then `windres' will - read from standard input. `windres' can not read a COFF file from - standard input. - -`-o FILENAME' -`--output FILENAME' - The name of the output file. If this option is not used, then - `windres' will use the first non-option argument, after any used - for the input file name, as the output file name. If there is no - non-option argument, then `windres' will write to standard output. - `windres' can not write a COFF file to standard output. Note, for - compatibility with `rc' the option `-fo' is also accepted, but its - use is not recommended. - -`-J FORMAT' -`--input-format FORMAT' - The input format to read. FORMAT may be `res', `rc', or `coff'. - If no input format is specified, `windres' will guess, as - described above. - -`-O FORMAT' -`--output-format FORMAT' - The output format to generate. FORMAT may be `res', `rc', or - `coff'. If no output format is specified, `windres' will guess, - as described above. - -`-F TARGET' -`--target TARGET' - Specify the BFD format to use for a COFF file as input or output. - This is a BFD target name; you can use the `--help' option to see - a list of supported targets. Normally `windres' will use the - default format, which is the first one listed by the `--help' - option. *Note Target Selection::. - -`--preprocessor PROGRAM' - When `windres' reads an `rc' file, it runs it through the C - preprocessor first. This option may be used to specify the - preprocessor to use, including any leading arguments. The default - preprocessor argument is `gcc -E -xc-header -DRC_INVOKED'. - -`--preprocessor-arg OPTION' - When `windres' reads an `rc' file, it runs it through the C - preprocessor first. This option may be used to specify additional - text to be passed to preprocessor on its command line. This - option can be used multiple times to add multiple options to the - preprocessor command line. - -`-I DIRECTORY' -`--include-dir DIRECTORY' - Specify an include directory to use when reading an `rc' file. - `windres' will pass this to the preprocessor as an `-I' option. - `windres' will also search this directory when looking for files - named in the `rc' file. If the argument passed to this command - matches any of the supported FORMATS (as described in the `-J' - option), it will issue a deprecation warning, and behave just like - the `-J' option. New programs should not use this behaviour. If a - directory happens to match a FORMAT, simple prefix it with `./' to - disable the backward compatibility. - -`-D TARGET' -`--define SYM[=VAL]' - Specify a `-D' option to pass to the preprocessor when reading an - `rc' file. - -`-U TARGET' -`--undefine SYM' - Specify a `-U' option to pass to the preprocessor when reading an - `rc' file. - -`-r' - Ignored for compatibility with rc. - -`-v' - Enable verbose mode. This tells you what the preprocessor is if - you didn't specify one. - -`-c VAL' - -`--codepage VAL' - Specify the default codepage to use when reading an `rc' file. - VAL should be a hexadecimal prefixed by `0x' or decimal codepage - code. The valid range is from zero up to 0xffff, but the validity - of the codepage is host and configuration dependent. - -`-l VAL' - -`--language VAL' - Specify the default language to use when reading an `rc' file. - VAL should be a hexadecimal language code. The low eight bits are - the language, and the high eight bits are the sublanguage. - -`--use-temp-file' - Use a temporary file to instead of using popen to read the output - of the preprocessor. Use this option if the popen implementation - is buggy on the host (eg., certain non-English language versions - of Windows 95 and Windows 98 are known to have buggy popen where - the output will instead go the console). - -`--no-use-temp-file' - Use popen, not a temporary file, to read the output of the - preprocessor. This is the default behaviour. - -`-h' - -`--help' - Prints a usage summary. - -`-V' - -`--version' - Prints the version number for `windres'. - -`--yydebug' - If `windres' is compiled with `YYDEBUG' defined as `1', this will - turn on parser debugging. - - -File: binutils.info, Node: dlltool, Next: readelf, Prev: windres, Up: Top - -14 dlltool -********** - -`dlltool' is used to create the files needed to create dynamic link -libraries (DLLs) on systems which understand PE format image files such -as Windows. A DLL contains an export table which contains information -that the runtime loader needs to resolve references from a referencing -program. - - The export table is generated by this program by reading in a `.def' -file or scanning the `.a' and `.o' files which will be in the DLL. A -`.o' file can contain information in special `.drectve' sections with -export information. - - _Note:_ `dlltool' is not always built as part of the binary - utilities, since it is only useful for those targets which support - DLLs. - - dlltool [`-d'|`--input-def' DEF-FILE-NAME] - [`-b'|`--base-file' BASE-FILE-NAME] - [`-e'|`--output-exp' EXPORTS-FILE-NAME] - [`-z'|`--output-def' DEF-FILE-NAME] - [`-l'|`--output-lib' LIBRARY-FILE-NAME] - [`-y'|`--output-delaylib' LIBRARY-FILE-NAME] - [`--export-all-symbols'] [`--no-export-all-symbols'] - [`--exclude-symbols' LIST] - [`--no-default-excludes'] - [`-S'|`--as' PATH-TO-ASSEMBLER] [`-f'|`--as-flags' OPTIONS] - [`-D'|`--dllname' NAME] [`-m'|`--machine' MACHINE] - [`-a'|`--add-indirect'] - [`-U'|`--add-underscore'] [`--add-stdcall-underscore'] - [`-k'|`--kill-at'] [`-A'|`--add-stdcall-alias'] - [`-p'|`--ext-prefix-alias' PREFIX] - [`-x'|`--no-idata4'] [`-c'|`--no-idata5'] - [`--use-nul-prefixed-import-tables'] - [`-I'|`--identify' LIBRARY-FILE-NAME] [`--identify-strict'] - [`-i'|`--interwork'] - [`-n'|`--nodelete'] [`-t'|`--temp-prefix' PREFIX] - [`-v'|`--verbose'] - [`-h'|`--help'] [`-V'|`--version'] - [`--no-leading-underscore'] [`--leading-underscore'] - [object-file ...] - - `dlltool' reads its inputs, which can come from the `-d' and `-b' -options as well as object files specified on the command line. It then -processes these inputs and if the `-e' option has been specified it -creates a exports file. If the `-l' option has been specified it -creates a library file and if the `-z' option has been specified it -creates a def file. Any or all of the `-e', `-l' and `-z' options can -be present in one invocation of dlltool. - - When creating a DLL, along with the source for the DLL, it is -necessary to have three other files. `dlltool' can help with the -creation of these files. - - The first file is a `.def' file which specifies which functions are -exported from the DLL, which functions the DLL imports, and so on. This -is a text file and can be created by hand, or `dlltool' can be used to -create it using the `-z' option. In this case `dlltool' will scan the -object files specified on its command line looking for those functions -which have been specially marked as being exported and put entries for -them in the `.def' file it creates. - - In order to mark a function as being exported from a DLL, it needs to -have an `-export:<name_of_function>' entry in the `.drectve' section of -the object file. This can be done in C by using the asm() operator: - - asm (".section .drectve"); - asm (".ascii \"-export:my_func\""); - - int my_func (void) { ... } - - The second file needed for DLL creation is an exports file. This -file is linked with the object files that make up the body of the DLL -and it handles the interface between the DLL and the outside world. -This is a binary file and it can be created by giving the `-e' option to -`dlltool' when it is creating or reading in a `.def' file. - - The third file needed for DLL creation is the library file that -programs will link with in order to access the functions in the DLL (an -`import library'). This file can be created by giving the `-l' option -to dlltool when it is creating or reading in a `.def' file. - - If the `-y' option is specified, dlltool generates a delay-import -library that can be used instead of the normal import library to allow -a program to link to the dll only as soon as an imported function is -called for the first time. The resulting executable will need to be -linked to the static delayimp library containing __delayLoadHelper2(), -which in turn will import LoadLibraryA and GetProcAddress from kernel32. - - `dlltool' builds the library file by hand, but it builds the exports -file by creating temporary files containing assembler statements and -then assembling these. The `-S' command line option can be used to -specify the path to the assembler that dlltool will use, and the `-f' -option can be used to pass specific flags to that assembler. The `-n' -can be used to prevent dlltool from deleting these temporary assembler -files when it is done, and if `-n' is specified twice then this will -prevent dlltool from deleting the temporary object files it used to -build the library. - - Here is an example of creating a DLL from a source file `dll.c' and -also creating a program (from an object file called `program.o') that -uses that DLL: - - gcc -c dll.c - dlltool -e exports.o -l dll.lib dll.o - gcc dll.o exports.o -o dll.dll - gcc program.o dll.lib -o program - - `dlltool' may also be used to query an existing import library to -determine the name of the DLL to which it is associated. See the -description of the `-I' or `--identify' option. - - The command line options have the following meanings: - -`-d FILENAME' -`--input-def FILENAME' - Specifies the name of a `.def' file to be read in and processed. - -`-b FILENAME' -`--base-file FILENAME' - Specifies the name of a base file to be read in and processed. The - contents of this file will be added to the relocation section in - the exports file generated by dlltool. - -`-e FILENAME' -`--output-exp FILENAME' - Specifies the name of the export file to be created by dlltool. - -`-z FILENAME' -`--output-def FILENAME' - Specifies the name of the `.def' file to be created by dlltool. - -`-l FILENAME' -`--output-lib FILENAME' - Specifies the name of the library file to be created by dlltool. - -`-y FILENAME' -`--output-delaylib FILENAME' - Specifies the name of the delay-import library file to be created - by dlltool. - -`--export-all-symbols' - Treat all global and weak defined symbols found in the input object - files as symbols to be exported. There is a small list of symbols - which are not exported by default; see the `--no-default-excludes' - option. You may add to the list of symbols to not export by using - the `--exclude-symbols' option. - -`--no-export-all-symbols' - Only export symbols explicitly listed in an input `.def' file or in - `.drectve' sections in the input object files. This is the default - behaviour. The `.drectve' sections are created by `dllexport' - attributes in the source code. - -`--exclude-symbols LIST' - Do not export the symbols in LIST. This is a list of symbol names - separated by comma or colon characters. The symbol names should - not contain a leading underscore. This is only meaningful when - `--export-all-symbols' is used. - -`--no-default-excludes' - When `--export-all-symbols' is used, it will by default avoid - exporting certain special symbols. The current list of symbols to - avoid exporting is `DllMain@12', `DllEntryPoint@0', `impure_ptr'. - You may use the `--no-default-excludes' option to go ahead and - export these special symbols. This is only meaningful when - `--export-all-symbols' is used. - -`-S PATH' -`--as PATH' - Specifies the path, including the filename, of the assembler to be - used to create the exports file. - -`-f OPTIONS' -`--as-flags OPTIONS' - Specifies any specific command line options to be passed to the - assembler when building the exports file. This option will work - even if the `-S' option is not used. This option only takes one - argument, and if it occurs more than once on the command line, - then later occurrences will override earlier occurrences. So if - it is necessary to pass multiple options to the assembler they - should be enclosed in double quotes. - -`-D NAME' -`--dll-name NAME' - Specifies the name to be stored in the `.def' file as the name of - the DLL when the `-e' option is used. If this option is not - present, then the filename given to the `-e' option will be used - as the name of the DLL. - -`-m MACHINE' -`-machine MACHINE' - Specifies the type of machine for which the library file should be - built. `dlltool' has a built in default type, depending upon how - it was created, but this option can be used to override that. - This is normally only useful when creating DLLs for an ARM - processor, when the contents of the DLL are actually encode using - Thumb instructions. - -`-a' -`--add-indirect' - Specifies that when `dlltool' is creating the exports file it - should add a section which allows the exported functions to be - referenced without using the import library. Whatever the hell - that means! - -`-U' -`--add-underscore' - Specifies that when `dlltool' is creating the exports file it - should prepend an underscore to the names of _all_ exported - symbols. - -`--no-leading-underscore' - -`--leading-underscore' - Specifies whether standard symbol should be forced to be prefixed, - or not. - -`--add-stdcall-underscore' - Specifies that when `dlltool' is creating the exports file it - should prepend an underscore to the names of exported _stdcall_ - functions. Variable names and non-stdcall function names are not - modified. This option is useful when creating GNU-compatible - import libs for third party DLLs that were built with MS-Windows - tools. - -`-k' -`--kill-at' - Specifies that when `dlltool' is creating the exports file it - should not append the string `@ <number>'. These numbers are - called ordinal numbers and they represent another way of accessing - the function in a DLL, other than by name. - -`-A' -`--add-stdcall-alias' - Specifies that when `dlltool' is creating the exports file it - should add aliases for stdcall symbols without `@ <number>' in - addition to the symbols with `@ <number>'. - -`-p' -`--ext-prefix-alias PREFIX' - Causes `dlltool' to create external aliases for all DLL imports - with the specified prefix. The aliases are created for both - external and import symbols with no leading underscore. - -`-x' -`--no-idata4' - Specifies that when `dlltool' is creating the exports and library - files it should omit the `.idata4' section. This is for - compatibility with certain operating systems. - -`--use-nul-prefixed-import-tables' - Specifies that when `dlltool' is creating the exports and library - files it should prefix the `.idata4' and `.idata5' by zero an - element. This emulates old gnu import library generation of - `dlltool'. By default this option is turned off. - -`-c' -`--no-idata5' - Specifies that when `dlltool' is creating the exports and library - files it should omit the `.idata5' section. This is for - compatibility with certain operating systems. - -`-I FILENAME' -`--identify FILENAME' - Specifies that `dlltool' should inspect the import library - indicated by FILENAME and report, on `stdout', the name(s) of the - associated DLL(s). This can be performed in addition to any other - operations indicated by the other options and arguments. - `dlltool' fails if the import library does not exist or is not - actually an import library. See also `--identify-strict'. - -`--identify-strict' - Modifies the behavior of the `--identify' option, such that an - error is reported if FILENAME is associated with more than one DLL. - -`-i' -`--interwork' - Specifies that `dlltool' should mark the objects in the library - file and exports file that it produces as supporting interworking - between ARM and Thumb code. - -`-n' -`--nodelete' - Makes `dlltool' preserve the temporary assembler files it used to - create the exports file. If this option is repeated then dlltool - will also preserve the temporary object files it uses to create - the library file. - -`-t PREFIX' -`--temp-prefix PREFIX' - Makes `dlltool' use PREFIX when constructing the names of - temporary assembler and object files. By default, the temp file - prefix is generated from the pid. - -`-v' -`--verbose' - Make dlltool describe what it is doing. - -`-h' -`--help' - Displays a list of command line options and then exits. - -`-V' -`--version' - Displays dlltool's version number and then exits. - - -* Menu: - -* def file format:: The format of the dlltool `.def' file - - -File: binutils.info, Node: def file format, Up: dlltool - -14.1 The format of the `dlltool' `.def' file -============================================ - -A `.def' file contains any number of the following commands: - -`NAME' NAME `[ ,' BASE `]' - The result is going to be named NAME`.exe'. - -`LIBRARY' NAME `[ ,' BASE `]' - The result is going to be named NAME`.dll'. Note: If you want to - use LIBRARY as name then you need to quote. Otherwise this will - fail due a necessary hack for libtool (see PR binutils/13710 for - more details). - -`EXPORTS ( ( (' NAME1 `[ = ' NAME2 `] ) | ( ' NAME1 `=' MODULE-NAME `.' EXTERNAL-NAME `) ) [ == ' ITS_NAME `]' - -`[' INTEGER `] [ NONAME ] [ CONSTANT ] [ DATA ] [ PRIVATE ] ) *' - Declares NAME1 as an exported symbol from the DLL, with optional - ordinal number INTEGER, or declares NAME1 as an alias (forward) of - the function EXTERNAL-NAME in the DLL. If ITS_NAME is specified, - this name is used as string in export table. MODULE-NAME. Note: - The `EXPORTS' has to be the last command in .def file, as keywords - are treated - beside `LIBRARY' - as simple name-identifiers. If - you want to use LIBRARY as name then you need to quote it. - -`IMPORTS ( (' INTERNAL-NAME `=' MODULE-NAME `.' INTEGER `) | [' INTERNAL-NAME `= ]' MODULE-NAME `.' EXTERNAL-NAME `) [ == ) ITS_NAME `]' *' - Declares that EXTERNAL-NAME or the exported function whose ordinal - number is INTEGER is to be imported from the file MODULE-NAME. If - INTERNAL-NAME is specified then this is the name that the imported - function will be referred to in the body of the DLL. If ITS_NAME - is specified, this name is used as string in import table. Note: - The `IMPORTS' has to be the last command in .def file, as keywords - are treated - beside `LIBRARY' - as simple name-identifiers. If - you want to use LIBRARY as name then you need to quote it. - -`DESCRIPTION' STRING - Puts STRING into the output `.exp' file in the `.rdata' section. - -`STACKSIZE' NUMBER-RESERVE `[, ' NUMBER-COMMIT `]' - -`HEAPSIZE' NUMBER-RESERVE `[, ' NUMBER-COMMIT `]' - Generates `--stack' or `--heap' NUMBER-RESERVE,NUMBER-COMMIT in - the output `.drectve' section. The linker will see this and act - upon it. - -`CODE' ATTR `+' - -`DATA' ATTR `+' - -`SECTIONS (' SECTION-NAME ATTR` + ) *' - Generates `--attr' SECTION-NAME ATTR in the output `.drectve' - section, where ATTR is one of `READ', `WRITE', `EXECUTE' or - `SHARED'. The linker will see this and act upon it. - - - -File: binutils.info, Node: readelf, Next: elfedit, Prev: dlltool, Up: Top - -15 readelf -********** - - readelf [`-a'|`--all'] - [`-h'|`--file-header'] - [`-l'|`--program-headers'|`--segments'] - [`-S'|`--section-headers'|`--sections'] - [`-g'|`--section-groups'] - [`-t'|`--section-details'] - [`-e'|`--headers'] - [`-s'|`--syms'|`--symbols'] - [`--dyn-syms'] - [`-n'|`--notes'] - [`-r'|`--relocs'] - [`-u'|`--unwind'] - [`-d'|`--dynamic'] - [`-V'|`--version-info'] - [`-A'|`--arch-specific'] - [`-D'|`--use-dynamic'] - [`-x' <number or name>|`--hex-dump='<number or name>] - [`-p' <number or name>|`--string-dump='<number or name>] - [`-R' <number or name>|`--relocated-dump='<number or name>] - [`-c'|`--archive-index'] - [`-w[lLiaprmfFsoRt]'| - `--debug-dump'[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]] - [`--dwarf-depth=N'] - [`--dwarf-start=N'] - [`-I'|`--histogram'] - [`-v'|`--version'] - [`-W'|`--wide'] - [`-H'|`--help'] - ELFFILE... - - `readelf' displays information about one or more ELF format object -files. The options control what particular information to display. - - ELFFILE... are the object files to be examined. 32-bit and 64-bit -ELF files are supported, as are archives containing ELF files. - - This program performs a similar function to `objdump' but it goes -into more detail and it exists independently of the BFD library, so if -there is a bug in BFD then readelf will not be affected. - - The long and short forms of options, shown here as alternatives, are -equivalent. At least one option besides `-v' or `-H' must be given. - -`-a' -`--all' - Equivalent to specifying `--file-header', `--program-headers', - `--sections', `--symbols', `--relocs', `--dynamic', `--notes' and - `--version-info'. - -`-h' -`--file-header' - Displays the information contained in the ELF header at the start - of the file. - -`-l' -`--program-headers' -`--segments' - Displays the information contained in the file's segment headers, - if it has any. - -`-S' -`--sections' -`--section-headers' - Displays the information contained in the file's section headers, - if it has any. - -`-g' -`--section-groups' - Displays the information contained in the file's section groups, - if it has any. - -`-t' -`--section-details' - Displays the detailed section information. Implies `-S'. - -`-s' -`--symbols' -`--syms' - Displays the entries in symbol table section of the file, if it - has one. - -`--dyn-syms' - Displays the entries in dynamic symbol table section of the file, - if it has one. - -`-e' -`--headers' - Display all the headers in the file. Equivalent to `-h -l -S'. - -`-n' -`--notes' - Displays the contents of the NOTE segments and/or sections, if any. - -`-r' -`--relocs' - Displays the contents of the file's relocation section, if it has - one. - -`-u' -`--unwind' - Displays the contents of the file's unwind section, if it has one. - Only the unwind sections for IA64 ELF files, as well as ARM - unwind tables (`.ARM.exidx' / `.ARM.extab') are currently - supported. - -`-d' -`--dynamic' - Displays the contents of the file's dynamic section, if it has one. - -`-V' -`--version-info' - Displays the contents of the version sections in the file, it they - exist. - -`-A' -`--arch-specific' - Displays architecture-specific information in the file, if there - is any. - -`-D' -`--use-dynamic' - When displaying symbols, this option makes `readelf' use the - symbol hash tables in the file's dynamic section, rather than the - symbol table sections. - -`-x <number or name>' -`--hex-dump=<number or name>' - Displays the contents of the indicated section as a hexadecimal - bytes. A number identifies a particular section by index in the - section table; any other string identifies all sections with that - name in the object file. - -`-R <number or name>' -`--relocated-dump=<number or name>' - Displays the contents of the indicated section as a hexadecimal - bytes. A number identifies a particular section by index in the - section table; any other string identifies all sections with that - name in the object file. The contents of the section will be - relocated before they are displayed. - -`-p <number or name>' -`--string-dump=<number or name>' - Displays the contents of the indicated section as printable - strings. A number identifies a particular section by index in the - section table; any other string identifies all sections with that - name in the object file. - -`-c' -`--archive-index' - Displays the file symbol index information contained in the header - part of binary archives. Performs the same function as the `t' - command to `ar', but without using the BFD library. *Note ar::. - -`-w[lLiaprmfFsoRt]' -`--debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]' - Displays the contents of the debug sections in the file, if any are - present. If one of the optional letters or words follows the - switch then only data found in those specific sections will be - dumped. - - Note that there is no single letter option to display the content - of trace sections or .gdb_index. - - Note: the `=decodedline' option will display the interpreted - contents of a .debug_line section whereas the `=rawline' option - dumps the contents in a raw format. - - Note: the `=frames-interp' option will display the interpreted - contents of a .debug_frame section whereas the `=frames' option - dumps the contents in a raw format. - - Note: the output from the `=info' option can also be affected by - the options `--dwarf-depth' and `--dwarf-start'. - -`--dwarf-depth=N' - Limit the dump of the `.debug_info' section to N children. This - is only useful with `--debug-dump=info'. The default is to print - all DIEs; the special value 0 for N will also have this effect. - - With a non-zero value for N, DIEs at or deeper than N levels will - not be printed. The range for N is zero-based. - -`--dwarf-start=N' - Print only DIEs beginning with the DIE numbered N. This is only - useful with `--debug-dump=info'. - - If specified, this option will suppress printing of any header - information and all DIEs before the DIE numbered N. Only siblings - and children of the specified DIE will be printed. - - This can be used in conjunction with `--dwarf-depth'. - -`-I' -`--histogram' - Display a histogram of bucket list lengths when displaying the - contents of the symbol tables. - -`-v' -`--version' - Display the version number of readelf. - -`-W' -`--wide' - Don't break output lines to fit into 80 columns. By default - `readelf' breaks section header and segment listing lines for - 64-bit ELF files, so that they fit into 80 columns. This option - causes `readelf' to print each section header resp. each segment - one a single line, which is far more readable on terminals wider - than 80 columns. - -`-H' -`--help' - Display the command line options understood by `readelf'. - - - -File: binutils.info, Node: elfedit, Next: Common Options, Prev: readelf, Up: Top - -16 elfedit -********** - - elfedit [`--input-mach='MACHINE] - [`--input-type='TYPE] - [`--input-osabi='OSABI] - `--output-mach='MACHINE - `--output-type='TYPE - `--output-osabi='OSABI - [`-v'|`--version'] - [`-h'|`--help'] - ELFFILE... - - `elfedit' updates the ELF header of ELF files which have the -matching ELF machine and file types. The options control how and which -fields in the ELF header should be updated. - - ELFFILE... are the ELF files to be updated. 32-bit and 64-bit ELF -files are supported, as are archives containing ELF files. - - The long and short forms of options, shown here as alternatives, are -equivalent. At least one of the `--output-mach', `--output-type' and -`--output-osabi' options must be given. - -`--input-mach=MACHINE' - Set the matching input ELF machine type to MACHINE. If - `--input-mach' isn't specified, it will match any ELF machine - types. - - The supported ELF machine types are, L1OM, K1OM and X86-64. - -`--output-mach=MACHINE' - Change the ELF machine type in the ELF header to MACHINE. The - supported ELF machine types are the same as `--input-mach'. - -`--input-type=TYPE' - Set the matching input ELF file type to TYPE. If `--input-type' - isn't specified, it will match any ELF file types. - - The supported ELF file types are, REL, EXEC and DYN. - -`--output-type=TYPE' - Change the ELF file type in the ELF header to TYPE. The supported - ELF types are the same as `--input-type'. - -`--input-osabi=OSABI' - Set the matching input ELF file OSABI to OSABI. If - `--input-osabi' isn't specified, it will match any ELF OSABIs. - - The supported ELF OSABIs are, NONE, HPUX, NETBSD, GNU, LINUX - (alias for GNU), SOLARIS, AIX, IRIX, FREEBSD, TRU64, MODESTO, - OPENBSD, OPENVMS, NSK, AROS and FENIXOS. - -`--output-osabi=OSABI' - Change the ELF OSABI in the ELF header to OSABI. The supported - ELF OSABI are the same as `--input-osabi'. - -`-v' -`--version' - Display the version number of `elfedit'. - -`-h' -`--help' - Display the command line options understood by `elfedit'. - - - -File: binutils.info, Node: Common Options, Next: Selecting the Target System, Prev: elfedit, Up: Top - -17 Common Options -***************** - -The following command-line options are supported by all of the programs -described in this manual. - -`@FILE' - Read command-line options from FILE. The options read are - inserted in place of the original @FILE option. If FILE does not - exist, or cannot be read, then the option will be treated - literally, and not removed. - - Options in FILE are separated by whitespace. A whitespace - character may be included in an option by surrounding the entire - option in either single or double quotes. Any character - (including a backslash) may be included by prefixing the character - to be included with a backslash. The FILE may itself contain - additional @FILE options; any such options will be processed - recursively. - -`--help' - Display the command-line options supported by the program. - -`--version' - Display the version number of the program. - - - -File: binutils.info, Node: Selecting the Target System, Next: Reporting Bugs, Prev: Common Options, Up: Top - -18 Selecting the Target System -****************************** - -You can specify two aspects of the target system to the GNU binary file -utilities, each in several ways: - - * the target - - * the architecture - - In the following summaries, the lists of ways to specify values are -in order of decreasing precedence. The ways listed first override those -listed later. - - The commands to list valid values only list the values for which the -programs you are running were configured. If they were configured with -`--enable-targets=all', the commands list most of the available values, -but a few are left out; not all targets can be configured in at once -because some of them can only be configured "native" (on hosts with the -same type as the target system). - -* Menu: - -* Target Selection:: -* Architecture Selection:: - - -File: binutils.info, Node: Target Selection, Next: Architecture Selection, Up: Selecting the Target System - -18.1 Target Selection -===================== - -A "target" is an object file format. A given target may be supported -for multiple architectures (*note Architecture Selection::). A target -selection may also have variations for different operating systems or -architectures. - - The command to list valid target values is `objdump -i' (the first -column of output contains the relevant information). - - Some sample values are: `a.out-hp300bsd', `ecoff-littlemips', -`a.out-sunos-big'. - - You can also specify a target using a configuration triplet. This is -the same sort of name that is passed to `configure' to specify a -target. When you use a configuration triplet as an argument, it must be -fully canonicalized. You can see the canonical version of a triplet by -running the shell script `config.sub' which is included with the -sources. - - Some sample configuration triplets are: `m68k-hp-bsd', -`mips-dec-ultrix', `sparc-sun-sunos'. - -`objdump' Target ----------------- - -Ways to specify: - - 1. command line option: `-b' or `--target' - - 2. environment variable `GNUTARGET' - - 3. deduced from the input file - -`objcopy' and `strip' Input Target ----------------------------------- - -Ways to specify: - - 1. command line options: `-I' or `--input-target', or `-F' or - `--target' - - 2. environment variable `GNUTARGET' - - 3. deduced from the input file - -`objcopy' and `strip' Output Target ------------------------------------ - -Ways to specify: - - 1. command line options: `-O' or `--output-target', or `-F' or - `--target' - - 2. the input target (see "`objcopy' and `strip' Input Target" above) - - 3. environment variable `GNUTARGET' - - 4. deduced from the input file - -`nm', `size', and `strings' Target ----------------------------------- - -Ways to specify: - - 1. command line option: `--target' - - 2. environment variable `GNUTARGET' - - 3. deduced from the input file - - -File: binutils.info, Node: Architecture Selection, Prev: Target Selection, Up: Selecting the Target System - -18.2 Architecture Selection -=========================== - -An "architecture" is a type of CPU on which an object file is to run. -Its name may contain a colon, separating the name of the processor -family from the name of the particular CPU. - - The command to list valid architecture values is `objdump -i' (the -second column contains the relevant information). - - Sample values: `m68k:68020', `mips:3000', `sparc'. - -`objdump' Architecture ----------------------- - -Ways to specify: - - 1. command line option: `-m' or `--architecture' - - 2. deduced from the input file - -`objcopy', `nm', `size', `strings' Architecture ------------------------------------------------ - -Ways to specify: - - 1. deduced from the input file - - -File: binutils.info, Node: Reporting Bugs, Next: GNU Free Documentation License, Prev: Selecting the Target System, Up: Top - -19 Reporting Bugs -***************** - -Your bug reports play an essential role in making the binary utilities -reliable. - - Reporting a bug may help you by bringing a solution to your problem, -or it may not. But in any case the principal function of a bug report -is to help the entire community by making the next version of the binary -utilities work better. Bug reports are your contribution to their -maintenance. - - In order for a bug report to serve its purpose, you must include the -information that enables us to fix the bug. - -* Menu: - -* Bug Criteria:: Have you found a bug? -* Bug Reporting:: How to report bugs - - -File: binutils.info, Node: Bug Criteria, Next: Bug Reporting, Up: Reporting Bugs - -19.1 Have You Found a Bug? -========================== - -If you are not sure whether you have found a bug, here are some -guidelines: - - * If a binary utility gets a fatal signal, for any input whatever, - that is a bug. Reliable utilities never crash. - - * If a binary utility produces an error message for valid input, - that is a bug. - - * If you are an experienced user of binary utilities, your - suggestions for improvement are welcome in any case. - - -File: binutils.info, Node: Bug Reporting, Prev: Bug Criteria, Up: Reporting Bugs - -19.2 How to Report Bugs -======================= - -A number of companies and individuals offer support for GNU products. -If you obtained the binary utilities from a support organization, we -recommend you contact that organization first. - - You can find contact information for many support companies and -individuals in the file `etc/SERVICE' in the GNU Emacs distribution. - - In any event, we also recommend that you send bug reports for the -binary utilities to `http://www.sourceware.org/bugzilla/'. - - The fundamental principle of reporting bugs usefully is this: -*report all the facts*. If you are not sure whether to state a fact or -leave it out, state it! - - Often people omit facts because they think they know what causes the -problem and assume that some details do not matter. Thus, you might -assume that the name of a file you use in an example does not matter. -Well, probably it does not, but one cannot be sure. Perhaps the bug is -a stray memory reference which happens to fetch from the location where -that pathname is stored in memory; perhaps, if the pathname were -different, the contents of that location would fool the utility into -doing the right thing despite the bug. Play it safe and give a -specific, complete example. That is the easiest thing for you to do, -and the most helpful. - - Keep in mind that the purpose of a bug report is to enable us to fix -the bug if it is new to us. Therefore, always write your bug reports -on the assumption that the bug has not been reported previously. - - Sometimes people give a few sketchy facts and ask, "Does this ring a -bell?" This cannot help us fix a bug, so it is basically useless. We -respond by asking for enough details to enable us to investigate. You -might as well expedite matters by sending them to begin with. - - To enable us to fix the bug, you should include all these things: - - * The version of the utility. Each utility announces it if you - start it with the `--version' argument. - - Without this, we will not know whether there is any point in - looking for the bug in the current version of the binary utilities. - - * Any patches you may have applied to the source, including any - patches made to the `BFD' library. - - * The type of machine you are using, and the operating system name - and version number. - - * What compiler (and its version) was used to compile the - utilities--e.g. "`gcc-2.7'". - - * The command arguments you gave the utility to observe the bug. To - guarantee you will not omit something important, list them all. A - copy of the Makefile (or the output from make) is sufficient. - - If we were to try to guess the arguments, we would probably guess - wrong and then we might not encounter the bug. - - * A complete input file, or set of input files, that will reproduce - the bug. If the utility is reading an object file or files, then - it is generally most helpful to send the actual object files. - - If the source files were produced exclusively using GNU programs - (e.g., `gcc', `gas', and/or the GNU `ld'), then it may be OK to - send the source files rather than the object files. In this case, - be sure to say exactly what version of `gcc', or whatever, was - used to produce the object files. Also say how `gcc', or - whatever, was configured. - - * A description of what behavior you observe that you believe is - incorrect. For example, "It gets a fatal signal." - - Of course, if the bug is that the utility gets a fatal signal, - then we will certainly notice it. But if the bug is incorrect - output, we might not notice unless it is glaringly wrong. You - might as well not give us a chance to make a mistake. - - Even if the problem you experience is a fatal signal, you should - still say so explicitly. Suppose something strange is going on, - such as your copy of the utility is out of sync, or you have - encountered a bug in the C library on your system. (This has - happened!) Your copy might crash and ours would not. If you told - us to expect a crash, then when ours fails to crash, we would know - that the bug was not happening for us. If you had not told us to - expect a crash, then we would not be able to draw any conclusion - from our observations. - - * If you wish to suggest changes to the source, send us context - diffs, as generated by `diff' with the `-u', `-c', or `-p' option. - Always send diffs from the old file to the new file. If you wish - to discuss something in the `ld' source, refer to it by context, - not by line number. - - The line numbers in our development sources will not match those - in your sources. Your line numbers would convey no useful - information to us. - - Here are some things that are not necessary: - - * A description of the envelope of the bug. - - Often people who encounter a bug spend a lot of time investigating - which changes to the input file will make the bug go away and which - changes will not affect it. - - This is often time consuming and not very useful, because the way - we will find the bug is by running a single example under the - debugger with breakpoints, not by pure deduction from a series of - examples. We recommend that you save your time for something else. - - Of course, if you can find a simpler example to report _instead_ - of the original one, that is a convenience for us. Errors in the - output will be easier to spot, running under the debugger will take - less time, and so on. - - However, simplification is not vital; if you do not want to do - this, report the bug anyway and send us the entire test case you - used. - - * A patch for the bug. - - A patch for the bug does help us if it is a good one. But do not - omit the necessary information, such as the test case, on the - assumption that a patch is all we need. We might see problems - with your patch and decide to fix the problem another way, or we - might not understand it at all. - - Sometimes with programs as complicated as the binary utilities it - is very hard to construct an example that will make the program - follow a certain path through the code. If you do not send us the - example, we will not be able to construct one, so we will not be - able to verify that the bug is fixed. - - And if we cannot understand what bug you are trying to fix, or why - your patch should be an improvement, we will not install it. A - test case will help us to understand. - - * A guess about what the bug is or what it depends on. - - Such guesses are usually wrong. Even we cannot guess right about - such things without first using the debugger to find the facts. - - -File: binutils.info, Node: GNU Free Documentation License, Next: Binutils Index, Prev: Reporting Bugs, Up: Top - -Appendix A GNU Free Documentation License -***************************************** - - Version 1.3, 3 November 2008 - - Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. - `http://fsf.org/' - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - 0. PREAMBLE - - The purpose of this License is to make a manual, textbook, or other - functional and useful document "free" in the sense of freedom: to - assure everyone the effective freedom to copy and redistribute it, - with or without modifying it, either commercially or - noncommercially. Secondarily, this License preserves for the - author and publisher a way to get credit for their work, while not - being considered responsible for modifications made by others. - - This License is a kind of "copyleft", which means that derivative - works of the document must themselves be free in the same sense. - It complements the GNU General Public License, which is a copyleft - license designed for free software. - - We have designed this License in order to use it for manuals for - free software, because free software needs free documentation: a - free program should come with manuals providing the same freedoms - that the software does. But this License is not limited to - software manuals; it can be used for any textual work, regardless - of subject matter or whether it is published as a printed book. - We recommend this License principally for works whose purpose is - instruction or reference. - - 1. APPLICABILITY AND DEFINITIONS - - This License applies to any manual or other work, in any medium, - that contains a notice placed by the copyright holder saying it - can be distributed under the terms of this License. Such a notice - grants a world-wide, royalty-free license, unlimited in duration, - to use that work under the conditions stated herein. The - "Document", below, refers to any such manual or work. Any member - of the public is a licensee, and is addressed as "you". You - accept the license if you copy, modify or distribute the work in a - way requiring permission under copyright law. - - A "Modified Version" of the Document means any work containing the - Document or a portion of it, either copied verbatim, or with - modifications and/or translated into another language. - - A "Secondary Section" is a named appendix or a front-matter section - of the Document that deals exclusively with the relationship of the - publishers or authors of the Document to the Document's overall - subject (or to related matters) and contains nothing that could - fall directly within that overall subject. (Thus, if the Document - is in part a textbook of mathematics, a Secondary Section may not - explain any mathematics.) The relationship could be a matter of - historical connection with the subject or with related matters, or - of legal, commercial, philosophical, ethical or political position - regarding them. - - The "Invariant Sections" are certain Secondary Sections whose - titles are designated, as being those of Invariant Sections, in - the notice that says that the Document is released under this - License. If a section does not fit the above definition of - Secondary then it is not allowed to be designated as Invariant. - The Document may contain zero Invariant Sections. If the Document - does not identify any Invariant Sections then there are none. - - The "Cover Texts" are certain short passages of text that are - listed, as Front-Cover Texts or Back-Cover Texts, in the notice - that says that the Document is released under this License. A - Front-Cover Text may be at most 5 words, and a Back-Cover Text may - be at most 25 words. - - A "Transparent" copy of the Document means a machine-readable copy, - represented in a format whose specification is available to the - general public, that is suitable for revising the document - straightforwardly with generic text editors or (for images - composed of pixels) generic paint programs or (for drawings) some - widely available drawing editor, and that is suitable for input to - text formatters or for automatic translation to a variety of - formats suitable for input to text formatters. A copy made in an - otherwise Transparent file format whose markup, or absence of - markup, has been arranged to thwart or discourage subsequent - modification by readers is not Transparent. An image format is - not Transparent if used for any substantial amount of text. A - copy that is not "Transparent" is called "Opaque". - - Examples of suitable formats for Transparent copies include plain - ASCII without markup, Texinfo input format, LaTeX input format, - SGML or XML using a publicly available DTD, and - standard-conforming simple HTML, PostScript or PDF designed for - human modification. Examples of transparent image formats include - PNG, XCF and JPG. Opaque formats include proprietary formats that - can be read and edited only by proprietary word processors, SGML or - XML for which the DTD and/or processing tools are not generally - available, and the machine-generated HTML, PostScript or PDF - produced by some word processors for output purposes only. - - The "Title Page" means, for a printed book, the title page itself, - plus such following pages as are needed to hold, legibly, the - material this License requires to appear in the title page. For - works in formats which do not have any title page as such, "Title - Page" means the text near the most prominent appearance of the - work's title, preceding the beginning of the body of the text. - - The "publisher" means any person or entity that distributes copies - of the Document to the public. - - A section "Entitled XYZ" means a named subunit of the Document - whose title either is precisely XYZ or contains XYZ in parentheses - following text that translates XYZ in another language. (Here XYZ - stands for a specific section name mentioned below, such as - "Acknowledgements", "Dedications", "Endorsements", or "History".) - To "Preserve the Title" of such a section when you modify the - Document means that it remains a section "Entitled XYZ" according - to this definition. - - The Document may include Warranty Disclaimers next to the notice - which states that this License applies to the Document. These - Warranty Disclaimers are considered to be included by reference in - this License, but only as regards disclaiming warranties: any other - implication that these Warranty Disclaimers may have is void and - has no effect on the meaning of this License. - - 2. VERBATIM COPYING - - You may copy and distribute the Document in any medium, either - commercially or noncommercially, provided that this License, the - copyright notices, and the license notice saying this License - applies to the Document are reproduced in all copies, and that you - add no other conditions whatsoever to those of this License. You - may not use technical measures to obstruct or control the reading - or further copying of the copies you make or distribute. However, - you may accept compensation in exchange for copies. If you - distribute a large enough number of copies you must also follow - the conditions in section 3. - - You may also lend copies, under the same conditions stated above, - and you may publicly display copies. - - 3. COPYING IN QUANTITY - - If you publish printed copies (or copies in media that commonly - have printed covers) of the Document, numbering more than 100, and - the Document's license notice requires Cover Texts, you must - enclose the copies in covers that carry, clearly and legibly, all - these Cover Texts: Front-Cover Texts on the front cover, and - Back-Cover Texts on the back cover. Both covers must also clearly - and legibly identify you as the publisher of these copies. The - front cover must present the full title with all words of the - title equally prominent and visible. You may add other material - on the covers in addition. Copying with changes limited to the - covers, as long as they preserve the title of the Document and - satisfy these conditions, can be treated as verbatim copying in - other respects. - - If the required texts for either cover are too voluminous to fit - legibly, you should put the first ones listed (as many as fit - reasonably) on the actual cover, and continue the rest onto - adjacent pages. - - If you publish or distribute Opaque copies of the Document - numbering more than 100, you must either include a - machine-readable Transparent copy along with each Opaque copy, or - state in or with each Opaque copy a computer-network location from - which the general network-using public has access to download - using public-standard network protocols a complete Transparent - copy of the Document, free of added material. If you use the - latter option, you must take reasonably prudent steps, when you - begin distribution of Opaque copies in quantity, to ensure that - this Transparent copy will remain thus accessible at the stated - location until at least one year after the last time you - distribute an Opaque copy (directly or through your agents or - retailers) of that edition to the public. - - It is requested, but not required, that you contact the authors of - the Document well before redistributing any large number of - copies, to give them a chance to provide you with an updated - version of the Document. - - 4. MODIFICATIONS - - You may copy and distribute a Modified Version of the Document - under the conditions of sections 2 and 3 above, provided that you - release the Modified Version under precisely this License, with - the Modified Version filling the role of the Document, thus - licensing distribution and modification of the Modified Version to - whoever possesses a copy of it. In addition, you must do these - things in the Modified Version: - - A. Use in the Title Page (and on the covers, if any) a title - distinct from that of the Document, and from those of - previous versions (which should, if there were any, be listed - in the History section of the Document). You may use the - same title as a previous version if the original publisher of - that version gives permission. - - B. List on the Title Page, as authors, one or more persons or - entities responsible for authorship of the modifications in - the Modified Version, together with at least five of the - principal authors of the Document (all of its principal - authors, if it has fewer than five), unless they release you - from this requirement. - - C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. - - D. Preserve all the copyright notices of the Document. - - E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - - F. Include, immediately after the copyright notices, a license - notice giving the public permission to use the Modified - Version under the terms of this License, in the form shown in - the Addendum below. - - G. Preserve in that license notice the full lists of Invariant - Sections and required Cover Texts given in the Document's - license notice. - - H. Include an unaltered copy of this License. - - I. Preserve the section Entitled "History", Preserve its Title, - and add to it an item stating at least the title, year, new - authors, and publisher of the Modified Version as given on - the Title Page. If there is no section Entitled "History" in - the Document, create one stating the title, year, authors, - and publisher of the Document as given on its Title Page, - then add an item describing the Modified Version as stated in - the previous sentence. - - J. Preserve the network location, if any, given in the Document - for public access to a Transparent copy of the Document, and - likewise the network locations given in the Document for - previous versions it was based on. These may be placed in - the "History" section. You may omit a network location for a - work that was published at least four years before the - Document itself, or if the original publisher of the version - it refers to gives permission. - - K. For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the - section all the substance and tone of each of the contributor - acknowledgements and/or dedications given therein. - - L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section - titles. - - M. Delete any section Entitled "Endorsements". Such a section - may not be included in the Modified Version. - - N. Do not retitle any existing section to be Entitled - "Endorsements" or to conflict in title with any Invariant - Section. - - O. Preserve any Warranty Disclaimers. - - If the Modified Version includes new front-matter sections or - appendices that qualify as Secondary Sections and contain no - material copied from the Document, you may at your option - designate some or all of these sections as invariant. To do this, - add their titles to the list of Invariant Sections in the Modified - Version's license notice. These titles must be distinct from any - other section titles. - - You may add a section Entitled "Endorsements", provided it contains - nothing but endorsements of your Modified Version by various - parties--for example, statements of peer review or that the text - has been approved by an organization as the authoritative - definition of a standard. - - You may add a passage of up to five words as a Front-Cover Text, - and a passage of up to 25 words as a Back-Cover Text, to the end - of the list of Cover Texts in the Modified Version. Only one - passage of Front-Cover Text and one of Back-Cover Text may be - added by (or through arrangements made by) any one entity. If the - Document already includes a cover text for the same cover, - previously added by you or by arrangement made by the same entity - you are acting on behalf of, you may not add another; but you may - replace the old one, on explicit permission from the previous - publisher that added the old one. - - The author(s) and publisher(s) of the Document do not by this - License give permission to use their names for publicity for or to - assert or imply endorsement of any Modified Version. - - 5. COMBINING DOCUMENTS - - You may combine the Document with other documents released under - this License, under the terms defined in section 4 above for - modified versions, provided that you include in the combination - all of the Invariant Sections of all of the original documents, - unmodified, and list them all as Invariant Sections of your - combined work in its license notice, and that you preserve all - their Warranty Disclaimers. - - The combined work need only contain one copy of this License, and - multiple identical Invariant Sections may be replaced with a single - copy. If there are multiple Invariant Sections with the same name - but different contents, make the title of each such section unique - by adding at the end of it, in parentheses, the name of the - original author or publisher of that section if known, or else a - unique number. Make the same adjustment to the section titles in - the list of Invariant Sections in the license notice of the - combined work. - - In the combination, you must combine any sections Entitled - "History" in the various original documents, forming one section - Entitled "History"; likewise combine any sections Entitled - "Acknowledgements", and any sections Entitled "Dedications". You - must delete all sections Entitled "Endorsements." - - 6. COLLECTIONS OF DOCUMENTS - - You may make a collection consisting of the Document and other - documents released under this License, and replace the individual - copies of this License in the various documents with a single copy - that is included in the collection, provided that you follow the - rules of this License for verbatim copying of each of the - documents in all other respects. - - You may extract a single document from such a collection, and - distribute it individually under this License, provided you insert - a copy of this License into the extracted document, and follow - this License in all other respects regarding verbatim copying of - that document. - - 7. AGGREGATION WITH INDEPENDENT WORKS - - A compilation of the Document or its derivatives with other - separate and independent documents or works, in or on a volume of - a storage or distribution medium, is called an "aggregate" if the - copyright resulting from the compilation is not used to limit the - legal rights of the compilation's users beyond what the individual - works permit. When the Document is included in an aggregate, this - License does not apply to the other works in the aggregate which - are not themselves derivative works of the Document. - - If the Cover Text requirement of section 3 is applicable to these - copies of the Document, then if the Document is less than one half - of the entire aggregate, the Document's Cover Texts may be placed - on covers that bracket the Document within the aggregate, or the - electronic equivalent of covers if the Document is in electronic - form. Otherwise they must appear on printed covers that bracket - the whole aggregate. - - 8. TRANSLATION - - Translation is considered a kind of modification, so you may - distribute translations of the Document under the terms of section - 4. Replacing Invariant Sections with translations requires special - permission from their copyright holders, but you may include - translations of some or all Invariant Sections in addition to the - original versions of these Invariant Sections. You may include a - translation of this License, and all the license notices in the - Document, and any Warranty Disclaimers, provided that you also - include the original English version of this License and the - original versions of those notices and disclaimers. In case of a - disagreement between the translation and the original version of - this License or a notice or disclaimer, the original version will - prevail. - - If a section in the Document is Entitled "Acknowledgements", - "Dedications", or "History", the requirement (section 4) to - Preserve its Title (section 1) will typically require changing the - actual title. - - 9. TERMINATION - - You may not copy, modify, sublicense, or distribute the Document - except as expressly provided under this License. Any attempt - otherwise to copy, modify, sublicense, or distribute it is void, - and will automatically terminate your rights under this License. - - However, if you cease all violation of this License, then your - license from a particular copyright holder is reinstated (a) - provisionally, unless and until the copyright holder explicitly - and finally terminates your license, and (b) permanently, if the - copyright holder fails to notify you of the violation by some - reasonable means prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is - reinstated permanently if the copyright holder notifies you of the - violation by some reasonable means, this is the first time you have - received notice of violation of this License (for any work) from - that copyright holder, and you cure the violation prior to 30 days - after your receipt of the notice. - - Termination of your rights under this section does not terminate - the licenses of parties who have received copies or rights from - you under this License. If your rights have been terminated and - not permanently reinstated, receipt of a copy of some or all of - the same material does not give you any rights to use it. - - 10. FUTURE REVISIONS OF THIS LICENSE - - The Free Software Foundation may publish new, revised versions of - the GNU Free Documentation License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. See - `http://www.gnu.org/copyleft/'. - - Each version of the License is given a distinguishing version - number. If the Document specifies that a particular numbered - version of this License "or any later version" applies to it, you - have the option of following the terms and conditions either of - that specified version or of any later version that has been - published (not as a draft) by the Free Software Foundation. If - the Document does not specify a version number of this License, - you may choose any version ever published (not as a draft) by the - Free Software Foundation. If the Document specifies that a proxy - can decide which future versions of this License can be used, that - proxy's public statement of acceptance of a version permanently - authorizes you to choose that version for the Document. - - 11. RELICENSING - - "Massive Multiauthor Collaboration Site" (or "MMC Site") means any - World Wide Web server that publishes copyrightable works and also - provides prominent facilities for anybody to edit those works. A - public wiki that anybody can edit is an example of such a server. - A "Massive Multiauthor Collaboration" (or "MMC") contained in the - site means any set of copyrightable works thus published on the MMC - site. - - "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 - license published by Creative Commons Corporation, a not-for-profit - corporation with a principal place of business in San Francisco, - California, as well as future copyleft versions of that license - published by that same organization. - - "Incorporate" means to publish or republish a Document, in whole or - in part, as part of another Document. - - An MMC is "eligible for relicensing" if it is licensed under this - License, and if all works that were first published under this - License somewhere other than this MMC, and subsequently - incorporated in whole or in part into the MMC, (1) had no cover - texts or invariant sections, and (2) were thus incorporated prior - to November 1, 2008. - - The operator of an MMC Site may republish an MMC contained in the - site under CC-BY-SA on the same site at any time before August 1, - 2009, provided the MMC is eligible for relicensing. - - -ADDENDUM: How to use this License for your documents -==================================================== - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and license -notices just after the title page: - - Copyright (C) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. - - If you have Invariant Sections, Front-Cover Texts and Back-Cover -Texts, replace the "with...Texts." line with this: - - with the Invariant Sections being LIST THEIR TITLES, with - the Front-Cover Texts being LIST, and with the Back-Cover Texts - being LIST. - - If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - - If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, to -permit their use in free software. - - -File: binutils.info, Node: Binutils Index, Prev: GNU Free Documentation License, Up: Top - -Binutils Index -************** - - -* Menu: - -* --enable-deterministic-archives <1>: objcopy. (line 302) -* --enable-deterministic-archives <2>: ranlib. (line 44) -* --enable-deterministic-archives <3>: ar cmdline. (line 151) -* --enable-deterministic-archives <4>: strip. (line 115) -* --enable-deterministic-archives <5>: ar cmdline. (line 224) -* --enable-deterministic-archives: objcopy. (line 292) -* .stab: objdump. (line 413) -* Add prefix to absolute paths: objdump. (line 356) -* addr2line: addr2line. (line 6) -* address to file name and line number: addr2line. (line 6) -* all header information, object file: objdump. (line 531) -* ar: ar. (line 6) -* ar compatibility: ar. (line 60) -* architecture: objdump. (line 197) -* architectures available: objdump. (line 182) -* archive contents: ranlib. (line 6) -* Archive file symbol index information: readelf. (line 155) -* archive headers: objdump. (line 67) -* archives: ar. (line 6) -* base files: dlltool. (line 124) -* bug criteria: Bug Criteria. (line 6) -* bug reports: Bug Reporting. (line 6) -* bugs: Reporting Bugs. (line 6) -* bugs, reporting: Bug Reporting. (line 6) -* c++filt: c++filt. (line 6) -* changing object addresses: objcopy. (line 337) -* changing section address: objcopy. (line 347) -* changing section LMA: objcopy. (line 356) -* changing section VMA: objcopy. (line 369) -* changing start address: objcopy. (line 332) -* collections of files: ar. (line 6) -* compatibility, ar: ar. (line 60) -* contents of archive: ar cmdline. (line 97) -* crash: Bug Criteria. (line 9) -* creating archives: ar cmdline. (line 145) -* creating thin archive: ar cmdline. (line 210) -* cxxfilt: c++filt. (line 14) -* dates in archive: ar cmdline. (line 184) -* debug symbols: objdump. (line 413) -* debugging symbols: nm. (line 147) -* deleting from archive: ar cmdline. (line 26) -* demangling C++ symbols: c++filt. (line 6) -* demangling in nm: nm. (line 155) -* demangling in objdump <1>: objdump. (line 95) -* demangling in objdump: addr2line. (line 78) -* deterministic archives <1>: ranlib. (line 32) -* deterministic archives <2>: objcopy. (line 292) -* deterministic archives <3>: ar cmdline. (line 224) -* deterministic archives <4>: strip. (line 105) -* deterministic archives <5>: ar cmdline. (line 151) -* deterministic archives <6>: ranlib. (line 44) -* deterministic archives: objcopy. (line 302) -* disassembling object code: objdump. (line 117) -* disassembly architecture: objdump. (line 197) -* disassembly endianness: objdump. (line 137) -* disassembly, with source: objdump. (line 352) -* discarding symbols: strip. (line 6) -* DLL: dlltool. (line 6) -* dlltool: dlltool. (line 6) -* DWARF: objdump. (line 378) -* dynamic relocation entries, in object file: objdump. (line 340) -* dynamic symbol table entries, printing: objdump. (line 515) -* dynamic symbols: nm. (line 167) -* ELF dynamic section information: readelf. (line 113) -* ELF dynamic symbol table information: readelf. (line 88) -* ELF file header information: readelf. (line 57) -* ELF file information: readelf. (line 6) -* ELF notes: readelf. (line 97) -* ELF object file format: objdump. (line 413) -* ELF program header information: readelf. (line 63) -* ELF reloc information: readelf. (line 101) -* ELF section group information: readelf. (line 74) -* ELF section information: readelf. (line 79) -* ELF segment information: readelf. (line 63) -* ELF symbol table information: readelf. (line 84) -* ELF version sections information: readelf. (line 117) -* elfedit: elfedit. (line 6) -* endianness: objdump. (line 137) -* error on valid input: Bug Criteria. (line 12) -* external symbols: nm. (line 179) -* extract from archive: ar cmdline. (line 112) -* fatal signal: Bug Criteria. (line 9) -* file name: nm. (line 141) -* header information, all: objdump. (line 531) -* input .def file: dlltool. (line 120) -* input file name: nm. (line 141) -* Instruction width: objdump. (line 373) -* libraries: ar. (line 25) -* listings strings: strings. (line 6) -* load plugin: nm. (line 252) -* machine instructions: objdump. (line 117) -* moving in archive: ar cmdline. (line 34) -* MRI compatibility, ar: ar scripts. (line 8) -* name duplication in archive: ar cmdline. (line 106) -* name length: ar. (line 18) -* nm: nm. (line 6) -* nm compatibility: nm. (line 173) -* nm format: nm. (line 173) -* not writing archive index: ar cmdline. (line 203) -* objdump: objdump. (line 6) -* object code format <1>: strings. (line 67) -* object code format <2>: nm. (line 278) -* object code format <3>: addr2line. (line 73) -* object code format <4>: objdump. (line 81) -* object code format: size. (line 84) -* object file header: objdump. (line 143) -* object file information: objdump. (line 6) -* object file offsets: objdump. (line 148) -* object file sections: objdump. (line 347) -* object formats available: objdump. (line 182) -* operations on archive: ar cmdline. (line 22) -* printing from archive: ar cmdline. (line 46) -* printing strings: strings. (line 6) -* quick append to archive: ar cmdline. (line 54) -* radix for section sizes: size. (line 66) -* ranlib <1>: ranlib. (line 6) -* ranlib: ar cmdline. (line 91) -* readelf: readelf. (line 6) -* relative placement in archive: ar cmdline. (line 133) -* relocation entries, in object file: objdump. (line 334) -* removing symbols: strip. (line 6) -* repeated names in archive: ar cmdline. (line 106) -* replacement in archive: ar cmdline. (line 73) -* reporting bugs: Reporting Bugs. (line 6) -* scripts, ar: ar scripts. (line 8) -* section addresses in objdump: objdump. (line 73) -* section headers: objdump. (line 164) -* section information: objdump. (line 187) -* section sizes: size. (line 6) -* sections, full contents: objdump. (line 347) -* size: size. (line 6) -* size display format: size. (line 27) -* size number format: size. (line 66) -* sorting symbols: nm. (line 202) -* source code context: objdump. (line 157) -* source disassembly: objdump. (line 352) -* source file name: nm. (line 141) -* source filenames for object files: objdump. (line 191) -* stab: objdump. (line 413) -* start-address: objdump. (line 422) -* stop-address: objdump. (line 426) -* strings: strings. (line 6) -* strings, printing: strings. (line 6) -* strip: strip. (line 6) -* Strip absolute paths: objdump. (line 359) -* symbol index <1>: ar. (line 28) -* symbol index: ranlib. (line 6) -* symbol index, listing: nm. (line 224) -* symbol line numbers: nm. (line 187) -* symbol table entries, printing: objdump. (line 431) -* symbols: nm. (line 6) -* symbols, discarding: strip. (line 6) -* thin archives: ar. (line 40) -* undefined symbols: nm. (line 235) -* Unix compatibility, ar: ar cmdline. (line 8) -* unwind information: readelf. (line 106) -* Update ELF header: elfedit. (line 6) -* updating an archive: ar cmdline. (line 215) -* version: Top. (line 6) -* VMA in objdump: objdump. (line 73) -* wide output, printing: objdump. (line 537) -* writing archive index: ar cmdline. (line 197) - - - -Tag Table: -Node: Top1896 -Node: ar3609 -Node: ar cmdline6747 -Node: ar scripts17089 -Node: nm22777 -Node: objcopy32671 -Node: objdump64440 -Node: ranlib86571 -Node: size88176 -Node: strings91180 -Node: strip93638 -Node: c++filt100870 -Ref: c++filt-Footnote-1105711 -Node: addr2line105817 -Node: nlmconv110154 -Node: windmc112759 -Node: windres116408 -Node: dlltool122769 -Node: def file format135649 -Node: readelf138188 -Node: elfedit145743 -Node: Common Options147997 -Node: Selecting the Target System149037 -Node: Target Selection149969 -Node: Architecture Selection151951 -Node: Reporting Bugs152779 -Node: Bug Criteria153558 -Node: Bug Reporting154111 -Node: GNU Free Documentation License160981 -Node: Binutils Index186160 - -End Tag Table diff --git a/binutils-2.24/binutils/doc/binutils.texi b/binutils-2.24/binutils/doc/binutils.texi deleted file mode 100644 index f69b9fd5..00000000 --- a/binutils-2.24/binutils/doc/binutils.texi +++ /dev/null @@ -1,4894 +0,0 @@ -\input texinfo @c -*- Texinfo -*- -@setfilename binutils.info -@settitle @sc{gnu} Binary Utilities -@finalout -@synindex ky cp - -@c man begin INCLUDE -@include bfdver.texi -@c man end - -@copying -@c man begin COPYRIGHT -Copyright @copyright{} 1991-2013 Free Software Foundation, Inc. - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled ``GNU Free Documentation License''. - -@c man end -@end copying - -@dircategory Software development -@direntry -* Binutils: (binutils). The GNU binary utilities. -@end direntry - -@dircategory Individual utilities -@direntry -* addr2line: (binutils)addr2line. Convert addresses to file and line. -* ar: (binutils)ar. Create, modify, and extract from archives. -* c++filt: (binutils)c++filt. Filter to demangle encoded C++ symbols. -* cxxfilt: (binutils)c++filt. MS-DOS name for c++filt. -* dlltool: (binutils)dlltool. Create files needed to build and use DLLs. -* nlmconv: (binutils)nlmconv. Converts object code into an NLM. -* nm: (binutils)nm. List symbols from object files. -* objcopy: (binutils)objcopy. Copy and translate object files. -* objdump: (binutils)objdump. Display information from object files. -* ranlib: (binutils)ranlib. Generate index to archive contents. -* readelf: (binutils)readelf. Display the contents of ELF format files. -* size: (binutils)size. List section sizes and total size. -* strings: (binutils)strings. List printable strings from files. -* strip: (binutils)strip. Discard symbols. -* elfedit: (binutils)elfedit. Update the ELF header of ELF files. -* windmc: (binutils)windmc. Generator for Windows message resources. -* windres: (binutils)windres. Manipulate Windows resources. -@end direntry - -@titlepage -@title The @sc{gnu} Binary Utilities -@ifset VERSION_PACKAGE -@subtitle @value{VERSION_PACKAGE} -@end ifset -@subtitle Version @value{VERSION} -@sp 1 -@subtitle @value{UPDATED} -@author Roland H. Pesch -@author Jeffrey M. Osier -@author Cygnus Support -@page - -@tex -{\parskip=0pt \hfill Cygnus Support\par \hfill -Texinfo \texinfoversion\par } -@end tex - -@vskip 0pt plus 1filll -@insertcopying -@end titlepage -@contents - -@node Top -@top Introduction - -@cindex version -This brief manual contains documentation for the @sc{gnu} binary -utilities -@ifset VERSION_PACKAGE -@value{VERSION_PACKAGE} -@end ifset -version @value{VERSION}: - -@iftex -@table @code -@item ar -Create, modify, and extract from archives - -@item nm -List symbols from object files - -@item objcopy -Copy and translate object files - -@item objdump -Display information from object files - -@item ranlib -Generate index to archive contents - -@item readelf -Display the contents of ELF format files. - -@item size -List file section sizes and total size - -@item strings -List printable strings from files - -@item strip -Discard symbols - -@item elfedit -Update the ELF header of ELF files. - -@item c++filt -Demangle encoded C++ symbols (on MS-DOS, this program is named -@code{cxxfilt}) - -@item addr2line -Convert addresses into file names and line numbers - -@item nlmconv -Convert object code into a Netware Loadable Module - -@item windres -Manipulate Windows resources - -@item windmc -Generator for Windows message resources - -@item dlltool -Create the files needed to build and use Dynamic Link Libraries -@end table -@end iftex - -This document is distributed under the terms of the GNU Free -Documentation License version 1.3. A copy of the license is included -in the section entitled ``GNU Free Documentation License''. - -@menu -* ar:: Create, modify, and extract from archives -* nm:: List symbols from object files -* objcopy:: Copy and translate object files -* objdump:: Display information from object files -* ranlib:: Generate index to archive contents -* size:: List section sizes and total size -* strings:: List printable strings from files -* strip:: Discard symbols -* c++filt:: Filter to demangle encoded C++ symbols -* cxxfilt: c++filt. MS-DOS name for c++filt -* addr2line:: Convert addresses to file and line -* nlmconv:: Converts object code into an NLM -* windmc:: Generator for Windows message resources -* windres:: Manipulate Windows resources -* dlltool:: Create files needed to build and use DLLs -* readelf:: Display the contents of ELF format files -* elfedit:: Update the ELF header of ELF files -* Common Options:: Command-line options for all utilities -* Selecting the Target System:: How these utilities determine the target -* Reporting Bugs:: Reporting Bugs -* GNU Free Documentation License:: GNU Free Documentation License -* Binutils Index:: Binutils Index -@end menu - -@node ar -@chapter ar - -@kindex ar -@cindex archives -@cindex collections of files - -@c man title ar create, modify, and extract from archives - -@smallexample -ar [@option{--plugin} @var{name}] [-]@var{p}[@var{mod} [@var{relpos}] [@var{count}]] [@option{--target} @var{bfdname}] @var{archive} [@var{member}@dots{}] -ar -M [ <mri-script ] -@end smallexample - -@c man begin DESCRIPTION ar - -The @sc{gnu} @command{ar} program creates, modifies, and extracts from -archives. An @dfn{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 @dfn{members} of the archive). - -The original files' contents, mode (permissions), timestamp, owner, and -group are preserved in the archive, and can be restored on -extraction. - -@cindex name length -@sc{gnu} @command{ar} can maintain archives whose members have names of any -length; however, depending on how @command{ar} is configured on your -system, a limit on member-name length may be imposed for compatibility -with archive formats maintained with other tools. If it exists, the -limit is often 15 characters (typical of formats related to a.out) or 16 -characters (typical of formats related to coff). - -@cindex libraries -@command{ar} is considered a binary utility because archives of this sort -are most often used as @dfn{libraries} holding commonly needed -subroutines. - -@cindex symbol index -@command{ar} creates an index to the symbols defined in relocatable -object modules in the archive when you specify the modifier @samp{s}. -Once created, this index is updated in the archive whenever @command{ar} -makes a change to its contents (save for the @samp{q} update operation). -An archive with such an index speeds up linking to the library, and -allows routines in the library to call each other without regard to -their placement in the archive. - -You may use @samp{nm -s} or @samp{nm --print-armap} to list this index -table. If an archive lacks the table, another form of @command{ar} called -@command{ranlib} can be used to add just the table. - -@cindex thin archives -@sc{gnu} @command{ar} can optionally create a @emph{thin} archive, -which contains a symbol index and references to the original copies -of the member files of the archive. This is useful for building -libraries for use within a local build tree, where the relocatable -objects are expected to remain available, and copying the contents of -each object would only waste time and space. - -An archive can either be @emph{thin} or it can be normal. It cannot -be both at the same time. Once an archive is created its format -cannot be changed without first deleting it and then creating a new -archive in its place. - -Thin archives are also @emph{flattened}, so that adding one thin -archive to another thin archive does not nest it, as would happen with -a normal archive. Instead the elements of the first archive are added -individually to the second archive. - -The paths to the elements of the archive are stored relative to the -archive itself. - -@cindex compatibility, @command{ar} -@cindex @command{ar} compatibility -@sc{gnu} @command{ar} is designed to be compatible with two different -facilities. You can control its activity using command-line options, -like the different varieties of @command{ar} on Unix systems; or, if you -specify the single command-line option @option{-M}, you can control it -with a script supplied via standard input, like the MRI ``librarian'' -program. - -@c man end - -@menu -* ar cmdline:: Controlling @command{ar} on the command line -* ar scripts:: Controlling @command{ar} with a script -@end menu - -@page -@node ar cmdline -@section Controlling @command{ar} on the Command Line - -@smallexample -@c man begin SYNOPSIS ar -ar [@option{--plugin} @var{name}] [@option{-X32_64}] [@option{-}]@var{p}[@var{mod} [@var{relpos}] [@var{count}]] [@option{--target} @var{bfdname}] @var{archive} [@var{member}@dots{}] -@c man end -@end smallexample - -@cindex Unix compatibility, @command{ar} -When you use @command{ar} in the Unix style, @command{ar} insists on at least two -arguments to execute: one keyletter specifying the @emph{operation} -(optionally accompanied by other keyletters specifying -@emph{modifiers}), and the archive name to act on. - -Most operations can also accept further @var{member} arguments, -specifying particular files to operate on. - -@c man begin OPTIONS ar - -@sc{gnu} @command{ar} allows you to mix the operation code @var{p} and modifier -flags @var{mod} in any order, within the first command-line argument. - -If you wish, you may begin the first command-line argument with a -dash. - -@cindex operations on archive -The @var{p} keyletter specifies what operation to execute; it may be -any of the following, but you must specify only one of them: - -@table @samp -@item d -@cindex deleting from archive -@emph{Delete} modules from the archive. Specify the names of modules to -be deleted as @var{member}@dots{}; the archive is untouched if you -specify no files to delete. - -If you specify the @samp{v} modifier, @command{ar} lists each module -as it is deleted. - -@item m -@cindex moving in archive -Use this operation to @emph{move} members in an archive. - -The ordering of members in an archive can make a difference in how -programs are linked using the library, if a symbol is defined in more -than one member. - -If no modifiers are used with @code{m}, any members you name in the -@var{member} arguments are moved to the @emph{end} of the archive; -you can use the @samp{a}, @samp{b}, or @samp{i} modifiers to move them to a -specified place instead. - -@item p -@cindex printing from archive -@emph{Print} the specified members of the archive, to the standard -output file. If the @samp{v} modifier is specified, show the member -name before copying its contents to standard output. - -If you specify no @var{member} arguments, all the files in the archive are -printed. - -@item q -@cindex quick append to archive -@emph{Quick append}; Historically, add the files @var{member}@dots{} to the end of -@var{archive}, without checking for replacement. - -The modifiers @samp{a}, @samp{b}, and @samp{i} do @emph{not} affect this -operation; new members are always placed at the end of the archive. - -The modifier @samp{v} makes @command{ar} list each file as it is appended. - -Since the point of this operation is speed, implementations of -@command{ar} have the option of not updating the archive's symbol -table if one exists. Too many different systems however assume that -symbol tables are always up-to-date, so @sc{gnu} @command{ar} will -rebuild the table even with a quick append. - -Note - @sc{gnu} @command{ar} treats the command @samp{qs} as a -synonym for @samp{r} - replacing already existing files in the -archive and appending new ones at the end. - -@item r -@cindex replacement in archive -Insert the files @var{member}@dots{} into @var{archive} (with -@emph{replacement}). This operation differs from @samp{q} in that any -previously existing members are deleted if their names match those being -added. - -If one of the files named in @var{member}@dots{} does not exist, @command{ar} -displays an error message, and leaves undisturbed any existing members -of the archive matching that name. - -By default, new members are added at the end of the file; but you may -use one of the modifiers @samp{a}, @samp{b}, or @samp{i} to request -placement relative to some existing member. - -The modifier @samp{v} used with this operation elicits a line of -output for each file inserted, along with one of the letters @samp{a} or -@samp{r} to indicate whether the file was appended (no old member -deleted) or replaced. - -@item s -@cindex ranlib -Add an index to the archive, or update it if it already exists. Note -this command is an exception to the rule that there can only be one -command letter, as it is possible to use it as either a command or a -modifier. In either case it does the same thing. - -@item t -@cindex contents of archive -Display a @emph{table} listing the contents of @var{archive}, or those -of the files listed in @var{member}@dots{} that are present in the -archive. Normally only the member name is shown; if you also want to -see the modes (permissions), timestamp, owner, group, and size, you can -request that by also specifying the @samp{v} modifier. - -If you do not specify a @var{member}, all files in the archive -are listed. - -@cindex repeated names in archive -@cindex name duplication in archive -If there is more than one file with the same name (say, @samp{fie}) in -an archive (say @samp{b.a}), @samp{ar t b.a fie} lists only the -first instance; to see them all, you must ask for a complete -listing---in our example, @samp{ar t b.a}. -@c WRS only; per Gumby, this is implementation-dependent, and in a more -@c recent case in fact works the other way. - -@item x -@cindex extract from archive -@emph{Extract} members (named @var{member}) from the archive. You can -use the @samp{v} modifier with this operation, to request that -@command{ar} list each name as it extracts it. - -If you do not specify a @var{member}, all files in the archive -are extracted. - -Files cannot be extracted from a thin archive. - -@item --help -Displays the list of command line options supported by @command{ar} -and then exits. - -@item --version -Displays the version information of @command{ar} and then exits. - -@end table - -A number of modifiers (@var{mod}) may immediately follow the @var{p} -keyletter, to specify variations on an operation's behavior: - -@table @samp -@item a -@cindex relative placement in archive -Add new files @emph{after} an existing member of the -archive. If you use the modifier @samp{a}, the name of an existing archive -member must be present as the @var{relpos} argument, before the -@var{archive} specification. - -@item b -Add new files @emph{before} an existing member of the -archive. If you use the modifier @samp{b}, the name of an existing archive -member must be present as the @var{relpos} argument, before the -@var{archive} specification. (same as @samp{i}). - -@item c -@cindex creating archives -@emph{Create} the archive. The specified @var{archive} is always -created if it did not exist, when you request an update. But a warning is -issued unless you specify in advance that you expect to create it, by -using this modifier. - -@item D -@cindex deterministic archives -@kindex --enable-deterministic-archives -Operate in @emph{deterministic} mode. When adding files and the archive -index use zero for UIDs, GIDs, timestamps, and use consistent file modes -for all files. When this option is used, if @command{ar} is used with -identical options and identical input files, multiple runs will create -identical output files regardless of the input files' owners, groups, -file modes, or modification times. - -If @file{binutils} was configured with -@option{--enable-deterministic-archives}, then this mode is on by default. -It can be disabled with the @samp{U} modifier, below. - -@item f -Truncate names in the archive. @sc{gnu} @command{ar} will normally permit file -names of any length. This will cause it to create archives which are -not compatible with the native @command{ar} program on some systems. If -this is a concern, the @samp{f} modifier may be used to truncate file -names when putting them in the archive. - -@item i -Insert new files @emph{before} an existing member of the -archive. If you use the modifier @samp{i}, the name of an existing archive -member must be present as the @var{relpos} argument, before the -@var{archive} specification. (same as @samp{b}). - -@item l -This modifier is accepted but not used. -@c whaffor ar l modifier??? presumably compat; with -@c what???---doc@@cygnus.com, 25jan91 - -@item N -Uses the @var{count} parameter. This is used if there are multiple -entries in the archive with the same name. Extract or delete instance -@var{count} of the given name from the archive. - -@item o -@cindex dates in archive -Preserve the @emph{original} dates of members when extracting them. If -you do not specify this modifier, files extracted from the archive -are stamped with the time of extraction. - -@item P -Use the full path name when matching names in the archive. @sc{gnu} -@command{ar} can not create an archive with a full path name (such archives -are not POSIX complaint), but other archive creators can. This option -will cause @sc{gnu} @command{ar} to match file names using a complete path -name, which can be convenient when extracting a single file from an -archive created by another tool. - -@item s -@cindex writing archive index -Write an object-file index into the archive, or update an existing one, -even if no other change is made to the archive. You may use this modifier -flag either with any operation, or alone. Running @samp{ar s} on an -archive is equivalent to running @samp{ranlib} on it. - -@item S -@cindex not writing archive index -Do not generate an archive symbol table. This can speed up building a -large library in several steps. The resulting archive can not be used -with the linker. In order to build a symbol table, you must omit the -@samp{S} modifier on the last execution of @samp{ar}, or you must run -@samp{ranlib} on the archive. - -@item T -@cindex creating thin archive -Make the specified @var{archive} a @emph{thin} archive. If it already -exists and is a regular archive, the existing members must be present -in the same directory as @var{archive}. - -@item u -@cindex updating an archive -Normally, @samp{ar r}@dots{} inserts all files -listed into the archive. If you would like to insert @emph{only} those -of the files you list that are newer than existing members of the same -names, use this modifier. The @samp{u} modifier is allowed only for the -operation @samp{r} (replace). In particular, the combination @samp{qu} is -not allowed, since checking the timestamps would lose any speed -advantage from the operation @samp{q}. - -@item U -@cindex deterministic archives -@kindex --enable-deterministic-archives -Do @emph{not} operate in @emph{deterministic} mode. This is the inverse -of the @samp{D} modifier, above: added files and the archive index will -get their actual UID, GID, timestamp, and file mode values. - -This is the default unless @file{binutils} was configured with -@option{--enable-deterministic-archives}. - -@item v -This modifier requests the @emph{verbose} version of an operation. Many -operations display additional information, such as filenames processed, -when the modifier @samp{v} is appended. - -@item V -This modifier shows the version number of @command{ar}. -@end table - -@command{ar} ignores an initial option spelt @samp{-X32_64}, for -compatibility with AIX. The behaviour produced by this option is the -default for @sc{gnu} @command{ar}. @command{ar} does not support any of the other -@samp{-X} options; in particular, it does not support @option{-X32} -which is the default for AIX @command{ar}. - -The optional command line switch @option{--plugin} @var{name} causes -@command{ar} to load the plugin called @var{name} which adds support -for more file formats. This option is only available if the toolchain -has been built with plugin support enabled. - -The optional command line switch @option{--target} @var{bfdname} -specifies that the archive members are in an object code format -different from your system's default format. See -@xref{Target Selection}, for more information. - -@c man end - -@ignore -@c man begin SEEALSO ar -nm(1), ranlib(1), and the Info entries for @file{binutils}. -@c man end -@end ignore - -@node ar scripts -@section Controlling @command{ar} with a Script - -@smallexample -ar -M [ <@var{script} ] -@end smallexample - -@cindex MRI compatibility, @command{ar} -@cindex scripts, @command{ar} -If you use the single command-line option @samp{-M} with @command{ar}, you -can control its operation with a rudimentary command language. This -form of @command{ar} operates interactively if standard input is coming -directly from a terminal. During interactive use, @command{ar} prompts for -input (the prompt is @samp{AR >}), and continues executing even after -errors. If you redirect standard input to a script file, no prompts are -issued, and @command{ar} abandons execution (with a nonzero exit code) -on any error. - -The @command{ar} command language is @emph{not} designed to be equivalent -to the command-line options; in fact, it provides somewhat less control -over archives. The only purpose of the command language is to ease the -transition to @sc{gnu} @command{ar} for developers who already have scripts -written for the MRI ``librarian'' program. - -The syntax for the @command{ar} command language is straightforward: -@itemize @bullet -@item -commands are recognized in upper or lower case; for example, @code{LIST} -is the same as @code{list}. In the following descriptions, commands are -shown in upper case for clarity. - -@item -a single command may appear on each line; it is the first word on the -line. - -@item -empty lines are allowed, and have no effect. - -@item -comments are allowed; text after either of the characters @samp{*} -or @samp{;} is ignored. - -@item -Whenever you use a list of names as part of the argument to an @command{ar} -command, you can separate the individual names with either commas or -blanks. Commas are shown in the explanations below, for clarity. - -@item -@samp{+} is used as a line continuation character; if @samp{+} appears -at the end of a line, the text on the following line is considered part -of the current command. -@end itemize - -Here are the commands you can use in @command{ar} scripts, or when using -@command{ar} interactively. Three of them have special significance: - -@code{OPEN} or @code{CREATE} specify a @dfn{current archive}, which is -a temporary file required for most of the other commands. - -@code{SAVE} commits the changes so far specified by the script. Prior -to @code{SAVE}, commands affect only the temporary copy of the current -archive. - -@table @code -@item ADDLIB @var{archive} -@itemx ADDLIB @var{archive} (@var{module}, @var{module}, @dots{} @var{module}) -Add all the contents of @var{archive} (or, if specified, each named -@var{module} from @var{archive}) to the current archive. - -Requires prior use of @code{OPEN} or @code{CREATE}. - -@item ADDMOD @var{member}, @var{member}, @dots{} @var{member} -@c FIXME! w/Replacement?? If so, like "ar r @var{archive} @var{names}" -@c else like "ar q..." -Add each named @var{member} as a module in the current archive. - -Requires prior use of @code{OPEN} or @code{CREATE}. - -@item CLEAR -Discard the contents of the current archive, canceling the effect of -any operations since the last @code{SAVE}. May be executed (with no -effect) even if no current archive is specified. - -@item CREATE @var{archive} -Creates an archive, and makes it the current archive (required for many -other commands). The new archive is created with a temporary name; it -is not actually saved as @var{archive} until you use @code{SAVE}. -You can overwrite existing archives; similarly, the contents of any -existing file named @var{archive} will not be destroyed until @code{SAVE}. - -@item DELETE @var{module}, @var{module}, @dots{} @var{module} -Delete each listed @var{module} from the current archive; equivalent to -@samp{ar -d @var{archive} @var{module} @dots{} @var{module}}. - -Requires prior use of @code{OPEN} or @code{CREATE}. - -@item DIRECTORY @var{archive} (@var{module}, @dots{} @var{module}) -@itemx DIRECTORY @var{archive} (@var{module}, @dots{} @var{module}) @var{outputfile} -List each named @var{module} present in @var{archive}. The separate -command @code{VERBOSE} specifies the form of the output: when verbose -output is off, output is like that of @samp{ar -t @var{archive} -@var{module}@dots{}}. When verbose output is on, the listing is like -@samp{ar -tv @var{archive} @var{module}@dots{}}. - -Output normally goes to the standard output stream; however, if you -specify @var{outputfile} as a final argument, @command{ar} directs the -output to that file. - -@item END -Exit from @command{ar}, with a @code{0} exit code to indicate successful -completion. This command does not save the output file; if you have -changed the current archive since the last @code{SAVE} command, those -changes are lost. - -@item EXTRACT @var{module}, @var{module}, @dots{} @var{module} -Extract each named @var{module} from the current archive, writing them -into the current directory as separate files. Equivalent to @samp{ar -x -@var{archive} @var{module}@dots{}}. - -Requires prior use of @code{OPEN} or @code{CREATE}. - -@ignore -@c FIXME Tokens but no commands??? -@item FULLDIR - -@item HELP -@end ignore - -@item LIST -Display full contents of the current archive, in ``verbose'' style -regardless of the state of @code{VERBOSE}. The effect is like @samp{ar -tv @var{archive}}. (This single command is a @sc{gnu} @command{ar} -enhancement, rather than present for MRI compatibility.) - -Requires prior use of @code{OPEN} or @code{CREATE}. - -@item OPEN @var{archive} -Opens an existing archive for use as the current archive (required for -many other commands). Any changes as the result of subsequent commands -will not actually affect @var{archive} until you next use @code{SAVE}. - -@item REPLACE @var{module}, @var{module}, @dots{} @var{module} -In the current archive, replace each existing @var{module} (named in -the @code{REPLACE} arguments) from files in the current working directory. -To execute this command without errors, both the file, and the module in -the current archive, must exist. - -Requires prior use of @code{OPEN} or @code{CREATE}. - -@item VERBOSE -Toggle an internal flag governing the output from @code{DIRECTORY}. -When the flag is on, @code{DIRECTORY} output matches output from -@samp{ar -tv }@dots{}. - -@item SAVE -Commit your changes to the current archive, and actually save it as a -file with the name specified in the last @code{CREATE} or @code{OPEN} -command. - -Requires prior use of @code{OPEN} or @code{CREATE}. - -@end table - -@iftex -@node ld -@chapter ld -@cindex linker -@kindex ld -The @sc{gnu} linker @command{ld} is now described in a separate manual. -@xref{Top,, Overview,, Using LD: the @sc{gnu} linker}. -@end iftex - -@node nm -@chapter nm -@cindex symbols -@kindex nm - -@c man title nm list symbols from object files - -@smallexample -@c man begin SYNOPSIS nm -nm [@option{-A}|@option{-o}|@option{--print-file-name}] [@option{-a}|@option{--debug-syms}] - [@option{-B}|@option{--format=bsd}] [@option{-C}|@option{--demangle}[=@var{style}]] - [@option{-D}|@option{--dynamic}] [@option{-f}@var{format}|@option{--format=}@var{format}] - [@option{-g}|@option{--extern-only}] [@option{-h}|@option{--help}] - [@option{-l}|@option{--line-numbers}] [@option{-n}|@option{-v}|@option{--numeric-sort}] - [@option{-P}|@option{--portability}] [@option{-p}|@option{--no-sort}] - [@option{-r}|@option{--reverse-sort}] [@option{-S}|@option{--print-size}] - [@option{-s}|@option{--print-armap}] [@option{-t} @var{radix}|@option{--radix=}@var{radix}] - [@option{-u}|@option{--undefined-only}] [@option{-V}|@option{--version}] - [@option{-X 32_64}] [@option{--defined-only}] [@option{--no-demangle}] - [@option{--plugin} @var{name}] [@option{--size-sort}] [@option{--special-syms}] - [@option{--synthetic}] [@option{--target=}@var{bfdname}] - [@var{objfile}@dots{}] -@c man end -@end smallexample - -@c man begin DESCRIPTION nm -@sc{gnu} @command{nm} lists the symbols from object files @var{objfile}@dots{}. -If no object files are listed as arguments, @command{nm} assumes the file -@file{a.out}. - -For each symbol, @command{nm} shows: - -@itemize @bullet -@item -The symbol value, in the radix selected by options (see below), or -hexadecimal by default. - -@item -The symbol type. At least the following types are used; others are, as -well, depending on the object file format. If lowercase, the symbol is -usually local; if uppercase, the symbol is global (external). There -are however a few lowercase symbols that are shown for special global -symbols (@code{u}, @code{v} and @code{w}). - -@c Some more detail on exactly what these symbol types are used for -@c would be nice. -@table @code -@item A -The symbol's value is absolute, and will not be changed by further -linking. - -@item B -@itemx b -The symbol is in the uninitialized data section (known as BSS). - -@item C -The symbol is common. Common symbols are uninitialized data. When -linking, multiple common symbols may appear with the same name. If the -symbol is defined anywhere, the common symbols are treated as undefined -references. -@ifclear man -For more details on common symbols, see the discussion of ---warn-common in @ref{Options,,Linker options,ld.info,The GNU linker}. -@end ifclear - -@item D -@itemx d -The symbol is in the initialized data section. - -@item G -@itemx g -The symbol is in an initialized data section for small objects. Some -object file formats permit more efficient access to small data objects, -such as a global int variable as opposed to a large global array. - -@item i -For PE format files this indicates that the symbol is in a section -specific to the implementation of DLLs. For ELF format files this -indicates that the symbol is an indirect function. This is a GNU -extension to the standard set of ELF symbol types. It indicates a -symbol which if referenced by a relocation does not evaluate to its -address, but instead must be invoked at runtime. The runtime -execution will then return the value to be used in the relocation. - -@item I -The symbol is an indirect reference to another symbol. - -@item N -The symbol is a debugging symbol. - -@item p -The symbols is in a stack unwind section. - -@item R -@itemx r -The symbol is in a read only data section. - -@item S -@itemx s -The symbol is in an uninitialized data section for small objects. - -@item T -@itemx t -The symbol is in the text (code) section. - -@item U -The symbol is undefined. - -@item u -The symbol is a unique global symbol. This is a GNU extension to the -standard set of ELF symbol bindings. For such a symbol the dynamic linker -will make sure that in the entire process there is just one symbol with -this name and type in use. - -@item V -@itemx v -The symbol is a weak object. When a weak defined symbol is linked with -a normal defined symbol, the normal defined symbol is used with no error. -When a weak undefined symbol is linked and the symbol is not defined, -the value of the weak symbol becomes zero with no error. On some -systems, uppercase indicates that a default value has been specified. - -@item W -@itemx w -The symbol is a weak symbol that has not been specifically tagged as a -weak object symbol. When a weak defined symbol is linked with a normal -defined symbol, the normal defined symbol is used with no error. -When a weak undefined symbol is linked and the symbol is not defined, -the value of the symbol is determined in a system-specific manner without -error. On some systems, uppercase indicates that a default value has been -specified. - -@item - -The symbol is a stabs symbol in an a.out object file. In this case, the -next values printed are the stabs other field, the stabs desc field, and -the stab type. Stabs symbols are used to hold debugging information. - -@item ? -The symbol type is unknown, or object file format specific. -@end table - -@item -The symbol name. -@end itemize - -@c man end - -@c man begin OPTIONS nm -The long and short forms of options, shown here as alternatives, are -equivalent. - -@table @env -@item -A -@itemx -o -@itemx --print-file-name -@cindex input file name -@cindex file name -@cindex source file name -Precede each symbol by the name of the input file (or archive member) -in which it was found, rather than identifying the input file once only, -before all of its symbols. - -@item -a -@itemx --debug-syms -@cindex debugging symbols -Display all symbols, even debugger-only symbols; normally these are not -listed. - -@item -B -@cindex @command{nm} format -@cindex @command{nm} compatibility -The same as @option{--format=bsd} (for compatibility with the MIPS @command{nm}). - -@item -C -@itemx --demangle[=@var{style}] -@cindex demangling in nm -Decode (@dfn{demangle}) low-level symbol names into user-level names. -Besides removing any initial underscore prepended by the system, this -makes C++ function names readable. Different compilers have different -mangling styles. The optional demangling style argument can be used to -choose an appropriate demangling style for your compiler. @xref{c++filt}, -for more information on demangling. - -@item --no-demangle -Do not demangle low-level symbol names. This is the default. - -@item -D -@itemx --dynamic -@cindex dynamic symbols -Display the dynamic symbols rather than the normal symbols. This is -only meaningful for dynamic objects, such as certain types of shared -libraries. - -@item -f @var{format} -@itemx --format=@var{format} -@cindex @command{nm} format -@cindex @command{nm} compatibility -Use the output format @var{format}, which can be @code{bsd}, -@code{sysv}, or @code{posix}. The default is @code{bsd}. -Only the first character of @var{format} is significant; it can be -either upper or lower case. - -@item -g -@itemx --extern-only -@cindex external symbols -Display only external symbols. - -@item -h -@itemx --help -Show a summary of the options to @command{nm} and exit. - -@item -l -@itemx --line-numbers -@cindex symbol line numbers -For each symbol, use debugging information to try to find a filename and -line number. For a defined symbol, look for the line number of the -address of the symbol. For an undefined symbol, look for the line -number of a relocation entry which refers to the symbol. If line number -information can be found, print it after the other symbol information. - -@item -n -@itemx -v -@itemx --numeric-sort -Sort symbols numerically by their addresses, rather than alphabetically -by their names. - -@item -p -@itemx --no-sort -@cindex sorting symbols -Do not bother to sort the symbols in any order; print them in the order -encountered. - -@item -P -@itemx --portability -Use the POSIX.2 standard output format instead of the default format. -Equivalent to @samp{-f posix}. - -@item -r -@itemx --reverse-sort -Reverse the order of the sort (whether numeric or alphabetic); let the -last come first. - -@item -S -@itemx --print-size -Print both value and size of defined symbols for the @code{bsd} output style. -This option has no effect for object formats that do not record symbol -sizes, unless @samp{--size-sort} is also used in which case a -calculated size is displayed. - -@item -s -@itemx --print-armap -@cindex symbol index, listing -When listing symbols from archive members, include the index: a mapping -(stored in the archive by @command{ar} or @command{ranlib}) of which modules -contain definitions for which names. - -@item -t @var{radix} -@itemx --radix=@var{radix} -Use @var{radix} as the radix for printing the symbol values. It must be -@samp{d} for decimal, @samp{o} for octal, or @samp{x} for hexadecimal. - -@item -u -@itemx --undefined-only -@cindex external symbols -@cindex undefined symbols -Display only undefined symbols (those external to each object file). - -@item -V -@itemx --version -Show the version number of @command{nm} and exit. - -@item -X -This option is ignored for compatibility with the AIX version of -@command{nm}. It takes one parameter which must be the string -@option{32_64}. The default mode of AIX @command{nm} corresponds -to @option{-X 32}, which is not supported by @sc{gnu} @command{nm}. - -@item --defined-only -@cindex external symbols -@cindex undefined symbols -Display only defined symbols for each object file. - -@item --plugin @var{name} -@cindex load plugin -Load the plugin called @var{name} to add support for extra target -types. This option is only available if the toolchain has been built -with plugin support enabled. - -@item --size-sort -Sort symbols by size. The size is computed as the difference between -the value of the symbol and the value of the symbol with the next higher -value. If the @code{bsd} output format is used the size of the symbol -is printed, rather than the value, and @samp{-S} must be used in order -both size and value to be printed. - -@item --special-syms -Display symbols which have a target-specific special meaning. These -symbols are usually used by the target for some special processing and -are not normally helpful when included in the normal symbol lists. -For example for ARM targets this option would skip the mapping symbols -used to mark transitions between ARM code, THUMB code and data. - -@item --synthetic -Include synthetic symbols in the output. These are special symbols -created by the linker for various purposes. They are not shown by -default since they are not part of the binary's original source code. - -@item --target=@var{bfdname} -@cindex object code format -Specify an object code format other than your system's default format. -@xref{Target Selection}, for more information. - -@end table - -@c man end - -@ignore -@c man begin SEEALSO nm -ar(1), objdump(1), ranlib(1), and the Info entries for @file{binutils}. -@c man end -@end ignore - -@node objcopy -@chapter objcopy - -@c man title objcopy copy and translate object files - -@smallexample -@c man begin SYNOPSIS objcopy -objcopy [@option{-F} @var{bfdname}|@option{--target=}@var{bfdname}] - [@option{-I} @var{bfdname}|@option{--input-target=}@var{bfdname}] - [@option{-O} @var{bfdname}|@option{--output-target=}@var{bfdname}] - [@option{-B} @var{bfdarch}|@option{--binary-architecture=}@var{bfdarch}] - [@option{-S}|@option{--strip-all}] - [@option{-g}|@option{--strip-debug}] - [@option{-K} @var{symbolname}|@option{--keep-symbol=}@var{symbolname}] - [@option{-N} @var{symbolname}|@option{--strip-symbol=}@var{symbolname}] - [@option{--strip-unneeded-symbol=}@var{symbolname}] - [@option{-G} @var{symbolname}|@option{--keep-global-symbol=}@var{symbolname}] - [@option{--localize-hidden}] - [@option{-L} @var{symbolname}|@option{--localize-symbol=}@var{symbolname}] - [@option{--globalize-symbol=}@var{symbolname}] - [@option{-W} @var{symbolname}|@option{--weaken-symbol=}@var{symbolname}] - [@option{-w}|@option{--wildcard}] - [@option{-x}|@option{--discard-all}] - [@option{-X}|@option{--discard-locals}] - [@option{-b} @var{byte}|@option{--byte=}@var{byte}] - [@option{-i} [@var{breadth}]|@option{--interleave}[=@var{breadth}]] - [@option{--interleave-width=}@var{width}] - [@option{-j} @var{sectionpattern}|@option{--only-section=}@var{sectionpattern}] - [@option{-R} @var{sectionpattern}|@option{--remove-section=}@var{sectionpattern}] - [@option{-p}|@option{--preserve-dates}] - [@option{-D}|@option{--enable-deterministic-archives}] - [@option{-U}|@option{--disable-deterministic-archives}] - [@option{--debugging}] - [@option{--gap-fill=}@var{val}] - [@option{--pad-to=}@var{address}] - [@option{--set-start=}@var{val}] - [@option{--adjust-start=}@var{incr}] - [@option{--change-addresses=}@var{incr}] - [@option{--change-section-address} @var{sectionpattern}@{=,+,-@}@var{val}] - [@option{--change-section-lma} @var{sectionpattern}@{=,+,-@}@var{val}] - [@option{--change-section-vma} @var{sectionpattern}@{=,+,-@}@var{val}] - [@option{--change-warnings}] [@option{--no-change-warnings}] - [@option{--set-section-flags} @var{sectionpattern}=@var{flags}] - [@option{--add-section} @var{sectionname}=@var{filename}] - [@option{--rename-section} @var{oldname}=@var{newname}[,@var{flags}]] - [@option{--long-section-names} @{enable,disable,keep@}] - [@option{--change-leading-char}] [@option{--remove-leading-char}] - [@option{--reverse-bytes=}@var{num}] - [@option{--srec-len=}@var{ival}] [@option{--srec-forceS3}] - [@option{--redefine-sym} @var{old}=@var{new}] - [@option{--redefine-syms=}@var{filename}] - [@option{--weaken}] - [@option{--keep-symbols=}@var{filename}] - [@option{--strip-symbols=}@var{filename}] - [@option{--strip-unneeded-symbols=}@var{filename}] - [@option{--keep-global-symbols=}@var{filename}] - [@option{--localize-symbols=}@var{filename}] - [@option{--globalize-symbols=}@var{filename}] - [@option{--weaken-symbols=}@var{filename}] - [@option{--alt-machine-code=}@var{index}] - [@option{--prefix-symbols=}@var{string}] - [@option{--prefix-sections=}@var{string}] - [@option{--prefix-alloc-sections=}@var{string}] - [@option{--add-gnu-debuglink=}@var{path-to-file}] - [@option{--keep-file-symbols}] - [@option{--only-keep-debug}] - [@option{--strip-dwo}] - [@option{--extract-dwo}] - [@option{--extract-symbol}] - [@option{--writable-text}] - [@option{--readonly-text}] - [@option{--pure}] - [@option{--impure}] - [@option{--file-alignment=}@var{num}] - [@option{--heap=}@var{size}] - [@option{--image-base=}@var{address}] - [@option{--section-alignment=}@var{num}] - [@option{--stack=}@var{size}] - [@option{--subsystem=}@var{which}:@var{major}.@var{minor}] - [@option{--compress-debug-sections}] - [@option{--decompress-debug-sections}] - [@option{--dwarf-depth=@var{n}}] - [@option{--dwarf-start=@var{n}}] - [@option{-v}|@option{--verbose}] - [@option{-V}|@option{--version}] - [@option{--help}] [@option{--info}] - @var{infile} [@var{outfile}] -@c man end -@end smallexample - -@c man begin DESCRIPTION objcopy -The @sc{gnu} @command{objcopy} utility copies the contents of an object -file to another. @command{objcopy} uses the @sc{gnu} @sc{bfd} Library to -read and write the object files. It can write the destination object -file in a format different from that of the source object file. The -exact behavior of @command{objcopy} is controlled by command-line options. -Note that @command{objcopy} should be able to copy a fully linked file -between any two formats. However, copying a relocatable object file -between any two formats may not work as expected. - -@command{objcopy} creates temporary files to do its translations and -deletes them afterward. @command{objcopy} uses @sc{bfd} to do all its -translation work; it has access to all the formats described in @sc{bfd} -and thus is able to recognize most formats without being told -explicitly. @xref{BFD,,BFD,ld.info,Using LD}. - -@command{objcopy} can be used to generate S-records by using an output -target of @samp{srec} (e.g., use @samp{-O srec}). - -@command{objcopy} can be used to generate a raw binary file by using an -output target of @samp{binary} (e.g., use @option{-O binary}). When -@command{objcopy} generates a raw binary file, it will essentially produce -a memory dump of the contents of the input object file. All symbols and -relocation information will be discarded. The memory dump will start at -the load address of the lowest section copied into the output file. - -When generating an S-record or a raw binary file, it may be helpful to -use @option{-S} to remove sections containing debugging information. In -some cases @option{-R} will be useful to remove sections which contain -information that is not needed by the binary file. - -Note---@command{objcopy} is not able to change the endianness of its input -files. If the input format has an endianness (some formats do not), -@command{objcopy} can only copy the inputs into file formats that have the -same endianness or which have no endianness (e.g., @samp{srec}). -(However, see the @option{--reverse-bytes} option.) - -@c man end - -@c man begin OPTIONS objcopy - -@table @env -@item @var{infile} -@itemx @var{outfile} -The input and output files, respectively. -If you do not specify @var{outfile}, @command{objcopy} creates a -temporary file and destructively renames the result with -the name of @var{infile}. - -@item -I @var{bfdname} -@itemx --input-target=@var{bfdname} -Consider the source file's object format to be @var{bfdname}, rather than -attempting to deduce it. @xref{Target Selection}, for more information. - -@item -O @var{bfdname} -@itemx --output-target=@var{bfdname} -Write the output file using the object format @var{bfdname}. -@xref{Target Selection}, for more information. - -@item -F @var{bfdname} -@itemx --target=@var{bfdname} -Use @var{bfdname} as the object format for both the input and the output -file; i.e., simply transfer data from source to destination with no -translation. @xref{Target Selection}, for more information. - -@item -B @var{bfdarch} -@itemx --binary-architecture=@var{bfdarch} -Useful when transforming a architecture-less input file into an object file. -In this case the output architecture can be set to @var{bfdarch}. This -option will be ignored if the input file has a known @var{bfdarch}. You -can access this binary data inside a program by referencing the special -symbols that are created by the conversion process. These symbols are -called _binary_@var{objfile}_start, _binary_@var{objfile}_end and -_binary_@var{objfile}_size. e.g. you can transform a picture file into -an object file and then access it in your code using these symbols. - -@item -j @var{sectionpattern} -@itemx --only-section=@var{sectionpattern} -Copy only the indicated sections from the input file to the output file. -This option may be given more than once. Note that using this option -inappropriately may make the output file unusable. Wildcard -characters are accepted in @var{sectionpattern}. - -@item -R @var{sectionpattern} -@itemx --remove-section=@var{sectionpattern} -Remove any section matching @var{sectionpattern} from the output file. -This option may be given more than once. Note that using this option -inappropriately may make the output file unusable. Wildcard -characters are accepted in @var{sectionpattern}. Using both the -@option{-j} and @option{-R} options together results in undefined -behaviour. - -@item -S -@itemx --strip-all -Do not copy relocation and symbol information from the source file. - -@item -g -@itemx --strip-debug -Do not copy debugging symbols or sections from the source file. - -@item --strip-unneeded -Strip all symbols that are not needed for relocation processing. - -@item -K @var{symbolname} -@itemx --keep-symbol=@var{symbolname} -When stripping symbols, keep symbol @var{symbolname} even if it would -normally be stripped. This option may be given more than once. - -@item -N @var{symbolname} -@itemx --strip-symbol=@var{symbolname} -Do not copy symbol @var{symbolname} from the source file. This option -may be given more than once. - -@item --strip-unneeded-symbol=@var{symbolname} -Do not copy symbol @var{symbolname} from the source file unless it is needed -by a relocation. This option may be given more than once. - -@item -G @var{symbolname} -@itemx --keep-global-symbol=@var{symbolname} -Keep only symbol @var{symbolname} global. Make all other symbols local -to the file, so that they are not visible externally. This option may -be given more than once. - -@item --localize-hidden -In an ELF object, mark all symbols that have hidden or internal visibility -as local. This option applies on top of symbol-specific localization options -such as @option{-L}. - -@item -L @var{symbolname} -@itemx --localize-symbol=@var{symbolname} -Make symbol @var{symbolname} local to the file, so that it is not -visible externally. This option may be given more than once. - -@item -W @var{symbolname} -@itemx --weaken-symbol=@var{symbolname} -Make symbol @var{symbolname} weak. This option may be given more than once. - -@item --globalize-symbol=@var{symbolname} -Give symbol @var{symbolname} global scoping so that it is visible -outside of the file in which it is defined. This option may be given -more than once. - -@item -w -@itemx --wildcard -Permit regular expressions in @var{symbolname}s used in other command -line options. The question mark (?), asterisk (*), backslash (\) and -square brackets ([]) operators can be used anywhere in the symbol -name. If the first character of the symbol name is the exclamation -point (!) then the sense of the switch is reversed for that symbol. -For example: - -@smallexample - -w -W !foo -W fo* -@end smallexample - -would cause objcopy to weaken all symbols that start with ``fo'' -except for the symbol ``foo''. - -@item -x -@itemx --discard-all -Do not copy non-global symbols from the source file. -@c FIXME any reason to prefer "non-global" to "local" here? - -@item -X -@itemx --discard-locals -Do not copy compiler-generated local symbols. -(These usually start with @samp{L} or @samp{.}.) - -@item -b @var{byte} -@itemx --byte=@var{byte} -If interleaving has been enabled via the @option{--interleave} option -then start the range of bytes to keep at the @var{byte}th byte. -@var{byte} can be in the range from 0 to @var{breadth}-1, where -@var{breadth} is the value given by the @option{--interleave} option. - -@item -i [@var{breadth}] -@itemx --interleave[=@var{breadth}] -Only copy a range out of every @var{breadth} bytes. (Header data is -not affected). Select which byte in the range begins the copy with -the @option{--byte} option. Select the width of the range with the -@option{--interleave-width} option. - -This option is useful for creating files to program @sc{rom}. It is -typically used with an @code{srec} output target. Note that -@command{objcopy} will complain if you do not specify the -@option{--byte} option as well. - -The default interleave breadth is 4, so with @option{--byte} set to 0, -@command{objcopy} would copy the first byte out of every four bytes -from the input to the output. - -@item --interleave-width=@var{width} -When used with the @option{--interleave} option, copy @var{width} -bytes at a time. The start of the range of bytes to be copied is set -by the @option{--byte} option, and the extent of the range is set with -the @option{--interleave} option. - -The default value for this option is 1. The value of @var{width} plus -the @var{byte} value set by the @option{--byte} option must not exceed -the interleave breadth set by the @option{--interleave} option. - -This option can be used to create images for two 16-bit flashes interleaved -in a 32-bit bus by passing @option{-b 0 -i 4 --interleave-width=2} -and @option{-b 2 -i 4 --interleave-width=2} to two @command{objcopy} -commands. If the input was '12345678' then the outputs would be -'1256' and '3478' respectively. - -@item -p -@itemx --preserve-dates -Set the access and modification dates of the output file to be the same -as those of the input file. - -@item -D -@itemx --enable-deterministic-archives -@cindex deterministic archives -@kindex --enable-deterministic-archives -Operate in @emph{deterministic} mode. When copying archive members -and writing the archive index, use zero for UIDs, GIDs, timestamps, -and use consistent file modes for all files. - -If @file{binutils} was configured with -@option{--enable-deterministic-archives}, then this mode is on by default. -It can be disabled with the @samp{-U} option, below. - -@item -U -@itemx --disable-deterministic-archives -@cindex deterministic archives -@kindex --enable-deterministic-archives -Do @emph{not} operate in @emph{deterministic} mode. This is the -inverse of the @option{-D} option, above: when copying archive members -and writing the archive index, use their actual UID, GID, timestamp, -and file mode values. - -This is the default unless @file{binutils} was configured with -@option{--enable-deterministic-archives}. - -@item --debugging -Convert debugging information, if possible. This is not the default -because only certain debugging formats are supported, and the -conversion process can be time consuming. - -@item --gap-fill @var{val} -Fill gaps between sections with @var{val}. This operation applies to -the @emph{load address} (LMA) of the sections. It is done by increasing -the size of the section with the lower address, and filling in the extra -space created with @var{val}. - -@item --pad-to @var{address} -Pad the output file up to the load address @var{address}. This is -done by increasing the size of the last section. The extra space is -filled in with the value specified by @option{--gap-fill} (default zero). - -@item --set-start @var{val} -Set the start address of the new file to @var{val}. Not all object file -formats support setting the start address. - -@item --change-start @var{incr} -@itemx --adjust-start @var{incr} -@cindex changing start address -Change the start address by adding @var{incr}. Not all object file -formats support setting the start address. - -@item --change-addresses @var{incr} -@itemx --adjust-vma @var{incr} -@cindex changing object addresses -Change the VMA and LMA addresses of all sections, as well as the start -address, by adding @var{incr}. Some object file formats do not permit -section addresses to be changed arbitrarily. Note that this does not -relocate the sections; if the program expects sections to be loaded at a -certain address, and this option is used to change the sections such -that they are loaded at a different address, the program may fail. - -@item --change-section-address @var{sectionpattern}@{=,+,-@}@var{val} -@itemx --adjust-section-vma @var{sectionpattern}@{=,+,-@}@var{val} -@cindex changing section address -Set or change both the VMA address and the LMA address of any section -matching @var{sectionpattern}. If @samp{=} is used, the section -address is set to @var{val}. Otherwise, @var{val} is added to or -subtracted from the section address. See the comments under -@option{--change-addresses}, above. If @var{sectionpattern} does not -match any sections in the input file, a warning will be issued, unless -@option{--no-change-warnings} is used. - -@item --change-section-lma @var{sectionpattern}@{=,+,-@}@var{val} -@cindex changing section LMA -Set or change the LMA address of any sections matching -@var{sectionpattern}. The LMA address is the address where the -section will be loaded into memory at program load time. Normally -this is the same as the VMA address, which is the address of the -section at program run time, but on some systems, especially those -where a program is held in ROM, the two can be different. If @samp{=} -is used, the section address is set to @var{val}. Otherwise, -@var{val} is added to or subtracted from the section address. See the -comments under @option{--change-addresses}, above. If -@var{sectionpattern} does not match any sections in the input file, a -warning will be issued, unless @option{--no-change-warnings} is used. - -@item --change-section-vma @var{sectionpattern}@{=,+,-@}@var{val} -@cindex changing section VMA -Set or change the VMA address of any section matching -@var{sectionpattern}. The VMA address is the address where the -section will be located once the program has started executing. -Normally this is the same as the LMA address, which is the address -where the section will be loaded into memory, but on some systems, -especially those where a program is held in ROM, the two can be -different. If @samp{=} is used, the section address is set to -@var{val}. Otherwise, @var{val} is added to or subtracted from the -section address. See the comments under @option{--change-addresses}, -above. If @var{sectionpattern} does not match any sections in the -input file, a warning will be issued, unless -@option{--no-change-warnings} is used. - -@item --change-warnings -@itemx --adjust-warnings -If @option{--change-section-address} or @option{--change-section-lma} or -@option{--change-section-vma} is used, and the section pattern does not -match any sections, issue a warning. This is the default. - -@item --no-change-warnings -@itemx --no-adjust-warnings -Do not issue a warning if @option{--change-section-address} or -@option{--adjust-section-lma} or @option{--adjust-section-vma} is used, even -if the section pattern does not match any sections. - -@item --set-section-flags @var{sectionpattern}=@var{flags} -Set the flags for any sections matching @var{sectionpattern}. The -@var{flags} argument is a comma separated string of flag names. The -recognized names are @samp{alloc}, @samp{contents}, @samp{load}, -@samp{noload}, @samp{readonly}, @samp{code}, @samp{data}, @samp{rom}, -@samp{share}, and @samp{debug}. You can set the @samp{contents} flag -for a section which does not have contents, but it is not meaningful -to clear the @samp{contents} flag of a section which does have -contents--just remove the section instead. Not all flags are -meaningful for all object file formats. - -@item --add-section @var{sectionname}=@var{filename} -Add a new section named @var{sectionname} while copying the file. The -contents of the new section are taken from the file @var{filename}. The -size of the section will be the size of the file. This option only -works on file formats which can support sections with arbitrary names. - -@item --rename-section @var{oldname}=@var{newname}[,@var{flags}] -Rename a section from @var{oldname} to @var{newname}, optionally -changing the section's flags to @var{flags} in the process. This has -the advantage over usng a linker script to perform the rename in that -the output stays as an object file and does not become a linked -executable. - -This option is particularly helpful when the input format is binary, -since this will always create a section called .data. If for example, -you wanted instead to create a section called .rodata containing binary -data you could use the following command line to achieve it: - -@smallexample - objcopy -I binary -O <output_format> -B <architecture> \ - --rename-section .data=.rodata,alloc,load,readonly,data,contents \ - <input_binary_file> <output_object_file> -@end smallexample - -@item --long-section-names @{enable,disable,keep@} -Controls the handling of long section names when processing @code{COFF} -and @code{PE-COFF} object formats. The default behaviour, @samp{keep}, -is to preserve long section names if any are present in the input file. -The @samp{enable} and @samp{disable} options forcibly enable or disable -the use of long section names in the output object; when @samp{disable} -is in effect, any long section names in the input object will be truncated. -The @samp{enable} option will only emit long section names if any are -present in the inputs; this is mostly the same as @samp{keep}, but it -is left undefined whether the @samp{enable} option might force the -creation of an empty string table in the output file. - -@item --change-leading-char -Some object file formats use special characters at the start of -symbols. The most common such character is underscore, which compilers -often add before every symbol. This option tells @command{objcopy} to -change the leading character of every symbol when it converts between -object file formats. If the object file formats use the same leading -character, this option has no effect. Otherwise, it will add a -character, or remove a character, or change a character, as -appropriate. - -@item --remove-leading-char -If the first character of a global symbol is a special symbol leading -character used by the object file format, remove the character. The -most common symbol leading character is underscore. This option will -remove a leading underscore from all global symbols. This can be useful -if you want to link together objects of different file formats with -different conventions for symbol names. This is different from -@option{--change-leading-char} because it always changes the symbol name -when appropriate, regardless of the object file format of the output -file. - -@item --reverse-bytes=@var{num} -Reverse the bytes in a section with output contents. A section length must -be evenly divisible by the value given in order for the swap to be able to -take place. Reversing takes place before the interleaving is performed. - -This option is used typically in generating ROM images for problematic -target systems. For example, on some target boards, the 32-bit words -fetched from 8-bit ROMs are re-assembled in little-endian byte order -regardless of the CPU byte order. Depending on the programming model, the -endianness of the ROM may need to be modified. - -Consider a simple file with a section containing the following eight -bytes: @code{12345678}. - -Using @samp{--reverse-bytes=2} for the above example, the bytes in the -output file would be ordered @code{21436587}. - -Using @samp{--reverse-bytes=4} for the above example, the bytes in the -output file would be ordered @code{43218765}. - -By using @samp{--reverse-bytes=2} for the above example, followed by -@samp{--reverse-bytes=4} on the output file, the bytes in the second -output file would be ordered @code{34127856}. - -@item --srec-len=@var{ival} -Meaningful only for srec output. Set the maximum length of the Srecords -being produced to @var{ival}. This length covers both address, data and -crc fields. - -@item --srec-forceS3 -Meaningful only for srec output. Avoid generation of S1/S2 records, -creating S3-only record format. - -@item --redefine-sym @var{old}=@var{new} -Change the name of a symbol @var{old}, to @var{new}. This can be useful -when one is trying link two things together for which you have no -source, and there are name collisions. - -@item --redefine-syms=@var{filename} -Apply @option{--redefine-sym} to each symbol pair "@var{old} @var{new}" -listed in the file @var{filename}. @var{filename} is simply a flat file, -with one symbol pair per line. Line comments may be introduced by the hash -character. This option may be given more than once. - -@item --weaken -Change all global symbols in the file to be weak. This can be useful -when building an object which will be linked against other objects using -the @option{-R} option to the linker. This option is only effective when -using an object file format which supports weak symbols. - -@item --keep-symbols=@var{filename} -Apply @option{--keep-symbol} option to each symbol listed in the file -@var{filename}. @var{filename} is simply a flat file, with one symbol -name per line. Line comments may be introduced by the hash character. -This option may be given more than once. - -@item --strip-symbols=@var{filename} -Apply @option{--strip-symbol} option to each symbol listed in the file -@var{filename}. @var{filename} is simply a flat file, with one symbol -name per line. Line comments may be introduced by the hash character. -This option may be given more than once. - -@item --strip-unneeded-symbols=@var{filename} -Apply @option{--strip-unneeded-symbol} option to each symbol listed in -the file @var{filename}. @var{filename} is simply a flat file, with one -symbol name per line. Line comments may be introduced by the hash -character. This option may be given more than once. - -@item --keep-global-symbols=@var{filename} -Apply @option{--keep-global-symbol} option to each symbol listed in the -file @var{filename}. @var{filename} is simply a flat file, with one -symbol name per line. Line comments may be introduced by the hash -character. This option may be given more than once. - -@item --localize-symbols=@var{filename} -Apply @option{--localize-symbol} option to each symbol listed in the file -@var{filename}. @var{filename} is simply a flat file, with one symbol -name per line. Line comments may be introduced by the hash character. -This option may be given more than once. - -@item --globalize-symbols=@var{filename} -Apply @option{--globalize-symbol} option to each symbol listed in the file -@var{filename}. @var{filename} is simply a flat file, with one symbol -name per line. Line comments may be introduced by the hash character. -This option may be given more than once. - -@item --weaken-symbols=@var{filename} -Apply @option{--weaken-symbol} option to each symbol listed in the file -@var{filename}. @var{filename} is simply a flat file, with one symbol -name per line. Line comments may be introduced by the hash character. -This option may be given more than once. - -@item --alt-machine-code=@var{index} -If the output architecture has alternate machine codes, use the -@var{index}th code instead of the default one. This is useful in case -a machine is assigned an official code and the tool-chain adopts the -new code, but other applications still depend on the original code -being used. For ELF based architectures if the @var{index} -alternative does not exist then the value is treated as an absolute -number to be stored in the e_machine field of the ELF header. - -@item --writable-text -Mark the output text as writable. This option isn't meaningful for all -object file formats. - -@item --readonly-text -Make the output text write protected. This option isn't meaningful for all -object file formats. - -@item --pure -Mark the output file as demand paged. This option isn't meaningful for all -object file formats. - -@item --impure -Mark the output file as impure. This option isn't meaningful for all -object file formats. - -@item --prefix-symbols=@var{string} -Prefix all symbols in the output file with @var{string}. - -@item --prefix-sections=@var{string} -Prefix all section names in the output file with @var{string}. - -@item --prefix-alloc-sections=@var{string} -Prefix all the names of all allocated sections in the output file with -@var{string}. - -@item --add-gnu-debuglink=@var{path-to-file} -Creates a .gnu_debuglink section which contains a reference to @var{path-to-file} -and adds it to the output file. - -@item --keep-file-symbols -When stripping a file, perhaps with @option{--strip-debug} or -@option{--strip-unneeded}, retain any symbols specifying source file names, -which would otherwise get stripped. - -@item --only-keep-debug -Strip a file, removing contents of any sections that would not be -stripped by @option{--strip-debug} and leaving the debugging sections -intact. In ELF files, this preserves all note sections in the output. - -The intention is that this option will be used in conjunction with -@option{--add-gnu-debuglink} to create a two part executable. One a -stripped binary which will occupy less space in RAM and in a -distribution and the second a debugging information file which is only -needed if debugging abilities are required. The suggested procedure -to create these files is as follows: - -@enumerate -@item Link the executable as normal. Assuming that is is called -@code{foo} then... -@item Run @code{objcopy --only-keep-debug foo foo.dbg} to -create a file containing the debugging info. -@item Run @code{objcopy --strip-debug foo} to create a -stripped executable. -@item Run @code{objcopy --add-gnu-debuglink=foo.dbg foo} -to add a link to the debugging info into the stripped executable. -@end enumerate - -Note---the choice of @code{.dbg} as an extension for the debug info -file is arbitrary. Also the @code{--only-keep-debug} step is -optional. You could instead do this: - -@enumerate -@item Link the executable as normal. -@item Copy @code{foo} to @code{foo.full} -@item Run @code{objcopy --strip-debug foo} -@item Run @code{objcopy --add-gnu-debuglink=foo.full foo} -@end enumerate - -i.e., the file pointed to by the @option{--add-gnu-debuglink} can be the -full executable. It does not have to be a file created by the -@option{--only-keep-debug} switch. - -Note---this switch is only intended for use on fully linked files. It -does not make sense to use it on object files where the debugging -information may be incomplete. Besides the gnu_debuglink feature -currently only supports the presence of one filename containing -debugging information, not multiple filenames on a one-per-object-file -basis. - -@item --strip-dwo -Remove the contents of all DWARF .dwo sections, leaving the -remaining debugging sections and all symbols intact. -This option is intended for use by the compiler as part of -the @option{-gsplit-dwarf} option, which splits debug information -between the .o file and a separate .dwo file. The compiler -generates all debug information in the same file, then uses -the @option{--extract-dwo} option to copy the .dwo sections to -the .dwo file, then the @option{--strip-dwo} option to remove -those sections from the original .o file. - -@item --extract-dwo -Extract the contents of all DWARF .dwo sections. See the -@option{--strip-dwo} option for more information. - -@item --file-alignment @var{num} -Specify the file alignment. Sections in the file will always begin at -file offsets which are multiples of this number. This defaults to -512. -[This option is specific to PE targets.] - -@item --heap @var{reserve} -@itemx --heap @var{reserve},@var{commit} -Specify the number of bytes of memory to reserve (and optionally commit) -to be used as heap for this program. -[This option is specific to PE targets.] - -@item --image-base @var{value} -Use @var{value} as the base address of your program or dll. This is -the lowest memory location that will be used when your program or dll -is loaded. To reduce the need to relocate and improve performance of -your dlls, each should have a unique base address and not overlap any -other dlls. The default is 0x400000 for executables, and 0x10000000 -for dlls. -[This option is specific to PE targets.] - -@item --section-alignment @var{num} -Sets the section alignment. Sections in memory will always begin at -addresses which are a multiple of this number. Defaults to 0x1000. -[This option is specific to PE targets.] - -@item --stack @var{reserve} -@itemx --stack @var{reserve},@var{commit} -Specify the number of bytes of memory to reserve (and optionally commit) -to be used as stack for this program. -[This option is specific to PE targets.] - -@item --subsystem @var{which} -@itemx --subsystem @var{which}:@var{major} -@itemx --subsystem @var{which}:@var{major}.@var{minor} -Specifies the subsystem under which your program will execute. The -legal values for @var{which} are @code{native}, @code{windows}, -@code{console}, @code{posix}, @code{efi-app}, @code{efi-bsd}, -@code{efi-rtd}, @code{sal-rtd}, and @code{xbox}. You may optionally set -the subsystem version also. Numeric values are also accepted for -@var{which}. -[This option is specific to PE targets.] - -@item --extract-symbol -Keep the file's section flags and symbols but remove all section data. -Specifically, the option: - -@itemize -@item removes the contents of all sections; -@item sets the size of every section to zero; and -@item sets the file's start address to zero. -@end itemize - -This option is used to build a @file{.sym} file for a VxWorks kernel. -It can also be a useful way of reducing the size of a @option{--just-symbols} -linker input file. - -@item --compress-debug-sections -Compress DWARF debug sections using zlib. - -@item --decompress-debug-sections -Decompress DWARF debug sections using zlib. - -@item -V -@itemx --version -Show the version number of @command{objcopy}. - -@item -v -@itemx --verbose -Verbose output: list all object files modified. In the case of -archives, @samp{objcopy -V} lists all members of the archive. - -@item --help -Show a summary of the options to @command{objcopy}. - -@item --info -Display a list showing all architectures and object formats available. -@end table - -@c man end - -@ignore -@c man begin SEEALSO objcopy -ld(1), objdump(1), and the Info entries for @file{binutils}. -@c man end -@end ignore - -@node objdump -@chapter objdump - -@cindex object file information -@kindex objdump - -@c man title objdump display information from object files. - -@smallexample -@c man begin SYNOPSIS objdump -objdump [@option{-a}|@option{--archive-headers}] - [@option{-b} @var{bfdname}|@option{--target=@var{bfdname}}] - [@option{-C}|@option{--demangle}[=@var{style}] ] - [@option{-d}|@option{--disassemble}] - [@option{-D}|@option{--disassemble-all}] - [@option{-z}|@option{--disassemble-zeroes}] - [@option{-EB}|@option{-EL}|@option{--endian=}@{big | little @}] - [@option{-f}|@option{--file-headers}] - [@option{-F}|@option{--file-offsets}] - [@option{--file-start-context}] - [@option{-g}|@option{--debugging}] - [@option{-e}|@option{--debugging-tags}] - [@option{-h}|@option{--section-headers}|@option{--headers}] - [@option{-i}|@option{--info}] - [@option{-j} @var{section}|@option{--section=}@var{section}] - [@option{-l}|@option{--line-numbers}] - [@option{-S}|@option{--source}] - [@option{-m} @var{machine}|@option{--architecture=}@var{machine}] - [@option{-M} @var{options}|@option{--disassembler-options=}@var{options}] - [@option{-p}|@option{--private-headers}] - [@option{-P} @var{options}|@option{--private=}@var{options}] - [@option{-r}|@option{--reloc}] - [@option{-R}|@option{--dynamic-reloc}] - [@option{-s}|@option{--full-contents}] - [@option{-W[lLiaprmfFsoRt]}| - @option{--dwarf}[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]] - [@option{-G}|@option{--stabs}] - [@option{-t}|@option{--syms}] - [@option{-T}|@option{--dynamic-syms}] - [@option{-x}|@option{--all-headers}] - [@option{-w}|@option{--wide}] - [@option{--start-address=}@var{address}] - [@option{--stop-address=}@var{address}] - [@option{--prefix-addresses}] - [@option{--[no-]show-raw-insn}] - [@option{--adjust-vma=}@var{offset}] - [@option{--special-syms}] - [@option{--prefix=}@var{prefix}] - [@option{--prefix-strip=}@var{level}] - [@option{--insn-width=}@var{width}] - [@option{-V}|@option{--version}] - [@option{-H}|@option{--help}] - @var{objfile}@dots{} -@c man end -@end smallexample - -@c man begin DESCRIPTION objdump - -@command{objdump} displays information about one or more object files. -The options control what particular information to display. This -information is mostly useful to programmers who are working on the -compilation tools, as opposed to programmers who just want their -program to compile and work. - -@var{objfile}@dots{} are the object files to be examined. When you -specify archives, @command{objdump} shows information on each of the member -object files. - -@c man end - -@c man begin OPTIONS objdump - -The long and short forms of options, shown here as alternatives, are -equivalent. At least one option from the list -@option{-a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T,-V,-x} must be given. - -@table @env -@item -a -@itemx --archive-header -@cindex archive headers -If any of the @var{objfile} files are archives, display the archive -header information (in a format similar to @samp{ls -l}). Besides the -information you could list with @samp{ar tv}, @samp{objdump -a} shows -the object file format of each archive member. - -@item --adjust-vma=@var{offset} -@cindex section addresses in objdump -@cindex VMA in objdump -When dumping information, first add @var{offset} to all the section -addresses. This is useful if the section addresses do not correspond to -the symbol table, which can happen when putting sections at particular -addresses when using a format which can not represent section addresses, -such as a.out. - -@item -b @var{bfdname} -@itemx --target=@var{bfdname} -@cindex object code format -Specify that the object-code format for the object files is -@var{bfdname}. This option may not be necessary; @var{objdump} can -automatically recognize many formats. - -For example, -@example -objdump -b oasys -m vax -h fu.o -@end example -@noindent -displays summary information from the section headers (@option{-h}) of -@file{fu.o}, which is explicitly identified (@option{-m}) as a VAX object -file in the format produced by Oasys compilers. You can list the -formats available with the @option{-i} option. -@xref{Target Selection}, for more information. - -@item -C -@itemx --demangle[=@var{style}] -@cindex demangling in objdump -Decode (@dfn{demangle}) low-level symbol names into user-level names. -Besides removing any initial underscore prepended by the system, this -makes C++ function names readable. Different compilers have different -mangling styles. The optional demangling style argument can be used to -choose an appropriate demangling style for your compiler. @xref{c++filt}, -for more information on demangling. - -@item -g -@itemx --debugging -Display debugging information. This attempts to parse STABS and IEEE -debugging format information stored in the file and print it out using -a C like syntax. If neither of these formats are found this option -falls back on the @option{-W} option to print any DWARF information in -the file. - -@item -e -@itemx --debugging-tags -Like @option{-g}, but the information is generated in a format compatible -with ctags tool. - -@item -d -@itemx --disassemble -@cindex disassembling object code -@cindex machine instructions -Display the assembler mnemonics for the machine instructions from -@var{objfile}. This option only disassembles those sections which are -expected to contain instructions. - -@item -D -@itemx --disassemble-all -Like @option{-d}, but disassemble the contents of all sections, not just -those expected to contain instructions. - -If the target is an ARM architecture this switch also has the effect -of forcing the disassembler to decode pieces of data found in code -sections as if they were instructions. - -@item --prefix-addresses -When disassembling, print the complete address on each line. This is -the older disassembly format. - -@item -EB -@itemx -EL -@itemx --endian=@{big|little@} -@cindex endianness -@cindex disassembly endianness -Specify the endianness of the object files. This only affects -disassembly. This can be useful when disassembling a file format which -does not describe endianness information, such as S-records. - -@item -f -@itemx --file-headers -@cindex object file header -Display summary information from the overall header of -each of the @var{objfile} files. - -@item -F -@itemx --file-offsets -@cindex object file offsets -When disassembling sections, whenever a symbol is displayed, also -display the file offset of the region of data that is about to be -dumped. If zeroes are being skipped, then when disassembly resumes, -tell the user how many zeroes were skipped and the file offset of the -location from where the disassembly resumes. When dumping sections, -display the file offset of the location from where the dump starts. - -@item --file-start-context -@cindex source code context -Specify that when displaying interlisted source code/disassembly -(assumes @option{-S}) from a file that has not yet been displayed, extend the -context to the start of the file. - -@item -h -@itemx --section-headers -@itemx --headers -@cindex section headers -Display summary information from the section headers of the -object file. - -File segments may be relocated to nonstandard addresses, for example by -using the @option{-Ttext}, @option{-Tdata}, or @option{-Tbss} options to -@command{ld}. However, some object file formats, such as a.out, do not -store the starting address of the file segments. In those situations, -although @command{ld} relocates the sections correctly, using @samp{objdump --h} to list the file section headers cannot show the correct addresses. -Instead, it shows the usual addresses, which are implicit for the -target. - -@item -H -@itemx --help -Print a summary of the options to @command{objdump} and exit. - -@item -i -@itemx --info -@cindex architectures available -@cindex object formats available -Display a list showing all architectures and object formats available -for specification with @option{-b} or @option{-m}. - -@item -j @var{name} -@itemx --section=@var{name} -@cindex section information -Display information only for section @var{name}. - -@item -l -@itemx --line-numbers -@cindex source filenames for object files -Label the display (using debugging information) with the filename and -source line numbers corresponding to the object code or relocs shown. -Only useful with @option{-d}, @option{-D}, or @option{-r}. - -@item -m @var{machine} -@itemx --architecture=@var{machine} -@cindex architecture -@cindex disassembly architecture -Specify the architecture to use when disassembling object files. This -can be useful when disassembling object files which do not describe -architecture information, such as S-records. You can list the available -architectures with the @option{-i} option. - -If the target is an ARM architecture then this switch has an -additional effect. It restricts the disassembly to only those -instructions supported by the architecture specified by @var{machine}. -If it is necessary to use this switch because the input file does not -contain any architecture information, but it is also desired to -disassemble all the instructions use @option{-marm}. - -@item -M @var{options} -@itemx --disassembler-options=@var{options} -Pass target specific information to the disassembler. Only supported on -some targets. If it is necessary to specify more than one -disassembler option then multiple @option{-M} options can be used or -can be placed together into a comma separated list. - -If the target is an ARM architecture then this switch can be used to -select which register name set is used during disassembler. Specifying -@option{-M reg-names-std} (the default) will select the register names as -used in ARM's instruction set documentation, but with register 13 called -'sp', register 14 called 'lr' and register 15 called 'pc'. Specifying -@option{-M reg-names-apcs} will select the name set used by the ARM -Procedure Call Standard, whilst specifying @option{-M reg-names-raw} will -just use @samp{r} followed by the register number. - -There are also two variants on the APCS register naming scheme enabled -by @option{-M reg-names-atpcs} and @option{-M reg-names-special-atpcs} which -use the ARM/Thumb Procedure Call Standard naming conventions. (Either -with the normal register names or the special register names). - -This option can also be used for ARM architectures to force the -disassembler to interpret all instructions as Thumb instructions by -using the switch @option{--disassembler-options=force-thumb}. This can be -useful when attempting to disassemble thumb code produced by other -compilers. - -For the x86, some of the options duplicate functions of the @option{-m} -switch, but allow finer grained control. Multiple selections from the -following may be specified as a comma separated string. -@option{x86-64}, @option{i386} and @option{i8086} select disassembly for -the given architecture. @option{intel} and @option{att} select between -intel syntax mode and AT&T syntax mode. -@option{intel-mnemonic} and @option{att-mnemonic} select between -intel mnemonic mode and AT&T mnemonic mode. @option{intel-mnemonic} -implies @option{intel} and @option{att-mnemonic} implies @option{att}. -@option{addr64}, @option{addr32}, -@option{addr16}, @option{data32} and @option{data16} specify the default -address size and operand size. These four options will be overridden if -@option{x86-64}, @option{i386} or @option{i8086} appear later in the -option string. Lastly, @option{suffix}, when in AT&T mode, -instructs the disassembler to print a mnemonic suffix even when the -suffix could be inferred by the operands. - -For PowerPC, @option{booke} controls the disassembly of BookE -instructions. @option{32} and @option{64} select PowerPC and -PowerPC64 disassembly, respectively. @option{e300} selects -disassembly for the e300 family. @option{440} selects disassembly for -the PowerPC 440. @option{ppcps} selects disassembly for the paired -single instructions of the PPC750CL. - -For MIPS, this option controls the printing of instruction mnemonic -names and register names in disassembled instructions. Multiple -selections from the following may be specified as a comma separated -string, and invalid options are ignored: - -@table @code -@item no-aliases -Print the 'raw' instruction mnemonic instead of some pseudo -instruction mnemonic. I.e., print 'daddu' or 'or' instead of 'move', -'sll' instead of 'nop', etc. - -@item msa -Disassemble MSA instructions. - -@item virt -Disassemble the virtualization ASE instructions. - -@item xpa -Disassemble the eXtended Physical Address (XPA) ASE instructions. - -@item mxu -Disassemble the MXU ASE instructions. - -@item gpr-names=@var{ABI} -Print GPR (general-purpose register) names as appropriate -for the specified ABI. By default, GPR names are selected according to -the ABI of the binary being disassembled. - -@item fpr-names=@var{ABI} -Print FPR (floating-point register) names as -appropriate for the specified ABI. By default, FPR numbers are printed -rather than names. - -@item cp0-names=@var{ARCH} -Print CP0 (system control coprocessor; coprocessor 0) register names -as appropriate for the CPU or architecture specified by -@var{ARCH}. By default, CP0 register names are selected according to -the architecture and CPU of the binary being disassembled. - -@item hwr-names=@var{ARCH} -Print HWR (hardware register, used by the @code{rdhwr} instruction) names -as appropriate for the CPU or architecture specified by -@var{ARCH}. By default, HWR names are selected according to -the architecture and CPU of the binary being disassembled. - -@item reg-names=@var{ABI} -Print GPR and FPR names as appropriate for the selected ABI. - -@item reg-names=@var{ARCH} -Print CPU-specific register names (CP0 register and HWR names) -as appropriate for the selected CPU or architecture. -@end table - -For any of the options listed above, @var{ABI} or -@var{ARCH} may be specified as @samp{numeric} to have numbers printed -rather than names, for the selected types of registers. -You can list the available values of @var{ABI} and @var{ARCH} using -the @option{--help} option. - -For VAX, you can specify function entry addresses with @option{-M -entry:0xf00ba}. You can use this multiple times to properly -disassemble VAX binary files that don't contain symbol tables (like -ROM dumps). In these cases, the function entry mask would otherwise -be decoded as VAX instructions, which would probably lead the rest -of the function being wrongly disassembled. - -@item -p -@itemx --private-headers -Print information that is specific to the object file format. The exact -information printed depends upon the object file format. For some -object file formats, no additional information is printed. - -@item -P @var{options} -@itemx --private=@var{options} -Print information that is specific to the object file format. The -argument @var{options} is a comma separated list that depends on the -format (the lists of options is displayed with the help). - -For XCOFF, the available options are: @option{header}, @option{aout}, -@option{sections}, @option{syms}, @option{relocs}, @option{lineno}, -@option{loader}, @option{except}, @option{typchk}, @option{traceback}, -@option{toc} and @option{ldinfo}. - -@item -r -@itemx --reloc -@cindex relocation entries, in object file -Print the relocation entries of the file. If used with @option{-d} or -@option{-D}, the relocations are printed interspersed with the -disassembly. - -@item -R -@itemx --dynamic-reloc -@cindex dynamic relocation entries, in object file -Print the dynamic relocation entries of the file. This is only -meaningful for dynamic objects, such as certain types of shared -libraries. As for @option{-r}, if used with @option{-d} or -@option{-D}, the relocations are printed interspersed with the -disassembly. - -@item -s -@itemx --full-contents -@cindex sections, full contents -@cindex object file sections -Display the full contents of any sections requested. By default all -non-empty sections are displayed. - -@item -S -@itemx --source -@cindex source disassembly -@cindex disassembly, with source -Display source code intermixed with disassembly, if possible. Implies -@option{-d}. - -@item --prefix=@var{prefix} -@cindex Add prefix to absolute paths -Specify @var{prefix} to add to the absolute paths when used with -@option{-S}. - -@item --prefix-strip=@var{level} -@cindex Strip absolute paths -Indicate how many initial directory names to strip off the hardwired -absolute paths. It has no effect without @option{--prefix=}@var{prefix}. - -@item --show-raw-insn -When disassembling instructions, print the instruction in hex as well as -in symbolic form. This is the default except when -@option{--prefix-addresses} is used. - -@item --no-show-raw-insn -When disassembling instructions, do not print the instruction bytes. -This is the default when @option{--prefix-addresses} is used. - -@item --insn-width=@var{width} -@cindex Instruction width -Display @var{width} bytes on a single line when disassembling -instructions. - -@item -W[lLiaprmfFsoRt] -@itemx --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index] -@cindex DWARF -@cindex debug symbols -Displays the contents of the debug sections in the file, if any are -present. If one of the optional letters or words follows the switch -then only data found in those specific sections will be dumped. - -Note that there is no single letter option to display the content of -trace sections or .gdb_index. - -Note: the output from the @option{=info} option can also be affected -by the options @option{--dwarf-depth}, the @option{--dwarf-start} and -the @option{--dwarf-check}. - -@item --dwarf-depth=@var{n} -Limit the dump of the @code{.debug_info} section to @var{n} children. -This is only useful with @option{--dwarf=info}. The default is -to print all DIEs; the special value 0 for @var{n} will also have this -effect. - -With a non-zero value for @var{n}, DIEs at or deeper than @var{n} -levels will not be printed. The range for @var{n} is zero-based. - -@item --dwarf-start=@var{n} -Print only DIEs beginning with the DIE numbered @var{n}. This is only -useful with @option{--dwarf=info}. - -If specified, this option will suppress printing of any header -information and all DIEs before the DIE numbered @var{n}. Only -siblings and children of the specified DIE will be printed. - -This can be used in conjunction with @option{--dwarf-depth}. - -@item --dwarf-check -Enable additional checks for consistency of Dwarf information. - -@item -G -@itemx --stabs -@cindex stab -@cindex .stab -@cindex debug symbols -@cindex ELF object file format -Display the full contents of any sections requested. Display the -contents of the .stab and .stab.index and .stab.excl sections from an -ELF file. This is only useful on systems (such as Solaris 2.0) in which -@code{.stab} debugging symbol-table entries are carried in an ELF -section. In most other file formats, debugging symbol-table entries are -interleaved with linkage symbols, and are visible in the @option{--syms} -output. - -@item --start-address=@var{address} -@cindex start-address -Start displaying data at the specified address. This affects the output -of the @option{-d}, @option{-r} and @option{-s} options. - -@item --stop-address=@var{address} -@cindex stop-address -Stop displaying data at the specified address. This affects the output -of the @option{-d}, @option{-r} and @option{-s} options. - -@item -t -@itemx --syms -@cindex symbol table entries, printing -Print the symbol table entries of the file. -This is similar to the information provided by the @samp{nm} program, -although the display format is different. The format of the output -depends upon the format of the file being dumped, but there are two main -types. One looks like this: - -@smallexample -[ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss -[ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred -@end smallexample - -where the number inside the square brackets is the number of the entry -in the symbol table, the @var{sec} number is the section number, the -@var{fl} value are the symbol's flag bits, the @var{ty} number is the -symbol's type, the @var{scl} number is the symbol's storage class and -the @var{nx} value is the number of auxilary entries associated with -the symbol. The last two fields are the symbol's value and its name. - -The other common output format, usually seen with ELF based files, -looks like this: - -@smallexample -00000000 l d .bss 00000000 .bss -00000000 g .text 00000000 fred -@end smallexample - -Here the first number is the symbol's value (sometimes refered to as -its address). The next field is actually a set of characters and -spaces indicating the flag bits that are set on the symbol. These -characters are described below. Next is the section with which the -symbol is associated or @emph{*ABS*} if the section is absolute (ie -not connected with any section), or @emph{*UND*} if the section is -referenced in the file being dumped, but not defined there. - -After the section name comes another field, a number, which for common -symbols is the alignment and for other symbol is the size. Finally -the symbol's name is displayed. - -The flag characters are divided into 7 groups as follows: -@table @code -@item l -@itemx g -@itemx u -@itemx ! -The symbol is a local (l), global (g), unique global (u), neither -global nor local (a space) or both global and local (!). A -symbol can be neither local or global for a variety of reasons, e.g., -because it is used for debugging, but it is probably an indication of -a bug if it is ever both local and global. Unique global symbols are -a GNU extension to the standard set of ELF symbol bindings. For such -a symbol the dynamic linker will make sure that in the entire process -there is just one symbol with this name and type in use. - -@item w -The symbol is weak (w) or strong (a space). - -@item C -The symbol denotes a constructor (C) or an ordinary symbol (a space). - -@item W -The symbol is a warning (W) or a normal symbol (a space). A warning -symbol's name is a message to be displayed if the symbol following the -warning symbol is ever referenced. - -@item I -@item i -The symbol is an indirect reference to another symbol (I), a function -to be evaluated during reloc processing (i) or a normal symbol (a -space). - -@item d -@itemx D -The symbol is a debugging symbol (d) or a dynamic symbol (D) or a -normal symbol (a space). - -@item F -@item f -@item O -The symbol is the name of a function (F) or a file (f) or an object -(O) or just a normal symbol (a space). -@end table - -@item -T -@itemx --dynamic-syms -@cindex dynamic symbol table entries, printing -Print the dynamic symbol table entries of the file. This is only -meaningful for dynamic objects, such as certain types of shared -libraries. This is similar to the information provided by the @samp{nm} -program when given the @option{-D} (@option{--dynamic}) option. - -@item --special-syms -When displaying symbols include those which the target considers to be -special in some way and which would not normally be of interest to the -user. - -@item -V -@itemx --version -Print the version number of @command{objdump} and exit. - -@item -x -@itemx --all-headers -@cindex all header information, object file -@cindex header information, all -Display all available header information, including the symbol table and -relocation entries. Using @option{-x} is equivalent to specifying all of -@option{-a -f -h -p -r -t}. - -@item -w -@itemx --wide -@cindex wide output, printing -Format some lines for output devices that have more than 80 columns. -Also do not truncate symbol names when they are displayed. - -@item -z -@itemx --disassemble-zeroes -Normally the disassembly output will skip blocks of zeroes. This -option directs the disassembler to disassemble those blocks, just like -any other data. -@end table - -@c man end - -@ignore -@c man begin SEEALSO objdump -nm(1), readelf(1), and the Info entries for @file{binutils}. -@c man end -@end ignore - -@node ranlib -@chapter ranlib - -@kindex ranlib -@cindex archive contents -@cindex symbol index - -@c man title ranlib generate index to archive. - -@smallexample -@c man begin SYNOPSIS ranlib -ranlib [@option{--plugin} @var{name}] [@option{-DhHvVt}] @var{archive} -@c man end -@end smallexample - -@c man begin DESCRIPTION ranlib - -@command{ranlib} generates an index to the contents of an archive and -stores it in the archive. The index lists each symbol defined by a -member of an archive that is a relocatable object file. - -You may use @samp{nm -s} or @samp{nm --print-armap} to list this index. - -An archive with such an index speeds up linking to the library and -allows routines in the library to call each other without regard to -their placement in the archive. - -The @sc{gnu} @command{ranlib} program is another form of @sc{gnu} @command{ar}; running -@command{ranlib} is completely equivalent to executing @samp{ar -s}. -@xref{ar}. - -@c man end - -@c man begin OPTIONS ranlib - -@table @env -@item -h -@itemx -H -@itemx --help -Show usage information for @command{ranlib}. - -@item -v -@itemx -V -@itemx --version -Show the version number of @command{ranlib}. - -@item -D -@cindex deterministic archives -@kindex --enable-deterministic-archives -Operate in @emph{deterministic} mode. The symbol map archive member's -header will show zero for the UID, GID, and timestamp. When this -option is used, multiple runs will produce identical output files. - -If @file{binutils} was configured with -@option{--enable-deterministic-archives}, then this mode is on by -default. It can be disabled with the @samp{-U} option, described -below. - -@item -t -Update the timestamp of the symbol map of an archive. - -@item -U -@cindex deterministic archives -@kindex --enable-deterministic-archives -Do @emph{not} operate in @emph{deterministic} mode. This is the -inverse of the @samp{-D} option, above: the archive index will get -actual UID, GID, timestamp, and file mode values. - -If @file{binutils} was configured @emph{without} -@option{--enable-deterministic-archives}, then this mode is on by -default. - -@end table - -@c man end - -@ignore -@c man begin SEEALSO ranlib -ar(1), nm(1), and the Info entries for @file{binutils}. -@c man end -@end ignore - -@node size -@chapter size - -@kindex size -@cindex section sizes - -@c man title size list section sizes and total size. - -@smallexample -@c man begin SYNOPSIS size -size [@option{-A}|@option{-B}|@option{--format=}@var{compatibility}] - [@option{--help}] - [@option{-d}|@option{-o}|@option{-x}|@option{--radix=}@var{number}] - [@option{--common}] - [@option{-t}|@option{--totals}] - [@option{--target=}@var{bfdname}] [@option{-V}|@option{--version}] - [@var{objfile}@dots{}] -@c man end -@end smallexample - -@c man begin DESCRIPTION size - -The @sc{gnu} @command{size} utility lists the section sizes---and the total -size---for each of the object or archive files @var{objfile} in its -argument list. By default, one line of output is generated for each -object file or each module in an archive. - -@var{objfile}@dots{} are the object files to be examined. -If none are specified, the file @code{a.out} will be used. - -@c man end - -@c man begin OPTIONS size - -The command line options have the following meanings: - -@table @env -@item -A -@itemx -B -@itemx --format=@var{compatibility} -@cindex @command{size} display format -Using one of these options, you can choose whether the output from @sc{gnu} -@command{size} resembles output from System V @command{size} (using @option{-A}, -or @option{--format=sysv}), or Berkeley @command{size} (using @option{-B}, or -@option{--format=berkeley}). The default is the one-line format similar to -Berkeley's. -@c Bonus for doc-source readers: you can also say --format=strange (or -@c anything else that starts with 's') for sysv, and --format=boring (or -@c anything else that starts with 'b') for Berkeley. - -Here is an example of the Berkeley (default) format of output from -@command{size}: -@smallexample -$ size --format=Berkeley ranlib size -text data bss dec hex filename -294880 81920 11592 388392 5ed28 ranlib -294880 81920 11888 388688 5ee50 size -@end smallexample - -@noindent -This is the same data, but displayed closer to System V conventions: - -@smallexample -$ size --format=SysV ranlib size -ranlib : -section size addr -.text 294880 8192 -.data 81920 303104 -.bss 11592 385024 -Total 388392 - - -size : -section size addr -.text 294880 8192 -.data 81920 303104 -.bss 11888 385024 -Total 388688 -@end smallexample - -@item --help -Show a summary of acceptable arguments and options. - -@item -d -@itemx -o -@itemx -x -@itemx --radix=@var{number} -@cindex @command{size} number format -@cindex radix for section sizes -Using one of these options, you can control whether the size of each -section is given in decimal (@option{-d}, or @option{--radix=10}); octal -(@option{-o}, or @option{--radix=8}); or hexadecimal (@option{-x}, or -@option{--radix=16}). In @option{--radix=@var{number}}, only the three -values (8, 10, 16) are supported. The total size is always given in two -radices; decimal and hexadecimal for @option{-d} or @option{-x} output, or -octal and hexadecimal if you're using @option{-o}. - -@item --common -Print total size of common symbols in each file. When using Berkeley -format these are included in the bss size. - -@item -t -@itemx --totals -Show totals of all objects listed (Berkeley format listing mode only). - -@item --target=@var{bfdname} -@cindex object code format -Specify that the object-code format for @var{objfile} is -@var{bfdname}. This option may not be necessary; @command{size} can -automatically recognize many formats. -@xref{Target Selection}, for more information. - -@item -V -@itemx --version -Display the version number of @command{size}. -@end table - -@c man end - -@ignore -@c man begin SEEALSO size -ar(1), objdump(1), readelf(1), and the Info entries for @file{binutils}. -@c man end -@end ignore - -@node strings -@chapter strings -@kindex strings -@cindex listings strings -@cindex printing strings -@cindex strings, printing - -@c man title strings print the strings of printable characters in files. - -@smallexample -@c man begin SYNOPSIS strings -strings [@option{-afovV}] [@option{-}@var{min-len}] - [@option{-n} @var{min-len}] [@option{--bytes=}@var{min-len}] - [@option{-t} @var{radix}] [@option{--radix=}@var{radix}] - [@option{-e} @var{encoding}] [@option{--encoding=}@var{encoding}] - [@option{-}] [@option{--all}] [@option{--print-file-name}] - [@option{-T} @var{bfdname}] [@option{--target=}@var{bfdname}] - [@option{--help}] [@option{--version}] @var{file}@dots{} -@c man end -@end smallexample - -@c man begin DESCRIPTION strings - -For each @var{file} given, @sc{gnu} @command{strings} prints the printable -character sequences that are at least 4 characters long (or the number -given with the options below) and are followed by an unprintable -character. By default, it only prints the strings from the initialized -and loaded sections of object files; for other types of files, it prints -the strings from the whole file. - -@command{strings} is mainly useful for determining the contents of non-text -files. - -@c man end - -@c man begin OPTIONS strings - -@table @env -@item -a -@itemx --all -@itemx - -Do not scan only the initialized and loaded sections of object files; -scan the whole files. - -@item -f -@itemx --print-file-name -Print the name of the file before each string. - -@item --help -Print a summary of the program usage on the standard output and exit. - -@item -@var{min-len} -@itemx -n @var{min-len} -@itemx --bytes=@var{min-len} -Print sequences of characters that are at least @var{min-len} characters -long, instead of the default 4. - -@item -o -Like @samp{-t o}. Some other versions of @command{strings} have @option{-o} -act like @samp{-t d} instead. Since we can not be compatible with both -ways, we simply chose one. - -@item -t @var{radix} -@itemx --radix=@var{radix} -Print the offset within the file before each string. The single -character argument specifies the radix of the offset---@samp{o} for -octal, @samp{x} for hexadecimal, or @samp{d} for decimal. - -@item -e @var{encoding} -@itemx --encoding=@var{encoding} -Select the character encoding of the strings that are to be found. -Possible values for @var{encoding} are: @samp{s} = single-7-bit-byte -characters (ASCII, ISO 8859, etc., default), @samp{S} = -single-8-bit-byte characters, @samp{b} = 16-bit bigendian, @samp{l} = -16-bit littleendian, @samp{B} = 32-bit bigendian, @samp{L} = 32-bit -littleendian. Useful for finding wide character strings. (@samp{l} -and @samp{b} apply to, for example, Unicode UTF-16/UCS-2 encodings). - -@item -T @var{bfdname} -@itemx --target=@var{bfdname} -@cindex object code format -Specify an object code format other than your system's default format. -@xref{Target Selection}, for more information. - -@item -v -@itemx -V -@itemx --version -Print the program version number on the standard output and exit. -@end table - -@c man end - -@ignore -@c man begin SEEALSO strings -ar(1), nm(1), objdump(1), ranlib(1), readelf(1) -and the Info entries for @file{binutils}. -@c man end -@end ignore - -@node strip -@chapter strip - -@kindex strip -@cindex removing symbols -@cindex discarding symbols -@cindex symbols, discarding - -@c man title strip Discard symbols from object files. - -@smallexample -@c man begin SYNOPSIS strip -strip [@option{-F} @var{bfdname} |@option{--target=}@var{bfdname}] - [@option{-I} @var{bfdname} |@option{--input-target=}@var{bfdname}] - [@option{-O} @var{bfdname} |@option{--output-target=}@var{bfdname}] - [@option{-s}|@option{--strip-all}] - [@option{-S}|@option{-g}|@option{-d}|@option{--strip-debug}] - [@option{--strip-dwo}] - [@option{-K} @var{symbolname} |@option{--keep-symbol=}@var{symbolname}] - [@option{-N} @var{symbolname} |@option{--strip-symbol=}@var{symbolname}] - [@option{-w}|@option{--wildcard}] - [@option{-x}|@option{--discard-all}] [@option{-X} |@option{--discard-locals}] - [@option{-R} @var{sectionname} |@option{--remove-section=}@var{sectionname}] - [@option{-o} @var{file}] [@option{-p}|@option{--preserve-dates}] - [@option{-D}|@option{--enable-deterministic-archives}] - [@option{-U}|@option{--disable-deterministic-archives}] - [@option{--keep-file-symbols}] - [@option{--only-keep-debug}] - [@option{-v} |@option{--verbose}] [@option{-V}|@option{--version}] - [@option{--help}] [@option{--info}] - @var{objfile}@dots{} -@c man end -@end smallexample - -@c man begin DESCRIPTION strip - -@sc{gnu} @command{strip} discards all symbols from object files -@var{objfile}. The list of object files may include archives. -At least one object file must be given. - -@command{strip} modifies the files named in its argument, -rather than writing modified copies under different names. - -@c man end - -@c man begin OPTIONS strip - -@table @env -@item -F @var{bfdname} -@itemx --target=@var{bfdname} -Treat the original @var{objfile} as a file with the object -code format @var{bfdname}, and rewrite it in the same format. -@xref{Target Selection}, for more information. - -@item --help -Show a summary of the options to @command{strip} and exit. - -@item --info -Display a list showing all architectures and object formats available. - -@item -I @var{bfdname} -@itemx --input-target=@var{bfdname} -Treat the original @var{objfile} as a file with the object -code format @var{bfdname}. -@xref{Target Selection}, for more information. - -@item -O @var{bfdname} -@itemx --output-target=@var{bfdname} -Replace @var{objfile} with a file in the output format @var{bfdname}. -@xref{Target Selection}, for more information. - -@item -R @var{sectionname} -@itemx --remove-section=@var{sectionname} -Remove any section named @var{sectionname} from the output file. This -option may be given more than once. Note that using this option -inappropriately may make the output file unusable. The wildcard -character @samp{*} may be given at the end of @var{sectionname}. If -so, then any section starting with @var{sectionname} will be removed. - -@item -s -@itemx --strip-all -Remove all symbols. - -@item -g -@itemx -S -@itemx -d -@itemx --strip-debug -Remove debugging symbols only. - -@item --strip-dwo -Remove the contents of all DWARF .dwo sections, leaving the -remaining debugging sections and all symbols intact. -See the description of this option in the @command{objcopy} section -for more information. - -@item --strip-unneeded -Remove all symbols that are not needed for relocation processing. - -@item -K @var{symbolname} -@itemx --keep-symbol=@var{symbolname} -When stripping symbols, keep symbol @var{symbolname} even if it would -normally be stripped. This option may be given more than once. - -@item -N @var{symbolname} -@itemx --strip-symbol=@var{symbolname} -Remove symbol @var{symbolname} from the source file. This option may be -given more than once, and may be combined with strip options other than -@option{-K}. - -@item -o @var{file} -Put the stripped output in @var{file}, rather than replacing the -existing file. When this argument is used, only one @var{objfile} -argument may be specified. - -@item -p -@itemx --preserve-dates -Preserve the access and modification dates of the file. - -@item -D -@itemx --enable-deterministic-archives -@cindex deterministic archives -@kindex --enable-deterministic-archives -Operate in @emph{deterministic} mode. When copying archive members -and writing the archive index, use zero for UIDs, GIDs, timestamps, -and use consistent file modes for all files. - -If @file{binutils} was configured with -@option{--enable-deterministic-archives}, then this mode is on by default. -It can be disabled with the @samp{-U} option, below. - -@item -U -@itemx --disable-deterministic-archives -@cindex deterministic archives -@kindex --enable-deterministic-archives -Do @emph{not} operate in @emph{deterministic} mode. This is the -inverse of the @option{-D} option, above: when copying archive members -and writing the archive index, use their actual UID, GID, timestamp, -and file mode values. - -This is the default unless @file{binutils} was configured with -@option{--enable-deterministic-archives}. - -@item -w -@itemx --wildcard -Permit regular expressions in @var{symbolname}s used in other command -line options. The question mark (?), asterisk (*), backslash (\) and -square brackets ([]) operators can be used anywhere in the symbol -name. If the first character of the symbol name is the exclamation -point (!) then the sense of the switch is reversed for that symbol. -For example: - -@smallexample - -w -K !foo -K fo* -@end smallexample - -would cause strip to only keep symbols that start with the letters -``fo'', but to discard the symbol ``foo''. - -@item -x -@itemx --discard-all -Remove non-global symbols. - -@item -X -@itemx --discard-locals -Remove compiler-generated local symbols. -(These usually start with @samp{L} or @samp{.}.) - -@item --keep-file-symbols -When stripping a file, perhaps with @option{--strip-debug} or -@option{--strip-unneeded}, retain any symbols specifying source file names, -which would otherwise get stripped. - -@item --only-keep-debug -Strip a file, removing contents of any sections that would not be -stripped by @option{--strip-debug} and leaving the debugging sections -intact. In ELF files, this preserves all note sections in the output. - -The intention is that this option will be used in conjunction with -@option{--add-gnu-debuglink} to create a two part executable. One a -stripped binary which will occupy less space in RAM and in a -distribution and the second a debugging information file which is only -needed if debugging abilities are required. The suggested procedure -to create these files is as follows: - -@enumerate -@item Link the executable as normal. Assuming that is is called -@code{foo} then... -@item Run @code{objcopy --only-keep-debug foo foo.dbg} to -create a file containing the debugging info. -@item Run @code{objcopy --strip-debug foo} to create a -stripped executable. -@item Run @code{objcopy --add-gnu-debuglink=foo.dbg foo} -to add a link to the debugging info into the stripped executable. -@end enumerate - -Note---the choice of @code{.dbg} as an extension for the debug info -file is arbitrary. Also the @code{--only-keep-debug} step is -optional. You could instead do this: - -@enumerate -@item Link the executable as normal. -@item Copy @code{foo} to @code{foo.full} -@item Run @code{strip --strip-debug foo} -@item Run @code{objcopy --add-gnu-debuglink=foo.full foo} -@end enumerate - -i.e., the file pointed to by the @option{--add-gnu-debuglink} can be the -full executable. It does not have to be a file created by the -@option{--only-keep-debug} switch. - -Note---this switch is only intended for use on fully linked files. It -does not make sense to use it on object files where the debugging -information may be incomplete. Besides the gnu_debuglink feature -currently only supports the presence of one filename containing -debugging information, not multiple filenames on a one-per-object-file -basis. - -@item -V -@itemx --version -Show the version number for @command{strip}. - -@item -v -@itemx --verbose -Verbose output: list all object files modified. In the case of -archives, @samp{strip -v} lists all members of the archive. -@end table - -@c man end - -@ignore -@c man begin SEEALSO strip -the Info entries for @file{binutils}. -@c man end -@end ignore - -@node c++filt, addr2line, strip, Top -@chapter c++filt - -@kindex c++filt -@cindex demangling C++ symbols - -@c man title cxxfilt Demangle C++ and Java symbols. - -@smallexample -@c man begin SYNOPSIS cxxfilt -c++filt [@option{-_}|@option{--strip-underscore}] - [@option{-n}|@option{--no-strip-underscore}] - [@option{-p}|@option{--no-params}] - [@option{-t}|@option{--types}] - [@option{-i}|@option{--no-verbose}] - [@option{-s} @var{format}|@option{--format=}@var{format}] - [@option{--help}] [@option{--version}] [@var{symbol}@dots{}] -@c man end -@end smallexample - -@c man begin DESCRIPTION cxxfilt - -@kindex cxxfilt -The C++ and Java languages provide function overloading, which means -that you can write many functions with the same name, providing that -each function takes parameters of different types. In order to be -able to distinguish these similarly named functions C++ and Java -encode them into a low-level assembler name which uniquely identifies -each different version. This process is known as @dfn{mangling}. The -@command{c++filt} -@footnote{MS-DOS does not allow @kbd{+} characters in file names, so on -MS-DOS this program is named @command{CXXFILT}.} -program does the inverse mapping: it decodes (@dfn{demangles}) low-level -names into user-level names so that they can be read. - -Every alphanumeric word (consisting of letters, digits, underscores, -dollars, or periods) seen in the input is a potential mangled name. -If the name decodes into a C++ name, the C++ name replaces the -low-level name in the output, otherwise the original word is output. -In this way you can pass an entire assembler source file, containing -mangled names, through @command{c++filt} and see the same source file -containing demangled names. - -You can also use @command{c++filt} to decipher individual symbols by -passing them on the command line: - -@example -c++filt @var{symbol} -@end example - -If no @var{symbol} arguments are given, @command{c++filt} reads symbol -names from the standard input instead. All the results are printed on -the standard output. The difference between reading names from the -command line versus reading names from the standard input is that -command line arguments are expected to be just mangled names and no -checking is performed to separate them from surrounding text. Thus -for example: - -@smallexample -c++filt -n _Z1fv -@end smallexample - -will work and demangle the name to ``f()'' whereas: - -@smallexample -c++filt -n _Z1fv, -@end smallexample - -will not work. (Note the extra comma at the end of the mangled -name which makes it invalid). This command however will work: - -@smallexample -echo _Z1fv, | c++filt -n -@end smallexample - -and will display ``f(),'', i.e., the demangled name followed by a -trailing comma. This behaviour is because when the names are read -from the standard input it is expected that they might be part of an -assembler source file where there might be extra, extraneous -characters trailing after a mangled name. For example: - -@smallexample - .type _Z1fv, @@function -@end smallexample - -@c man end - -@c man begin OPTIONS cxxfilt - -@table @env -@item -_ -@itemx --strip-underscore -On some systems, both the C and C++ compilers put an underscore in front -of every name. For example, the C name @code{foo} gets the low-level -name @code{_foo}. This option removes the initial underscore. Whether -@command{c++filt} removes the underscore by default is target dependent. - -@item -n -@itemx --no-strip-underscore -Do not remove the initial underscore. - -@item -p -@itemx --no-params -When demangling the name of a function, do not display the types of -the function's parameters. - -@item -t -@itemx --types -Attempt to demangle types as well as function names. This is disabled -by default since mangled types are normally only used internally in -the compiler, and they can be confused with non-mangled names. For example, -a function called ``a'' treated as a mangled type name would be -demangled to ``signed char''. - -@item -i -@itemx --no-verbose -Do not include implementation details (if any) in the demangled -output. - -@item -s @var{format} -@itemx --format=@var{format} -@command{c++filt} can decode various methods of mangling, used by -different compilers. The argument to this option selects which -method it uses: - -@table @code -@item auto -Automatic selection based on executable (the default method) -@item gnu -the one used by the @sc{gnu} C++ compiler (g++) -@item lucid -the one used by the Lucid compiler (lcc) -@item arm -the one specified by the C++ Annotated Reference Manual -@item hp -the one used by the HP compiler (aCC) -@item edg -the one used by the EDG compiler -@item gnu-v3 -the one used by the @sc{gnu} C++ compiler (g++) with the V3 ABI. -@item java -the one used by the @sc{gnu} Java compiler (gcj) -@item gnat -the one used by the @sc{gnu} Ada compiler (GNAT). -@end table - -@item --help -Print a summary of the options to @command{c++filt} and exit. - -@item --version -Print the version number of @command{c++filt} and exit. -@end table - -@c man end - -@ignore -@c man begin SEEALSO cxxfilt -the Info entries for @file{binutils}. -@c man end -@end ignore - -@quotation -@emph{Warning:} @command{c++filt} is a new utility, and the details of its -user interface are subject to change in future releases. In particular, -a command-line option may be required in the future to decode a name -passed as an argument on the command line; in other words, - -@example -c++filt @var{symbol} -@end example - -@noindent -may in a future release become - -@example -c++filt @var{option} @var{symbol} -@end example -@end quotation - -@node addr2line -@chapter addr2line - -@kindex addr2line -@cindex address to file name and line number - -@c man title addr2line convert addresses into file names and line numbers. - -@smallexample -@c man begin SYNOPSIS addr2line -addr2line [@option{-a}|@option{--addresses}] - [@option{-b} @var{bfdname}|@option{--target=}@var{bfdname}] - [@option{-C}|@option{--demangle}[=@var{style}]] - [@option{-e} @var{filename}|@option{--exe=}@var{filename}] - [@option{-f}|@option{--functions}] [@option{-s}|@option{--basename}] - [@option{-i}|@option{--inlines}] - [@option{-p}|@option{--pretty-print}] - [@option{-j}|@option{--section=}@var{name}] - [@option{-H}|@option{--help}] [@option{-V}|@option{--version}] - [addr addr @dots{}] -@c man end -@end smallexample - -@c man begin DESCRIPTION addr2line - -@command{addr2line} translates addresses into file names and line numbers. -Given an address in an executable or an offset in a section of a relocatable -object, it uses the debugging information to figure out which file name and -line number are associated with it. - -The executable or relocatable object to use is specified with the @option{-e} -option. The default is the file @file{a.out}. The section in the relocatable -object to use is specified with the @option{-j} option. - -@command{addr2line} has two modes of operation. - -In the first, hexadecimal addresses are specified on the command line, -and @command{addr2line} displays the file name and line number for each -address. - -In the second, @command{addr2line} reads hexadecimal addresses from -standard input, and prints the file name and line number for each -address on standard output. In this mode, @command{addr2line} may be used -in a pipe to convert dynamically chosen addresses. - -The format of the output is @samp{FILENAME:LINENO}. The file name and -line number for each input address is printed on separate lines. - -If the @option{-f} option is used, then each @samp{FILENAME:LINENO} -line is preceded by @samp{FUNCTIONNAME} which is the name of the -function containing the address. - -If the @option{-i} option is used and the code at the given address is -present there because of inlining by the compiler then the -@samp{@{FUNCTIONNAME@} FILENAME:LINENO} information for the inlining -function will be displayed afterwards. This continues recursively -until there is no more inlining to report. - -If the @option{-a} option is used then the output is prefixed by the -input address. - -If the @option{-p} option is used then the output for each input -address is displayed on one, possibly quite long, line. If -@option{-p} is not used then the output is broken up into multiple -lines, based on the paragraphs above. - -If the file name or function name can not be determined, -@command{addr2line} will print two question marks in their place. If the -line number can not be determined, @command{addr2line} will print 0. - -@c man end - -@c man begin OPTIONS addr2line - -The long and short forms of options, shown here as alternatives, are -equivalent. - -@table @env -@item -a -@itemx --addresses -Display the address before the function name, file and line number -information. The address is printed with a @samp{0x} prefix to easily -identify it. - -@item -b @var{bfdname} -@itemx --target=@var{bfdname} -@cindex object code format -Specify that the object-code format for the object files is -@var{bfdname}. - -@item -C -@itemx --demangle[=@var{style}] -@cindex demangling in objdump -Decode (@dfn{demangle}) low-level symbol names into user-level names. -Besides removing any initial underscore prepended by the system, this -makes C++ function names readable. Different compilers have different -mangling styles. The optional demangling style argument can be used to -choose an appropriate demangling style for your compiler. @xref{c++filt}, -for more information on demangling. - -@item -e @var{filename} -@itemx --exe=@var{filename} -Specify the name of the executable for which addresses should be -translated. The default file is @file{a.out}. - -@item -f -@itemx --functions -Display function names as well as file and line number information. - -@item -s -@itemx --basenames -Display only the base of each file name. - -@item -i -@itemx --inlines -If the address belongs to a function that was inlined, the source -information for all enclosing scopes back to the first non-inlined -function will also be printed. For example, if @code{main} inlines -@code{callee1} which inlines @code{callee2}, and address is from -@code{callee2}, the source information for @code{callee1} and @code{main} -will also be printed. - -@item -j -@itemx --section -Read offsets relative to the specified section instead of absolute addresses. - -@item -p -@itemx --pretty-print -Make the output more human friendly: each location are printed on one line. -If option @option{-i} is specified, lines for all enclosing scopes are -prefixed with @samp{(inlined by)}. -@end table - -@c man end - -@ignore -@c man begin SEEALSO addr2line -Info entries for @file{binutils}. -@c man end -@end ignore - -@node nlmconv -@chapter nlmconv - -@command{nlmconv} converts a relocatable object file into a NetWare -Loadable Module. - -@ignore -@command{nlmconv} currently works with @samp{i386} object -files in @code{coff}, @sc{elf}, or @code{a.out} format, and @sc{SPARC} -object files in @sc{elf}, or @code{a.out} format@footnote{ -@command{nlmconv} should work with any @samp{i386} or @sc{sparc} object -format in the Binary File Descriptor library. It has only been tested -with the above formats.}. -@end ignore - -@quotation -@emph{Warning:} @command{nlmconv} is not always built as part of the binary -utilities, since it is only useful for NLM targets. -@end quotation - -@c man title nlmconv converts object code into an NLM. - -@smallexample -@c man begin SYNOPSIS nlmconv -nlmconv [@option{-I} @var{bfdname}|@option{--input-target=}@var{bfdname}] - [@option{-O} @var{bfdname}|@option{--output-target=}@var{bfdname}] - [@option{-T} @var{headerfile}|@option{--header-file=}@var{headerfile}] - [@option{-d}|@option{--debug}] [@option{-l} @var{linker}|@option{--linker=}@var{linker}] - [@option{-h}|@option{--help}] [@option{-V}|@option{--version}] - @var{infile} @var{outfile} -@c man end -@end smallexample - -@c man begin DESCRIPTION nlmconv - -@command{nlmconv} converts the relocatable @samp{i386} object file -@var{infile} into the NetWare Loadable Module @var{outfile}, optionally -reading @var{headerfile} for NLM header information. For instructions -on writing the NLM command file language used in header files, see the -@samp{linkers} section, @samp{NLMLINK} in particular, of the @cite{NLM -Development and Tools Overview}, which is part of the NLM Software -Developer's Kit (``NLM SDK''), available from Novell, Inc. -@command{nlmconv} uses the @sc{gnu} Binary File Descriptor library to read -@var{infile}; -@ifclear man -see @ref{BFD,,BFD,ld.info,Using LD}, for more information. -@end ifclear - -@command{nlmconv} can perform a link step. In other words, you can list -more than one object file for input if you list them in the definitions -file (rather than simply specifying one input file on the command line). -In this case, @command{nlmconv} calls the linker for you. - -@c man end - -@c man begin OPTIONS nlmconv - -@table @env -@item -I @var{bfdname} -@itemx --input-target=@var{bfdname} -Object format of the input file. @command{nlmconv} can usually determine -the format of a given file (so no default is necessary). -@xref{Target Selection}, for more information. - -@item -O @var{bfdname} -@itemx --output-target=@var{bfdname} -Object format of the output file. @command{nlmconv} infers the output -format based on the input format, e.g. for a @samp{i386} input file the -output format is @samp{nlm32-i386}. -@xref{Target Selection}, for more information. - -@item -T @var{headerfile} -@itemx --header-file=@var{headerfile} -Reads @var{headerfile} for NLM header information. For instructions on -writing the NLM command file language used in header files, see@ see the -@samp{linkers} section, of the @cite{NLM Development and Tools -Overview}, which is part of the NLM Software Developer's Kit, available -from Novell, Inc. - -@item -d -@itemx --debug -Displays (on standard error) the linker command line used by @command{nlmconv}. - -@item -l @var{linker} -@itemx --linker=@var{linker} -Use @var{linker} for any linking. @var{linker} can be an absolute or a -relative pathname. - -@item -h -@itemx --help -Prints a usage summary. - -@item -V -@itemx --version -Prints the version number for @command{nlmconv}. -@end table - -@c man end - -@ignore -@c man begin SEEALSO nlmconv -the Info entries for @file{binutils}. -@c man end -@end ignore - -@node windmc -@chapter windmc - -@command{windmc} may be used to generator Windows message resources. - -@quotation -@emph{Warning:} @command{windmc} is not always built as part of the binary -utilities, since it is only useful for Windows targets. -@end quotation - -@c man title windmc generates Windows message resources. - -@smallexample -@c man begin SYNOPSIS windmc -windmc [options] input-file -@c man end -@end smallexample - -@c man begin DESCRIPTION windmc - -@command{windmc} reads message definitions from an input file (.mc) and -translate them into a set of output files. The output files may be of -four kinds: - -@table @code -@item h -A C header file containing the message definitions. - -@item rc -A resource file compilable by the @command{windres} tool. - -@item bin -One or more binary files containing the resource data for a specific -message language. - -@item dbg -A C include file that maps message id's to their symbolic name. -@end table - -The exact description of these different formats is available in -documentation from Microsoft. - -When @command{windmc} converts from the @code{mc} format to the @code{bin} -format, @code{rc}, @code{h}, and optional @code{dbg} it is acting like the -Windows Message Compiler. - -@c man end - -@c man begin OPTIONS windmc - -@table @env -@item -a -@itemx --ascii_in -Specifies that the input file specified is ASCII. This is the default -behaviour. - -@item -A -@itemx --ascii_out -Specifies that messages in the output @code{bin} files should be in ASCII -format. - -@item -b -@itemx --binprefix -Specifies that @code{bin} filenames should have to be prefixed by the -basename of the source file. - -@item -c -@itemx --customflag -Sets the customer bit in all message id's. - -@item -C @var{codepage} -@itemx --codepage_in @var{codepage} -Sets the default codepage to be used to convert input file to UTF16. The -default is ocdepage 1252. - -@item -d -@itemx --decimal_values -Outputs the constants in the header file in decimal. Default is using -hexadecimal output. - -@item -e @var{ext} -@itemx --extension @var{ext} -The extension for the header file. The default is .h extension. - -@item -F @var{target} -@itemx --target @var{target} -Specify the BFD format to use for a bin file as output. This -is a BFD target name; you can use the @option{--help} option to see a list -of supported targets. Normally @command{windmc} will use the default -format, which is the first one listed by the @option{--help} option. -@ifclear man -@ref{Target Selection}. -@end ifclear - -@item -h @var{path} -@itemx --headerdir @var{path} -The target directory of the generated header file. The default is the -current directory. - -@item -H -@itemx --help -Displays a list of command line options and then exits. - -@item -m @var{characters} -@itemx --maxlength @var{characters} -Instructs @command{windmc} to generate a warning if the length -of any message exceeds the number specified. - -@item -n -@itemx --nullterminate -Terminate message text in @code{bin} files by zero. By default they are -terminated by CR/LF. - -@item -o -@itemx --hresult_use -Not yet implemented. Instructs @code{windmc} to generate an OLE2 header -file, using HRESULT definitions. Status codes are used if the flag is not -specified. - -@item -O @var{codepage} -@itemx --codepage_out @var{codepage} -Sets the default codepage to be used to output text files. The default -is ocdepage 1252. - -@item -r @var{path} -@itemx --rcdir @var{path} -The target directory for the generated @code{rc} script and the generated -@code{bin} files that the resource compiler script includes. The default -is the current directory. - -@item -u -@itemx --unicode_in -Specifies that the input file is UTF16. - -@item -U -@itemx --unicode_out -Specifies that messages in the output @code{bin} file should be in UTF16 -format. This is the default behaviour. - -@item -v -@item --verbose -Enable verbose mode. - -@item -V -@item --version -Prints the version number for @command{windmc}. - -@item -x @var{path} -@itemx --xdgb @var{path} -The path of the @code{dbg} C include file that maps message id's to the -symbolic name. No such file is generated without specifying the switch. -@end table - -@c man end - -@ignore -@c man begin SEEALSO windmc -the Info entries for @file{binutils}. -@c man end -@end ignore - -@node windres -@chapter windres - -@command{windres} may be used to manipulate Windows resources. - -@quotation -@emph{Warning:} @command{windres} is not always built as part of the binary -utilities, since it is only useful for Windows targets. -@end quotation - -@c man title windres manipulate Windows resources. - -@smallexample -@c man begin SYNOPSIS windres -windres [options] [input-file] [output-file] -@c man end -@end smallexample - -@c man begin DESCRIPTION windres - -@command{windres} reads resources from an input file and copies them into -an output file. Either file may be in one of three formats: - -@table @code -@item rc -A text format read by the Resource Compiler. - -@item res -A binary format generated by the Resource Compiler. - -@item coff -A COFF object or executable. -@end table - -The exact description of these different formats is available in -documentation from Microsoft. - -When @command{windres} converts from the @code{rc} format to the @code{res} -format, it is acting like the Windows Resource Compiler. When -@command{windres} converts from the @code{res} format to the @code{coff} -format, it is acting like the Windows @code{CVTRES} program. - -When @command{windres} generates an @code{rc} file, the output is similar -but not identical to the format expected for the input. When an input -@code{rc} file refers to an external filename, an output @code{rc} file -will instead include the file contents. - -If the input or output format is not specified, @command{windres} will -guess based on the file name, or, for the input file, the file contents. -A file with an extension of @file{.rc} will be treated as an @code{rc} -file, a file with an extension of @file{.res} will be treated as a -@code{res} file, and a file with an extension of @file{.o} or -@file{.exe} will be treated as a @code{coff} file. - -If no output file is specified, @command{windres} will print the resources -in @code{rc} format to standard output. - -The normal use is for you to write an @code{rc} file, use @command{windres} -to convert it to a COFF object file, and then link the COFF file into -your application. This will make the resources described in the -@code{rc} file available to Windows. - -@c man end - -@c man begin OPTIONS windres - -@table @env -@item -i @var{filename} -@itemx --input @var{filename} -The name of the input file. If this option is not used, then -@command{windres} will use the first non-option argument as the input file -name. If there are no non-option arguments, then @command{windres} will -read from standard input. @command{windres} can not read a COFF file from -standard input. - -@item -o @var{filename} -@itemx --output @var{filename} -The name of the output file. If this option is not used, then -@command{windres} will use the first non-option argument, after any used -for the input file name, as the output file name. If there is no -non-option argument, then @command{windres} will write to standard output. -@command{windres} can not write a COFF file to standard output. Note, -for compatibility with @command{rc} the option @option{-fo} is also -accepted, but its use is not recommended. - -@item -J @var{format} -@itemx --input-format @var{format} -The input format to read. @var{format} may be @samp{res}, @samp{rc}, or -@samp{coff}. If no input format is specified, @command{windres} will -guess, as described above. - -@item -O @var{format} -@itemx --output-format @var{format} -The output format to generate. @var{format} may be @samp{res}, -@samp{rc}, or @samp{coff}. If no output format is specified, -@command{windres} will guess, as described above. - -@item -F @var{target} -@itemx --target @var{target} -Specify the BFD format to use for a COFF file as input or output. This -is a BFD target name; you can use the @option{--help} option to see a list -of supported targets. Normally @command{windres} will use the default -format, which is the first one listed by the @option{--help} option. -@ifclear man -@ref{Target Selection}. -@end ifclear - -@item --preprocessor @var{program} -When @command{windres} reads an @code{rc} file, it runs it through the C -preprocessor first. This option may be used to specify the preprocessor -to use, including any leading arguments. The default preprocessor -argument is @code{gcc -E -xc-header -DRC_INVOKED}. - -@item --preprocessor-arg @var{option} -When @command{windres} reads an @code{rc} file, it runs it through -the C preprocessor first. This option may be used to specify additional -text to be passed to preprocessor on its command line. -This option can be used multiple times to add multiple options to the -preprocessor command line. - -@item -I @var{directory} -@itemx --include-dir @var{directory} -Specify an include directory to use when reading an @code{rc} file. -@command{windres} will pass this to the preprocessor as an @option{-I} -option. @command{windres} will also search this directory when looking for -files named in the @code{rc} file. If the argument passed to this command -matches any of the supported @var{formats} (as described in the @option{-J} -option), it will issue a deprecation warning, and behave just like the -@option{-J} option. New programs should not use this behaviour. If a -directory happens to match a @var{format}, simple prefix it with @samp{./} -to disable the backward compatibility. - -@item -D @var{target} -@itemx --define @var{sym}[=@var{val}] -Specify a @option{-D} option to pass to the preprocessor when reading an -@code{rc} file. - -@item -U @var{target} -@itemx --undefine @var{sym} -Specify a @option{-U} option to pass to the preprocessor when reading an -@code{rc} file. - -@item -r -Ignored for compatibility with rc. - -@item -v -Enable verbose mode. This tells you what the preprocessor is if you -didn't specify one. - -@item -c @var{val} -@item --codepage @var{val} -Specify the default codepage to use when reading an @code{rc} file. -@var{val} should be a hexadecimal prefixed by @samp{0x} or decimal -codepage code. The valid range is from zero up to 0xffff, but the -validity of the codepage is host and configuration dependent. - -@item -l @var{val} -@item --language @var{val} -Specify the default language to use when reading an @code{rc} file. -@var{val} should be a hexadecimal language code. The low eight bits are -the language, and the high eight bits are the sublanguage. - -@item --use-temp-file -Use a temporary file to instead of using popen to read the output of -the preprocessor. Use this option if the popen implementation is buggy -on the host (eg., certain non-English language versions of Windows 95 and -Windows 98 are known to have buggy popen where the output will instead -go the console). - -@item --no-use-temp-file -Use popen, not a temporary file, to read the output of the preprocessor. -This is the default behaviour. - -@item -h -@item --help -Prints a usage summary. - -@item -V -@item --version -Prints the version number for @command{windres}. - -@item --yydebug -If @command{windres} is compiled with @code{YYDEBUG} defined as @code{1}, -this will turn on parser debugging. -@end table - -@c man end - -@ignore -@c man begin SEEALSO windres -the Info entries for @file{binutils}. -@c man end -@end ignore - -@node dlltool -@chapter dlltool -@cindex DLL -@kindex dlltool - -@command{dlltool} is used to create the files needed to create dynamic -link libraries (DLLs) on systems which understand PE format image -files such as Windows. A DLL contains an export table which contains -information that the runtime loader needs to resolve references from a -referencing program. - -The export table is generated by this program by reading in a -@file{.def} file or scanning the @file{.a} and @file{.o} files which -will be in the DLL. A @file{.o} file can contain information in -special @samp{.drectve} sections with export information. - -@quotation -@emph{Note:} @command{dlltool} is not always built as part of the -binary utilities, since it is only useful for those targets which -support DLLs. -@end quotation - -@c man title dlltool Create files needed to build and use DLLs. - -@smallexample -@c man begin SYNOPSIS dlltool -dlltool [@option{-d}|@option{--input-def} @var{def-file-name}] - [@option{-b}|@option{--base-file} @var{base-file-name}] - [@option{-e}|@option{--output-exp} @var{exports-file-name}] - [@option{-z}|@option{--output-def} @var{def-file-name}] - [@option{-l}|@option{--output-lib} @var{library-file-name}] - [@option{-y}|@option{--output-delaylib} @var{library-file-name}] - [@option{--export-all-symbols}] [@option{--no-export-all-symbols}] - [@option{--exclude-symbols} @var{list}] - [@option{--no-default-excludes}] - [@option{-S}|@option{--as} @var{path-to-assembler}] [@option{-f}|@option{--as-flags} @var{options}] - [@option{-D}|@option{--dllname} @var{name}] [@option{-m}|@option{--machine} @var{machine}] - [@option{-a}|@option{--add-indirect}] - [@option{-U}|@option{--add-underscore}] [@option{--add-stdcall-underscore}] - [@option{-k}|@option{--kill-at}] [@option{-A}|@option{--add-stdcall-alias}] - [@option{-p}|@option{--ext-prefix-alias} @var{prefix}] - [@option{-x}|@option{--no-idata4}] [@option{-c}|@option{--no-idata5}] - [@option{--use-nul-prefixed-import-tables}] - [@option{-I}|@option{--identify} @var{library-file-name}] [@option{--identify-strict}] - [@option{-i}|@option{--interwork}] - [@option{-n}|@option{--nodelete}] [@option{-t}|@option{--temp-prefix} @var{prefix}] - [@option{-v}|@option{--verbose}] - [@option{-h}|@option{--help}] [@option{-V}|@option{--version}] - [@option{--no-leading-underscore}] [@option{--leading-underscore}] - [object-file @dots{}] -@c man end -@end smallexample - -@c man begin DESCRIPTION dlltool - -@command{dlltool} reads its inputs, which can come from the @option{-d} and -@option{-b} options as well as object files specified on the command -line. It then processes these inputs and if the @option{-e} option has -been specified it creates a exports file. If the @option{-l} option -has been specified it creates a library file and if the @option{-z} option -has been specified it creates a def file. Any or all of the @option{-e}, -@option{-l} and @option{-z} options can be present in one invocation of -dlltool. - -When creating a DLL, along with the source for the DLL, it is necessary -to have three other files. @command{dlltool} can help with the creation of -these files. - -The first file is a @file{.def} file which specifies which functions are -exported from the DLL, which functions the DLL imports, and so on. This -is a text file and can be created by hand, or @command{dlltool} can be used -to create it using the @option{-z} option. In this case @command{dlltool} -will scan the object files specified on its command line looking for -those functions which have been specially marked as being exported and -put entries for them in the @file{.def} file it creates. - -In order to mark a function as being exported from a DLL, it needs to -have an @option{-export:<name_of_function>} entry in the @samp{.drectve} -section of the object file. This can be done in C by using the -asm() operator: - -@smallexample - asm (".section .drectve"); - asm (".ascii \"-export:my_func\""); - - int my_func (void) @{ @dots{} @} -@end smallexample - -The second file needed for DLL creation is an exports file. This file -is linked with the object files that make up the body of the DLL and it -handles the interface between the DLL and the outside world. This is a -binary file and it can be created by giving the @option{-e} option to -@command{dlltool} when it is creating or reading in a @file{.def} file. - -The third file needed for DLL creation is the library file that programs -will link with in order to access the functions in the DLL (an `import -library'). This file can be created by giving the @option{-l} option to -dlltool when it is creating or reading in a @file{.def} file. - -If the @option{-y} option is specified, dlltool generates a delay-import -library that can be used instead of the normal import library to allow -a program to link to the dll only as soon as an imported function is -called for the first time. The resulting executable will need to be -linked to the static delayimp library containing __delayLoadHelper2(), -which in turn will import LoadLibraryA and GetProcAddress from kernel32. - -@command{dlltool} builds the library file by hand, but it builds the -exports file by creating temporary files containing assembler statements -and then assembling these. The @option{-S} command line option can be -used to specify the path to the assembler that dlltool will use, -and the @option{-f} option can be used to pass specific flags to that -assembler. The @option{-n} can be used to prevent dlltool from deleting -these temporary assembler files when it is done, and if @option{-n} is -specified twice then this will prevent dlltool from deleting the -temporary object files it used to build the library. - -Here is an example of creating a DLL from a source file @samp{dll.c} and -also creating a program (from an object file called @samp{program.o}) -that uses that DLL: - -@smallexample - gcc -c dll.c - dlltool -e exports.o -l dll.lib dll.o - gcc dll.o exports.o -o dll.dll - gcc program.o dll.lib -o program -@end smallexample - - -@command{dlltool} may also be used to query an existing import library -to determine the name of the DLL to which it is associated. See the -description of the @option{-I} or @option{--identify} option. - -@c man end - -@c man begin OPTIONS dlltool - -The command line options have the following meanings: - -@table @env - -@item -d @var{filename} -@itemx --input-def @var{filename} -@cindex input .def file -Specifies the name of a @file{.def} file to be read in and processed. - -@item -b @var{filename} -@itemx --base-file @var{filename} -@cindex base files -Specifies the name of a base file to be read in and processed. The -contents of this file will be added to the relocation section in the -exports file generated by dlltool. - -@item -e @var{filename} -@itemx --output-exp @var{filename} -Specifies the name of the export file to be created by dlltool. - -@item -z @var{filename} -@itemx --output-def @var{filename} -Specifies the name of the @file{.def} file to be created by dlltool. - -@item -l @var{filename} -@itemx --output-lib @var{filename} -Specifies the name of the library file to be created by dlltool. - -@item -y @var{filename} -@itemx --output-delaylib @var{filename} -Specifies the name of the delay-import library file to be created by dlltool. - -@item --export-all-symbols -Treat all global and weak defined symbols found in the input object -files as symbols to be exported. There is a small list of symbols which -are not exported by default; see the @option{--no-default-excludes} -option. You may add to the list of symbols to not export by using the -@option{--exclude-symbols} option. - -@item --no-export-all-symbols -Only export symbols explicitly listed in an input @file{.def} file or in -@samp{.drectve} sections in the input object files. This is the default -behaviour. The @samp{.drectve} sections are created by @samp{dllexport} -attributes in the source code. - -@item --exclude-symbols @var{list} -Do not export the symbols in @var{list}. This is a list of symbol names -separated by comma or colon characters. The symbol names should not -contain a leading underscore. This is only meaningful when -@option{--export-all-symbols} is used. - -@item --no-default-excludes -When @option{--export-all-symbols} is used, it will by default avoid -exporting certain special symbols. The current list of symbols to avoid -exporting is @samp{DllMain@@12}, @samp{DllEntryPoint@@0}, -@samp{impure_ptr}. You may use the @option{--no-default-excludes} option -to go ahead and export these special symbols. This is only meaningful -when @option{--export-all-symbols} is used. - -@item -S @var{path} -@itemx --as @var{path} -Specifies the path, including the filename, of the assembler to be used -to create the exports file. - -@item -f @var{options} -@itemx --as-flags @var{options} -Specifies any specific command line options to be passed to the -assembler when building the exports file. This option will work even if -the @option{-S} option is not used. This option only takes one argument, -and if it occurs more than once on the command line, then later -occurrences will override earlier occurrences. So if it is necessary to -pass multiple options to the assembler they should be enclosed in -double quotes. - -@item -D @var{name} -@itemx --dll-name @var{name} -Specifies the name to be stored in the @file{.def} file as the name of -the DLL when the @option{-e} option is used. If this option is not -present, then the filename given to the @option{-e} option will be -used as the name of the DLL. - -@item -m @var{machine} -@itemx -machine @var{machine} -Specifies the type of machine for which the library file should be -built. @command{dlltool} has a built in default type, depending upon how -it was created, but this option can be used to override that. This is -normally only useful when creating DLLs for an ARM processor, when the -contents of the DLL are actually encode using Thumb instructions. - -@item -a -@itemx --add-indirect -Specifies that when @command{dlltool} is creating the exports file it -should add a section which allows the exported functions to be -referenced without using the import library. Whatever the hell that -means! - -@item -U -@itemx --add-underscore -Specifies that when @command{dlltool} is creating the exports file it -should prepend an underscore to the names of @emph{all} exported symbols. - -@item --no-leading-underscore -@item --leading-underscore -Specifies whether standard symbol should be forced to be prefixed, or -not. - -@item --add-stdcall-underscore -Specifies that when @command{dlltool} is creating the exports file it -should prepend an underscore to the names of exported @emph{stdcall} -functions. Variable names and non-stdcall function names are not modified. -This option is useful when creating GNU-compatible import libs for third -party DLLs that were built with MS-Windows tools. - -@item -k -@itemx --kill-at -Specifies that when @command{dlltool} is creating the exports file it -should not append the string @samp{@@ <number>}. These numbers are -called ordinal numbers and they represent another way of accessing the -function in a DLL, other than by name. - -@item -A -@itemx --add-stdcall-alias -Specifies that when @command{dlltool} is creating the exports file it -should add aliases for stdcall symbols without @samp{@@ <number>} -in addition to the symbols with @samp{@@ <number>}. - -@item -p -@itemx --ext-prefix-alias @var{prefix} -Causes @command{dlltool} to create external aliases for all DLL -imports with the specified prefix. The aliases are created for both -external and import symbols with no leading underscore. - -@item -x -@itemx --no-idata4 -Specifies that when @command{dlltool} is creating the exports and library -files it should omit the @code{.idata4} section. This is for compatibility -with certain operating systems. - -@item --use-nul-prefixed-import-tables -Specifies that when @command{dlltool} is creating the exports and library -files it should prefix the @code{.idata4} and @code{.idata5} by zero an -element. This emulates old gnu import library generation of -@code{dlltool}. By default this option is turned off. - -@item -c -@itemx --no-idata5 -Specifies that when @command{dlltool} is creating the exports and library -files it should omit the @code{.idata5} section. This is for compatibility -with certain operating systems. - -@item -I @var{filename} -@itemx --identify @var{filename} -Specifies that @command{dlltool} should inspect the import library -indicated by @var{filename} and report, on @code{stdout}, the name(s) -of the associated DLL(s). This can be performed in addition to any -other operations indicated by the other options and arguments. -@command{dlltool} fails if the import library does not exist or is not -actually an import library. See also @option{--identify-strict}. - -@item --identify-strict -Modifies the behavior of the @option{--identify} option, such -that an error is reported if @var{filename} is associated with -more than one DLL. - -@item -i -@itemx --interwork -Specifies that @command{dlltool} should mark the objects in the library -file and exports file that it produces as supporting interworking -between ARM and Thumb code. - -@item -n -@itemx --nodelete -Makes @command{dlltool} preserve the temporary assembler files it used to -create the exports file. If this option is repeated then dlltool will -also preserve the temporary object files it uses to create the library -file. - -@item -t @var{prefix} -@itemx --temp-prefix @var{prefix} -Makes @command{dlltool} use @var{prefix} when constructing the names of -temporary assembler and object files. By default, the temp file prefix -is generated from the pid. - -@item -v -@itemx --verbose -Make dlltool describe what it is doing. - -@item -h -@itemx --help -Displays a list of command line options and then exits. - -@item -V -@itemx --version -Displays dlltool's version number and then exits. - -@end table - -@c man end - -@menu -* def file format:: The format of the dlltool @file{.def} file -@end menu - -@node def file format -@section The format of the @command{dlltool} @file{.def} file - -A @file{.def} file contains any number of the following commands: - -@table @asis - -@item @code{NAME} @var{name} @code{[ ,} @var{base} @code{]} -The result is going to be named @var{name}@code{.exe}. - -@item @code{LIBRARY} @var{name} @code{[ ,} @var{base} @code{]} -The result is going to be named @var{name}@code{.dll}. -Note: If you want to use LIBRARY as name then you need to quote. Otherwise -this will fail due a necessary hack for libtool (see PR binutils/13710 for more -details). - -@item @code{EXPORTS ( ( (} @var{name1} @code{[ = } @var{name2} @code{] ) | ( } @var{name1} @code{=} @var{module-name} @code{.} @var{external-name} @code{) ) [ == } @var{its_name} @code{]} -@item @code{[} @var{integer} @code{] [ NONAME ] [ CONSTANT ] [ DATA ] [ PRIVATE ] ) *} -Declares @var{name1} as an exported symbol from the DLL, with optional -ordinal number @var{integer}, or declares @var{name1} as an alias -(forward) of the function @var{external-name} in the DLL. -If @var{its_name} is specified, this name is used as string in export table. -@var{module-name}. -Note: The @code{EXPORTS} has to be the last command in .def file, as keywords -are treated - beside @code{LIBRARY} - as simple name-identifiers. -If you want to use LIBRARY as name then you need to quote it. - -@item @code{IMPORTS ( (} @var{internal-name} @code{=} @var{module-name} @code{.} @var{integer} @code{) | [} @var{internal-name} @code{= ]} @var{module-name} @code{.} @var{external-name} @code{) [ == ) @var{its_name} @code{]} *} -Declares that @var{external-name} or the exported function whose -ordinal number is @var{integer} is to be imported from the file -@var{module-name}. If @var{internal-name} is specified then this is -the name that the imported function will be referred to in the body of -the DLL. -If @var{its_name} is specified, this name is used as string in import table. -Note: The @code{IMPORTS} has to be the last command in .def file, as keywords -are treated - beside @code{LIBRARY} - as simple name-identifiers. -If you want to use LIBRARY as name then you need to quote it. - -@item @code{DESCRIPTION} @var{string} -Puts @var{string} into the output @file{.exp} file in the -@code{.rdata} section. - -@item @code{STACKSIZE} @var{number-reserve} @code{[, } @var{number-commit} @code{]} -@item @code{HEAPSIZE} @var{number-reserve} @code{[, } @var{number-commit} @code{]} -Generates @code{--stack} or @code{--heap} -@var{number-reserve},@var{number-commit} in the output @code{.drectve} -section. The linker will see this and act upon it. - -@item @code{CODE} @var{attr} @code{+} -@item @code{DATA} @var{attr} @code{+} -@item @code{SECTIONS (} @var{section-name} @var{attr}@code{ + ) *} -Generates @code{--attr} @var{section-name} @var{attr} in the output -@code{.drectve} section, where @var{attr} is one of @code{READ}, -@code{WRITE}, @code{EXECUTE} or @code{SHARED}. The linker will see -this and act upon it. - -@end table - -@ignore -@c man begin SEEALSO dlltool -The Info pages for @file{binutils}. -@c man end -@end ignore - -@node readelf -@chapter readelf - -@cindex ELF file information -@kindex readelf - -@c man title readelf Displays information about ELF files. - -@smallexample -@c man begin SYNOPSIS readelf -readelf [@option{-a}|@option{--all}] - [@option{-h}|@option{--file-header}] - [@option{-l}|@option{--program-headers}|@option{--segments}] - [@option{-S}|@option{--section-headers}|@option{--sections}] - [@option{-g}|@option{--section-groups}] - [@option{-t}|@option{--section-details}] - [@option{-e}|@option{--headers}] - [@option{-s}|@option{--syms}|@option{--symbols}] - [@option{--dyn-syms}] - [@option{-n}|@option{--notes}] - [@option{-r}|@option{--relocs}] - [@option{-u}|@option{--unwind}] - [@option{-d}|@option{--dynamic}] - [@option{-V}|@option{--version-info}] - [@option{-A}|@option{--arch-specific}] - [@option{-D}|@option{--use-dynamic}] - [@option{-x} <number or name>|@option{--hex-dump=}<number or name>] - [@option{-p} <number or name>|@option{--string-dump=}<number or name>] - [@option{-R} <number or name>|@option{--relocated-dump=}<number or name>] - [@option{-c}|@option{--archive-index}] - [@option{-w[lLiaprmfFsoRt]}| - @option{--debug-dump}[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]] - [@option{--dwarf-depth=@var{n}}] - [@option{--dwarf-start=@var{n}}] - [@option{-I}|@option{--histogram}] - [@option{-v}|@option{--version}] - [@option{-W}|@option{--wide}] - [@option{-H}|@option{--help}] - @var{elffile}@dots{} -@c man end -@end smallexample - -@c man begin DESCRIPTION readelf - -@command{readelf} displays information about one or more ELF format object -files. The options control what particular information to display. - -@var{elffile}@dots{} are the object files to be examined. 32-bit and -64-bit ELF files are supported, as are archives containing ELF files. - -This program performs a similar function to @command{objdump} but it -goes into more detail and it exists independently of the @sc{bfd} -library, so if there is a bug in @sc{bfd} then readelf will not be -affected. - -@c man end - -@c man begin OPTIONS readelf - -The long and short forms of options, shown here as alternatives, are -equivalent. At least one option besides @samp{-v} or @samp{-H} must be -given. - -@table @env -@item -a -@itemx --all -Equivalent to specifying @option{--file-header}, -@option{--program-headers}, @option{--sections}, @option{--symbols}, -@option{--relocs}, @option{--dynamic}, @option{--notes} and -@option{--version-info}. - -@item -h -@itemx --file-header -@cindex ELF file header information -Displays the information contained in the ELF header at the start of the -file. - -@item -l -@itemx --program-headers -@itemx --segments -@cindex ELF program header information -@cindex ELF segment information -Displays the information contained in the file's segment headers, if it -has any. - -@item -S -@itemx --sections -@itemx --section-headers -@cindex ELF section information -Displays the information contained in the file's section headers, if it -has any. - -@item -g -@itemx --section-groups -@cindex ELF section group information -Displays the information contained in the file's section groups, if it -has any. - -@item -t -@itemx --section-details -@cindex ELF section information -Displays the detailed section information. Implies @option{-S}. - -@item -s -@itemx --symbols -@itemx --syms -@cindex ELF symbol table information -Displays the entries in symbol table section of the file, if it has one. - -@item --dyn-syms -@cindex ELF dynamic symbol table information -Displays the entries in dynamic symbol table section of the file, if it -has one. - -@item -e -@itemx --headers -Display all the headers in the file. Equivalent to @option{-h -l -S}. - -@item -n -@itemx --notes -@cindex ELF notes -Displays the contents of the NOTE segments and/or sections, if any. - -@item -r -@itemx --relocs -@cindex ELF reloc information -Displays the contents of the file's relocation section, if it has one. - -@item -u -@itemx --unwind -@cindex unwind information -Displays the contents of the file's unwind section, if it has one. Only -the unwind sections for IA64 ELF files, as well as ARM unwind tables -(@code{.ARM.exidx} / @code{.ARM.extab}) are currently supported. - -@item -d -@itemx --dynamic -@cindex ELF dynamic section information -Displays the contents of the file's dynamic section, if it has one. - -@item -V -@itemx --version-info -@cindex ELF version sections information -Displays the contents of the version sections in the file, it they -exist. - -@item -A -@itemx --arch-specific -Displays architecture-specific information in the file, if there -is any. - -@item -D -@itemx --use-dynamic -When displaying symbols, this option makes @command{readelf} use the -symbol hash tables in the file's dynamic section, rather than the -symbol table sections. - -@item -x <number or name> -@itemx --hex-dump=<number or name> -Displays the contents of the indicated section as a hexadecimal bytes. -A number identifies a particular section by index in the section table; -any other string identifies all sections with that name in the object file. - -@item -R <number or name> -@itemx --relocated-dump=<number or name> -Displays the contents of the indicated section as a hexadecimal -bytes. A number identifies a particular section by index in the -section table; any other string identifies all sections with that name -in the object file. The contents of the section will be relocated -before they are displayed. - -@item -p <number or name> -@itemx --string-dump=<number or name> -Displays the contents of the indicated section as printable strings. -A number identifies a particular section by index in the section table; -any other string identifies all sections with that name in the object file. - -@item -c -@itemx --archive-index -@cindex Archive file symbol index information -Displays the file symbol index information contained in the header part -of binary archives. Performs the same function as the @option{t} -command to @command{ar}, but without using the BFD library. @xref{ar}. - -@item -w[lLiaprmfFsoRt] -@itemx --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index] -Displays the contents of the debug sections in the file, if any are -present. If one of the optional letters or words follows the switch -then only data found in those specific sections will be dumped. - -Note that there is no single letter option to display the content of -trace sections or .gdb_index. - -Note: the @option{=decodedline} option will display the interpreted -contents of a .debug_line section whereas the @option{=rawline} option -dumps the contents in a raw format. - -Note: the @option{=frames-interp} option will display the interpreted -contents of a .debug_frame section whereas the @option{=frames} option -dumps the contents in a raw format. - -Note: the output from the @option{=info} option can also be affected -by the options @option{--dwarf-depth} and @option{--dwarf-start}. - -@item --dwarf-depth=@var{n} -Limit the dump of the @code{.debug_info} section to @var{n} children. -This is only useful with @option{--debug-dump=info}. The default is -to print all DIEs; the special value 0 for @var{n} will also have this -effect. - -With a non-zero value for @var{n}, DIEs at or deeper than @var{n} -levels will not be printed. The range for @var{n} is zero-based. - -@item --dwarf-start=@var{n} -Print only DIEs beginning with the DIE numbered @var{n}. This is only -useful with @option{--debug-dump=info}. - -If specified, this option will suppress printing of any header -information and all DIEs before the DIE numbered @var{n}. Only -siblings and children of the specified DIE will be printed. - -This can be used in conjunction with @option{--dwarf-depth}. - -@item -I -@itemx --histogram -Display a histogram of bucket list lengths when displaying the contents -of the symbol tables. - -@item -v -@itemx --version -Display the version number of readelf. - -@item -W -@itemx --wide -Don't break output lines to fit into 80 columns. By default -@command{readelf} breaks section header and segment listing lines for -64-bit ELF files, so that they fit into 80 columns. This option causes -@command{readelf} to print each section header resp. each segment one a -single line, which is far more readable on terminals wider than 80 columns. - -@item -H -@itemx --help -Display the command line options understood by @command{readelf}. - -@end table - -@c man end - -@ignore -@c man begin SEEALSO readelf -objdump(1), and the Info entries for @file{binutils}. -@c man end -@end ignore - -@node elfedit -@chapter elfedit - -@cindex Update ELF header -@kindex elfedit - -@c man title elfedit Update the ELF header of ELF files. - -@smallexample -@c man begin SYNOPSIS elfedit -elfedit [@option{--input-mach=}@var{machine}] - [@option{--input-type=}@var{type}] - [@option{--input-osabi=}@var{osabi}] - @option{--output-mach=}@var{machine} - @option{--output-type=}@var{type} - @option{--output-osabi=}@var{osabi} - [@option{-v}|@option{--version}] - [@option{-h}|@option{--help}] - @var{elffile}@dots{} -@c man end -@end smallexample - -@c man begin DESCRIPTION elfedit - -@command{elfedit} updates the ELF header of ELF files which have -the matching ELF machine and file types. The options control how and -which fields in the ELF header should be updated. - -@var{elffile}@dots{} are the ELF files to be updated. 32-bit and -64-bit ELF files are supported, as are archives containing ELF files. -@c man end - -@c man begin OPTIONS elfedit - -The long and short forms of options, shown here as alternatives, are -equivalent. At least one of the @option{--output-mach}, -@option{--output-type} and @option{--output-osabi} options must be given. - -@table @env - -@item --input-mach=@var{machine} -Set the matching input ELF machine type to @var{machine}. If -@option{--input-mach} isn't specified, it will match any ELF -machine types. - -The supported ELF machine types are, @var{L1OM}, @var{K1OM} and -@var{x86-64}. - -@item --output-mach=@var{machine} -Change the ELF machine type in the ELF header to @var{machine}. The -supported ELF machine types are the same as @option{--input-mach}. - -@item --input-type=@var{type} -Set the matching input ELF file type to @var{type}. If -@option{--input-type} isn't specified, it will match any ELF file types. - -The supported ELF file types are, @var{rel}, @var{exec} and @var{dyn}. - -@item --output-type=@var{type} -Change the ELF file type in the ELF header to @var{type}. The -supported ELF types are the same as @option{--input-type}. - -@item --input-osabi=@var{osabi} -Set the matching input ELF file OSABI to @var{osabi}. If -@option{--input-osabi} isn't specified, it will match any ELF OSABIs. - -The supported ELF OSABIs are, @var{none}, @var{HPUX}, @var{NetBSD}, -@var{GNU}, @var{Linux} (alias for @var{GNU}), -@var{Solaris}, @var{AIX}, @var{Irix}, -@var{FreeBSD}, @var{TRU64}, @var{Modesto}, @var{OpenBSD}, @var{OpenVMS}, -@var{NSK}, @var{AROS} and @var{FenixOS}. - -@item --output-osabi=@var{osabi} -Change the ELF OSABI in the ELF header to @var{osabi}. The -supported ELF OSABI are the same as @option{--input-osabi}. - -@item -v -@itemx --version -Display the version number of @command{elfedit}. - -@item -h -@itemx --help -Display the command line options understood by @command{elfedit}. - -@end table - -@c man end - -@ignore -@c man begin SEEALSO elfedit -readelf(1), and the Info entries for @file{binutils}. -@c man end -@end ignore - -@node Common Options -@chapter Common Options - -The following command-line options are supported by all of the -programs described in this manual. - -@c man begin OPTIONS -@table @env -@include at-file.texi -@c man end - -@item --help -Display the command-line options supported by the program. - -@item --version -Display the version number of the program. - -@c man begin OPTIONS -@end table -@c man end - -@node Selecting the Target System -@chapter Selecting the Target System - -You can specify two aspects of the target system to the @sc{gnu} -binary file utilities, each in several ways: - -@itemize @bullet -@item -the target - -@item -the architecture -@end itemize - -In the following summaries, the lists of ways to specify values are in -order of decreasing precedence. The ways listed first override those -listed later. - -The commands to list valid values only list the values for which the -programs you are running were configured. If they were configured with -@option{--enable-targets=all}, the commands list most of the available -values, but a few are left out; not all targets can be configured in at -once because some of them can only be configured @dfn{native} (on hosts -with the same type as the target system). - -@menu -* Target Selection:: -* Architecture Selection:: -@end menu - -@node Target Selection -@section Target Selection - -A @dfn{target} is an object file format. A given target may be -supported for multiple architectures (@pxref{Architecture Selection}). -A target selection may also have variations for different operating -systems or architectures. - -The command to list valid target values is @samp{objdump -i} -(the first column of output contains the relevant information). - -Some sample values are: @samp{a.out-hp300bsd}, @samp{ecoff-littlemips}, -@samp{a.out-sunos-big}. - -You can also specify a target using a configuration triplet. This is -the same sort of name that is passed to @file{configure} to specify a -target. When you use a configuration triplet as an argument, it must be -fully canonicalized. You can see the canonical version of a triplet by -running the shell script @file{config.sub} which is included with the -sources. - -Some sample configuration triplets are: @samp{m68k-hp-bsd}, -@samp{mips-dec-ultrix}, @samp{sparc-sun-sunos}. - -@subheading @command{objdump} Target - -Ways to specify: - -@enumerate -@item -command line option: @option{-b} or @option{--target} - -@item -environment variable @code{GNUTARGET} - -@item -deduced from the input file -@end enumerate - -@subheading @command{objcopy} and @command{strip} Input Target - -Ways to specify: - -@enumerate -@item -command line options: @option{-I} or @option{--input-target}, or @option{-F} or @option{--target} - -@item -environment variable @code{GNUTARGET} - -@item -deduced from the input file -@end enumerate - -@subheading @command{objcopy} and @command{strip} Output Target - -Ways to specify: - -@enumerate -@item -command line options: @option{-O} or @option{--output-target}, or @option{-F} or @option{--target} - -@item -the input target (see ``@command{objcopy} and @command{strip} Input Target'' above) - -@item -environment variable @code{GNUTARGET} - -@item -deduced from the input file -@end enumerate - -@subheading @command{nm}, @command{size}, and @command{strings} Target - -Ways to specify: - -@enumerate -@item -command line option: @option{--target} - -@item -environment variable @code{GNUTARGET} - -@item -deduced from the input file -@end enumerate - -@node Architecture Selection -@section Architecture Selection - -An @dfn{architecture} is a type of @sc{cpu} on which an object file is -to run. Its name may contain a colon, separating the name of the -processor family from the name of the particular @sc{cpu}. - -The command to list valid architecture values is @samp{objdump -i} (the -second column contains the relevant information). - -Sample values: @samp{m68k:68020}, @samp{mips:3000}, @samp{sparc}. - -@subheading @command{objdump} Architecture - -Ways to specify: - -@enumerate -@item -command line option: @option{-m} or @option{--architecture} - -@item -deduced from the input file -@end enumerate - -@subheading @command{objcopy}, @command{nm}, @command{size}, @command{strings} Architecture - -Ways to specify: - -@enumerate -@item -deduced from the input file -@end enumerate - -@node Reporting Bugs -@chapter Reporting Bugs -@cindex bugs -@cindex reporting bugs - -Your bug reports play an essential role in making the binary utilities -reliable. - -Reporting a bug may help you by bringing a solution to your problem, or -it may not. But in any case the principal function of a bug report is -to help the entire community by making the next version of the binary -utilities work better. Bug reports are your contribution to their -maintenance. - -In order for a bug report to serve its purpose, you must include the -information that enables us to fix the bug. - -@menu -* Bug Criteria:: Have you found a bug? -* Bug Reporting:: How to report bugs -@end menu - -@node Bug Criteria -@section Have You Found a Bug? -@cindex bug criteria - -If you are not sure whether you have found a bug, here are some guidelines: - -@itemize @bullet -@cindex fatal signal -@cindex crash -@item -If a binary utility gets a fatal signal, for any input whatever, that is -a bug. Reliable utilities never crash. - -@cindex error on valid input -@item -If a binary utility produces an error message for valid input, that is a -bug. - -@item -If you are an experienced user of binary utilities, your suggestions for -improvement are welcome in any case. -@end itemize - -@node Bug Reporting -@section How to Report Bugs -@cindex bug reports -@cindex bugs, reporting - -A number of companies and individuals offer support for @sc{gnu} -products. If you obtained the binary utilities from a support -organization, we recommend you contact that organization first. - -You can find contact information for many support companies and -individuals in the file @file{etc/SERVICE} in the @sc{gnu} Emacs -distribution. - -@ifset BUGURL -In any event, we also recommend that you send bug reports for the binary -utilities to @value{BUGURL}. -@end ifset - -The fundamental principle of reporting bugs usefully is this: -@strong{report all the facts}. If you are not sure whether to state a -fact or leave it out, state it! - -Often people omit facts because they think they know what causes the -problem and assume that some details do not matter. Thus, you might -assume that the name of a file you use in an example does not matter. -Well, probably it does not, but one cannot be sure. Perhaps the bug is -a stray memory reference which happens to fetch from the location where -that pathname is stored in memory; perhaps, if the pathname were -different, the contents of that location would fool the utility into -doing the right thing despite the bug. Play it safe and give a -specific, complete example. That is the easiest thing for you to do, -and the most helpful. - -Keep in mind that the purpose of a bug report is to enable us to fix the bug if -it is new to us. Therefore, always write your bug reports on the assumption -that the bug has not been reported previously. - -Sometimes people give a few sketchy facts and ask, ``Does this ring a -bell?'' This cannot help us fix a bug, so it is basically useless. We -respond by asking for enough details to enable us to investigate. -You might as well expedite matters by sending them to begin with. - -To enable us to fix the bug, you should include all these things: - -@itemize @bullet -@item -The version of the utility. Each utility announces it if you start it -with the @option{--version} argument. - -Without this, we will not know whether there is any point in looking for -the bug in the current version of the binary utilities. - -@item -Any patches you may have applied to the source, including any patches -made to the @code{BFD} library. - -@item -The type of machine you are using, and the operating system name and -version number. - -@item -What compiler (and its version) was used to compile the utilities---e.g. -``@code{gcc-2.7}''. - -@item -The command arguments you gave the utility to observe the bug. To -guarantee you will not omit something important, list them all. A copy -of the Makefile (or the output from make) is sufficient. - -If we were to try to guess the arguments, we would probably guess wrong -and then we might not encounter the bug. - -@item -A complete input file, or set of input files, that will reproduce the -bug. If the utility is reading an object file or files, then it is -generally most helpful to send the actual object files. - -If the source files were produced exclusively using @sc{gnu} programs -(e.g., @command{gcc}, @command{gas}, and/or the @sc{gnu} @command{ld}), then it -may be OK to send the source files rather than the object files. In -this case, be sure to say exactly what version of @command{gcc}, or -whatever, was used to produce the object files. Also say how -@command{gcc}, or whatever, was configured. - -@item -A description of what behavior you observe that you believe is -incorrect. For example, ``It gets a fatal signal.'' - -Of course, if the bug is that the utility gets a fatal signal, then we -will certainly notice it. But if the bug is incorrect output, we might -not notice unless it is glaringly wrong. You might as well not give us -a chance to make a mistake. - -Even if the problem you experience is a fatal signal, you should still -say so explicitly. Suppose something strange is going on, such as your -copy of the utility is out of sync, or you have encountered a bug in -the C library on your system. (This has happened!) Your copy might -crash and ours would not. If you told us to expect a crash, then when -ours fails to crash, we would know that the bug was not happening for -us. If you had not told us to expect a crash, then we would not be able -to draw any conclusion from our observations. - -@item -If you wish to suggest changes to the source, send us context diffs, as -generated by @command{diff} with the @option{-u}, @option{-c}, or @option{-p} -option. Always send diffs from the old file to the new file. If you -wish to discuss something in the @command{ld} source, refer to it by -context, not by line number. - -The line numbers in our development sources will not match those in your -sources. Your line numbers would convey no useful information to us. -@end itemize - -Here are some things that are not necessary: - -@itemize @bullet -@item -A description of the envelope of the bug. - -Often people who encounter a bug spend a lot of time investigating -which changes to the input file will make the bug go away and which -changes will not affect it. - -This is often time consuming and not very useful, because the way we -will find the bug is by running a single example under the debugger -with breakpoints, not by pure deduction from a series of examples. -We recommend that you save your time for something else. - -Of course, if you can find a simpler example to report @emph{instead} -of the original one, that is a convenience for us. Errors in the -output will be easier to spot, running under the debugger will take -less time, and so on. - -However, simplification is not vital; if you do not want to do this, -report the bug anyway and send us the entire test case you used. - -@item -A patch for the bug. - -A patch for the bug does help us if it is a good one. But do not omit -the necessary information, such as the test case, on the assumption that -a patch is all we need. We might see problems with your patch and decide -to fix the problem another way, or we might not understand it at all. - -Sometimes with programs as complicated as the binary utilities it is -very hard to construct an example that will make the program follow a -certain path through the code. If you do not send us the example, we -will not be able to construct one, so we will not be able to verify that -the bug is fixed. - -And if we cannot understand what bug you are trying to fix, or why your -patch should be an improvement, we will not install it. A test case will -help us to understand. - -@item -A guess about what the bug is or what it depends on. - -Such guesses are usually wrong. Even we cannot guess right about such -things without first using the debugger to find the facts. -@end itemize - -@node GNU Free Documentation License -@appendix GNU Free Documentation License - -@include fdl.texi - -@node Binutils Index -@unnumbered Binutils Index - -@printindex cp - -@bye diff --git a/binutils-2.24/binutils/doc/cxxfilt.man b/binutils-2.24/binutils/doc/cxxfilt.man deleted file mode 100644 index 772982e8..00000000 --- a/binutils-2.24/binutils/doc/cxxfilt.man +++ /dev/null @@ -1,336 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "C++FILT 1" -.TH C++FILT 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -cxxfilt \- Demangle C++ and Java symbols. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -c++filt [\fB\-_\fR|\fB\-\-strip\-underscore\fR] - [\fB\-n\fR|\fB\-\-no\-strip\-underscore\fR] - [\fB\-p\fR|\fB\-\-no\-params\fR] - [\fB\-t\fR|\fB\-\-types\fR] - [\fB\-i\fR|\fB\-\-no\-verbose\fR] - [\fB\-s\fR \fIformat\fR|\fB\-\-format=\fR\fIformat\fR] - [\fB\-\-help\fR] [\fB\-\-version\fR] [\fIsymbol\fR...] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \*(C+ and Java languages provide function overloading, which means -that you can write many functions with the same name, providing that -each function takes parameters of different types. In order to be -able to distinguish these similarly named functions \*(C+ and Java -encode them into a low-level assembler name which uniquely identifies -each different version. This process is known as \fImangling\fR. The -\&\fBc++filt\fR -[1] -program does the inverse mapping: it decodes (\fIdemangles\fR) low-level -names into user-level names so that they can be read. -.PP -Every alphanumeric word (consisting of letters, digits, underscores, -dollars, or periods) seen in the input is a potential mangled name. -If the name decodes into a \*(C+ name, the \*(C+ name replaces the -low-level name in the output, otherwise the original word is output. -In this way you can pass an entire assembler source file, containing -mangled names, through \fBc++filt\fR and see the same source file -containing demangled names. -.PP -You can also use \fBc++filt\fR to decipher individual symbols by -passing them on the command line: -.PP -.Vb 1 -\& c++filt <symbol> -.Ve -.PP -If no \fIsymbol\fR arguments are given, \fBc++filt\fR reads symbol -names from the standard input instead. All the results are printed on -the standard output. The difference between reading names from the -command line versus reading names from the standard input is that -command line arguments are expected to be just mangled names and no -checking is performed to separate them from surrounding text. Thus -for example: -.PP -.Vb 1 -\& c++filt \-n _Z1fv -.Ve -.PP -will work and demangle the name to \*(L"f()\*(R" whereas: -.PP -.Vb 1 -\& c++filt \-n _Z1fv, -.Ve -.PP -will not work. (Note the extra comma at the end of the mangled -name which makes it invalid). This command however will work: -.PP -.Vb 1 -\& echo _Z1fv, | c++filt \-n -.Ve -.PP -and will display \*(L"f(),\*(R", i.e., the demangled name followed by a -trailing comma. This behaviour is because when the names are read -from the standard input it is expected that they might be part of an -assembler source file where there might be extra, extraneous -characters trailing after a mangled name. For example: -.PP -.Vb 1 -\& .type _Z1fv, @function -.Ve -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-_\fR" 4 -.IX Item "-_" -.PD 0 -.IP "\fB\-\-strip\-underscore\fR" 4 -.IX Item "--strip-underscore" -.PD -On some systems, both the C and \*(C+ compilers put an underscore in front -of every name. For example, the C name \f(CW\*(C`foo\*(C'\fR gets the low-level -name \f(CW\*(C`_foo\*(C'\fR. This option removes the initial underscore. Whether -\&\fBc++filt\fR removes the underscore by default is target dependent. -.IP "\fB\-n\fR" 4 -.IX Item "-n" -.PD 0 -.IP "\fB\-\-no\-strip\-underscore\fR" 4 -.IX Item "--no-strip-underscore" -.PD -Do not remove the initial underscore. -.IP "\fB\-p\fR" 4 -.IX Item "-p" -.PD 0 -.IP "\fB\-\-no\-params\fR" 4 -.IX Item "--no-params" -.PD -When demangling the name of a function, do not display the types of -the function's parameters. -.IP "\fB\-t\fR" 4 -.IX Item "-t" -.PD 0 -.IP "\fB\-\-types\fR" 4 -.IX Item "--types" -.PD -Attempt to demangle types as well as function names. This is disabled -by default since mangled types are normally only used internally in -the compiler, and they can be confused with non-mangled names. For example, -a function called \*(L"a\*(R" treated as a mangled type name would be -demangled to \*(L"signed char\*(R". -.IP "\fB\-i\fR" 4 -.IX Item "-i" -.PD 0 -.IP "\fB\-\-no\-verbose\fR" 4 -.IX Item "--no-verbose" -.PD -Do not include implementation details (if any) in the demangled -output. -.IP "\fB\-s\fR \fIformat\fR" 4 -.IX Item "-s format" -.PD 0 -.IP "\fB\-\-format=\fR\fIformat\fR" 4 -.IX Item "--format=format" -.PD -\&\fBc++filt\fR can decode various methods of mangling, used by -different compilers. The argument to this option selects which -method it uses: -.RS 4 -.ie n .IP """auto""" 4 -.el .IP "\f(CWauto\fR" 4 -.IX Item "auto" -Automatic selection based on executable (the default method) -.ie n .IP """gnu""" 4 -.el .IP "\f(CWgnu\fR" 4 -.IX Item "gnu" -the one used by the \s-1GNU\s0 \*(C+ compiler (g++) -.ie n .IP """lucid""" 4 -.el .IP "\f(CWlucid\fR" 4 -.IX Item "lucid" -the one used by the Lucid compiler (lcc) -.ie n .IP """arm""" 4 -.el .IP "\f(CWarm\fR" 4 -.IX Item "arm" -the one specified by the \*(C+ Annotated Reference Manual -.ie n .IP """hp""" 4 -.el .IP "\f(CWhp\fR" 4 -.IX Item "hp" -the one used by the \s-1HP\s0 compiler (aCC) -.ie n .IP """edg""" 4 -.el .IP "\f(CWedg\fR" 4 -.IX Item "edg" -the one used by the \s-1EDG\s0 compiler -.ie n .IP """gnu\-v3""" 4 -.el .IP "\f(CWgnu\-v3\fR" 4 -.IX Item "gnu-v3" -the one used by the \s-1GNU\s0 \*(C+ compiler (g++) with the V3 \s-1ABI\s0. -.ie n .IP """java""" 4 -.el .IP "\f(CWjava\fR" 4 -.IX Item "java" -the one used by the \s-1GNU\s0 Java compiler (gcj) -.ie n .IP """gnat""" 4 -.el .IP "\f(CWgnat\fR" 4 -.IX Item "gnat" -the one used by the \s-1GNU\s0 Ada compiler (\s-1GNAT\s0). -.RE -.RS 4 -.RE -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -Print a summary of the options to \fBc++filt\fR and exit. -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -Print the version number of \fBc++filt\fR and exit. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "FOOTNOTES" -.IX Header "FOOTNOTES" -.IP "1." 4 -MS-DOS does not allow \f(CW\*(C`+\*(C'\fR characters in file names, so on -MS-DOS this program is named \fB\s-1CXXFILT\s0\fR. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/dlltool.1 b/binutils-2.24/binutils/doc/dlltool.1 deleted file mode 100644 index 796f690e..00000000 --- a/binutils-2.24/binutils/doc/dlltool.1 +++ /dev/null @@ -1,529 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "DLLTOOL 1" -.TH DLLTOOL 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -dlltool \- Create files needed to build and use DLLs. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -dlltool [\fB\-d\fR|\fB\-\-input\-def\fR \fIdef-file-name\fR] - [\fB\-b\fR|\fB\-\-base\-file\fR \fIbase-file-name\fR] - [\fB\-e\fR|\fB\-\-output\-exp\fR \fIexports-file-name\fR] - [\fB\-z\fR|\fB\-\-output\-def\fR \fIdef-file-name\fR] - [\fB\-l\fR|\fB\-\-output\-lib\fR \fIlibrary-file-name\fR] - [\fB\-y\fR|\fB\-\-output\-delaylib\fR \fIlibrary-file-name\fR] - [\fB\-\-export\-all\-symbols\fR] [\fB\-\-no\-export\-all\-symbols\fR] - [\fB\-\-exclude\-symbols\fR \fIlist\fR] - [\fB\-\-no\-default\-excludes\fR] - [\fB\-S\fR|\fB\-\-as\fR \fIpath-to-assembler\fR] [\fB\-f\fR|\fB\-\-as\-flags\fR \fIoptions\fR] - [\fB\-D\fR|\fB\-\-dllname\fR \fIname\fR] [\fB\-m\fR|\fB\-\-machine\fR \fImachine\fR] - [\fB\-a\fR|\fB\-\-add\-indirect\fR] - [\fB\-U\fR|\fB\-\-add\-underscore\fR] [\fB\-\-add\-stdcall\-underscore\fR] - [\fB\-k\fR|\fB\-\-kill\-at\fR] [\fB\-A\fR|\fB\-\-add\-stdcall\-alias\fR] - [\fB\-p\fR|\fB\-\-ext\-prefix\-alias\fR \fIprefix\fR] - [\fB\-x\fR|\fB\-\-no\-idata4\fR] [\fB\-c\fR|\fB\-\-no\-idata5\fR] - [\fB\-\-use\-nul\-prefixed\-import\-tables\fR] - [\fB\-I\fR|\fB\-\-identify\fR \fIlibrary-file-name\fR] [\fB\-\-identify\-strict\fR] - [\fB\-i\fR|\fB\-\-interwork\fR] - [\fB\-n\fR|\fB\-\-nodelete\fR] [\fB\-t\fR|\fB\-\-temp\-prefix\fR \fIprefix\fR] - [\fB\-v\fR|\fB\-\-verbose\fR] - [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] - [\fB\-\-no\-leading\-underscore\fR] [\fB\-\-leading\-underscore\fR] - [object\-file ...] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBdlltool\fR reads its inputs, which can come from the \fB\-d\fR and -\&\fB\-b\fR options as well as object files specified on the command -line. It then processes these inputs and if the \fB\-e\fR option has -been specified it creates a exports file. If the \fB\-l\fR option -has been specified it creates a library file and if the \fB\-z\fR option -has been specified it creates a def file. Any or all of the \fB\-e\fR, -\&\fB\-l\fR and \fB\-z\fR options can be present in one invocation of -dlltool. -.PP -When creating a \s-1DLL\s0, along with the source for the \s-1DLL\s0, it is necessary -to have three other files. \fBdlltool\fR can help with the creation of -these files. -.PP -The first file is a \fI.def\fR file which specifies which functions are -exported from the \s-1DLL\s0, which functions the \s-1DLL\s0 imports, and so on. This -is a text file and can be created by hand, or \fBdlltool\fR can be used -to create it using the \fB\-z\fR option. In this case \fBdlltool\fR -will scan the object files specified on its command line looking for -those functions which have been specially marked as being exported and -put entries for them in the \fI.def\fR file it creates. -.PP -In order to mark a function as being exported from a \s-1DLL\s0, it needs to -have an \fB\-export:<name_of_function>\fR entry in the \fB.drectve\fR -section of the object file. This can be done in C by using the -\&\fIasm()\fR operator: -.PP -.Vb 2 -\& asm (".section .drectve"); -\& asm (".ascii \e"\-export:my_func\e""); -\& -\& int my_func (void) { ... } -.Ve -.PP -The second file needed for \s-1DLL\s0 creation is an exports file. This file -is linked with the object files that make up the body of the \s-1DLL\s0 and it -handles the interface between the \s-1DLL\s0 and the outside world. This is a -binary file and it can be created by giving the \fB\-e\fR option to -\&\fBdlltool\fR when it is creating or reading in a \fI.def\fR file. -.PP -The third file needed for \s-1DLL\s0 creation is the library file that programs -will link with in order to access the functions in the \s-1DLL\s0 (an `import -library'). This file can be created by giving the \fB\-l\fR option to -dlltool when it is creating or reading in a \fI.def\fR file. -.PP -If the \fB\-y\fR option is specified, dlltool generates a delay-import -library that can be used instead of the normal import library to allow -a program to link to the dll only as soon as an imported function is -called for the first time. The resulting executable will need to be -linked to the static delayimp library containing _\|\fI_delayLoadHelper2()\fR, -which in turn will import LoadLibraryA and GetProcAddress from kernel32. -.PP -\&\fBdlltool\fR builds the library file by hand, but it builds the -exports file by creating temporary files containing assembler statements -and then assembling these. The \fB\-S\fR command line option can be -used to specify the path to the assembler that dlltool will use, -and the \fB\-f\fR option can be used to pass specific flags to that -assembler. The \fB\-n\fR can be used to prevent dlltool from deleting -these temporary assembler files when it is done, and if \fB\-n\fR is -specified twice then this will prevent dlltool from deleting the -temporary object files it used to build the library. -.PP -Here is an example of creating a \s-1DLL\s0 from a source file \fBdll.c\fR and -also creating a program (from an object file called \fBprogram.o\fR) -that uses that \s-1DLL:\s0 -.PP -.Vb 4 -\& gcc \-c dll.c -\& dlltool \-e exports.o \-l dll.lib dll.o -\& gcc dll.o exports.o \-o dll.dll -\& gcc program.o dll.lib \-o program -.Ve -.PP -\&\fBdlltool\fR may also be used to query an existing import library -to determine the name of the \s-1DLL\s0 to which it is associated. See the -description of the \fB\-I\fR or \fB\-\-identify\fR option. -.SH "OPTIONS" -.IX Header "OPTIONS" -The command line options have the following meanings: -.IP "\fB\-d\fR \fIfilename\fR" 4 -.IX Item "-d filename" -.PD 0 -.IP "\fB\-\-input\-def\fR \fIfilename\fR" 4 -.IX Item "--input-def filename" -.PD -Specifies the name of a \fI.def\fR file to be read in and processed. -.IP "\fB\-b\fR \fIfilename\fR" 4 -.IX Item "-b filename" -.PD 0 -.IP "\fB\-\-base\-file\fR \fIfilename\fR" 4 -.IX Item "--base-file filename" -.PD -Specifies the name of a base file to be read in and processed. The -contents of this file will be added to the relocation section in the -exports file generated by dlltool. -.IP "\fB\-e\fR \fIfilename\fR" 4 -.IX Item "-e filename" -.PD 0 -.IP "\fB\-\-output\-exp\fR \fIfilename\fR" 4 -.IX Item "--output-exp filename" -.PD -Specifies the name of the export file to be created by dlltool. -.IP "\fB\-z\fR \fIfilename\fR" 4 -.IX Item "-z filename" -.PD 0 -.IP "\fB\-\-output\-def\fR \fIfilename\fR" 4 -.IX Item "--output-def filename" -.PD -Specifies the name of the \fI.def\fR file to be created by dlltool. -.IP "\fB\-l\fR \fIfilename\fR" 4 -.IX Item "-l filename" -.PD 0 -.IP "\fB\-\-output\-lib\fR \fIfilename\fR" 4 -.IX Item "--output-lib filename" -.PD -Specifies the name of the library file to be created by dlltool. -.IP "\fB\-y\fR \fIfilename\fR" 4 -.IX Item "-y filename" -.PD 0 -.IP "\fB\-\-output\-delaylib\fR \fIfilename\fR" 4 -.IX Item "--output-delaylib filename" -.PD -Specifies the name of the delay-import library file to be created by dlltool. -.IP "\fB\-\-export\-all\-symbols\fR" 4 -.IX Item "--export-all-symbols" -Treat all global and weak defined symbols found in the input object -files as symbols to be exported. There is a small list of symbols which -are not exported by default; see the \fB\-\-no\-default\-excludes\fR -option. You may add to the list of symbols to not export by using the -\&\fB\-\-exclude\-symbols\fR option. -.IP "\fB\-\-no\-export\-all\-symbols\fR" 4 -.IX Item "--no-export-all-symbols" -Only export symbols explicitly listed in an input \fI.def\fR file or in -\&\fB.drectve\fR sections in the input object files. This is the default -behaviour. The \fB.drectve\fR sections are created by \fBdllexport\fR -attributes in the source code. -.IP "\fB\-\-exclude\-symbols\fR \fIlist\fR" 4 -.IX Item "--exclude-symbols list" -Do not export the symbols in \fIlist\fR. This is a list of symbol names -separated by comma or colon characters. The symbol names should not -contain a leading underscore. This is only meaningful when -\&\fB\-\-export\-all\-symbols\fR is used. -.IP "\fB\-\-no\-default\-excludes\fR" 4 -.IX Item "--no-default-excludes" -When \fB\-\-export\-all\-symbols\fR is used, it will by default avoid -exporting certain special symbols. The current list of symbols to avoid -exporting is \fBDllMain@12\fR, \fBDllEntryPoint@0\fR, -\&\fBimpure_ptr\fR. You may use the \fB\-\-no\-default\-excludes\fR option -to go ahead and export these special symbols. This is only meaningful -when \fB\-\-export\-all\-symbols\fR is used. -.IP "\fB\-S\fR \fIpath\fR" 4 -.IX Item "-S path" -.PD 0 -.IP "\fB\-\-as\fR \fIpath\fR" 4 -.IX Item "--as path" -.PD -Specifies the path, including the filename, of the assembler to be used -to create the exports file. -.IP "\fB\-f\fR \fIoptions\fR" 4 -.IX Item "-f options" -.PD 0 -.IP "\fB\-\-as\-flags\fR \fIoptions\fR" 4 -.IX Item "--as-flags options" -.PD -Specifies any specific command line options to be passed to the -assembler when building the exports file. This option will work even if -the \fB\-S\fR option is not used. This option only takes one argument, -and if it occurs more than once on the command line, then later -occurrences will override earlier occurrences. So if it is necessary to -pass multiple options to the assembler they should be enclosed in -double quotes. -.IP "\fB\-D\fR \fIname\fR" 4 -.IX Item "-D name" -.PD 0 -.IP "\fB\-\-dll\-name\fR \fIname\fR" 4 -.IX Item "--dll-name name" -.PD -Specifies the name to be stored in the \fI.def\fR file as the name of -the \s-1DLL\s0 when the \fB\-e\fR option is used. If this option is not -present, then the filename given to the \fB\-e\fR option will be -used as the name of the \s-1DLL\s0. -.IP "\fB\-m\fR \fImachine\fR" 4 -.IX Item "-m machine" -.PD 0 -.IP "\fB\-machine\fR \fImachine\fR" 4 -.IX Item "-machine machine" -.PD -Specifies the type of machine for which the library file should be -built. \fBdlltool\fR has a built in default type, depending upon how -it was created, but this option can be used to override that. This is -normally only useful when creating DLLs for an \s-1ARM\s0 processor, when the -contents of the \s-1DLL\s0 are actually encode using Thumb instructions. -.IP "\fB\-a\fR" 4 -.IX Item "-a" -.PD 0 -.IP "\fB\-\-add\-indirect\fR" 4 -.IX Item "--add-indirect" -.PD -Specifies that when \fBdlltool\fR is creating the exports file it -should add a section which allows the exported functions to be -referenced without using the import library. Whatever the hell that -means! -.IP "\fB\-U\fR" 4 -.IX Item "-U" -.PD 0 -.IP "\fB\-\-add\-underscore\fR" 4 -.IX Item "--add-underscore" -.PD -Specifies that when \fBdlltool\fR is creating the exports file it -should prepend an underscore to the names of \fIall\fR exported symbols. -.IP "\fB\-\-no\-leading\-underscore\fR" 4 -.IX Item "--no-leading-underscore" -.PD 0 -.IP "\fB\-\-leading\-underscore\fR" 4 -.IX Item "--leading-underscore" -.PD -Specifies whether standard symbol should be forced to be prefixed, or -not. -.IP "\fB\-\-add\-stdcall\-underscore\fR" 4 -.IX Item "--add-stdcall-underscore" -Specifies that when \fBdlltool\fR is creating the exports file it -should prepend an underscore to the names of exported \fIstdcall\fR -functions. Variable names and non-stdcall function names are not modified. -This option is useful when creating GNU-compatible import libs for third -party DLLs that were built with MS-Windows tools. -.IP "\fB\-k\fR" 4 -.IX Item "-k" -.PD 0 -.IP "\fB\-\-kill\-at\fR" 4 -.IX Item "--kill-at" -.PD -Specifies that when \fBdlltool\fR is creating the exports file it -should not append the string \fB@ <number>\fR. These numbers are -called ordinal numbers and they represent another way of accessing the -function in a \s-1DLL\s0, other than by name. -.IP "\fB\-A\fR" 4 -.IX Item "-A" -.PD 0 -.IP "\fB\-\-add\-stdcall\-alias\fR" 4 -.IX Item "--add-stdcall-alias" -.PD -Specifies that when \fBdlltool\fR is creating the exports file it -should add aliases for stdcall symbols without \fB@ <number>\fR -in addition to the symbols with \fB@ <number>\fR. -.IP "\fB\-p\fR" 4 -.IX Item "-p" -.PD 0 -.IP "\fB\-\-ext\-prefix\-alias\fR \fIprefix\fR" 4 -.IX Item "--ext-prefix-alias prefix" -.PD -Causes \fBdlltool\fR to create external aliases for all \s-1DLL\s0 -imports with the specified prefix. The aliases are created for both -external and import symbols with no leading underscore. -.IP "\fB\-x\fR" 4 -.IX Item "-x" -.PD 0 -.IP "\fB\-\-no\-idata4\fR" 4 -.IX Item "--no-idata4" -.PD -Specifies that when \fBdlltool\fR is creating the exports and library -files it should omit the \f(CW\*(C`.idata4\*(C'\fR section. This is for compatibility -with certain operating systems. -.IP "\fB\-\-use\-nul\-prefixed\-import\-tables\fR" 4 -.IX Item "--use-nul-prefixed-import-tables" -Specifies that when \fBdlltool\fR is creating the exports and library -files it should prefix the \f(CW\*(C`.idata4\*(C'\fR and \f(CW\*(C`.idata5\*(C'\fR by zero an -element. This emulates old gnu import library generation of -\&\f(CW\*(C`dlltool\*(C'\fR. By default this option is turned off. -.IP "\fB\-c\fR" 4 -.IX Item "-c" -.PD 0 -.IP "\fB\-\-no\-idata5\fR" 4 -.IX Item "--no-idata5" -.PD -Specifies that when \fBdlltool\fR is creating the exports and library -files it should omit the \f(CW\*(C`.idata5\*(C'\fR section. This is for compatibility -with certain operating systems. -.IP "\fB\-I\fR \fIfilename\fR" 4 -.IX Item "-I filename" -.PD 0 -.IP "\fB\-\-identify\fR \fIfilename\fR" 4 -.IX Item "--identify filename" -.PD -Specifies that \fBdlltool\fR should inspect the import library -indicated by \fIfilename\fR and report, on \f(CW\*(C`stdout\*(C'\fR, the name(s) -of the associated \s-1DLL\s0(s). This can be performed in addition to any -other operations indicated by the other options and arguments. -\&\fBdlltool\fR fails if the import library does not exist or is not -actually an import library. See also \fB\-\-identify\-strict\fR. -.IP "\fB\-\-identify\-strict\fR" 4 -.IX Item "--identify-strict" -Modifies the behavior of the \fB\-\-identify\fR option, such -that an error is reported if \fIfilename\fR is associated with -more than one \s-1DLL\s0. -.IP "\fB\-i\fR" 4 -.IX Item "-i" -.PD 0 -.IP "\fB\-\-interwork\fR" 4 -.IX Item "--interwork" -.PD -Specifies that \fBdlltool\fR should mark the objects in the library -file and exports file that it produces as supporting interworking -between \s-1ARM\s0 and Thumb code. -.IP "\fB\-n\fR" 4 -.IX Item "-n" -.PD 0 -.IP "\fB\-\-nodelete\fR" 4 -.IX Item "--nodelete" -.PD -Makes \fBdlltool\fR preserve the temporary assembler files it used to -create the exports file. If this option is repeated then dlltool will -also preserve the temporary object files it uses to create the library -file. -.IP "\fB\-t\fR \fIprefix\fR" 4 -.IX Item "-t prefix" -.PD 0 -.IP "\fB\-\-temp\-prefix\fR \fIprefix\fR" 4 -.IX Item "--temp-prefix prefix" -.PD -Makes \fBdlltool\fR use \fIprefix\fR when constructing the names of -temporary assembler and object files. By default, the temp file prefix -is generated from the pid. -.IP "\fB\-v\fR" 4 -.IX Item "-v" -.PD 0 -.IP "\fB\-\-verbose\fR" 4 -.IX Item "--verbose" -.PD -Make dlltool describe what it is doing. -.IP "\fB\-h\fR" 4 -.IX Item "-h" -.PD 0 -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -.PD -Displays a list of command line options and then exits. -.IP "\fB\-V\fR" 4 -.IX Item "-V" -.PD 0 -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -.PD -Displays dlltool's version number and then exits. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -The Info pages for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/elfedit.1 b/binutils-2.24/binutils/doc/elfedit.1 deleted file mode 100644 index 16f2cbba..00000000 --- a/binutils-2.24/binutils/doc/elfedit.1 +++ /dev/null @@ -1,233 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "ELFEDIT 1" -.TH ELFEDIT 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -elfedit \- Update the ELF header of ELF files. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -elfedit [\fB\-\-input\-mach=\fR\fImachine\fR] - [\fB\-\-input\-type=\fR\fItype\fR] - [\fB\-\-input\-osabi=\fR\fIosabi\fR] - \fB\-\-output\-mach=\fR\fImachine\fR - \fB\-\-output\-type=\fR\fItype\fR - \fB\-\-output\-osabi=\fR\fIosabi\fR - [\fB\-v\fR|\fB\-\-version\fR] - [\fB\-h\fR|\fB\-\-help\fR] - \fIelffile\fR... -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBelfedit\fR updates the \s-1ELF\s0 header of \s-1ELF\s0 files which have -the matching \s-1ELF\s0 machine and file types. The options control how and -which fields in the \s-1ELF\s0 header should be updated. -.PP -\&\fIelffile\fR... are the \s-1ELF\s0 files to be updated. 32\-bit and -64\-bit \s-1ELF\s0 files are supported, as are archives containing \s-1ELF\s0 files. -.SH "OPTIONS" -.IX Header "OPTIONS" -The long and short forms of options, shown here as alternatives, are -equivalent. At least one of the \fB\-\-output\-mach\fR, -\&\fB\-\-output\-type\fR and \fB\-\-output\-osabi\fR options must be given. -.IP "\fB\-\-input\-mach=\fR\fImachine\fR" 4 -.IX Item "--input-mach=machine" -Set the matching input \s-1ELF\s0 machine type to \fImachine\fR. If -\&\fB\-\-input\-mach\fR isn't specified, it will match any \s-1ELF\s0 -machine types. -.Sp -The supported \s-1ELF\s0 machine types are, \fIL1OM\fR, \fIK1OM\fR and -\&\fIx86\-64\fR. -.IP "\fB\-\-output\-mach=\fR\fImachine\fR" 4 -.IX Item "--output-mach=machine" -Change the \s-1ELF\s0 machine type in the \s-1ELF\s0 header to \fImachine\fR. The -supported \s-1ELF\s0 machine types are the same as \fB\-\-input\-mach\fR. -.IP "\fB\-\-input\-type=\fR\fItype\fR" 4 -.IX Item "--input-type=type" -Set the matching input \s-1ELF\s0 file type to \fItype\fR. If -\&\fB\-\-input\-type\fR isn't specified, it will match any \s-1ELF\s0 file types. -.Sp -The supported \s-1ELF\s0 file types are, \fIrel\fR, \fIexec\fR and \fIdyn\fR. -.IP "\fB\-\-output\-type=\fR\fItype\fR" 4 -.IX Item "--output-type=type" -Change the \s-1ELF\s0 file type in the \s-1ELF\s0 header to \fItype\fR. The -supported \s-1ELF\s0 types are the same as \fB\-\-input\-type\fR. -.IP "\fB\-\-input\-osabi=\fR\fIosabi\fR" 4 -.IX Item "--input-osabi=osabi" -Set the matching input \s-1ELF\s0 file \s-1OSABI\s0 to \fIosabi\fR. If -\&\fB\-\-input\-osabi\fR isn't specified, it will match any \s-1ELF\s0 OSABIs. -.Sp -The supported \s-1ELF\s0 OSABIs are, \fInone\fR, \fI\s-1HPUX\s0\fR, \fINetBSD\fR, -\&\fI\s-1GNU\s0\fR, \fILinux\fR (alias for \fI\s-1GNU\s0\fR), -\&\fISolaris\fR, \fI\s-1AIX\s0\fR, \fIIrix\fR, -\&\fIFreeBSD\fR, \fI\s-1TRU64\s0\fR, \fIModesto\fR, \fIOpenBSD\fR, \fIOpenVMS\fR, -\&\fI\s-1NSK\s0\fR, \fI\s-1AROS\s0\fR and \fIFenixOS\fR. -.IP "\fB\-\-output\-osabi=\fR\fIosabi\fR" 4 -.IX Item "--output-osabi=osabi" -Change the \s-1ELF\s0 \s-1OSABI\s0 in the \s-1ELF\s0 header to \fIosabi\fR. The -supported \s-1ELF\s0 \s-1OSABI\s0 are the same as \fB\-\-input\-osabi\fR. -.IP "\fB\-v\fR" 4 -.IX Item "-v" -.PD 0 -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -.PD -Display the version number of \fBelfedit\fR. -.IP "\fB\-h\fR" 4 -.IX Item "-h" -.PD 0 -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -.PD -Display the command line options understood by \fBelfedit\fR. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIreadelf\fR\|(1), and the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/fdl.texi b/binutils-2.24/binutils/doc/fdl.texi deleted file mode 100644 index 8805f1a4..00000000 --- a/binutils-2.24/binutils/doc/fdl.texi +++ /dev/null @@ -1,506 +0,0 @@ -@c The GNU Free Documentation License. -@center Version 1.3, 3 November 2008 - -@c This file is intended to be included within another document, -@c hence no sectioning command or @node. - -@display -Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. -@uref{http://fsf.org/} - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -@end display - -@enumerate 0 -@item -PREAMBLE - -The purpose of this License is to make a manual, textbook, or other -functional and useful document @dfn{free} in the sense of freedom: to -assure everyone the effective freedom to copy and redistribute it, -with or without modifying it, either commercially or noncommercially. -Secondarily, this License preserves for the author and publisher a way -to get credit for their work, while not being considered responsible -for modifications made by others. - -This License is a kind of ``copyleft'', which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. - -We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. - -@item -APPLICABILITY AND DEFINITIONS - -This License applies to any manual or other work, in any medium, that -contains a notice placed by the copyright holder saying it can be -distributed under the terms of this License. Such a notice grants a -world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The ``Document'', below, -refers to any such manual or work. Any member of the public is a -licensee, and is addressed as ``you''. You accept the license if you -copy, modify or distribute the work in a way requiring permission -under copyright law. - -A ``Modified Version'' of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. - -A ``Secondary Section'' is a named appendix or a front-matter section -of the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document's overall -subject (or to related matters) and contains nothing that could fall -directly within that overall subject. (Thus, if the Document is in -part a textbook of mathematics, a Secondary Section may not explain -any mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. - -The ``Invariant Sections'' are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. If a -section does not fit the above definition of Secondary then it is not -allowed to be designated as Invariant. The Document may contain zero -Invariant Sections. If the Document does not identify any Invariant -Sections then there are none. - -The ``Cover Texts'' are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. A Front-Cover Text may -be at most 5 words, and a Back-Cover Text may be at most 25 words. - -A ``Transparent'' copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup, or absence of markup, has been arranged to thwart -or discourage subsequent modification by readers is not Transparent. -An image format is not Transparent if used for any substantial amount -of text. A copy that is not ``Transparent'' is called ``Opaque''. - -Examples of suitable formats for Transparent copies include plain -@sc{ascii} without markup, Texinfo input format, La@TeX{} input -format, @acronym{SGML} or @acronym{XML} using a publicly available -@acronym{DTD}, and standard-conforming simple @acronym{HTML}, -PostScript or @acronym{PDF} designed for human modification. Examples -of transparent image formats include @acronym{PNG}, @acronym{XCF} and -@acronym{JPG}. Opaque formats include proprietary formats that can be -read and edited only by proprietary word processors, @acronym{SGML} or -@acronym{XML} for which the @acronym{DTD} and/or processing tools are -not generally available, and the machine-generated @acronym{HTML}, -PostScript or @acronym{PDF} produced by some word processors for -output purposes only. - -The ``Title Page'' means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, ``Title Page'' means -the text near the most prominent appearance of the work's title, -preceding the beginning of the body of the text. - -The ``publisher'' means any person or entity that distributes copies -of the Document to the public. - -A section ``Entitled XYZ'' means a named subunit of the Document whose -title either is precisely XYZ or contains XYZ in parentheses following -text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as ``Acknowledgements'', -``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' -of such a section when you modify the Document means that it remains a -section ``Entitled XYZ'' according to this definition. - -The Document may include Warranty Disclaimers next to the notice which -states that this License applies to the Document. These Warranty -Disclaimers are considered to be included by reference in this -License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and has -no effect on the meaning of this License. - -@item -VERBATIM COPYING - -You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. - -You may also lend copies, under the same conditions stated above, and -you may publicly display copies. - -@item -COPYING IN QUANTITY - -If you publish printed copies (or copies in media that commonly have -printed covers) of the Document, numbering more than 100, and the -Document's license notice requires Cover Texts, you must enclose the -copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. - -If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. - -If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a computer-network location from which the general network-using -public has access to download using public-standard network protocols -a complete Transparent copy of the Document, free of added material. -If you use the latter option, you must take reasonably prudent steps, -when you begin distribution of Opaque copies in quantity, to ensure -that this Transparent copy will remain thus accessible at the stated -location until at least one year after the last time you distribute an -Opaque copy (directly or through your agents or retailers) of that -edition to the public. - -It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. - -@item -MODIFICATIONS - -You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: - -@enumerate A -@item -Use in the Title Page (and on the covers, if any) a title distinct -from that of the Document, and from those of previous versions -(which should, if there were any, be listed in the History section -of the Document). You may use the same title as a previous version -if the original publisher of that version gives permission. - -@item -List on the Title Page, as authors, one or more persons or entities -responsible for authorship of the modifications in the Modified -Version, together with at least five of the principal authors of the -Document (all of its principal authors, if it has fewer than five), -unless they release you from this requirement. - -@item -State on the Title page the name of the publisher of the -Modified Version, as the publisher. - -@item -Preserve all the copyright notices of the Document. - -@item -Add an appropriate copyright notice for your modifications -adjacent to the other copyright notices. - -@item -Include, immediately after the copyright notices, a license notice -giving the public permission to use the Modified Version under the -terms of this License, in the form shown in the Addendum below. - -@item -Preserve in that license notice the full lists of Invariant Sections -and required Cover Texts given in the Document's license notice. - -@item -Include an unaltered copy of this License. - -@item -Preserve the section Entitled ``History'', Preserve its Title, and add -to it an item stating at least the title, year, new authors, and -publisher of the Modified Version as given on the Title Page. If -there is no section Entitled ``History'' in the Document, create one -stating the title, year, authors, and publisher of the Document as -given on its Title Page, then add an item describing the Modified -Version as stated in the previous sentence. - -@item -Preserve the network location, if any, given in the Document for -public access to a Transparent copy of the Document, and likewise -the network locations given in the Document for previous versions -it was based on. These may be placed in the ``History'' section. -You may omit a network location for a work that was published at -least four years before the Document itself, or if the original -publisher of the version it refers to gives permission. - -@item -For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve -the Title of the section, and preserve in the section all the -substance and tone of each of the contributor acknowledgements and/or -dedications given therein. - -@item -Preserve all the Invariant Sections of the Document, -unaltered in their text and in their titles. Section numbers -or the equivalent are not considered part of the section titles. - -@item -Delete any section Entitled ``Endorsements''. Such a section -may not be included in the Modified Version. - -@item -Do not retitle any existing section to be Entitled ``Endorsements'' or -to conflict in title with any Invariant Section. - -@item -Preserve any Warranty Disclaimers. -@end enumerate - -If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version's license notice. -These titles must be distinct from any other section titles. - -You may add a section Entitled ``Endorsements'', provided it contains -nothing but endorsements of your Modified Version by various -parties---for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. - -You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. - -The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. - -@item -COMBINING DOCUMENTS - -You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice, and that you preserve all their Warranty Disclaimers. - -The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. - -In the combination, you must combine any sections Entitled ``History'' -in the various original documents, forming one section Entitled -``History''; likewise combine any sections Entitled ``Acknowledgements'', -and any sections Entitled ``Dedications''. You must delete all -sections Entitled ``Endorsements.'' - -@item -COLLECTIONS OF DOCUMENTS - -You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. - -You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. - -@item -AGGREGATION WITH INDEPENDENT WORKS - -A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, is called an ``aggregate'' if the copyright -resulting from the compilation is not used to limit the legal rights -of the compilation's users beyond what the individual works permit. -When the Document is included in an aggregate, this License does not -apply to the other works in the aggregate which are not themselves -derivative works of the Document. - -If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half of -the entire aggregate, the Document's Cover Texts may be placed on -covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic form. -Otherwise they must appear on printed covers that bracket the whole -aggregate. - -@item -TRANSLATION - -Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License, and all the license notices in the -Document, and any Warranty Disclaimers, provided that you also include -the original English version of this License and the original versions -of those notices and disclaimers. In case of a disagreement between -the translation and the original version of this License or a notice -or disclaimer, the original version will prevail. - -If a section in the Document is Entitled ``Acknowledgements'', -``Dedications'', or ``History'', the requirement (section 4) to Preserve -its Title (section 1) will typically require changing the actual -title. - -@item -TERMINATION - -You may not copy, modify, sublicense, or distribute the Document -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, or distribute it is void, and -will automatically terminate your rights under this License. - -However, if you cease all violation of this License, then your license -from a particular copyright holder is reinstated (a) provisionally, -unless and until the copyright holder explicitly and finally -terminates your license, and (b) permanently, if the copyright holder -fails to notify you of the violation by some reasonable means prior to -60 days after the cessation. - -Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - -Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, receipt of a copy of some or all of the same material does -not give you any rights to use it. - -@item -FUTURE REVISIONS OF THIS LICENSE - -The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -@uref{http://www.gnu.org/copyleft/}. - -Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License ``or any later version'' applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. If the Document -specifies that a proxy can decide which future versions of this -License can be used, that proxy's public statement of acceptance of a -version permanently authorizes you to choose that version for the -Document. - -@item -RELICENSING - -``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any -World Wide Web server that publishes copyrightable works and also -provides prominent facilities for anybody to edit those works. A -public wiki that anybody can edit is an example of such a server. A -``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the -site means any set of copyrightable works thus published on the MMC -site. - -``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0 -license published by Creative Commons Corporation, a not-for-profit -corporation with a principal place of business in San Francisco, -California, as well as future copyleft versions of that license -published by that same organization. - -``Incorporate'' means to publish or republish a Document, in whole or -in part, as part of another Document. - -An MMC is ``eligible for relicensing'' if it is licensed under this -License, and if all works that were first published under this License -somewhere other than this MMC, and subsequently incorporated in whole -or in part into the MMC, (1) had no cover texts or invariant sections, -and (2) were thus incorporated prior to November 1, 2008. - -The operator of an MMC Site may republish an MMC contained in the site -under CC-BY-SA on the same site at any time before August 1, 2009, -provided the MMC is eligible for relicensing. - -@end enumerate - -@page -@heading ADDENDUM: How to use this License for your documents - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: - -@smallexample -@group - Copyright (C) @var{year} @var{your name}. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. -@end group -@end smallexample - -If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the ``with@dots{}Texts.'' line with this: - -@smallexample -@group - with the Invariant Sections being @var{list their titles}, with - the Front-Cover Texts being @var{list}, and with the Back-Cover Texts - being @var{list}. -@end group -@end smallexample - -If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - -If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. - -@c Local Variables: -@c ispell-local-pdict: "ispell-dict" -@c End: - diff --git a/binutils-2.24/binutils/doc/nlmconv.1 b/binutils-2.24/binutils/doc/nlmconv.1 deleted file mode 100644 index 26b22f3c..00000000 --- a/binutils-2.24/binutils/doc/nlmconv.1 +++ /dev/null @@ -1,242 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "NLMCONV 1" -.TH NLMCONV 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -nlmconv \- converts object code into an NLM. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -nlmconv [\fB\-I\fR \fIbfdname\fR|\fB\-\-input\-target=\fR\fIbfdname\fR] - [\fB\-O\fR \fIbfdname\fR|\fB\-\-output\-target=\fR\fIbfdname\fR] - [\fB\-T\fR \fIheaderfile\fR|\fB\-\-header\-file=\fR\fIheaderfile\fR] - [\fB\-d\fR|\fB\-\-debug\fR] [\fB\-l\fR \fIlinker\fR|\fB\-\-linker=\fR\fIlinker\fR] - [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] - \fIinfile\fR \fIoutfile\fR -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBnlmconv\fR converts the relocatable \fBi386\fR object file -\&\fIinfile\fR into the NetWare Loadable Module \fIoutfile\fR, optionally -reading \fIheaderfile\fR for \s-1NLM\s0 header information. For instructions -on writing the \s-1NLM\s0 command file language used in header files, see the -\&\fBlinkers\fR section, \fB\s-1NLMLINK\s0\fR in particular, of the \fI\s-1NLM\s0 -Development and Tools Overview\fR, which is part of the \s-1NLM\s0 Software -Developer's Kit (\*(L"\s-1NLM\s0 \s-1SDK\s0\*(R"), available from Novell, Inc. -\&\fBnlmconv\fR uses the \s-1GNU\s0 Binary File Descriptor library to read -\&\fIinfile\fR; -.PP -\&\fBnlmconv\fR can perform a link step. In other words, you can list -more than one object file for input if you list them in the definitions -file (rather than simply specifying one input file on the command line). -In this case, \fBnlmconv\fR calls the linker for you. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-I\fR \fIbfdname\fR" 4 -.IX Item "-I bfdname" -.PD 0 -.IP "\fB\-\-input\-target=\fR\fIbfdname\fR" 4 -.IX Item "--input-target=bfdname" -.PD -Object format of the input file. \fBnlmconv\fR can usually determine -the format of a given file (so no default is necessary). -.IP "\fB\-O\fR \fIbfdname\fR" 4 -.IX Item "-O bfdname" -.PD 0 -.IP "\fB\-\-output\-target=\fR\fIbfdname\fR" 4 -.IX Item "--output-target=bfdname" -.PD -Object format of the output file. \fBnlmconv\fR infers the output -format based on the input format, e.g. for a \fBi386\fR input file the -output format is \fBnlm32\-i386\fR. -.IP "\fB\-T\fR \fIheaderfile\fR" 4 -.IX Item "-T headerfile" -.PD 0 -.IP "\fB\-\-header\-file=\fR\fIheaderfile\fR" 4 -.IX Item "--header-file=headerfile" -.PD -Reads \fIheaderfile\fR for \s-1NLM\s0 header information. For instructions on -writing the \s-1NLM\s0 command file language used in header files, see see the -\&\fBlinkers\fR section, of the \fI\s-1NLM\s0 Development and Tools -Overview\fR, which is part of the \s-1NLM\s0 Software Developer's Kit, available -from Novell, Inc. -.IP "\fB\-d\fR" 4 -.IX Item "-d" -.PD 0 -.IP "\fB\-\-debug\fR" 4 -.IX Item "--debug" -.PD -Displays (on standard error) the linker command line used by \fBnlmconv\fR. -.IP "\fB\-l\fR \fIlinker\fR" 4 -.IX Item "-l linker" -.PD 0 -.IP "\fB\-\-linker=\fR\fIlinker\fR" 4 -.IX Item "--linker=linker" -.PD -Use \fIlinker\fR for any linking. \fIlinker\fR can be an absolute or a -relative pathname. -.IP "\fB\-h\fR" 4 -.IX Item "-h" -.PD 0 -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -.PD -Prints a usage summary. -.IP "\fB\-V\fR" 4 -.IX Item "-V" -.PD 0 -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -.PD -Prints the version number for \fBnlmconv\fR. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/nm.1 b/binutils-2.24/binutils/doc/nm.1 deleted file mode 100644 index 793b5f3a..00000000 --- a/binutils-2.24/binutils/doc/nm.1 +++ /dev/null @@ -1,530 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "NM 1" -.TH NM 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -nm \- list symbols from object files -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -nm [\fB\-A\fR|\fB\-o\fR|\fB\-\-print\-file\-name\fR] [\fB\-a\fR|\fB\-\-debug\-syms\fR] - [\fB\-B\fR|\fB\-\-format=bsd\fR] [\fB\-C\fR|\fB\-\-demangle\fR[=\fIstyle\fR]] - [\fB\-D\fR|\fB\-\-dynamic\fR] [\fB\-f\fR\fIformat\fR|\fB\-\-format=\fR\fIformat\fR] - [\fB\-g\fR|\fB\-\-extern\-only\fR] [\fB\-h\fR|\fB\-\-help\fR] - [\fB\-l\fR|\fB\-\-line\-numbers\fR] [\fB\-n\fR|\fB\-v\fR|\fB\-\-numeric\-sort\fR] - [\fB\-P\fR|\fB\-\-portability\fR] [\fB\-p\fR|\fB\-\-no\-sort\fR] - [\fB\-r\fR|\fB\-\-reverse\-sort\fR] [\fB\-S\fR|\fB\-\-print\-size\fR] - [\fB\-s\fR|\fB\-\-print\-armap\fR] [\fB\-t\fR \fIradix\fR|\fB\-\-radix=\fR\fIradix\fR] - [\fB\-u\fR|\fB\-\-undefined\-only\fR] [\fB\-V\fR|\fB\-\-version\fR] - [\fB\-X 32_64\fR] [\fB\-\-defined\-only\fR] [\fB\-\-no\-demangle\fR] - [\fB\-\-plugin\fR \fIname\fR] [\fB\-\-size\-sort\fR] [\fB\-\-special\-syms\fR] - [\fB\-\-synthetic\fR] [\fB\-\-target=\fR\fIbfdname\fR] - [\fIobjfile\fR...] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\s-1GNU\s0 \fBnm\fR lists the symbols from object files \fIobjfile\fR.... -If no object files are listed as arguments, \fBnm\fR assumes the file -\&\fIa.out\fR. -.PP -For each symbol, \fBnm\fR shows: -.IP "\(bu" 4 -The symbol value, in the radix selected by options (see below), or -hexadecimal by default. -.IP "\(bu" 4 -The symbol type. At least the following types are used; others are, as -well, depending on the object file format. If lowercase, the symbol is -usually local; if uppercase, the symbol is global (external). There -are however a few lowercase symbols that are shown for special global -symbols (\f(CW\*(C`u\*(C'\fR, \f(CW\*(C`v\*(C'\fR and \f(CW\*(C`w\*(C'\fR). -.RS 4 -.ie n .IP """A""" 4 -.el .IP "\f(CWA\fR" 4 -.IX Item "A" -The symbol's value is absolute, and will not be changed by further -linking. -.ie n .IP """B""" 4 -.el .IP "\f(CWB\fR" 4 -.IX Item "B" -.PD 0 -.ie n .IP """b""" 4 -.el .IP "\f(CWb\fR" 4 -.IX Item "b" -.PD -The symbol is in the uninitialized data section (known as \s-1BSS\s0). -.ie n .IP """C""" 4 -.el .IP "\f(CWC\fR" 4 -.IX Item "C" -The symbol is common. Common symbols are uninitialized data. When -linking, multiple common symbols may appear with the same name. If the -symbol is defined anywhere, the common symbols are treated as undefined -references. -.ie n .IP """D""" 4 -.el .IP "\f(CWD\fR" 4 -.IX Item "D" -.PD 0 -.ie n .IP """d""" 4 -.el .IP "\f(CWd\fR" 4 -.IX Item "d" -.PD -The symbol is in the initialized data section. -.ie n .IP """G""" 4 -.el .IP "\f(CWG\fR" 4 -.IX Item "G" -.PD 0 -.ie n .IP """g""" 4 -.el .IP "\f(CWg\fR" 4 -.IX Item "g" -.PD -The symbol is in an initialized data section for small objects. Some -object file formats permit more efficient access to small data objects, -such as a global int variable as opposed to a large global array. -.ie n .IP """i""" 4 -.el .IP "\f(CWi\fR" 4 -.IX Item "i" -For \s-1PE\s0 format files this indicates that the symbol is in a section -specific to the implementation of DLLs. For \s-1ELF\s0 format files this -indicates that the symbol is an indirect function. This is a \s-1GNU\s0 -extension to the standard set of \s-1ELF\s0 symbol types. It indicates a -symbol which if referenced by a relocation does not evaluate to its -address, but instead must be invoked at runtime. The runtime -execution will then return the value to be used in the relocation. -.ie n .IP """I""" 4 -.el .IP "\f(CWI\fR" 4 -.IX Item "I" -The symbol is an indirect reference to another symbol. -.ie n .IP """N""" 4 -.el .IP "\f(CWN\fR" 4 -.IX Item "N" -The symbol is a debugging symbol. -.ie n .IP """p""" 4 -.el .IP "\f(CWp\fR" 4 -.IX Item "p" -The symbols is in a stack unwind section. -.ie n .IP """R""" 4 -.el .IP "\f(CWR\fR" 4 -.IX Item "R" -.PD 0 -.ie n .IP """r""" 4 -.el .IP "\f(CWr\fR" 4 -.IX Item "r" -.PD -The symbol is in a read only data section. -.ie n .IP """S""" 4 -.el .IP "\f(CWS\fR" 4 -.IX Item "S" -.PD 0 -.ie n .IP """s""" 4 -.el .IP "\f(CWs\fR" 4 -.IX Item "s" -.PD -The symbol is in an uninitialized data section for small objects. -.ie n .IP """T""" 4 -.el .IP "\f(CWT\fR" 4 -.IX Item "T" -.PD 0 -.ie n .IP """t""" 4 -.el .IP "\f(CWt\fR" 4 -.IX Item "t" -.PD -The symbol is in the text (code) section. -.ie n .IP """U""" 4 -.el .IP "\f(CWU\fR" 4 -.IX Item "U" -The symbol is undefined. -.ie n .IP """u""" 4 -.el .IP "\f(CWu\fR" 4 -.IX Item "u" -The symbol is a unique global symbol. This is a \s-1GNU\s0 extension to the -standard set of \s-1ELF\s0 symbol bindings. For such a symbol the dynamic linker -will make sure that in the entire process there is just one symbol with -this name and type in use. -.ie n .IP """V""" 4 -.el .IP "\f(CWV\fR" 4 -.IX Item "V" -.PD 0 -.ie n .IP """v""" 4 -.el .IP "\f(CWv\fR" 4 -.IX Item "v" -.PD -The symbol is a weak object. When a weak defined symbol is linked with -a normal defined symbol, the normal defined symbol is used with no error. -When a weak undefined symbol is linked and the symbol is not defined, -the value of the weak symbol becomes zero with no error. On some -systems, uppercase indicates that a default value has been specified. -.ie n .IP """W""" 4 -.el .IP "\f(CWW\fR" 4 -.IX Item "W" -.PD 0 -.ie n .IP """w""" 4 -.el .IP "\f(CWw\fR" 4 -.IX Item "w" -.PD -The symbol is a weak symbol that has not been specifically tagged as a -weak object symbol. When a weak defined symbol is linked with a normal -defined symbol, the normal defined symbol is used with no error. -When a weak undefined symbol is linked and the symbol is not defined, -the value of the symbol is determined in a system-specific manner without -error. On some systems, uppercase indicates that a default value has been -specified. -.ie n .IP """\-""" 4 -.el .IP "\f(CW\-\fR" 4 -.IX Item "-" -The symbol is a stabs symbol in an a.out object file. In this case, the -next values printed are the stabs other field, the stabs desc field, and -the stab type. Stabs symbols are used to hold debugging information. -.ie n .IP """?""" 4 -.el .IP "\f(CW?\fR" 4 -.IX Item "?" -The symbol type is unknown, or object file format specific. -.RE -.RS 4 -.RE -.IP "\(bu" 4 -The symbol name. -.SH "OPTIONS" -.IX Header "OPTIONS" -The long and short forms of options, shown here as alternatives, are -equivalent. -.IP "\fB\-A\fR" 4 -.IX Item "-A" -.PD 0 -.IP "\fB\-o\fR" 4 -.IX Item "-o" -.IP "\fB\-\-print\-file\-name\fR" 4 -.IX Item "--print-file-name" -.PD -Precede each symbol by the name of the input file (or archive member) -in which it was found, rather than identifying the input file once only, -before all of its symbols. -.IP "\fB\-a\fR" 4 -.IX Item "-a" -.PD 0 -.IP "\fB\-\-debug\-syms\fR" 4 -.IX Item "--debug-syms" -.PD -Display all symbols, even debugger-only symbols; normally these are not -listed. -.IP "\fB\-B\fR" 4 -.IX Item "-B" -The same as \fB\-\-format=bsd\fR (for compatibility with the \s-1MIPS\s0 \fBnm\fR). -.IP "\fB\-C\fR" 4 -.IX Item "-C" -.PD 0 -.IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4 -.IX Item "--demangle[=style]" -.PD -Decode (\fIdemangle\fR) low-level symbol names into user-level names. -Besides removing any initial underscore prepended by the system, this -makes \*(C+ function names readable. Different compilers have different -mangling styles. The optional demangling style argument can be used to -choose an appropriate demangling style for your compiler. -.IP "\fB\-\-no\-demangle\fR" 4 -.IX Item "--no-demangle" -Do not demangle low-level symbol names. This is the default. -.IP "\fB\-D\fR" 4 -.IX Item "-D" -.PD 0 -.IP "\fB\-\-dynamic\fR" 4 -.IX Item "--dynamic" -.PD -Display the dynamic symbols rather than the normal symbols. This is -only meaningful for dynamic objects, such as certain types of shared -libraries. -.IP "\fB\-f\fR \fIformat\fR" 4 -.IX Item "-f format" -.PD 0 -.IP "\fB\-\-format=\fR\fIformat\fR" 4 -.IX Item "--format=format" -.PD -Use the output format \fIformat\fR, which can be \f(CW\*(C`bsd\*(C'\fR, -\&\f(CW\*(C`sysv\*(C'\fR, or \f(CW\*(C`posix\*(C'\fR. The default is \f(CW\*(C`bsd\*(C'\fR. -Only the first character of \fIformat\fR is significant; it can be -either upper or lower case. -.IP "\fB\-g\fR" 4 -.IX Item "-g" -.PD 0 -.IP "\fB\-\-extern\-only\fR" 4 -.IX Item "--extern-only" -.PD -Display only external symbols. -.IP "\fB\-h\fR" 4 -.IX Item "-h" -.PD 0 -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -.PD -Show a summary of the options to \fBnm\fR and exit. -.IP "\fB\-l\fR" 4 -.IX Item "-l" -.PD 0 -.IP "\fB\-\-line\-numbers\fR" 4 -.IX Item "--line-numbers" -.PD -For each symbol, use debugging information to try to find a filename and -line number. For a defined symbol, look for the line number of the -address of the symbol. For an undefined symbol, look for the line -number of a relocation entry which refers to the symbol. If line number -information can be found, print it after the other symbol information. -.IP "\fB\-n\fR" 4 -.IX Item "-n" -.PD 0 -.IP "\fB\-v\fR" 4 -.IX Item "-v" -.IP "\fB\-\-numeric\-sort\fR" 4 -.IX Item "--numeric-sort" -.PD -Sort symbols numerically by their addresses, rather than alphabetically -by their names. -.IP "\fB\-p\fR" 4 -.IX Item "-p" -.PD 0 -.IP "\fB\-\-no\-sort\fR" 4 -.IX Item "--no-sort" -.PD -Do not bother to sort the symbols in any order; print them in the order -encountered. -.IP "\fB\-P\fR" 4 -.IX Item "-P" -.PD 0 -.IP "\fB\-\-portability\fR" 4 -.IX Item "--portability" -.PD -Use the \s-1POSIX\s0.2 standard output format instead of the default format. -Equivalent to \fB\-f posix\fR. -.IP "\fB\-r\fR" 4 -.IX Item "-r" -.PD 0 -.IP "\fB\-\-reverse\-sort\fR" 4 -.IX Item "--reverse-sort" -.PD -Reverse the order of the sort (whether numeric or alphabetic); let the -last come first. -.IP "\fB\-S\fR" 4 -.IX Item "-S" -.PD 0 -.IP "\fB\-\-print\-size\fR" 4 -.IX Item "--print-size" -.PD -Print both value and size of defined symbols for the \f(CW\*(C`bsd\*(C'\fR output style. -This option has no effect for object formats that do not record symbol -sizes, unless \fB\-\-size\-sort\fR is also used in which case a -calculated size is displayed. -.IP "\fB\-s\fR" 4 -.IX Item "-s" -.PD 0 -.IP "\fB\-\-print\-armap\fR" 4 -.IX Item "--print-armap" -.PD -When listing symbols from archive members, include the index: a mapping -(stored in the archive by \fBar\fR or \fBranlib\fR) of which modules -contain definitions for which names. -.IP "\fB\-t\fR \fIradix\fR" 4 -.IX Item "-t radix" -.PD 0 -.IP "\fB\-\-radix=\fR\fIradix\fR" 4 -.IX Item "--radix=radix" -.PD -Use \fIradix\fR as the radix for printing the symbol values. It must be -\&\fBd\fR for decimal, \fBo\fR for octal, or \fBx\fR for hexadecimal. -.IP "\fB\-u\fR" 4 -.IX Item "-u" -.PD 0 -.IP "\fB\-\-undefined\-only\fR" 4 -.IX Item "--undefined-only" -.PD -Display only undefined symbols (those external to each object file). -.IP "\fB\-V\fR" 4 -.IX Item "-V" -.PD 0 -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -.PD -Show the version number of \fBnm\fR and exit. -.IP "\fB\-X\fR" 4 -.IX Item "-X" -This option is ignored for compatibility with the \s-1AIX\s0 version of -\&\fBnm\fR. It takes one parameter which must be the string -\&\fB32_64\fR. The default mode of \s-1AIX\s0 \fBnm\fR corresponds -to \fB\-X 32\fR, which is not supported by \s-1GNU\s0 \fBnm\fR. -.IP "\fB\-\-defined\-only\fR" 4 -.IX Item "--defined-only" -Display only defined symbols for each object file. -.IP "\fB\-\-plugin\fR \fIname\fR" 4 -.IX Item "--plugin name" -Load the plugin called \fIname\fR to add support for extra target -types. This option is only available if the toolchain has been built -with plugin support enabled. -.IP "\fB\-\-size\-sort\fR" 4 -.IX Item "--size-sort" -Sort symbols by size. The size is computed as the difference between -the value of the symbol and the value of the symbol with the next higher -value. If the \f(CW\*(C`bsd\*(C'\fR output format is used the size of the symbol -is printed, rather than the value, and \fB\-S\fR must be used in order -both size and value to be printed. -.IP "\fB\-\-special\-syms\fR" 4 -.IX Item "--special-syms" -Display symbols which have a target-specific special meaning. These -symbols are usually used by the target for some special processing and -are not normally helpful when included in the normal symbol lists. -For example for \s-1ARM\s0 targets this option would skip the mapping symbols -used to mark transitions between \s-1ARM\s0 code, \s-1THUMB\s0 code and data. -.IP "\fB\-\-synthetic\fR" 4 -.IX Item "--synthetic" -Include synthetic symbols in the output. These are special symbols -created by the linker for various purposes. They are not shown by -default since they are not part of the binary's original source code. -.IP "\fB\-\-target=\fR\fIbfdname\fR" 4 -.IX Item "--target=bfdname" -Specify an object code format other than your system's default format. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIar\fR\|(1), \fIobjdump\fR\|(1), \fIranlib\fR\|(1), and the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/objcopy.1 b/binutils-2.24/binutils/doc/objcopy.1 deleted file mode 100644 index 25004e03..00000000 --- a/binutils-2.24/binutils/doc/objcopy.1 +++ /dev/null @@ -1,1012 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "OBJCOPY 1" -.TH OBJCOPY 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -objcopy \- copy and translate object files -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -objcopy [\fB\-F\fR \fIbfdname\fR|\fB\-\-target=\fR\fIbfdname\fR] - [\fB\-I\fR \fIbfdname\fR|\fB\-\-input\-target=\fR\fIbfdname\fR] - [\fB\-O\fR \fIbfdname\fR|\fB\-\-output\-target=\fR\fIbfdname\fR] - [\fB\-B\fR \fIbfdarch\fR|\fB\-\-binary\-architecture=\fR\fIbfdarch\fR] - [\fB\-S\fR|\fB\-\-strip\-all\fR] - [\fB\-g\fR|\fB\-\-strip\-debug\fR] - [\fB\-K\fR \fIsymbolname\fR|\fB\-\-keep\-symbol=\fR\fIsymbolname\fR] - [\fB\-N\fR \fIsymbolname\fR|\fB\-\-strip\-symbol=\fR\fIsymbolname\fR] - [\fB\-\-strip\-unneeded\-symbol=\fR\fIsymbolname\fR] - [\fB\-G\fR \fIsymbolname\fR|\fB\-\-keep\-global\-symbol=\fR\fIsymbolname\fR] - [\fB\-\-localize\-hidden\fR] - [\fB\-L\fR \fIsymbolname\fR|\fB\-\-localize\-symbol=\fR\fIsymbolname\fR] - [\fB\-\-globalize\-symbol=\fR\fIsymbolname\fR] - [\fB\-W\fR \fIsymbolname\fR|\fB\-\-weaken\-symbol=\fR\fIsymbolname\fR] - [\fB\-w\fR|\fB\-\-wildcard\fR] - [\fB\-x\fR|\fB\-\-discard\-all\fR] - [\fB\-X\fR|\fB\-\-discard\-locals\fR] - [\fB\-b\fR \fIbyte\fR|\fB\-\-byte=\fR\fIbyte\fR] - [\fB\-i\fR [\fIbreadth\fR]|\fB\-\-interleave\fR[=\fIbreadth\fR]] - [\fB\-\-interleave\-width=\fR\fIwidth\fR] - [\fB\-j\fR \fIsectionpattern\fR|\fB\-\-only\-section=\fR\fIsectionpattern\fR] - [\fB\-R\fR \fIsectionpattern\fR|\fB\-\-remove\-section=\fR\fIsectionpattern\fR] - [\fB\-p\fR|\fB\-\-preserve\-dates\fR] - [\fB\-D\fR|\fB\-\-enable\-deterministic\-archives\fR] - [\fB\-U\fR|\fB\-\-disable\-deterministic\-archives\fR] - [\fB\-\-debugging\fR] - [\fB\-\-gap\-fill=\fR\fIval\fR] - [\fB\-\-pad\-to=\fR\fIaddress\fR] - [\fB\-\-set\-start=\fR\fIval\fR] - [\fB\-\-adjust\-start=\fR\fIincr\fR] - [\fB\-\-change\-addresses=\fR\fIincr\fR] - [\fB\-\-change\-section\-address\fR \fIsectionpattern\fR{=,+,\-}\fIval\fR] - [\fB\-\-change\-section\-lma\fR \fIsectionpattern\fR{=,+,\-}\fIval\fR] - [\fB\-\-change\-section\-vma\fR \fIsectionpattern\fR{=,+,\-}\fIval\fR] - [\fB\-\-change\-warnings\fR] [\fB\-\-no\-change\-warnings\fR] - [\fB\-\-set\-section\-flags\fR \fIsectionpattern\fR=\fIflags\fR] - [\fB\-\-add\-section\fR \fIsectionname\fR=\fIfilename\fR] - [\fB\-\-rename\-section\fR \fIoldname\fR=\fInewname\fR[,\fIflags\fR]] - [\fB\-\-long\-section\-names\fR {enable,disable,keep}] - [\fB\-\-change\-leading\-char\fR] [\fB\-\-remove\-leading\-char\fR] - [\fB\-\-reverse\-bytes=\fR\fInum\fR] - [\fB\-\-srec\-len=\fR\fIival\fR] [\fB\-\-srec\-forceS3\fR] - [\fB\-\-redefine\-sym\fR \fIold\fR=\fInew\fR] - [\fB\-\-redefine\-syms=\fR\fIfilename\fR] - [\fB\-\-weaken\fR] - [\fB\-\-keep\-symbols=\fR\fIfilename\fR] - [\fB\-\-strip\-symbols=\fR\fIfilename\fR] - [\fB\-\-strip\-unneeded\-symbols=\fR\fIfilename\fR] - [\fB\-\-keep\-global\-symbols=\fR\fIfilename\fR] - [\fB\-\-localize\-symbols=\fR\fIfilename\fR] - [\fB\-\-globalize\-symbols=\fR\fIfilename\fR] - [\fB\-\-weaken\-symbols=\fR\fIfilename\fR] - [\fB\-\-alt\-machine\-code=\fR\fIindex\fR] - [\fB\-\-prefix\-symbols=\fR\fIstring\fR] - [\fB\-\-prefix\-sections=\fR\fIstring\fR] - [\fB\-\-prefix\-alloc\-sections=\fR\fIstring\fR] - [\fB\-\-add\-gnu\-debuglink=\fR\fIpath-to-file\fR] - [\fB\-\-keep\-file\-symbols\fR] - [\fB\-\-only\-keep\-debug\fR] - [\fB\-\-strip\-dwo\fR] - [\fB\-\-extract\-dwo\fR] - [\fB\-\-extract\-symbol\fR] - [\fB\-\-writable\-text\fR] - [\fB\-\-readonly\-text\fR] - [\fB\-\-pure\fR] - [\fB\-\-impure\fR] - [\fB\-\-file\-alignment=\fR\fInum\fR] - [\fB\-\-heap=\fR\fIsize\fR] - [\fB\-\-image\-base=\fR\fIaddress\fR] - [\fB\-\-section\-alignment=\fR\fInum\fR] - [\fB\-\-stack=\fR\fIsize\fR] - [\fB\-\-subsystem=\fR\fIwhich\fR:\fImajor\fR.\fIminor\fR] - [\fB\-\-compress\-debug\-sections\fR] - [\fB\-\-decompress\-debug\-sections\fR] - [\fB\-\-dwarf\-depth=\fR\fIn\fR] - [\fB\-\-dwarf\-start=\fR\fIn\fR] - [\fB\-v\fR|\fB\-\-verbose\fR] - [\fB\-V\fR|\fB\-\-version\fR] - [\fB\-\-help\fR] [\fB\-\-info\fR] - \fIinfile\fR [\fIoutfile\fR] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \s-1GNU\s0 \fBobjcopy\fR utility copies the contents of an object -file to another. \fBobjcopy\fR uses the \s-1GNU\s0 \s-1BFD\s0 Library to -read and write the object files. It can write the destination object -file in a format different from that of the source object file. The -exact behavior of \fBobjcopy\fR is controlled by command-line options. -Note that \fBobjcopy\fR should be able to copy a fully linked file -between any two formats. However, copying a relocatable object file -between any two formats may not work as expected. -.PP -\&\fBobjcopy\fR creates temporary files to do its translations and -deletes them afterward. \fBobjcopy\fR uses \s-1BFD\s0 to do all its -translation work; it has access to all the formats described in \s-1BFD\s0 -and thus is able to recognize most formats without being told -explicitly. -.PP -\&\fBobjcopy\fR can be used to generate S\-records by using an output -target of \fBsrec\fR (e.g., use \fB\-O srec\fR). -.PP -\&\fBobjcopy\fR can be used to generate a raw binary file by using an -output target of \fBbinary\fR (e.g., use \fB\-O binary\fR). When -\&\fBobjcopy\fR generates a raw binary file, it will essentially produce -a memory dump of the contents of the input object file. All symbols and -relocation information will be discarded. The memory dump will start at -the load address of the lowest section copied into the output file. -.PP -When generating an S\-record or a raw binary file, it may be helpful to -use \fB\-S\fR to remove sections containing debugging information. In -some cases \fB\-R\fR will be useful to remove sections which contain -information that is not needed by the binary file. -.PP -Note\-\-\-\fBobjcopy\fR is not able to change the endianness of its input -files. If the input format has an endianness (some formats do not), -\&\fBobjcopy\fR can only copy the inputs into file formats that have the -same endianness or which have no endianness (e.g., \fBsrec\fR). -(However, see the \fB\-\-reverse\-bytes\fR option.) -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fIinfile\fR" 4 -.IX Item "infile" -.PD 0 -.IP "\fIoutfile\fR" 4 -.IX Item "outfile" -.PD -The input and output files, respectively. -If you do not specify \fIoutfile\fR, \fBobjcopy\fR creates a -temporary file and destructively renames the result with -the name of \fIinfile\fR. -.IP "\fB\-I\fR \fIbfdname\fR" 4 -.IX Item "-I bfdname" -.PD 0 -.IP "\fB\-\-input\-target=\fR\fIbfdname\fR" 4 -.IX Item "--input-target=bfdname" -.PD -Consider the source file's object format to be \fIbfdname\fR, rather than -attempting to deduce it. -.IP "\fB\-O\fR \fIbfdname\fR" 4 -.IX Item "-O bfdname" -.PD 0 -.IP "\fB\-\-output\-target=\fR\fIbfdname\fR" 4 -.IX Item "--output-target=bfdname" -.PD -Write the output file using the object format \fIbfdname\fR. -.IP "\fB\-F\fR \fIbfdname\fR" 4 -.IX Item "-F bfdname" -.PD 0 -.IP "\fB\-\-target=\fR\fIbfdname\fR" 4 -.IX Item "--target=bfdname" -.PD -Use \fIbfdname\fR as the object format for both the input and the output -file; i.e., simply transfer data from source to destination with no -translation. -.IP "\fB\-B\fR \fIbfdarch\fR" 4 -.IX Item "-B bfdarch" -.PD 0 -.IP "\fB\-\-binary\-architecture=\fR\fIbfdarch\fR" 4 -.IX Item "--binary-architecture=bfdarch" -.PD -Useful when transforming a architecture-less input file into an object file. -In this case the output architecture can be set to \fIbfdarch\fR. This -option will be ignored if the input file has a known \fIbfdarch\fR. You -can access this binary data inside a program by referencing the special -symbols that are created by the conversion process. These symbols are -called _binary_\fIobjfile\fR_start, _binary_\fIobjfile\fR_end and -_binary_\fIobjfile\fR_size. e.g. you can transform a picture file into -an object file and then access it in your code using these symbols. -.IP "\fB\-j\fR \fIsectionpattern\fR" 4 -.IX Item "-j sectionpattern" -.PD 0 -.IP "\fB\-\-only\-section=\fR\fIsectionpattern\fR" 4 -.IX Item "--only-section=sectionpattern" -.PD -Copy only the indicated sections from the input file to the output file. -This option may be given more than once. Note that using this option -inappropriately may make the output file unusable. Wildcard -characters are accepted in \fIsectionpattern\fR. -.IP "\fB\-R\fR \fIsectionpattern\fR" 4 -.IX Item "-R sectionpattern" -.PD 0 -.IP "\fB\-\-remove\-section=\fR\fIsectionpattern\fR" 4 -.IX Item "--remove-section=sectionpattern" -.PD -Remove any section matching \fIsectionpattern\fR from the output file. -This option may be given more than once. Note that using this option -inappropriately may make the output file unusable. Wildcard -characters are accepted in \fIsectionpattern\fR. Using both the -\&\fB\-j\fR and \fB\-R\fR options together results in undefined -behaviour. -.IP "\fB\-S\fR" 4 -.IX Item "-S" -.PD 0 -.IP "\fB\-\-strip\-all\fR" 4 -.IX Item "--strip-all" -.PD -Do not copy relocation and symbol information from the source file. -.IP "\fB\-g\fR" 4 -.IX Item "-g" -.PD 0 -.IP "\fB\-\-strip\-debug\fR" 4 -.IX Item "--strip-debug" -.PD -Do not copy debugging symbols or sections from the source file. -.IP "\fB\-\-strip\-unneeded\fR" 4 -.IX Item "--strip-unneeded" -Strip all symbols that are not needed for relocation processing. -.IP "\fB\-K\fR \fIsymbolname\fR" 4 -.IX Item "-K symbolname" -.PD 0 -.IP "\fB\-\-keep\-symbol=\fR\fIsymbolname\fR" 4 -.IX Item "--keep-symbol=symbolname" -.PD -When stripping symbols, keep symbol \fIsymbolname\fR even if it would -normally be stripped. This option may be given more than once. -.IP "\fB\-N\fR \fIsymbolname\fR" 4 -.IX Item "-N symbolname" -.PD 0 -.IP "\fB\-\-strip\-symbol=\fR\fIsymbolname\fR" 4 -.IX Item "--strip-symbol=symbolname" -.PD -Do not copy symbol \fIsymbolname\fR from the source file. This option -may be given more than once. -.IP "\fB\-\-strip\-unneeded\-symbol=\fR\fIsymbolname\fR" 4 -.IX Item "--strip-unneeded-symbol=symbolname" -Do not copy symbol \fIsymbolname\fR from the source file unless it is needed -by a relocation. This option may be given more than once. -.IP "\fB\-G\fR \fIsymbolname\fR" 4 -.IX Item "-G symbolname" -.PD 0 -.IP "\fB\-\-keep\-global\-symbol=\fR\fIsymbolname\fR" 4 -.IX Item "--keep-global-symbol=symbolname" -.PD -Keep only symbol \fIsymbolname\fR global. Make all other symbols local -to the file, so that they are not visible externally. This option may -be given more than once. -.IP "\fB\-\-localize\-hidden\fR" 4 -.IX Item "--localize-hidden" -In an \s-1ELF\s0 object, mark all symbols that have hidden or internal visibility -as local. This option applies on top of symbol-specific localization options -such as \fB\-L\fR. -.IP "\fB\-L\fR \fIsymbolname\fR" 4 -.IX Item "-L symbolname" -.PD 0 -.IP "\fB\-\-localize\-symbol=\fR\fIsymbolname\fR" 4 -.IX Item "--localize-symbol=symbolname" -.PD -Make symbol \fIsymbolname\fR local to the file, so that it is not -visible externally. This option may be given more than once. -.IP "\fB\-W\fR \fIsymbolname\fR" 4 -.IX Item "-W symbolname" -.PD 0 -.IP "\fB\-\-weaken\-symbol=\fR\fIsymbolname\fR" 4 -.IX Item "--weaken-symbol=symbolname" -.PD -Make symbol \fIsymbolname\fR weak. This option may be given more than once. -.IP "\fB\-\-globalize\-symbol=\fR\fIsymbolname\fR" 4 -.IX Item "--globalize-symbol=symbolname" -Give symbol \fIsymbolname\fR global scoping so that it is visible -outside of the file in which it is defined. This option may be given -more than once. -.IP "\fB\-w\fR" 4 -.IX Item "-w" -.PD 0 -.IP "\fB\-\-wildcard\fR" 4 -.IX Item "--wildcard" -.PD -Permit regular expressions in \fIsymbolname\fRs used in other command -line options. The question mark (?), asterisk (*), backslash (\e) and -square brackets ([]) operators can be used anywhere in the symbol -name. If the first character of the symbol name is the exclamation -point (!) then the sense of the switch is reversed for that symbol. -For example: -.Sp -.Vb 1 -\& \-w \-W !foo \-W fo* -.Ve -.Sp -would cause objcopy to weaken all symbols that start with \*(L"fo\*(R" -except for the symbol \*(L"foo\*(R". -.IP "\fB\-x\fR" 4 -.IX Item "-x" -.PD 0 -.IP "\fB\-\-discard\-all\fR" 4 -.IX Item "--discard-all" -.PD -Do not copy non-global symbols from the source file. -.IP "\fB\-X\fR" 4 -.IX Item "-X" -.PD 0 -.IP "\fB\-\-discard\-locals\fR" 4 -.IX Item "--discard-locals" -.PD -Do not copy compiler-generated local symbols. -(These usually start with \fBL\fR or \fB.\fR.) -.IP "\fB\-b\fR \fIbyte\fR" 4 -.IX Item "-b byte" -.PD 0 -.IP "\fB\-\-byte=\fR\fIbyte\fR" 4 -.IX Item "--byte=byte" -.PD -If interleaving has been enabled via the \fB\-\-interleave\fR option -then start the range of bytes to keep at the \fIbyte\fRth byte. -\&\fIbyte\fR can be in the range from 0 to \fIbreadth\fR\-1, where -\&\fIbreadth\fR is the value given by the \fB\-\-interleave\fR option. -.IP "\fB\-i [\fR\fIbreadth\fR\fB]\fR" 4 -.IX Item "-i [breadth]" -.PD 0 -.IP "\fB\-\-interleave[=\fR\fIbreadth\fR\fB]\fR" 4 -.IX Item "--interleave[=breadth]" -.PD -Only copy a range out of every \fIbreadth\fR bytes. (Header data is -not affected). Select which byte in the range begins the copy with -the \fB\-\-byte\fR option. Select the width of the range with the -\&\fB\-\-interleave\-width\fR option. -.Sp -This option is useful for creating files to program \s-1ROM\s0. It is -typically used with an \f(CW\*(C`srec\*(C'\fR output target. Note that -\&\fBobjcopy\fR will complain if you do not specify the -\&\fB\-\-byte\fR option as well. -.Sp -The default interleave breadth is 4, so with \fB\-\-byte\fR set to 0, -\&\fBobjcopy\fR would copy the first byte out of every four bytes -from the input to the output. -.IP "\fB\-\-interleave\-width=\fR\fIwidth\fR" 4 -.IX Item "--interleave-width=width" -When used with the \fB\-\-interleave\fR option, copy \fIwidth\fR -bytes at a time. The start of the range of bytes to be copied is set -by the \fB\-\-byte\fR option, and the extent of the range is set with -the \fB\-\-interleave\fR option. -.Sp -The default value for this option is 1. The value of \fIwidth\fR plus -the \fIbyte\fR value set by the \fB\-\-byte\fR option must not exceed -the interleave breadth set by the \fB\-\-interleave\fR option. -.Sp -This option can be used to create images for two 16\-bit flashes interleaved -in a 32\-bit bus by passing \fB\-b 0 \-i 4 \-\-interleave\-width=2\fR -and \fB\-b 2 \-i 4 \-\-interleave\-width=2\fR to two \fBobjcopy\fR -commands. If the input was '12345678' then the outputs would be -\&'1256' and '3478' respectively. -.IP "\fB\-p\fR" 4 -.IX Item "-p" -.PD 0 -.IP "\fB\-\-preserve\-dates\fR" 4 -.IX Item "--preserve-dates" -.PD -Set the access and modification dates of the output file to be the same -as those of the input file. -.IP "\fB\-D\fR" 4 -.IX Item "-D" -.PD 0 -.IP "\fB\-\-enable\-deterministic\-archives\fR" 4 -.IX Item "--enable-deterministic-archives" -.PD -Operate in \fIdeterministic\fR mode. When copying archive members -and writing the archive index, use zero for UIDs, GIDs, timestamps, -and use consistent file modes for all files. -.Sp -If \fIbinutils\fR was configured with -\&\fB\-\-enable\-deterministic\-archives\fR, then this mode is on by default. -It can be disabled with the \fB\-U\fR option, below. -.IP "\fB\-U\fR" 4 -.IX Item "-U" -.PD 0 -.IP "\fB\-\-disable\-deterministic\-archives\fR" 4 -.IX Item "--disable-deterministic-archives" -.PD -Do \fInot\fR operate in \fIdeterministic\fR mode. This is the -inverse of the \fB\-D\fR option, above: when copying archive members -and writing the archive index, use their actual \s-1UID\s0, \s-1GID\s0, timestamp, -and file mode values. -.Sp -This is the default unless \fIbinutils\fR was configured with -\&\fB\-\-enable\-deterministic\-archives\fR. -.IP "\fB\-\-debugging\fR" 4 -.IX Item "--debugging" -Convert debugging information, if possible. This is not the default -because only certain debugging formats are supported, and the -conversion process can be time consuming. -.IP "\fB\-\-gap\-fill\fR \fIval\fR" 4 -.IX Item "--gap-fill val" -Fill gaps between sections with \fIval\fR. This operation applies to -the \fIload address\fR (\s-1LMA\s0) of the sections. It is done by increasing -the size of the section with the lower address, and filling in the extra -space created with \fIval\fR. -.IP "\fB\-\-pad\-to\fR \fIaddress\fR" 4 -.IX Item "--pad-to address" -Pad the output file up to the load address \fIaddress\fR. This is -done by increasing the size of the last section. The extra space is -filled in with the value specified by \fB\-\-gap\-fill\fR (default zero). -.IP "\fB\-\-set\-start\fR \fIval\fR" 4 -.IX Item "--set-start val" -Set the start address of the new file to \fIval\fR. Not all object file -formats support setting the start address. -.IP "\fB\-\-change\-start\fR \fIincr\fR" 4 -.IX Item "--change-start incr" -.PD 0 -.IP "\fB\-\-adjust\-start\fR \fIincr\fR" 4 -.IX Item "--adjust-start incr" -.PD -Change the start address by adding \fIincr\fR. Not all object file -formats support setting the start address. -.IP "\fB\-\-change\-addresses\fR \fIincr\fR" 4 -.IX Item "--change-addresses incr" -.PD 0 -.IP "\fB\-\-adjust\-vma\fR \fIincr\fR" 4 -.IX Item "--adjust-vma incr" -.PD -Change the \s-1VMA\s0 and \s-1LMA\s0 addresses of all sections, as well as the start -address, by adding \fIincr\fR. Some object file formats do not permit -section addresses to be changed arbitrarily. Note that this does not -relocate the sections; if the program expects sections to be loaded at a -certain address, and this option is used to change the sections such -that they are loaded at a different address, the program may fail. -.IP "\fB\-\-change\-section\-address\fR \fIsectionpattern\fR\fB{=,+,\-}\fR\fIval\fR" 4 -.IX Item "--change-section-address sectionpattern{=,+,-}val" -.PD 0 -.IP "\fB\-\-adjust\-section\-vma\fR \fIsectionpattern\fR\fB{=,+,\-}\fR\fIval\fR" 4 -.IX Item "--adjust-section-vma sectionpattern{=,+,-}val" -.PD -Set or change both the \s-1VMA\s0 address and the \s-1LMA\s0 address of any section -matching \fIsectionpattern\fR. If \fB=\fR is used, the section -address is set to \fIval\fR. Otherwise, \fIval\fR is added to or -subtracted from the section address. See the comments under -\&\fB\-\-change\-addresses\fR, above. If \fIsectionpattern\fR does not -match any sections in the input file, a warning will be issued, unless -\&\fB\-\-no\-change\-warnings\fR is used. -.IP "\fB\-\-change\-section\-lma\fR \fIsectionpattern\fR\fB{=,+,\-}\fR\fIval\fR" 4 -.IX Item "--change-section-lma sectionpattern{=,+,-}val" -Set or change the \s-1LMA\s0 address of any sections matching -\&\fIsectionpattern\fR. The \s-1LMA\s0 address is the address where the -section will be loaded into memory at program load time. Normally -this is the same as the \s-1VMA\s0 address, which is the address of the -section at program run time, but on some systems, especially those -where a program is held in \s-1ROM\s0, the two can be different. If \fB=\fR -is used, the section address is set to \fIval\fR. Otherwise, -\&\fIval\fR is added to or subtracted from the section address. See the -comments under \fB\-\-change\-addresses\fR, above. If -\&\fIsectionpattern\fR does not match any sections in the input file, a -warning will be issued, unless \fB\-\-no\-change\-warnings\fR is used. -.IP "\fB\-\-change\-section\-vma\fR \fIsectionpattern\fR\fB{=,+,\-}\fR\fIval\fR" 4 -.IX Item "--change-section-vma sectionpattern{=,+,-}val" -Set or change the \s-1VMA\s0 address of any section matching -\&\fIsectionpattern\fR. The \s-1VMA\s0 address is the address where the -section will be located once the program has started executing. -Normally this is the same as the \s-1LMA\s0 address, which is the address -where the section will be loaded into memory, but on some systems, -especially those where a program is held in \s-1ROM\s0, the two can be -different. If \fB=\fR is used, the section address is set to -\&\fIval\fR. Otherwise, \fIval\fR is added to or subtracted from the -section address. See the comments under \fB\-\-change\-addresses\fR, -above. If \fIsectionpattern\fR does not match any sections in the -input file, a warning will be issued, unless -\&\fB\-\-no\-change\-warnings\fR is used. -.IP "\fB\-\-change\-warnings\fR" 4 -.IX Item "--change-warnings" -.PD 0 -.IP "\fB\-\-adjust\-warnings\fR" 4 -.IX Item "--adjust-warnings" -.PD -If \fB\-\-change\-section\-address\fR or \fB\-\-change\-section\-lma\fR or -\&\fB\-\-change\-section\-vma\fR is used, and the section pattern does not -match any sections, issue a warning. This is the default. -.IP "\fB\-\-no\-change\-warnings\fR" 4 -.IX Item "--no-change-warnings" -.PD 0 -.IP "\fB\-\-no\-adjust\-warnings\fR" 4 -.IX Item "--no-adjust-warnings" -.PD -Do not issue a warning if \fB\-\-change\-section\-address\fR or -\&\fB\-\-adjust\-section\-lma\fR or \fB\-\-adjust\-section\-vma\fR is used, even -if the section pattern does not match any sections. -.IP "\fB\-\-set\-section\-flags\fR \fIsectionpattern\fR\fB=\fR\fIflags\fR" 4 -.IX Item "--set-section-flags sectionpattern=flags" -Set the flags for any sections matching \fIsectionpattern\fR. The -\&\fIflags\fR argument is a comma separated string of flag names. The -recognized names are \fBalloc\fR, \fBcontents\fR, \fBload\fR, -\&\fBnoload\fR, \fBreadonly\fR, \fBcode\fR, \fBdata\fR, \fBrom\fR, -\&\fBshare\fR, and \fBdebug\fR. You can set the \fBcontents\fR flag -for a section which does not have contents, but it is not meaningful -to clear the \fBcontents\fR flag of a section which does have -contents\*(--just remove the section instead. Not all flags are -meaningful for all object file formats. -.IP "\fB\-\-add\-section\fR \fIsectionname\fR\fB=\fR\fIfilename\fR" 4 -.IX Item "--add-section sectionname=filename" -Add a new section named \fIsectionname\fR while copying the file. The -contents of the new section are taken from the file \fIfilename\fR. The -size of the section will be the size of the file. This option only -works on file formats which can support sections with arbitrary names. -.IP "\fB\-\-rename\-section\fR \fIoldname\fR\fB=\fR\fInewname\fR\fB[,\fR\fIflags\fR\fB]\fR" 4 -.IX Item "--rename-section oldname=newname[,flags]" -Rename a section from \fIoldname\fR to \fInewname\fR, optionally -changing the section's flags to \fIflags\fR in the process. This has -the advantage over usng a linker script to perform the rename in that -the output stays as an object file and does not become a linked -executable. -.Sp -This option is particularly helpful when the input format is binary, -since this will always create a section called .data. If for example, -you wanted instead to create a section called .rodata containing binary -data you could use the following command line to achieve it: -.Sp -.Vb 3 -\& objcopy \-I binary \-O <output_format> \-B <architecture> \e -\& \-\-rename\-section .data=.rodata,alloc,load,readonly,data,contents \e -\& <input_binary_file> <output_object_file> -.Ve -.IP "\fB\-\-long\-section\-names {enable,disable,keep}\fR" 4 -.IX Item "--long-section-names {enable,disable,keep}" -Controls the handling of long section names when processing \f(CW\*(C`COFF\*(C'\fR -and \f(CW\*(C`PE\-COFF\*(C'\fR object formats. The default behaviour, \fBkeep\fR, -is to preserve long section names if any are present in the input file. -The \fBenable\fR and \fBdisable\fR options forcibly enable or disable -the use of long section names in the output object; when \fBdisable\fR -is in effect, any long section names in the input object will be truncated. -The \fBenable\fR option will only emit long section names if any are -present in the inputs; this is mostly the same as \fBkeep\fR, but it -is left undefined whether the \fBenable\fR option might force the -creation of an empty string table in the output file. -.IP "\fB\-\-change\-leading\-char\fR" 4 -.IX Item "--change-leading-char" -Some object file formats use special characters at the start of -symbols. The most common such character is underscore, which compilers -often add before every symbol. This option tells \fBobjcopy\fR to -change the leading character of every symbol when it converts between -object file formats. If the object file formats use the same leading -character, this option has no effect. Otherwise, it will add a -character, or remove a character, or change a character, as -appropriate. -.IP "\fB\-\-remove\-leading\-char\fR" 4 -.IX Item "--remove-leading-char" -If the first character of a global symbol is a special symbol leading -character used by the object file format, remove the character. The -most common symbol leading character is underscore. This option will -remove a leading underscore from all global symbols. This can be useful -if you want to link together objects of different file formats with -different conventions for symbol names. This is different from -\&\fB\-\-change\-leading\-char\fR because it always changes the symbol name -when appropriate, regardless of the object file format of the output -file. -.IP "\fB\-\-reverse\-bytes=\fR\fInum\fR" 4 -.IX Item "--reverse-bytes=num" -Reverse the bytes in a section with output contents. A section length must -be evenly divisible by the value given in order for the swap to be able to -take place. Reversing takes place before the interleaving is performed. -.Sp -This option is used typically in generating \s-1ROM\s0 images for problematic -target systems. For example, on some target boards, the 32\-bit words -fetched from 8\-bit ROMs are re-assembled in little-endian byte order -regardless of the \s-1CPU\s0 byte order. Depending on the programming model, the -endianness of the \s-1ROM\s0 may need to be modified. -.Sp -Consider a simple file with a section containing the following eight -bytes: \f(CW12345678\fR. -.Sp -Using \fB\-\-reverse\-bytes=2\fR for the above example, the bytes in the -output file would be ordered \f(CW21436587\fR. -.Sp -Using \fB\-\-reverse\-bytes=4\fR for the above example, the bytes in the -output file would be ordered \f(CW43218765\fR. -.Sp -By using \fB\-\-reverse\-bytes=2\fR for the above example, followed by -\&\fB\-\-reverse\-bytes=4\fR on the output file, the bytes in the second -output file would be ordered \f(CW34127856\fR. -.IP "\fB\-\-srec\-len=\fR\fIival\fR" 4 -.IX Item "--srec-len=ival" -Meaningful only for srec output. Set the maximum length of the Srecords -being produced to \fIival\fR. This length covers both address, data and -crc fields. -.IP "\fB\-\-srec\-forceS3\fR" 4 -.IX Item "--srec-forceS3" -Meaningful only for srec output. Avoid generation of S1/S2 records, -creating S3\-only record format. -.IP "\fB\-\-redefine\-sym\fR \fIold\fR\fB=\fR\fInew\fR" 4 -.IX Item "--redefine-sym old=new" -Change the name of a symbol \fIold\fR, to \fInew\fR. This can be useful -when one is trying link two things together for which you have no -source, and there are name collisions. -.IP "\fB\-\-redefine\-syms=\fR\fIfilename\fR" 4 -.IX Item "--redefine-syms=filename" -Apply \fB\-\-redefine\-sym\fR to each symbol pair "\fIold\fR \fInew\fR" -listed in the file \fIfilename\fR. \fIfilename\fR is simply a flat file, -with one symbol pair per line. Line comments may be introduced by the hash -character. This option may be given more than once. -.IP "\fB\-\-weaken\fR" 4 -.IX Item "--weaken" -Change all global symbols in the file to be weak. This can be useful -when building an object which will be linked against other objects using -the \fB\-R\fR option to the linker. This option is only effective when -using an object file format which supports weak symbols. -.IP "\fB\-\-keep\-symbols=\fR\fIfilename\fR" 4 -.IX Item "--keep-symbols=filename" -Apply \fB\-\-keep\-symbol\fR option to each symbol listed in the file -\&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol -name per line. Line comments may be introduced by the hash character. -This option may be given more than once. -.IP "\fB\-\-strip\-symbols=\fR\fIfilename\fR" 4 -.IX Item "--strip-symbols=filename" -Apply \fB\-\-strip\-symbol\fR option to each symbol listed in the file -\&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol -name per line. Line comments may be introduced by the hash character. -This option may be given more than once. -.IP "\fB\-\-strip\-unneeded\-symbols=\fR\fIfilename\fR" 4 -.IX Item "--strip-unneeded-symbols=filename" -Apply \fB\-\-strip\-unneeded\-symbol\fR option to each symbol listed in -the file \fIfilename\fR. \fIfilename\fR is simply a flat file, with one -symbol name per line. Line comments may be introduced by the hash -character. This option may be given more than once. -.IP "\fB\-\-keep\-global\-symbols=\fR\fIfilename\fR" 4 -.IX Item "--keep-global-symbols=filename" -Apply \fB\-\-keep\-global\-symbol\fR option to each symbol listed in the -file \fIfilename\fR. \fIfilename\fR is simply a flat file, with one -symbol name per line. Line comments may be introduced by the hash -character. This option may be given more than once. -.IP "\fB\-\-localize\-symbols=\fR\fIfilename\fR" 4 -.IX Item "--localize-symbols=filename" -Apply \fB\-\-localize\-symbol\fR option to each symbol listed in the file -\&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol -name per line. Line comments may be introduced by the hash character. -This option may be given more than once. -.IP "\fB\-\-globalize\-symbols=\fR\fIfilename\fR" 4 -.IX Item "--globalize-symbols=filename" -Apply \fB\-\-globalize\-symbol\fR option to each symbol listed in the file -\&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol -name per line. Line comments may be introduced by the hash character. -This option may be given more than once. -.IP "\fB\-\-weaken\-symbols=\fR\fIfilename\fR" 4 -.IX Item "--weaken-symbols=filename" -Apply \fB\-\-weaken\-symbol\fR option to each symbol listed in the file -\&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol -name per line. Line comments may be introduced by the hash character. -This option may be given more than once. -.IP "\fB\-\-alt\-machine\-code=\fR\fIindex\fR" 4 -.IX Item "--alt-machine-code=index" -If the output architecture has alternate machine codes, use the -\&\fIindex\fRth code instead of the default one. This is useful in case -a machine is assigned an official code and the tool-chain adopts the -new code, but other applications still depend on the original code -being used. For \s-1ELF\s0 based architectures if the \fIindex\fR -alternative does not exist then the value is treated as an absolute -number to be stored in the e_machine field of the \s-1ELF\s0 header. -.IP "\fB\-\-writable\-text\fR" 4 -.IX Item "--writable-text" -Mark the output text as writable. This option isn't meaningful for all -object file formats. -.IP "\fB\-\-readonly\-text\fR" 4 -.IX Item "--readonly-text" -Make the output text write protected. This option isn't meaningful for all -object file formats. -.IP "\fB\-\-pure\fR" 4 -.IX Item "--pure" -Mark the output file as demand paged. This option isn't meaningful for all -object file formats. -.IP "\fB\-\-impure\fR" 4 -.IX Item "--impure" -Mark the output file as impure. This option isn't meaningful for all -object file formats. -.IP "\fB\-\-prefix\-symbols=\fR\fIstring\fR" 4 -.IX Item "--prefix-symbols=string" -Prefix all symbols in the output file with \fIstring\fR. -.IP "\fB\-\-prefix\-sections=\fR\fIstring\fR" 4 -.IX Item "--prefix-sections=string" -Prefix all section names in the output file with \fIstring\fR. -.IP "\fB\-\-prefix\-alloc\-sections=\fR\fIstring\fR" 4 -.IX Item "--prefix-alloc-sections=string" -Prefix all the names of all allocated sections in the output file with -\&\fIstring\fR. -.IP "\fB\-\-add\-gnu\-debuglink=\fR\fIpath-to-file\fR" 4 -.IX Item "--add-gnu-debuglink=path-to-file" -Creates a .gnu_debuglink section which contains a reference to \fIpath-to-file\fR -and adds it to the output file. -.IP "\fB\-\-keep\-file\-symbols\fR" 4 -.IX Item "--keep-file-symbols" -When stripping a file, perhaps with \fB\-\-strip\-debug\fR or -\&\fB\-\-strip\-unneeded\fR, retain any symbols specifying source file names, -which would otherwise get stripped. -.IP "\fB\-\-only\-keep\-debug\fR" 4 -.IX Item "--only-keep-debug" -Strip a file, removing contents of any sections that would not be -stripped by \fB\-\-strip\-debug\fR and leaving the debugging sections -intact. In \s-1ELF\s0 files, this preserves all note sections in the output. -.Sp -The intention is that this option will be used in conjunction with -\&\fB\-\-add\-gnu\-debuglink\fR to create a two part executable. One a -stripped binary which will occupy less space in \s-1RAM\s0 and in a -distribution and the second a debugging information file which is only -needed if debugging abilities are required. The suggested procedure -to create these files is as follows: -.RS 4 -.IP "1.<Link the executable as normal. Assuming that is is called>" 4 -.IX Item "1.<Link the executable as normal. Assuming that is is called>" -\&\f(CW\*(C`foo\*(C'\fR then... -.ie n .IP "1.<Run ""objcopy \-\-only\-keep\-debug foo foo.dbg"" to>" 4 -.el .IP "1.<Run \f(CWobjcopy \-\-only\-keep\-debug foo foo.dbg\fR to>" 4 -.IX Item "1.<Run objcopy --only-keep-debug foo foo.dbg to>" -create a file containing the debugging info. -.ie n .IP "1.<Run ""objcopy \-\-strip\-debug foo"" to create a>" 4 -.el .IP "1.<Run \f(CWobjcopy \-\-strip\-debug foo\fR to create a>" 4 -.IX Item "1.<Run objcopy --strip-debug foo to create a>" -stripped executable. -.ie n .IP "1.<Run ""objcopy \-\-add\-gnu\-debuglink=foo.dbg foo"">" 4 -.el .IP "1.<Run \f(CWobjcopy \-\-add\-gnu\-debuglink=foo.dbg foo\fR>" 4 -.IX Item "1.<Run objcopy --add-gnu-debuglink=foo.dbg foo>" -to add a link to the debugging info into the stripped executable. -.RE -.RS 4 -.Sp -Note\-\-\-the choice of \f(CW\*(C`.dbg\*(C'\fR as an extension for the debug info -file is arbitrary. Also the \f(CW\*(C`\-\-only\-keep\-debug\*(C'\fR step is -optional. You could instead do this: -.IP "1.<Link the executable as normal.>" 4 -.IX Item "1.<Link the executable as normal.>" -.PD 0 -.ie n .IP "1.<Copy ""foo"" to ""foo.full"">" 4 -.el .IP "1.<Copy \f(CWfoo\fR to \f(CWfoo.full\fR>" 4 -.IX Item "1.<Copy foo to foo.full>" -.ie n .IP "1.<Run ""objcopy \-\-strip\-debug foo"">" 4 -.el .IP "1.<Run \f(CWobjcopy \-\-strip\-debug foo\fR>" 4 -.IX Item "1.<Run objcopy --strip-debug foo>" -.ie n .IP "1.<Run ""objcopy \-\-add\-gnu\-debuglink=foo.full foo"">" 4 -.el .IP "1.<Run \f(CWobjcopy \-\-add\-gnu\-debuglink=foo.full foo\fR>" 4 -.IX Item "1.<Run objcopy --add-gnu-debuglink=foo.full foo>" -.RE -.RS 4 -.PD -.Sp -i.e., the file pointed to by the \fB\-\-add\-gnu\-debuglink\fR can be the -full executable. It does not have to be a file created by the -\&\fB\-\-only\-keep\-debug\fR switch. -.Sp -Note\-\-\-this switch is only intended for use on fully linked files. It -does not make sense to use it on object files where the debugging -information may be incomplete. Besides the gnu_debuglink feature -currently only supports the presence of one filename containing -debugging information, not multiple filenames on a one-per-object-file -basis. -.RE -.IP "\fB\-\-strip\-dwo\fR" 4 -.IX Item "--strip-dwo" -Remove the contents of all \s-1DWARF\s0 .dwo sections, leaving the -remaining debugging sections and all symbols intact. -This option is intended for use by the compiler as part of -the \fB\-gsplit\-dwarf\fR option, which splits debug information -between the .o file and a separate .dwo file. The compiler -generates all debug information in the same file, then uses -the \fB\-\-extract\-dwo\fR option to copy the .dwo sections to -the .dwo file, then the \fB\-\-strip\-dwo\fR option to remove -those sections from the original .o file. -.IP "\fB\-\-extract\-dwo\fR" 4 -.IX Item "--extract-dwo" -Extract the contents of all \s-1DWARF\s0 .dwo sections. See the -\&\fB\-\-strip\-dwo\fR option for more information. -.IP "\fB\-\-file\-alignment\fR \fInum\fR" 4 -.IX Item "--file-alignment num" -Specify the file alignment. Sections in the file will always begin at -file offsets which are multiples of this number. This defaults to -512. -[This option is specific to \s-1PE\s0 targets.] -.IP "\fB\-\-heap\fR \fIreserve\fR" 4 -.IX Item "--heap reserve" -.PD 0 -.IP "\fB\-\-heap\fR \fIreserve\fR\fB,\fR\fIcommit\fR" 4 -.IX Item "--heap reserve,commit" -.PD -Specify the number of bytes of memory to reserve (and optionally commit) -to be used as heap for this program. -[This option is specific to \s-1PE\s0 targets.] -.IP "\fB\-\-image\-base\fR \fIvalue\fR" 4 -.IX Item "--image-base value" -Use \fIvalue\fR as the base address of your program or dll. This is -the lowest memory location that will be used when your program or dll -is loaded. To reduce the need to relocate and improve performance of -your dlls, each should have a unique base address and not overlap any -other dlls. The default is 0x400000 for executables, and 0x10000000 -for dlls. -[This option is specific to \s-1PE\s0 targets.] -.IP "\fB\-\-section\-alignment\fR \fInum\fR" 4 -.IX Item "--section-alignment num" -Sets the section alignment. Sections in memory will always begin at -addresses which are a multiple of this number. Defaults to 0x1000. -[This option is specific to \s-1PE\s0 targets.] -.IP "\fB\-\-stack\fR \fIreserve\fR" 4 -.IX Item "--stack reserve" -.PD 0 -.IP "\fB\-\-stack\fR \fIreserve\fR\fB,\fR\fIcommit\fR" 4 -.IX Item "--stack reserve,commit" -.PD -Specify the number of bytes of memory to reserve (and optionally commit) -to be used as stack for this program. -[This option is specific to \s-1PE\s0 targets.] -.IP "\fB\-\-subsystem\fR \fIwhich\fR" 4 -.IX Item "--subsystem which" -.PD 0 -.IP "\fB\-\-subsystem\fR \fIwhich\fR\fB:\fR\fImajor\fR" 4 -.IX Item "--subsystem which:major" -.IP "\fB\-\-subsystem\fR \fIwhich\fR\fB:\fR\fImajor\fR\fB.\fR\fIminor\fR" 4 -.IX Item "--subsystem which:major.minor" -.PD -Specifies the subsystem under which your program will execute. The -legal values for \fIwhich\fR are \f(CW\*(C`native\*(C'\fR, \f(CW\*(C`windows\*(C'\fR, -\&\f(CW\*(C`console\*(C'\fR, \f(CW\*(C`posix\*(C'\fR, \f(CW\*(C`efi\-app\*(C'\fR, \f(CW\*(C`efi\-bsd\*(C'\fR, -\&\f(CW\*(C`efi\-rtd\*(C'\fR, \f(CW\*(C`sal\-rtd\*(C'\fR, and \f(CW\*(C`xbox\*(C'\fR. You may optionally set -the subsystem version also. Numeric values are also accepted for -\&\fIwhich\fR. -[This option is specific to \s-1PE\s0 targets.] -.IP "\fB\-\-extract\-symbol\fR" 4 -.IX Item "--extract-symbol" -Keep the file's section flags and symbols but remove all section data. -Specifically, the option: -.RS 4 -.IP "*<removes the contents of all sections;>" 4 -.IX Item "*<removes the contents of all sections;>" -.PD 0 -.IP "*<sets the size of every section to zero; and>" 4 -.IX Item "*<sets the size of every section to zero; and>" -.IP "*<sets the file's start address to zero.>" 4 -.IX Item "*<sets the file's start address to zero.>" -.RE -.RS 4 -.PD -.Sp -This option is used to build a \fI.sym\fR file for a VxWorks kernel. -It can also be a useful way of reducing the size of a \fB\-\-just\-symbols\fR -linker input file. -.RE -.IP "\fB\-\-compress\-debug\-sections\fR" 4 -.IX Item "--compress-debug-sections" -Compress \s-1DWARF\s0 debug sections using zlib. -.IP "\fB\-\-decompress\-debug\-sections\fR" 4 -.IX Item "--decompress-debug-sections" -Decompress \s-1DWARF\s0 debug sections using zlib. -.IP "\fB\-V\fR" 4 -.IX Item "-V" -.PD 0 -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -.PD -Show the version number of \fBobjcopy\fR. -.IP "\fB\-v\fR" 4 -.IX Item "-v" -.PD 0 -.IP "\fB\-\-verbose\fR" 4 -.IX Item "--verbose" -.PD -Verbose output: list all object files modified. In the case of -archives, \fBobjcopy \-V\fR lists all members of the archive. -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -Show a summary of the options to \fBobjcopy\fR. -.IP "\fB\-\-info\fR" 4 -.IX Item "--info" -Display a list showing all architectures and object formats available. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIld\fR\|(1), \fIobjdump\fR\|(1), and the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/objdump.1 b/binutils-2.24/binutils/doc/objdump.1 deleted file mode 100644 index 4170414d..00000000 --- a/binutils-2.24/binutils/doc/objdump.1 +++ /dev/null @@ -1,842 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "OBJDUMP 1" -.TH OBJDUMP 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -objdump \- display information from object files. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -objdump [\fB\-a\fR|\fB\-\-archive\-headers\fR] - [\fB\-b\fR \fIbfdname\fR|\fB\-\-target=\fR\fIbfdname\fR] - [\fB\-C\fR|\fB\-\-demangle\fR[=\fIstyle\fR] ] - [\fB\-d\fR|\fB\-\-disassemble\fR] - [\fB\-D\fR|\fB\-\-disassemble\-all\fR] - [\fB\-z\fR|\fB\-\-disassemble\-zeroes\fR] - [\fB\-EB\fR|\fB\-EL\fR|\fB\-\-endian=\fR{big | little }] - [\fB\-f\fR|\fB\-\-file\-headers\fR] - [\fB\-F\fR|\fB\-\-file\-offsets\fR] - [\fB\-\-file\-start\-context\fR] - [\fB\-g\fR|\fB\-\-debugging\fR] - [\fB\-e\fR|\fB\-\-debugging\-tags\fR] - [\fB\-h\fR|\fB\-\-section\-headers\fR|\fB\-\-headers\fR] - [\fB\-i\fR|\fB\-\-info\fR] - [\fB\-j\fR \fIsection\fR|\fB\-\-section=\fR\fIsection\fR] - [\fB\-l\fR|\fB\-\-line\-numbers\fR] - [\fB\-S\fR|\fB\-\-source\fR] - [\fB\-m\fR \fImachine\fR|\fB\-\-architecture=\fR\fImachine\fR] - [\fB\-M\fR \fIoptions\fR|\fB\-\-disassembler\-options=\fR\fIoptions\fR] - [\fB\-p\fR|\fB\-\-private\-headers\fR] - [\fB\-P\fR \fIoptions\fR|\fB\-\-private=\fR\fIoptions\fR] - [\fB\-r\fR|\fB\-\-reloc\fR] - [\fB\-R\fR|\fB\-\-dynamic\-reloc\fR] - [\fB\-s\fR|\fB\-\-full\-contents\fR] - [\fB\-W[lLiaprmfFsoRt]\fR| - \fB\-\-dwarf\fR[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames\-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]] - [\fB\-G\fR|\fB\-\-stabs\fR] - [\fB\-t\fR|\fB\-\-syms\fR] - [\fB\-T\fR|\fB\-\-dynamic\-syms\fR] - [\fB\-x\fR|\fB\-\-all\-headers\fR] - [\fB\-w\fR|\fB\-\-wide\fR] - [\fB\-\-start\-address=\fR\fIaddress\fR] - [\fB\-\-stop\-address=\fR\fIaddress\fR] - [\fB\-\-prefix\-addresses\fR] - [\fB\-\-[no\-]show\-raw\-insn\fR] - [\fB\-\-adjust\-vma=\fR\fIoffset\fR] - [\fB\-\-special\-syms\fR] - [\fB\-\-prefix=\fR\fIprefix\fR] - [\fB\-\-prefix\-strip=\fR\fIlevel\fR] - [\fB\-\-insn\-width=\fR\fIwidth\fR] - [\fB\-V\fR|\fB\-\-version\fR] - [\fB\-H\fR|\fB\-\-help\fR] - \fIobjfile\fR... -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBobjdump\fR displays information about one or more object files. -The options control what particular information to display. This -information is mostly useful to programmers who are working on the -compilation tools, as opposed to programmers who just want their -program to compile and work. -.PP -\&\fIobjfile\fR... are the object files to be examined. When you -specify archives, \fBobjdump\fR shows information on each of the member -object files. -.SH "OPTIONS" -.IX Header "OPTIONS" -The long and short forms of options, shown here as alternatives, are -equivalent. At least one option from the list -\&\fB\-a,\-d,\-D,\-e,\-f,\-g,\-G,\-h,\-H,\-p,\-P,\-r,\-R,\-s,\-S,\-t,\-T,\-V,\-x\fR must be given. -.IP "\fB\-a\fR" 4 -.IX Item "-a" -.PD 0 -.IP "\fB\-\-archive\-header\fR" 4 -.IX Item "--archive-header" -.PD -If any of the \fIobjfile\fR files are archives, display the archive -header information (in a format similar to \fBls \-l\fR). Besides the -information you could list with \fBar tv\fR, \fBobjdump \-a\fR shows -the object file format of each archive member. -.IP "\fB\-\-adjust\-vma=\fR\fIoffset\fR" 4 -.IX Item "--adjust-vma=offset" -When dumping information, first add \fIoffset\fR to all the section -addresses. This is useful if the section addresses do not correspond to -the symbol table, which can happen when putting sections at particular -addresses when using a format which can not represent section addresses, -such as a.out. -.IP "\fB\-b\fR \fIbfdname\fR" 4 -.IX Item "-b bfdname" -.PD 0 -.IP "\fB\-\-target=\fR\fIbfdname\fR" 4 -.IX Item "--target=bfdname" -.PD -Specify that the object-code format for the object files is -\&\fIbfdname\fR. This option may not be necessary; \fIobjdump\fR can -automatically recognize many formats. -.Sp -For example, -.Sp -.Vb 1 -\& objdump \-b oasys \-m vax \-h fu.o -.Ve -.Sp -displays summary information from the section headers (\fB\-h\fR) of -\&\fIfu.o\fR, which is explicitly identified (\fB\-m\fR) as a \s-1VAX\s0 object -file in the format produced by Oasys compilers. You can list the -formats available with the \fB\-i\fR option. -.IP "\fB\-C\fR" 4 -.IX Item "-C" -.PD 0 -.IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4 -.IX Item "--demangle[=style]" -.PD -Decode (\fIdemangle\fR) low-level symbol names into user-level names. -Besides removing any initial underscore prepended by the system, this -makes \*(C+ function names readable. Different compilers have different -mangling styles. The optional demangling style argument can be used to -choose an appropriate demangling style for your compiler. -.IP "\fB\-g\fR" 4 -.IX Item "-g" -.PD 0 -.IP "\fB\-\-debugging\fR" 4 -.IX Item "--debugging" -.PD -Display debugging information. This attempts to parse \s-1STABS\s0 and \s-1IEEE\s0 -debugging format information stored in the file and print it out using -a C like syntax. If neither of these formats are found this option -falls back on the \fB\-W\fR option to print any \s-1DWARF\s0 information in -the file. -.IP "\fB\-e\fR" 4 -.IX Item "-e" -.PD 0 -.IP "\fB\-\-debugging\-tags\fR" 4 -.IX Item "--debugging-tags" -.PD -Like \fB\-g\fR, but the information is generated in a format compatible -with ctags tool. -.IP "\fB\-d\fR" 4 -.IX Item "-d" -.PD 0 -.IP "\fB\-\-disassemble\fR" 4 -.IX Item "--disassemble" -.PD -Display the assembler mnemonics for the machine instructions from -\&\fIobjfile\fR. This option only disassembles those sections which are -expected to contain instructions. -.IP "\fB\-D\fR" 4 -.IX Item "-D" -.PD 0 -.IP "\fB\-\-disassemble\-all\fR" 4 -.IX Item "--disassemble-all" -.PD -Like \fB\-d\fR, but disassemble the contents of all sections, not just -those expected to contain instructions. -.Sp -If the target is an \s-1ARM\s0 architecture this switch also has the effect -of forcing the disassembler to decode pieces of data found in code -sections as if they were instructions. -.IP "\fB\-\-prefix\-addresses\fR" 4 -.IX Item "--prefix-addresses" -When disassembling, print the complete address on each line. This is -the older disassembly format. -.IP "\fB\-EB\fR" 4 -.IX Item "-EB" -.PD 0 -.IP "\fB\-EL\fR" 4 -.IX Item "-EL" -.IP "\fB\-\-endian={big|little}\fR" 4 -.IX Item "--endian={big|little}" -.PD -Specify the endianness of the object files. This only affects -disassembly. This can be useful when disassembling a file format which -does not describe endianness information, such as S\-records. -.IP "\fB\-f\fR" 4 -.IX Item "-f" -.PD 0 -.IP "\fB\-\-file\-headers\fR" 4 -.IX Item "--file-headers" -.PD -Display summary information from the overall header of -each of the \fIobjfile\fR files. -.IP "\fB\-F\fR" 4 -.IX Item "-F" -.PD 0 -.IP "\fB\-\-file\-offsets\fR" 4 -.IX Item "--file-offsets" -.PD -When disassembling sections, whenever a symbol is displayed, also -display the file offset of the region of data that is about to be -dumped. If zeroes are being skipped, then when disassembly resumes, -tell the user how many zeroes were skipped and the file offset of the -location from where the disassembly resumes. When dumping sections, -display the file offset of the location from where the dump starts. -.IP "\fB\-\-file\-start\-context\fR" 4 -.IX Item "--file-start-context" -Specify that when displaying interlisted source code/disassembly -(assumes \fB\-S\fR) from a file that has not yet been displayed, extend the -context to the start of the file. -.IP "\fB\-h\fR" 4 -.IX Item "-h" -.PD 0 -.IP "\fB\-\-section\-headers\fR" 4 -.IX Item "--section-headers" -.IP "\fB\-\-headers\fR" 4 -.IX Item "--headers" -.PD -Display summary information from the section headers of the -object file. -.Sp -File segments may be relocated to nonstandard addresses, for example by -using the \fB\-Ttext\fR, \fB\-Tdata\fR, or \fB\-Tbss\fR options to -\&\fBld\fR. However, some object file formats, such as a.out, do not -store the starting address of the file segments. In those situations, -although \fBld\fR relocates the sections correctly, using \fBobjdump -\&\-h\fR to list the file section headers cannot show the correct addresses. -Instead, it shows the usual addresses, which are implicit for the -target. -.IP "\fB\-H\fR" 4 -.IX Item "-H" -.PD 0 -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -.PD -Print a summary of the options to \fBobjdump\fR and exit. -.IP "\fB\-i\fR" 4 -.IX Item "-i" -.PD 0 -.IP "\fB\-\-info\fR" 4 -.IX Item "--info" -.PD -Display a list showing all architectures and object formats available -for specification with \fB\-b\fR or \fB\-m\fR. -.IP "\fB\-j\fR \fIname\fR" 4 -.IX Item "-j name" -.PD 0 -.IP "\fB\-\-section=\fR\fIname\fR" 4 -.IX Item "--section=name" -.PD -Display information only for section \fIname\fR. -.IP "\fB\-l\fR" 4 -.IX Item "-l" -.PD 0 -.IP "\fB\-\-line\-numbers\fR" 4 -.IX Item "--line-numbers" -.PD -Label the display (using debugging information) with the filename and -source line numbers corresponding to the object code or relocs shown. -Only useful with \fB\-d\fR, \fB\-D\fR, or \fB\-r\fR. -.IP "\fB\-m\fR \fImachine\fR" 4 -.IX Item "-m machine" -.PD 0 -.IP "\fB\-\-architecture=\fR\fImachine\fR" 4 -.IX Item "--architecture=machine" -.PD -Specify the architecture to use when disassembling object files. This -can be useful when disassembling object files which do not describe -architecture information, such as S\-records. You can list the available -architectures with the \fB\-i\fR option. -.Sp -If the target is an \s-1ARM\s0 architecture then this switch has an -additional effect. It restricts the disassembly to only those -instructions supported by the architecture specified by \fImachine\fR. -If it is necessary to use this switch because the input file does not -contain any architecture information, but it is also desired to -disassemble all the instructions use \fB\-marm\fR. -.IP "\fB\-M\fR \fIoptions\fR" 4 -.IX Item "-M options" -.PD 0 -.IP "\fB\-\-disassembler\-options=\fR\fIoptions\fR" 4 -.IX Item "--disassembler-options=options" -.PD -Pass target specific information to the disassembler. Only supported on -some targets. If it is necessary to specify more than one -disassembler option then multiple \fB\-M\fR options can be used or -can be placed together into a comma separated list. -.Sp -If the target is an \s-1ARM\s0 architecture then this switch can be used to -select which register name set is used during disassembler. Specifying -\&\fB\-M reg-names-std\fR (the default) will select the register names as -used in \s-1ARM\s0's instruction set documentation, but with register 13 called -\&'sp', register 14 called 'lr' and register 15 called 'pc'. Specifying -\&\fB\-M reg-names-apcs\fR will select the name set used by the \s-1ARM\s0 -Procedure Call Standard, whilst specifying \fB\-M reg-names-raw\fR will -just use \fBr\fR followed by the register number. -.Sp -There are also two variants on the \s-1APCS\s0 register naming scheme enabled -by \fB\-M reg-names-atpcs\fR and \fB\-M reg-names-special-atpcs\fR which -use the ARM/Thumb Procedure Call Standard naming conventions. (Either -with the normal register names or the special register names). -.Sp -This option can also be used for \s-1ARM\s0 architectures to force the -disassembler to interpret all instructions as Thumb instructions by -using the switch \fB\-\-disassembler\-options=force\-thumb\fR. This can be -useful when attempting to disassemble thumb code produced by other -compilers. -.Sp -For the x86, some of the options duplicate functions of the \fB\-m\fR -switch, but allow finer grained control. Multiple selections from the -following may be specified as a comma separated string. -\&\fBx86\-64\fR, \fBi386\fR and \fBi8086\fR select disassembly for -the given architecture. \fBintel\fR and \fBatt\fR select between -intel syntax mode and \s-1AT&T\s0 syntax mode. -\&\fBintel-mnemonic\fR and \fBatt-mnemonic\fR select between -intel mnemonic mode and \s-1AT&T\s0 mnemonic mode. \fBintel-mnemonic\fR -implies \fBintel\fR and \fBatt-mnemonic\fR implies \fBatt\fR. -\&\fBaddr64\fR, \fBaddr32\fR, -\&\fBaddr16\fR, \fBdata32\fR and \fBdata16\fR specify the default -address size and operand size. These four options will be overridden if -\&\fBx86\-64\fR, \fBi386\fR or \fBi8086\fR appear later in the -option string. Lastly, \fBsuffix\fR, when in \s-1AT&T\s0 mode, -instructs the disassembler to print a mnemonic suffix even when the -suffix could be inferred by the operands. -.Sp -For PowerPC, \fBbooke\fR controls the disassembly of BookE -instructions. \fB32\fR and \fB64\fR select PowerPC and -PowerPC64 disassembly, respectively. \fBe300\fR selects -disassembly for the e300 family. \fB440\fR selects disassembly for -the PowerPC 440. \fBppcps\fR selects disassembly for the paired -single instructions of the \s-1PPC750CL\s0. -.Sp -For \s-1MIPS\s0, this option controls the printing of instruction mnemonic -names and register names in disassembled instructions. Multiple -selections from the following may be specified as a comma separated -string, and invalid options are ignored: -.RS 4 -.ie n .IP """no\-aliases""" 4 -.el .IP "\f(CWno\-aliases\fR" 4 -.IX Item "no-aliases" -Print the 'raw' instruction mnemonic instead of some pseudo -instruction mnemonic. I.e., print 'daddu' or 'or' instead of 'move', -\&'sll' instead of 'nop', etc. -.ie n .IP """virt""" 4 -.el .IP "\f(CWvirt\fR" 4 -.IX Item "virt" -Disassemble the virtualization \s-1ASE\s0 instructions. -.ie n .IP """gpr\-names=\f(CIABI\f(CW""" 4 -.el .IP "\f(CWgpr\-names=\f(CIABI\f(CW\fR" 4 -.IX Item "gpr-names=ABI" -Print \s-1GPR\s0 (general-purpose register) names as appropriate -for the specified \s-1ABI\s0. By default, \s-1GPR\s0 names are selected according to -the \s-1ABI\s0 of the binary being disassembled. -.ie n .IP """fpr\-names=\f(CIABI\f(CW""" 4 -.el .IP "\f(CWfpr\-names=\f(CIABI\f(CW\fR" 4 -.IX Item "fpr-names=ABI" -Print \s-1FPR\s0 (floating-point register) names as -appropriate for the specified \s-1ABI\s0. By default, \s-1FPR\s0 numbers are printed -rather than names. -.ie n .IP """cp0\-names=\f(CIARCH\f(CW""" 4 -.el .IP "\f(CWcp0\-names=\f(CIARCH\f(CW\fR" 4 -.IX Item "cp0-names=ARCH" -Print \s-1CP0\s0 (system control coprocessor; coprocessor 0) register names -as appropriate for the \s-1CPU\s0 or architecture specified by -\&\fI\s-1ARCH\s0\fR. By default, \s-1CP0\s0 register names are selected according to -the architecture and \s-1CPU\s0 of the binary being disassembled. -.ie n .IP """hwr\-names=\f(CIARCH\f(CW""" 4 -.el .IP "\f(CWhwr\-names=\f(CIARCH\f(CW\fR" 4 -.IX Item "hwr-names=ARCH" -Print \s-1HWR\s0 (hardware register, used by the \f(CW\*(C`rdhwr\*(C'\fR instruction) names -as appropriate for the \s-1CPU\s0 or architecture specified by -\&\fI\s-1ARCH\s0\fR. By default, \s-1HWR\s0 names are selected according to -the architecture and \s-1CPU\s0 of the binary being disassembled. -.ie n .IP """reg\-names=\f(CIABI\f(CW""" 4 -.el .IP "\f(CWreg\-names=\f(CIABI\f(CW\fR" 4 -.IX Item "reg-names=ABI" -Print \s-1GPR\s0 and \s-1FPR\s0 names as appropriate for the selected \s-1ABI\s0. -.ie n .IP """reg\-names=\f(CIARCH\f(CW""" 4 -.el .IP "\f(CWreg\-names=\f(CIARCH\f(CW\fR" 4 -.IX Item "reg-names=ARCH" -Print CPU-specific register names (\s-1CP0\s0 register and \s-1HWR\s0 names) -as appropriate for the selected \s-1CPU\s0 or architecture. -.RE -.RS 4 -.Sp -For any of the options listed above, \fI\s-1ABI\s0\fR or -\&\fI\s-1ARCH\s0\fR may be specified as \fBnumeric\fR to have numbers printed -rather than names, for the selected types of registers. -You can list the available values of \fI\s-1ABI\s0\fR and \fI\s-1ARCH\s0\fR using -the \fB\-\-help\fR option. -.Sp -For \s-1VAX\s0, you can specify function entry addresses with \fB\-M -entry:0xf00ba\fR. You can use this multiple times to properly -disassemble \s-1VAX\s0 binary files that don't contain symbol tables (like -\&\s-1ROM\s0 dumps). In these cases, the function entry mask would otherwise -be decoded as \s-1VAX\s0 instructions, which would probably lead the rest -of the function being wrongly disassembled. -.RE -.IP "\fB\-p\fR" 4 -.IX Item "-p" -.PD 0 -.IP "\fB\-\-private\-headers\fR" 4 -.IX Item "--private-headers" -.PD -Print information that is specific to the object file format. The exact -information printed depends upon the object file format. For some -object file formats, no additional information is printed. -.IP "\fB\-P\fR \fIoptions\fR" 4 -.IX Item "-P options" -.PD 0 -.IP "\fB\-\-private=\fR\fIoptions\fR" 4 -.IX Item "--private=options" -.PD -Print information that is specific to the object file format. The -argument \fIoptions\fR is a comma separated list that depends on the -format (the lists of options is displayed with the help). -.Sp -For \s-1XCOFF\s0, the available options are: \fBheader\fR, \fBaout\fR, -\&\fBsections\fR, \fBsyms\fR, \fBrelocs\fR, \fBlineno\fR, -\&\fBloader\fR, \fBexcept\fR, \fBtypchk\fR, \fBtraceback\fR, -\&\fBtoc\fR and \fBldinfo\fR. -.IP "\fB\-r\fR" 4 -.IX Item "-r" -.PD 0 -.IP "\fB\-\-reloc\fR" 4 -.IX Item "--reloc" -.PD -Print the relocation entries of the file. If used with \fB\-d\fR or -\&\fB\-D\fR, the relocations are printed interspersed with the -disassembly. -.IP "\fB\-R\fR" 4 -.IX Item "-R" -.PD 0 -.IP "\fB\-\-dynamic\-reloc\fR" 4 -.IX Item "--dynamic-reloc" -.PD -Print the dynamic relocation entries of the file. This is only -meaningful for dynamic objects, such as certain types of shared -libraries. As for \fB\-r\fR, if used with \fB\-d\fR or -\&\fB\-D\fR, the relocations are printed interspersed with the -disassembly. -.IP "\fB\-s\fR" 4 -.IX Item "-s" -.PD 0 -.IP "\fB\-\-full\-contents\fR" 4 -.IX Item "--full-contents" -.PD -Display the full contents of any sections requested. By default all -non-empty sections are displayed. -.IP "\fB\-S\fR" 4 -.IX Item "-S" -.PD 0 -.IP "\fB\-\-source\fR" 4 -.IX Item "--source" -.PD -Display source code intermixed with disassembly, if possible. Implies -\&\fB\-d\fR. -.IP "\fB\-\-prefix=\fR\fIprefix\fR" 4 -.IX Item "--prefix=prefix" -Specify \fIprefix\fR to add to the absolute paths when used with -\&\fB\-S\fR. -.IP "\fB\-\-prefix\-strip=\fR\fIlevel\fR" 4 -.IX Item "--prefix-strip=level" -Indicate how many initial directory names to strip off the hardwired -absolute paths. It has no effect without \fB\-\-prefix=\fR\fIprefix\fR. -.IP "\fB\-\-show\-raw\-insn\fR" 4 -.IX Item "--show-raw-insn" -When disassembling instructions, print the instruction in hex as well as -in symbolic form. This is the default except when -\&\fB\-\-prefix\-addresses\fR is used. -.IP "\fB\-\-no\-show\-raw\-insn\fR" 4 -.IX Item "--no-show-raw-insn" -When disassembling instructions, do not print the instruction bytes. -This is the default when \fB\-\-prefix\-addresses\fR is used. -.IP "\fB\-\-insn\-width=\fR\fIwidth\fR" 4 -.IX Item "--insn-width=width" -Display \fIwidth\fR bytes on a single line when disassembling -instructions. -.IP "\fB\-W[lLiaprmfFsoRt]\fR" 4 -.IX Item "-W[lLiaprmfFsoRt]" -.PD 0 -.IP "\fB\-\-dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames\-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]\fR" 4 -.IX Item "--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]" -.PD -Displays the contents of the debug sections in the file, if any are -present. If one of the optional letters or words follows the switch -then only data found in those specific sections will be dumped. -.Sp -Note that there is no single letter option to display the content of -trace sections or .gdb_index. -.Sp -Note: the output from the \fB=info\fR option can also be affected -by the options \fB\-\-dwarf\-depth\fR, the \fB\-\-dwarf\-start\fR and -the \fB\-\-dwarf\-check\fR. -.IP "\fB\-\-dwarf\-depth=\fR\fIn\fR" 4 -.IX Item "--dwarf-depth=n" -Limit the dump of the \f(CW\*(C`.debug_info\*(C'\fR section to \fIn\fR children. -This is only useful with \fB\-\-dwarf=info\fR. The default is -to print all DIEs; the special value 0 for \fIn\fR will also have this -effect. -.Sp -With a non-zero value for \fIn\fR, DIEs at or deeper than \fIn\fR -levels will not be printed. The range for \fIn\fR is zero-based. -.IP "\fB\-\-dwarf\-start=\fR\fIn\fR" 4 -.IX Item "--dwarf-start=n" -Print only DIEs beginning with the \s-1DIE\s0 numbered \fIn\fR. This is only -useful with \fB\-\-dwarf=info\fR. -.Sp -If specified, this option will suppress printing of any header -information and all DIEs before the \s-1DIE\s0 numbered \fIn\fR. Only -siblings and children of the specified \s-1DIE\s0 will be printed. -.Sp -This can be used in conjunction with \fB\-\-dwarf\-depth\fR. -.IP "\fB\-\-dwarf\-check\fR" 4 -.IX Item "--dwarf-check" -Enable additional checks for consistency of Dwarf information. -.IP "\fB\-G\fR" 4 -.IX Item "-G" -.PD 0 -.IP "\fB\-\-stabs\fR" 4 -.IX Item "--stabs" -.PD -Display the full contents of any sections requested. Display the -contents of the .stab and .stab.index and .stab.excl sections from an -\&\s-1ELF\s0 file. This is only useful on systems (such as Solaris 2.0) in which -\&\f(CW\*(C`.stab\*(C'\fR debugging symbol-table entries are carried in an \s-1ELF\s0 -section. In most other file formats, debugging symbol-table entries are -interleaved with linkage symbols, and are visible in the \fB\-\-syms\fR -output. -.IP "\fB\-\-start\-address=\fR\fIaddress\fR" 4 -.IX Item "--start-address=address" -Start displaying data at the specified address. This affects the output -of the \fB\-d\fR, \fB\-r\fR and \fB\-s\fR options. -.IP "\fB\-\-stop\-address=\fR\fIaddress\fR" 4 -.IX Item "--stop-address=address" -Stop displaying data at the specified address. This affects the output -of the \fB\-d\fR, \fB\-r\fR and \fB\-s\fR options. -.IP "\fB\-t\fR" 4 -.IX Item "-t" -.PD 0 -.IP "\fB\-\-syms\fR" 4 -.IX Item "--syms" -.PD -Print the symbol table entries of the file. -This is similar to the information provided by the \fBnm\fR program, -although the display format is different. The format of the output -depends upon the format of the file being dumped, but there are two main -types. One looks like this: -.Sp -.Vb 2 -\& [ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss -\& [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred -.Ve -.Sp -where the number inside the square brackets is the number of the entry -in the symbol table, the \fIsec\fR number is the section number, the -\&\fIfl\fR value are the symbol's flag bits, the \fIty\fR number is the -symbol's type, the \fIscl\fR number is the symbol's storage class and -the \fInx\fR value is the number of auxilary entries associated with -the symbol. The last two fields are the symbol's value and its name. -.Sp -The other common output format, usually seen with \s-1ELF\s0 based files, -looks like this: -.Sp -.Vb 2 -\& 00000000 l d .bss 00000000 .bss -\& 00000000 g .text 00000000 fred -.Ve -.Sp -Here the first number is the symbol's value (sometimes refered to as -its address). The next field is actually a set of characters and -spaces indicating the flag bits that are set on the symbol. These -characters are described below. Next is the section with which the -symbol is associated or \fI*ABS*\fR if the section is absolute (ie -not connected with any section), or \fI*UND*\fR if the section is -referenced in the file being dumped, but not defined there. -.Sp -After the section name comes another field, a number, which for common -symbols is the alignment and for other symbol is the size. Finally -the symbol's name is displayed. -.Sp -The flag characters are divided into 7 groups as follows: -.RS 4 -.ie n .IP """l""" 4 -.el .IP "\f(CWl\fR" 4 -.IX Item "l" -.PD 0 -.ie n .IP """g""" 4 -.el .IP "\f(CWg\fR" 4 -.IX Item "g" -.ie n .IP """u""" 4 -.el .IP "\f(CWu\fR" 4 -.IX Item "u" -.ie n .IP """!""" 4 -.el .IP "\f(CW!\fR" 4 -.IX Item "!" -.PD -The symbol is a local (l), global (g), unique global (u), neither -global nor local (a space) or both global and local (!). A -symbol can be neither local or global for a variety of reasons, e.g., -because it is used for debugging, but it is probably an indication of -a bug if it is ever both local and global. Unique global symbols are -a \s-1GNU\s0 extension to the standard set of \s-1ELF\s0 symbol bindings. For such -a symbol the dynamic linker will make sure that in the entire process -there is just one symbol with this name and type in use. -.ie n .IP """w""" 4 -.el .IP "\f(CWw\fR" 4 -.IX Item "w" -The symbol is weak (w) or strong (a space). -.ie n .IP """C""" 4 -.el .IP "\f(CWC\fR" 4 -.IX Item "C" -The symbol denotes a constructor (C) or an ordinary symbol (a space). -.ie n .IP """W""" 4 -.el .IP "\f(CWW\fR" 4 -.IX Item "W" -The symbol is a warning (W) or a normal symbol (a space). A warning -symbol's name is a message to be displayed if the symbol following the -warning symbol is ever referenced. -.ie n .IP """I""" 4 -.el .IP "\f(CWI\fR" 4 -.IX Item "I" -.PD 0 -.ie n .IP """i""" 4 -.el .IP "\f(CWi\fR" 4 -.IX Item "i" -.PD -The symbol is an indirect reference to another symbol (I), a function -to be evaluated during reloc processing (i) or a normal symbol (a -space). -.ie n .IP """d""" 4 -.el .IP "\f(CWd\fR" 4 -.IX Item "d" -.PD 0 -.ie n .IP """D""" 4 -.el .IP "\f(CWD\fR" 4 -.IX Item "D" -.PD -The symbol is a debugging symbol (d) or a dynamic symbol (D) or a -normal symbol (a space). -.ie n .IP """F""" 4 -.el .IP "\f(CWF\fR" 4 -.IX Item "F" -.PD 0 -.ie n .IP """f""" 4 -.el .IP "\f(CWf\fR" 4 -.IX Item "f" -.ie n .IP """O""" 4 -.el .IP "\f(CWO\fR" 4 -.IX Item "O" -.PD -The symbol is the name of a function (F) or a file (f) or an object -(O) or just a normal symbol (a space). -.RE -.RS 4 -.RE -.IP "\fB\-T\fR" 4 -.IX Item "-T" -.PD 0 -.IP "\fB\-\-dynamic\-syms\fR" 4 -.IX Item "--dynamic-syms" -.PD -Print the dynamic symbol table entries of the file. This is only -meaningful for dynamic objects, such as certain types of shared -libraries. This is similar to the information provided by the \fBnm\fR -program when given the \fB\-D\fR (\fB\-\-dynamic\fR) option. -.IP "\fB\-\-special\-syms\fR" 4 -.IX Item "--special-syms" -When displaying symbols include those which the target considers to be -special in some way and which would not normally be of interest to the -user. -.IP "\fB\-V\fR" 4 -.IX Item "-V" -.PD 0 -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -.PD -Print the version number of \fBobjdump\fR and exit. -.IP "\fB\-x\fR" 4 -.IX Item "-x" -.PD 0 -.IP "\fB\-\-all\-headers\fR" 4 -.IX Item "--all-headers" -.PD -Display all available header information, including the symbol table and -relocation entries. Using \fB\-x\fR is equivalent to specifying all of -\&\fB\-a \-f \-h \-p \-r \-t\fR. -.IP "\fB\-w\fR" 4 -.IX Item "-w" -.PD 0 -.IP "\fB\-\-wide\fR" 4 -.IX Item "--wide" -.PD -Format some lines for output devices that have more than 80 columns. -Also do not truncate symbol names when they are displayed. -.IP "\fB\-z\fR" 4 -.IX Item "-z" -.PD 0 -.IP "\fB\-\-disassemble\-zeroes\fR" 4 -.IX Item "--disassemble-zeroes" -.PD -Normally the disassembly output will skip blocks of zeroes. This -option directs the disassembler to disassemble those blocks, just like -any other data. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fInm\fR\|(1), \fIreadelf\fR\|(1), and the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/ranlib.1 b/binutils-2.24/binutils/doc/ranlib.1 deleted file mode 100644 index 718f5bd3..00000000 --- a/binutils-2.24/binutils/doc/ranlib.1 +++ /dev/null @@ -1,218 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "RANLIB 1" -.TH RANLIB 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -ranlib \- generate index to archive. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -ranlib [\fB\-\-plugin\fR \fIname\fR] [\fB\-DhHvVt\fR] \fIarchive\fR -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBranlib\fR generates an index to the contents of an archive and -stores it in the archive. The index lists each symbol defined by a -member of an archive that is a relocatable object file. -.PP -You may use \fBnm \-s\fR or \fBnm \-\-print\-armap\fR to list this index. -.PP -An archive with such an index speeds up linking to the library and -allows routines in the library to call each other without regard to -their placement in the archive. -.PP -The \s-1GNU\s0 \fBranlib\fR program is another form of \s-1GNU\s0 \fBar\fR; running -\&\fBranlib\fR is completely equivalent to executing \fBar \-s\fR. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-h\fR" 4 -.IX Item "-h" -.PD 0 -.IP "\fB\-H\fR" 4 -.IX Item "-H" -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -.PD -Show usage information for \fBranlib\fR. -.IP "\fB\-v\fR" 4 -.IX Item "-v" -.PD 0 -.IP "\fB\-V\fR" 4 -.IX Item "-V" -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -.PD -Show the version number of \fBranlib\fR. -.IP "\fB\-D\fR" 4 -.IX Item "-D" -Operate in \fIdeterministic\fR mode. The symbol map archive member's -header will show zero for the \s-1UID\s0, \s-1GID\s0, and timestamp. When this -option is used, multiple runs will produce identical output files. -.Sp -If \fIbinutils\fR was configured with -\&\fB\-\-enable\-deterministic\-archives\fR, then this mode is on by -default. It can be disabled with the \fB\-U\fR option, described -below. -.IP "\fB\-t\fR" 4 -.IX Item "-t" -Update the timestamp of the symbol map of an archive. -.IP "\fB\-U\fR" 4 -.IX Item "-U" -Do \fInot\fR operate in \fIdeterministic\fR mode. This is the -inverse of the \fB\-D\fR option, above: the archive index will get -actual \s-1UID\s0, \s-1GID\s0, timestamp, and file mode values. -.Sp -If \fIbinutils\fR was configured \fIwithout\fR -\&\fB\-\-enable\-deterministic\-archives\fR, then this mode is on by -default. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIar\fR\|(1), \fInm\fR\|(1), and the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/readelf.1 b/binutils-2.24/binutils/doc/readelf.1 deleted file mode 100644 index 2cbec0f6..00000000 --- a/binutils-2.24/binutils/doc/readelf.1 +++ /dev/null @@ -1,448 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "READELF 1" -.TH READELF 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -readelf \- Displays information about ELF files. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -readelf [\fB\-a\fR|\fB\-\-all\fR] - [\fB\-h\fR|\fB\-\-file\-header\fR] - [\fB\-l\fR|\fB\-\-program\-headers\fR|\fB\-\-segments\fR] - [\fB\-S\fR|\fB\-\-section\-headers\fR|\fB\-\-sections\fR] - [\fB\-g\fR|\fB\-\-section\-groups\fR] - [\fB\-t\fR|\fB\-\-section\-details\fR] - [\fB\-e\fR|\fB\-\-headers\fR] - [\fB\-s\fR|\fB\-\-syms\fR|\fB\-\-symbols\fR] - [\fB\-\-dyn\-syms\fR] - [\fB\-n\fR|\fB\-\-notes\fR] - [\fB\-r\fR|\fB\-\-relocs\fR] - [\fB\-u\fR|\fB\-\-unwind\fR] - [\fB\-d\fR|\fB\-\-dynamic\fR] - [\fB\-V\fR|\fB\-\-version\-info\fR] - [\fB\-A\fR|\fB\-\-arch\-specific\fR] - [\fB\-D\fR|\fB\-\-use\-dynamic\fR] - [\fB\-x\fR <number or name>|\fB\-\-hex\-dump=\fR<number or name>] - [\fB\-p\fR <number or name>|\fB\-\-string\-dump=\fR<number or name>] - [\fB\-R\fR <number or name>|\fB\-\-relocated\-dump=\fR<number or name>] - [\fB\-c\fR|\fB\-\-archive\-index\fR] - [\fB\-w[lLiaprmfFsoRt]\fR| - \fB\-\-debug\-dump\fR[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames\-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]] - [\fB\-\-dwarf\-depth=\fR\fIn\fR] - [\fB\-\-dwarf\-start=\fR\fIn\fR] - [\fB\-I\fR|\fB\-\-histogram\fR] - [\fB\-v\fR|\fB\-\-version\fR] - [\fB\-W\fR|\fB\-\-wide\fR] - [\fB\-H\fR|\fB\-\-help\fR] - \fIelffile\fR... -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBreadelf\fR displays information about one or more \s-1ELF\s0 format object -files. The options control what particular information to display. -.PP -\&\fIelffile\fR... are the object files to be examined. 32\-bit and -64\-bit \s-1ELF\s0 files are supported, as are archives containing \s-1ELF\s0 files. -.PP -This program performs a similar function to \fBobjdump\fR but it -goes into more detail and it exists independently of the \s-1BFD\s0 -library, so if there is a bug in \s-1BFD\s0 then readelf will not be -affected. -.SH "OPTIONS" -.IX Header "OPTIONS" -The long and short forms of options, shown here as alternatives, are -equivalent. At least one option besides \fB\-v\fR or \fB\-H\fR must be -given. -.IP "\fB\-a\fR" 4 -.IX Item "-a" -.PD 0 -.IP "\fB\-\-all\fR" 4 -.IX Item "--all" -.PD -Equivalent to specifying \fB\-\-file\-header\fR, -\&\fB\-\-program\-headers\fR, \fB\-\-sections\fR, \fB\-\-symbols\fR, -\&\fB\-\-relocs\fR, \fB\-\-dynamic\fR, \fB\-\-notes\fR and -\&\fB\-\-version\-info\fR. -.IP "\fB\-h\fR" 4 -.IX Item "-h" -.PD 0 -.IP "\fB\-\-file\-header\fR" 4 -.IX Item "--file-header" -.PD -Displays the information contained in the \s-1ELF\s0 header at the start of the -file. -.IP "\fB\-l\fR" 4 -.IX Item "-l" -.PD 0 -.IP "\fB\-\-program\-headers\fR" 4 -.IX Item "--program-headers" -.IP "\fB\-\-segments\fR" 4 -.IX Item "--segments" -.PD -Displays the information contained in the file's segment headers, if it -has any. -.IP "\fB\-S\fR" 4 -.IX Item "-S" -.PD 0 -.IP "\fB\-\-sections\fR" 4 -.IX Item "--sections" -.IP "\fB\-\-section\-headers\fR" 4 -.IX Item "--section-headers" -.PD -Displays the information contained in the file's section headers, if it -has any. -.IP "\fB\-g\fR" 4 -.IX Item "-g" -.PD 0 -.IP "\fB\-\-section\-groups\fR" 4 -.IX Item "--section-groups" -.PD -Displays the information contained in the file's section groups, if it -has any. -.IP "\fB\-t\fR" 4 -.IX Item "-t" -.PD 0 -.IP "\fB\-\-section\-details\fR" 4 -.IX Item "--section-details" -.PD -Displays the detailed section information. Implies \fB\-S\fR. -.IP "\fB\-s\fR" 4 -.IX Item "-s" -.PD 0 -.IP "\fB\-\-symbols\fR" 4 -.IX Item "--symbols" -.IP "\fB\-\-syms\fR" 4 -.IX Item "--syms" -.PD -Displays the entries in symbol table section of the file, if it has one. -.IP "\fB\-\-dyn\-syms\fR" 4 -.IX Item "--dyn-syms" -Displays the entries in dynamic symbol table section of the file, if it -has one. -.IP "\fB\-e\fR" 4 -.IX Item "-e" -.PD 0 -.IP "\fB\-\-headers\fR" 4 -.IX Item "--headers" -.PD -Display all the headers in the file. Equivalent to \fB\-h \-l \-S\fR. -.IP "\fB\-n\fR" 4 -.IX Item "-n" -.PD 0 -.IP "\fB\-\-notes\fR" 4 -.IX Item "--notes" -.PD -Displays the contents of the \s-1NOTE\s0 segments and/or sections, if any. -.IP "\fB\-r\fR" 4 -.IX Item "-r" -.PD 0 -.IP "\fB\-\-relocs\fR" 4 -.IX Item "--relocs" -.PD -Displays the contents of the file's relocation section, if it has one. -.IP "\fB\-u\fR" 4 -.IX Item "-u" -.PD 0 -.IP "\fB\-\-unwind\fR" 4 -.IX Item "--unwind" -.PD -Displays the contents of the file's unwind section, if it has one. Only -the unwind sections for \s-1IA64\s0 \s-1ELF\s0 files, as well as \s-1ARM\s0 unwind tables -(\f(CW\*(C`.ARM.exidx\*(C'\fR / \f(CW\*(C`.ARM.extab\*(C'\fR) are currently supported. -.IP "\fB\-d\fR" 4 -.IX Item "-d" -.PD 0 -.IP "\fB\-\-dynamic\fR" 4 -.IX Item "--dynamic" -.PD -Displays the contents of the file's dynamic section, if it has one. -.IP "\fB\-V\fR" 4 -.IX Item "-V" -.PD 0 -.IP "\fB\-\-version\-info\fR" 4 -.IX Item "--version-info" -.PD -Displays the contents of the version sections in the file, it they -exist. -.IP "\fB\-A\fR" 4 -.IX Item "-A" -.PD 0 -.IP "\fB\-\-arch\-specific\fR" 4 -.IX Item "--arch-specific" -.PD -Displays architecture-specific information in the file, if there -is any. -.IP "\fB\-D\fR" 4 -.IX Item "-D" -.PD 0 -.IP "\fB\-\-use\-dynamic\fR" 4 -.IX Item "--use-dynamic" -.PD -When displaying symbols, this option makes \fBreadelf\fR use the -symbol hash tables in the file's dynamic section, rather than the -symbol table sections. -.IP "\fB\-x <number or name>\fR" 4 -.IX Item "-x <number or name>" -.PD 0 -.IP "\fB\-\-hex\-dump=<number or name>\fR" 4 -.IX Item "--hex-dump=<number or name>" -.PD -Displays the contents of the indicated section as a hexadecimal bytes. -A number identifies a particular section by index in the section table; -any other string identifies all sections with that name in the object file. -.IP "\fB\-R <number or name>\fR" 4 -.IX Item "-R <number or name>" -.PD 0 -.IP "\fB\-\-relocated\-dump=<number or name>\fR" 4 -.IX Item "--relocated-dump=<number or name>" -.PD -Displays the contents of the indicated section as a hexadecimal -bytes. A number identifies a particular section by index in the -section table; any other string identifies all sections with that name -in the object file. The contents of the section will be relocated -before they are displayed. -.IP "\fB\-p <number or name>\fR" 4 -.IX Item "-p <number or name>" -.PD 0 -.IP "\fB\-\-string\-dump=<number or name>\fR" 4 -.IX Item "--string-dump=<number or name>" -.PD -Displays the contents of the indicated section as printable strings. -A number identifies a particular section by index in the section table; -any other string identifies all sections with that name in the object file. -.IP "\fB\-c\fR" 4 -.IX Item "-c" -.PD 0 -.IP "\fB\-\-archive\-index\fR" 4 -.IX Item "--archive-index" -.PD -Displays the file symbol index information contained in the header part -of binary archives. Performs the same function as the \fBt\fR -command to \fBar\fR, but without using the \s-1BFD\s0 library. -.IP "\fB\-w[lLiaprmfFsoRt]\fR" 4 -.IX Item "-w[lLiaprmfFsoRt]" -.PD 0 -.IP "\fB\-\-debug\-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames\-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]\fR" 4 -.IX Item "--debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]" -.PD -Displays the contents of the debug sections in the file, if any are -present. If one of the optional letters or words follows the switch -then only data found in those specific sections will be dumped. -.Sp -Note that there is no single letter option to display the content of -trace sections or .gdb_index. -.Sp -Note: the \fB=decodedline\fR option will display the interpreted -contents of a .debug_line section whereas the \fB=rawline\fR option -dumps the contents in a raw format. -.Sp -Note: the \fB=frames\-interp\fR option will display the interpreted -contents of a .debug_frame section whereas the \fB=frames\fR option -dumps the contents in a raw format. -.Sp -Note: the output from the \fB=info\fR option can also be affected -by the options \fB\-\-dwarf\-depth\fR and \fB\-\-dwarf\-start\fR. -.IP "\fB\-\-dwarf\-depth=\fR\fIn\fR" 4 -.IX Item "--dwarf-depth=n" -Limit the dump of the \f(CW\*(C`.debug_info\*(C'\fR section to \fIn\fR children. -This is only useful with \fB\-\-debug\-dump=info\fR. The default is -to print all DIEs; the special value 0 for \fIn\fR will also have this -effect. -.Sp -With a non-zero value for \fIn\fR, DIEs at or deeper than \fIn\fR -levels will not be printed. The range for \fIn\fR is zero-based. -.IP "\fB\-\-dwarf\-start=\fR\fIn\fR" 4 -.IX Item "--dwarf-start=n" -Print only DIEs beginning with the \s-1DIE\s0 numbered \fIn\fR. This is only -useful with \fB\-\-debug\-dump=info\fR. -.Sp -If specified, this option will suppress printing of any header -information and all DIEs before the \s-1DIE\s0 numbered \fIn\fR. Only -siblings and children of the specified \s-1DIE\s0 will be printed. -.Sp -This can be used in conjunction with \fB\-\-dwarf\-depth\fR. -.IP "\fB\-I\fR" 4 -.IX Item "-I" -.PD 0 -.IP "\fB\-\-histogram\fR" 4 -.IX Item "--histogram" -.PD -Display a histogram of bucket list lengths when displaying the contents -of the symbol tables. -.IP "\fB\-v\fR" 4 -.IX Item "-v" -.PD 0 -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -.PD -Display the version number of readelf. -.IP "\fB\-W\fR" 4 -.IX Item "-W" -.PD 0 -.IP "\fB\-\-wide\fR" 4 -.IX Item "--wide" -.PD -Don't break output lines to fit into 80 columns. By default -\&\fBreadelf\fR breaks section header and segment listing lines for -64\-bit \s-1ELF\s0 files, so that they fit into 80 columns. This option causes -\&\fBreadelf\fR to print each section header resp. each segment one a -single line, which is far more readable on terminals wider than 80 columns. -.IP "\fB\-H\fR" 4 -.IX Item "-H" -.PD 0 -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -.PD -Display the command line options understood by \fBreadelf\fR. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIobjdump\fR\|(1), and the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/size.1 b/binutils-2.24/binutils/doc/size.1 deleted file mode 100644 index 96f7b22c..00000000 --- a/binutils-2.24/binutils/doc/size.1 +++ /dev/null @@ -1,266 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "SIZE 1" -.TH SIZE 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -size \- list section sizes and total size. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -size [\fB\-A\fR|\fB\-B\fR|\fB\-\-format=\fR\fIcompatibility\fR] - [\fB\-\-help\fR] - [\fB\-d\fR|\fB\-o\fR|\fB\-x\fR|\fB\-\-radix=\fR\fInumber\fR] - [\fB\-\-common\fR] - [\fB\-t\fR|\fB\-\-totals\fR] - [\fB\-\-target=\fR\fIbfdname\fR] [\fB\-V\fR|\fB\-\-version\fR] - [\fIobjfile\fR...] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \s-1GNU\s0 \fBsize\fR utility lists the section sizes\-\-\-and the total -size\-\-\-for each of the object or archive files \fIobjfile\fR in its -argument list. By default, one line of output is generated for each -object file or each module in an archive. -.PP -\&\fIobjfile\fR... are the object files to be examined. -If none are specified, the file \f(CW\*(C`a.out\*(C'\fR will be used. -.SH "OPTIONS" -.IX Header "OPTIONS" -The command line options have the following meanings: -.IP "\fB\-A\fR" 4 -.IX Item "-A" -.PD 0 -.IP "\fB\-B\fR" 4 -.IX Item "-B" -.IP "\fB\-\-format=\fR\fIcompatibility\fR" 4 -.IX Item "--format=compatibility" -.PD -Using one of these options, you can choose whether the output from \s-1GNU\s0 -\&\fBsize\fR resembles output from System V \fBsize\fR (using \fB\-A\fR, -or \fB\-\-format=sysv\fR), or Berkeley \fBsize\fR (using \fB\-B\fR, or -\&\fB\-\-format=berkeley\fR). The default is the one-line format similar to -Berkeley's. -.Sp -Here is an example of the Berkeley (default) format of output from -\&\fBsize\fR: -.Sp -.Vb 4 -\& $ size \-\-format=Berkeley ranlib size -\& text data bss dec hex filename -\& 294880 81920 11592 388392 5ed28 ranlib -\& 294880 81920 11888 388688 5ee50 size -.Ve -.Sp -This is the same data, but displayed closer to System V conventions: -.Sp -.Vb 7 -\& $ size \-\-format=SysV ranlib size -\& ranlib : -\& section size addr -\& .text 294880 8192 -\& .data 81920 303104 -\& .bss 11592 385024 -\& Total 388392 -\& -\& -\& size : -\& section size addr -\& .text 294880 8192 -\& .data 81920 303104 -\& .bss 11888 385024 -\& Total 388688 -.Ve -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -Show a summary of acceptable arguments and options. -.IP "\fB\-d\fR" 4 -.IX Item "-d" -.PD 0 -.IP "\fB\-o\fR" 4 -.IX Item "-o" -.IP "\fB\-x\fR" 4 -.IX Item "-x" -.IP "\fB\-\-radix=\fR\fInumber\fR" 4 -.IX Item "--radix=number" -.PD -Using one of these options, you can control whether the size of each -section is given in decimal (\fB\-d\fR, or \fB\-\-radix=10\fR); octal -(\fB\-o\fR, or \fB\-\-radix=8\fR); or hexadecimal (\fB\-x\fR, or -\&\fB\-\-radix=16\fR). In \fB\-\-radix=\fR\fInumber\fR, only the three -values (8, 10, 16) are supported. The total size is always given in two -radices; decimal and hexadecimal for \fB\-d\fR or \fB\-x\fR output, or -octal and hexadecimal if you're using \fB\-o\fR. -.IP "\fB\-\-common\fR" 4 -.IX Item "--common" -Print total size of common symbols in each file. When using Berkeley -format these are included in the bss size. -.IP "\fB\-t\fR" 4 -.IX Item "-t" -.PD 0 -.IP "\fB\-\-totals\fR" 4 -.IX Item "--totals" -.PD -Show totals of all objects listed (Berkeley format listing mode only). -.IP "\fB\-\-target=\fR\fIbfdname\fR" 4 -.IX Item "--target=bfdname" -Specify that the object-code format for \fIobjfile\fR is -\&\fIbfdname\fR. This option may not be necessary; \fBsize\fR can -automatically recognize many formats. -.IP "\fB\-V\fR" 4 -.IX Item "-V" -.PD 0 -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -.PD -Display the version number of \fBsize\fR. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIar\fR\|(1), \fIobjdump\fR\|(1), \fIreadelf\fR\|(1), and the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/strings.1 b/binutils-2.24/binutils/doc/strings.1 deleted file mode 100644 index fc8e1459..00000000 --- a/binutils-2.24/binutils/doc/strings.1 +++ /dev/null @@ -1,255 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "STRINGS 1" -.TH STRINGS 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -strings \- print the strings of printable characters in files. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -strings [\fB\-afovV\fR] [\fB\-\fR\fImin-len\fR] - [\fB\-n\fR \fImin-len\fR] [\fB\-\-bytes=\fR\fImin-len\fR] - [\fB\-t\fR \fIradix\fR] [\fB\-\-radix=\fR\fIradix\fR] - [\fB\-e\fR \fIencoding\fR] [\fB\-\-encoding=\fR\fIencoding\fR] - [\fB\-\fR] [\fB\-\-all\fR] [\fB\-\-print\-file\-name\fR] - [\fB\-T\fR \fIbfdname\fR] [\fB\-\-target=\fR\fIbfdname\fR] - [\fB\-\-help\fR] [\fB\-\-version\fR] \fIfile\fR... -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -For each \fIfile\fR given, \s-1GNU\s0 \fBstrings\fR prints the printable -character sequences that are at least 4 characters long (or the number -given with the options below) and are followed by an unprintable -character. By default, it only prints the strings from the initialized -and loaded sections of object files; for other types of files, it prints -the strings from the whole file. -.PP -\&\fBstrings\fR is mainly useful for determining the contents of non-text -files. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-a\fR" 4 -.IX Item "-a" -.PD 0 -.IP "\fB\-\-all\fR" 4 -.IX Item "--all" -.IP "\fB\-\fR" 4 -.IX Item "-" -.PD -Do not scan only the initialized and loaded sections of object files; -scan the whole files. -.IP "\fB\-f\fR" 4 -.IX Item "-f" -.PD 0 -.IP "\fB\-\-print\-file\-name\fR" 4 -.IX Item "--print-file-name" -.PD -Print the name of the file before each string. -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -Print a summary of the program usage on the standard output and exit. -.IP "\fB\-\fR\fImin-len\fR" 4 -.IX Item "-min-len" -.PD 0 -.IP "\fB\-n\fR \fImin-len\fR" 4 -.IX Item "-n min-len" -.IP "\fB\-\-bytes=\fR\fImin-len\fR" 4 -.IX Item "--bytes=min-len" -.PD -Print sequences of characters that are at least \fImin-len\fR characters -long, instead of the default 4. -.IP "\fB\-o\fR" 4 -.IX Item "-o" -Like \fB\-t o\fR. Some other versions of \fBstrings\fR have \fB\-o\fR -act like \fB\-t d\fR instead. Since we can not be compatible with both -ways, we simply chose one. -.IP "\fB\-t\fR \fIradix\fR" 4 -.IX Item "-t radix" -.PD 0 -.IP "\fB\-\-radix=\fR\fIradix\fR" 4 -.IX Item "--radix=radix" -.PD -Print the offset within the file before each string. The single -character argument specifies the radix of the offset\-\-\-\fBo\fR for -octal, \fBx\fR for hexadecimal, or \fBd\fR for decimal. -.IP "\fB\-e\fR \fIencoding\fR" 4 -.IX Item "-e encoding" -.PD 0 -.IP "\fB\-\-encoding=\fR\fIencoding\fR" 4 -.IX Item "--encoding=encoding" -.PD -Select the character encoding of the strings that are to be found. -Possible values for \fIencoding\fR are: \fBs\fR = single\-7\-bit\-byte -characters (\s-1ASCII\s0, \s-1ISO\s0 8859, etc., default), \fBS\fR = -single\-8\-bit\-byte characters, \fBb\fR = 16\-bit bigendian, \fBl\fR = -16\-bit littleendian, \fBB\fR = 32\-bit bigendian, \fBL\fR = 32\-bit -littleendian. Useful for finding wide character strings. (\fBl\fR -and \fBb\fR apply to, for example, Unicode \s-1UTF\-16/UCS\-2\s0 encodings). -.IP "\fB\-T\fR \fIbfdname\fR" 4 -.IX Item "-T bfdname" -.PD 0 -.IP "\fB\-\-target=\fR\fIbfdname\fR" 4 -.IX Item "--target=bfdname" -.PD -Specify an object code format other than your system's default format. -.IP "\fB\-v\fR" 4 -.IX Item "-v" -.PD 0 -.IP "\fB\-V\fR" 4 -.IX Item "-V" -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -.PD -Print the program version number on the standard output and exit. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIar\fR\|(1), \fInm\fR\|(1), \fIobjdump\fR\|(1), \fIranlib\fR\|(1), \fIreadelf\fR\|(1) -and the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/strip.1 b/binutils-2.24/binutils/doc/strip.1 deleted file mode 100644 index c6d64404..00000000 --- a/binutils-2.24/binutils/doc/strip.1 +++ /dev/null @@ -1,427 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "STRIP 1" -.TH STRIP 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -strip \- Discard symbols from object files. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -strip [\fB\-F\fR \fIbfdname\fR |\fB\-\-target=\fR\fIbfdname\fR] - [\fB\-I\fR \fIbfdname\fR |\fB\-\-input\-target=\fR\fIbfdname\fR] - [\fB\-O\fR \fIbfdname\fR |\fB\-\-output\-target=\fR\fIbfdname\fR] - [\fB\-s\fR|\fB\-\-strip\-all\fR] - [\fB\-S\fR|\fB\-g\fR|\fB\-d\fR|\fB\-\-strip\-debug\fR] - [\fB\-\-strip\-dwo\fR] - [\fB\-K\fR \fIsymbolname\fR |\fB\-\-keep\-symbol=\fR\fIsymbolname\fR] - [\fB\-N\fR \fIsymbolname\fR |\fB\-\-strip\-symbol=\fR\fIsymbolname\fR] - [\fB\-w\fR|\fB\-\-wildcard\fR] - [\fB\-x\fR|\fB\-\-discard\-all\fR] [\fB\-X\fR |\fB\-\-discard\-locals\fR] - [\fB\-R\fR \fIsectionname\fR |\fB\-\-remove\-section=\fR\fIsectionname\fR] - [\fB\-o\fR \fIfile\fR] [\fB\-p\fR|\fB\-\-preserve\-dates\fR] - [\fB\-D\fR|\fB\-\-enable\-deterministic\-archives\fR] - [\fB\-U\fR|\fB\-\-disable\-deterministic\-archives\fR] - [\fB\-\-keep\-file\-symbols\fR] - [\fB\-\-only\-keep\-debug\fR] - [\fB\-v\fR |\fB\-\-verbose\fR] [\fB\-V\fR|\fB\-\-version\fR] - [\fB\-\-help\fR] [\fB\-\-info\fR] - \fIobjfile\fR... -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\s-1GNU\s0 \fBstrip\fR discards all symbols from object files -\&\fIobjfile\fR. The list of object files may include archives. -At least one object file must be given. -.PP -\&\fBstrip\fR modifies the files named in its argument, -rather than writing modified copies under different names. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-F\fR \fIbfdname\fR" 4 -.IX Item "-F bfdname" -.PD 0 -.IP "\fB\-\-target=\fR\fIbfdname\fR" 4 -.IX Item "--target=bfdname" -.PD -Treat the original \fIobjfile\fR as a file with the object -code format \fIbfdname\fR, and rewrite it in the same format. -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -Show a summary of the options to \fBstrip\fR and exit. -.IP "\fB\-\-info\fR" 4 -.IX Item "--info" -Display a list showing all architectures and object formats available. -.IP "\fB\-I\fR \fIbfdname\fR" 4 -.IX Item "-I bfdname" -.PD 0 -.IP "\fB\-\-input\-target=\fR\fIbfdname\fR" 4 -.IX Item "--input-target=bfdname" -.PD -Treat the original \fIobjfile\fR as a file with the object -code format \fIbfdname\fR. -.IP "\fB\-O\fR \fIbfdname\fR" 4 -.IX Item "-O bfdname" -.PD 0 -.IP "\fB\-\-output\-target=\fR\fIbfdname\fR" 4 -.IX Item "--output-target=bfdname" -.PD -Replace \fIobjfile\fR with a file in the output format \fIbfdname\fR. -.IP "\fB\-R\fR \fIsectionname\fR" 4 -.IX Item "-R sectionname" -.PD 0 -.IP "\fB\-\-remove\-section=\fR\fIsectionname\fR" 4 -.IX Item "--remove-section=sectionname" -.PD -Remove any section named \fIsectionname\fR from the output file. This -option may be given more than once. Note that using this option -inappropriately may make the output file unusable. The wildcard -character \fB*\fR may be given at the end of \fIsectionname\fR. If -so, then any section starting with \fIsectionname\fR will be removed. -.IP "\fB\-s\fR" 4 -.IX Item "-s" -.PD 0 -.IP "\fB\-\-strip\-all\fR" 4 -.IX Item "--strip-all" -.PD -Remove all symbols. -.IP "\fB\-g\fR" 4 -.IX Item "-g" -.PD 0 -.IP "\fB\-S\fR" 4 -.IX Item "-S" -.IP "\fB\-d\fR" 4 -.IX Item "-d" -.IP "\fB\-\-strip\-debug\fR" 4 -.IX Item "--strip-debug" -.PD -Remove debugging symbols only. -.IP "\fB\-\-strip\-dwo\fR" 4 -.IX Item "--strip-dwo" -Remove the contents of all \s-1DWARF\s0 .dwo sections, leaving the -remaining debugging sections and all symbols intact. -See the description of this option in the \fBobjcopy\fR section -for more information. -.IP "\fB\-\-strip\-unneeded\fR" 4 -.IX Item "--strip-unneeded" -Remove all symbols that are not needed for relocation processing. -.IP "\fB\-K\fR \fIsymbolname\fR" 4 -.IX Item "-K symbolname" -.PD 0 -.IP "\fB\-\-keep\-symbol=\fR\fIsymbolname\fR" 4 -.IX Item "--keep-symbol=symbolname" -.PD -When stripping symbols, keep symbol \fIsymbolname\fR even if it would -normally be stripped. This option may be given more than once. -.IP "\fB\-N\fR \fIsymbolname\fR" 4 -.IX Item "-N symbolname" -.PD 0 -.IP "\fB\-\-strip\-symbol=\fR\fIsymbolname\fR" 4 -.IX Item "--strip-symbol=symbolname" -.PD -Remove symbol \fIsymbolname\fR from the source file. This option may be -given more than once, and may be combined with strip options other than -\&\fB\-K\fR. -.IP "\fB\-o\fR \fIfile\fR" 4 -.IX Item "-o file" -Put the stripped output in \fIfile\fR, rather than replacing the -existing file. When this argument is used, only one \fIobjfile\fR -argument may be specified. -.IP "\fB\-p\fR" 4 -.IX Item "-p" -.PD 0 -.IP "\fB\-\-preserve\-dates\fR" 4 -.IX Item "--preserve-dates" -.PD -Preserve the access and modification dates of the file. -.IP "\fB\-D\fR" 4 -.IX Item "-D" -.PD 0 -.IP "\fB\-\-enable\-deterministic\-archives\fR" 4 -.IX Item "--enable-deterministic-archives" -.PD -Operate in \fIdeterministic\fR mode. When copying archive members -and writing the archive index, use zero for UIDs, GIDs, timestamps, -and use consistent file modes for all files. -.Sp -If \fIbinutils\fR was configured with -\&\fB\-\-enable\-deterministic\-archives\fR, then this mode is on by default. -It can be disabled with the \fB\-U\fR option, below. -.IP "\fB\-U\fR" 4 -.IX Item "-U" -.PD 0 -.IP "\fB\-\-disable\-deterministic\-archives\fR" 4 -.IX Item "--disable-deterministic-archives" -.PD -Do \fInot\fR operate in \fIdeterministic\fR mode. This is the -inverse of the \fB\-D\fR option, above: when copying archive members -and writing the archive index, use their actual \s-1UID\s0, \s-1GID\s0, timestamp, -and file mode values. -.Sp -This is the default unless \fIbinutils\fR was configured with -\&\fB\-\-enable\-deterministic\-archives\fR. -.IP "\fB\-w\fR" 4 -.IX Item "-w" -.PD 0 -.IP "\fB\-\-wildcard\fR" 4 -.IX Item "--wildcard" -.PD -Permit regular expressions in \fIsymbolname\fRs used in other command -line options. The question mark (?), asterisk (*), backslash (\e) and -square brackets ([]) operators can be used anywhere in the symbol -name. If the first character of the symbol name is the exclamation -point (!) then the sense of the switch is reversed for that symbol. -For example: -.Sp -.Vb 1 -\& \-w \-K !foo \-K fo* -.Ve -.Sp -would cause strip to only keep symbols that start with the letters -\&\*(L"fo\*(R", but to discard the symbol \*(L"foo\*(R". -.IP "\fB\-x\fR" 4 -.IX Item "-x" -.PD 0 -.IP "\fB\-\-discard\-all\fR" 4 -.IX Item "--discard-all" -.PD -Remove non-global symbols. -.IP "\fB\-X\fR" 4 -.IX Item "-X" -.PD 0 -.IP "\fB\-\-discard\-locals\fR" 4 -.IX Item "--discard-locals" -.PD -Remove compiler-generated local symbols. -(These usually start with \fBL\fR or \fB.\fR.) -.IP "\fB\-\-keep\-file\-symbols\fR" 4 -.IX Item "--keep-file-symbols" -When stripping a file, perhaps with \fB\-\-strip\-debug\fR or -\&\fB\-\-strip\-unneeded\fR, retain any symbols specifying source file names, -which would otherwise get stripped. -.IP "\fB\-\-only\-keep\-debug\fR" 4 -.IX Item "--only-keep-debug" -Strip a file, removing contents of any sections that would not be -stripped by \fB\-\-strip\-debug\fR and leaving the debugging sections -intact. In \s-1ELF\s0 files, this preserves all note sections in the output. -.Sp -The intention is that this option will be used in conjunction with -\&\fB\-\-add\-gnu\-debuglink\fR to create a two part executable. One a -stripped binary which will occupy less space in \s-1RAM\s0 and in a -distribution and the second a debugging information file which is only -needed if debugging abilities are required. The suggested procedure -to create these files is as follows: -.RS 4 -.IP "1.<Link the executable as normal. Assuming that is is called>" 4 -.IX Item "1.<Link the executable as normal. Assuming that is is called>" -\&\f(CW\*(C`foo\*(C'\fR then... -.ie n .IP "1.<Run ""objcopy \-\-only\-keep\-debug foo foo.dbg"" to>" 4 -.el .IP "1.<Run \f(CWobjcopy \-\-only\-keep\-debug foo foo.dbg\fR to>" 4 -.IX Item "1.<Run objcopy --only-keep-debug foo foo.dbg to>" -create a file containing the debugging info. -.ie n .IP "1.<Run ""objcopy \-\-strip\-debug foo"" to create a>" 4 -.el .IP "1.<Run \f(CWobjcopy \-\-strip\-debug foo\fR to create a>" 4 -.IX Item "1.<Run objcopy --strip-debug foo to create a>" -stripped executable. -.ie n .IP "1.<Run ""objcopy \-\-add\-gnu\-debuglink=foo.dbg foo"">" 4 -.el .IP "1.<Run \f(CWobjcopy \-\-add\-gnu\-debuglink=foo.dbg foo\fR>" 4 -.IX Item "1.<Run objcopy --add-gnu-debuglink=foo.dbg foo>" -to add a link to the debugging info into the stripped executable. -.RE -.RS 4 -.Sp -Note\-\-\-the choice of \f(CW\*(C`.dbg\*(C'\fR as an extension for the debug info -file is arbitrary. Also the \f(CW\*(C`\-\-only\-keep\-debug\*(C'\fR step is -optional. You could instead do this: -.IP "1.<Link the executable as normal.>" 4 -.IX Item "1.<Link the executable as normal.>" -.PD 0 -.ie n .IP "1.<Copy ""foo"" to ""foo.full"">" 4 -.el .IP "1.<Copy \f(CWfoo\fR to \f(CWfoo.full\fR>" 4 -.IX Item "1.<Copy foo to foo.full>" -.ie n .IP "1.<Run ""strip \-\-strip\-debug foo"">" 4 -.el .IP "1.<Run \f(CWstrip \-\-strip\-debug foo\fR>" 4 -.IX Item "1.<Run strip --strip-debug foo>" -.ie n .IP "1.<Run ""objcopy \-\-add\-gnu\-debuglink=foo.full foo"">" 4 -.el .IP "1.<Run \f(CWobjcopy \-\-add\-gnu\-debuglink=foo.full foo\fR>" 4 -.IX Item "1.<Run objcopy --add-gnu-debuglink=foo.full foo>" -.RE -.RS 4 -.PD -.Sp -i.e., the file pointed to by the \fB\-\-add\-gnu\-debuglink\fR can be the -full executable. It does not have to be a file created by the -\&\fB\-\-only\-keep\-debug\fR switch. -.Sp -Note\-\-\-this switch is only intended for use on fully linked files. It -does not make sense to use it on object files where the debugging -information may be incomplete. Besides the gnu_debuglink feature -currently only supports the presence of one filename containing -debugging information, not multiple filenames on a one-per-object-file -basis. -.RE -.IP "\fB\-V\fR" 4 -.IX Item "-V" -.PD 0 -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -.PD -Show the version number for \fBstrip\fR. -.IP "\fB\-v\fR" 4 -.IX Item "-v" -.PD 0 -.IP "\fB\-\-verbose\fR" 4 -.IX Item "--verbose" -.PD -Verbose output: list all object files modified. In the case of -archives, \fBstrip \-v\fR lists all members of the archive. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/windmc.1 b/binutils-2.24/binutils/doc/windmc.1 deleted file mode 100644 index f4bf4bc4..00000000 --- a/binutils-2.24/binutils/doc/windmc.1 +++ /dev/null @@ -1,351 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "WINDMC 1" -.TH WINDMC 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -windmc \- generates Windows message resources. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -windmc [options] input-file -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBwindmc\fR reads message definitions from an input file (.mc) and -translate them into a set of output files. The output files may be of -four kinds: -.ie n .IP """h""" 4 -.el .IP "\f(CWh\fR" 4 -.IX Item "h" -A C header file containing the message definitions. -.ie n .IP """rc""" 4 -.el .IP "\f(CWrc\fR" 4 -.IX Item "rc" -A resource file compilable by the \fBwindres\fR tool. -.ie n .IP """bin""" 4 -.el .IP "\f(CWbin\fR" 4 -.IX Item "bin" -One or more binary files containing the resource data for a specific -message language. -.ie n .IP """dbg""" 4 -.el .IP "\f(CWdbg\fR" 4 -.IX Item "dbg" -A C include file that maps message id's to their symbolic name. -.PP -The exact description of these different formats is available in -documentation from Microsoft. -.PP -When \fBwindmc\fR converts from the \f(CW\*(C`mc\*(C'\fR format to the \f(CW\*(C`bin\*(C'\fR -format, \f(CW\*(C`rc\*(C'\fR, \f(CW\*(C`h\*(C'\fR, and optional \f(CW\*(C`dbg\*(C'\fR it is acting like the -Windows Message Compiler. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-a\fR" 4 -.IX Item "-a" -.PD 0 -.IP "\fB\-\-ascii_in\fR" 4 -.IX Item "--ascii_in" -.PD -Specifies that the input file specified is \s-1ASCII\s0. This is the default -behaviour. -.IP "\fB\-A\fR" 4 -.IX Item "-A" -.PD 0 -.IP "\fB\-\-ascii_out\fR" 4 -.IX Item "--ascii_out" -.PD -Specifies that messages in the output \f(CW\*(C`bin\*(C'\fR files should be in \s-1ASCII\s0 -format. -.IP "\fB\-b\fR" 4 -.IX Item "-b" -.PD 0 -.IP "\fB\-\-binprefix\fR" 4 -.IX Item "--binprefix" -.PD -Specifies that \f(CW\*(C`bin\*(C'\fR filenames should have to be prefixed by the -basename of the source file. -.IP "\fB\-c\fR" 4 -.IX Item "-c" -.PD 0 -.IP "\fB\-\-customflag\fR" 4 -.IX Item "--customflag" -.PD -Sets the customer bit in all message id's. -.IP "\fB\-C\fR \fIcodepage\fR" 4 -.IX Item "-C codepage" -.PD 0 -.IP "\fB\-\-codepage_in\fR \fIcodepage\fR" 4 -.IX Item "--codepage_in codepage" -.PD -Sets the default codepage to be used to convert input file to \s-1UTF16\s0. The -default is ocdepage 1252. -.IP "\fB\-d\fR" 4 -.IX Item "-d" -.PD 0 -.IP "\fB\-\-decimal_values\fR" 4 -.IX Item "--decimal_values" -.PD -Outputs the constants in the header file in decimal. Default is using -hexadecimal output. -.IP "\fB\-e\fR \fIext\fR" 4 -.IX Item "-e ext" -.PD 0 -.IP "\fB\-\-extension\fR \fIext\fR" 4 -.IX Item "--extension ext" -.PD -The extension for the header file. The default is .h extension. -.IP "\fB\-F\fR \fItarget\fR" 4 -.IX Item "-F target" -.PD 0 -.IP "\fB\-\-target\fR \fItarget\fR" 4 -.IX Item "--target target" -.PD -Specify the \s-1BFD\s0 format to use for a bin file as output. This -is a \s-1BFD\s0 target name; you can use the \fB\-\-help\fR option to see a list -of supported targets. Normally \fBwindmc\fR will use the default -format, which is the first one listed by the \fB\-\-help\fR option. -.IP "\fB\-h\fR \fIpath\fR" 4 -.IX Item "-h path" -.PD 0 -.IP "\fB\-\-headerdir\fR \fIpath\fR" 4 -.IX Item "--headerdir path" -.PD -The target directory of the generated header file. The default is the -current directory. -.IP "\fB\-H\fR" 4 -.IX Item "-H" -.PD 0 -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -.PD -Displays a list of command line options and then exits. -.IP "\fB\-m\fR \fIcharacters\fR" 4 -.IX Item "-m characters" -.PD 0 -.IP "\fB\-\-maxlength\fR \fIcharacters\fR" 4 -.IX Item "--maxlength characters" -.PD -Instructs \fBwindmc\fR to generate a warning if the length -of any message exceeds the number specified. -.IP "\fB\-n\fR" 4 -.IX Item "-n" -.PD 0 -.IP "\fB\-\-nullterminate\fR" 4 -.IX Item "--nullterminate" -.PD -Terminate message text in \f(CW\*(C`bin\*(C'\fR files by zero. By default they are -terminated by \s-1CR/LF\s0. -.IP "\fB\-o\fR" 4 -.IX Item "-o" -.PD 0 -.IP "\fB\-\-hresult_use\fR" 4 -.IX Item "--hresult_use" -.PD -Not yet implemented. Instructs \f(CW\*(C`windmc\*(C'\fR to generate an \s-1OLE2\s0 header -file, using \s-1HRESULT\s0 definitions. Status codes are used if the flag is not -specified. -.IP "\fB\-O\fR \fIcodepage\fR" 4 -.IX Item "-O codepage" -.PD 0 -.IP "\fB\-\-codepage_out\fR \fIcodepage\fR" 4 -.IX Item "--codepage_out codepage" -.PD -Sets the default codepage to be used to output text files. The default -is ocdepage 1252. -.IP "\fB\-r\fR \fIpath\fR" 4 -.IX Item "-r path" -.PD 0 -.IP "\fB\-\-rcdir\fR \fIpath\fR" 4 -.IX Item "--rcdir path" -.PD -The target directory for the generated \f(CW\*(C`rc\*(C'\fR script and the generated -\&\f(CW\*(C`bin\*(C'\fR files that the resource compiler script includes. The default -is the current directory. -.IP "\fB\-u\fR" 4 -.IX Item "-u" -.PD 0 -.IP "\fB\-\-unicode_in\fR" 4 -.IX Item "--unicode_in" -.PD -Specifies that the input file is \s-1UTF16\s0. -.IP "\fB\-U\fR" 4 -.IX Item "-U" -.PD 0 -.IP "\fB\-\-unicode_out\fR" 4 -.IX Item "--unicode_out" -.PD -Specifies that messages in the output \f(CW\*(C`bin\*(C'\fR file should be in \s-1UTF16\s0 -format. This is the default behaviour. -.IP "\fB\-v\fR" 4 -.IX Item "-v" -.PD 0 -.IP "\fB\-\-verbose\fR" 4 -.IX Item "--verbose" -.PD -Enable verbose mode. -.IP "\fB\-V\fR" 4 -.IX Item "-V" -.PD 0 -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -.PD -Prints the version number for \fBwindmc\fR. -.IP "\fB\-x\fR \fIpath\fR" 4 -.IX Item "-x path" -.PD 0 -.IP "\fB\-\-xdgb\fR \fIpath\fR" 4 -.IX Item "--xdgb path" -.PD -The path of the \f(CW\*(C`dbg\*(C'\fR C include file that maps message id's to the -symbolic name. No such file is generated without specifying the switch. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff --git a/binutils-2.24/binutils/doc/windres.1 b/binutils-2.24/binutils/doc/windres.1 deleted file mode 100644 index 9767e07d..00000000 --- a/binutils-2.24/binutils/doc/windres.1 +++ /dev/null @@ -1,359 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "WINDRES 1" -.TH WINDRES 1 "2013-11-18" "binutils-2.23.91" "GNU Development Tools" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -windres \- manipulate Windows resources. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -windres [options] [input\-file] [output\-file] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBwindres\fR reads resources from an input file and copies them into -an output file. Either file may be in one of three formats: -.ie n .IP """rc""" 4 -.el .IP "\f(CWrc\fR" 4 -.IX Item "rc" -A text format read by the Resource Compiler. -.ie n .IP """res""" 4 -.el .IP "\f(CWres\fR" 4 -.IX Item "res" -A binary format generated by the Resource Compiler. -.ie n .IP """coff""" 4 -.el .IP "\f(CWcoff\fR" 4 -.IX Item "coff" -A \s-1COFF\s0 object or executable. -.PP -The exact description of these different formats is available in -documentation from Microsoft. -.PP -When \fBwindres\fR converts from the \f(CW\*(C`rc\*(C'\fR format to the \f(CW\*(C`res\*(C'\fR -format, it is acting like the Windows Resource Compiler. When -\&\fBwindres\fR converts from the \f(CW\*(C`res\*(C'\fR format to the \f(CW\*(C`coff\*(C'\fR -format, it is acting like the Windows \f(CW\*(C`CVTRES\*(C'\fR program. -.PP -When \fBwindres\fR generates an \f(CW\*(C`rc\*(C'\fR file, the output is similar -but not identical to the format expected for the input. When an input -\&\f(CW\*(C`rc\*(C'\fR file refers to an external filename, an output \f(CW\*(C`rc\*(C'\fR file -will instead include the file contents. -.PP -If the input or output format is not specified, \fBwindres\fR will -guess based on the file name, or, for the input file, the file contents. -A file with an extension of \fI.rc\fR will be treated as an \f(CW\*(C`rc\*(C'\fR -file, a file with an extension of \fI.res\fR will be treated as a -\&\f(CW\*(C`res\*(C'\fR file, and a file with an extension of \fI.o\fR or -\&\fI.exe\fR will be treated as a \f(CW\*(C`coff\*(C'\fR file. -.PP -If no output file is specified, \fBwindres\fR will print the resources -in \f(CW\*(C`rc\*(C'\fR format to standard output. -.PP -The normal use is for you to write an \f(CW\*(C`rc\*(C'\fR file, use \fBwindres\fR -to convert it to a \s-1COFF\s0 object file, and then link the \s-1COFF\s0 file into -your application. This will make the resources described in the -\&\f(CW\*(C`rc\*(C'\fR file available to Windows. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-i\fR \fIfilename\fR" 4 -.IX Item "-i filename" -.PD 0 -.IP "\fB\-\-input\fR \fIfilename\fR" 4 -.IX Item "--input filename" -.PD -The name of the input file. If this option is not used, then -\&\fBwindres\fR will use the first non-option argument as the input file -name. If there are no non-option arguments, then \fBwindres\fR will -read from standard input. \fBwindres\fR can not read a \s-1COFF\s0 file from -standard input. -.IP "\fB\-o\fR \fIfilename\fR" 4 -.IX Item "-o filename" -.PD 0 -.IP "\fB\-\-output\fR \fIfilename\fR" 4 -.IX Item "--output filename" -.PD -The name of the output file. If this option is not used, then -\&\fBwindres\fR will use the first non-option argument, after any used -for the input file name, as the output file name. If there is no -non-option argument, then \fBwindres\fR will write to standard output. -\&\fBwindres\fR can not write a \s-1COFF\s0 file to standard output. Note, -for compatibility with \fBrc\fR the option \fB\-fo\fR is also -accepted, but its use is not recommended. -.IP "\fB\-J\fR \fIformat\fR" 4 -.IX Item "-J format" -.PD 0 -.IP "\fB\-\-input\-format\fR \fIformat\fR" 4 -.IX Item "--input-format format" -.PD -The input format to read. \fIformat\fR may be \fBres\fR, \fBrc\fR, or -\&\fBcoff\fR. If no input format is specified, \fBwindres\fR will -guess, as described above. -.IP "\fB\-O\fR \fIformat\fR" 4 -.IX Item "-O format" -.PD 0 -.IP "\fB\-\-output\-format\fR \fIformat\fR" 4 -.IX Item "--output-format format" -.PD -The output format to generate. \fIformat\fR may be \fBres\fR, -\&\fBrc\fR, or \fBcoff\fR. If no output format is specified, -\&\fBwindres\fR will guess, as described above. -.IP "\fB\-F\fR \fItarget\fR" 4 -.IX Item "-F target" -.PD 0 -.IP "\fB\-\-target\fR \fItarget\fR" 4 -.IX Item "--target target" -.PD -Specify the \s-1BFD\s0 format to use for a \s-1COFF\s0 file as input or output. This -is a \s-1BFD\s0 target name; you can use the \fB\-\-help\fR option to see a list -of supported targets. Normally \fBwindres\fR will use the default -format, which is the first one listed by the \fB\-\-help\fR option. -.IP "\fB\-\-preprocessor\fR \fIprogram\fR" 4 -.IX Item "--preprocessor program" -When \fBwindres\fR reads an \f(CW\*(C`rc\*(C'\fR file, it runs it through the C -preprocessor first. This option may be used to specify the preprocessor -to use, including any leading arguments. The default preprocessor -argument is \f(CW\*(C`gcc \-E \-xc\-header \-DRC_INVOKED\*(C'\fR. -.IP "\fB\-\-preprocessor\-arg\fR \fIoption\fR" 4 -.IX Item "--preprocessor-arg option" -When \fBwindres\fR reads an \f(CW\*(C`rc\*(C'\fR file, it runs it through -the C preprocessor first. This option may be used to specify additional -text to be passed to preprocessor on its command line. -This option can be used multiple times to add multiple options to the -preprocessor command line. -.IP "\fB\-I\fR \fIdirectory\fR" 4 -.IX Item "-I directory" -.PD 0 -.IP "\fB\-\-include\-dir\fR \fIdirectory\fR" 4 -.IX Item "--include-dir directory" -.PD -Specify an include directory to use when reading an \f(CW\*(C`rc\*(C'\fR file. -\&\fBwindres\fR will pass this to the preprocessor as an \fB\-I\fR -option. \fBwindres\fR will also search this directory when looking for -files named in the \f(CW\*(C`rc\*(C'\fR file. If the argument passed to this command -matches any of the supported \fIformats\fR (as described in the \fB\-J\fR -option), it will issue a deprecation warning, and behave just like the -\&\fB\-J\fR option. New programs should not use this behaviour. If a -directory happens to match a \fIformat\fR, simple prefix it with \fB./\fR -to disable the backward compatibility. -.IP "\fB\-D\fR \fItarget\fR" 4 -.IX Item "-D target" -.PD 0 -.IP "\fB\-\-define\fR \fIsym\fR\fB[=\fR\fIval\fR\fB]\fR" 4 -.IX Item "--define sym[=val]" -.PD -Specify a \fB\-D\fR option to pass to the preprocessor when reading an -\&\f(CW\*(C`rc\*(C'\fR file. -.IP "\fB\-U\fR \fItarget\fR" 4 -.IX Item "-U target" -.PD 0 -.IP "\fB\-\-undefine\fR \fIsym\fR" 4 -.IX Item "--undefine sym" -.PD -Specify a \fB\-U\fR option to pass to the preprocessor when reading an -\&\f(CW\*(C`rc\*(C'\fR file. -.IP "\fB\-r\fR" 4 -.IX Item "-r" -Ignored for compatibility with rc. -.IP "\fB\-v\fR" 4 -.IX Item "-v" -Enable verbose mode. This tells you what the preprocessor is if you -didn't specify one. -.IP "\fB\-c\fR \fIval\fR" 4 -.IX Item "-c val" -.PD 0 -.IP "\fB\-\-codepage\fR \fIval\fR" 4 -.IX Item "--codepage val" -.PD -Specify the default codepage to use when reading an \f(CW\*(C`rc\*(C'\fR file. -\&\fIval\fR should be a hexadecimal prefixed by \fB0x\fR or decimal -codepage code. The valid range is from zero up to 0xffff, but the -validity of the codepage is host and configuration dependent. -.IP "\fB\-l\fR \fIval\fR" 4 -.IX Item "-l val" -.PD 0 -.IP "\fB\-\-language\fR \fIval\fR" 4 -.IX Item "--language val" -.PD -Specify the default language to use when reading an \f(CW\*(C`rc\*(C'\fR file. -\&\fIval\fR should be a hexadecimal language code. The low eight bits are -the language, and the high eight bits are the sublanguage. -.IP "\fB\-\-use\-temp\-file\fR" 4 -.IX Item "--use-temp-file" -Use a temporary file to instead of using popen to read the output of -the preprocessor. Use this option if the popen implementation is buggy -on the host (eg., certain non-English language versions of Windows 95 and -Windows 98 are known to have buggy popen where the output will instead -go the console). -.IP "\fB\-\-no\-use\-temp\-file\fR" 4 -.IX Item "--no-use-temp-file" -Use popen, not a temporary file, to read the output of the preprocessor. -This is the default behaviour. -.IP "\fB\-h\fR" 4 -.IX Item "-h" -.PD 0 -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -.PD -Prints a usage summary. -.IP "\fB\-V\fR" 4 -.IX Item "-V" -.PD 0 -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -.PD -Prints the version number for \fBwindres\fR. -.IP "\fB\-\-yydebug\fR" 4 -.IX Item "--yydebug" -If \fBwindres\fR is compiled with \f(CW\*(C`YYDEBUG\*(C'\fR defined as \f(CW1\fR, -this will turn on parser debugging. -.IP "\fB@\fR\fIfile\fR" 4 -.IX Item "@file" -Read command-line options from \fIfile\fR. The options read are -inserted in place of the original @\fIfile\fR option. If \fIfile\fR -does not exist, or cannot be read, then the option will be treated -literally, and not removed. -.Sp -Options in \fIfile\fR are separated by whitespace. A whitespace -character may be included in an option by surrounding the entire -option in either single or double quotes. Any character (including a -backslash) may be included by prefixing the character to be included -with a backslash. The \fIfile\fR may itself contain additional -@\fIfile\fR options; any such options will be processed recursively. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991\-2013 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, and with no -Back-Cover Texts. A copy of the license is included in the -section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". |