diff -uprN binutils-2.11.90.0.15/ChangeLog binutils-2.11.90.0.19/ChangeLog --- binutils-2.11.90.0.15/ChangeLog Sat Jun 9 00:13:01 2001 +++ binutils-2.11.90.0.19/ChangeLog Tue Jun 19 11:57:32 2001 @@ -1,3 +1,19 @@ +2001-06-19 Alan Modra + + * Makefile.in: Revert 2001-06-17. + (VER): If AM_INIT_AUTOMAKE uses BFD_VERSION, get version from bfd/. + +2001-06-17 H.J. Lu + + * Makefile.in (gas.tar.bz2): Pass TOOL=bfd PACKAGE=gas to make. + (gas+binutils.tar.bz2): Likewise. + (binutils.tar.bz2): Pass TOOL=bfd PACKAGE=binutils to make. + +Fri Jun 8 11:14:02 2001 Andrew Cagney + + * Makefile.in (VER): When present, extract the version number from + the file version.in. + 2001-06-08 Alexandre Oliva , Jeff Sturm * Makefile.in (AS_FOR_TARGET, LD_FOR_TARGET, NM_FOR_TARGET): If diff -uprN binutils-2.11.90.0.15/ChangeLog.linux binutils-2.11.90.0.19/ChangeLog.linux --- binutils-2.11.90.0.15/ChangeLog.linux Sat Jun 9 00:50:49 2001 +++ binutils-2.11.90.0.19/ChangeLog.linux Tue Jun 19 11:57:32 2001 @@ -1,3 +1,26 @@ +2001-06-19 H.J. Lu + + * binutils.spec.in: Don't apply binutils-mips-rodata.patch. It + is not needed anymore. + +2001-06-16 H.J. Lu + + * binutils.spec.in: Apply binutils-mips-rodata.patch for mips. + +2001-06-11 H.J. Lu + + * binutils.spec.in: Abort if any mips patch fails to apply. + +2001-06-11 H.J. Lu + + * binutils.spec.in (cross_compile): New. + Apply mips/binutils-mips64.patch, mips/gas-mips.patch, + mips/binutils-march.patch and mips/binutils-mips-reloc.patch + for mips. + Set CC to %{__cc} for configuration. + Pass --build=%{_build_alias} to configure if %{cross_compile} + is not 0. + 2001-06-08 H.J. Lu * binutils.spec.in: Enable all Linux targets if ALL_TARGETS is diff -uprN binutils-2.11.90.0.15/Makefile.in binutils-2.11.90.0.19/Makefile.in --- binutils-2.11.90.0.15/Makefile.in Sat Jun 9 00:13:01 2001 +++ binutils-2.11.90.0.19/Makefile.in Tue Jun 19 11:57:32 2001 @@ -1757,10 +1757,16 @@ SUPPORT_FILES = list-of-support-files-fo # NOTE: No double quotes in the below. It is used within shell script # as VER="$(VER)" -VER = ` if grep AM_INIT_AUTOMAKE $(TOOL)/configure.in >/dev/null 2>&1; then \ +VER = ` if grep 'AM_INIT_AUTOMAKE.*BFD_VERSION' $(TOOL)/configure.in >/dev/null 2>&1; then \ + sed < bfd/configure.in -n 's/AM_INIT_AUTOMAKE[^,]*, *\([^)]*\))/\1/p'; \ + elif grep AM_INIT_AUTOMAKE $(TOOL)/configure.in >/dev/null 2>&1; then \ sed < $(TOOL)/configure.in -n 's/AM_INIT_AUTOMAKE[^,]*, *\([^)]*\))/\1/p'; \ - else \ + elif test -f $(TOOL)/version.in; then \ + head -1 $(TOOL)/version.in; \ + elif grep VERSION $(TOOL)/Makefile.in > /dev/null 2>&1; then \ sed < $(TOOL)/Makefile.in -n 's/^VERSION *= *//p'; \ + else \ + echo VERSION; \ fi` PACKAGE = $(TOOL) diff -uprN binutils-2.11.90.0.15/bfd/ChangeLog binutils-2.11.90.0.19/bfd/ChangeLog --- binutils-2.11.90.0.15/bfd/ChangeLog Sun Jun 10 10:55:09 2001 +++ binutils-2.11.90.0.19/bfd/ChangeLog Wed Jun 20 12:19:37 2001 @@ -1,3 +1,75 @@ +2001-06-20 H.J. Lu + + * elf32-i386.c (elf_i386_size_dynamic_sections): Always + allocate local .got space. + +2001-06-19 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix creation of + dynamic symbols. + +2001-06-18 Hans-Peter Nilsson + + * elflink.h (struct elf_assign_sym_version_info): Remove member + export_dynamic. All users changed to use info member. + NAME(bfd_elf,size_dynamic_sections)): Remove parameter + export_dynamic, instead use member in parameter info. + * bfd-in.h (bfd_elf32_size_dynamic_sections, + bfd_elf64_size_dynamic_sections): Update prototype. + * bfd-in2.h: Regenerate. + +2001-06-18 H.J. Lu + + * elflink.h (elf_info_failed): Add a new field, verdefs. + (NAME(bfd_elf,size_dynamic_sections): Pass verdefs to + elf_export_symbol. + (elf_export_symbol): Check eif->verdefs to decide if a symbol + should be exported. + +2001-06-17 H.J. Lu + + * elf32-mips.c (mips_elf_link_hash_entry): Add a new field, + readonly_reloc, to record if a relocation in the .rel.dyn + section is against a read-only section. + (mips_elf_link_hash_newfunc): Initialize the readonly_reloc + field to false. + (_bfd_mips_elf_check_relocs): Record if there is a relocation + in the .rel.dyn section against a read-only section by setting + DF_TEXTREL or readonly_reloc. + (_bfd_mips_elf_copy_indirect_symbol): Copy readonly_reloc if + it is true. + (_bfd_mips_elf_adjust_dynamic_symbol): Record DF_TEXTREL if + there is a relocation in the .rel.dyn section against a + read-only section. + (_bfd_mips_elf_size_dynamic_sections): Set DT_TEXTREL if + DF_TEXTREL is set. + +2001-06-12 Nick Clifton + + * coffcode.h (styp_flags_to_sec_flags): Change to a boolean + function. Move flagword result into parameter list. Remove + comment about setting bfd_error_handler to intercept failure + results. + * coffgen.c (make_a_section_from_file): Examine result of + calling bfd_coff_styp_to_sec_flags and pass a failure back to + caller. + * ecoff.h (styp_flags_to_sec_flags): Change to a boolean + function. Move flagword result into parameter list. + * libcoff.h: Regenerate. + * libecoff.h: Regenerate. + +2001-06-13 Nick Clifton + + * aoutx.h (adjust_z_magic): Only pad the tesxt section if the data + section is going to follow it. + +2001-06-12 Catherine Moore + + * elflink.h (elf_gc_propagate_vtable_entries): Replace FILE_ALIGN + with the file_align entry from elf_backend_data. + (elf_gc_smash_unused_vtentry_relocs): Likewise. + (elf_gc_record_vtentry): Likewise. + 2001-06-10 Alan Modra * elflink.h: Whitespace changes. diff -uprN binutils-2.11.90.0.15/bfd/aoutx.h binutils-2.11.90.0.19/bfd/aoutx.h --- binutils-2.11.90.0.15/bfd/aoutx.h Wed May 23 11:36:01 2001 +++ binutils-2.11.90.0.19/bfd/aoutx.h Tue Jun 19 11:57:32 2001 @@ -1006,10 +1006,14 @@ adjust_z_magic (abfd, execp) } if (abdp && abdp->zmagic_mapped_contiguous) { - text_pad = (obj_datasec(abfd)->vma - - obj_textsec(abfd)->vma - - obj_textsec(abfd)->_raw_size); - obj_textsec(abfd)->_raw_size += text_pad; + asection * text = obj_textsec (abfd); + asection * data = obj_datasec (abfd); + + text_pad = data->vma - (text->vma + text->_raw_size); + /* Only pad the text section if the data + section is going to be placed after it. */ + if (text_pad > 0) + text->_raw_size += text_pad; } obj_datasec(abfd)->filepos = (obj_textsec(abfd)->filepos + obj_textsec(abfd)->_raw_size); diff -uprN binutils-2.11.90.0.15/bfd/bfd-in.h binutils-2.11.90.0.19/bfd/bfd-in.h --- binutils-2.11.90.0.15/bfd/bfd-in.h Thu May 24 23:17:00 2001 +++ binutils-2.11.90.0.19/bfd/bfd-in.h Tue Jun 19 11:57:32 2001 @@ -625,11 +625,11 @@ extern struct bfd_link_needed_list *bfd_ extern boolean bfd_elf_get_bfd_needed_list PARAMS ((bfd *, struct bfd_link_needed_list **)); extern boolean bfd_elf32_size_dynamic_sections - PARAMS ((bfd *, const char *, const char *, boolean, const char *, + PARAMS ((bfd *, const char *, const char *, const char *, const char * const *, struct bfd_link_info *, struct sec **, struct bfd_elf_version_tree *)); extern boolean bfd_elf64_size_dynamic_sections - PARAMS ((bfd *, const char *, const char *, boolean, const char *, + PARAMS ((bfd *, const char *, const char *, const char *, const char * const *, struct bfd_link_info *, struct sec **, struct bfd_elf_version_tree *)); extern void bfd_elf_set_dt_needed_name PARAMS ((bfd *, const char *)); diff -uprN binutils-2.11.90.0.15/bfd/bfd-in2.h binutils-2.11.90.0.19/bfd/bfd-in2.h --- binutils-2.11.90.0.15/bfd/bfd-in2.h Fri Jun 1 21:47:11 2001 +++ binutils-2.11.90.0.19/bfd/bfd-in2.h Tue Jun 19 11:57:32 2001 @@ -625,11 +625,11 @@ extern struct bfd_link_needed_list *bfd_ extern boolean bfd_elf_get_bfd_needed_list PARAMS ((bfd *, struct bfd_link_needed_list **)); extern boolean bfd_elf32_size_dynamic_sections - PARAMS ((bfd *, const char *, const char *, boolean, const char *, + PARAMS ((bfd *, const char *, const char *, const char *, const char * const *, struct bfd_link_info *, struct sec **, struct bfd_elf_version_tree *)); extern boolean bfd_elf64_size_dynamic_sections - PARAMS ((bfd *, const char *, const char *, boolean, const char *, + PARAMS ((bfd *, const char *, const char *, const char *, const char * const *, struct bfd_link_info *, struct sec **, struct bfd_elf_version_tree *)); extern void bfd_elf_set_dt_needed_name PARAMS ((bfd *, const char *)); diff -uprN binutils-2.11.90.0.15/bfd/coffcode.h binutils-2.11.90.0.19/bfd/coffcode.h --- binutils-2.11.90.0.15/bfd/coffcode.h Thu May 24 23:17:00 2001 +++ binutils-2.11.90.0.19/bfd/coffcode.h Tue Jun 19 11:57:32 2001 @@ -312,8 +312,8 @@ CODE_FRAGMENT #define STRING_SIZE_SIZE (4) static long sec_to_styp_flags PARAMS ((const char *, flagword)); -static flagword styp_to_sec_flags - PARAMS ((bfd *, PTR, const char *, asection *)); +static boolean styp_to_sec_flags + PARAMS ((bfd *, PTR, const char *, asection *, flagword *)); static boolean coff_bad_format_hook PARAMS ((bfd *, PTR)); static void coff_set_custom_section_alignment PARAMS ((bfd *, asection *, const struct coff_section_alignment_entry *, @@ -553,12 +553,13 @@ sec_to_styp_flags (sec_name, sec_flags) #ifndef COFF_WITH_PE -static flagword -styp_to_sec_flags (abfd, hdr, name, section) +static boolean +styp_to_sec_flags (abfd, hdr, name, section, flags_ptr) bfd *abfd ATTRIBUTE_UNUSED; PTR hdr; const char *name; asection *section ATTRIBUTE_UNUSED; + flagword *flags_ptr; { struct internal_scnhdr *internal_s = (struct internal_scnhdr *) hdr; long styp_flags = internal_s->s_flags; @@ -566,19 +567,17 @@ styp_to_sec_flags (abfd, hdr, name, sect #ifdef STYP_BLOCK if (styp_flags & STYP_BLOCK) - sec_flags |= SEC_BLOCK; + sec_flags |= SEC_BLOCK; #endif #ifdef STYP_CLINK if (styp_flags & STYP_CLINK) - sec_flags |= SEC_CLINK; + sec_flags |= SEC_CLINK; #endif #ifdef STYP_NOLOAD if (styp_flags & STYP_NOLOAD) - { - sec_flags |= SEC_NEVER_LOAD; - } + sec_flags |= SEC_NEVER_LOAD; #endif /* STYP_NOLOAD */ /* For 386 COFF, at least, an unloadable text or data section is @@ -619,9 +618,7 @@ styp_to_sec_flags (abfd, hdr, name, sect #endif } else if (styp_flags & STYP_PAD) - { - sec_flags = 0; - } + sec_flags = 0; else if (strcmp (name, _TEXT) == 0) { if (sec_flags & SEC_NEVER_LOAD) @@ -664,26 +661,19 @@ styp_to_sec_flags (abfd, hdr, name, sect #endif #ifdef _LIT else if (strcmp (name, _LIT) == 0) - { - sec_flags = SEC_LOAD | SEC_ALLOC | SEC_READONLY; - } + sec_flags = SEC_LOAD | SEC_ALLOC | SEC_READONLY; #endif else - { - sec_flags |= SEC_ALLOC | SEC_LOAD; - } + sec_flags |= SEC_ALLOC | SEC_LOAD; #ifdef STYP_LIT /* A29k readonly text/data section type */ if ((styp_flags & STYP_LIT) == STYP_LIT) - { - sec_flags = (SEC_LOAD | SEC_ALLOC | SEC_READONLY); - } + sec_flags = (SEC_LOAD | SEC_ALLOC | SEC_READONLY); #endif /* STYP_LIT */ + #ifdef STYP_OTHER_LOAD /* Other loaded sections */ if (styp_flags & STYP_OTHER_LOAD) - { - sec_flags = (SEC_LOAD | SEC_ALLOC); - } + sec_flags = (SEC_LOAD | SEC_ALLOC); #endif /* STYP_SDATA */ #if defined (COFF_LONG_SECTION_NAMES) && defined (COFF_SUPPORT_GNU_LINKONCE) @@ -697,7 +687,11 @@ styp_to_sec_flags (abfd, hdr, name, sect sec_flags |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD; #endif - return sec_flags; + if (flags_ptr == NULL) + return false; + + * flags_ptr = sec_flags; + return true; } #else /* COFF_WITH_PE */ @@ -966,16 +960,18 @@ handle_COMDAT (abfd, sec_flags, hdr, nam required information. FIXME: Is the COMDAT symbol index used for any purpose other than objdump? */ -static flagword -styp_to_sec_flags (abfd, hdr, name, section) +static boolean +styp_to_sec_flags (abfd, hdr, name, section, flags_ptr) bfd *abfd; PTR hdr; const char *name; asection *section; + flagword *flags_ptr; { struct internal_scnhdr *internal_s = (struct internal_scnhdr *) hdr; long styp_flags = internal_s->s_flags; flagword sec_flags; + boolean result = true; /* Assume read only unless IMAGE_SCN_MEM_WRITE is specified. */ sec_flags = SEC_READONLY; @@ -1070,14 +1066,14 @@ styp_to_sec_flags (abfd, hdr, name, sect break; } - /* If the section flag was not handled, report it here. This will allow - users of the BFD library to report a problem but continue executing. - Tools which need to be aware of these problems (such as the linker) - can override the default bfd_error_handler to intercept these reports. */ + /* If the section flag was not handled, report it here. */ if (unhandled != NULL) - (*_bfd_error_handler) - (_("%s (%s): Section flag %s (0x%x) ignored"), - bfd_get_filename (abfd), name, unhandled, flag); + { + (*_bfd_error_handler) + (_("%s (%s): Section flag %s (0x%x) ignored"), + bfd_get_filename (abfd), name, unhandled, flag); + result = false; + } } #if defined (COFF_LONG_SECTION_NAMES) && defined (COFF_SUPPORT_GNU_LINKONCE) @@ -1091,7 +1087,10 @@ styp_to_sec_flags (abfd, hdr, name, sect sec_flags |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD; #endif - return sec_flags; + if (flags_ptr) + * flags_ptr = sec_flags; + + return result; } #endif /* COFF_WITH_PE */ @@ -1227,11 +1226,12 @@ dependent COFF routines: . bfd *abfd, . PTR internal_filehdr, . PTR internal_aouthdr)); -. flagword (*_bfd_styp_to_sec_flags_hook) PARAMS (( +. boolean (*_bfd_styp_to_sec_flags_hook) PARAMS (( . bfd *abfd, . PTR internal_scnhdr, . const char *name, -. asection *section)); +. asection *section, +. flagword *flags_ptr)); . void (*_bfd_set_alignment_hook) PARAMS (( . bfd *abfd, . asection *sec, @@ -1385,9 +1385,9 @@ dependent COFF routines: .#define bfd_coff_mkobject_hook(abfd, filehdr, aouthdr)\ . ((coff_backend_info (abfd)->_bfd_coff_mkobject_hook) (abfd, filehdr, aouthdr)) . -.#define bfd_coff_styp_to_sec_flags_hook(abfd, scnhdr, name, section)\ +.#define bfd_coff_styp_to_sec_flags_hook(abfd, scnhdr, name, section, flags_ptr)\ . ((coff_backend_info (abfd)->_bfd_styp_to_sec_flags_hook)\ -. (abfd, scnhdr, name, section)) +. (abfd, scnhdr, name, section, flags_ptr)) . .#define bfd_coff_set_alignment_hook(abfd, sec, scnhdr)\ . ((coff_backend_info (abfd)->_bfd_set_alignment_hook) (abfd, sec, scnhdr)) diff -uprN binutils-2.11.90.0.15/bfd/coffgen.c binutils-2.11.90.0.19/bfd/coffgen.c --- binutils-2.11.90.0.15/bfd/coffgen.c Thu May 24 23:17:01 2001 +++ binutils-2.11.90.0.19/bfd/coffgen.c Tue Jun 19 11:57:32 2001 @@ -82,6 +82,8 @@ make_a_section_from_file (abfd, hdr, tar { asection *return_section; char *name; + boolean result = true; + flagword flags; name = NULL; @@ -142,8 +144,12 @@ make_a_section_from_file (abfd, hdr, tar return_section->userdata = NULL; return_section->next = (asection *) NULL; return_section->target_index = target_index; - return_section->flags = bfd_coff_styp_to_sec_flags_hook (abfd, hdr, name, - return_section); + + if (! bfd_coff_styp_to_sec_flags_hook (abfd, hdr, name, return_section, + & flags)) + result = false; + + return_section->flags = flags; /* At least on i386-coff, the line number count for a shared library section must be ignored. */ @@ -155,7 +161,8 @@ make_a_section_from_file (abfd, hdr, tar /* FIXME: should this check 'hdr->s_size > 0' */ if (hdr->s_scnptr != 0) return_section->flags |= SEC_HAS_CONTENTS; - return true; + + return result; } /* Read in a COFF object and make it into a BFD. This is used by diff -uprN binutils-2.11.90.0.15/bfd/configure binutils-2.11.90.0.19/bfd/configure --- binutils-2.11.90.0.15/bfd/configure Sun Jun 10 11:45:11 2001 +++ binutils-2.11.90.0.19/bfd/configure Wed Jun 20 12:19:37 2001 @@ -1116,7 +1116,7 @@ fi PACKAGE=bfd -VERSION=2.11.90.0.15 +VERSION=2.11.90.0.19 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } diff -uprN binutils-2.11.90.0.15/bfd/configure.in binutils-2.11.90.0.19/bfd/configure.in --- binutils-2.11.90.0.15/bfd/configure.in Sun Jun 10 11:45:11 2001 +++ binutils-2.11.90.0.19/bfd/configure.in Wed Jun 20 12:19:37 2001 @@ -7,7 +7,7 @@ AC_INIT(libbfd.c) AC_CANONICAL_SYSTEM AC_ISC_POSIX -AM_INIT_AUTOMAKE(bfd, 2.11.90.0.15) +AM_INIT_AUTOMAKE(bfd, 2.11.90.0.19) dnl These must be called before AM_PROG_LIBTOOL, because it may want dnl to call AC_CHECK_PROG. diff -uprN binutils-2.11.90.0.15/bfd/ecoff.c binutils-2.11.90.0.19/bfd/ecoff.c --- binutils-2.11.90.0.15/bfd/ecoff.c Mon May 21 10:34:51 2001 +++ binutils-2.11.90.0.19/bfd/ecoff.c Tue Jun 19 11:57:32 2001 @@ -371,16 +371,17 @@ ecoff_sec_to_styp_flags (name, flags) /* Get the BFD flags to use for a section. */ -flagword -_bfd_ecoff_styp_to_sec_flags (abfd, hdr, name, section) +boolean +_bfd_ecoff_styp_to_sec_flags (abfd, hdr, name, section, flags_ptr) bfd *abfd ATTRIBUTE_UNUSED; PTR hdr; const char *name ATTRIBUTE_UNUSED; asection *section ATTRIBUTE_UNUSED; + flagword * flags_ptr; { struct internal_scnhdr *internal_s = (struct internal_scnhdr *) hdr; long styp_flags = internal_s->s_flags; - flagword sec_flags=0; + flagword sec_flags = 0; if (styp_flags & STYP_NOLOAD) sec_flags |= SEC_NEVER_LOAD; @@ -422,29 +423,20 @@ _bfd_ecoff_styp_to_sec_flags (abfd, hdr, } else if ((styp_flags & STYP_BSS) || (styp_flags & STYP_SBSS)) - { - sec_flags |= SEC_ALLOC; - } + sec_flags |= SEC_ALLOC; else if ((styp_flags & STYP_INFO) || styp_flags == STYP_COMMENT) - { - sec_flags |= SEC_NEVER_LOAD; - } + sec_flags |= SEC_NEVER_LOAD; else if ((styp_flags & STYP_LITA) || (styp_flags & STYP_LIT8) || (styp_flags & STYP_LIT4)) - { - sec_flags |= SEC_DATA | SEC_LOAD | SEC_ALLOC | SEC_READONLY; - } + sec_flags |= SEC_DATA | SEC_LOAD | SEC_ALLOC | SEC_READONLY; else if (styp_flags & STYP_ECOFF_LIB) - { - sec_flags |= SEC_COFF_SHARED_LIBRARY; - } + sec_flags |= SEC_COFF_SHARED_LIBRARY; else - { - sec_flags |= SEC_ALLOC | SEC_LOAD; - } + sec_flags |= SEC_ALLOC | SEC_LOAD; - return sec_flags; + * flags_ptr = sec_flags; + return true; } /* Read in the symbolic header for an ECOFF object file. */ diff -uprN binutils-2.11.90.0.15/bfd/elf32-i386.c binutils-2.11.90.0.19/bfd/elf32-i386.c --- binutils-2.11.90.0.15/bfd/elf32-i386.c Sat Jun 9 00:13:01 2001 +++ binutils-2.11.90.0.19/bfd/elf32-i386.c Wed Jun 20 12:19:37 2001 @@ -1190,6 +1190,7 @@ elf_i386_size_dynamic_sections (output_b asection *s; boolean relocs; boolean reltext; + bfd *i; htab = elf_i386_hash_table (info); dynobj = htab->root.dynobj; @@ -1197,7 +1198,6 @@ elf_i386_size_dynamic_sections (output_b if (htab->root.dynamic_sections_created) { - bfd *i; /* Set the contents of the .interp section to the interpreter. */ if (! info->shared) @@ -1207,40 +1207,40 @@ elf_i386_size_dynamic_sections (output_b s->_raw_size = sizeof ELF_DYNAMIC_INTERPRETER; s->contents = (unsigned char *) ELF_DYNAMIC_INTERPRETER; } + } - /* Set up .got offsets for local syms. */ - for (i = info->input_bfds; i; i = i->link_next) + /* Set up .got offsets for local syms. */ + for (i = info->input_bfds; i; i = i->link_next) + { + bfd_signed_vma *local_got; + bfd_signed_vma *end_local_got; + bfd_size_type locsymcount; + Elf_Internal_Shdr *symtab_hdr; + asection *srel; + + if (bfd_get_flavour (i) != bfd_target_elf_flavour) + continue; + + local_got = elf_local_got_refcounts (i); + if (!local_got) + continue; + + symtab_hdr = &elf_tdata (i)->symtab_hdr; + locsymcount = symtab_hdr->sh_info; + end_local_got = local_got + locsymcount; + s = htab->sgot; + srel = htab->srelgot; + for (; local_got < end_local_got; ++local_got) { - bfd_signed_vma *local_got; - bfd_signed_vma *end_local_got; - bfd_size_type locsymcount; - Elf_Internal_Shdr *symtab_hdr; - asection *srel; - - if (bfd_get_flavour (i) != bfd_target_elf_flavour) - continue; - - local_got = elf_local_got_refcounts (i); - if (!local_got) - continue; - - symtab_hdr = &elf_tdata (i)->symtab_hdr; - locsymcount = symtab_hdr->sh_info; - end_local_got = local_got + locsymcount; - s = htab->sgot; - srel = htab->srelgot; - for (; local_got < end_local_got; ++local_got) + if (*local_got > 0) { - if (*local_got > 0) - { - *local_got = s->_raw_size; - s->_raw_size += 4; - if (info->shared) - srel->_raw_size += sizeof (Elf32_External_Rel); - } - else - *local_got = (bfd_vma) -1; + *local_got = s->_raw_size; + s->_raw_size += 4; + if (info->shared) + srel->_raw_size += sizeof (Elf32_External_Rel); } + else + *local_got = (bfd_vma) -1; } } diff -uprN binutils-2.11.90.0.15/bfd/elf32-mips.c binutils-2.11.90.0.19/bfd/elf32-mips.c --- binutils-2.11.90.0.15/bfd/elf32-mips.c Sun Jun 10 10:55:09 2001 +++ binutils-2.11.90.0.19/bfd/elf32-mips.c Tue Jun 19 11:57:32 2001 @@ -76,6 +76,10 @@ struct mips_elf_link_hash_entry this symbol. */ unsigned int possibly_dynamic_relocs; + /* If the R_MIPS_32, R_MIPS_REL32, or R_MIPS_64 reloc is against + a readonly section. */ + boolean readonly_reloc; + /* The index of the first dynamic relocation (in the .rel.dyn section) against this symbol. */ unsigned int min_dyn_reloc_index; @@ -3980,6 +3984,7 @@ mips_elf_link_hash_newfunc (entry, table not been set. -1 means there is no associated ifd. */ ret->esym.ifd = -2; ret->possibly_dynamic_relocs = 0; + ret->readonly_reloc = false; ret->min_dyn_reloc_index = 0; ret->no_fn_stub = false; ret->fn_stub = NULL; @@ -7848,12 +7853,20 @@ _bfd_mips_elf_check_relocs (abfd, info, return false; } } +#define MIPS_READONLY_SECTION (SEC_ALLOC | SEC_LOAD | SEC_READONLY) if (info->shared) - /* When creating a shared object, we must copy these - reloc types into the output file as R_MIPS_REL32 - relocs. We make room for this reloc in the - .rel.dyn reloc section. */ - mips_elf_allocate_dynamic_relocations (dynobj, 1); + { + /* When creating a shared object, we must copy these + reloc types into the output file as R_MIPS_REL32 + relocs. We make room for this reloc in the + .rel.dyn reloc section. */ + mips_elf_allocate_dynamic_relocations (dynobj, 1); + if ((sec->flags & MIPS_READONLY_SECTION) + == MIPS_READONLY_SECTION) + /* We tell the dynamic linker that there are + relocations against the text segment. */ + info->flags |= DF_TEXTREL; + } else { struct mips_elf_link_hash_entry *hmips; @@ -7862,6 +7875,11 @@ _bfd_mips_elf_check_relocs (abfd, info, defined in a dynamic object. */ hmips = (struct mips_elf_link_hash_entry *) h; ++hmips->possibly_dynamic_relocs; + if ((sec->flags & MIPS_READONLY_SECTION) + == MIPS_READONLY_SECTION) + /* We need it to tell the dynamic linker if there + are relocations against the text segment. */ + hmips->readonly_reloc = true; } /* Even though we don't directly need a GOT entry for @@ -8055,6 +8073,8 @@ _bfd_mips_elf_copy_indirect_symbol (dir, dirmips = (struct mips_elf_link_hash_entry *) dir; indmips = (struct mips_elf_link_hash_entry *) ind; dirmips->possibly_dynamic_relocs += indmips->possibly_dynamic_relocs; + if (indmips->readonly_reloc) + dirmips->readonly_reloc = true; if (dirmips->min_dyn_reloc_index == 0 || (indmips->min_dyn_reloc_index != 0 && indmips->min_dyn_reloc_index < dirmips->min_dyn_reloc_index)) @@ -8098,8 +8118,14 @@ _bfd_mips_elf_adjust_dynamic_symbol (inf if (! info->relocateable && hmips->possibly_dynamic_relocs != 0 && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) - mips_elf_allocate_dynamic_relocations (dynobj, - hmips->possibly_dynamic_relocs); + { + mips_elf_allocate_dynamic_relocations (dynobj, + hmips->possibly_dynamic_relocs); + if (hmips->readonly_reloc) + /* We tell the dynamic linker that there are relocations + against the text segment. */ + info->flags |= DF_TEXTREL; + } /* For a function, create a stub, if allowed. */ if (! hmips->no_fn_stub @@ -8459,11 +8485,14 @@ _bfd_mips_elf_size_dynamic_sections (out return false; } } + if (reltext && SGI_COMPAT (output_bfd)) + info->flags |= DF_TEXTREL; + + if ((info->flags & DF_TEXTREL) != 0) { if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_TEXTREL, 0)) return false; - info->flags |= DF_TEXTREL; } if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_PLTGOT, 0)) diff -uprN binutils-2.11.90.0.15/bfd/elf64-x86-64.c binutils-2.11.90.0.19/bfd/elf64-x86-64.c --- binutils-2.11.90.0.15/bfd/elf64-x86-64.c Sat Jun 9 00:13:01 2001 +++ binutils-2.11.90.0.19/bfd/elf64-x86-64.c Tue Jun 19 11:57:32 2001 @@ -1439,13 +1439,16 @@ elf64_x86_64_relocate_section (output_bf + h->plt.offset); break; + case R_X86_64_PC8: + case R_X86_64_PC16: + case R_X86_64_PC32: + if (h == NULL) + break; + /* Fall through. */ case R_X86_64_8: case R_X86_64_16: case R_X86_64_32: case R_X86_64_64: - case R_X86_64_PC8: - case R_X86_64_PC16: - case R_X86_64_PC32: /* FIXME: The ABI says the linker should make sure the value is the same when it's zeroextended to 64 bit. */ if (info->shared @@ -1453,11 +1456,10 @@ elf64_x86_64_relocate_section (output_bf && ((r_type != R_X86_64_PC8 && r_type != R_X86_64_PC16 && r_type != R_X86_64_PC32) - || (h != NULL - && h->dynindx != -1 - && (! info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || (! info->symbolic + || (h->elf_link_hash_flags + & ELF_LINK_HASH_DEF_REGULAR) == 0))) + { Elf_Internal_Rela outrel; boolean skip, relocate; @@ -1512,23 +1514,21 @@ elf64_x86_64_relocate_section (output_bf memset (&outrel, 0, sizeof outrel); relocate = false; } - else if ((r_type == R_X86_64_PC8) - || (r_type == R_X86_64_PC16) - || (r_type == R_X86_64_PC32)) + /* h->dynindx may be -1 if this symbol was marked to + become local. */ + else if (h != NULL + && ((! info->symbolic && h->dynindx != -1) + || (h->elf_link_hash_flags + & ELF_LINK_HASH_DEF_REGULAR) == 0)) { - BFD_ASSERT (h != NULL && h->dynindx != -1); + BFD_ASSERT (h->dynindx != -1); relocate = false; outrel.r_info = ELF64_R_INFO (h->dynindx, r_type); outrel.r_addend = relocation + rela->r_addend; } else { - /* h->dynindx may be -1 if this symbol was marked to - become local. */ - if (h == NULL - || ((info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0)) + if (r_type == R_X86_64_64) { relocate = true; outrel.r_info = ELF64_R_INFO (0, R_X86_64_RELATIVE); @@ -1536,11 +1536,38 @@ elf64_x86_64_relocate_section (output_bf } else { - BFD_ASSERT (h->dynindx != -1); - relocate = false; - outrel.r_info = ELF64_R_INFO (h->dynindx, R_X86_64_32); - outrel.r_addend = relocation + rela->r_addend; - } + long indx; + + if (h == NULL) + sec = local_sections[r_symndx]; + else + { + BFD_ASSERT (h->root.type == bfd_link_hash_defined + || (h->root.type + == bfd_link_hash_defweak)); + sec = h->root.u.def.section; + } + if (sec != NULL && bfd_is_abs_section (sec)) + indx = 0; + else if (sec == NULL || sec->owner == NULL) + { + bfd_set_error (bfd_error_bad_value); + return false; + } + else + { + asection *osec; + + osec = sec->output_section; + indx = elf_section_data (osec)->dynindx; + BFD_ASSERT (indx > 0); + } + + relocate = false; + outrel.r_info = ELF64_R_INFO (indx, r_type); + outrel.r_addend = relocation + rela->r_addend; + } + } bfd_elf64_swap_reloca_out (output_bfd, &outrel, diff -uprN binutils-2.11.90.0.15/bfd/elflink.h binutils-2.11.90.0.19/bfd/elflink.h --- binutils-2.11.90.0.15/bfd/elflink.h Sun Jun 10 10:55:09 2001 +++ binutils-2.11.90.0.19/bfd/elflink.h Tue Jun 19 11:57:33 2001 @@ -27,6 +27,7 @@ struct elf_info_failed { boolean failed; struct bfd_link_info *info; + struct bfd_elf_version_tree *verdefs; }; static boolean elf_link_add_object_symbols @@ -2847,8 +2848,6 @@ struct elf_assign_sym_version_info struct bfd_link_info *info; /* Version tree. */ struct bfd_elf_version_tree *verdefs; - /* Whether we are exporting all dynamic symbols. */ - boolean export_dynamic; /* Whether we had a failure. */ boolean failed; }; @@ -3030,13 +3029,12 @@ compute_bucket_count (info) boolean NAME(bfd_elf,size_dynamic_sections) (output_bfd, soname, rpath, - export_dynamic, filter_shlib, + filter_shlib, auxiliary_filters, info, sinterpptr, verdefs) bfd *output_bfd; const char *soname; const char *rpath; - boolean export_dynamic; const char *filter_shlib; const char * const *auxiliary_filters; struct bfd_link_info *info; @@ -3135,11 +3133,12 @@ NAME(bfd_elf,size_dynamic_sections) (out } eif.info = info; + eif.verdefs = verdefs; eif.failed = false; /* If we are supposed to export all symbols into the dynamic symbol table (this is not the normal case), then do so. */ - if (export_dynamic) + if (info->export_dynamic) { elf_link_hash_traverse (elf_hash_table (info), elf_export_symbol, (PTR) &eif); @@ -3151,7 +3150,6 @@ NAME(bfd_elf,size_dynamic_sections) (out asvinfo.output_bfd = output_bfd; asvinfo.info = info; asvinfo.verdefs = verdefs; - asvinfo.export_dynamic = export_dynamic; asvinfo.failed = false; elf_link_hash_traverse (elf_hash_table (info), @@ -3873,11 +3871,39 @@ elf_export_symbol (h, data) && (h->elf_link_hash_flags & (ELF_LINK_HASH_DEF_REGULAR | ELF_LINK_HASH_REF_REGULAR)) != 0) { - if (! _bfd_elf_link_record_dynamic_symbol (eif->info, h)) + struct bfd_elf_version_tree *t; + struct bfd_elf_version_expr *d; + + for (t = eif->verdefs; t != NULL; t = t->next) { - eif->failed = true; - return false; + if (t->globals != NULL) + { + for (d = t->globals; d != NULL; d = d->next) + { + if ((*d->match) (d, h->root.root.string)) + goto doit; + } + } + + if (t->locals != NULL) + { + for (d = t->locals ; d != NULL; d = d->next) + { + if ((*d->match) (d, h->root.root.string)) + return true; + } + } } + + if (!eif->verdefs) + { +doit: + if (! _bfd_elf_link_record_dynamic_symbol (eif->info, h)) + { + eif->failed = true; + return false; + } + } } return true; @@ -4052,7 +4078,7 @@ elf_link_assign_sym_version (h, data) { if (h->dynindx != -1 && info->shared - && ! sinfo->export_dynamic) + && ! info->export_dynamic) { h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; (*bed->elf_backend_hide_symbol) (info, h); @@ -4164,7 +4190,7 @@ elf_link_assign_sym_version (h, data) h->verinfo.vertree = t; if (h->dynindx != -1 && info->shared - && ! sinfo->export_dynamic) + && ! info->export_dynamic) { h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; (*bed->elf_backend_hide_symbol) (info, h); @@ -4186,7 +4212,7 @@ elf_link_assign_sym_version (h, data) h->verinfo.vertree = deflt; if (h->dynindx != -1 && info->shared - && ! sinfo->export_dynamic) + && ! info->export_dynamic) { h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; (*bed->elf_backend_hide_symbol) (info, h); @@ -6920,13 +6946,18 @@ elf_gc_propagate_vtable_entries_used (h, size_t n; boolean *cu, *pu; + /* Or the parent's entries into ours. */ cu = h->vtable_entries_used; cu[-1] = true; pu = h->vtable_parent->vtable_entries_used; if (pu != NULL) { - n = h->vtable_parent->vtable_entries_size / FILE_ALIGN; + asection *sec = h->root.u.def.section; + struct elf_backend_data *bed = get_elf_backend_data (sec->owner); + int file_align = bed->s->file_align; + + n = h->vtable_parent->vtable_entries_size / file_align; while (--n != 0) { if (*pu) *cu = true; @@ -6947,6 +6978,7 @@ elf_gc_smash_unused_vtentry_relocs (h, o bfd_vma hstart, hend; Elf_Internal_Rela *relstart, *relend, *rel; struct elf_backend_data *bed; + int file_align; /* Take care of both those symbols that do not describe vtables as well as those that are not loaded. */ @@ -6965,6 +6997,8 @@ elf_gc_smash_unused_vtentry_relocs (h, o if (!relstart) return *(boolean *)okp = false; bed = get_elf_backend_data (sec->owner); + file_align = bed->s->file_align; + relend = relstart + sec->reloc_count * bed->s->int_rels_per_ext_rel; for (rel = relstart; rel < relend; ++rel) @@ -6974,7 +7008,7 @@ elf_gc_smash_unused_vtentry_relocs (h, o if (h->vtable_entries_used && (rel->r_offset - hstart) < h->vtable_entries_size) { - bfd_vma entry = (rel->r_offset - hstart) / FILE_ALIGN; + bfd_vma entry = (rel->r_offset - hstart) / file_align; if (h->vtable_entries_used[entry]) continue; } @@ -7108,6 +7142,9 @@ elf_gc_record_vtentry (abfd, sec, h, add struct elf_link_hash_entry *h; bfd_vma addend; { + struct elf_backend_data *bed = get_elf_backend_data (abfd); + int file_align = bed->s->file_align; + if (addend >= h->vtable_entries_size) { size_t size, bytes; @@ -7130,7 +7167,7 @@ elf_gc_record_vtentry (abfd, sec, h, add /* Allocate one extra entry for use as a "done" flag for the consolidation pass. */ - bytes = (size / FILE_ALIGN + 1) * sizeof (boolean); + bytes = (size / file_align + 1) * sizeof (boolean); if (ptr) { @@ -7140,7 +7177,7 @@ elf_gc_record_vtentry (abfd, sec, h, add { size_t oldbytes; - oldbytes = (h->vtable_entries_size/FILE_ALIGN + 1) * sizeof (boolean); + oldbytes = (h->vtable_entries_size/file_align + 1) * sizeof (boolean); memset (((char *)ptr) + oldbytes, 0, bytes - oldbytes); } } @@ -7155,7 +7192,7 @@ elf_gc_record_vtentry (abfd, sec, h, add h->vtable_entries_size = size; } - h->vtable_entries_used[addend / FILE_ALIGN] = true; + h->vtable_entries_used[addend / file_align] = true; return true; } diff -uprN binutils-2.11.90.0.15/bfd/libcoff.h binutils-2.11.90.0.19/bfd/libcoff.h --- binutils-2.11.90.0.15/bfd/libcoff.h Fri May 25 12:04:55 2001 +++ binutils-2.11.90.0.19/bfd/libcoff.h Tue Jun 19 11:57:33 2001 @@ -753,11 +753,12 @@ typedef struct bfd *abfd, PTR internal_filehdr, PTR internal_aouthdr)); - flagword (*_bfd_styp_to_sec_flags_hook) PARAMS (( + boolean (*_bfd_styp_to_sec_flags_hook) PARAMS (( bfd *abfd, PTR internal_scnhdr, const char *name, - asection *section)); + asection *section, + flagword *flags_ptr)); void (*_bfd_set_alignment_hook) PARAMS (( bfd *abfd, asection *sec, @@ -911,9 +912,9 @@ typedef struct #define bfd_coff_mkobject_hook(abfd, filehdr, aouthdr)\ ((coff_backend_info (abfd)->_bfd_coff_mkobject_hook) (abfd, filehdr, aouthdr)) -#define bfd_coff_styp_to_sec_flags_hook(abfd, scnhdr, name, section)\ +#define bfd_coff_styp_to_sec_flags_hook(abfd, scnhdr, name, section, flags_ptr)\ ((coff_backend_info (abfd)->_bfd_styp_to_sec_flags_hook)\ - (abfd, scnhdr, name, section)) + (abfd, scnhdr, name, section, flags_ptr)) #define bfd_coff_set_alignment_hook(abfd, sec, scnhdr)\ ((coff_backend_info (abfd)->_bfd_set_alignment_hook) (abfd, sec, scnhdr)) diff -uprN binutils-2.11.90.0.15/bfd/libecoff.h binutils-2.11.90.0.19/bfd/libecoff.h --- binutils-2.11.90.0.15/bfd/libecoff.h Fri Mar 9 11:16:01 2001 +++ binutils-2.11.90.0.19/bfd/libecoff.h Tue Jun 19 11:57:33 2001 @@ -341,7 +341,7 @@ extern PTR _bfd_ecoff_mkobject_hook PARA ((void (*) PARAMS ((bfd *, asection *, PTR))) bfd_void) extern boolean _bfd_ecoff_set_arch_mach_hook PARAMS ((bfd *abfd, PTR filehdr)); extern flagword _bfd_ecoff_styp_to_sec_flags - PARAMS ((bfd *abfd, PTR hdr, const char *name, asection *section)); + PARAMS ((bfd *, PTR, const char *, asection *, flagword *)); extern boolean _bfd_ecoff_slurp_symbol_table PARAMS ((bfd *abfd)); /* ECOFF auxiliary information swapping routines. These are the same diff -uprN binutils-2.11.90.0.15/bfd/po/SRC-POTFILES.in binutils-2.11.90.0.19/bfd/po/SRC-POTFILES.in --- binutils-2.11.90.0.15/bfd/po/SRC-POTFILES.in Tue Apr 24 09:12:03 2001 +++ binutils-2.11.90.0.19/bfd/po/SRC-POTFILES.in Tue Jun 19 11:57:33 2001 @@ -40,7 +40,6 @@ cofflink.c coff-m68k.c coff-m88k.c coff-mips.c -coff-pmac.c coff-rs6000.c coff-sh.c coff-sparc.c @@ -190,6 +189,7 @@ libieee.h libnlm.h liboasys.h libpei.h +libxcoff.h linker.c lynx-core.c m68k4knetbsd.c diff -uprN binutils-2.11.90.0.15/bfd/po/bfd.pot binutils-2.11.90.0.19/bfd/po/bfd.pot --- binutils-2.11.90.0.15/bfd/po/bfd.pot Fri Jun 1 20:48:11 2001 +++ binutils-2.11.90.0.19/bfd/po/bfd.pot Tue Jun 19 11:57:33 2001 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2001-05-23 19:40+0100\n" +"POT-Creation-Date: 2001-06-13 12:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,37 +19,37 @@ msgstr "" msgid "%s: Unknown section type in a.out.adobe file: %x\n" msgstr "" -#: aout-cris.c:205 +#: aout-cris.c:207 #, c-format msgid "%s: Invalid relocation type exported: %d" msgstr "" -#: aout-cris.c:249 +#: aout-cris.c:251 #, c-format msgid "%s: Invalid relocation type imported: %d" msgstr "" -#: aout-cris.c:260 +#: aout-cris.c:262 #, c-format msgid "%s: Bad relocation record imported: %d" msgstr "" -#: aoutx.h:1261 aoutx.h:1675 +#: aoutx.h:1265 aoutx.h:1679 #, c-format msgid "%s: can not represent section `%s' in a.out object file format" msgstr "" -#: aoutx.h:1645 +#: aoutx.h:1649 #, c-format msgid "" "%s: can not represent section for symbol `%s' in a.out object file format" msgstr "" -#: aoutx.h:1647 +#: aoutx.h:1651 msgid "*unknown*" msgstr "" -#: aoutx.h:3684 +#: aoutx.h:3688 #, c-format msgid "%s: relocateable link from %s to %s not supported" msgstr "" @@ -167,6 +167,21 @@ msgstr "" msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx." msgstr "" +#: coff-rs6000.c:2517 coff64-rs6000.c:1074 +#, c-format +msgid "%s: unsupported relocation type 0x%02x" +msgstr "" + +#: coff-rs6000.c:2563 coff64-rs6000.c:1120 +#, c-format +msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry" +msgstr "" + +#: coff-rs6000.c:2809 coff64-rs6000.c:1955 +#, c-format +msgid "%s: symbol `%s' has unrecognized smclas %d" +msgstr "" + #: coff-a29k.c:123 msgid "Missing IHCONST" msgstr "" @@ -326,52 +341,52 @@ msgstr "" msgid "Warning: Clearing the interworking flag of %s due to outside request" msgstr "" -#: coffcode.h:1079 +#: coffcode.h:1073 #, c-format msgid "%s (%s): Section flag %s (0x%x) ignored" msgstr "" -#: coffcode.h:2193 +#: coffcode.h:2180 #, c-format msgid "Unrecognized TI COFF target id '0x%x'" msgstr "" -#: coffcode.h:4251 +#: coffcode.h:4252 #, c-format msgid "%s: warning: illegal symbol index %ld in line numbers" msgstr "" -#: coffcode.h:4265 +#: coffcode.h:4266 #, c-format msgid "%s: warning: duplicate line number information for `%s'" msgstr "" -#: coffcode.h:4625 +#: coffcode.h:4626 #, c-format msgid "%s: Unrecognized storage class %d for %s symbol `%s'" msgstr "" -#: coffcode.h:4756 +#: coffcode.h:4757 #, c-format msgid "warning: %s: local symbol `%s' has no section" msgstr "" -#: coff-tic54x.c:376 coffcode.h:4867 +#: coff-tic54x.c:376 coffcode.h:4868 #, c-format msgid "%s: warning: illegal symbol index %ld in relocs" msgstr "" -#: coffcode.h:4905 +#: coffcode.h:4906 #, c-format msgid "%s: illegal relocation type %d at address 0x%lx" msgstr "" -#: coffgen.c:1632 +#: coffgen.c:1640 #, c-format msgid "%s: bad string table size %lu" msgstr "" -#: coffgen.c:2094 +#: coffgen.c:2110 #, c-format msgid "AUX tagndx %ld ttlsiz 0x%lx lnnos %ld next %ld" msgstr "" @@ -390,12 +405,12 @@ msgstr "" msgid "%s: relocs in section `%s', but it has no contents" msgstr "" -#: cofflink.c:2629 coffswap.h:894 +#: cofflink.c:2629 coffswap.h:895 #, c-format msgid "%s: %s: reloc overflow: 0x%lx > 0xffff" msgstr "" -#: cofflink.c:2638 coffswap.h:880 +#: cofflink.c:2638 coffswap.h:881 #, c-format msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff" msgstr "" @@ -484,61 +499,61 @@ msgstr "" msgid "Dwarf Error: Bad abbrev number: %d." msgstr "" -#: ecoff.c:1331 +#: ecoff.c:1323 #, c-format msgid "Unknown basic type %d" msgstr "" -#: ecoff.c:1600 +#: ecoff.c:1592 #, c-format msgid "" "\n" " End+1 symbol: %ld" msgstr "" -#: ecoff.c:1607 ecoff.c:1610 +#: ecoff.c:1599 ecoff.c:1602 #, c-format msgid "" "\n" " First symbol: %ld" msgstr "" -#: ecoff.c:1622 +#: ecoff.c:1614 #, c-format msgid "" "\n" " End+1 symbol: %-7ld Type: %s" msgstr "" -#: ecoff.c:1629 +#: ecoff.c:1621 #, c-format msgid "" "\n" " Local symbol: %ld" msgstr "" -#: ecoff.c:1637 +#: ecoff.c:1629 #, c-format msgid "" "\n" " struct; End+1 symbol: %ld" msgstr "" -#: ecoff.c:1642 +#: ecoff.c:1634 #, c-format msgid "" "\n" " union; End+1 symbol: %ld" msgstr "" -#: ecoff.c:1647 +#: ecoff.c:1639 #, c-format msgid "" "\n" " enum; End+1 symbol: %ld" msgstr "" -#: ecoff.c:1653 +#: ecoff.c:1645 #, c-format msgid "" "\n" @@ -555,9 +570,8 @@ msgstr "" msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'." msgstr "" -#: elf-hppa.h:1369 elf-hppa.h:1402 elf32-arm.h:1877 elf32-i386.c:1456 -#: elf32-ppc.c:3093 elf32-s390.c:1442 elf32-sh.c:3107 elf64-s390.c:1431 -#: elf64-x86-64.c:1289 +#: elf-hppa.h:1369 elf-hppa.h:1402 elf32-arm.h:1877 elf32-ppc.c:3093 +#: elf32-s390.c:1442 elf32-sh.c:3107 elf64-s390.c:1431 elf64-x86-64.c:1296 #, c-format msgid "" "%s: warning: unresolvable relocation against symbol `%s' from %s section" @@ -571,7 +585,7 @@ msgstr "" #: elf-m10200.c:455 elf-m10300.c:667 elf32-arm.h:1955 elf32-avr.c:846 #: elf32-cris.c:1339 elf32-d10v.c:482 elf32-fr30.c:652 elf32-i860.c:1053 -#: elf32-m32r.c:1270 elf32-mips.c:7048 elf32-openrisc.c:453 elf32-v850.c:1685 +#: elf32-m32r.c:1270 elf32-mips.c:7049 elf32-openrisc.c:453 elf32-v850.c:1685 msgid "internal error: unsupported relocation error" msgstr "" @@ -667,7 +681,7 @@ msgstr "" #. Ignore init flag - it may not be set, despite the flags field #. containing valid data. -#: elf32-arm.h:2217 elf32-cris.c:2968 elf32-m68k.c:430 elf32-mips.c:2720 +#: elf32-arm.h:2217 elf32-cris.c:2968 elf32-m68k.c:430 elf32-mips.c:2721 #, c-format msgid "private flags = %lx:" msgstr "" @@ -823,94 +837,99 @@ msgstr "" msgid "%s: Relocations in generic ELF (EM: %d)" msgstr "" -#: elf32-hppa.c:630 +#: elf32-hppa.c:633 #, c-format msgid "%s(%s+0x%lx): cannot find stub entry %s" msgstr "" -#: elf32-hppa.c:691 +#: elf32-hppa.c:694 #, c-format msgid "%s: cannot create stub entry %s" msgstr "" -#: elf32-hppa.c:883 +#: elf32-hppa.c:888 #, c-format msgid "%s(%s+0x%lx): cannot relocate %s, recompile with -ffunction-sections" msgstr "" -#: elf32-hppa.c:896 elf32-hppa.c:1593 +#: elf32-hppa.c:901 elf32-hppa.c:1615 #, c-format msgid "Could not find relocation section for %s" msgstr "" -#: elf32-hppa.c:1036 elf32-hppa.c:3441 +#: elf32-hppa.c:1046 elf32-hppa.c:3510 #, c-format msgid "%s(%s+0x%lx): cannot reach %s, recompile with -ffunction-sections" msgstr "" -#: elf32-hppa.c:1348 +#: elf32-hppa.c:1386 #, c-format msgid "" "%s: relocation %s can not be used when making a shared object; recompile " "with -fPIC" msgstr "" -#: elf32-hppa.c:1368 +#: elf32-hppa.c:1406 #, c-format msgid "" "%s: relocation %s should not be used when making a shared object; recompile " "with -fPIC" msgstr "" -#: elf32-hppa.c:2741 +#: elf32-hppa.c:2811 #, c-format msgid "%s: duplicate export stub %s" msgstr "" -#: elf32-hppa.c:3325 +#: elf32-hppa.c:3394 #, c-format msgid "%s(%s+0x%lx): fixing %s" msgstr "" -#: elf32-hppa.c:3944 +#: elf32-hppa.c:4032 #, c-format msgid "%s(%s+0x%lx): cannot handle %s for %s" msgstr "" -#: elf32-hppa.c:4262 +#: elf32-hppa.c:4355 msgid ".got section not immediately after .plt section" msgstr "" -#: elf32-i386.c:273 +#: elf32-i386.c:280 #, c-format msgid "%s: invalid relocation type %d" msgstr "" -#: elf32-i386.c:507 +#: elf32-i386.c:577 #, c-format msgid "%s(%s): bad symbol index: %d" msgstr "" -#: elf32-i386.c:512 +#: elf32-i386.c:582 #, c-format msgid "%s: bad symbol index: %d" msgstr "" -#: elf32-i386.c:695 elf32-i386.c:1663 +#: elf32-i386.c:735 elf32-i386.c:1759 #, c-format msgid "%s(%s): bad relocation section name `%s'" msgstr "" -#: elf32-i386.c:700 elf32-i386.c:1668 +#: elf32-i386.c:740 elf32-i386.c:1764 #, c-format msgid "%s: bad relocation section name `%s'" msgstr "" +#: elf32-i386.c:1562 +#, c-format +msgid "%s(%s+0x%lx): unresolvable relocation against symbol `%s'" +msgstr "" + #: elf32-m32r.c:917 msgid "SDA relocation when _SDA_BASE_ not defined" msgstr "" -#: elf32-ia64.c:3417 elf32-m32r.c:1001 elf32-ppc.c:2960 elf64-ia64.c:3417 +#: elf32-ia64.c:3416 elf32-m32r.c:1001 elf32-ppc.c:2960 elf64-ia64.c:3416 #, c-format msgid "%s: unknown relocation type %d" msgstr "" @@ -961,132 +980,132 @@ msgstr "" msgid "Linking mips16 objects into %s format is not supported" msgstr "" -#: elf32-mips.c:2607 +#: elf32-mips.c:2608 #, c-format msgid "%s: linking PIC files with non-PIC files" msgstr "" -#: elf32-mips.c:2617 +#: elf32-mips.c:2618 #, c-format msgid "%s: linking abicalls files with non-abicalls files" msgstr "" -#: elf32-mips.c:2646 +#: elf32-mips.c:2647 #, c-format msgid "%s: ISA mismatch (-mips%d) with previous modules (-mips%d)" msgstr "" -#: elf32-mips.c:2655 +#: elf32-mips.c:2656 #, c-format msgid "%s: ISA mismatch (%d) with previous modules (%d)" msgstr "" -#: elf32-mips.c:2678 +#: elf32-mips.c:2679 #, c-format msgid "%s: ABI mismatch: linking %s module with previous %s modules" msgstr "" -#: elf32-mips.c:2692 elf32-ppc.c:1478 elf64-sparc.c:2996 +#: elf32-mips.c:2693 elf32-ppc.c:1478 elf64-sparc.c:2997 #, c-format msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" msgstr "" -#: elf32-mips.c:2723 +#: elf32-mips.c:2724 msgid " [abi=O32]" msgstr "" -#: elf32-mips.c:2725 +#: elf32-mips.c:2726 msgid " [abi=O64]" msgstr "" -#: elf32-mips.c:2727 +#: elf32-mips.c:2728 msgid " [abi=EABI32]" msgstr "" -#: elf32-mips.c:2729 +#: elf32-mips.c:2730 msgid " [abi=EABI64]" msgstr "" -#: elf32-mips.c:2731 +#: elf32-mips.c:2732 msgid " [abi unknown]" msgstr "" -#: elf32-mips.c:2733 +#: elf32-mips.c:2734 msgid " [abi=N32]" msgstr "" -#: elf32-mips.c:2735 +#: elf32-mips.c:2736 msgid " [abi=64]" msgstr "" -#: elf32-mips.c:2737 +#: elf32-mips.c:2738 msgid " [no abi set]" msgstr "" -#: elf32-mips.c:2740 +#: elf32-mips.c:2741 msgid " [mips1]" msgstr "" -#: elf32-mips.c:2742 +#: elf32-mips.c:2743 msgid " [mips2]" msgstr "" -#: elf32-mips.c:2744 +#: elf32-mips.c:2745 msgid " [mips3]" msgstr "" -#: elf32-mips.c:2746 +#: elf32-mips.c:2747 msgid " [mips4]" msgstr "" -#: elf32-mips.c:2748 +#: elf32-mips.c:2749 msgid " [mips5]" msgstr "" -#: elf32-mips.c:2750 +#: elf32-mips.c:2751 msgid " [mips32]" msgstr "" -#: elf32-mips.c:2752 +#: elf32-mips.c:2753 msgid " [mips64]" msgstr "" -#: elf32-mips.c:2754 +#: elf32-mips.c:2755 msgid " [unknown ISA]" msgstr "" -#: elf32-mips.c:2757 +#: elf32-mips.c:2758 msgid " [32bitmode]" msgstr "" -#: elf32-mips.c:2759 +#: elf32-mips.c:2760 msgid " [not 32bitmode]" msgstr "" -#: elf32-mips.c:4427 +#: elf32-mips.c:4428 msgid "static procedure (no name)" msgstr "" -#: elf32-mips.c:5044 elf64-alpha.c:4418 +#: elf32-mips.c:5045 elf64-alpha.c:4418 #, c-format msgid "%s: illegal section name `%s'" msgstr "" -#: elf32-mips.c:5609 +#: elf32-mips.c:5610 msgid "not enough GOT space for local GOT entries" msgstr "" -#: elf32-mips.c:6725 +#: elf32-mips.c:6726 #, c-format msgid "%s: %s+0x%lx: jump to stub routine which is not jal" msgstr "" -#: elf32-mips.c:7714 +#: elf32-mips.c:7715 #, c-format msgid "Malformed reloc detected for section %s" msgstr "" -#: elf32-mips.c:7791 +#: elf32-mips.c:7792 #, c-format msgid "%s: CALL16 reloc at 0x%lx not against global symbol" msgstr "" @@ -1174,17 +1193,17 @@ msgstr "" msgid "%s: 0x%lx: fatal: unaligned branch target for relax-support relocation" msgstr "" -#: elf32-sparc.c:1512 elf64-sparc.c:2262 +#: elf32-sparc.c:1519 elf64-sparc.c:2263 #, c-format msgid "%s: probably compiled without -fPIC?" msgstr "" -#: elf32-sparc.c:1969 +#: elf32-sparc.c:1976 #, c-format msgid "%s: compiled for a 64 bit system and target is 32 bit" msgstr "" -#: elf32-sparc.c:1983 +#: elf32-sparc.c:1990 #, c-format msgid "%s: linking little endian files with big endian files" msgstr "" @@ -1265,37 +1284,37 @@ msgstr "" msgid "%s: .got subsegment exceeds 64K (size %d)" msgstr "" -#: elf64-hppa.c:2018 +#: elf64-hppa.c:2032 #, c-format msgid "stub entry for %s cannot load .plt, dp offset = %ld" msgstr "" -#: elf64-sparc.c:1248 +#: elf64-sparc.c:1249 #, c-format msgid "%s: check_relocs: unhandled reloc type %d" msgstr "" -#: elf64-sparc.c:1285 +#: elf64-sparc.c:1286 msgid "%s: Only registers %%g[2367] can be declared using STT_REGISTER" msgstr "" -#: elf64-sparc.c:1305 +#: elf64-sparc.c:1306 msgid "" "Register %%g%d used incompatibly: previously declared in %s to %s, in %s " "redefined to %s" msgstr "" -#: elf64-sparc.c:1328 +#: elf64-sparc.c:1329 #, c-format msgid "Symbol `%s' has differing types: previously %s, REGISTER in %s" msgstr "" -#: elf64-sparc.c:1374 +#: elf64-sparc.c:1375 #, c-format msgid "Symbol `%s' has differing types: REGISTER in %s, %s in %s" msgstr "" -#: elf64-sparc.c:2977 +#: elf64-sparc.c:2978 #, c-format msgid "%s: linking UltraSPARC specific with HAL specific code" msgstr "" @@ -1388,7 +1407,7 @@ msgstr "" msgid "%s: warning: Empty loadable segment detected\n" msgstr "" -#: elf.c:5285 +#: elf.c:5290 #, c-format msgid "%s: unsupported relocation type %s" msgstr "" @@ -1433,12 +1452,16 @@ msgstr "" msgid "%s: undefined versioned symbol name %s" msgstr "" -#: elflink.h:5233 +#: elflink.h:4169 elflink.h:4177 elflink.h:5480 elflink.h:6420 +msgid "Error: out of memory" +msgstr "" + +#: elflink.h:5258 #, c-format msgid "%s: could not find output section %s for input section %s" msgstr "" -#: elflink.h:5619 +#: elflink.h:5661 #, c-format msgid "%s: invalid section symbol index 0x%x (%s) ingored" msgstr "" @@ -1538,12 +1561,12 @@ msgstr "" msgid "%s: address 0x%s out of range for Intex Hex file" msgstr "" -#: libbfd.c:472 +#: libbfd.c:473 #, c-format msgid "not mapping: data=%lx mapped=%d\n" msgstr "" -#: libbfd.c:475 +#: libbfd.c:476 msgid "not mapping: env var not set\n" msgstr "" @@ -1938,164 +1961,153 @@ msgstr "" msgid "Unhandled relocation %s" msgstr "" -#: xcofflink.c:1635 +#: xcofflink.c:1220 #, c-format msgid "%s: `%s' has line numbers but no enclosing section" msgstr "" -#: xcofflink.c:1687 +#: xcofflink.c:1267 #, c-format msgid "%s: class %d symbol `%s' has no aux entries" msgstr "" -#: xcofflink.c:1710 +#: xcofflink.c:1290 #, c-format msgid "%s: symbol `%s' has unrecognized csect type %d" msgstr "" -#: xcofflink.c:1722 +#: xcofflink.c:1302 #, c-format msgid "%s: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d" msgstr "" -#: xcofflink.c:1761 +#: xcofflink.c:1340 #, c-format msgid "%s: XMC_TC0 symbol `%s' is class %d scnlen %d" msgstr "" -#: xcofflink.c:1884 -#, c-format -msgid "%s: symbol `%s' has unrecognized smclas %d" -msgstr "" - -#: xcofflink.c:1903 +#: xcofflink.c:1493 #, c-format msgid "%s: csect `%s' not in enclosing section" msgstr "" -#: xcofflink.c:2007 +#: xcofflink.c:1598 #, c-format msgid "%s: misplaced XTY_LD `%s'" msgstr "" -#: xcofflink.c:2318 +#: xcofflink.c:1916 #, c-format msgid "%s: reloc %s:%d not in csect" msgstr "" -#: xcofflink.c:2453 +#: xcofflink.c:2051 #, c-format msgid "%s: XCOFF shared object when not producing XCOFF output" msgstr "" -#: xcofflink.c:2474 +#: xcofflink.c:2072 #, c-format msgid "%s: dynamic object with no .loader section" msgstr "" -#: xcofflink.c:3114 +#: xcofflink.c:2715 #, c-format msgid "%s: no such symbol" msgstr "" -#: xcofflink.c:3705 +#: xcofflink.c:2848 +msgid "error: undefined symbol __rtinit" +msgstr "" + +#: xcofflink.c:3389 #, c-format msgid "warning: attempt to export undefined symbol `%s'" msgstr "" -#: xcofflink.c:4699 +#: xcofflink.c:4358 #, c-format msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling" msgstr "" -#: xcofflink.c:5524 xcofflink.c:5880 xcofflink.c:5917 xcofflink.c:6234 +#: xcofflink.c:5192 xcofflink.c:5603 xcofflink.c:5665 xcofflink.c:5968 #, c-format msgid "%s: loader reloc in unrecognized section `%s'" msgstr "" -#: xcofflink.c:5546 xcofflink.c:6245 +#: xcofflink.c:5214 xcofflink.c:5979 #, c-format msgid "%s: `%s' in loader reloc but not loader sym" msgstr "" -#: xcofflink.c:5561 +#: xcofflink.c:5229 #, c-format msgid "%s: loader reloc in read-only section %s" msgstr "" -#: xcofflink.c:6441 -#, c-format -msgid "%s: unsupported relocation type 0x%02x" -msgstr "" - -#: xcofflink.c:6487 -#, c-format -msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry" -msgstr "" - -#: elf32-ia64.c:2050 elf64-ia64.c:2050 +#: elf32-ia64.c:2046 elf64-ia64.c:2046 msgid "@pltoff reloc against local symbol" msgstr "" -#: elf32-ia64.c:2110 elf64-ia64.c:2110 +#: elf32-ia64.c:2104 elf64-ia64.c:2104 msgid "non-zero addend in @fptr reloc" msgstr "" -#: elf32-ia64.c:3295 elf64-ia64.c:3295 +#: elf32-ia64.c:3294 elf64-ia64.c:3294 #, c-format msgid "%s: short data segment overflowed (0x%lx >= 0x400000)" msgstr "" -#: elf32-ia64.c:3306 elf64-ia64.c:3306 +#: elf32-ia64.c:3305 elf64-ia64.c:3305 #, c-format msgid "%s: __gp does not cover short data segment" msgstr "" -#: elf32-ia64.c:3578 elf64-ia64.c:3578 +#: elf32-ia64.c:3575 elf64-ia64.c:3575 #, c-format msgid "%s: linking non-pic code in a shared library" msgstr "" -#: elf32-ia64.c:3611 elf64-ia64.c:3611 +#: elf32-ia64.c:3608 elf64-ia64.c:3608 #, c-format msgid "%s: @gprel relocation against dynamic symbol %s" msgstr "" -#: elf32-ia64.c:3747 elf64-ia64.c:3747 +#: elf32-ia64.c:3744 elf64-ia64.c:3744 #, c-format msgid "%s: dynamic relocation against speculation fixup" msgstr "" -#: elf32-ia64.c:3755 elf64-ia64.c:3755 +#: elf32-ia64.c:3752 elf64-ia64.c:3752 #, c-format msgid "%s: speculation fixup against undefined weak symbol" msgstr "" -#: elf32-ia64.c:3938 elf64-ia64.c:3938 +#: elf32-ia64.c:3935 elf64-ia64.c:3935 msgid "unsupported reloc" msgstr "" -#: elf32-ia64.c:4235 elf64-ia64.c:4235 +#: elf32-ia64.c:4232 elf64-ia64.c:4232 #, c-format msgid "%s: linking trap-on-NULL-dereference with non-trapping files" msgstr "" -#: elf32-ia64.c:4244 elf64-ia64.c:4244 +#: elf32-ia64.c:4241 elf64-ia64.c:4241 #, c-format msgid "%s: linking big-endian files with little-endian files" msgstr "" -#: elf32-ia64.c:4253 elf64-ia64.c:4253 +#: elf32-ia64.c:4250 elf64-ia64.c:4250 #, c-format msgid "%s: linking 64-bit files with 32-bit files" msgstr "" -#: elf32-ia64.c:4262 elf64-ia64.c:4262 +#: elf32-ia64.c:4259 elf64-ia64.c:4259 #, c-format msgid "%s: linking constant-gp files with non-constant-gp files" msgstr "" -#: elf32-ia64.c:4272 elf64-ia64.c:4272 +#: elf32-ia64.c:4269 elf64-ia64.c:4269 #, c-format msgid "%s: linking auto-pic files with non-auto-pic files" msgstr "" diff -uprN binutils-2.11.90.0.15/binutils/ChangeLog binutils-2.11.90.0.19/binutils/ChangeLog --- binutils-2.11.90.0.15/binutils/ChangeLog Sat Jun 9 00:13:01 2001 +++ binutils-2.11.90.0.19/binutils/ChangeLog Tue Jun 19 11:57:33 2001 @@ -1,3 +1,34 @@ +2001-06-19 H.J. Lu + + * doc/Makefile.in: Regenerated. + +2001-06-19 Nick Clifton + + * readelf.c: Restore formatting. + +2001-06-18 H.J. Lu & Nick Clifton + + * Makefile.am: Move documentation into doc subdirectory. + * Makefile.in: Regenerated. + * binutils.texi: Move into doc subdirectory. + * addr2line.1: Removed. + * ar.1: Likewise. + * dlltool.1: Likewise. + * nlmconv.1: Likewise. + * nm.1: Likewise. + * objcopy.1: Likewise. + * objdump.1: Likewise. + * ranlib.1: Likewise. + * readelf.1: Likewise. + * size.1: Likewise. + * strings.1: Likewise. + * strip.1: Likewise. + * windres.1: Likewise. + * cxxfilt.man: Likewise. + * doc: New Directory. + * doc/Makefile.am: New file. + * doc/Makefile.in: Generate. + 2001-06-09 Alan Modra * NEWS: Fix a typo. Mention hppa64-elf. Add binutils-2.11 marker. diff -uprN binutils-2.11.90.0.15/binutils/Makefile.am binutils-2.11.90.0.19/binutils/Makefile.am --- binutils-2.11.90.0.15/binutils/Makefile.am Wed Mar 28 11:21:27 2001 +++ binutils-2.11.90.0.19/binutils/Makefile.am Tue Jun 19 11:57:33 2001 @@ -5,7 +5,7 @@ INTLLIBS = @INTLLIBS@ AUTOMAKE_OPTIONS = cygnus dejagnu -SUBDIRS = po +SUBDIRS = doc po tooldir = $(exec_prefix)/$(target_alias) @@ -52,29 +52,6 @@ DLLWRAP_PROG=dllwrap SRCONV_PROG=srconv$(EXEEXT) sysdump$(EXEEXT) coffdump$(EXEEXT) -MANCONF = -Dman - -TEXI2POD = perl $(srcdir)/../etc/texi2pod.pl - -POD2MAN = pod2man --center="GNU" --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 \ - windres.1 \ - $(DEMANGLER_NAME).1 - PROGS = $(SIZE_PROG) $(OBJDUMP_PROG) $(NM_PROG) $(AR_PROG) $(STRINGS_PROG) $(STRIP_PROG) $(RANLIB_PROG) $(DEMANGLER_PROG) $(OBJCOPY_PROG) @BUILD_NLMCONV@ @BUILD_SRCONV@ @BUILD_DLLTOOL@ @BUILD_WINDRES@ $(ADDR2LINE_PROG) $(READELF_PROG) @BUILD_DLLWRAP@ @BUILD_MISC@ bin_PROGRAMS = $(SIZE_PROG) $(OBJDUMP_PROG) $(AR_PROG) $(STRINGS_PROG) $(RANLIB_PROG) $(OBJCOPY_PROG) @BUILD_NLMCONV@ @BUILD_SRCONV@ @BUILD_DLLTOOL@ @BUILD_WINDRES@ $(ADDR2LINE_PROG) $(READELF_PROG) @BUILD_DLLWRAP@ @BUILD_MISC@ @@ -171,8 +148,6 @@ check-DEJAGNU: site.exp installcheck: /bin/sh $(srcdir)/sanity.sh $(bindir) -info_TEXINFOS = binutils.texi - LDADD = $(BFDLIB) $(LIBIBERTY) $(INTLLIBS) size_SOURCES = size.c $(BULIBS) @@ -297,10 +272,10 @@ dllwrap_SOURCES = dllwrap.c version.c dllwrap_LDADD = $(LIBIBERTY) $(INTLLIBS) -DISTSTUFF = arparse.c arparse.h arlex.c nlmheader.c sysinfo.c sysinfo.h \ +EXTRA_DIST = arparse.c arparse.h arlex.c nlmheader.c sysinfo.c sysinfo.h \ syslex.c deflex.c defparse.h defparse.c rclex.c rcparse.h rcparse.c -diststuff: $(DISTSTUFF) info +diststuff: $(EXTRA_DIST) info DISTCLEANFILES = stamp-under sysinfo underscore.c sysroff.c sysroff.h \ site.exp site.bak @@ -350,122 +325,8 @@ dep-am: DEP .PHONY: dep dep-in dep-am ### -# DOCUMENTATION TARGETS -config.texi: Makefile - rm -f config.texi - echo '@set VERSION $(VERSION)' > config.texi - -binutils.dvi: $(srcdir)/binutils.texi config.texi - -binutils.info: $(srcdir)/binutils.texi config.texi - -# Man page generation from texinfo -$(srcdir)/addr2line.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Daddr2line < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/ar.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dar < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/dlltool.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Ddlltool < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/nlmconv.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dnlmconv < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/nm.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dnm < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/objcopy.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dobjcopy < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/objdump.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dobjdump < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/ranlib.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dranlib < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/readelf.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dreadelf < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/size.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dsize < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/strings.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dstrings < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/strip.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dstrip < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/windres.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dwindres < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/cxxfilt.man: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dcxxfilt < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -MAINTAINERCLEANFILES = config.texi - -$(DEMANGLER_NAME).1: cxxfilt.man Makefile - sed -e 's/@PROGRAM@/$(DEMANGLER_NAME)/' < $(srcdir)/cxxfilt.man \ - > $(DEMANGLER_NAME).1 -MOSTLYCLEANFILES = sysinfo $(DEMANGLER_NAME).1 binutils.log binutils.sum \ - abcdefgh* +MOSTLYCLEANFILES = sysinfo binutils.log binutils.sum abcdefgh* mostlyclean-local: -rm -rf tmpdir diff -uprN binutils-2.11.90.0.15/binutils/Makefile.in binutils-2.11.90.0.19/binutils/Makefile.in --- binutils-2.11.90.0.15/binutils/Makefile.in Wed Mar 28 11:21:27 2001 +++ binutils-2.11.90.0.19/binutils/Makefile.in Tue Jun 19 11:57:33 2001 @@ -117,7 +117,7 @@ INTLLIBS = @INTLLIBS@ AUTOMAKE_OPTIONS = cygnus dejagnu -SUBDIRS = po +SUBDIRS = doc po tooldir = $(exec_prefix)/$(target_alias) @@ -161,16 +161,6 @@ DLLWRAP_PROG = dllwrap SRCONV_PROG = srconv$(EXEEXT) sysdump$(EXEEXT) coffdump$(EXEEXT) -MANCONF = -Dman - -TEXI2POD = perl $(srcdir)/../etc/texi2pod.pl - -POD2MAN = pod2man --center="GNU" --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 windres.1 $(DEMANGLER_NAME).1 - - PROGS = $(SIZE_PROG) $(OBJDUMP_PROG) $(NM_PROG) $(AR_PROG) $(STRINGS_PROG) $(STRIP_PROG) $(RANLIB_PROG) $(DEMANGLER_PROG) $(OBJCOPY_PROG) @BUILD_NLMCONV@ @BUILD_SRCONV@ @BUILD_DLLTOOL@ @BUILD_WINDRES@ $(ADDR2LINE_PROG) $(READELF_PROG) @BUILD_DLLWRAP@ @BUILD_MISC@ bin_PROGRAMS = $(SIZE_PROG) $(OBJDUMP_PROG) $(AR_PROG) $(STRINGS_PROG) $(RANLIB_PROG) $(OBJCOPY_PROG) @BUILD_NLMCONV@ @BUILD_SRCONV@ @BUILD_DLLTOOL@ @BUILD_WINDRES@ $(ADDR2LINE_PROG) $(READELF_PROG) @BUILD_DLLWRAP@ @BUILD_MISC@ @@ -190,15 +180,24 @@ MKDEP = gcc -MM INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) @HDEFINES@ -I$(srcdir)/../intl -I../intl -DLOCALEDIR="\"$(prefix)/share/locale\"" -HFILES = arsup.h bucomm.h budbg.h coffgrok.h debug.h nlmconv.h dlltool.h windres.h winduni.h +HFILES = arsup.h bucomm.h budbg.h coffgrok.h debug.h nlmconv.h dlltool.h \ + windres.h winduni.h GENERATED_HFILES = arparse.h sysroff.h sysinfo.h defparse.h rcparse.h -CFILES = addr2line.c ar.c arsup.c bucomm.c coffdump.c coffgrok.c debug.c dlltool.c filemode.c ieee.c is-ranlib.c is-strip.c maybe-ranlib.c maybe-strip.c nlmconv.c nm.c not-ranlib.c not-strip.c objcopy.c objdump.c prdbg.c rdcoff.c rddbg.c size.c srconv.c stabs.c strings.c sysdump.c version.c wrstabs.c windres.c resrc.c rescoff.c resbin.c winduni.c readelf.c resres.c dllwrap.c rename.c +CFILES = addr2line.c ar.c arsup.c bucomm.c coffdump.c coffgrok.c debug.c \ + dlltool.c filemode.c ieee.c is-ranlib.c is-strip.c maybe-ranlib.c \ + maybe-strip.c nlmconv.c nm.c not-ranlib.c not-strip.c \ + objcopy.c objdump.c prdbg.c rdcoff.c rddbg.c size.c srconv.c \ + stabs.c strings.c sysdump.c version.c wrstabs.c \ + windres.c resrc.c rescoff.c resbin.c winduni.c readelf.c \ + resres.c dllwrap.c rename.c -GENERATED_CFILES = underscore.c arparse.c arlex.c sysroff.c sysinfo.c syslex.c defparse.c deflex.c nlmheader.c rcparse.c rclex.c +GENERATED_CFILES = \ + underscore.c arparse.c arlex.c sysroff.c sysinfo.c syslex.c \ + defparse.c deflex.c nlmheader.c rcparse.c rclex.c DEBUG_SRCS = rddbg.c debug.c stabs.c ieee.c rdcoff.c @@ -215,16 +214,31 @@ LIBIBERTY = ../libiberty/libiberty.a POTFILES = $(CFILES) $(DEBUG_SRCS) $(HFILES) -EXPECT = `if [ -f $$r/../expect/expect ] ; then echo $$r/../expect/expect ; else echo expect ; fi` - -RUNTEST = `if [ -f ${srcdir}/../dejagnu/runtest ] ; then echo ${srcdir}/../dejagnu/runtest ; else echo runtest ; fi` +EXPECT = `if [ -f $$r/../expect/expect ] ; then \ + echo $$r/../expect/expect ; \ + else echo expect ; fi` + +RUNTEST = `if [ -f ${srcdir}/../dejagnu/runtest ] ; then \ + echo ${srcdir}/../dejagnu/runtest ; \ + else echo runtest ; fi` + + +CC_FOR_TARGET = ` \ + if [ -f $$r/../gcc/xgcc ] ; then \ + if [ -f $$r/../newlib/Makefile ] ; then \ + echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \ + else \ + echo $$r/../gcc/xgcc -B$$r/../gcc/; \ + fi; \ + else \ + if [ "@host@" = "@target@" ] ; then \ + echo $(CC); \ + else \ + echo gcc | sed '$(transform)'; \ + fi; \ + fi` -CC_FOR_TARGET = ` if [ -f $$r/../gcc/xgcc ] ; then if [ -f $$r/../newlib/Makefile ] ; then echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; else echo $$r/../gcc/xgcc -B$$r/../gcc/; fi; else if [ "@host@" = "@target@" ] ; then echo $(CC); else echo gcc | sed '$(transform)'; fi; fi` - - -info_TEXINFOS = binutils.texi - LDADD = $(BFDLIB) $(LIBIBERTY) $(INTLLIBS) size_SOURCES = size.c $(BULIBS) @@ -265,23 +279,25 @@ sysdump_SOURCES = sysdump.c $(BULIBS) nlmconv_SOURCES = nlmconv.c nlmheader.y $(BULIBS) -windres_SOURCES = windres.c resrc.c rescoff.c resbin.c rcparse.y rclex.l winduni.c resres.c $(BULIBS) +windres_SOURCES = windres.c resrc.c rescoff.c resbin.c rcparse.y rclex.l \ + winduni.c resres.c $(BULIBS) windres_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(INTLLIBS) dllwrap_SOURCES = dllwrap.c version.c dllwrap_LDADD = $(LIBIBERTY) $(INTLLIBS) -DISTSTUFF = arparse.c arparse.h arlex.c nlmheader.c sysinfo.c sysinfo.h syslex.c deflex.c defparse.h defparse.c rclex.c rcparse.h rcparse.c +EXTRA_DIST = arparse.c arparse.h arlex.c nlmheader.c sysinfo.c sysinfo.h \ + syslex.c deflex.c defparse.h defparse.c rclex.c rcparse.h rcparse.c -DISTCLEANFILES = stamp-under sysinfo underscore.c sysroff.c sysroff.h site.exp site.bak +DISTCLEANFILES = stamp-under sysinfo underscore.c sysroff.c sysroff.h \ + site.exp site.bak -MAINTAINERCLEANFILES = config.texi - -MOSTLYCLEANFILES = sysinfo $(DEMANGLER_NAME).1 binutils.log binutils.sum abcdefgh* +### +MOSTLYCLEANFILES = sysinfo binutils.log binutils.sum abcdefgh* CLEANFILES = dep.sed DEP DEPA DEP1 DEP2 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -398,15 +414,6 @@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then echo $(top_srcdir)/../texinfo/util/texi2dvi; else echo texi2dvi; fi` -TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex -INFO_DEPS = binutils.info -DVIS = binutils.dvi -TEXINFOS = binutils.texi -man1dir = $(mandir)/man1 -MANS = $(man_MANS) - -NROFF = nroff DIST_COMMON = README ./stamp-h.in ChangeLog Makefile.am Makefile.in \ NEWS acinclude.m4 aclocal.m4 arlex.c arparse.c config.in configure \ configure.in deflex.c defparse.c nlmheader.c rclex.c rcparse.c @@ -421,7 +428,7 @@ OBJECTS = $(nlmconv_OBJECTS) $(srconv_OB all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .dvi .info .l .lo .o .obj .ps .s .texi .texinfo .txi .y +.SUFFIXES: .S .c .l .lo .o .obj .s .y $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile @@ -624,158 +631,6 @@ nlmheader.h: nlmheader.c rcparse.h: rcparse.c -binutils.info: binutils.texi -binutils.dvi: binutils.texi - - -DVIPS = dvips - -.texi.info: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< - -.texi.dvi: - TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \ - MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< - -.texi: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< - -.texinfo.info: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< - -.texinfo: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< - -.texinfo.dvi: - TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \ - MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< - -.txi.info: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< - -.txi.dvi: - TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \ - MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< - -.txi: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< -.dvi.ps: - $(DVIPS) $< -o $@ - -install-info-am: $(INFO_DEPS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(infodir) - @list='$(INFO_DEPS)'; \ - for file in $$list; do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \ - if test -f $$d/$$ifile; then \ - echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \ - $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \ - else : ; fi; \ - done; \ - done - @$(POST_INSTALL) - @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ - list='$(INFO_DEPS)'; \ - for file in $$list; do \ - echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\ - install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\ - done; \ - else : ; fi - -uninstall-info: - $(PRE_UNINSTALL) - @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ - ii=yes; \ - else ii=; fi; \ - list='$(INFO_DEPS)'; \ - for file in $$list; do \ - test -z "$ii" \ - || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \ - done - @$(NORMAL_UNINSTALL) - list='$(INFO_DEPS)'; \ - for file in $$list; do \ - (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \ - done - -dist-info: $(INFO_DEPS) - list='$(INFO_DEPS)'; \ - for base in $$list; do \ - if test -f $$base; then d=.; else d=$(srcdir); fi; \ - for file in `cd $$d && eval echo $$base*`; do \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ - done; \ - done - -mostlyclean-aminfo: - -rm -f binutils.aux binutils.cp binutils.cps binutils.dvi binutils.fn \ - binutils.fns binutils.ky binutils.kys binutils.ps \ - binutils.log binutils.pg binutils.toc binutils.tp \ - binutils.tps binutils.vr binutils.vrs binutils.op binutils.tr \ - binutils.cv binutils.cn - -clean-aminfo: - -distclean-aminfo: - -maintainer-clean-aminfo: - for i in $(INFO_DEPS); do \ - rm -f $$i; \ - if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \ - rm -f $$i-[0-9]*; \ - fi; \ - done -clean-info: mostlyclean-aminfo - -install-man1: - $(mkinstalldirs) $(DESTDIR)$(man1dir) - @list='$(man1_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ - done - -uninstall-man1: - @list='$(man1_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ - rm -f $(DESTDIR)$(man1dir)/$$inst; \ - done -install-man: $(MANS) - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-man1 -uninstall-man: - @$(NORMAL_UNINSTALL) - $(MAKE) $(AM_MAKEFLAGS) uninstall-man1 - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -923,7 +778,6 @@ distdir: $(DISTFILES) || exit 1; \ fi; \ done - $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info RUNTESTFLAGS = @@ -949,9 +803,9 @@ site.exp: Makefile @test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t @test ! -f site.exp || mv site.exp site.bak @mv $@-t site.exp -info-am: $(INFO_DEPS) +info-am: info: info-recursive -dvi-am: $(DVIS) +dvi-am: dvi: dvi-recursive check-am: $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU @@ -966,21 +820,21 @@ all-recursive-am: config.h install-exec-am: install-binPROGRAMS install-exec-local install-exec: install-exec-recursive -install-data-am: install-man +install-data-am: install-data: install-data-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am install: install-recursive -uninstall-am: uninstall-binPROGRAMS uninstall-man +uninstall-am: uninstall-binPROGRAMS uninstall: uninstall-recursive -all-am: Makefile $(PROGRAMS) $(MANS) config.h +all-am: Makefile $(PROGRAMS) config.h all-redirect: all-recursive-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: installdirs-recursive installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 + $(mkinstalldirs) $(DESTDIR)$(bindir) mostlyclean-generic: @@ -995,24 +849,24 @@ distclean-generic: -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: - -test -z "arlexldeflexlrclexlarparseharparsecdefparsehdefparsecnlmheaderhnlmheadercrcparsehrcparsec$(MAINTAINERCLEANFILES)" || rm -f arlexl deflexl rclexl arparseh arparsec defparseh defparsec nlmheaderh nlmheaderc rcparseh rcparsec $(MAINTAINERCLEANFILES) + -test -z "arlexldeflexlrclexlarparseharparsecdefparsehdefparsecnlmheaderhnlmheadercrcparsehrcparsec" || rm -f arlexl deflexl rclexl arparseh arparsec defparseh defparsec nlmheaderh nlmheaderc rcparseh rcparsec mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS \ mostlyclean-noinstPROGRAMS mostlyclean-compile \ - mostlyclean-libtool mostlyclean-aminfo mostlyclean-tags \ + mostlyclean-libtool mostlyclean-tags \ mostlyclean-generic mostlyclean-local mostlyclean: mostlyclean-recursive clean-am: clean-hdr clean-binPROGRAMS clean-noinstPROGRAMS \ - clean-compile clean-libtool clean-aminfo clean-tags \ - clean-generic mostlyclean-am + clean-compile clean-libtool clean-tags clean-generic \ + mostlyclean-am clean: clean-recursive distclean-am: distclean-hdr distclean-binPROGRAMS \ distclean-noinstPROGRAMS distclean-compile \ - distclean-libtool distclean-aminfo distclean-tags \ - distclean-generic clean-am + distclean-libtool distclean-tags distclean-generic \ + clean-am -rm -f libtool distclean: distclean-recursive @@ -1021,8 +875,8 @@ distclean: distclean-recursive maintainer-clean-am: maintainer-clean-hdr maintainer-clean-binPROGRAMS \ maintainer-clean-noinstPROGRAMS \ maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-aminfo maintainer-clean-tags \ - maintainer-clean-generic distclean-am + maintainer-clean-tags maintainer-clean-generic \ + distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." @@ -1036,14 +890,11 @@ mostlyclean-noinstPROGRAMS distclean-noi clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \ mostlyclean-compile distclean-compile clean-compile \ maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool install-info-am uninstall-info \ -mostlyclean-aminfo distclean-aminfo clean-aminfo \ -maintainer-clean-aminfo install-man1 uninstall-man1 install-man \ -uninstall-man install-data-recursive uninstall-data-recursive \ -install-exec-recursive uninstall-exec-recursive installdirs-recursive \ -uninstalldirs-recursive all-recursive check-recursive \ -installcheck-recursive info-recursive dvi-recursive \ -mostlyclean-recursive distclean-recursive clean-recursive \ +clean-libtool maintainer-clean-libtool install-data-recursive \ +uninstall-data-recursive install-exec-recursive \ +uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ +all-recursive check-recursive installcheck-recursive info-recursive \ +dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ distclean-tags clean-tags maintainer-clean-tags distdir check-DEJAGNU \ info-am info dvi-am dvi check check-am installcheck-am installcheck \ @@ -1152,7 +1003,7 @@ nlmconv.o: nlmconv.c $(INCDIR)/coff/sym. ldname=`echo ld | sed '$(transform)'`; \ $(COMPILE) -c -DLD_NAME="\"$${ldname}\"" @NLMCONV_DEFS@ $(srcdir)/nlmconv.c -diststuff: $(DISTSTUFF) info +diststuff: $(EXTRA_DIST) info # Targets to rebuild dependencies in this Makefile. # Have to get rid of DEP1 here so that "$?" later includes all of $(CFILES). @@ -1197,119 +1048,6 @@ dep-am: DEP $(SHELL) $(srcdir)/../move-if-change tmp-Makefile.am $(srcdir)/Makefile.am .PHONY: dep dep-in dep-am - -### -# DOCUMENTATION TARGETS -config.texi: Makefile - rm -f config.texi - echo '@set VERSION $(VERSION)' > config.texi - -binutils.dvi: $(srcdir)/binutils.texi config.texi - -binutils.info: $(srcdir)/binutils.texi config.texi - -# Man page generation from texinfo -$(srcdir)/addr2line.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Daddr2line < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/ar.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dar < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/dlltool.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Ddlltool < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/nlmconv.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dnlmconv < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/nm.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dnm < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/objcopy.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dobjcopy < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/objdump.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dobjdump < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/ranlib.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dranlib < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/readelf.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dreadelf < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/size.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dsize < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/strings.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dstrings < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/strip.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dstrip < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/windres.1: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dwindres < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(srcdir)/cxxfilt.man: $(srcdir)/binutils.texi - touch $@ - -$(TEXI2POD) $(MANCONF) -Dcxxfilt < $< > $@.pod - -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ - mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) - rm -f $@.pod - -$(DEMANGLER_NAME).1: cxxfilt.man Makefile - sed -e 's/@PROGRAM@/$(DEMANGLER_NAME)/' < $(srcdir)/cxxfilt.man \ - > $(DEMANGLER_NAME).1 mostlyclean-local: -rm -rf tmpdir diff -uprN binutils-2.11.90.0.15/binutils/addr2line.1 binutils-2.11.90.0.19/binutils/addr2line.1 --- binutils-2.11.90.0.15/binutils/addr2line.1 Sat Jun 9 00:19:00 2001 +++ binutils-2.11.90.0.19/binutils/addr2line.1 Wed Dec 31 16:00:00 1969 @@ -1,229 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:00 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 1" -.TH ADDR2LINE.1 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -addr2line \- convert addresses into file names and line numbers. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -addr2line [ \-b \fIbfdname\fR | \-\-target=\fIbfdname\fR ] - [ \-C | \-\-demangle[=\fIstyle\fR ] - [ \-e \fIfilename\fR | \-\-exe=\fIfilename\fR ] - [ \-f | \-\-functions ] [ \-s | \-\-basename ] - [ \-H | \-\-help ] [ \-V | \-\-version ] - [ addr addr ... ] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\f(CW\*(C`addr2line\*(C'\fR translates program addresses into file names and line -numbers. Given an address and an executable, it uses the debugging -information in the executable to figure out which file name and line -number are associated with a given address. -.PP -The executable to use is specified with the \f(CW\*(C`\-e\*(C'\fR option. The -default is the file \fIa.out\fR. -.PP -\&\f(CW\*(C`addr2line\*(C'\fR has two modes of operation. -.PP -In the first, hexadecimal addresses are specified on the command line, -and \f(CW\*(C`addr2line\*(C'\fR displays the file name and line number for each -address. -.PP -In the second, \f(CW\*(C`addr2line\*(C'\fR reads hexadecimal addresses from -standard input, and prints the file name and line number for each -address on standard output. In this mode, \f(CW\*(C`addr2line\*(C'\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 address is printed on a separate line. If the -\&\f(CW\*(C`\-f\*(C'\fR option is used, then each \fB\s-1FILENAME:LINENO\s0\fR line is -preceded by a \fB\s-1FUNCTIONNAME\s0\fR line which is the name of the function -containing the address. -.PP -If the file name or function name can not be determined, -\&\f(CW\*(C`addr2line\*(C'\fR will print two question marks in their place. If the -line number can not be determined, \f(CW\*(C`addr2line\*(C'\fR will print 0. -.SH "OPTIONS" -.IX Header "OPTIONS" -The long and short forms of options, shown here as alternatives, are -equivalent. -.Ip "\f(CW\*(C`\-b \f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "-b bfdname" -.Ip "\f(CW\*(C`\-\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "--target=bfdname" -Specify that the object-code format for the object files is -\&\fIbfdname\fR. -.Ip "\f(CW\*(C`\-C\*(C'\fR" 4 -.IX Item "-C" -.Ip "\f(CW\*(C`\-\-demangle[=\f(CIstyle\f(CW]\*(C'\fR" 4 -.IX Item "--demangle[=style]" -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 "\f(CW\*(C`\-e \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "-e filename" -.Ip "\f(CW\*(C`\-\-exe=\f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "--exe=filename" -Specify the name of the executable for which addresses should be -translated. The default file is \fIa.out\fR. -.Ip "\f(CW\*(C`\-f\*(C'\fR" 4 -.IX Item "-f" -.Ip "\f(CW\*(C`\-\-functions\*(C'\fR" 4 -.IX Item "--functions" -Display function names as well as file and line number information. -.Ip "\f(CW\*(C`\-s\*(C'\fR" 4 -.IX Item "-s" -.Ip "\f(CW\*(C`\-\-basenames\*(C'\fR" 4 -.IX Item "--basenames" -Display only the base of each file name. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils/ar.1 binutils-2.11.90.0.19/binutils/ar.1 --- binutils-2.11.90.0.15/binutils/ar.1 Sat Jun 9 00:19:01 2001 +++ binutils-2.11.90.0.19/binutils/ar.1 Wed Dec 31 16:00:00 1969 @@ -1,386 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:01 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 1" -.TH AR.1 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -ar \- create, modify, and extract from archives -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -ar [\-X32_64] [\-]\fIp\fR[\fImod\fR [\fIrelpos\fR] [\fIcount\fR]] \fIarchive\fR [\fImember\fR...] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \s-1GNU\s0 \f(CW\*(C`ar\*(C'\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 \f(CW\*(C`ar\*(C'\fR can maintain archives whose members have names of any -length; however, depending on how \f(CW\*(C`ar\*(C'\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 -\&\f(CW\*(C`ar\*(C'\fR is considered a binary utility because archives of this sort -are most often used as \fIlibraries\fR holding commonly needed -subroutines. -.PP -\&\f(CW\*(C`ar\*(C'\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 \f(CW\*(C`ar\*(C'\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 \f(CW\*(C`ar\*(C'\fR called -\&\f(CW\*(C`ranlib\*(C'\fR can be used to add just the table. -.PP -\&\s-1GNU\s0 \f(CW\*(C`ar\*(C'\fR is designed to be compatible with two different -facilities. You can control its activity using command-line options, -like the different varieties of \f(CW\*(C`ar\*(C'\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 ``librarian'' -program. -.SH "OPTIONS" -.IX Header "OPTIONS" -\&\s-1GNU\s0 \f(CW\*(C`ar\*(C'\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 "\f(CW\*(C`d\*(C'\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, \f(CW\*(C`ar\*(C'\fR lists each module -as it is deleted. -.Ip "\f(CW\*(C`m\*(C'\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 "\f(CW\*(C`p\*(C'\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 "\f(CW\*(C`q\*(C'\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 \f(CW\*(C`ar\*(C'\fR list each file as it is appended. -.Sp -Since the point of this operation is speed, the archive's symbol table -index is not updated, even if it already existed; you can use \fBar s\fR or -\&\f(CW\*(C`ranlib\*(C'\fR explicitly to update the symbol table index. -.Sp -However, too many different systems assume quick append rebuilds the -index, so \s-1GNU\s0 ar implements \f(CW\*(C`q\*(C'\fR as a synonym for \f(CW\*(C`r\*(C'\fR. -.Ip "\f(CW\*(C`r\*(C'\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, \f(CW\*(C`ar\*(C'\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 "\f(CW\*(C`t\*(C'\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 "\f(CW\*(C`x\*(C'\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 -\&\f(CW\*(C`ar\*(C'\fR list each name as it extracts it. -.Sp -If you do not specify a \fImember\fR, all files in the archive -are extracted. -.PP -A number of modifiers (\fImod\fR) may immediately follow the \fIp\fR -keyletter, to specify variations on an operation's behavior: -.Ip "\f(CW\*(C`a\*(C'\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 "\f(CW\*(C`b\*(C'\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 "\f(CW\*(C`c\*(C'\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 "\f(CW\*(C`f\*(C'\fR" 4 -.IX Item "f" -Truncate names in the archive. \s-1GNU\s0 \f(CW\*(C`ar\*(C'\fR will normally permit file -names of any length. This will cause it to create archives which are -not compatible with the native \f(CW\*(C`ar\*(C'\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 "\f(CW\*(C`i\*(C'\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 "\f(CW\*(C`l\*(C'\fR" 4 -.IX Item "l" -This modifier is accepted but not used. -.Ip "\f(CW\*(C`N\*(C'\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 "\f(CW\*(C`o\*(C'\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 "\f(CW\*(C`P\*(C'\fR" 4 -.IX Item "P" -Use the full path name when matching names in the archive. \s-1GNU\s0 -\&\f(CW\*(C`ar\*(C'\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 \f(CW\*(C`ar\*(C'\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 "\f(CW\*(C`s\*(C'\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 "\f(CW\*(C`S\*(C'\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 "\f(CW\*(C`u\*(C'\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 "\f(CW\*(C`v\*(C'\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 "\f(CW\*(C`V\*(C'\fR" 4 -.IX Item "V" -This modifier shows the version number of \f(CW\*(C`ar\*(C'\fR. -.PP -\&\f(CW\*(C`ar\*(C'\fR ignores an initial option spelt \f(CW\*(C`\-X32_64\*(C'\fR, for -compatibility with \s-1AIX\s0. The behaviour produced by this option is the -default for \s-1GNU\s0 \f(CW\*(C`ar\*(C'\fR. \f(CW\*(C`ar\*(C'\fR does not support any of the other -\&\f(CW\*(C`\-X\*(C'\fR options; in particular, it does not support \f(CW\*(C`\-X32\*(C'\fR -which is the default for \s-1AIX\s0 \f(CW\*(C`ar\*(C'\fR. -.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, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils/binutils.texi binutils-2.11.90.0.19/binutils/binutils.texi --- binutils-2.11.90.0.15/binutils/binutils.texi Fri Jun 1 21:47:17 2001 +++ binutils-2.11.90.0.19/binutils/binutils.texi Tue Jun 19 11:57:46 2001 @@ -1,3749 +0,0 @@ -\input texinfo @c -*- Texinfo -*- -@setfilename binutils.info -@c Copyright 2001 Free Software Foundation, Inc. - -@include config.texi - -@ifinfo -@format -START-INFO-DIR-ENTRY -* Binutils: (binutils). The GNU binary utilities. -* ar: (binutils)ar. Create, modify, and extract from archives -* 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 -* c++filt: (binutils)c++filt. Filter to demangle encoded C++ symbols -* cxxfilt: (binutils)c++filt. MS-DOS name for c++filt -* addr2line: (binutils)addr2line. Convert addresses to file and line -* nlmconv: (binutils)nlmconv. Converts object code into an NLM -* windres: (binutils)windres. Manipulate Windows resources -* dlltool: (binutils)dlltool. Create files needed to build and use DLLs -END-INFO-DIR-ENTRY -@end format -@end ifinfo - -@ifinfo -@c man begin COPYRIGHT -Copyright @copyright{} 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -@ignore -Permission is granted to process this file through TeX and print the -results, provided the printed document carries a copying permission -notice identical to this one except for the removal of this paragraph -(this paragraph not being relevant to the printed manual). - -@end ignore -@end ifinfo - -@synindex ky cp -@c -@c This file documents the GNU binary utilities "ar", "ld", "objcopy", -@c "objdump", "nm", "size", "strings", "strip", "readelf" and "ranlib". -@c -@c Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc. -@c -@c This text may be freely distributed under the terms of the GNU -@c Free Documentation License. -@c - -@setchapternewpage odd -@settitle @sc{gnu} Binary Utilities -@titlepage -@finalout -@title The @sc{gnu} Binary Utilities -@subtitle Version @value{VERSION} -@sp 1 -@subtitle May 1993 -@author Roland H. Pesch -@author Jeffrey M. Osier -@author Cygnus Support -@page - -@tex -{\parskip=0pt \hfill Cygnus Support\par \hfill -\TeX{}info \texinfoversion\par } -@end tex - -@vskip 0pt plus 1filll -Copyright @copyright{} 1991, 92, 93, 94, 95, 96, 97, 1998, 2000, 2001 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.1 - 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". - -@end titlepage - -@node Top -@top Introduction - -@cindex version -This brief manual contains preliminary documentation for the @sc{gnu} binary -utilities (collectively 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 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 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. 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 -* readelf:: Display the contents of ELF format files. -* 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 -* windres:: Manipulate Windows resources -* dlltool:: Create files needed to build and use DLLs -* Selecting The Target System:: How these utilities determine the target. -* Reporting Bugs:: Reporting Bugs -* GNU Free Documentation License:: GNU Free Documentation License -* Index:: 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 [-]@var{p}[@var{mod} [@var{relpos}] [@var{count}]] @var{archive} [@var{member}@dots{}] -ar -M [ }), and continues executing even after -errors. If you redirect standard input to a script file, no prompts are -issued, and @code{ar} abandons execution (with a nonzero exit code) -on any error. - -The @code{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} @code{ar} for developers who already have scripts -written for the MRI ``librarian'' program. - -The syntax for the @code{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 @code{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 @code{ar} scripts, or when using -@code{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, @code{ar} directs the -output to that file. - -@item END -Exit from @code{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} @code{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 @code{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 [ -a | --debug-syms ] [ -g | --extern-only ] - [ -B ] [ -C | --demangle[=@var{style}] ] [ -D | --dynamic ] - [ -s | --print-armap ] [ -A | -o | --print-file-name ] - [ -n | -v | --numeric-sort ] [ -p | --no-sort ] - [ -r | --reverse-sort ] [ --size-sort ] [ -u | --undefined-only ] - [ -t @var{radix} | --radix=@var{radix} ] [ -P | --portability ] - [ --target=@var{bfdname} ] [ -f @var{format} | --format=@var{format} ] - [ --defined-only ] [-l | --line-numbers ] [ --no-demangle ] - [ -V | --version ] [ -X 32_64 ] [ --help ] [ @var{objfile}@dots{} ] -@c man end -@end smallexample - -@c man begin DESCRIPTION nm -@sc{gnu} @code{nm} lists the symbols from object files @var{objfile}@dots{}. -If no object files are listed as arguments, @code{nm} assumes the file -@file{a.out}. - -For each symbol, @code{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 -local; if uppercase, the symbol is global (external). - -@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 -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 -The symbol is in the initialized data section. - -@item 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 -The symbol is an indirect reference to another symbol. This is a GNU -extension to the a.out object file format which is rarely used. - -@item N -The symbol is a debugging symbol. - -@item R -The symbol is in a read only data section. - -@item S -The symbol is in an uninitialized data section for small objects. - -@item T -The symbol is in the text (code) section. - -@item U -The symbol is undefined. - -@item 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. - -@item 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 weak symbol becomes zero with no error. - -@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; -for more information, see @ref{Top,Stabs,Stabs Overview,stabs.info, The -``stabs'' debug format}. - -@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 @code -@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 @code{nm} format -@cindex @code{nm} compatibility -The same as @samp{--format=bsd} (for compatibility with the MIPS @code{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 @code{nm} format -@cindex @code{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 -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 -s -@itemx --print-armap -@cindex symbol index, listing -When listing symbols from archive members, include the index: a mapping -(stored in the archive by @code{ar} or @code{ranlib}) of which modules -contain definitions for which names. - -@item -r -@itemx --reverse-sort -Reverse the order of the sort (whether numeric or alphabetic); let the -last come first. - -@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. The size of the symbol is printed, rather than the value. - -@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 --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 -u -@itemx --undefined-only -@cindex external symbols -@cindex undefined symbols -Display only undefined symbols (those external to each object file). - -@item --defined-only -@cindex external symbols -@cindex undefined symbols -Display only defined symbols for each object file. - -@item -V -@itemx --version -Show the version number of @code{nm} and exit. - -@item -X -This option is ignored for compatibility with the AIX version of -@code{nm}. It takes one parameter which must be the string -@code{32_64}. The default mode of AIX @code{nm} corresponds -to @code{-X 32}, which is not supported by @sc{gnu} @code{nm}. - -@item --help -Show a summary of the options to @code{nm} and exit. -@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 [ -F @var{bfdname} | --target=@var{bfdname} ] - [ -I @var{bfdname} | --input-target=@var{bfdname} ] - [ -O @var{bfdname} | --output-target=@var{bfdname} ] - [ -B @var{bfdarch} | --binary-architecture=@var{bfdarch} ] - [ -S | --strip-all ] [ -g | --strip-debug ] - [ -K @var{symbolname} | --keep-symbol=@var{symbolname} ] - [ -N @var{symbolname} | --strip-symbol=@var{symbolname} ] - [ -G @var{symbolname} | --keep-global-symbol=@var{symbolname}] - [ -L @var{symbolname} | --localize-symbol=@var{symbolname} ] - [ -W @var{symbolname} | --weaken-symbol=@var{symbolname} ] - [ -x | --discard-all ] [ -X | --discard-locals ] - [ -b @var{byte} | --byte=@var{byte} ] - [ -i @var{interleave} | --interleave=@var{interleave} ] - [ -j @var{sectionname} | --only-section=@var{sectionname} ] - [ -R @var{sectionname} | --remove-section=@var{sectionname} ] - [ -p | --preserve-dates ] [ --debugging ] - [ --gap-fill=@var{val} ] [ --pad-to=@var{address} ] - [ --set-start=@var{val} ] [ --adjust-start=@var{incr} ] - [ --change-addresses=@var{incr} ] - [ --change-section-address @var{section}@{=,+,-@}@var{val} ] - [ --change-section-lma @var{section}@{=,+,-@}@var{val} ] - [ --change-section-vma @var{section}@{=,+,-@}@var{val} ] - [ --change-warnings ] [ --no-change-warnings ] - [ --set-section-flags @var{section}=@var{flags} ] - [ --add-section @var{sectionname}=@var{filename} ] - [ --change-leading-char ] [ --remove-leading-char ] - [ --srec-len=@var{ival} ] [ --srec-forceS3 ] - [ --redefine-sym @var{old}=@var{new} ] [ --weaken ] - [ --keep-symbols=@var{filename} ] - [ --strip-symbols=@var{filename} ] - [ --keep-global-symbols=@var{filename} ] - [ --localize-symbols=@var{filename} ] - [ --weaken-symbols=@var{filename} ] - [ -v | --verbose ] [ -V | --version ] [ --help ] - @var{infile} [@var{outfile}] -@c man end -@end smallexample - -@c man begin DESCRIPTION objcopy -The @sc{gnu} @code{objcopy} utility copies the contents of an object -file to another. @code{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 @code{objcopy} is controlled by command-line options. -Note that @code{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. - -@code{objcopy} creates temporary files to do its translations and -deletes them afterward. @code{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}. - -@code{objcopy} can be used to generate S-records by using an output -target of @samp{srec} (e.g., use @samp{-O srec}). - -@code{objcopy} can be used to generate a raw binary file by using an -output target of @samp{binary} (e.g., use @samp{-O binary}). When -@code{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 @samp{-S} to remove sections containing debugging information. In -some cases @samp{-R} will be useful to remove sections which contain -information that is not needed by the binary file. - -Note - @code{objcopy} is not able to change the endianness of its input -files. If the input format has an endianness, (some formats do not), -@code{objcopy} can only copy the inputs into file formats that have the -same endianness or which have no endianness (eg @samp{srec}). - -@c man end - -@c man begin OPTIONS objcopy - -@table @code -@item @var{infile} -@itemx @var{outfile} -The input and output files, respectively. -If you do not specify @var{outfile}, @code{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 raw binary 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{sectionname} -@itemx --only-section=@var{sectionname} -Copy only the named section 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. - -@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. - -@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 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} -Copy only symbol @var{symbolname} from the source file. 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 -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 -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 -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} -Keep only every @var{byte}th byte of the input file (header data is not -affected). @var{byte} can be in the range from 0 to @var{interleave}-1, -where @var{interleave} is given by the @samp{-i} or @samp{--interleave} -option, or the default of 4. This option is useful for creating files -to program @sc{rom}. It is typically used with an @code{srec} output -target. - -@item -i @var{interleave} -@itemx --interleave=@var{interleave} -Only copy one out of every @var{interleave} bytes. Select which byte to -copy with the @var{-b} or @samp{--byte} option. The default is 4. -@code{objcopy} ignores this option if you do not specify either @samp{-b} or -@samp{--byte}. - -@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 --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 @samp{--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{section}@{=,+,-@}@var{val} -@itemx --adjust-section-vma @var{section}@{=,+,-@}@var{val} -@cindex changing section address -Set or change both the VMA address and the LMA address of the named -@var{section}. 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 @samp{--change-addresses}, -above. If @var{section} does not exist in the input file, a warning will -be issued, unless @samp{--no-change-warnings} is used. - -@item --change-section-lma @var{section}@{=,+,-@}@var{val} -@cindex changing section LMA -Set or change the LMA address of the named @var{section}. 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 @samp{--change-addresses}, -above. If @var{section} does not exist in the input file, a warning -will be issued, unless @samp{--no-change-warnings} is used. - -@item --change-section-vma @var{section}@{=,+,-@}@var{val} -@cindex changing section VMA -Set or change the VMA address of the named @var{section}. 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 -@samp{--change-addresses}, above. If @var{section} does not exist in -the input file, a warning will be issued, unless -@samp{--no-change-warnings} is used. - -@item --change-warnings -@itemx --adjust-warnings -If @samp{--change-section-address} or @samp{--change-section-lma} or -@samp{--change-section-vma} is used, and the named section does not -exist, issue a warning. This is the default. - -@item --no-change-warnings -@itemx --no-adjust-warnings -Do not issue a warning if @samp{--change-section-address} or -@samp{--adjust-section-lma} or @samp{--adjust-section-vma} is used, even -if the named section does not exist. - -@item --set-section-flags @var{section}=@var{flags} -Set the flags for the named section. 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 --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 @code{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 -@code{--change-leading-char} because it always changes the symbol name -when appropriate, regardless of the object file format of the output -file. - -@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 --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 @code{-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 @samp{--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 @samp{--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 --keep-global-symbols=@var{filename} -Apply @samp{--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 @samp{--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 --weaken-symbols=@var{filename} -Apply @samp{--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 -V -@itemx --version -Show the version number of @code{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 @code{objcopy}. -@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 [ -a | --archive-headers ] - [ -b @var{bfdname} | --target=@var{bfdname} ] - [ -C | --demangle[=@var{style}] ] - [ -d | --disassemble ] - [ -D | --disassemble-all ] - [ -z | --disassemble-zeroes ] - [ -EB | -EL | --endian=@{big | little @} ] - [ -f | --file-headers ] - [ --file-start-context ] - [ -g | --debugging ] - [ -h | --section-headers | --headers ] - [ -i | --info ] - [ -j @var{section} | --section=@var{section} ] - [ -l | --line-numbers ] - [ -S | --source ] - [ -m @var{machine} | --architecture=@var{machine} ] - [ -M @var{options} | --disassembler-options=@var{options}] - [ -p | --private-headers ] - [ -r | --reloc ] - [ -R | --dynamic-reloc ] - [ -s | --full-contents ] - [ -G | --stabs ] - [ -t | --syms ] - [ -T | --dynamic-syms ] - [ -x | --all-headers ] - [ -w | --wide ] - [ --start-address=@var{address} ] - [ --stop-address=@var{address} ] - [ --prefix-addresses] - [ --[no-]show-raw-insn ] - [ --adjust-vma=@var{offset} ] - [ -V | --version ] - [ -H | --help ] - @var{objfile}@dots{} -@c man end -@end smallexample - -@c man begin DESCRIPTION objdump - -@code{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, @code{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 -@samp{-a,-d,-D,-f,-g,-G,-h,-H,-p,-r,-R,-S,-t,-T,-V,-x} must be given. - -@table @code -@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 (@samp{-h}) of -@file{fu.o}, which is explicitly identified (@samp{-m}) as a VAX object -file in the format produced by Oasys compilers. You can list the -formats available with the @samp{-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 -@item --debugging -Display debugging information. This attempts to parse debugging -information stored in the file and print it out using a C like syntax. -Only certain types of debugging information have been implemented. - -@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 @samp{-d}, but disassemble the contents of all sections, not just -those expected to contain instructions. - -@item --prefix-addresses -When disassembling, print the complete address on each line. This is -the older disassembly format. - -@item --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. - -@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-header -@cindex object file header -Display summary information from the overall header of -each of the @var{objfile} files. - -@item --file-start-context -@cindex source code 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. - -@item -h -@itemx --section-header -@itemx --header -@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 @samp{-Ttext}, @samp{-Tdata}, or @samp{-Tbss} options to -@code{ld}. However, some object file formats, such as a.out, do not -store the starting address of the file segments. In those situations, -although @code{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 --help -Print a summary of the options to @code{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 @samp{-b} or @samp{-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 @samp{-d}, @samp{-D}, or @samp{-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 @samp{-i} option. - -@item -M @var{options} -@itemx --disassembler-options=@var{options} -Pass target specific information to the disassembler. Only supported on -some targets. - -If the target is an ARM architecture then this switch can be used to -select which register name set is used during disassembler. Specifying -@samp{-M reg-name-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 -@samp{-M reg-names-apcs} will select the name set used by the ARM -Procedure Call Standard, whilst specifying @samp{-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 @samp{-M reg-names-atpcs} and @samp{-M reg-names-special-atpcs} which -use the ARM/Thumb Procedure Call Standard naming conventions. (Eiuther -with the normal register name sor 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 @samp{--disassembler-options=force-thumb}. This can be -useful when attempting to disassemble thumb code produced by other -compilers. - -@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 -r -@itemx --reloc -@cindex relocation entries, in object file -Print the relocation entries of the file. If used with @samp{-d} or -@samp{-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. - -@item -s -@itemx --full-contents -@cindex sections, full contents -@cindex object file sections -Display the full contents of any sections requested. - -@item -S -@itemx --source -@cindex source disassembly -@cindex disassembly, with source -Display source code intermixed with disassembly, if possible. Implies -@samp{-d}. - -@item --show-raw-insn -When disassembling instructions, print the instruction in hex as well as -in symbolic form. This is the default except when -@code{--prefix-addresses} is used. - -@item --no-show-raw-insn -When disassembling instructions, do not print the instruction bytes. -This is the default when @code{--prefix-addresses} is used. - -@item -G -@item --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 @samp{--syms} -output. -@ifclear man -For more information on stabs symbols, see @ref{Top,Stabs,Stabs -Overview,stabs.info, The ``stabs'' debug format}. -@end ifclear - -@item --start-address=@var{address} -@cindex start-address -Start displaying data at the specified address. This affects the output -of the @code{-d}, @code{-r} and @code{-s} options. - -@item --stop-address=@var{address} -@cindex stop-address -Stop displaying data at the specified address. This affects the output -of the @code{-d}, @code{-r} and @code{-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. - -@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 @samp{-D} (@samp{--dynamic}) option. - -@item --version -Print the version number of @code{objdump} and exit. - -@item -x -@itemx --all-header -@cindex all header information, object file -@cindex header information, all -Display all available header information, including the symbol table and -relocation entries. Using @samp{-x} is equivalent to specifying all of -@samp{-a -f -h -r -t}. - -@item -w -@itemx --wide -@cindex wide output, printing -Format some lines for output devices that have more than 80 columns. -@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 [-vV] @var{archive} -@c man end -@end smallexample - -@c man begin DESCRIPTION ranlib - -@code{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} @code{ranlib} program is another form of @sc{gnu} @code{ar}; running -@code{ranlib} is completely equivalent to executing @samp{ar -s}. -@xref{ar}. - -@c man end - -@c man begin OPTIONS ranlib - -@table @code -@item -v -@itemx -V -@itemx --version -Show the version number of @code{ranlib}. -@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 [ -A | -B | --format=@var{compatibility} ] - [ --help ] [ -d | -o | -x | --radix=@var{number} ] - [ --target=@var{bfdname} ] [ -V | --version ] - [ @var{objfile}@dots{} ] -@c man end -@end smallexample - -@c man begin DESCRIPTION size - -The @sc{gnu} @code{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 @code -@item -A -@itemx -B -@itemx --format=@var{compatibility} -@cindex @code{size} display format -Using one of these options, you can choose whether the output from @sc{gnu} -@code{size} resembles output from System V @code{size} (using @samp{-A}, -or @samp{--format=sysv}), or Berkeley @code{size} (using @samp{-B}, or -@samp{--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 -@code{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 @code{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 (@samp{-d}, or @samp{--radix=10}); octal -(@samp{-o}, or @samp{--radix=8}); or hexadecimal (@samp{-x}, or -@samp{--radix=16}). In @samp{--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 @samp{-d} or @samp{-x} output, or -octal and hexadecimal if you're using @samp{-o}. - -@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; @code{size} can -automatically recognize many formats. -@xref{Target Selection}, for more information. - -@item -V -@itemx --version -Display the version number of @code{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 [-afov] [-@var{min-len}] [-n @var{min-len}] [-t @var{radix}] [-] - [--all] [--print-file-name] [--bytes=@var{min-len}] - [--radix=@var{radix}] [--target=@var{bfdname}] - [--help] [--version] @var{file}@dots{} -@c man end -@end smallexample - -@c man begin DESCRIPTION strings - -For each @var{file} given, @sc{gnu} @code{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. - -@code{strings} is mainly useful for determining the contents of non-text -files. - -@c man end - -@c man begin OPTIONS strings - -@table @code -@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 @code{strings} have @samp{-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 --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 --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 [ -F @var{bfdname} | --target=@var{bfdname} ] - [ -I @var{bfdname} | --input-target=@var{bfdname} ] - [ -O @var{bfdname} | --output-target=@var{bfdname} ] - [ -s | --strip-all ] [ -S | -g | --strip-debug ] - [ -K @var{symbolname} | --keep-symbol=@var{symbolname} ] - [ -N @var{symbolname} | --strip-symbol=@var{symbolname} ] - [ -x | --discard-all ] [ -X | --discard-locals ] - [ -R @var{sectionname} | --remove-section=@var{sectionname} ] - [ -o @var{file} ] [ -p | --preserve-dates ] - [ -v | --verbose ] [ -V | --version ] [ --help ] - @var{objfile}@dots{} -@c man end -@end smallexample - -@c man begin DESCRIPTION strip - -@sc{gnu} @code{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. - -@code{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 @code -@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 @code{strip} and exit. - -@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. - -@item -s -@itemx --strip-all -Remove all symbols. - -@item -g -@itemx -S -@itemx --strip-debug -Remove debugging symbols only. - -@item --strip-unneeded -Remove all symbols that are not needed for relocation processing. - -@item -K @var{symbolname} -@itemx --keep-symbol=@var{symbolname} -Keep only symbol @var{symbolname} from the source file. 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 -@code{-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 -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 -V -@itemx --version -Show the version number for @code{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 [ -_ | --strip-underscores ] - [ -j | --java ] - [ -n | --no-strip-underscores ] - [ -s @var{format} | --format=@var{format} ] - [ --help ] [ --version ] [ @var{symbol}@dots{} ] -@c man end -@end smallexample - -@c man begin DESCRIPTION cxxfilt - -@kindex cxxfilt -The C++ and Java languages provides function overloading, which means -that you can write many functions with the same name (providing each -takes parameters of different types). All C++ and Java function names -are encoded into a low-level assembly label (this process is known as -@dfn{mangling}). The @code{c++filt} -@footnote{MS-DOS does not allow @kbd{+} characters in file names, so on -MS-DOS this program is named @code{cxxfilt}.} -program does the inverse mapping: it decodes (@dfn{demangles}) low-level -names into user-level names so that the linker can keep these overloaded -functions from clashing. - -Every alphanumeric word (consisting of letters, digits, underscores, -dollars, or periods) seen in the input is a potential label. If the -label decodes into a C++ name, the C++ name replaces the low-level -name in the output. - -You can use @code{c++filt} to decipher individual symbols: - -@example -c++filt @var{symbol} -@end example - -If no @var{symbol} arguments are given, @code{c++filt} reads symbol -names from the standard input and writes the demangled names to the -standard output. All results are printed on the standard output. - -@c man end - -@c man begin OPTIONS cxxfilt - -@table @code -@item -_ -@itemx --strip-underscores -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 -@code{c++filt} removes the underscore by default is target dependent. - -@item -j -@itemx --java -Prints demangled names using Java syntax. The default is to use C++ -syntax. - -@item -n -@itemx --no-strip-underscores -Do not remove the initial underscore. - -@item -s @var{format} -@itemx --format=@var{format} -@sc{gnu} @code{nm} can decode three different methods of mangling, used by -different C++ compilers. The argument to this option selects which -method it uses: - -@table @code -@item gnu -the one used by the @sc{gnu} compiler (the default method) -@item lucid -the one used by the Lucid compiler -@item arm -the one specified by the C++ Annotated Reference Manual -@item hp -the one used by the HP compiler -@item edg -the one used by the EDG compiler -@item gnu-new-abi -the one used by the @sc{gnu} compiler with the new ABI. -@end table - -@item --help -Print a summary of the options to @code{c++filt} and exit. - -@item --version -Print the version number of @code{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:} @code{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 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 [ -b @var{bfdname} | --target=@var{bfdname} ] - [ -C | --demangle[=@var{style} ] - [ -e @var{filename} | --exe=@var{filename} ] - [ -f | --functions ] [ -s | --basename ] - [ -H | --help ] [ -V | --version ] - [ addr addr ... ] -@c man end -@end smallexample - -@c man begin DESCRIPTION addr2line - -@code{addr2line} translates program addresses into file names and line -numbers. Given an address and an executable, it uses the debugging -information in the executable to figure out which file name and line -number are associated with a given address. - -The executable to use is specified with the @code{-e} option. The -default is the file @file{a.out}. - -@code{addr2line} has two modes of operation. - -In the first, hexadecimal addresses are specified on the command line, -and @code{addr2line} displays the file name and line number for each -address. - -In the second, @code{addr2line} reads hexadecimal addresses from -standard input, and prints the file name and line number for each -address on standard output. In this mode, @code{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 address is printed on a separate line. If the -@code{-f} option is used, then each @samp{FILENAME:LINENO} line is -preceded by a @samp{FUNCTIONNAME} line which is the name of the function -containing the address. - -If the file name or function name can not be determined, -@code{addr2line} will print two question marks in their place. If the -line number can not be determined, @code{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 @code -@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. -@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 - -@code{nlmconv} converts a relocatable object file into a NetWare -Loadable Module. - -@ignore -@code{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{ -@code{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:} @code{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 [ -I @var{bfdname} | --input-target=@var{bfdname} ] - [ -O @var{bfdname} | --output-target=@var{bfdname} ] - [ -T @var{headerfile} | --header-file=@var{headerfile} ] - [ -d | --debug] [ -l @var{linker} | --linker=@var{linker} ] - [ -h | --help ] [ -V | --version ] - @var{infile} @var{outfile} -@c man end -@end smallexample - -@c man begin DESCRIPTION nlmconv - -@code{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. -@code{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 - -@code{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, @code{nlmconv} calls the linker for you. - -@c man end - -@c man begin OPTIONS nlmconv - -@table @code -@item -I @var{bfdname} -@itemx --input-target=@var{bfdname} -Object format of the input file. @code{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. @code{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 @code{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 @code{nlmconv}. -@end table - -@c man end - -@ignore -@c man begin SEEALSO nlmconv -the Info entries for @file{binutils}. -@c man end -@end ignore - -@node windres -@chapter windres - -@code{windres} may be used to manipulate Windows resources. - -@quotation -@emph{Warning:} @code{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 - -@code{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 @code{windres} converts from the @code{rc} format to the @code{res} -format, it is acting like the Windows Resource Compiler. When -@code{windres} converts from the @code{res} format to the @code{coff} -format, it is acting like the Windows @code{CVTRES} program. - -When @code{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, @code{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, @code{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 @code{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 @code -@item -i @var{filename} -@itemx --input @var{filename} -The name of the input file. If this option is not used, then -@code{windres} will use the first non-option argument as the input file -name. If there are no non-option arguments, then @code{windres} will -read from standard input. @code{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 -@code{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 @code{windres} will write to standard output. -@code{windres} can not write a COFF file to standard output. - -@item -I @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, @code{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, -@code{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 @code{--help} option to see a list -of supported targets. Normally @code{windres} will use the default -format, which is the first one listed by the @code{--help} option. -@ref{Target Selection}. - -@item --preprocessor @var{program} -When @code{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 --include-dir @var{directory} -Specify an include directory to use when reading an @code{rc} file. -@code{windres} will pass this to the preprocessor as an @code{-I} -option. @code{windres} will also search this directory when looking for -files named in the @code{rc} file. - -@item -D @var{target} -@itemx --define @var{sym}[=@var{val}] -Specify a @code{-D} option to pass to the preprocessor when reading an -@code{rc} file. - -@item -v -Enable verbose mode. This tells you what the preprocessor is if you -didn't specify one. - -@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 --help -Prints a usage summary. - -@item --version -Prints the version number for @code{windres}. - -@item --yydebug -If @code{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 Create files needed to build and use DLLs -@cindex DLL -@kindex dlltool - -@code{dlltool} may be used to create the files needed to build and use -dynamic link libraries (DLLs). - -@quotation -@emph{Warning:} @code{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 [-d|--input-def @var{def-file-name}] - [-b|--base-file @var{base-file-name}] - [-e|--output-exp @var{exports-file-name}] - [-z|--output-def @var{def-file-name}] - [-l|--output-lib @var{library-file-name}] - [--export-all-symbols] [--no-export-all-symbols] - [--exclude-symbols @var{list}] - [--no-default-excludes] - [-S|--as @var{path-to-assembler}] [-f|--as-flags @var{options}] - [-D|--dllname @var{name}] [-m|--machine @var{machine}] - [-a|--add-indirect] [-U|--add-underscore] [-k|--kill-at] - [-A|--add-stdcall-alias] - [-x|--no-idata4] [-c|--no-idata5] [-i|--interwork] - [-n|--nodelete] [-v|--verbose] [-h|--help] [-V|--version] - [object-file @dots{}] -@c man end -@end smallexample - -@c man begin DESCRIPTION dlltool - -@code{dlltool} reads its inputs, which can come from the @samp{-d} and -@samp{-b} options as well as object files specified on the command -line. It then processes these inputs and if the @samp{-e} option has -been specified it creates a exports file. If the @samp{-l} option -has been specified it creates a library file and if the @samp{-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. @code{dlltool} can help with the creation of -these files. - -The first file is a @samp{.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 @code{dlltool} can be used -to create it using the @samp{-z} option. In this case @code{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 @samp{-export:} 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 @samp{-e} option to -@code{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. This file -can be created by giving the @samp{-l} option to dlltool when it -is creating or reading in a .def file. - -@code{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 @samp{-S} command line option can be -used to specify the path to the assembler that dlltool will use, -and the @samp{-f} option can be used to pass specific flags to that -assembler. The @samp{-n} can be used to prevent dlltool from deleting -these temporary assembler files when it is done, and if @samp{-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 - -@c man end - -@c man begin OPTIONS dlltool - -The command line options have the following meanings: - -@table @code - -@item -d @var{filename} -@itemx --input-def @var{filename} -@cindex input .def file -Specifies the name of a .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 .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 --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 @code{--no-default-excludes} -option. You may add to the list of symbols to not export by using the -@code{--exclude-symbols} option. - -@item --no-export-all-symbols -Only export symbols explicitly listed in an input .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 -@code{--export-all-symbols} is used. - -@item --no-default-excludes -When @code{--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 @code{--no-default-excludes} option -to go ahead and export these special symbols. This is only meaningful -when @code{--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{switches} -@itemx --as-flags @var{switches} -Specifies any specific command line switches to be passed to the -assembler when building the exports file. This option will work even if -the @samp{-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 switches 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 .def file as the name of the DLL -when the @samp{-e} option is used. If this option is not present, then -the filename given to the @samp{-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. @code{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 @code{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 @code{dlltool} is creating the exports file it -should prepend an underscore to the names of the exported functions. - -@item -k -@itemx --kill-at -Specifies that when @code{dlltool} is creating the exports file it -should not append the string @samp{@@ }. 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 @code{dlltool} is creating the exports file it -should add aliases for stdcall symbols without @samp{@@ } -in addition to the symbols with @samp{@@ }. - -@item -x -@itemx --no-idata4 -Specifies that when @code{dlltool} is creating the exports and library -files it should omit the .idata4 section. This is for compatibility -with certain operating systems. - -@item -c -@itemx --no-idata5 -Specifies that when @code{dlltool} is creating the exports and library -files it should omit the .idata5 section. This is for compatibility -with certain operating systems. - -@item -i -@itemx --interwork -Specifies that @code{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 @code{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 -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 - -@ignore -@c man begin SEEALSO dlltool -the Info entries 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 [ -a | --all ] - [ -h | --file-header] - [ -l | --program-headers | --segments] - [ -S | --section-headers | --sections] - [ -e | --headers] - [ -s | --syms | --symbols] - [ -n | --notes] - [ -r | --relocs] - [ -u | --unwind] - [ -d | --dynamic] - [ -V | --version-info] - [ -D | --use-dynamic] - [ -x | --hex-dump=] - [ -w[liaprf] | --debug-dump[=info,=line,=abbrev,=pubnames,=ranges,=frames]] - [ --histogram] - [ -v | --version] - [ -H | --help] - @var{elffile}@dots{} -@c man end -@end smallexample - -@c man begin DESCRIPTION readelf - -@code{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. At the -moment, @code{readelf} does not support examining archives, nor does it -support examing 64 bit ELF files. - -@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 @code -@item -a -@itemx --all -Equivalent to specifiying @samp{--file-header}, -@samp{--program-headers}, @samp{--sections}, @samp{--symbols}, -@samp{--relocs}, @samp{--dynamic}, @samp{--notes} and -@samp{--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 -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 -e -@itemx --headers -Display all the headers in the file. Equivalent to @samp{-h -l -S}. - -@item -n -@itemx --notes -@cindex ELF core notes -Displays the contents of the NOTE segment, if it exists. - -@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 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 informations -Displays the contents of the version sections in the file, it they -exist. - -@item -D -@itemx --use-dynamic -When displaying symbols, this option makes @code{readelf} use the -symbol table in the file's dynamic section, rather than the one in the -symbols section. - -@item -x -@itemx --hex-dump= -Displays the contents of the indicated section as a hexadecimal dump. - -@item -w[liaprf] -@itemx --debug-dump[=line,=info,=abbrev,=pubnames,=ranges,=frames] -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. - -@item --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 -H -@itemx --help -Display the command line options understood by @code{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 Selecting The Target System -@chapter Selecting the target system - -You can specify three aspects of the target system to the @sc{gnu} -binary file utilities, each in several ways: - -@itemize @bullet -@item -the target - -@item -the architecture - -@item -the linker emulation (which applies to the linker only) -@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 -@samp{--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:: -* Linker Emulation 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 @code{objdump} Target - -Ways to specify: - -@enumerate -@item -command line option: @samp{-b} or @samp{--target} - -@item -environment variable @code{GNUTARGET} - -@item -deduced from the input file -@end enumerate - -@subheading @code{objcopy} and @code{strip} Input Target - -Ways to specify: - -@enumerate -@item -command line options: @samp{-I} or @samp{--input-target}, or @samp{-F} or @samp{--target} - -@item -environment variable @code{GNUTARGET} - -@item -deduced from the input file -@end enumerate - -@subheading @code{objcopy} and @code{strip} Output Target - -Ways to specify: - -@enumerate -@item -command line options: @samp{-O} or @samp{--output-target}, or @samp{-F} or @samp{--target} - -@item -the input target (see ``@code{objcopy} and @code{strip} Input Target'' above) - -@item -environment variable @code{GNUTARGET} - -@item -deduced from the input file -@end enumerate - -@subheading @code{nm}, @code{size}, and @code{strings} Target - -Ways to specify: - -@enumerate -@item -command line option: @samp{--target} - -@item -environment variable @code{GNUTARGET} - -@item -deduced from the input file -@end enumerate - -@subheading Linker Input Target - -Ways to specify: - -@enumerate -@item -command line option: @samp{-b} or @samp{--format} -(@pxref{Options,,Options,ld.info,Using LD}) - -@item -script command @code{TARGET} -(@pxref{Option Commands,,Option Commands,ld.info,Using LD}) - -@item -environment variable @code{GNUTARGET} -(@pxref{Environment,,Environment,ld.info,Using LD}) - -@item -the default target of the selected linker emulation -(@pxref{Linker Emulation Selection}) -@end enumerate - -@subheading Linker Output Target - -Ways to specify: - -@enumerate -@item -command line option: @samp{-oformat} -(@pxref{Options,,Options,ld.info,Using LD}) - -@item -script command @code{OUTPUT_FORMAT} -(@pxref{Option Commands,,Option Commands,ld.info,Using LD}) - -@item -the linker input target (see ``Linker Input Target'' above) -@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 @code{objdump} Architecture - -Ways to specify: - -@enumerate -@item -command line option: @samp{-m} or @samp{--architecture} - -@item -deduced from the input file -@end enumerate - -@subheading @code{objcopy}, @code{nm}, @code{size}, @code{strings} Architecture - -Ways to specify: - -@enumerate -@item -deduced from the input file -@end enumerate - -@subheading Linker Input Architecture - -Ways to specify: - -@enumerate -@item -deduced from the input file -@end enumerate - -@subheading Linker Output Architecture - -Ways to specify: - -@enumerate -@item -script command @code{OUTPUT_ARCH} -(@pxref{Option Commands,,Option Commands,ld.info,Using LD}) - -@item -the default architecture from the linker output target -(@pxref{Target Selection}) -@end enumerate - -@node Linker Emulation Selection -@section Linker emulation selection - -A linker @dfn{emulation} is a ``personality'' of the linker, which gives -the linker default values for the other aspects of the target system. -In particular, it consists of - -@itemize @bullet -@item -the linker script - -@item -the target - -@item -several ``hook'' functions that are run at certain stages of the linking -process to do special things that some targets require -@end itemize - -The command to list valid linker emulation values is @samp{ld -V}. - -Sample values: @samp{hp300bsd}, @samp{mipslit}, @samp{sun4}. - -Ways to specify: - -@enumerate -@item -command line option: @samp{-m} -(@pxref{Options,,Options,ld.info,Using LD}) - -@item -environment variable @code{LDEMULATION} - -@item -compiled-in @code{DEFAULT_EMULATION} from @file{Makefile}, -which comes from @code{EMUL} in @file{config/@var{target}.mt} -@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. - -In any event, we also recommend that you send bug reports for the binary -utilities to @samp{bug-binutils@@gnu.org}. - -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?'' Those bug reports are useless, and we urge everyone to -@emph{refuse to respond to them} except to chide the sender to report -bugs properly. - -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 @samp{--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, uuencoded if -necessary to get them through the mail system. Note that -@samp{bug-binutils@@gnu.org} is a mailing list, so you should avoid -sending very large files to it. Making the files available for -anonymous FTP is OK. - -If the source files were produced exclusively using @sc{gnu} programs -(e.g., @code{gcc}, @code{gas}, and/or the @sc{gnu} @code{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 @code{gcc}, or -whatever, was used to produce the object files. Also say how -@code{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 synch, 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 @code{diff} with the @samp{-u}, @samp{-c}, or @samp{-p} -option. Always send diffs from the old file to the new file. If you -wish to discuss something in the @code{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 -@chapter GNU Free Documentation License -@cindex GNU Free Documentation License - - GNU Free Documentation License - - Version 1.1, March 2000 - - Copyright (C) 2000 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - 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 -written 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 that contains a -notice placed by the copyright holder saying it can be distributed -under the terms of this License. The "Document", below, refers to any -such manual or work. Any member of the public is a licensee, and is -addressed as "you". - -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. (For example, 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. - -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 "Transparent" copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, whose contents can be viewed and edited directly and -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 has been designed to thwart or discourage -subsequent modification by readers is not Transparent. 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 designed for human modification. Opaque formats include -PostScript, PDF, 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 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. - - -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 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 publicly-accessible computer-network location containing a complete -Transparent copy of the Document, free of added material, which the -general network-using public has access to download anonymously at no -charge using public-standard network protocols. 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 less than five). -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", and 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. In any section entitled "Acknowledgements" or "Dedications", - preserve the section's title, 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 as "Endorsements" - or to conflict in title with any Invariant Section. - -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. - -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, does not as a whole count as a Modified Version -of the Document, provided no compilation copyright is claimed for the -compilation. Such a compilation is called an "aggregate", and this -License does not apply to the other self-contained works thus compiled -with the Document, on account of their being thus compiled, if they -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 quarter -of the entire aggregate, the Document's Cover Texts may be placed on -covers that surround only the Document within the aggregate. -Otherwise they must appear on covers around 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 provided that you also include the -original English version of this License. In case of a disagreement -between the translation and the original English version of this -License, the original English version will prevail. - - -9. TERMINATION - -You may not copy, modify, sublicense, or distribute the Document except -as expressly provided for under this License. Any other attempt to -copy, modify, sublicense or distribute the Document is void, and will -automatically terminate your rights under this License. However, -parties who have received copies, or rights, from you under this -License will not have their licenses terminated so long as such -parties remain in full compliance. - - -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. - - -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 - 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.1 - or any later version published by the Free Software Foundation; - with the Invariant Sections being LIST THEIR TITLES, with the - Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. - A copy of the license is included in the section entitled "GNU - Free Documentation License". -@end smallexample - -If you have no Invariant Sections, write "with no Invariant Sections" -instead of saying which ones are invariant. If you have no -Front-Cover Texts, write "no Front-Cover Texts" instead of -"Front-Cover Texts being LIST"; likewise for Back-Cover Texts. - -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. - -@node Index -@unnumbered Index - -@printindex cp - -@contents -@bye diff -uprN binutils-2.11.90.0.15/binutils/configure binutils-2.11.90.0.19/binutils/configure --- binutils-2.11.90.0.15/binutils/configure Mon May 21 11:39:50 2001 +++ binutils-2.11.90.0.19/binutils/configure Tue Jun 19 11:57:46 2001 @@ -5701,7 +5701,7 @@ done ac_given_srcdir=$srcdir ac_given_INSTALL="$INSTALL" -trap 'rm -fr `echo "Makefile po/Makefile.in:po/Make-in config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 +trap 'rm -fr `echo "Makefile doc/Makefile po/Makefile.in:po/Make-in config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then diff -uprN binutils-2.11.90.0.15/binutils/configure.in binutils-2.11.90.0.19/binutils/configure.in --- binutils-2.11.90.0.15/binutils/configure.in Tue Feb 27 10:48:47 2001 +++ binutils-2.11.90.0.19/binutils/configure.in Tue Jun 19 11:57:46 2001 @@ -298,7 +298,7 @@ else fi AC_SUBST(UNDERSCORE) -AC_OUTPUT(Makefile po/Makefile.in:po/Make-in, +AC_OUTPUT(Makefile doc/Makefile po/Makefile.in:po/Make-in, [ case "x$CONFIG_FILES" in *) sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile ;; diff -uprN binutils-2.11.90.0.15/binutils/cxxfilt.man binutils-2.11.90.0.19/binutils/cxxfilt.man --- binutils-2.11.90.0.15/binutils/cxxfilt.man Sat Jun 9 00:19:06 2001 +++ binutils-2.11.90.0.19/binutils/cxxfilt.man Wed Dec 31 16:00:00 1969 @@ -1,249 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:06 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 "CXXFILT.MAN 1" -.TH CXXFILT.MAN 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -cxxfilt \- Demangle \*(C+ and Java symbols. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -c++filt [ \-_ | \-\-strip-underscores ] - [ \-j | \-\-java ] - [ \-n | \-\-no-strip-underscores ] - [ \-s \fIformat\fR | \-\-format=\fIformat\fR ] - [ \-\-help ] [ \-\-version ] [ \fIsymbol\fR... ] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \*(C+ and Java languages provides function overloading, which means -that you can write many functions with the same name (providing each -takes parameters of different types). All \*(C+ and Java function names -are encoded into a low-level assembly label (this process is known as -\&\fImangling\fR). The \f(CW\*(C`c++filt\*(C'\fR -[1] -program does the inverse mapping: it decodes (\fIdemangles\fR) low-level -names into user-level names so that the linker can keep these overloaded -functions from clashing. -.PP -Every alphanumeric word (consisting of letters, digits, underscores, -dollars, or periods) seen in the input is a potential label. If the -label decodes into a \*(C+ name, the \*(C+ name replaces the low-level -name in the output. -.PP -You can use \f(CW\*(C`c++filt\*(C'\fR to decipher individual symbols: -.PP -.Vb 1 -\& c++filt I -.Ve -If no \fIsymbol\fR arguments are given, \f(CW\*(C`c++filt\*(C'\fR reads symbol -names from the standard input and writes the demangled names to the -standard output. All results are printed on the standard output. -.SH "OPTIONS" -.IX Header "OPTIONS" -.Ip "\f(CW\*(C`\-_\*(C'\fR" 4 -.IX Item "-_" -.Ip "\f(CW\*(C`\-\-strip\-underscores\*(C'\fR" 4 -.IX Item "--strip-underscores" -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 -\&\f(CW\*(C`c++filt\*(C'\fR removes the underscore by default is target dependent. -.Ip "\f(CW\*(C`\-j\*(C'\fR" 4 -.IX Item "-j" -.Ip "\f(CW\*(C`\-\-java\*(C'\fR" 4 -.IX Item "--java" -Prints demangled names using Java syntax. The default is to use \*(C+ -syntax. -.Ip "\f(CW\*(C`\-n\*(C'\fR" 4 -.IX Item "-n" -.Ip "\f(CW\*(C`\-\-no\-strip\-underscores\*(C'\fR" 4 -.IX Item "--no-strip-underscores" -Do not remove the initial underscore. -.Ip "\f(CW\*(C`\-s \f(CIformat\f(CW\*(C'\fR" 4 -.IX Item "-s format" -.Ip "\f(CW\*(C`\-\-format=\f(CIformat\f(CW\*(C'\fR" 4 -.IX Item "--format=format" -\&\s-1GNU\s0 \f(CW\*(C`nm\*(C'\fR can decode three different methods of mangling, used by -different \*(C+ compilers. The argument to this option selects which -method it uses: -.RS 4 -.Ip "\f(CW\*(C`gnu\*(C'\fR" 4 -.IX Item "gnu" -the one used by the \s-1GNU\s0 compiler (the default method) -.Ip "\f(CW\*(C`lucid\*(C'\fR" 4 -.IX Item "lucid" -the one used by the Lucid compiler -.Ip "\f(CW\*(C`arm\*(C'\fR" 4 -.IX Item "arm" -the one specified by the \*(C+ Annotated Reference Manual -.Ip "\f(CW\*(C`hp\*(C'\fR" 4 -.IX Item "hp" -the one used by the \s-1HP\s0 compiler -.Ip "\f(CW\*(C`edg\*(C'\fR" 4 -.IX Item "edg" -the one used by the \s-1EDG\s0 compiler -.Ip "\f(CW\*(C`gnu\-new\-abi\*(C'\fR" 4 -.IX Item "gnu-new-abi" -the one used by the \s-1GNU\s0 compiler with the new \s-1ABI\s0. -.RE -.RS 4 -.RE -.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 -.IX Item "--help" -Print a summary of the options to \f(CW\*(C`c++filt\*(C'\fR and exit. -.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 -.IX Item "--version" -Print the version number of \f(CW\*(C`c++filt\*(C'\fR and exit. -.SH "FOOTNOTES" -.IX Header "FOOTNOTES" -.Ip "1." 4 -\&\s-1MS-DOS\s0 does not allow \f(CW\*(C`+\*(C'\fR characters in file names, so on -\&\s-1MS-DOS\s0 this program is named \f(CW\*(C`cxxfilt\*(C'\fR. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils/dlltool.1 binutils-2.11.90.0.19/binutils/dlltool.1 --- binutils-2.11.90.0.15/binutils/dlltool.1 Sat Jun 9 00:19:01 2001 +++ binutils-2.11.90.0.19/binutils/dlltool.1 Wed Dec 31 16:00:00 1969 @@ -1,402 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:01 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 1" -.TH DLLTOOL.1 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -dlltool \- Create files needed to build and use DLLs. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -dlltool [\-d|\-\-input-def \fIdef-file-name\fR] - [\-b|\-\-base-file \fIbase-file-name\fR] - [\-e|\-\-output-exp \fIexports-file-name\fR] - [\-z|\-\-output-def \fIdef-file-name\fR] - [\-l|\-\-output-lib \fIlibrary-file-name\fR] - [\-\-export-all-symbols] [\-\-no-export-all-symbols] - [\-\-exclude-symbols \fIlist\fR] - [\-\-no-default-excludes] - [\-S|\-\-as \fIpath-to-assembler\fR] [\-f|\-\-as-flags \fIoptions\fR] - [\-D|\-\-dllname \fIname\fR] [\-m|\-\-machine \fImachine\fR] - [\-a|\-\-add-indirect] [\-U|\-\-add-underscore] [\-k|\-\-kill-at] - [\-A|\-\-add-stdcall-alias] - [\-x|\-\-no-idata4] [\-c|\-\-no-idata5] [\-i|\-\-interwork] - [\-n|\-\-nodelete] [\-v|\-\-verbose] [\-h|\-\-help] [\-V|\-\-version] - [object-file ...] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\f(CW\*(C`dlltool\*(C'\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 \-e, \-l -and \-z 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. \f(CW\*(C`dlltool\*(C'\fR can help with the creation of -these files. -.PP -The first file is a \fB.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 \f(CW\*(C`dlltool\*(C'\fR can be used -to create it using the \fB\-z\fR option. In this case \f(CW\*(C`dlltool\*(C'\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 .def 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:\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""); -.Ve -.Vb 1 -\& int my_func (void) { ... } -.Ve -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 -\&\f(CW\*(C`dlltool\*(C'\fR when it is creating or reading in a .def 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. This file -can be created by giving the \fB\-l\fR option to dlltool when it -is creating or reading in a .def file. -.PP -\&\f(CW\*(C`dlltool\*(C'\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 -.SH "OPTIONS" -.IX Header "OPTIONS" -The command line options have the following meanings: -.Ip "\f(CW\*(C`\-d \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "-d filename" -.Ip "\f(CW\*(C`\-\-input\-def \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "--input-def filename" -Specifies the name of a .def file to be read in and processed. -.Ip "\f(CW\*(C`\-b \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "-b filename" -.Ip "\f(CW\*(C`\-\-base\-file \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "--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. -.Ip "\f(CW\*(C`\-e \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "-e filename" -.Ip "\f(CW\*(C`\-\-output\-exp \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "--output-exp filename" -Specifies the name of the export file to be created by dlltool. -.Ip "\f(CW\*(C`\-z \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "-z filename" -.Ip "\f(CW\*(C`\-\-output\-def \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "--output-def filename" -Specifies the name of the .def file to be created by dlltool. -.Ip "\f(CW\*(C`\-l \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "-l filename" -.Ip "\f(CW\*(C`\-\-output\-lib \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "--output-lib filename" -Specifies the name of the library file to be created by dlltool. -.Ip "\f(CW\*(C`\-\-export\-all\-symbols\*(C'\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 \f(CW\*(C`\-\-no\-default\-excludes\*(C'\fR -option. You may add to the list of symbols to not export by using the -\&\f(CW\*(C`\-\-exclude\-symbols\*(C'\fR option. -.Ip "\f(CW\*(C`\-\-no\-export\-all\-symbols\*(C'\fR" 4 -.IX Item "--no-export-all-symbols" -Only export symbols explicitly listed in an input .def 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 "\f(CW\*(C`\-\-exclude\-symbols \f(CIlist\f(CW\*(C'\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 -\&\f(CW\*(C`\-\-export\-all\-symbols\*(C'\fR is used. -.Ip "\f(CW\*(C`\-\-no\-default\-excludes\*(C'\fR" 4 -.IX Item "--no-default-excludes" -When \f(CW\*(C`\-\-export\-all\-symbols\*(C'\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 \f(CW\*(C`\-\-no\-default\-excludes\*(C'\fR option -to go ahead and export these special symbols. This is only meaningful -when \f(CW\*(C`\-\-export\-all\-symbols\*(C'\fR is used. -.Ip "\f(CW\*(C`\-S \f(CIpath\f(CW\*(C'\fR" 4 -.IX Item "-S path" -.Ip "\f(CW\*(C`\-\-as \f(CIpath\f(CW\*(C'\fR" 4 -.IX Item "--as path" -Specifies the path, including the filename, of the assembler to be used -to create the exports file. -.Ip "\f(CW\*(C`\-f \f(CIswitches\f(CW\*(C'\fR" 4 -.IX Item "-f switches" -.Ip "\f(CW\*(C`\-\-as\-flags \f(CIswitches\f(CW\*(C'\fR" 4 -.IX Item "--as-flags switches" -Specifies any specific command line switches 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 switches to the assembler they should be enclosed in -double quotes. -.Ip "\f(CW\*(C`\-D \f(CIname\f(CW\*(C'\fR" 4 -.IX Item "-D name" -.Ip "\f(CW\*(C`\-\-dll\-name \f(CIname\f(CW\*(C'\fR" 4 -.IX Item "--dll-name name" -Specifies the name to be stored in the .def 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 "\f(CW\*(C`\-m \f(CImachine\f(CW\*(C'\fR" 4 -.IX Item "-m machine" -.Ip "\f(CW\*(C`\-machine \f(CImachine\f(CW\*(C'\fR" 4 -.IX Item "-machine machine" -Specifies the type of machine for which the library file should be -built. \f(CW\*(C`dlltool\*(C'\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 \s-1THUMB\s0 instructions. -.Ip "\f(CW\*(C`\-a\*(C'\fR" 4 -.IX Item "-a" -.Ip "\f(CW\*(C`\-\-add\-indirect\*(C'\fR" 4 -.IX Item "--add-indirect" -Specifies that when \f(CW\*(C`dlltool\*(C'\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 "\f(CW\*(C`\-U\*(C'\fR" 4 -.IX Item "-U" -.Ip "\f(CW\*(C`\-\-add\-underscore\*(C'\fR" 4 -.IX Item "--add-underscore" -Specifies that when \f(CW\*(C`dlltool\*(C'\fR is creating the exports file it -should prepend an underscore to the names of the exported functions. -.Ip "\f(CW\*(C`\-k\*(C'\fR" 4 -.IX Item "-k" -.Ip "\f(CW\*(C`\-\-kill\-at\*(C'\fR" 4 -.IX Item "--kill-at" -Specifies that when \f(CW\*(C`dlltool\*(C'\fR is creating the exports file it -should not append the string \fB@ \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 "\f(CW\*(C`\-A\*(C'\fR" 4 -.IX Item "-A" -.Ip "\f(CW\*(C`\-\-add\-stdcall\-alias\*(C'\fR" 4 -.IX Item "--add-stdcall-alias" -Specifies that when \f(CW\*(C`dlltool\*(C'\fR is creating the exports file it -should add aliases for stdcall symbols without \fB@ \fR -in addition to the symbols with \fB@ \fR. -.Ip "\f(CW\*(C`\-x\*(C'\fR" 4 -.IX Item "-x" -.Ip "\f(CW\*(C`\-\-no\-idata4\*(C'\fR" 4 -.IX Item "--no-idata4" -Specifies that when \f(CW\*(C`dlltool\*(C'\fR is creating the exports and library -files it should omit the .idata4 section. This is for compatibility -with certain operating systems. -.Ip "\f(CW\*(C`\-c\*(C'\fR" 4 -.IX Item "-c" -.Ip "\f(CW\*(C`\-\-no\-idata5\*(C'\fR" 4 -.IX Item "--no-idata5" -Specifies that when \f(CW\*(C`dlltool\*(C'\fR is creating the exports and library -files it should omit the .idata5 section. This is for compatibility -with certain operating systems. -.Ip "\f(CW\*(C`\-i\*(C'\fR" 4 -.IX Item "-i" -.Ip "\f(CW\*(C`\-\-interwork\*(C'\fR" 4 -.IX Item "--interwork" -Specifies that \f(CW\*(C`dlltool\*(C'\fR should mark the objects in the library -file and exports file that it produces as supporting interworking -between \s-1ARM\s0 and \s-1THUMB\s0 code. -.Ip "\f(CW\*(C`\-n\*(C'\fR" 4 -.IX Item "-n" -.Ip "\f(CW\*(C`\-\-nodelete\*(C'\fR" 4 -.IX Item "--nodelete" -Makes \f(CW\*(C`dlltool\*(C'\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 "\f(CW\*(C`\-v\*(C'\fR" 4 -.IX Item "-v" -.Ip "\f(CW\*(C`\-\-verbose\*(C'\fR" 4 -.IX Item "--verbose" -Make dlltool describe what it is doing. -.Ip "\f(CW\*(C`\-h\*(C'\fR" 4 -.IX Item "-h" -.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 -.IX Item "--help" -Displays a list of command line options and then exits. -.Ip "\f(CW\*(C`\-V\*(C'\fR" 4 -.IX Item "-V" -.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 -.IX Item "--version" -Displays dlltool's version number and then exits. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils/doc/Makefile.am binutils-2.11.90.0.19/binutils/doc/Makefile.am --- binutils-2.11.90.0.15/binutils/doc/Makefile.am Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.19/binutils/doc/Makefile.am Tue Jun 19 11:57:57 2001 @@ -0,0 +1,166 @@ +## Process this file with automake to generate Makefile.in + +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 + +POD2MAN = pod2man --center="GNU" --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 \ + windres.1 \ + $(DEMANGLER_NAME).1 + +info_TEXINFOS = binutils.texi + +config.texi: Makefile + rm -f config.texi + echo '@set VERSION $(VERSION)' > config.texi + +binutils_TEXI = $(srcdir)/binutils.texi + +binutils.dvi: $(binutils_TEXI) config.texi + +binutils.info: $(binutils_TEXI) config.texi + +# Man page generation from texinfo +addr2line.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Daddr2line < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +ar.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dar < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +dlltool.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Ddlltool < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +nlmconv.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dnlmconv < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +nm.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dnm < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +objcopy.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dobjcopy < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +objdump.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dobjdump < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +ranlib.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dranlib < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +readelf.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dreadelf < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +size.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dsize < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +strings.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dstrings < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +strip.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dstrip < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +windres.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dwindres < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +cxxfilt.man: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dcxxfilt < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +MAINTAINERCLEANFILES = config.texi +DISTCLEANFILES = config.texi +MOSTLYCLEANFILES = $(DEMANGLER_NAME).1 + +$(DEMANGLER_NAME).1: cxxfilt.man Makefile + sed -e 's/@PROGRAM@/$(DEMANGLER_NAME)/' < cxxfilt.man \ + > $(DEMANGLER_NAME).1 + +# Maintenance + +# We need it for the taz target in ../../Makefile.in. +info: $(MANS) + +# Build the man page from the texinfo file +# The sed command removes the no-adjust Nroff command so that +# the man output looks standard. +as.1: $(srcdir)/as.texinfo + touch $@ + -$(TEXI2POD) $(MANCONF) < $(srcdir)/as.texinfo > as.pod + -($(POD2MAN) as.pod | \ + sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || \ + (rm -f $@.T$$$$ && exit 1) + rm -f as.pod diff -uprN binutils-2.11.90.0.15/binutils/doc/Makefile.in binutils-2.11.90.0.19/binutils/doc/Makefile.in --- binutils-2.11.90.0.15/binutils/doc/Makefile.in Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.19/binutils/doc/Makefile.in Tue Jun 19 11:57:57 2001 @@ -0,0 +1,561 @@ +# Makefile.in generated automatically by automake 1.4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 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. + + +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = .. + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_alias = @build_alias@ +build_triplet = @build@ +host_alias = @host_alias@ +host_triplet = @host@ +target_alias = @target_alias@ +target_triplet = @target@ +AR = @AR@ +AS = @AS@ +BUILD_DLLTOOL = @BUILD_DLLTOOL@ +BUILD_DLLWRAP = @BUILD_DLLWRAP@ +BUILD_MISC = @BUILD_MISC@ +BUILD_NLMCONV = @BUILD_NLMCONV@ +BUILD_SRCONV = @BUILD_SRCONV@ +BUILD_WINDRES = @BUILD_WINDRES@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CC_FOR_BUILD = @CC_FOR_BUILD@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +DATADIRNAME = @DATADIRNAME@ +DEMANGLER_NAME = @DEMANGLER_NAME@ +DLLTOOL = @DLLTOOL@ +DLLTOOL_DEFS = @DLLTOOL_DEFS@ +EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ +GCJ = @GCJ@ +GCJFLAGS = @GCJFLAGS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GT_NO = @GT_NO@ +GT_YES = @GT_YES@ +HDEFINES = @HDEFINES@ +INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ +INSTOBJEXT = @INSTOBJEXT@ +INTLDEPS = @INTLDEPS@ +INTLLIBS = @INTLLIBS@ +INTLOBJS = @INTLOBJS@ +LEX = @LEX@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +NLMCONV_DEFS = @NLMCONV_DEFS@ +OBJDUMP = @OBJDUMP@ +OBJDUMP_DEFS = @OBJDUMP_DEFS@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +POFILES = @POFILES@ +POSUB = @POSUB@ +RANLIB = @RANLIB@ +STRIP = @STRIP@ +UNDERSCORE = @UNDERSCORE@ +USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ +YACC = @YACC@ +l = @l@ + +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 + +POD2MAN = pod2man --center="GNU" --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 \ + windres.1 \ + $(DEMANGLER_NAME).1 + + +info_TEXINFOS = binutils.texi + +binutils_TEXI = $(srcdir)/binutils.texi + +MAINTAINERCLEANFILES = config.texi +DISTCLEANFILES = config.texi +MOSTLYCLEANFILES = $(DEMANGLER_NAME).1 +mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs +CONFIG_HEADER = ../config.h +CONFIG_CLEAN_FILES = +TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then echo $(top_srcdir)/../texinfo/util/texi2dvi; else echo texi2dvi; fi` +TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex +INFO_DEPS = binutils.info +DVIS = binutils.dvi +TEXINFOS = binutils.texi +man1dir = $(mandir)/man1 +MANS = $(man_MANS) + +NROFF = nroff +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = gtar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +.SUFFIXES: .dvi .info .ps .texi .texinfo .txi +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --cygnus doc/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +binutils.info: binutils.texi +binutils.dvi: binutils.texi + + +DVIPS = dvips + +.texi.info: + @rm -f $@ $@-[0-9] $@-[0-9][0-9] + $(MAKEINFO) -I $(srcdir) $< + +.texi.dvi: + TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \ + MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< + +.texi: + @rm -f $@ $@-[0-9] $@-[0-9][0-9] + $(MAKEINFO) -I $(srcdir) $< + +.texinfo.info: + @rm -f $@ $@-[0-9] $@-[0-9][0-9] + $(MAKEINFO) -I $(srcdir) $< + +.texinfo: + @rm -f $@ $@-[0-9] $@-[0-9][0-9] + $(MAKEINFO) -I $(srcdir) $< + +.texinfo.dvi: + TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \ + MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< + +.txi.info: + @rm -f $@ $@-[0-9] $@-[0-9][0-9] + $(MAKEINFO) -I $(srcdir) $< + +.txi.dvi: + TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \ + MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< + +.txi: + @rm -f $@ $@-[0-9] $@-[0-9][0-9] + $(MAKEINFO) -I $(srcdir) $< +.dvi.ps: + $(DVIPS) $< -o $@ + +install-info-am: $(INFO_DEPS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(infodir) + @list='$(INFO_DEPS)'; \ + for file in $$list; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \ + if test -f $$d/$$ifile; then \ + echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \ + $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \ + else : ; fi; \ + done; \ + done + @$(POST_INSTALL) + @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\ + install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\ + done; \ + else : ; fi + +uninstall-info: + $(PRE_UNINSTALL) + @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ + ii=yes; \ + else ii=; fi; \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + test -z "$ii" \ + || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \ + done + @$(NORMAL_UNINSTALL) + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \ + done + +dist-info: $(INFO_DEPS) + list='$(INFO_DEPS)'; \ + for base in $$list; do \ + if test -f $$base; then d=.; else d=$(srcdir); fi; \ + for file in `cd $$d && eval echo $$base*`; do \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file; \ + done; \ + done + +mostlyclean-aminfo: + -rm -f binutils.aux binutils.cp binutils.cps binutils.dvi binutils.fn \ + binutils.fns binutils.ky binutils.kys binutils.ps \ + binutils.log binutils.pg binutils.toc binutils.tp \ + binutils.tps binutils.vr binutils.vrs binutils.op binutils.tr \ + binutils.cv binutils.cn + +clean-aminfo: + +distclean-aminfo: + +maintainer-clean-aminfo: + for i in $(INFO_DEPS); do \ + rm -f $$i; \ + if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \ + rm -f $$i-[0-9]*; \ + fi; \ + done +clean-info: mostlyclean-aminfo + +install-man1: + $(mkinstalldirs) $(DESTDIR)$(man1dir) + @list='$(man1_MANS)'; \ + l2='$(man_MANS)'; for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ + done + +uninstall-man1: + @list='$(man1_MANS)'; \ + l2='$(man_MANS)'; for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ + rm -f $(DESTDIR)$(man1dir)/$$inst; \ + done +install-man: $(MANS) + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-man1 +uninstall-man: + @$(NORMAL_UNINSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-man1 +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = doc + +distdir: $(DISTFILES) + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info +info-am: $(INFO_DEPS) +info: info-am +dvi-am: $(DVIS) +dvi: dvi-am +check-am: +check: check-am +installcheck-am: +installcheck: installcheck-am +install-info-am: +install-info: install-info-am +install-exec-am: +install-exec: install-exec-am + +install-data-am: install-man +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-man +uninstall: uninstall-am +all-am: Makefile $(MANS) +all-redirect: all-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: + $(mkinstalldirs) $(DESTDIR)$(mandir)/man1 + + +mostlyclean-generic: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +mostlyclean-am: mostlyclean-aminfo mostlyclean-generic + +mostlyclean: mostlyclean-am + +clean-am: clean-aminfo clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-aminfo distclean-generic clean-am + -rm -f libtool + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-aminfo maintainer-clean-generic \ + distclean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-am + +.PHONY: install-info-am uninstall-info mostlyclean-aminfo \ +distclean-aminfo clean-aminfo maintainer-clean-aminfo install-man1 \ +uninstall-man1 install-man uninstall-man tags distdir info-am info \ +dvi-am dvi check check-am installcheck-am installcheck install-info-am \ +install-info install-exec-am install-exec install-data-am install-data \ +install-am install uninstall-am uninstall all-redirect all-am all \ +installdirs mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +config.texi: Makefile + rm -f config.texi + echo '@set VERSION $(VERSION)' > config.texi + +binutils.dvi: $(binutils_TEXI) config.texi + +binutils.info: $(binutils_TEXI) config.texi + +# Man page generation from texinfo +addr2line.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Daddr2line < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +ar.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dar < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +dlltool.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Ddlltool < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +nlmconv.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dnlmconv < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +nm.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dnm < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +objcopy.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dobjcopy < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +objdump.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dobjdump < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +ranlib.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dranlib < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +readelf.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dreadelf < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +size.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dsize < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +strings.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dstrings < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +strip.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dstrip < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +windres.1: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dwindres < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +cxxfilt.man: $(binutils_TEXI) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dcxxfilt < $< > $@.pod + -($(POD2MAN) $@.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f $@.pod + +$(DEMANGLER_NAME).1: cxxfilt.man Makefile + sed -e 's/@PROGRAM@/$(DEMANGLER_NAME)/' < cxxfilt.man \ + > $(DEMANGLER_NAME).1 + +# Maintenance + +# We need it for the taz target in ../../Makefile.in. +info: $(MANS) + +# Build the man page from the texinfo file +# The sed command removes the no-adjust Nroff command so that +# the man output looks standard. +as.1: $(srcdir)/as.texinfo + touch $@ + -$(TEXI2POD) $(MANCONF) < $(srcdir)/as.texinfo > as.pod + -($(POD2MAN) as.pod | \ + sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || \ + (rm -f $@.T$$$$ && exit 1) + rm -f as.pod + +# 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 -uprN binutils-2.11.90.0.15/binutils/doc/binutils.texi binutils-2.11.90.0.19/binutils/doc/binutils.texi --- binutils-2.11.90.0.15/binutils/doc/binutils.texi Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.19/binutils/doc/binutils.texi Tue Jun 19 11:57:57 2001 @@ -0,0 +1,3749 @@ +\input texinfo @c -*- Texinfo -*- +@setfilename binutils.info +@c Copyright 2001 Free Software Foundation, Inc. + +@include config.texi + +@ifinfo +@format +START-INFO-DIR-ENTRY +* Binutils: (binutils). The GNU binary utilities. +* ar: (binutils)ar. Create, modify, and extract from archives +* 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 +* c++filt: (binutils)c++filt. Filter to demangle encoded C++ symbols +* cxxfilt: (binutils)c++filt. MS-DOS name for c++filt +* addr2line: (binutils)addr2line. Convert addresses to file and line +* nlmconv: (binutils)nlmconv. Converts object code into an NLM +* windres: (binutils)windres. Manipulate Windows resources +* dlltool: (binutils)dlltool. Create files needed to build and use DLLs +END-INFO-DIR-ENTRY +@end format +@end ifinfo + +@ifinfo +@c man begin COPYRIGHT +Copyright @copyright{} 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 +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 +@ignore +Permission is granted to process this file through TeX and print the +results, provided the printed document carries a copying permission +notice identical to this one except for the removal of this paragraph +(this paragraph not being relevant to the printed manual). + +@end ignore +@end ifinfo + +@synindex ky cp +@c +@c This file documents the GNU binary utilities "ar", "ld", "objcopy", +@c "objdump", "nm", "size", "strings", "strip", "readelf" and "ranlib". +@c +@c Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc. +@c +@c This text may be freely distributed under the terms of the GNU +@c Free Documentation License. +@c + +@setchapternewpage odd +@settitle @sc{gnu} Binary Utilities +@titlepage +@finalout +@title The @sc{gnu} Binary Utilities +@subtitle Version @value{VERSION} +@sp 1 +@subtitle May 1993 +@author Roland H. Pesch +@author Jeffrey M. Osier +@author Cygnus Support +@page + +@tex +{\parskip=0pt \hfill Cygnus Support\par \hfill +\TeX{}info \texinfoversion\par } +@end tex + +@vskip 0pt plus 1filll +Copyright @copyright{} 1991, 92, 93, 94, 95, 96, 97, 1998, 2000, 2001 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.1 + 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". + +@end titlepage + +@node Top +@top Introduction + +@cindex version +This brief manual contains preliminary documentation for the @sc{gnu} binary +utilities (collectively 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 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 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. 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 +* readelf:: Display the contents of ELF format files. +* 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 +* windres:: Manipulate Windows resources +* dlltool:: Create files needed to build and use DLLs +* Selecting The Target System:: How these utilities determine the target. +* Reporting Bugs:: Reporting Bugs +* GNU Free Documentation License:: GNU Free Documentation License +* Index:: 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 [-]@var{p}[@var{mod} [@var{relpos}] [@var{count}]] @var{archive} [@var{member}@dots{}] +ar -M [ }), and continues executing even after +errors. If you redirect standard input to a script file, no prompts are +issued, and @code{ar} abandons execution (with a nonzero exit code) +on any error. + +The @code{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} @code{ar} for developers who already have scripts +written for the MRI ``librarian'' program. + +The syntax for the @code{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 @code{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 @code{ar} scripts, or when using +@code{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, @code{ar} directs the +output to that file. + +@item END +Exit from @code{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} @code{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 @code{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 [ -a | --debug-syms ] [ -g | --extern-only ] + [ -B ] [ -C | --demangle[=@var{style}] ] [ -D | --dynamic ] + [ -s | --print-armap ] [ -A | -o | --print-file-name ] + [ -n | -v | --numeric-sort ] [ -p | --no-sort ] + [ -r | --reverse-sort ] [ --size-sort ] [ -u | --undefined-only ] + [ -t @var{radix} | --radix=@var{radix} ] [ -P | --portability ] + [ --target=@var{bfdname} ] [ -f @var{format} | --format=@var{format} ] + [ --defined-only ] [-l | --line-numbers ] [ --no-demangle ] + [ -V | --version ] [ -X 32_64 ] [ --help ] [ @var{objfile}@dots{} ] +@c man end +@end smallexample + +@c man begin DESCRIPTION nm +@sc{gnu} @code{nm} lists the symbols from object files @var{objfile}@dots{}. +If no object files are listed as arguments, @code{nm} assumes the file +@file{a.out}. + +For each symbol, @code{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 +local; if uppercase, the symbol is global (external). + +@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 +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 +The symbol is in the initialized data section. + +@item 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 +The symbol is an indirect reference to another symbol. This is a GNU +extension to the a.out object file format which is rarely used. + +@item N +The symbol is a debugging symbol. + +@item R +The symbol is in a read only data section. + +@item S +The symbol is in an uninitialized data section for small objects. + +@item T +The symbol is in the text (code) section. + +@item U +The symbol is undefined. + +@item 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. + +@item 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 weak symbol becomes zero with no error. + +@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; +for more information, see @ref{Top,Stabs,Stabs Overview,stabs.info, The +``stabs'' debug format}. + +@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 @code +@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 @code{nm} format +@cindex @code{nm} compatibility +The same as @samp{--format=bsd} (for compatibility with the MIPS @code{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 @code{nm} format +@cindex @code{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 -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 -s +@itemx --print-armap +@cindex symbol index, listing +When listing symbols from archive members, include the index: a mapping +(stored in the archive by @code{ar} or @code{ranlib}) of which modules +contain definitions for which names. + +@item -r +@itemx --reverse-sort +Reverse the order of the sort (whether numeric or alphabetic); let the +last come first. + +@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. The size of the symbol is printed, rather than the value. + +@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 --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 -u +@itemx --undefined-only +@cindex external symbols +@cindex undefined symbols +Display only undefined symbols (those external to each object file). + +@item --defined-only +@cindex external symbols +@cindex undefined symbols +Display only defined symbols for each object file. + +@item -V +@itemx --version +Show the version number of @code{nm} and exit. + +@item -X +This option is ignored for compatibility with the AIX version of +@code{nm}. It takes one parameter which must be the string +@code{32_64}. The default mode of AIX @code{nm} corresponds +to @code{-X 32}, which is not supported by @sc{gnu} @code{nm}. + +@item --help +Show a summary of the options to @code{nm} and exit. +@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 [ -F @var{bfdname} | --target=@var{bfdname} ] + [ -I @var{bfdname} | --input-target=@var{bfdname} ] + [ -O @var{bfdname} | --output-target=@var{bfdname} ] + [ -B @var{bfdarch} | --binary-architecture=@var{bfdarch} ] + [ -S | --strip-all ] [ -g | --strip-debug ] + [ -K @var{symbolname} | --keep-symbol=@var{symbolname} ] + [ -N @var{symbolname} | --strip-symbol=@var{symbolname} ] + [ -G @var{symbolname} | --keep-global-symbol=@var{symbolname}] + [ -L @var{symbolname} | --localize-symbol=@var{symbolname} ] + [ -W @var{symbolname} | --weaken-symbol=@var{symbolname} ] + [ -x | --discard-all ] [ -X | --discard-locals ] + [ -b @var{byte} | --byte=@var{byte} ] + [ -i @var{interleave} | --interleave=@var{interleave} ] + [ -j @var{sectionname} | --only-section=@var{sectionname} ] + [ -R @var{sectionname} | --remove-section=@var{sectionname} ] + [ -p | --preserve-dates ] [ --debugging ] + [ --gap-fill=@var{val} ] [ --pad-to=@var{address} ] + [ --set-start=@var{val} ] [ --adjust-start=@var{incr} ] + [ --change-addresses=@var{incr} ] + [ --change-section-address @var{section}@{=,+,-@}@var{val} ] + [ --change-section-lma @var{section}@{=,+,-@}@var{val} ] + [ --change-section-vma @var{section}@{=,+,-@}@var{val} ] + [ --change-warnings ] [ --no-change-warnings ] + [ --set-section-flags @var{section}=@var{flags} ] + [ --add-section @var{sectionname}=@var{filename} ] + [ --change-leading-char ] [ --remove-leading-char ] + [ --srec-len=@var{ival} ] [ --srec-forceS3 ] + [ --redefine-sym @var{old}=@var{new} ] [ --weaken ] + [ --keep-symbols=@var{filename} ] + [ --strip-symbols=@var{filename} ] + [ --keep-global-symbols=@var{filename} ] + [ --localize-symbols=@var{filename} ] + [ --weaken-symbols=@var{filename} ] + [ -v | --verbose ] [ -V | --version ] [ --help ] + @var{infile} [@var{outfile}] +@c man end +@end smallexample + +@c man begin DESCRIPTION objcopy +The @sc{gnu} @code{objcopy} utility copies the contents of an object +file to another. @code{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 @code{objcopy} is controlled by command-line options. +Note that @code{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. + +@code{objcopy} creates temporary files to do its translations and +deletes them afterward. @code{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}. + +@code{objcopy} can be used to generate S-records by using an output +target of @samp{srec} (e.g., use @samp{-O srec}). + +@code{objcopy} can be used to generate a raw binary file by using an +output target of @samp{binary} (e.g., use @samp{-O binary}). When +@code{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 @samp{-S} to remove sections containing debugging information. In +some cases @samp{-R} will be useful to remove sections which contain +information that is not needed by the binary file. + +Note - @code{objcopy} is not able to change the endianness of its input +files. If the input format has an endianness, (some formats do not), +@code{objcopy} can only copy the inputs into file formats that have the +same endianness or which have no endianness (eg @samp{srec}). + +@c man end + +@c man begin OPTIONS objcopy + +@table @code +@item @var{infile} +@itemx @var{outfile} +The input and output files, respectively. +If you do not specify @var{outfile}, @code{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 raw binary 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{sectionname} +@itemx --only-section=@var{sectionname} +Copy only the named section 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. + +@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. + +@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 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} +Copy only symbol @var{symbolname} from the source file. 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 -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 -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 -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} +Keep only every @var{byte}th byte of the input file (header data is not +affected). @var{byte} can be in the range from 0 to @var{interleave}-1, +where @var{interleave} is given by the @samp{-i} or @samp{--interleave} +option, or the default of 4. This option is useful for creating files +to program @sc{rom}. It is typically used with an @code{srec} output +target. + +@item -i @var{interleave} +@itemx --interleave=@var{interleave} +Only copy one out of every @var{interleave} bytes. Select which byte to +copy with the @var{-b} or @samp{--byte} option. The default is 4. +@code{objcopy} ignores this option if you do not specify either @samp{-b} or +@samp{--byte}. + +@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 --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 @samp{--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{section}@{=,+,-@}@var{val} +@itemx --adjust-section-vma @var{section}@{=,+,-@}@var{val} +@cindex changing section address +Set or change both the VMA address and the LMA address of the named +@var{section}. 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 @samp{--change-addresses}, +above. If @var{section} does not exist in the input file, a warning will +be issued, unless @samp{--no-change-warnings} is used. + +@item --change-section-lma @var{section}@{=,+,-@}@var{val} +@cindex changing section LMA +Set or change the LMA address of the named @var{section}. 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 @samp{--change-addresses}, +above. If @var{section} does not exist in the input file, a warning +will be issued, unless @samp{--no-change-warnings} is used. + +@item --change-section-vma @var{section}@{=,+,-@}@var{val} +@cindex changing section VMA +Set or change the VMA address of the named @var{section}. 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 +@samp{--change-addresses}, above. If @var{section} does not exist in +the input file, a warning will be issued, unless +@samp{--no-change-warnings} is used. + +@item --change-warnings +@itemx --adjust-warnings +If @samp{--change-section-address} or @samp{--change-section-lma} or +@samp{--change-section-vma} is used, and the named section does not +exist, issue a warning. This is the default. + +@item --no-change-warnings +@itemx --no-adjust-warnings +Do not issue a warning if @samp{--change-section-address} or +@samp{--adjust-section-lma} or @samp{--adjust-section-vma} is used, even +if the named section does not exist. + +@item --set-section-flags @var{section}=@var{flags} +Set the flags for the named section. 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 --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 @code{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 +@code{--change-leading-char} because it always changes the symbol name +when appropriate, regardless of the object file format of the output +file. + +@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 --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 @code{-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 @samp{--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 @samp{--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 --keep-global-symbols=@var{filename} +Apply @samp{--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 @samp{--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 --weaken-symbols=@var{filename} +Apply @samp{--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 -V +@itemx --version +Show the version number of @code{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 @code{objcopy}. +@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 [ -a | --archive-headers ] + [ -b @var{bfdname} | --target=@var{bfdname} ] + [ -C | --demangle[=@var{style}] ] + [ -d | --disassemble ] + [ -D | --disassemble-all ] + [ -z | --disassemble-zeroes ] + [ -EB | -EL | --endian=@{big | little @} ] + [ -f | --file-headers ] + [ --file-start-context ] + [ -g | --debugging ] + [ -h | --section-headers | --headers ] + [ -i | --info ] + [ -j @var{section} | --section=@var{section} ] + [ -l | --line-numbers ] + [ -S | --source ] + [ -m @var{machine} | --architecture=@var{machine} ] + [ -M @var{options} | --disassembler-options=@var{options}] + [ -p | --private-headers ] + [ -r | --reloc ] + [ -R | --dynamic-reloc ] + [ -s | --full-contents ] + [ -G | --stabs ] + [ -t | --syms ] + [ -T | --dynamic-syms ] + [ -x | --all-headers ] + [ -w | --wide ] + [ --start-address=@var{address} ] + [ --stop-address=@var{address} ] + [ --prefix-addresses] + [ --[no-]show-raw-insn ] + [ --adjust-vma=@var{offset} ] + [ -V | --version ] + [ -H | --help ] + @var{objfile}@dots{} +@c man end +@end smallexample + +@c man begin DESCRIPTION objdump + +@code{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, @code{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 +@samp{-a,-d,-D,-f,-g,-G,-h,-H,-p,-r,-R,-S,-t,-T,-V,-x} must be given. + +@table @code +@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 (@samp{-h}) of +@file{fu.o}, which is explicitly identified (@samp{-m}) as a VAX object +file in the format produced by Oasys compilers. You can list the +formats available with the @samp{-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 +@item --debugging +Display debugging information. This attempts to parse debugging +information stored in the file and print it out using a C like syntax. +Only certain types of debugging information have been implemented. + +@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 @samp{-d}, but disassemble the contents of all sections, not just +those expected to contain instructions. + +@item --prefix-addresses +When disassembling, print the complete address on each line. This is +the older disassembly format. + +@item --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. + +@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-header +@cindex object file header +Display summary information from the overall header of +each of the @var{objfile} files. + +@item --file-start-context +@cindex source code 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. + +@item -h +@itemx --section-header +@itemx --header +@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 @samp{-Ttext}, @samp{-Tdata}, or @samp{-Tbss} options to +@code{ld}. However, some object file formats, such as a.out, do not +store the starting address of the file segments. In those situations, +although @code{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 --help +Print a summary of the options to @code{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 @samp{-b} or @samp{-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 @samp{-d}, @samp{-D}, or @samp{-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 @samp{-i} option. + +@item -M @var{options} +@itemx --disassembler-options=@var{options} +Pass target specific information to the disassembler. Only supported on +some targets. + +If the target is an ARM architecture then this switch can be used to +select which register name set is used during disassembler. Specifying +@samp{-M reg-name-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 +@samp{-M reg-names-apcs} will select the name set used by the ARM +Procedure Call Standard, whilst specifying @samp{-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 @samp{-M reg-names-atpcs} and @samp{-M reg-names-special-atpcs} which +use the ARM/Thumb Procedure Call Standard naming conventions. (Eiuther +with the normal register name sor 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 @samp{--disassembler-options=force-thumb}. This can be +useful when attempting to disassemble thumb code produced by other +compilers. + +@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 -r +@itemx --reloc +@cindex relocation entries, in object file +Print the relocation entries of the file. If used with @samp{-d} or +@samp{-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. + +@item -s +@itemx --full-contents +@cindex sections, full contents +@cindex object file sections +Display the full contents of any sections requested. + +@item -S +@itemx --source +@cindex source disassembly +@cindex disassembly, with source +Display source code intermixed with disassembly, if possible. Implies +@samp{-d}. + +@item --show-raw-insn +When disassembling instructions, print the instruction in hex as well as +in symbolic form. This is the default except when +@code{--prefix-addresses} is used. + +@item --no-show-raw-insn +When disassembling instructions, do not print the instruction bytes. +This is the default when @code{--prefix-addresses} is used. + +@item -G +@item --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 @samp{--syms} +output. +@ifclear man +For more information on stabs symbols, see @ref{Top,Stabs,Stabs +Overview,stabs.info, The ``stabs'' debug format}. +@end ifclear + +@item --start-address=@var{address} +@cindex start-address +Start displaying data at the specified address. This affects the output +of the @code{-d}, @code{-r} and @code{-s} options. + +@item --stop-address=@var{address} +@cindex stop-address +Stop displaying data at the specified address. This affects the output +of the @code{-d}, @code{-r} and @code{-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. + +@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 @samp{-D} (@samp{--dynamic}) option. + +@item --version +Print the version number of @code{objdump} and exit. + +@item -x +@itemx --all-header +@cindex all header information, object file +@cindex header information, all +Display all available header information, including the symbol table and +relocation entries. Using @samp{-x} is equivalent to specifying all of +@samp{-a -f -h -r -t}. + +@item -w +@itemx --wide +@cindex wide output, printing +Format some lines for output devices that have more than 80 columns. +@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 [-vV] @var{archive} +@c man end +@end smallexample + +@c man begin DESCRIPTION ranlib + +@code{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} @code{ranlib} program is another form of @sc{gnu} @code{ar}; running +@code{ranlib} is completely equivalent to executing @samp{ar -s}. +@xref{ar}. + +@c man end + +@c man begin OPTIONS ranlib + +@table @code +@item -v +@itemx -V +@itemx --version +Show the version number of @code{ranlib}. +@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 [ -A | -B | --format=@var{compatibility} ] + [ --help ] [ -d | -o | -x | --radix=@var{number} ] + [ --target=@var{bfdname} ] [ -V | --version ] + [ @var{objfile}@dots{} ] +@c man end +@end smallexample + +@c man begin DESCRIPTION size + +The @sc{gnu} @code{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 @code +@item -A +@itemx -B +@itemx --format=@var{compatibility} +@cindex @code{size} display format +Using one of these options, you can choose whether the output from @sc{gnu} +@code{size} resembles output from System V @code{size} (using @samp{-A}, +or @samp{--format=sysv}), or Berkeley @code{size} (using @samp{-B}, or +@samp{--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 +@code{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 @code{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 (@samp{-d}, or @samp{--radix=10}); octal +(@samp{-o}, or @samp{--radix=8}); or hexadecimal (@samp{-x}, or +@samp{--radix=16}). In @samp{--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 @samp{-d} or @samp{-x} output, or +octal and hexadecimal if you're using @samp{-o}. + +@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; @code{size} can +automatically recognize many formats. +@xref{Target Selection}, for more information. + +@item -V +@itemx --version +Display the version number of @code{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 [-afov] [-@var{min-len}] [-n @var{min-len}] [-t @var{radix}] [-] + [--all] [--print-file-name] [--bytes=@var{min-len}] + [--radix=@var{radix}] [--target=@var{bfdname}] + [--help] [--version] @var{file}@dots{} +@c man end +@end smallexample + +@c man begin DESCRIPTION strings + +For each @var{file} given, @sc{gnu} @code{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. + +@code{strings} is mainly useful for determining the contents of non-text +files. + +@c man end + +@c man begin OPTIONS strings + +@table @code +@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 @code{strings} have @samp{-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 --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 --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 [ -F @var{bfdname} | --target=@var{bfdname} ] + [ -I @var{bfdname} | --input-target=@var{bfdname} ] + [ -O @var{bfdname} | --output-target=@var{bfdname} ] + [ -s | --strip-all ] [ -S | -g | --strip-debug ] + [ -K @var{symbolname} | --keep-symbol=@var{symbolname} ] + [ -N @var{symbolname} | --strip-symbol=@var{symbolname} ] + [ -x | --discard-all ] [ -X | --discard-locals ] + [ -R @var{sectionname} | --remove-section=@var{sectionname} ] + [ -o @var{file} ] [ -p | --preserve-dates ] + [ -v | --verbose ] [ -V | --version ] [ --help ] + @var{objfile}@dots{} +@c man end +@end smallexample + +@c man begin DESCRIPTION strip + +@sc{gnu} @code{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. + +@code{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 @code +@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 @code{strip} and exit. + +@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. + +@item -s +@itemx --strip-all +Remove all symbols. + +@item -g +@itemx -S +@itemx --strip-debug +Remove debugging symbols only. + +@item --strip-unneeded +Remove all symbols that are not needed for relocation processing. + +@item -K @var{symbolname} +@itemx --keep-symbol=@var{symbolname} +Keep only symbol @var{symbolname} from the source file. 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 +@code{-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 -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 -V +@itemx --version +Show the version number for @code{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 [ -_ | --strip-underscores ] + [ -j | --java ] + [ -n | --no-strip-underscores ] + [ -s @var{format} | --format=@var{format} ] + [ --help ] [ --version ] [ @var{symbol}@dots{} ] +@c man end +@end smallexample + +@c man begin DESCRIPTION cxxfilt + +@kindex cxxfilt +The C++ and Java languages provides function overloading, which means +that you can write many functions with the same name (providing each +takes parameters of different types). All C++ and Java function names +are encoded into a low-level assembly label (this process is known as +@dfn{mangling}). The @code{c++filt} +@footnote{MS-DOS does not allow @kbd{+} characters in file names, so on +MS-DOS this program is named @code{cxxfilt}.} +program does the inverse mapping: it decodes (@dfn{demangles}) low-level +names into user-level names so that the linker can keep these overloaded +functions from clashing. + +Every alphanumeric word (consisting of letters, digits, underscores, +dollars, or periods) seen in the input is a potential label. If the +label decodes into a C++ name, the C++ name replaces the low-level +name in the output. + +You can use @code{c++filt} to decipher individual symbols: + +@example +c++filt @var{symbol} +@end example + +If no @var{symbol} arguments are given, @code{c++filt} reads symbol +names from the standard input and writes the demangled names to the +standard output. All results are printed on the standard output. + +@c man end + +@c man begin OPTIONS cxxfilt + +@table @code +@item -_ +@itemx --strip-underscores +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 +@code{c++filt} removes the underscore by default is target dependent. + +@item -j +@itemx --java +Prints demangled names using Java syntax. The default is to use C++ +syntax. + +@item -n +@itemx --no-strip-underscores +Do not remove the initial underscore. + +@item -s @var{format} +@itemx --format=@var{format} +@sc{gnu} @code{nm} can decode three different methods of mangling, used by +different C++ compilers. The argument to this option selects which +method it uses: + +@table @code +@item gnu +the one used by the @sc{gnu} compiler (the default method) +@item lucid +the one used by the Lucid compiler +@item arm +the one specified by the C++ Annotated Reference Manual +@item hp +the one used by the HP compiler +@item edg +the one used by the EDG compiler +@item gnu-new-abi +the one used by the @sc{gnu} compiler with the new ABI. +@end table + +@item --help +Print a summary of the options to @code{c++filt} and exit. + +@item --version +Print the version number of @code{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:} @code{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 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 [ -b @var{bfdname} | --target=@var{bfdname} ] + [ -C | --demangle[=@var{style} ] + [ -e @var{filename} | --exe=@var{filename} ] + [ -f | --functions ] [ -s | --basename ] + [ -H | --help ] [ -V | --version ] + [ addr addr ... ] +@c man end +@end smallexample + +@c man begin DESCRIPTION addr2line + +@code{addr2line} translates program addresses into file names and line +numbers. Given an address and an executable, it uses the debugging +information in the executable to figure out which file name and line +number are associated with a given address. + +The executable to use is specified with the @code{-e} option. The +default is the file @file{a.out}. + +@code{addr2line} has two modes of operation. + +In the first, hexadecimal addresses are specified on the command line, +and @code{addr2line} displays the file name and line number for each +address. + +In the second, @code{addr2line} reads hexadecimal addresses from +standard input, and prints the file name and line number for each +address on standard output. In this mode, @code{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 address is printed on a separate line. If the +@code{-f} option is used, then each @samp{FILENAME:LINENO} line is +preceded by a @samp{FUNCTIONNAME} line which is the name of the function +containing the address. + +If the file name or function name can not be determined, +@code{addr2line} will print two question marks in their place. If the +line number can not be determined, @code{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 @code +@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. +@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 + +@code{nlmconv} converts a relocatable object file into a NetWare +Loadable Module. + +@ignore +@code{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{ +@code{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:} @code{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 [ -I @var{bfdname} | --input-target=@var{bfdname} ] + [ -O @var{bfdname} | --output-target=@var{bfdname} ] + [ -T @var{headerfile} | --header-file=@var{headerfile} ] + [ -d | --debug] [ -l @var{linker} | --linker=@var{linker} ] + [ -h | --help ] [ -V | --version ] + @var{infile} @var{outfile} +@c man end +@end smallexample + +@c man begin DESCRIPTION nlmconv + +@code{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. +@code{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 + +@code{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, @code{nlmconv} calls the linker for you. + +@c man end + +@c man begin OPTIONS nlmconv + +@table @code +@item -I @var{bfdname} +@itemx --input-target=@var{bfdname} +Object format of the input file. @code{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. @code{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 @code{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 @code{nlmconv}. +@end table + +@c man end + +@ignore +@c man begin SEEALSO nlmconv +the Info entries for @file{binutils}. +@c man end +@end ignore + +@node windres +@chapter windres + +@code{windres} may be used to manipulate Windows resources. + +@quotation +@emph{Warning:} @code{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 + +@code{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 @code{windres} converts from the @code{rc} format to the @code{res} +format, it is acting like the Windows Resource Compiler. When +@code{windres} converts from the @code{res} format to the @code{coff} +format, it is acting like the Windows @code{CVTRES} program. + +When @code{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, @code{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, @code{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 @code{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 @code +@item -i @var{filename} +@itemx --input @var{filename} +The name of the input file. If this option is not used, then +@code{windres} will use the first non-option argument as the input file +name. If there are no non-option arguments, then @code{windres} will +read from standard input. @code{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 +@code{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 @code{windres} will write to standard output. +@code{windres} can not write a COFF file to standard output. + +@item -I @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, @code{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, +@code{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 @code{--help} option to see a list +of supported targets. Normally @code{windres} will use the default +format, which is the first one listed by the @code{--help} option. +@ref{Target Selection}. + +@item --preprocessor @var{program} +When @code{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 --include-dir @var{directory} +Specify an include directory to use when reading an @code{rc} file. +@code{windres} will pass this to the preprocessor as an @code{-I} +option. @code{windres} will also search this directory when looking for +files named in the @code{rc} file. + +@item -D @var{target} +@itemx --define @var{sym}[=@var{val}] +Specify a @code{-D} option to pass to the preprocessor when reading an +@code{rc} file. + +@item -v +Enable verbose mode. This tells you what the preprocessor is if you +didn't specify one. + +@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 --help +Prints a usage summary. + +@item --version +Prints the version number for @code{windres}. + +@item --yydebug +If @code{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 Create files needed to build and use DLLs +@cindex DLL +@kindex dlltool + +@code{dlltool} may be used to create the files needed to build and use +dynamic link libraries (DLLs). + +@quotation +@emph{Warning:} @code{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 [-d|--input-def @var{def-file-name}] + [-b|--base-file @var{base-file-name}] + [-e|--output-exp @var{exports-file-name}] + [-z|--output-def @var{def-file-name}] + [-l|--output-lib @var{library-file-name}] + [--export-all-symbols] [--no-export-all-symbols] + [--exclude-symbols @var{list}] + [--no-default-excludes] + [-S|--as @var{path-to-assembler}] [-f|--as-flags @var{options}] + [-D|--dllname @var{name}] [-m|--machine @var{machine}] + [-a|--add-indirect] [-U|--add-underscore] [-k|--kill-at] + [-A|--add-stdcall-alias] + [-x|--no-idata4] [-c|--no-idata5] [-i|--interwork] + [-n|--nodelete] [-v|--verbose] [-h|--help] [-V|--version] + [object-file @dots{}] +@c man end +@end smallexample + +@c man begin DESCRIPTION dlltool + +@code{dlltool} reads its inputs, which can come from the @samp{-d} and +@samp{-b} options as well as object files specified on the command +line. It then processes these inputs and if the @samp{-e} option has +been specified it creates a exports file. If the @samp{-l} option +has been specified it creates a library file and if the @samp{-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. @code{dlltool} can help with the creation of +these files. + +The first file is a @samp{.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 @code{dlltool} can be used +to create it using the @samp{-z} option. In this case @code{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 @samp{-export:} 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 @samp{-e} option to +@code{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. This file +can be created by giving the @samp{-l} option to dlltool when it +is creating or reading in a .def file. + +@code{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 @samp{-S} command line option can be +used to specify the path to the assembler that dlltool will use, +and the @samp{-f} option can be used to pass specific flags to that +assembler. The @samp{-n} can be used to prevent dlltool from deleting +these temporary assembler files when it is done, and if @samp{-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 + +@c man end + +@c man begin OPTIONS dlltool + +The command line options have the following meanings: + +@table @code + +@item -d @var{filename} +@itemx --input-def @var{filename} +@cindex input .def file +Specifies the name of a .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 .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 --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 @code{--no-default-excludes} +option. You may add to the list of symbols to not export by using the +@code{--exclude-symbols} option. + +@item --no-export-all-symbols +Only export symbols explicitly listed in an input .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 +@code{--export-all-symbols} is used. + +@item --no-default-excludes +When @code{--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 @code{--no-default-excludes} option +to go ahead and export these special symbols. This is only meaningful +when @code{--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{switches} +@itemx --as-flags @var{switches} +Specifies any specific command line switches to be passed to the +assembler when building the exports file. This option will work even if +the @samp{-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 switches 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 .def file as the name of the DLL +when the @samp{-e} option is used. If this option is not present, then +the filename given to the @samp{-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. @code{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 @code{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 @code{dlltool} is creating the exports file it +should prepend an underscore to the names of the exported functions. + +@item -k +@itemx --kill-at +Specifies that when @code{dlltool} is creating the exports file it +should not append the string @samp{@@ }. 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 @code{dlltool} is creating the exports file it +should add aliases for stdcall symbols without @samp{@@ } +in addition to the symbols with @samp{@@ }. + +@item -x +@itemx --no-idata4 +Specifies that when @code{dlltool} is creating the exports and library +files it should omit the .idata4 section. This is for compatibility +with certain operating systems. + +@item -c +@itemx --no-idata5 +Specifies that when @code{dlltool} is creating the exports and library +files it should omit the .idata5 section. This is for compatibility +with certain operating systems. + +@item -i +@itemx --interwork +Specifies that @code{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 @code{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 -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 + +@ignore +@c man begin SEEALSO dlltool +the Info entries 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 [ -a | --all ] + [ -h | --file-header] + [ -l | --program-headers | --segments] + [ -S | --section-headers | --sections] + [ -e | --headers] + [ -s | --syms | --symbols] + [ -n | --notes] + [ -r | --relocs] + [ -u | --unwind] + [ -d | --dynamic] + [ -V | --version-info] + [ -D | --use-dynamic] + [ -x | --hex-dump=] + [ -w[liaprf] | --debug-dump[=info,=line,=abbrev,=pubnames,=ranges,=frames]] + [ --histogram] + [ -v | --version] + [ -H | --help] + @var{elffile}@dots{} +@c man end +@end smallexample + +@c man begin DESCRIPTION readelf + +@code{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. At the +moment, @code{readelf} does not support examining archives, nor does it +support examing 64 bit ELF files. + +@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 @code +@item -a +@itemx --all +Equivalent to specifiying @samp{--file-header}, +@samp{--program-headers}, @samp{--sections}, @samp{--symbols}, +@samp{--relocs}, @samp{--dynamic}, @samp{--notes} and +@samp{--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 -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 -e +@itemx --headers +Display all the headers in the file. Equivalent to @samp{-h -l -S}. + +@item -n +@itemx --notes +@cindex ELF core notes +Displays the contents of the NOTE segment, if it exists. + +@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 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 informations +Displays the contents of the version sections in the file, it they +exist. + +@item -D +@itemx --use-dynamic +When displaying symbols, this option makes @code{readelf} use the +symbol table in the file's dynamic section, rather than the one in the +symbols section. + +@item -x +@itemx --hex-dump= +Displays the contents of the indicated section as a hexadecimal dump. + +@item -w[liaprf] +@itemx --debug-dump[=line,=info,=abbrev,=pubnames,=ranges,=frames] +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. + +@item --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 -H +@itemx --help +Display the command line options understood by @code{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 Selecting The Target System +@chapter Selecting the target system + +You can specify three aspects of the target system to the @sc{gnu} +binary file utilities, each in several ways: + +@itemize @bullet +@item +the target + +@item +the architecture + +@item +the linker emulation (which applies to the linker only) +@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 +@samp{--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:: +* Linker Emulation 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 @code{objdump} Target + +Ways to specify: + +@enumerate +@item +command line option: @samp{-b} or @samp{--target} + +@item +environment variable @code{GNUTARGET} + +@item +deduced from the input file +@end enumerate + +@subheading @code{objcopy} and @code{strip} Input Target + +Ways to specify: + +@enumerate +@item +command line options: @samp{-I} or @samp{--input-target}, or @samp{-F} or @samp{--target} + +@item +environment variable @code{GNUTARGET} + +@item +deduced from the input file +@end enumerate + +@subheading @code{objcopy} and @code{strip} Output Target + +Ways to specify: + +@enumerate +@item +command line options: @samp{-O} or @samp{--output-target}, or @samp{-F} or @samp{--target} + +@item +the input target (see ``@code{objcopy} and @code{strip} Input Target'' above) + +@item +environment variable @code{GNUTARGET} + +@item +deduced from the input file +@end enumerate + +@subheading @code{nm}, @code{size}, and @code{strings} Target + +Ways to specify: + +@enumerate +@item +command line option: @samp{--target} + +@item +environment variable @code{GNUTARGET} + +@item +deduced from the input file +@end enumerate + +@subheading Linker Input Target + +Ways to specify: + +@enumerate +@item +command line option: @samp{-b} or @samp{--format} +(@pxref{Options,,Options,ld.info,Using LD}) + +@item +script command @code{TARGET} +(@pxref{Option Commands,,Option Commands,ld.info,Using LD}) + +@item +environment variable @code{GNUTARGET} +(@pxref{Environment,,Environment,ld.info,Using LD}) + +@item +the default target of the selected linker emulation +(@pxref{Linker Emulation Selection}) +@end enumerate + +@subheading Linker Output Target + +Ways to specify: + +@enumerate +@item +command line option: @samp{-oformat} +(@pxref{Options,,Options,ld.info,Using LD}) + +@item +script command @code{OUTPUT_FORMAT} +(@pxref{Option Commands,,Option Commands,ld.info,Using LD}) + +@item +the linker input target (see ``Linker Input Target'' above) +@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 @code{objdump} Architecture + +Ways to specify: + +@enumerate +@item +command line option: @samp{-m} or @samp{--architecture} + +@item +deduced from the input file +@end enumerate + +@subheading @code{objcopy}, @code{nm}, @code{size}, @code{strings} Architecture + +Ways to specify: + +@enumerate +@item +deduced from the input file +@end enumerate + +@subheading Linker Input Architecture + +Ways to specify: + +@enumerate +@item +deduced from the input file +@end enumerate + +@subheading Linker Output Architecture + +Ways to specify: + +@enumerate +@item +script command @code{OUTPUT_ARCH} +(@pxref{Option Commands,,Option Commands,ld.info,Using LD}) + +@item +the default architecture from the linker output target +(@pxref{Target Selection}) +@end enumerate + +@node Linker Emulation Selection +@section Linker emulation selection + +A linker @dfn{emulation} is a ``personality'' of the linker, which gives +the linker default values for the other aspects of the target system. +In particular, it consists of + +@itemize @bullet +@item +the linker script + +@item +the target + +@item +several ``hook'' functions that are run at certain stages of the linking +process to do special things that some targets require +@end itemize + +The command to list valid linker emulation values is @samp{ld -V}. + +Sample values: @samp{hp300bsd}, @samp{mipslit}, @samp{sun4}. + +Ways to specify: + +@enumerate +@item +command line option: @samp{-m} +(@pxref{Options,,Options,ld.info,Using LD}) + +@item +environment variable @code{LDEMULATION} + +@item +compiled-in @code{DEFAULT_EMULATION} from @file{Makefile}, +which comes from @code{EMUL} in @file{config/@var{target}.mt} +@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. + +In any event, we also recommend that you send bug reports for the binary +utilities to @samp{bug-binutils@@gnu.org}. + +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?'' Those bug reports are useless, and we urge everyone to +@emph{refuse to respond to them} except to chide the sender to report +bugs properly. + +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 @samp{--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, uuencoded if +necessary to get them through the mail system. Note that +@samp{bug-binutils@@gnu.org} is a mailing list, so you should avoid +sending very large files to it. Making the files available for +anonymous FTP is OK. + +If the source files were produced exclusively using @sc{gnu} programs +(e.g., @code{gcc}, @code{gas}, and/or the @sc{gnu} @code{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 @code{gcc}, or +whatever, was used to produce the object files. Also say how +@code{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 synch, 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 @code{diff} with the @samp{-u}, @samp{-c}, or @samp{-p} +option. Always send diffs from the old file to the new file. If you +wish to discuss something in the @code{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 +@chapter GNU Free Documentation License +@cindex GNU Free Documentation License + + GNU Free Documentation License + + Version 1.1, March 2000 + + Copyright (C) 2000 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + 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 +written 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 that contains a +notice placed by the copyright holder saying it can be distributed +under the terms of this License. The "Document", below, refers to any +such manual or work. Any member of the public is a licensee, and is +addressed as "you". + +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. (For example, 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. + +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 "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, whose contents can be viewed and edited directly and +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 has been designed to thwart or discourage +subsequent modification by readers is not Transparent. 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 designed for human modification. Opaque formats include +PostScript, PDF, 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 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. + + +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 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 publicly-accessible computer-network location containing a complete +Transparent copy of the Document, free of added material, which the +general network-using public has access to download anonymously at no +charge using public-standard network protocols. 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 less than five). +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", and 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. In any section entitled "Acknowledgements" or "Dedications", + preserve the section's title, 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 as "Endorsements" + or to conflict in title with any Invariant Section. + +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. + +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, does not as a whole count as a Modified Version +of the Document, provided no compilation copyright is claimed for the +compilation. Such a compilation is called an "aggregate", and this +License does not apply to the other self-contained works thus compiled +with the Document, on account of their being thus compiled, if they +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 quarter +of the entire aggregate, the Document's Cover Texts may be placed on +covers that surround only the Document within the aggregate. +Otherwise they must appear on covers around 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 provided that you also include the +original English version of this License. In case of a disagreement +between the translation and the original English version of this +License, the original English version will prevail. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + + +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. + + +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 + 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.1 + or any later version published by the Free Software Foundation; + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + A copy of the license is included in the section entitled "GNU + Free Documentation License". +@end smallexample + +If you have no Invariant Sections, write "with no Invariant Sections" +instead of saying which ones are invariant. If you have no +Front-Cover Texts, write "no Front-Cover Texts" instead of +"Front-Cover Texts being LIST"; likewise for Back-Cover Texts. + +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. + +@node Index +@unnumbered Index + +@printindex cp + +@contents +@bye diff -uprN binutils-2.11.90.0.15/binutils/nlmconv.1 binutils-2.11.90.0.19/binutils/nlmconv.1 --- binutils-2.11.90.0.15/binutils/nlmconv.1 Sat Jun 9 00:19:02 2001 +++ binutils-2.11.90.0.19/binutils/nlmconv.1 Wed Dec 31 16:00:00 1969 @@ -1,225 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:02 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 1" -.TH NLMCONV.1 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -nlmconv \- converts object code into an \s-1NLM\s0. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -nlmconv [ \-I \fIbfdname\fR | \-\-input-target=\fIbfdname\fR ] - [ \-O \fIbfdname\fR | \-\-output-target=\fIbfdname\fR ] - [ \-T \fIheaderfile\fR | \-\-header-file=\fIheaderfile\fR ] - [ \-d | \-\-debug] [ \-l \fIlinker\fR | \-\-linker=\fIlinker\fR ] - [ \-h | \-\-help ] [ \-V | \-\-version ] - \fIinfile\fR \fIoutfile\fR -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\f(CW\*(C`nlmconv\*(C'\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 (``\s-1NLM\s0 \s-1SDK\s0''), available from Novell, Inc. -\&\f(CW\*(C`nlmconv\*(C'\fR uses the \s-1GNU\s0 Binary File Descriptor library to read -\&\fIinfile\fR; -.PP -\&\f(CW\*(C`nlmconv\*(C'\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, \f(CW\*(C`nlmconv\*(C'\fR calls the linker for you. -.SH "OPTIONS" -.IX Header "OPTIONS" -.Ip "\f(CW\*(C`\-I \f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "-I bfdname" -.Ip "\f(CW\*(C`\-\-input\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "--input-target=bfdname" -Object format of the input file. \f(CW\*(C`nlmconv\*(C'\fR can usually determine -the format of a given file (so no default is necessary). -.Ip "\f(CW\*(C`\-O \f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "-O bfdname" -.Ip "\f(CW\*(C`\-\-output\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "--output-target=bfdname" -Object format of the output file. \f(CW\*(C`nlmconv\*(C'\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 "\f(CW\*(C`\-T \f(CIheaderfile\f(CW\*(C'\fR" 4 -.IX Item "-T headerfile" -.Ip "\f(CW\*(C`\-\-header\-file=\f(CIheaderfile\f(CW\*(C'\fR" 4 -.IX Item "--header-file=headerfile" -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 "\f(CW\*(C`\-d\*(C'\fR" 4 -.IX Item "-d" -.Ip "\f(CW\*(C`\-\-debug\*(C'\fR" 4 -.IX Item "--debug" -Displays (on standard error) the linker command line used by \f(CW\*(C`nlmconv\*(C'\fR. -.Ip "\f(CW\*(C`\-l \f(CIlinker\f(CW\*(C'\fR" 4 -.IX Item "-l linker" -.Ip "\f(CW\*(C`\-\-linker=\f(CIlinker\f(CW\*(C'\fR" 4 -.IX Item "--linker=linker" -Use \fIlinker\fR for any linking. \fIlinker\fR can be an absolute or a -relative pathname. -.Ip "\f(CW\*(C`\-h\*(C'\fR" 4 -.IX Item "-h" -.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 -.IX Item "--help" -Prints a usage summary. -.Ip "\f(CW\*(C`\-V\*(C'\fR" 4 -.IX Item "-V" -.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 -.IX Item "--version" -Prints the version number for \f(CW\*(C`nlmconv\*(C'\fR. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils/nm.1 binutils-2.11.90.0.19/binutils/nm.1 --- binutils-2.11.90.0.15/binutils/nm.1 Sat Jun 9 00:19:02 2001 +++ binutils-2.11.90.0.19/binutils/nm.1 Wed Dec 31 16:00:00 1969 @@ -1,382 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:02 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 1" -.TH NM.1 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -nm \- list symbols from object files -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -nm [ \-a | \-\-debug-syms ] [ \-g | \-\-extern-only ] - [ \-B ] [ \-C | \-\-demangle[=\fIstyle\fR] ] [ \-D | \-\-dynamic ] - [ \-s | \-\-print-armap ] [ \-A | \-o | \-\-print-file-name ] - [ \-n | \-v | \-\-numeric-sort ] [ \-p | \-\-no-sort ] - [ \-r | \-\-reverse-sort ] [ \-\-size-sort ] [ \-u | \-\-undefined-only ] - [ \-t \fIradix\fR | \-\-radix=\fIradix\fR ] [ \-P | \-\-portability ] - [ \-\-target=\fIbfdname\fR ] [ \-f \fIformat\fR | \-\-format=\fIformat\fR ] - [ \-\-defined-only ] [\-l | \-\-line-numbers ] [ \-\-no-demangle ] - [ \-V | \-\-version ] [ \-X 32_64 ] [ \-\-help ] [ \fIobjfile\fR... ] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\s-1GNU\s0 \f(CW\*(C`nm\*(C'\fR lists the symbols from object files \fIobjfile\fR.... -If no object files are listed as arguments, \f(CW\*(C`nm\*(C'\fR assumes the file -\&\fIa.out\fR. -.PP -For each symbol, \f(CW\*(C`nm\*(C'\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 -local; if uppercase, the symbol is global (external). -.RS 4 -.Ip "\f(CW\*(C`A\*(C'\fR" 4 -.IX Item "A" -The symbol's value is absolute, and will not be changed by further -linking. -.Ip "\f(CW\*(C`B\*(C'\fR" 4 -.IX Item "B" -The symbol is in the uninitialized data section (known as \s-1BSS\s0). -.Ip "\f(CW\*(C`C\*(C'\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. -.Ip "\f(CW\*(C`D\*(C'\fR" 4 -.IX Item "D" -The symbol is in the initialized data section. -.Ip "\f(CW\*(C`G\*(C'\fR" 4 -.IX Item "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. -.Ip "\f(CW\*(C`I\*(C'\fR" 4 -.IX Item "I" -The symbol is an indirect reference to another symbol. This is a \s-1GNU\s0 -extension to the a.out object file format which is rarely used. -.Ip "\f(CW\*(C`N\*(C'\fR" 4 -.IX Item "N" -The symbol is a debugging symbol. -.Ip "\f(CW\*(C`R\*(C'\fR" 4 -.IX Item "R" -The symbol is in a read only data section. -.Ip "\f(CW\*(C`S\*(C'\fR" 4 -.IX Item "S" -The symbol is in an uninitialized data section for small objects. -.Ip "\f(CW\*(C`T\*(C'\fR" 4 -.IX Item "T" -The symbol is in the text (code) section. -.Ip "\f(CW\*(C`U\*(C'\fR" 4 -.IX Item "U" -The symbol is undefined. -.Ip "\f(CW\*(C`V\*(C'\fR" 4 -.IX Item "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. -.Ip "\f(CW\*(C`W\*(C'\fR" 4 -.IX Item "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 weak symbol becomes zero with no error. -.Ip "\f(CW\*(C`\-\*(C'\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; -for more information, see \f(CW@ref\fR{Top,Stabs,Stabs Overview,stabs.info, The -``stabs'' debug format}. -.Ip "\f(CW\*(C`?\*(C'\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 "\f(CW\*(C`\-A\*(C'\fR" 4 -.IX Item "-A" -.Ip "\f(CW\*(C`\-o\*(C'\fR" 4 -.IX Item "-o" -.Ip "\f(CW\*(C`\-\-print\-file\-name \*(C'\fR" 4 -.IX Item "--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. -.Ip "\f(CW\*(C`\-a\*(C'\fR" 4 -.IX Item "-a" -.Ip "\f(CW\*(C`\-\-debug\-syms \*(C'\fR" 4 -.IX Item "--debug-syms " -Display all symbols, even debugger-only symbols; normally these are not -listed. -.Ip "\f(CW\*(C`\-B\*(C'\fR" 4 -.IX Item "-B" -The same as \fB\*(--format=bsd\fR (for compatibility with the \s-1MIPS\s0 \f(CW\*(C`nm\*(C'\fR). -.Ip "\f(CW\*(C`\-C\*(C'\fR" 4 -.IX Item "-C" -.Ip "\f(CW\*(C`\-\-demangle[=\f(CIstyle\f(CW]\*(C'\fR" 4 -.IX Item "--demangle[=style]" -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 "\f(CW\*(C`\-\-no\-demangle\*(C'\fR" 4 -.IX Item "--no-demangle" -Do not demangle low-level symbol names. This is the default. -.Ip "\f(CW\*(C`\-D\*(C'\fR" 4 -.IX Item "-D" -.Ip "\f(CW\*(C`\-\-dynamic\*(C'\fR" 4 -.IX Item "--dynamic" -Display the dynamic symbols rather than the normal symbols. This is -only meaningful for dynamic objects, such as certain types of shared -libraries. -.Ip "\f(CW\*(C`\-f \f(CIformat\f(CW\*(C'\fR" 4 -.IX Item "-f format" -.Ip "\f(CW\*(C`\-\-format=\f(CIformat\f(CW\*(C'\fR" 4 -.IX Item "--format=format" -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 "\f(CW\*(C`\-g\*(C'\fR" 4 -.IX Item "-g" -.Ip "\f(CW\*(C`\-\-extern\-only \*(C'\fR" 4 -.IX Item "--extern-only " -Display only external symbols. -.Ip "\f(CW\*(C`\-l\*(C'\fR" 4 -.IX Item "-l" -.Ip "\f(CW\*(C`\-\-line\-numbers\*(C'\fR" 4 -.IX Item "--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. -.Ip "\f(CW\*(C`\-n\*(C'\fR" 4 -.IX Item "-n" -.Ip "\f(CW\*(C`\-v\*(C'\fR" 4 -.IX Item "-v" -.Ip "\f(CW\*(C`\-\-numeric\-sort \*(C'\fR" 4 -.IX Item "--numeric-sort " -Sort symbols numerically by their addresses, rather than alphabetically -by their names. -.Ip "\f(CW\*(C`\-p\*(C'\fR" 4 -.IX Item "-p" -.Ip "\f(CW\*(C`\-\-no\-sort \*(C'\fR" 4 -.IX Item "--no-sort " -Do not bother to sort the symbols in any order; print them in the order -encountered. -.Ip "\f(CW\*(C`\-P\*(C'\fR" 4 -.IX Item "-P" -.Ip "\f(CW\*(C`\-\-portability\*(C'\fR" 4 -.IX Item "--portability" -Use the \s-1POSIX\s0.2 standard output format instead of the default format. -Equivalent to \fB\-f posix\fR. -.Ip "\f(CW\*(C`\-s\*(C'\fR" 4 -.IX Item "-s" -.Ip "\f(CW\*(C`\-\-print\-armap\*(C'\fR" 4 -.IX Item "--print-armap" -When listing symbols from archive members, include the index: a mapping -(stored in the archive by \f(CW\*(C`ar\*(C'\fR or \f(CW\*(C`ranlib\*(C'\fR) of which modules -contain definitions for which names. -.Ip "\f(CW\*(C`\-r\*(C'\fR" 4 -.IX Item "-r" -.Ip "\f(CW\*(C`\-\-reverse\-sort \*(C'\fR" 4 -.IX Item "--reverse-sort " -Reverse the order of the sort (whether numeric or alphabetic); let the -last come first. -.Ip "\f(CW\*(C`\-\-size\-sort\*(C'\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. The size of the symbol is printed, rather than the value. -.Ip "\f(CW\*(C`\-t \f(CIradix\f(CW\*(C'\fR" 4 -.IX Item "-t radix" -.Ip "\f(CW\*(C`\-\-radix=\f(CIradix\f(CW\*(C'\fR" 4 -.IX Item "--radix=radix" -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 "\f(CW\*(C`\-\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "--target=bfdname" -Specify an object code format other than your system's default format. -.Ip "\f(CW\*(C`\-u\*(C'\fR" 4 -.IX Item "-u" -.Ip "\f(CW\*(C`\-\-undefined\-only \*(C'\fR" 4 -.IX Item "--undefined-only " -Display only undefined symbols (those external to each object file). -.Ip "\f(CW\*(C`\-\-defined\-only\*(C'\fR" 4 -.IX Item "--defined-only" -Display only defined symbols for each object file. -.Ip "\f(CW\*(C`\-V\*(C'\fR" 4 -.IX Item "-V" -.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 -.IX Item "--version" -Show the version number of \f(CW\*(C`nm\*(C'\fR and exit. -.Ip "\f(CW\*(C`\-X\*(C'\fR" 4 -.IX Item "-X" -This option is ignored for compatibility with the \s-1AIX\s0 version of -\&\f(CW\*(C`nm\*(C'\fR. It takes one parameter which must be the string -\&\f(CW\*(C`32_64\*(C'\fR. The default mode of \s-1AIX\s0 \f(CW\*(C`nm\*(C'\fR corresponds -to \f(CW\*(C`\-X 32\*(C'\fR, which is not supported by \s-1GNU\s0 \f(CW\*(C`nm\*(C'\fR. -.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 -.IX Item "--help" -Show a summary of the options to \f(CW\*(C`nm\*(C'\fR and exit. -.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, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils/objcopy.1 binutils-2.11.90.0.19/binutils/objcopy.1 --- binutils-2.11.90.0.15/binutils/objcopy.1 Sat Jun 9 00:19:03 2001 +++ binutils-2.11.90.0.19/binutils/objcopy.1 Wed Dec 31 16:00:00 1969 @@ -1,548 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:02 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 1" -.TH OBJCOPY.1 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -objcopy \- copy and translate object files -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -objcopy [ \-F \fIbfdname\fR | \-\-target=\fIbfdname\fR ] - [ \-I \fIbfdname\fR | \-\-input-target=\fIbfdname\fR ] - [ \-O \fIbfdname\fR | \-\-output-target=\fIbfdname\fR ] - [ \-B \fIbfdarch\fR | \-\-binary-architecture=\fIbfdarch\fR ] - [ \-S | \-\-strip-all ] [ \-g | \-\-strip-debug ] - [ \-K \fIsymbolname\fR | \-\-keep-symbol=\fIsymbolname\fR ] - [ \-N \fIsymbolname\fR | \-\-strip-symbol=\fIsymbolname\fR ] - [ \-G \fIsymbolname\fR | \-\-keep-global-symbol=\fIsymbolname\fR] - [ \-L \fIsymbolname\fR | \-\-localize-symbol=\fIsymbolname\fR ] - [ \-W \fIsymbolname\fR | \-\-weaken-symbol=\fIsymbolname\fR ] - [ \-x | \-\-discard-all ] [ \-X | \-\-discard-locals ] - [ \-b \fIbyte\fR | \-\-byte=\fIbyte\fR ] - [ \-i \fIinterleave\fR | \-\-interleave=\fIinterleave\fR ] - [ \-j \fIsectionname\fR | \-\-only-section=\fIsectionname\fR ] - [ \-R \fIsectionname\fR | \-\-remove-section=\fIsectionname\fR ] - [ \-p | \-\-preserve-dates ] [ \-\-debugging ] - [ \-\-gap-fill=\fIval\fR ] [ \-\-pad-to=\fIaddress\fR ] - [ \-\-set-start=\fIval\fR ] [ \-\-adjust-start=\fIincr\fR ] - [ \-\-change-addresses=\fIincr\fR ] - [ \-\-change-section-address \fIsection\fR{=,+,\-}\fIval\fR ] - [ \-\-change-section-lma \fIsection\fR{=,+,\-}\fIval\fR ] - [ \-\-change-section-vma \fIsection\fR{=,+,\-}\fIval\fR ] - [ \-\-change-warnings ] [ \-\-no-change-warnings ] - [ \-\-set-section-flags \fIsection\fR=\fIflags\fR ] - [ \-\-add-section \fIsectionname\fR=\fIfilename\fR ] - [ \-\-change-leading-char ] [ \-\-remove-leading-char ] - [ \-\-srec-len=\fIival\fR ] [ \-\-srec-forceS3 ] - [ \-\-redefine-sym \fIold\fR=\fInew\fR ] [ \-\-weaken ] - [ \-\-keep-symbols=\fIfilename\fR ] - [ \-\-strip-symbols=\fIfilename\fR ] - [ \-\-keep-global-symbols=\fIfilename\fR ] - [ \-\-localize-symbols=\fIfilename\fR ] - [ \-\-weaken-symbols=\fIfilename\fR ] - [ \-v | \-\-verbose ] [ \-V | \-\-version ] [ \-\-help ] - \fIinfile\fR [\fIoutfile\fR] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \s-1GNU\s0 \f(CW\*(C`objcopy\*(C'\fR utility copies the contents of an object -file to another. \f(CW\*(C`objcopy\*(C'\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 \f(CW\*(C`objcopy\*(C'\fR is controlled by command-line options. -Note that \f(CW\*(C`objcopy\*(C'\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 -\&\f(CW\*(C`objcopy\*(C'\fR creates temporary files to do its translations and -deletes them afterward. \f(CW\*(C`objcopy\*(C'\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 -\&\f(CW\*(C`objcopy\*(C'\fR can be used to generate S-records by using an output -target of \fBsrec\fR (e.g., use \fB\-O srec\fR). -.PP -\&\f(CW\*(C`objcopy\*(C'\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 -\&\f(CW\*(C`objcopy\*(C'\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 \- \f(CW\*(C`objcopy\*(C'\fR is not able to change the endianness of its input -files. If the input format has an endianness, (some formats do not), -\&\f(CW\*(C`objcopy\*(C'\fR can only copy the inputs into file formats that have the -same endianness or which have no endianness (eg \fBsrec\fR). -.SH "OPTIONS" -.IX Header "OPTIONS" -.Ip "\f(CW\*(C`\f(CIinfile\f(CW\*(C'\fR" 4 -.IX Item "infile" -.Ip "\f(CW\*(C`\f(CIoutfile\f(CW\*(C'\fR" 4 -.IX Item "outfile" -The input and output files, respectively. -If you do not specify \fIoutfile\fR, \f(CW\*(C`objcopy\*(C'\fR creates a -temporary file and destructively renames the result with -the name of \fIinfile\fR. -.Ip "\f(CW\*(C`\-I \f(CIbfdname\f(CW \*(C'\fR" 4 -.IX Item "-I bfdname " -.Ip "\f(CW\*(C`\-\-input\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "--input-target=bfdname" -Consider the source file's object format to be \fIbfdname\fR, rather than -attempting to deduce it. -.Ip "\f(CW\*(C`\-O \f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "-O bfdname" -.Ip "\f(CW\*(C`\-\-output\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "--output-target=bfdname" -Write the output file using the object format \fIbfdname\fR. -.Ip "\f(CW\*(C`\-F \f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "-F bfdname" -.Ip "\f(CW\*(C`\-\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "--target=bfdname" -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 "\f(CW\*(C`\-B \f(CIbfdarch\f(CW\*(C'\fR" 4 -.IX Item "-B bfdarch" -.Ip "\f(CW\*(C`\-\-binary\-architecture=\f(CIbfdarch\f(CW\*(C'\fR" 4 -.IX Item "--binary-architecture=bfdarch" -Useful when transforming a raw binary 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 "\f(CW\*(C`\-j \f(CIsectionname\f(CW\*(C'\fR" 4 -.IX Item "-j sectionname" -.Ip "\f(CW\*(C`\-\-only\-section=\f(CIsectionname\f(CW\*(C'\fR" 4 -.IX Item "--only-section=sectionname" -Copy only the named section 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. -.Ip "\f(CW\*(C`\-R \f(CIsectionname\f(CW\*(C'\fR" 4 -.IX Item "-R sectionname" -.Ip "\f(CW\*(C`\-\-remove\-section=\f(CIsectionname\f(CW\*(C'\fR" 4 -.IX Item "--remove-section=sectionname" -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. -.Ip "\f(CW\*(C`\-S\*(C'\fR" 4 -.IX Item "-S" -.Ip "\f(CW\*(C`\-\-strip\-all\*(C'\fR" 4 -.IX Item "--strip-all" -Do not copy relocation and symbol information from the source file. -.Ip "\f(CW\*(C`\-g\*(C'\fR" 4 -.IX Item "-g" -.Ip "\f(CW\*(C`\-\-strip\-debug\*(C'\fR" 4 -.IX Item "--strip-debug" -Do not copy debugging symbols from the source file. -.Ip "\f(CW\*(C`\-\-strip\-unneeded\*(C'\fR" 4 -.IX Item "--strip-unneeded" -Strip all symbols that are not needed for relocation processing. -.Ip "\f(CW\*(C`\-K \f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "-K symbolname" -.Ip "\f(CW\*(C`\-\-keep\-symbol=\f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "--keep-symbol=symbolname" -Copy only symbol \fIsymbolname\fR from the source file. This option may -be given more than once. -.Ip "\f(CW\*(C`\-N \f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "-N symbolname" -.Ip "\f(CW\*(C`\-\-strip\-symbol=\f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "--strip-symbol=symbolname" -Do not copy symbol \fIsymbolname\fR from the source file. This option -may be given more than once. -.Ip "\f(CW\*(C`\-G \f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "-G symbolname" -.Ip "\f(CW\*(C`\-\-keep\-global\-symbol=\f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "--keep-global-symbol=symbolname" -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 "\f(CW\*(C`\-L \f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "-L symbolname" -.Ip "\f(CW\*(C`\-\-localize\-symbol=\f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "--localize-symbol=symbolname" -Make symbol \fIsymbolname\fR local to the file, so that it is not -visible externally. This option may be given more than once. -.Ip "\f(CW\*(C`\-W \f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "-W symbolname" -.Ip "\f(CW\*(C`\-\-weaken\-symbol=\f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "--weaken-symbol=symbolname" -Make symbol \fIsymbolname\fR weak. This option may be given more than once. -.Ip "\f(CW\*(C`\-x\*(C'\fR" 4 -.IX Item "-x" -.Ip "\f(CW\*(C`\-\-discard\-all\*(C'\fR" 4 -.IX Item "--discard-all" -Do not copy non-global symbols from the source file. -.Ip "\f(CW\*(C`\-X\*(C'\fR" 4 -.IX Item "-X" -.Ip "\f(CW\*(C`\-\-discard\-locals\*(C'\fR" 4 -.IX Item "--discard-locals" -Do not copy compiler-generated local symbols. -(These usually start with \fBL\fR or \fB.\fR.) -.Ip "\f(CW\*(C`\-b \f(CIbyte\f(CW\*(C'\fR" 4 -.IX Item "-b byte" -.Ip "\f(CW\*(C`\-\-byte=\f(CIbyte\f(CW\*(C'\fR" 4 -.IX Item "--byte=byte" -Keep only every \fIbyte\fRth byte of the input file (header data is not -affected). \fIbyte\fR can be in the range from 0 to \fIinterleave\fR\-1, -where \fIinterleave\fR is given by the \fB\-i\fR or \fB\*(--interleave\fR -option, or the default of 4. 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. -.Ip "\f(CW\*(C`\-i \f(CIinterleave\f(CW\*(C'\fR" 4 -.IX Item "-i interleave" -.Ip "\f(CW\*(C`\-\-interleave=\f(CIinterleave\f(CW\*(C'\fR" 4 -.IX Item "--interleave=interleave" -Only copy one out of every \fIinterleave\fR bytes. Select which byte to -copy with the \fI\-b\fR or \fB\*(--byte\fR option. The default is 4. -\&\f(CW\*(C`objcopy\*(C'\fR ignores this option if you do not specify either \fB\-b\fR or -\&\fB\*(--byte\fR. -.Ip "\f(CW\*(C`\-p\*(C'\fR" 4 -.IX Item "-p" -.Ip "\f(CW\*(C`\-\-preserve\-dates\*(C'\fR" 4 -.IX Item "--preserve-dates" -Set the access and modification dates of the output file to be the same -as those of the input file. -.Ip "\f(CW\*(C`\-\-debugging\*(C'\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 "\f(CW\*(C`\-\-gap\-fill \f(CIval\f(CW\*(C'\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 "\f(CW\*(C`\-\-pad\-to \f(CIaddress\f(CW\*(C'\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 "\f(CW\*(C`\-\-set\-start \f(CIval\f(CW\*(C'\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 "\f(CW\*(C`\-\-change\-start \f(CIincr\f(CW\*(C'\fR" 4 -.IX Item "--change-start incr" -.Ip "\f(CW\*(C`\-\-adjust\-start \f(CIincr\f(CW\*(C'\fR" 4 -.IX Item "--adjust-start incr" -Change the start address by adding \fIincr\fR. Not all object file -formats support setting the start address. -.Ip "\f(CW\*(C`\-\-change\-addresses \f(CIincr\f(CW\*(C'\fR" 4 -.IX Item "--change-addresses incr" -.Ip "\f(CW\*(C`\-\-adjust\-vma \f(CIincr\f(CW\*(C'\fR" 4 -.IX Item "--adjust-vma incr" -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 "\f(CW\*(C`\-\-change\-section\-address \f(CIsection\f(CW{=,+,\-}\f(CIval\f(CW\*(C'\fR" 4 -.IX Item "--change-section-address section{=,+,-}val" -.Ip "\f(CW\*(C`\-\-adjust\-section\-vma \f(CIsection\f(CW{=,+,\-}\f(CIval\f(CW\*(C'\fR" 4 -.IX Item "--adjust-section-vma section{=,+,-}val" -Set or change both the \s-1VMA\s0 address and the \s-1LMA\s0 address of the named -\&\fIsection\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 \fIsection\fR does not exist in the input file, a warning will -be issued, unless \fB\*(--no-change-warnings\fR is used. -.Ip "\f(CW\*(C`\-\-change\-section\-lma \f(CIsection\f(CW{=,+,\-}\f(CIval\f(CW\*(C'\fR" 4 -.IX Item "--change-section-lma section{=,+,-}val" -Set or change the \s-1LMA\s0 address of the named \fIsection\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 \fIsection\fR does not exist in the input file, a warning -will be issued, unless \fB\*(--no-change-warnings\fR is used. -.Ip "\f(CW\*(C`\-\-change\-section\-vma \f(CIsection\f(CW{=,+,\-}\f(CIval\f(CW\*(C'\fR" 4 -.IX Item "--change-section-vma section{=,+,-}val" -Set or change the \s-1VMA\s0 address of the named \fIsection\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 \fIsection\fR does not exist in -the input file, a warning will be issued, unless -\&\fB\*(--no-change-warnings\fR is used. -.Ip "\f(CW\*(C`\-\-change\-warnings\*(C'\fR" 4 -.IX Item "--change-warnings" -.Ip "\f(CW\*(C`\-\-adjust\-warnings\*(C'\fR" 4 -.IX Item "--adjust-warnings" -If \fB\*(--change-section-address\fR or \fB\*(--change-section-lma\fR or -\&\fB\*(--change-section-vma\fR is used, and the named section does not -exist, issue a warning. This is the default. -.Ip "\f(CW\*(C`\-\-no\-change\-warnings\*(C'\fR" 4 -.IX Item "--no-change-warnings" -.Ip "\f(CW\*(C`\-\-no\-adjust\-warnings\*(C'\fR" 4 -.IX Item "--no-adjust-warnings" -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 named section does not exist. -.Ip "\f(CW\*(C`\-\-set\-section\-flags \f(CIsection\f(CW=\f(CIflags\f(CW\*(C'\fR" 4 -.IX Item "--set-section-flags section=flags" -Set the flags for the named section. 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 "\f(CW\*(C`\-\-add\-section \f(CIsectionname\f(CW=\f(CIfilename\f(CW\*(C'\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 "\f(CW\*(C`\-\-change\-leading\-char\*(C'\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 \f(CW\*(C`objcopy\*(C'\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 "\f(CW\*(C`\-\-remove\-leading\-char\*(C'\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 -\&\f(CW\*(C`\-\-change\-leading\-char\*(C'\fR because it always changes the symbol name -when appropriate, regardless of the object file format of the output -file. -.Ip "\f(CW\*(C`\-\-srec\-len=\f(CIival\f(CW\*(C'\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 "\f(CW\*(C`\-\-srec\-forceS3\*(C'\fR" 4 -.IX Item "--srec-forceS3" -Meaningful only for srec output. Avoid generation of S1/S2 records, -creating S3\-only record format. -.Ip "\f(CW\*(C`\-\-redefine\-sym \f(CIold\f(CW=\f(CInew\f(CW\*(C'\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 "\f(CW\*(C`\-\-weaken\*(C'\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 \f(CW\*(C`\-R\*(C'\fR option to the linker. This option is only effective when -using an object file format which supports weak symbols. -.Ip "\f(CW\*(C`\-\-keep\-symbols=\f(CIfilename\f(CW\*(C'\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 "\f(CW\*(C`\-\-strip\-symbols=\f(CIfilename\f(CW\*(C'\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 "\f(CW\*(C`\-\-keep\-global\-symbols=\f(CIfilename\f(CW\*(C'\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 "\f(CW\*(C`\-\-localize\-symbols=\f(CIfilename\f(CW\*(C'\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 "\f(CW\*(C`\-\-weaken\-symbols=\f(CIfilename\f(CW\*(C'\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 "\f(CW\*(C`\-V\*(C'\fR" 4 -.IX Item "-V" -.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 -.IX Item "--version" -Show the version number of \f(CW\*(C`objcopy\*(C'\fR. -.Ip "\f(CW\*(C`\-v\*(C'\fR" 4 -.IX Item "-v" -.Ip "\f(CW\*(C`\-\-verbose\*(C'\fR" 4 -.IX Item "--verbose" -Verbose output: list all object files modified. In the case of -archives, \fBobjcopy \-V\fR lists all members of the archive. -.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 -.IX Item "--help" -Show a summary of the options to \f(CW\*(C`objcopy\*(C'\fR. -.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, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils/objdump.1 binutils-2.11.90.0.19/binutils/objdump.1 --- binutils-2.11.90.0.15/binutils/objdump.1 Sat Jun 9 00:19:03 2001 +++ binutils-2.11.90.0.19/binutils/objdump.1 Wed Dec 31 16:00:00 1969 @@ -1,459 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:03 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 1" -.TH OBJDUMP.1 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -objdump \- display information from object files. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -objdump [ \-a | \-\-archive-headers ] - [ \-b \fIbfdname\fR | \-\-target=\fIbfdname\fR ] - [ \-C | \-\-demangle[=\fIstyle\fR] ] - [ \-d | \-\-disassemble ] - [ \-D | \-\-disassemble-all ] - [ \-z | \-\-disassemble-zeroes ] - [ \-EB | \-EL | \-\-endian={big | little } ] - [ \-f | \-\-file-headers ] - [ \-\-file-start-context ] - [ \-g | \-\-debugging ] - [ \-h | \-\-section-headers | \-\-headers ] - [ \-i | \-\-info ] - [ \-j \fIsection\fR | \-\-section=\fIsection\fR ] - [ \-l | \-\-line-numbers ] - [ \-S | \-\-source ] - [ \-m \fImachine\fR | \-\-architecture=\fImachine\fR ] - [ \-M \fIoptions\fR | \-\-disassembler-options=\fIoptions\fR] - [ \-p | \-\-private-headers ] - [ \-r | \-\-reloc ] - [ \-R | \-\-dynamic-reloc ] - [ \-s | \-\-full-contents ] - [ \-G | \-\-stabs ] - [ \-t | \-\-syms ] - [ \-T | \-\-dynamic-syms ] - [ \-x | \-\-all-headers ] - [ \-w | \-\-wide ] - [ \-\-start-address=\fIaddress\fR ] - [ \-\-stop-address=\fIaddress\fR ] - [ \-\-prefix-addresses] - [ \-\-[no-]show-raw-insn ] - [ \-\-adjust-vma=\fIoffset\fR ] - [ \-V | \-\-version ] - [ \-H | \-\-help ] - \fIobjfile\fR... -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\f(CW\*(C`objdump\*(C'\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, \f(CW\*(C`objdump\*(C'\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,\-f,\-g,\-G,\-h,\-H,\-p,\-r,\-R,\-S,\-t,\-T,\-V,\-x\fR must be given. -.Ip "\f(CW\*(C`\-a\*(C'\fR" 4 -.IX Item "-a" -.Ip "\f(CW\*(C`\-\-archive\-header\*(C'\fR" 4 -.IX Item "--archive-header" -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 "\f(CW\*(C`\-\-adjust\-vma=\f(CIoffset\f(CW\*(C'\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 "\f(CW\*(C`\-b \f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "-b bfdname" -.Ip "\f(CW\*(C`\-\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "--target=bfdname" -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 -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 "\f(CW\*(C`\-C\*(C'\fR" 4 -.IX Item "-C" -.Ip "\f(CW\*(C`\-\-demangle[=\f(CIstyle\f(CW]\*(C'\fR" 4 -.IX Item "--demangle[=style]" -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 "\f(CW\*(C`\-G\*(C'\fR" 4 -.IX Item "-G" -.Ip "\f(CW\*(C`\-\-debugging\*(C'\fR" 4 -.IX Item "--debugging" -Display debugging information. This attempts to parse debugging -information stored in the file and print it out using a C like syntax. -Only certain types of debugging information have been implemented. -.Ip "\f(CW\*(C`\-d\*(C'\fR" 4 -.IX Item "-d" -.Ip "\f(CW\*(C`\-\-disassemble\*(C'\fR" 4 -.IX Item "--disassemble" -Display the assembler mnemonics for the machine instructions from -\&\fIobjfile\fR. This option only disassembles those sections which are -expected to contain instructions. -.Ip "\f(CW\*(C`\-D\*(C'\fR" 4 -.IX Item "-D" -.Ip "\f(CW\*(C`\-\-disassemble\-all\*(C'\fR" 4 -.IX Item "--disassemble-all" -Like \fB\-d\fR, but disassemble the contents of all sections, not just -those expected to contain instructions. -.Ip "\f(CW\*(C`\-\-prefix\-addresses\*(C'\fR" 4 -.IX Item "--prefix-addresses" -When disassembling, print the complete address on each line. This is -the older disassembly format. -.Ip "\f(CW\*(C`\-\-disassemble\-zeroes\*(C'\fR" 4 -.IX Item "--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. -.Ip "\f(CW\*(C`\-EB\*(C'\fR" 4 -.IX Item "-EB" -.Ip "\f(CW\*(C`\-EL\*(C'\fR" 4 -.IX Item "-EL" -.Ip "\f(CW\*(C`\-\-endian={big|little}\*(C'\fR" 4 -.IX Item "--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. -.Ip "\f(CW\*(C`\-f\*(C'\fR" 4 -.IX Item "-f" -.Ip "\f(CW\*(C`\-\-file\-header\*(C'\fR" 4 -.IX Item "--file-header" -Display summary information from the overall header of -each of the \fIobjfile\fR files. -.Ip "\f(CW\*(C`\-\-file\-start\-context\*(C'\fR" 4 -.IX Item "--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. -.Ip "\f(CW\*(C`\-h\*(C'\fR" 4 -.IX Item "-h" -.Ip "\f(CW\*(C`\-\-section\-header\*(C'\fR" 4 -.IX Item "--section-header" -.Ip "\f(CW\*(C`\-\-header\*(C'\fR" 4 -.IX Item "--header" -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 -\&\f(CW\*(C`ld\*(C'\fR. However, some object file formats, such as a.out, do not -store the starting address of the file segments. In those situations, -although \f(CW\*(C`ld\*(C'\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 "\f(CW\*(C`\-\-help\*(C'\fR" 4 -.IX Item "--help" -Print a summary of the options to \f(CW\*(C`objdump\*(C'\fR and exit. -.Ip "\f(CW\*(C`\-i\*(C'\fR" 4 -.IX Item "-i" -.Ip "\f(CW\*(C`\-\-info\*(C'\fR" 4 -.IX Item "--info" -Display a list showing all architectures and object formats available -for specification with \fB\-b\fR or \fB\-m\fR. -.Ip "\f(CW\*(C`\-j \f(CIname\f(CW\*(C'\fR" 4 -.IX Item "-j name" -.Ip "\f(CW\*(C`\-\-section=\f(CIname\f(CW\*(C'\fR" 4 -.IX Item "--section=name" -Display information only for section \fIname\fR. -.Ip "\f(CW\*(C`\-l\*(C'\fR" 4 -.IX Item "-l" -.Ip "\f(CW\*(C`\-\-line\-numbers\*(C'\fR" 4 -.IX Item "--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 \fB\-d\fR, \fB\-D\fR, or \fB\-r\fR. -.Ip "\f(CW\*(C`\-m \f(CImachine\f(CW\*(C'\fR" 4 -.IX Item "-m machine" -.Ip "\f(CW\*(C`\-\-architecture=\f(CImachine\f(CW\*(C'\fR" 4 -.IX Item "--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 \fB\-i\fR option. -.Ip "\f(CW\*(C`\-M \f(CIoptions\f(CW\*(C'\fR" 4 -.IX Item "-M options" -.Ip "\f(CW\*(C`\-\-disassembler\-options=\f(CIoptions\f(CW\*(C'\fR" 4 -.IX Item "--disassembler-options=options" -Pass target specific information to the disassembler. Only supported on -some targets. -.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-name-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. (Eiuther -with the normal register name sor 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 \s-1THUMB\s0 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. -.Ip "\f(CW\*(C`\-p\*(C'\fR" 4 -.IX Item "-p" -.Ip "\f(CW\*(C`\-\-private\-headers\*(C'\fR" 4 -.IX Item "--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. -.Ip "\f(CW\*(C`\-r\*(C'\fR" 4 -.IX Item "-r" -.Ip "\f(CW\*(C`\-\-reloc\*(C'\fR" 4 -.IX Item "--reloc" -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 "\f(CW\*(C`\-R\*(C'\fR" 4 -.IX Item "-R" -.Ip "\f(CW\*(C`\-\-dynamic\-reloc\*(C'\fR" 4 -.IX Item "--dynamic-reloc" -Print the dynamic relocation entries of the file. This is only -meaningful for dynamic objects, such as certain types of shared -libraries. -.Ip "\f(CW\*(C`\-s\*(C'\fR" 4 -.IX Item "-s" -.Ip "\f(CW\*(C`\-\-full\-contents\*(C'\fR" 4 -.IX Item "--full-contents" -Display the full contents of any sections requested. -.Ip "\f(CW\*(C`\-S\*(C'\fR" 4 -.IX Item "-S" -.Ip "\f(CW\*(C`\-\-source\*(C'\fR" 4 -.IX Item "--source" -Display source code intermixed with disassembly, if possible. Implies -\&\fB\-d\fR. -.Ip "\f(CW\*(C`\-\-show\-raw\-insn\*(C'\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 -\&\f(CW\*(C`\-\-prefix\-addresses\*(C'\fR is used. -.Ip "\f(CW\*(C`\-\-no\-show\-raw\-insn\*(C'\fR" 4 -.IX Item "--no-show-raw-insn" -When disassembling instructions, do not print the instruction bytes. -This is the default when \f(CW\*(C`\-\-prefix\-addresses\*(C'\fR is used. -.Ip "\f(CW\*(C`\-G\*(C'\fR" 4 -.IX Item "-G" -.Ip "\f(CW\*(C`\-\-stabs\*(C'\fR" 4 -.IX Item "--stabs" -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 "\f(CW\*(C`\-\-start\-address=\f(CIaddress\f(CW\*(C'\fR" 4 -.IX Item "--start-address=address" -Start displaying data at the specified address. This affects the output -of the \f(CW\*(C`\-d\*(C'\fR, \f(CW\*(C`\-r\*(C'\fR and \f(CW\*(C`\-s\*(C'\fR options. -.Ip "\f(CW\*(C`\-\-stop\-address=\f(CIaddress\f(CW\*(C'\fR" 4 -.IX Item "--stop-address=address" -Stop displaying data at the specified address. This affects the output -of the \f(CW\*(C`\-d\*(C'\fR, \f(CW\*(C`\-r\*(C'\fR and \f(CW\*(C`\-s\*(C'\fR options. -.Ip "\f(CW\*(C`\-t\*(C'\fR" 4 -.IX Item "-t" -.Ip "\f(CW\*(C`\-\-syms\*(C'\fR" 4 -.IX Item "--syms" -Print the symbol table entries of the file. -This is similar to the information provided by the \fBnm\fR program. -.Ip "\f(CW\*(C`\-T\*(C'\fR" 4 -.IX Item "-T" -.Ip "\f(CW\*(C`\-\-dynamic\-syms\*(C'\fR" 4 -.IX Item "--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 \fBnm\fR -program when given the \fB\-D\fR (\fB\*(--dynamic\fR) option. -.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 -.IX Item "--version" -Print the version number of \f(CW\*(C`objdump\*(C'\fR and exit. -.Ip "\f(CW\*(C`\-x\*(C'\fR" 4 -.IX Item "-x" -.Ip "\f(CW\*(C`\-\-all\-header\*(C'\fR" 4 -.IX Item "--all-header" -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 \-r \-t\fR. -.Ip "\f(CW\*(C`\-w\*(C'\fR" 4 -.IX Item "-w" -.Ip "\f(CW\*(C`\-\-wide\*(C'\fR" 4 -.IX Item "--wide" -Format some lines for output devices that have more than 80 columns. -.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, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils/po/binutils.pot binutils-2.11.90.0.19/binutils/po/binutils.pot --- binutils-2.11.90.0.15/binutils/po/binutils.pot Fri Jun 1 20:46:33 2001 +++ binutils-2.11.90.0.19/binutils/po/binutils.pot Tue Jun 19 11:57:57 2001 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2001-05-30 12:04+0100\n" +"POT-Creation-Date: 2001-06-13 12:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -185,7 +185,7 @@ msgstr "" msgid "internal error -- this option not implemented" msgstr "" -#: ar.c:824 ar.c:876 ar.c:1322 objcopy.c:1266 +#: ar.c:824 ar.c:876 ar.c:1322 objcopy.c:1282 #, c-format msgid "internal stat error on %s" msgstr "" @@ -1616,167 +1616,172 @@ msgstr "" msgid "supported flags: %s" msgstr "" -#: objcopy.c:556 objcopy.c:2082 +#: objcopy.c:558 objcopy.c:2098 #, c-format msgid "cannot stat: %s: %s" msgstr "" -#: objcopy.c:563 objcopy.c:2100 +#: objcopy.c:565 objcopy.c:2116 #, c-format msgid "cannot open: %s: %s" msgstr "" -#: objcopy.c:566 objcopy.c:2104 +#: objcopy.c:568 objcopy.c:2120 #, c-format msgid "%s: fread failed" msgstr "" -#: objcopy.c:846 +#: objcopy.c:641 +#, c-format +msgid "Ignoring rubbish found on line %d of %s" +msgstr "" + +#: objcopy.c:862 #, c-format msgid "%s: Multiple redefinition of symbol \"%s\"" msgstr "" -#: objcopy.c:853 +#: objcopy.c:869 #, c-format msgid "%s: Symbol \"%s\" is target of more than one redefinition" msgstr "" -#: objcopy.c:906 +#: objcopy.c:922 msgid "Unable to change endianness of input file(s)" msgstr "" -#: objcopy.c:914 +#: objcopy.c:930 #, c-format msgid "copy from %s(%s) to %s(%s)\n" msgstr "" -#: objcopy.c:933 +#: objcopy.c:949 #, c-format msgid "Warning: Output file cannot represent architecture %s" msgstr "" -#: objcopy.c:960 +#: objcopy.c:976 #, c-format msgid "can't create section `%s': %s" msgstr "" -#: objcopy.c:1046 +#: objcopy.c:1062 #, c-format msgid "Can't fill gap after %s: %s" msgstr "" -#: objcopy.c:1071 +#: objcopy.c:1087 #, c-format msgid "Can't add padding to %s: %s" msgstr "" -#: objcopy.c:1210 +#: objcopy.c:1226 #, c-format msgid "%s: error copying private BFD data: %s" msgstr "" -#: objcopy.c:1244 +#: objcopy.c:1260 #, c-format msgid "cannot mkdir %s for archive copying (error: %s)" msgstr "" -#: objcopy.c:1433 +#: objcopy.c:1449 msgid "making" msgstr "" -#: objcopy.c:1442 +#: objcopy.c:1458 msgid "size" msgstr "" -#: objcopy.c:1456 +#: objcopy.c:1472 msgid "vma" msgstr "" -#: objcopy.c:1482 +#: objcopy.c:1498 msgid "alignment" msgstr "" -#: objcopy.c:1491 +#: objcopy.c:1507 msgid "flags" msgstr "" -#: objcopy.c:1505 +#: objcopy.c:1521 msgid "private data" msgstr "" -#: objcopy.c:1513 +#: objcopy.c:1529 #, c-format msgid "%s: section `%s': error in %s: %s" msgstr "" -#: objcopy.c:1787 +#: objcopy.c:1803 #, c-format msgid "%s: can't create debugging section: %s" msgstr "" -#: objcopy.c:1802 +#: objcopy.c:1818 #, c-format msgid "%s: can't set debugging section contents: %s" msgstr "" -#: objcopy.c:1811 +#: objcopy.c:1827 #, c-format msgid "%s: don't know how to write debugging information for %s" msgstr "" -#: objcopy.c:1917 +#: objcopy.c:1933 #, c-format msgid "%s: cannot stat: %s" msgstr "" -#: objcopy.c:1968 +#: objcopy.c:1984 msgid "byte number must be non-negative" msgstr "" -#: objcopy.c:1978 +#: objcopy.c:1994 msgid "interleave must be positive" msgstr "" -#: objcopy.c:1998 objcopy.c:2006 +#: objcopy.c:2014 objcopy.c:2022 #, c-format msgid "%s both copied and removed" msgstr "" -#: objcopy.c:2079 objcopy.c:2149 objcopy.c:2250 objcopy.c:2278 +#: objcopy.c:2095 objcopy.c:2165 objcopy.c:2266 objcopy.c:2294 #, c-format msgid "bad format for %s" msgstr "" -#: objcopy.c:2218 +#: objcopy.c:2234 #, c-format msgid "Warning: truncating gap-fill from 0x%s to 0x%x" msgstr "" -#: objcopy.c:2340 +#: objcopy.c:2356 msgid "byte number must be less than interleave" msgstr "" -#: objcopy.c:2367 +#: objcopy.c:2383 #, c-format msgid "architecture %s unknown" msgstr "" -#: objcopy.c:2371 +#: objcopy.c:2387 msgid "" "Warning: input target 'binary' required for binary architecture parameter." msgstr "" -#: objcopy.c:2372 +#: objcopy.c:2388 #, c-format msgid " Argument %s ignored" msgstr "" -#: objcopy.c:2378 +#: objcopy.c:2394 #, c-format msgid "Cannot stat: %s: %s" msgstr "" -#: objcopy.c:2417 objcopy.c:2431 +#: objcopy.c:2433 objcopy.c:2447 #, c-format msgid "%s %s%c0x%s never used" msgstr "" diff -uprN binutils-2.11.90.0.15/binutils/ranlib.1 binutils-2.11.90.0.19/binutils/ranlib.1 --- binutils-2.11.90.0.15/binutils/ranlib.1 Sat Jun 9 00:19:03 2001 +++ binutils-2.11.90.0.19/binutils/ranlib.1 Wed Dec 31 16:00:00 1969 @@ -1,182 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:03 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 1" -.TH RANLIB.1 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -ranlib \- generate index to archive. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -ranlib [\-vV] \fIarchive\fR -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\f(CW\*(C`ranlib\*(C'\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 \f(CW\*(C`ranlib\*(C'\fR program is another form of \s-1GNU\s0 \f(CW\*(C`ar\*(C'\fR; running -\&\f(CW\*(C`ranlib\*(C'\fR is completely equivalent to executing \fBar \-s\fR. -.SH "OPTIONS" -.IX Header "OPTIONS" -.Ip "\f(CW\*(C`\-v\*(C'\fR" 4 -.IX Item "-v" -.Ip "\f(CW\*(C`\-V\*(C'\fR" 4 -.IX Item "-V" -.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 -.IX Item "--version" -Show the version number of \f(CW\*(C`ranlib\*(C'\fR. -.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, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils/readelf.1 binutils-2.11.90.0.19/binutils/readelf.1 --- binutils-2.11.90.0.15/binutils/readelf.1 Sat Jun 9 00:19:04 2001 +++ binutils-2.11.90.0.19/binutils/readelf.1 Wed Dec 31 16:00:00 1969 @@ -1,291 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:04 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 1" -.TH READELF.1 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -readelf \- Displays information about \s-1ELF\s0 files. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -readelf [ \-a | \-\-all ] - [ \-h | \-\-file-header] - [ \-l | \-\-program-headers | \-\-segments] - [ \-S | \-\-section-headers | \-\-sections] - [ \-e | \-\-headers] - [ \-s | \-\-syms | \-\-symbols] - [ \-n | \-\-notes] - [ \-r | \-\-relocs] - [ \-u | \-\-unwind] - [ \-d | \-\-dynamic] - [ \-V | \-\-version-info] - [ \-D | \-\-use-dynamic] - [ \-x | \-\-hex-dump=] - [ \-w[liaprf] | \-\-debug-dump[=info,=line,=abbrev,=pubnames,=ranges,=frames]] - [ \-\-histogram] - [ \-v | \-\-version] - [ \-H | \-\-help] - \fIelffile\fR... -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\f(CW\*(C`readelf\*(C'\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. At the -moment, \f(CW\*(C`readelf\*(C'\fR does not support examining archives, nor does it -support examing 64 bit \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 option besides \fB\-v\fR or \fB\-H\fR must be -given. -.Ip "\f(CW\*(C`\-a\*(C'\fR" 4 -.IX Item "-a" -.Ip "\f(CW\*(C`\-\-all\*(C'\fR" 4 -.IX Item "--all" -Equivalent to specifiying \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 "\f(CW\*(C`\-h\*(C'\fR" 4 -.IX Item "-h" -.Ip "\f(CW\*(C`\-\-file\-header\*(C'\fR" 4 -.IX Item "--file-header" -Displays the information contained in the \s-1ELF\s0 header at the start of the -file. -.Ip "\f(CW\*(C`\-l\*(C'\fR" 4 -.IX Item "-l" -.Ip "\f(CW\*(C`\-\-program\-headers\*(C'\fR" 4 -.IX Item "--program-headers" -.Ip "\f(CW\*(C`\-\-segments\*(C'\fR" 4 -.IX Item "--segments" -Displays the information contained in the file's segment headers, if it -has any. -.Ip "\f(CW\*(C`\-S\*(C'\fR" 4 -.IX Item "-S" -.Ip "\f(CW\*(C`\-\-sections\*(C'\fR" 4 -.IX Item "--sections" -.Ip "\f(CW\*(C`\-\-section\-headers\*(C'\fR" 4 -.IX Item "--section-headers" -Displays the information contained in the file's section headers, if it -has any. -.Ip "\f(CW\*(C`\-s\*(C'\fR" 4 -.IX Item "-s" -.Ip "\f(CW\*(C`\-\-symbols\*(C'\fR" 4 -.IX Item "--symbols" -.Ip "\f(CW\*(C`\-\-syms\*(C'\fR" 4 -.IX Item "--syms" -Displays the entries in symbol table section of the file, if it has one. -.Ip "\f(CW\*(C`\-e\*(C'\fR" 4 -.IX Item "-e" -.Ip "\f(CW\*(C`\-\-headers\*(C'\fR" 4 -.IX Item "--headers" -Display all the headers in the file. Equivalent to \fB\-h \-l \-S\fR. -.Ip "\f(CW\*(C`\-n\*(C'\fR" 4 -.IX Item "-n" -.Ip "\f(CW\*(C`\-\-notes\*(C'\fR" 4 -.IX Item "--notes" -Displays the contents of the \s-1NOTE\s0 segment, if it exists. -.Ip "\f(CW\*(C`\-r\*(C'\fR" 4 -.IX Item "-r" -.Ip "\f(CW\*(C`\-\-relocs\*(C'\fR" 4 -.IX Item "--relocs" -Displays the contents of the file's relocation section, if it has one. -.Ip "\f(CW\*(C`\-u\*(C'\fR" 4 -.IX Item "-u" -.Ip "\f(CW\*(C`\-\-unwind\*(C'\fR" 4 -.IX Item "--unwind" -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 are currently supported. -.Ip "\f(CW\*(C`\-d\*(C'\fR" 4 -.IX Item "-d" -.Ip "\f(CW\*(C`\-\-dynamic\*(C'\fR" 4 -.IX Item "--dynamic" -Displays the contents of the file's dynamic section, if it has one. -.Ip "\f(CW\*(C`\-V\*(C'\fR" 4 -.IX Item "-V" -.Ip "\f(CW\*(C`\-\-version\-info\*(C'\fR" 4 -.IX Item "--version-info" -Displays the contents of the version sections in the file, it they -exist. -.Ip "\f(CW\*(C`\-D\*(C'\fR" 4 -.IX Item "-D" -.Ip "\f(CW\*(C`\-\-use\-dynamic\*(C'\fR" 4 -.IX Item "--use-dynamic" -When displaying symbols, this option makes \f(CW\*(C`readelf\*(C'\fR use the -symbol table in the file's dynamic section, rather than the one in the -symbols section. -.Ip "\f(CW\*(C`\-x \*(C'\fR" 4 -.IX Item "-x " -.Ip "\f(CW\*(C`\-\-hex\-dump=\*(C'\fR" 4 -.IX Item "--hex-dump=" -Displays the contents of the indicated section as a hexadecimal dump. -.Ip "\f(CW\*(C`\-w[liaprf]\*(C'\fR" 4 -.IX Item "-w[liaprf]" -.Ip "\f(CW\*(C`\-\-debug\-dump[=line,=info,=abbrev,=pubnames,=ranges,=frames]\*(C'\fR" 4 -.IX Item "--debug-dump[=line,=info,=abbrev,=pubnames,=ranges,=frames]" -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. -.Ip "\f(CW\*(C`\-\-histogram\*(C'\fR" 4 -.IX Item "--histogram" -Display a histogram of bucket list lengths when displaying the contents -of the symbol tables. -.Ip "\f(CW\*(C`\-v\*(C'\fR" 4 -.IX Item "-v" -.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 -.IX Item "--version" -Display the version number of readelf. -.Ip "\f(CW\*(C`\-H\*(C'\fR" 4 -.IX Item "-H" -.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 -.IX Item "--help" -Display the command line options understood by \f(CW\*(C`readelf\*(C'\fR. -.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, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils/readelf.c binutils-2.11.90.0.19/binutils/readelf.c --- binutils-2.11.90.0.15/binutils/readelf.c Fri Jun 1 21:47:18 2001 +++ binutils-2.11.90.0.19/binutils/readelf.c Tue Jun 19 11:57:54 2001 @@ -79,23 +79,23 @@ #include "bucomm.h" #include "getopt.h" -char * program_name = "readelf"; -unsigned int dynamic_addr; +char * program_name = "readelf"; +unsigned int dynamic_addr; bfd_size_type dynamic_size; -unsigned int rela_addr; -unsigned int rela_size; -char * dynamic_strings; +unsigned int rela_addr; +unsigned int rela_size; +char * dynamic_strings; char * string_table; unsigned long string_table_length; unsigned long num_dynamic_syms; Elf_Internal_Sym * dynamic_symbols; Elf_Internal_Syminfo * dynamic_syminfo; -unsigned long dynamic_syminfo_offset; +unsigned long dynamic_syminfo_offset; unsigned int dynamic_syminfo_nent; -char program_interpreter [64]; -int dynamic_info[DT_JMPREL + 1]; -int version_info[16]; -int loadaddr = 0; +char program_interpreter [64]; +int dynamic_info[DT_JMPREL + 1]; +int version_info[16]; +int loadaddr = 0; Elf_Internal_Ehdr elf_header; Elf_Internal_Shdr * section_headers; Elf_Internal_Dyn * dynamic_segment; @@ -1259,32 +1259,32 @@ get_machine_name (e_machine) switch (e_machine) { - case EM_NONE: return _("None"); - case EM_M32: return "WE32100"; - case EM_SPARC: return "Sparc"; - case EM_386: return "Intel 80386"; - case EM_68K: return "MC68000"; - case EM_88K: return "MC88000"; - case EM_486: return "Intel 80486"; - case EM_860: return "Intel 80860"; - case EM_MIPS: return "MIPS R3000"; - case EM_S370: return "IBM System/370"; + case EM_NONE: return _("None"); + case EM_M32: return "WE32100"; + case EM_SPARC: return "Sparc"; + case EM_386: return "Intel 80386"; + case EM_68K: return "MC68000"; + case EM_88K: return "MC88000"; + case EM_486: return "Intel 80486"; + case EM_860: return "Intel 80860"; + case EM_MIPS: return "MIPS R3000"; + case EM_S370: return "IBM System/370"; case EM_MIPS_RS3_LE: return "MIPS R4000 big-endian"; case EM_OLD_SPARCV9: return "Sparc v9 (old)"; - case EM_PARISC: return "HPPA"; + case EM_PARISC: return "HPPA"; case EM_PPC_OLD: return "Power PC (old)"; case EM_SPARC32PLUS: return "Sparc v8+" ; - case EM_960: return "Intel 90860"; - case EM_PPC: return "PowerPC"; - case EM_V800: return "NEC V800"; - case EM_FR20: return "Fujitsu FR20"; - case EM_RH32: return "TRW RH32"; + case EM_960: return "Intel 90860"; + case EM_PPC: return "PowerPC"; + case EM_V800: return "NEC V800"; + case EM_FR20: return "Fujitsu FR20"; + case EM_RH32: return "TRW RH32"; case EM_MCORE: return "MCORE"; case EM_ARM: return "ARM"; case EM_OLD_ALPHA: return "Digital Alpha (old)"; case EM_SH: return "Hitachi SH"; - case EM_SPARCV9: return "Sparc v9"; - case EM_TRICORE: return "Siemens Tricore"; + case EM_SPARCV9: return "Sparc v9"; + case EM_TRICORE: return "Siemens Tricore"; case EM_ARC: return "ARC"; case EM_H8_300: return "Hitachi H8/300"; case EM_H8_300H: return "Hitachi H8/300H"; @@ -1294,7 +1294,7 @@ get_machine_name (e_machine) case EM_MIPS_X: return "Stanford MIPS-X"; case EM_COLDFIRE: return "Motorola Coldfire"; case EM_68HC12: return "Motorola M68HC12"; - case EM_ALPHA: return "Alpha"; + case EM_ALPHA: return "Alpha"; case EM_CYGNUS_D10V: return "d10v"; case EM_CYGNUS_D30V: return "d30v"; case EM_CYGNUS_ARC: return "ARC"; @@ -1324,12 +1324,12 @@ get_machine_name (e_machine) case EM_VAX: return "Digital VAX"; case EM_AVR: return "Atmel AVR 8-bit microcontroller"; case EM_CRIS: return "Axis Communications 32-bit embedded processor"; - case EM_JAVELIN: return "Infineon Technologies 32-bit embedded cpu"; - case EM_FIREPATH: return "Element 14 64-bit DSP processor"; - case EM_ZSP: return "LSI Logic's 16-bit DSP processor"; + case EM_JAVELIN: return "Infineon Technologies 32-bit embedded cpu"; + case EM_FIREPATH: return "Element 14 64-bit DSP processor"; + case EM_ZSP: return "LSI Logic's 16-bit DSP processor"; case EM_MMIX: return "Donald Knuth's educational 64-bit processor"; - case EM_HUANY: return "Harvard Universitys's machine-independent object format"; - case EM_PRISM: return "SiTera Prism"; + case EM_HUANY: return "Harvard Universitys's machine-independent object format"; + case EM_PRISM: return "SiTera Prism"; case EM_X86_64: return "Advanced Micro Devices X86-64"; case EM_S390_OLD: case EM_S390: return "IBM S/390"; diff -uprN binutils-2.11.90.0.15/binutils/size.1 binutils-2.11.90.0.19/binutils/size.1 --- binutils-2.11.90.0.15/binutils/size.1 Sat Jun 9 00:19:04 2001 +++ binutils-2.11.90.0.19/binutils/size.1 Wed Dec 31 16:00:00 1969 @@ -1,242 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:04 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 1" -.TH SIZE.1 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -size \- list section sizes and total size. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -size [ \-A | \-B | \-\-format=\fIcompatibility\fR ] - [ \-\-help ] [ \-d | \-o | \-x | \-\-radix=\fInumber\fR ] - [ \-\-target=\fIbfdname\fR ] [ \-V | \-\-version ] - [ \fIobjfile\fR... ] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \s-1GNU\s0 \f(CW\*(C`size\*(C'\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 "\f(CW\*(C`\-A\*(C'\fR" 4 -.IX Item "-A" -.Ip "\f(CW\*(C`\-B\*(C'\fR" 4 -.IX Item "-B" -.Ip "\f(CW\*(C`\-\-format=\f(CIcompatibility\f(CW\*(C'\fR" 4 -.IX Item "--format=compatibility" -Using one of these options, you can choose whether the output from \s-1GNU\s0 -\&\f(CW\*(C`size\*(C'\fR resembles output from System V \f(CW\*(C`size\*(C'\fR (using \fB\-A\fR, -or \fB\*(--format=sysv\fR), or Berkeley \f(CW\*(C`size\*(C'\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 -\&\f(CW\*(C`size\*(C'\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 -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 -.Ve -.Vb 6 -\& size : -\& section size addr -\& .text 294880 8192 -\& .data 81920 303104 -\& .bss 11888 385024 -\& Total 388688 -.Ve -.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 -.IX Item "--help" -Show a summary of acceptable arguments and options. -.Ip "\f(CW\*(C`\-d\*(C'\fR" 4 -.IX Item "-d" -.Ip "\f(CW\*(C`\-o\*(C'\fR" 4 -.IX Item "-o" -.Ip "\f(CW\*(C`\-x\*(C'\fR" 4 -.IX Item "-x" -.Ip "\f(CW\*(C`\-\-radix=\f(CInumber\f(CW\*(C'\fR" 4 -.IX Item "--radix=number" -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 "\f(CW\*(C`\-\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "--target=bfdname" -Specify that the object-code format for \fIobjfile\fR is -\&\fIbfdname\fR. This option may not be necessary; \f(CW\*(C`size\*(C'\fR can -automatically recognize many formats. -.Ip "\f(CW\*(C`\-V\*(C'\fR" 4 -.IX Item "-V" -.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 -.IX Item "--version" -Display the version number of \f(CW\*(C`size\*(C'\fR. -.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, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils/strings.1 binutils-2.11.90.0.19/binutils/strings.1 --- binutils-2.11.90.0.15/binutils/strings.1 Sat Jun 9 00:19:04 2001 +++ binutils-2.11.90.0.19/binutils/strings.1 Wed Dec 31 16:00:00 1969 @@ -1,220 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:04 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 1" -.TH STRINGS.1 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -strings \- print the strings of printable characters in files. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -strings [\-afov] [-\fImin-len\fR] [\-n \fImin-len\fR] [\-t \fIradix\fR] [\-] - [\-\-all] [\-\-print-file-name] [\-\-bytes=\fImin-len\fR] - [\-\-radix=\fIradix\fR] [\-\-target=\fIbfdname\fR] - [\-\-help] [\-\-version] \fIfile\fR... -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -For each \fIfile\fR given, \s-1GNU\s0 \f(CW\*(C`strings\*(C'\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 -\&\f(CW\*(C`strings\*(C'\fR is mainly useful for determining the contents of non-text -files. -.SH "OPTIONS" -.IX Header "OPTIONS" -.Ip "\f(CW\*(C`\-a\*(C'\fR" 4 -.IX Item "-a" -.Ip "\f(CW\*(C`\-\-all\*(C'\fR" 4 -.IX Item "--all" -.Ip "\f(CW\*(C`\-\*(C'\fR" 4 -.IX Item "-" -Do not scan only the initialized and loaded sections of object files; -scan the whole files. -.Ip "\f(CW\*(C`\-f\*(C'\fR" 4 -.IX Item "-f" -.Ip "\f(CW\*(C`\-\-print\-file\-name\*(C'\fR" 4 -.IX Item "--print-file-name" -Print the name of the file before each string. -.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 -.IX Item "--help" -Print a summary of the program usage on the standard output and exit. -.Ip "\f(CW\*(C`\-\f(CImin\-len\f(CW\*(C'\fR" 4 -.IX Item "-min-len" -.Ip "\f(CW\*(C`\-n \f(CImin\-len\f(CW\*(C'\fR" 4 -.IX Item "-n min-len" -.Ip "\f(CW\*(C`\-\-bytes=\f(CImin\-len\f(CW\*(C'\fR" 4 -.IX Item "--bytes=min-len" -Print sequences of characters that are at least \fImin-len\fR characters -long, instead of the default 4. -.Ip "\f(CW\*(C`\-o\*(C'\fR" 4 -.IX Item "-o" -Like \fB\-t o\fR. Some other versions of \f(CW\*(C`strings\*(C'\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 "\f(CW\*(C`\-t \f(CIradix\f(CW\*(C'\fR" 4 -.IX Item "-t radix" -.Ip "\f(CW\*(C`\-\-radix=\f(CIradix\f(CW\*(C'\fR" 4 -.IX Item "--radix=radix" -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 "\f(CW\*(C`\-\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "--target=bfdname" -Specify an object code format other than your system's default format. -.Ip "\f(CW\*(C`\-v\*(C'\fR" 4 -.IX Item "-v" -.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 -.IX Item "--version" -Print the program version number on the standard output and exit. -.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, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils/strip.1 binutils-2.11.90.0.19/binutils/strip.1 --- binutils-2.11.90.0.15/binutils/strip.1 Sat Jun 9 00:19:05 2001 +++ binutils-2.11.90.0.19/binutils/strip.1 Wed Dec 31 16:00:00 1969 @@ -1,266 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:05 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 1" -.TH STRIP.1 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -strip \- Discard symbols from object files. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -strip [ \-F \fIbfdname\fR | \-\-target=\fIbfdname\fR ] - [ \-I \fIbfdname\fR | \-\-input-target=\fIbfdname\fR ] - [ \-O \fIbfdname\fR | \-\-output-target=\fIbfdname\fR ] - [ \-s | \-\-strip-all ] [ \-S | \-g | \-\-strip-debug ] - [ \-K \fIsymbolname\fR | \-\-keep-symbol=\fIsymbolname\fR ] - [ \-N \fIsymbolname\fR | \-\-strip-symbol=\fIsymbolname\fR ] - [ \-x | \-\-discard-all ] [ \-X | \-\-discard-locals ] - [ \-R \fIsectionname\fR | \-\-remove-section=\fIsectionname\fR ] - [ \-o \fIfile\fR ] [ \-p | \-\-preserve-dates ] - [ \-v | \-\-verbose ] [ \-V | \-\-version ] [ \-\-help ] - \fIobjfile\fR... -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\s-1GNU\s0 \f(CW\*(C`strip\*(C'\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 -\&\f(CW\*(C`strip\*(C'\fR modifies the files named in its argument, -rather than writing modified copies under different names. -.SH "OPTIONS" -.IX Header "OPTIONS" -.Ip "\f(CW\*(C`\-F \f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "-F bfdname" -.Ip "\f(CW\*(C`\-\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "--target=bfdname" -Treat the original \fIobjfile\fR as a file with the object -code format \fIbfdname\fR, and rewrite it in the same format. -.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 -.IX Item "--help" -Show a summary of the options to \f(CW\*(C`strip\*(C'\fR and exit. -.Ip "\f(CW\*(C`\-I \f(CIbfdname\f(CW \*(C'\fR" 4 -.IX Item "-I bfdname " -.Ip "\f(CW\*(C`\-\-input\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "--input-target=bfdname" -Treat the original \fIobjfile\fR as a file with the object -code format \fIbfdname\fR. -.Ip "\f(CW\*(C`\-O \f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "-O bfdname" -.Ip "\f(CW\*(C`\-\-output\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 -.IX Item "--output-target=bfdname" -Replace \fIobjfile\fR with a file in the output format \fIbfdname\fR. -.Ip "\f(CW\*(C`\-R \f(CIsectionname\f(CW\*(C'\fR" 4 -.IX Item "-R sectionname" -.Ip "\f(CW\*(C`\-\-remove\-section=\f(CIsectionname\f(CW\*(C'\fR" 4 -.IX Item "--remove-section=sectionname" -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. -.Ip "\f(CW\*(C`\-s\*(C'\fR" 4 -.IX Item "-s" -.Ip "\f(CW\*(C`\-\-strip\-all\*(C'\fR" 4 -.IX Item "--strip-all" -Remove all symbols. -.Ip "\f(CW\*(C`\-g\*(C'\fR" 4 -.IX Item "-g" -.Ip "\f(CW\*(C`\-S\*(C'\fR" 4 -.IX Item "-S" -.Ip "\f(CW\*(C`\-\-strip\-debug\*(C'\fR" 4 -.IX Item "--strip-debug" -Remove debugging symbols only. -.Ip "\f(CW\*(C`\-\-strip\-unneeded\*(C'\fR" 4 -.IX Item "--strip-unneeded" -Remove all symbols that are not needed for relocation processing. -.Ip "\f(CW\*(C`\-K \f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "-K symbolname" -.Ip "\f(CW\*(C`\-\-keep\-symbol=\f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "--keep-symbol=symbolname" -Keep only symbol \fIsymbolname\fR from the source file. This option may -be given more than once. -.Ip "\f(CW\*(C`\-N \f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "-N symbolname" -.Ip "\f(CW\*(C`\-\-strip\-symbol=\f(CIsymbolname\f(CW\*(C'\fR" 4 -.IX Item "--strip-symbol=symbolname" -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 -\&\f(CW\*(C`\-K\*(C'\fR. -.Ip "\f(CW\*(C`\-o \f(CIfile\f(CW\*(C'\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 "\f(CW\*(C`\-p\*(C'\fR" 4 -.IX Item "-p" -.Ip "\f(CW\*(C`\-\-preserve\-dates\*(C'\fR" 4 -.IX Item "--preserve-dates" -Preserve the access and modification dates of the file. -.Ip "\f(CW\*(C`\-x\*(C'\fR" 4 -.IX Item "-x" -.Ip "\f(CW\*(C`\-\-discard\-all\*(C'\fR" 4 -.IX Item "--discard-all" -Remove non-global symbols. -.Ip "\f(CW\*(C`\-X\*(C'\fR" 4 -.IX Item "-X" -.Ip "\f(CW\*(C`\-\-discard\-locals\*(C'\fR" 4 -.IX Item "--discard-locals" -Remove compiler-generated local symbols. -(These usually start with \fBL\fR or \fB.\fR.) -.Ip "\f(CW\*(C`\-V\*(C'\fR" 4 -.IX Item "-V" -.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 -.IX Item "--version" -Show the version number for \f(CW\*(C`strip\*(C'\fR. -.Ip "\f(CW\*(C`\-v\*(C'\fR" 4 -.IX Item "-v" -.Ip "\f(CW\*(C`\-\-verbose\*(C'\fR" 4 -.IX Item "--verbose" -Verbose output: list all object files modified. In the case of -archives, \fBstrip \-v\fR lists all members of the archive. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils/testsuite/ChangeLog binutils-2.11.90.0.19/binutils/testsuite/ChangeLog --- binutils-2.11.90.0.15/binutils/testsuite/ChangeLog Sat Jun 9 00:13:01 2001 +++ binutils-2.11.90.0.19/binutils/testsuite/ChangeLog Tue Jun 19 11:57:57 2001 @@ -1,3 +1,8 @@ +2001-06-19 Andreas Jaeger + + * binutils-all/readelf.r: Don't check for specific info value to + pass testsuite on ia64 and alpha. + 2001-06-07 H.J. Lu * binutils-all/readelf.ss-mips: Support stabs. @@ -759,4 +764,3 @@ Sun Feb 21 10:55:55 1993 Mike Werner ( of dejagnu. The modifications to these testcases, etc., which will allow them to work with the new version of dejagnu will be made in a future update. - diff -uprN binutils-2.11.90.0.15/binutils/testsuite/binutils-all/readelf.r binutils-2.11.90.0.19/binutils/testsuite/binutils-all/readelf.r --- binutils-2.11.90.0.15/binutils/testsuite/binutils-all/readelf.r Fri Jul 9 08:20:56 1999 +++ binutils-2.11.90.0.19/binutils/testsuite/binutils-all/readelf.r Tue Jun 19 11:57:57 2001 @@ -1,4 +1,4 @@ Relocation section '.rel.*text' at offset 0x.* contains 1 entries: Offset Info Type Symbol's Value Symbol's Name.* - 00000004 00.* R_.*00000000 external_symbol.* + 00000004 [0-9A-Fa-f]+ *R_.*00000000 external_symbol.* diff -uprN binutils-2.11.90.0.15/binutils/windres.1 binutils-2.11.90.0.19/binutils/windres.1 --- binutils-2.11.90.0.15/binutils/windres.1 Sat Jun 9 00:19:05 2001 +++ binutils-2.11.90.0.19/binutils/windres.1 Wed Dec 31 16:00:00 1969 @@ -1,291 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Sat Jun 9 00:19:05 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 1" -.TH WINDRES.1 1 "binutils-2.11.90.0.13" "2001-06-09" "GNU" -.UC -.SH "NAME" -windres \- manipulate Windows resources. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -windres [options] [input-file] [output-file] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\f(CW\*(C`windres\*(C'\fR reads resources from an input file and copies them into -an output file. Either file may be in one of three formats: -.Ip "\f(CW\*(C`rc\*(C'\fR" 4 -.IX Item "rc" -A text format read by the Resource Compiler. -.Ip "\f(CW\*(C`res\*(C'\fR" 4 -.IX Item "res" -A binary format generated by the Resource Compiler. -.Ip "\f(CW\*(C`coff\*(C'\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 \f(CW\*(C`windres\*(C'\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 -\&\f(CW\*(C`windres\*(C'\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 \f(CW\*(C`windres\*(C'\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, \f(CW\*(C`windres\*(C'\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, \f(CW\*(C`windres\*(C'\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 \f(CW\*(C`windres\*(C'\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 "\f(CW\*(C`\-i \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "-i filename" -.Ip "\f(CW\*(C`\-\-input \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "--input filename" -The name of the input file. If this option is not used, then -\&\f(CW\*(C`windres\*(C'\fR will use the first non-option argument as the input file -name. If there are no non-option arguments, then \f(CW\*(C`windres\*(C'\fR will -read from standard input. \f(CW\*(C`windres\*(C'\fR can not read a \s-1COFF\s0 file from -standard input. -.Ip "\f(CW\*(C`\-o \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "-o filename" -.Ip "\f(CW\*(C`\-\-output \f(CIfilename\f(CW\*(C'\fR" 4 -.IX Item "--output filename" -The name of the output file. If this option is not used, then -\&\f(CW\*(C`windres\*(C'\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 \f(CW\*(C`windres\*(C'\fR will write to standard output. -\&\f(CW\*(C`windres\*(C'\fR can not write a \s-1COFF\s0 file to standard output. -.Ip "\f(CW\*(C`\-I \f(CIformat\f(CW\*(C'\fR" 4 -.IX Item "-I format" -.Ip "\f(CW\*(C`\-\-input\-format \f(CIformat\f(CW\*(C'\fR" 4 -.IX Item "--input-format format" -The input format to read. \fIformat\fR may be \fBres\fR, \fBrc\fR, or -\&\fBcoff\fR. If no input format is specified, \f(CW\*(C`windres\*(C'\fR will -guess, as described above. -.Ip "\f(CW\*(C`\-O \f(CIformat\f(CW\*(C'\fR" 4 -.IX Item "-O format" -.Ip "\f(CW\*(C`\-\-output\-format \f(CIformat\f(CW\*(C'\fR" 4 -.IX Item "--output-format format" -The output format to generate. \fIformat\fR may be \fBres\fR, -\&\fBrc\fR, or \fBcoff\fR. If no output format is specified, -\&\f(CW\*(C`windres\*(C'\fR will guess, as described above. -.Ip "\f(CW\*(C`\-F \f(CItarget\f(CW\*(C'\fR" 4 -.IX Item "-F target" -.Ip "\f(CW\*(C`\-\-target \f(CItarget\f(CW\*(C'\fR" 4 -.IX Item "--target target" -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 \f(CW\*(C`\-\-help\*(C'\fR option to see a list -of supported targets. Normally \f(CW\*(C`windres\*(C'\fR will use the default -format, which is the first one listed by the \f(CW\*(C`\-\-help\*(C'\fR option. -\&\f(CW@ref\fR{Target Selection}. -.Ip "\f(CW\*(C`\-\-preprocessor \f(CIprogram\f(CW\*(C'\fR" 4 -.IX Item "--preprocessor program" -When \f(CW\*(C`windres\*(C'\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 "\f(CW\*(C`\-\-include\-dir \f(CIdirectory\f(CW\*(C'\fR" 4 -.IX Item "--include-dir directory" -Specify an include directory to use when reading an \f(CW\*(C`rc\*(C'\fR file. -\&\f(CW\*(C`windres\*(C'\fR will pass this to the preprocessor as an \f(CW\*(C`\-I\*(C'\fR -option. \f(CW\*(C`windres\*(C'\fR will also search this directory when looking for -files named in the \f(CW\*(C`rc\*(C'\fR file. -.Ip "\f(CW\*(C`\-D \f(CItarget\f(CW\*(C'\fR" 4 -.IX Item "-D target" -.Ip "\f(CW\*(C`\-\-define \f(CIsym\f(CW[=\f(CIval\f(CW]\*(C'\fR" 4 -.IX Item "--define sym[=val]" -Specify a \f(CW\*(C`\-D\*(C'\fR option to pass to the preprocessor when reading an -\&\f(CW\*(C`rc\*(C'\fR file. -.Ip "\f(CW\*(C`\-v\*(C'\fR" 4 -.IX Item "-v" -Enable verbose mode. This tells you what the preprocessor is if you -didn't specify one. -.Ip "\f(CW\*(C`\-\-language \f(CIval\f(CW\*(C'\fR" 4 -.IX Item "--language val" -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 "\f(CW\*(C`\-\-use\-temp\-file\*(C'\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 "\f(CW\*(C`\-\-no\-use\-temp\-file\*(C'\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 "\f(CW\*(C`\-\-help\*(C'\fR" 4 -.IX Item "--help" -Prints a usage summary. -.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 -.IX Item "--version" -Prints the version number for \f(CW\*(C`windres\*(C'\fR. -.Ip "\f(CW\*(C`\-\-yydebug\*(C'\fR" 4 -.IX Item "--yydebug" -If \f(CW\*(C`windres\*(C'\fR is compiled with \f(CW\*(C`YYDEBUG\*(C'\fR defined as \f(CW\*(C`1\*(C'\fR, -this will turn on parser debugging. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -the Info entries for \fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/binutils.spec binutils-2.11.90.0.19/binutils.spec --- binutils-2.11.90.0.15/binutils.spec Sun Jun 10 11:36:19 2001 +++ binutils-2.11.90.0.19/binutils.spec Wed Jun 20 12:23:52 2001 @@ -1,3 +1,6 @@ +%define cross_compile 0 +%{?do_cross_compile:%define cross_compile 1} + # Define `COFF' as 1 if you want to add i386-coff instead of i386-pe. %define COFF 0 %{?ENABLE_COFF:%define COFF 1} @@ -6,7 +9,7 @@ Summary: A GNU collection of binary utilities. Name: binutils -Version: 2.11.90.0.15 +Version: 2.11.90.0.19 Release: 1 Copyright: GPL Group: Development/Tools @@ -33,6 +36,14 @@ binary files. Most programmers will wan %prep %setup -q +%ifarch mips mipsel +patch -p1 -b --suffix .mips64 < mips/binutils-mips64.patch \ +&& patch -p0 -b --suffix .mips < mips/gas-mips.patch \ +&& patch -p1 -b --suffix .march < mips/binutils-march.patch \ +&& patch -p1 -b --suffix .reloc < mips/binutils-mips-reloc.patch +find -name "*.rej" | grep rej && exit 1 +%endif + %build if [ -x /usr/bin/getconf ] ; then NRPROC=$(/usr/bin/getconf _NPROCESSORS_ONLN) @@ -67,7 +78,13 @@ ADDITIONAL_TARGETS="${ADDITIONAL_TARGETS # Binutils come with its own custom libtool %define __libtoolize echo +CC=%{__cc}; export CC +%if %{cross_compile} +%configure --enable-shared $ADDITIONAL_TARGETS \ + --build=%{_build_alias} +%else %configure --enable-shared $ADDITIONAL_TARGETS +%endif make headers -C bfd make tooldir=%{_prefix} all info diff -uprN binutils-2.11.90.0.15/binutils.spec.in binutils-2.11.90.0.19/binutils.spec.in --- binutils-2.11.90.0.15/binutils.spec.in Sat Jun 9 00:57:29 2001 +++ binutils-2.11.90.0.19/binutils.spec.in Tue Jun 19 11:57:32 2001 @@ -1,3 +1,6 @@ +%define cross_compile 0 +%{?do_cross_compile:%define cross_compile 1} + # Define `COFF' as 1 if you want to add i386-coff instead of i386-pe. %define COFF 0 %{?ENABLE_COFF:%define COFF 1} @@ -33,6 +36,14 @@ binary files. Most programmers will wan %prep %setup -q +%ifarch mips mipsel +patch -p1 -b --suffix .mips64 < mips/binutils-mips64.patch \ +&& patch -p0 -b --suffix .mips < mips/gas-mips.patch \ +&& patch -p1 -b --suffix .march < mips/binutils-march.patch \ +&& patch -p1 -b --suffix .reloc < mips/binutils-mips-reloc.patch +find -name "*.rej" | grep rej && exit 1 +%endif + %build if [ -x /usr/bin/getconf ] ; then NRPROC=$(/usr/bin/getconf _NPROCESSORS_ONLN) @@ -67,7 +78,13 @@ ADDITIONAL_TARGETS="${ADDITIONAL_TARGETS # Binutils come with its own custom libtool %define __libtoolize echo +CC=%{__cc}; export CC +%if %{cross_compile} +%configure --enable-shared $ADDITIONAL_TARGETS \ + --build=%{_build_alias} +%else %configure --enable-shared $ADDITIONAL_TARGETS +%endif make headers -C bfd make tooldir=%{_prefix} all info diff -uprN binutils-2.11.90.0.15/gas/ChangeLog binutils-2.11.90.0.19/gas/ChangeLog --- binutils-2.11.90.0.15/gas/ChangeLog Sun Jun 10 10:55:09 2001 +++ binutils-2.11.90.0.19/gas/ChangeLog Wed Jun 20 12:19:37 2001 @@ -1,3 +1,76 @@ +2000-06-20 Tom Rix + + * config/tc-ppc.c (ppc_comm): Change default alignment to 4 bytes. + +2001-06-18 H.J. Lu + + * doc/Makefile.am (info): Depend on $(MANS). + (as.1): Remove the prefix `$(srcdir)/'. + * doc/Makefile.in: Regenerated. + + * as.1: Removed. + +2001-06-18 Philip Blundell + + * config/tc-arm.c (do_msr): Remove restriction on usage of + immediate operands. + +2001-06-19 Alan Modra + + * dwarf2dbg.c (dwarf2_finish): Output file info even when no + line info. + +2001-06-13 Philip Blundell + + * config/tc-arm.c (thumb_shift): Improve wording of error message. + (do_t_arit): Likewise. + +2001-06-13 Nick Clifton + + * config/tc-sh.c (md_pseudo_table): Only intercept the .file and + .loc pseudos if the dfwarf2 functions are available. + (md_assemble): Only call dwarf2_emit_insn if it is available. + + * expr.c: Fix typo in comment. + +2001-06-12 Nick Clifton + + * doc/as.texinfo (Infix Ops): Document that comparison and + combiner operators can be used as infix operators. + +2001-06-12 Peter Jakubek + + * gas/config/tc-m68k.c (parse_mri_control_operand): Fix handling + of AND/OR. + (swap_mri_condition): Add HS (alias fo CC) and LO (alias for CS). + (reverse_mri_condition): Likewise. + (swap_mri_condition): Issue warning for conditions that can not be + swapped. + (build_mri_control_operand): Fix order of operands (swapped). + (build_mri_control_operand): Allow upper case extension in structured + control directives. + (s_mri_else): Likewise. + (s_mri_next): Likewise. + (s_mri_for): Likewise. + (s_mri_if): Fix handling comment ('*') in mri mode. + (s_mri_while): Likewise. + * gas/macro.c (macro_expand): Allow macro invocation with empty + extension. + +2001-06-12 Nick Clifton + + * config/tc-arm.c: Fix test for overlow of literal pool. + +2001-06-11 H.J. Lu + + * NEWS: Updated for the new -n option for the MIPS assembler. + + * config/tc-mips.c (md_show_usage): Add -n. + + * doc/as.texinfo: Document the new -n option. + * doc/c-mips.texi: Likewise. + * doc/as.1: Regenerated. + 2001-06-10 Alan Modra * config/obj-coff.c (obj_coff_section): Formatting fix. diff -uprN binutils-2.11.90.0.15/gas/Makefile.am binutils-2.11.90.0.19/gas/Makefile.am --- binutils-2.11.90.0.15/gas/Makefile.am Sat Jun 9 00:13:01 2001 +++ binutils-2.11.90.0.19/gas/Makefile.am Tue Jun 19 11:57:57 2001 @@ -435,10 +435,8 @@ stamp-mk.com: vmsconf.sh Makefile $(SHELL) $(srcdir)/../move-if-change new-make.com $(srcdir)/make-gas.com touch stamp-mk.com -EXTRA_DIST = make-gas.com - -DISTSTUFF = make-gas.com m68k-parse.c itbl-parse.c itbl-parse.h itbl-lex.c -diststuff: $(DISTSTUFF) info +EXTRA_DIST = make-gas.com m68k-parse.c itbl-parse.c itbl-parse.h itbl-lex.c +diststuff: $(EXTRA_DIST) info DISTCLEANFILES = targ-cpu.h obj-format.h targ-env.h itbl-cpu.h cgen-desc.h diff -uprN binutils-2.11.90.0.15/gas/Makefile.in binutils-2.11.90.0.19/gas/Makefile.in --- binutils-2.11.90.0.15/gas/Makefile.in Sat Jun 9 00:13:01 2001 +++ binutils-2.11.90.0.19/gas/Makefile.in Tue Jun 19 11:57:57 2001 @@ -552,9 +552,7 @@ noinst_PROGRAMS = as-new gasp-new noinst_SCRIPTS = $(GDBINIT) EXTRA_SCRIPTS = .gdbinit -EXTRA_DIST = make-gas.com - -DISTSTUFF = make-gas.com m68k-parse.c itbl-parse.c itbl-parse.h itbl-lex.c +EXTRA_DIST = make-gas.com m68k-parse.c itbl-parse.c itbl-parse.h itbl-lex.c DISTCLEANFILES = targ-cpu.h obj-format.h targ-env.h itbl-cpu.h cgen-desc.h @@ -2008,7 +2006,7 @@ configure configure.in gdbinit.in itbl-l DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar +TAR = gtar GZIP_ENV = --best SOURCES = $(itbl_test_SOURCES) $(as_new_SOURCES) $(EXTRA_as_new_SOURCES) $(gasp_new_SOURCES) OBJECTS = $(itbl_test_OBJECTS) $(as_new_OBJECTS) $(gasp_new_OBJECTS) @@ -2407,7 +2405,7 @@ stamp-mk.com: vmsconf.sh Makefile sh $(srcdir)/vmsconf.sh $(GENERIC_OBJS) > new-make.com $(SHELL) $(srcdir)/../move-if-change new-make.com $(srcdir)/make-gas.com touch stamp-mk.com -diststuff: $(DISTSTUFF) info +diststuff: $(EXTRA_DIST) info $(OBJS): @ALL_OBJ_DEPS@ diff -uprN binutils-2.11.90.0.15/gas/NEWS binutils-2.11.90.0.19/gas/NEWS --- binutils-2.11.90.0.15/gas/NEWS Tue Jan 23 10:59:58 2001 +++ binutils-2.11.90.0.19/gas/NEWS Tue Jun 19 11:57:57 2001 @@ -1,5 +1,9 @@ -*- text -*- +The MIPS assembler no longer issues a warning by default when it +generates a nop instruction from a macro. The new command line option +-n will turn on the warning. + Changes in 2.11: x86 gas now supports the full Pentium4 instruction set. diff -uprN binutils-2.11.90.0.15/gas/config/tc-arm.c binutils-2.11.90.0.19/gas/config/tc-arm.c --- binutils-2.11.90.0.15/gas/config/tc-arm.c Sat May 12 00:06:28 2001 +++ binutils-2.11.90.0.19/gas/config/tc-arm.c Tue Jun 19 11:57:57 2001 @@ -1295,7 +1295,7 @@ add_to_lit_pool () if (lit_count == next_literal_pool_place) /* New entry. */ { - if (next_literal_pool_place > MAX_LITERAL_POOL_SIZE) + if (next_literal_pool_place >= MAX_LITERAL_POOL_SIZE) { inst.error = _("Literal Pool Overflow"); return FAIL; @@ -2289,12 +2289,17 @@ do_msr (str, flags) return; } +#if 0 /* The first edition of the ARM architecture manual stated that + writing anything other than the flags with an immediate operation + had UNPREDICTABLE effects. This constraint was removed in the + second edition of the specification. */ if ((cpu_variant & ARM_EXT_V5) != ARM_EXT_V5 && inst.instruction & ((PSR_c | PSR_x | PSR_s) << PSR_SHIFT)) { inst.error = _("immediate value cannot be used to set this field"); return; } +#endif flags |= INST_IMMEDIATE; @@ -6025,7 +6030,7 @@ do_t_arit (str) if (Rs != Rd) { - inst.error = _("dest and source1 one must be the same register"); + inst.error = _("dest and source1 must be the same register"); return; } Rs = Rn; diff -uprN binutils-2.11.90.0.15/gas/config/tc-m68k.c binutils-2.11.90.0.19/gas/config/tc-m68k.c --- binutils-2.11.90.0.15/gas/config/tc-m68k.c Sat Jun 9 00:13:01 2001 +++ binutils-2.11.90.0.19/gas/config/tc-m68k.c Tue Jun 19 11:57:57 2001 @@ -5728,11 +5728,17 @@ parse_mri_control_operand (pcc, leftstar /* Look ahead for AND or OR or end of line. */ for (s = input_line_pointer; *s != '\0'; ++s) { - if ((strncasecmp (s, "AND", 3) == 0 - && (s[3] == '.' || ! is_part_of_name (s[3]))) - || (strncasecmp (s, "OR", 2) == 0 - && (s[2] == '.' || ! is_part_of_name (s[2])))) - break; + /* We must make sure we don't misinterpret AND/OR at the end of labels! + if d0 #FOOAND and d1 #BAROR then + ^^^ ^^ */ + if ( ( s == input_line_pointer + || *(s-1) == ' ' + || *(s-1) == '\t') + && ( ( strncasecmp (s, "AND", 3) == 0 + && (s[3] == '.' || ! is_part_of_name (s[3]))) + || ( strncasecmp (s, "OR", 2) == 0 + && (s[2] == '.' || ! is_part_of_name (s[2]))))) + break; } *rightstart = input_line_pointer; @@ -5759,7 +5765,11 @@ swap_mri_condition (cc) { case MCC ('h', 'i'): return MCC ('c', 's'); case MCC ('l', 's'): return MCC ('c', 'c'); + /* is an alias for */ + case MCC ('h', 's'): case MCC ('c', 'c'): return MCC ('l', 's'); + /* is an alias for */ + case MCC ('l', 'o'): case MCC ('c', 's'): return MCC ('h', 'i'); case MCC ('p', 'l'): return MCC ('m', 'i'); case MCC ('m', 'i'): return MCC ('p', 'l'); @@ -5767,6 +5777,15 @@ swap_mri_condition (cc) case MCC ('l', 't'): return MCC ('g', 't'); case MCC ('g', 't'): return MCC ('l', 't'); case MCC ('l', 'e'): return MCC ('g', 'e'); + /* issue a warning for conditions we can not swap */ + case MCC ('n', 'e'): return MCC ('n', 'e'); // no problem here + case MCC ('e', 'q'): return MCC ('e', 'q'); // also no problem + case MCC ('v', 'c'): + case MCC ('v', 's'): + default : + as_warn (_("Condition <%c%c> in structured control directive can not be encoded correctly"), + (char) (cc >> 8), (char) (cc)); + break; } return cc; } @@ -5781,7 +5800,11 @@ reverse_mri_condition (cc) { case MCC ('h', 'i'): return MCC ('l', 's'); case MCC ('l', 's'): return MCC ('h', 'i'); + /* is an alias for */ + case MCC ('h', 's'): return MCC ('l', 'o'); case MCC ('c', 'c'): return MCC ('c', 's'); + /* is an alias for */ + case MCC ('l', 'o'): return MCC ('h', 's'); case MCC ('c', 's'): return MCC ('c', 'c'); case MCC ('n', 'e'): return MCC ('e', 'q'); case MCC ('e', 'q'): return MCC ('n', 'e'); @@ -5848,13 +5871,28 @@ build_mri_control_operand (qual, cc, lef { char *temp; - cc = swap_mri_condition (cc); + /* Correct conditional handling: + if #1 d0 then ;means if (1 < d0) + ... + endi + + should assemble to: + + cmp #1,d0 if we do *not* swap the operands + bgt true we need the swapped condition! + ble false + true: + ... + false: + */ temp = leftstart; leftstart = rightstart; rightstart = temp; temp = leftstop; leftstop = rightstop; rightstop = temp; + } else { + cc = swap_mri_condition (cc); } } @@ -5874,7 +5912,7 @@ build_mri_control_operand (qual, cc, lef *s++ = 'm'; *s++ = 'p'; if (qual != '\0') - *s++ = qual; + *s++ = tolower(qual); *s++ = ' '; memcpy (s, leftstart, leftstop - leftstart); s += leftstop - leftstart; @@ -5892,7 +5930,7 @@ build_mri_control_operand (qual, cc, lef *s++ = cc >> 8; *s++ = cc & 0xff; if (extent != '\0') - *s++ = extent; + *s++ = tolower(extent); *s++ = ' '; strcpy (s, truelab); mri_assemble (buf); @@ -6027,8 +6065,17 @@ s_mri_if (qual) /* A structured control directive must end with THEN with an optional qualifier. */ s = input_line_pointer; - while (! is_end_of_line[(unsigned char) *s] - && (! flag_mri || *s != '*')) + /* We only accept '*' as introduction of comments if preceded by white space + or at first column of a line (I think this can't actually happen here?) + This is important when assembling: + if d0 12(a0,d0*2) then + if d0 #CONST*20 then */ + while ( ! ( is_end_of_line[(unsigned char) *s] + || ( flag_mri + && *s == '*' + && ( s == input_line_pointer + || *(s-1) == ' ' + || *(s-1) == '\t')))) ++s; --s; while (s > input_line_pointer && (*s == ' ' || *s == '\t')) @@ -6133,7 +6180,7 @@ s_mri_else (qual) mri_control_stack->else_seen = 1; buf = (char *) xmalloc (20 + strlen (mri_control_stack->bottom)); - q[0] = qual; + q[0] = tolower(qual); q[1] = '\0'; sprintf (buf, "bra%s %s", q, mri_control_stack->bottom); mri_assemble (buf); @@ -6206,7 +6253,7 @@ s_mri_break (extent) } buf = (char *) xmalloc (20 + strlen (n->bottom)); - ex[0] = extent; + ex[0] = tolower(extent); ex[1] = '\0'; sprintf (buf, "bra%s %s", ex, n->bottom); mri_assemble (buf); @@ -6245,7 +6292,7 @@ s_mri_next (extent) } buf = (char *) xmalloc (20 + strlen (n->next)); - ex[0] = extent; + ex[0] = tolower(extent); ex[1] = '\0'; sprintf (buf, "bra%s %s", ex, n->next); mri_assemble (buf); @@ -6429,7 +6476,7 @@ s_mri_for (qual) *s++ = 'v'; *s++ = 'e'; if (qual != '\0') - *s++ = qual; + *s++ = tolower(qual); *s++ = ' '; memcpy (s, initstart, initstop - initstart); s += initstop - initstart; @@ -6447,7 +6494,7 @@ s_mri_for (qual) *s++ = 'm'; *s++ = 'p'; if (qual != '\0') - *s++ = qual; + *s++ = tolower(qual); *s++ = ' '; memcpy (s, endstart, endstop - endstart); s += endstop - endstart; @@ -6458,7 +6505,7 @@ s_mri_for (qual) mri_assemble (buf); /* bcc bottom */ - ex[0] = extent; + ex[0] = tolower(extent); ex[1] = '\0'; if (up) sprintf (buf, "blt%s %s", ex, n->bottom); @@ -6474,7 +6521,7 @@ s_mri_for (qual) strcpy (s, "sub"); s += 3; if (qual != '\0') - *s++ = qual; + *s++ = tolower(qual); *s++ = ' '; memcpy (s, bystart, bystop - bystart); s += bystop - bystart; @@ -6597,8 +6644,17 @@ s_mri_while (qual) struct mri_control_info *n; s = input_line_pointer; - while (! is_end_of_line[(unsigned char) *s] - && (! flag_mri || *s != '*')) + /* We only accept '*' as introduction of comments if preceded by white space + or at first column of a line (I think this can't actually happen here?) + This is important when assembling: + while d0 12(a0,d0*2) do + while d0 #CONST*20 do */ + while ( ! ( is_end_of_line[(unsigned char) *s] + || ( flag_mri + && *s == '*' + && ( s == input_line_pointer + || *(s-1) == ' ' + || *(s-1) == '\t')))) s++; --s; while (*s == ' ' || *s == '\t') diff -uprN binutils-2.11.90.0.15/gas/config/tc-mips.c binutils-2.11.90.0.19/gas/config/tc-mips.c --- binutils-2.11.90.0.15/gas/config/tc-mips.c Sun Jun 10 10:55:09 2001 +++ binutils-2.11.90.0.19/gas/config/tc-mips.c Tue Jun 19 11:57:57 2001 @@ -9331,6 +9331,7 @@ MIPS options:\n\ fprintf (stream, _("\ -O0 remove unneeded NOPs, do not swap branches\n\ -O remove unneeded NOPs and swap branches\n\ +-n warn about NOPs generated from macros\n\ --[no-]construct-floats [dis]allow floating point values to be constructed\n\ --trap, --no-break trap exception on div by 0 and mult overflow\n\ --break, --no-trap break exception on div by 0 and mult overflow\n")); diff -uprN binutils-2.11.90.0.15/gas/config/tc-ppc.c binutils-2.11.90.0.19/gas/config/tc-ppc.c --- binutils-2.11.90.0.15/gas/config/tc-ppc.c Fri Jun 1 20:49:11 2001 +++ binutils-2.11.90.0.19/gas/config/tc-ppc.c Wed Jun 20 12:19:37 2001 @@ -2340,7 +2340,8 @@ static boolean ppc_stab_symbol; /* The .comm and .lcomm pseudo-ops for XCOFF. XCOFF puts common symbols in the .bss segment as though they were local common - symbols, and uses a different smclas. */ + symbols, and uses a different smclas. The native Aix 4.3.3 assember + aligns .comm and .lcomm to 4 bytes. */ static void ppc_comm (lcomm) @@ -2382,7 +2383,7 @@ ppc_comm (lcomm) { /* The third argument to .comm is the alignment. */ if (*input_line_pointer != ',') - align = 3; + align = 2; else { ++input_line_pointer; @@ -2390,7 +2391,7 @@ ppc_comm (lcomm) if (align <= 0) { as_warn (_("ignoring bad alignment")); - align = 3; + align = 2; } } } @@ -2399,11 +2400,7 @@ ppc_comm (lcomm) char *lcomm_name; char lcomm_endc; - if (size <= 1) - align = 0; - else if (size <= 2) - align = 1; - else if (size <= 4) + if (size <= 4) align = 2; else align = 3; diff -uprN binutils-2.11.90.0.15/gas/config/tc-sh.c binutils-2.11.90.0.19/gas/config/tc-sh.c --- binutils-2.11.90.0.15/gas/config/tc-sh.c Fri Apr 6 15:33:06 2001 +++ binutils-2.11.90.0.19/gas/config/tc-sh.c Tue Jun 19 11:57:57 2001 @@ -97,8 +97,10 @@ const pseudo_typeS md_pseudo_table[] = {"2byte", s_uacons, 2}, {"4byte", s_uacons, 4}, {"8byte", s_uacons, 8}, +#ifdef BFD_ASSEMBLER {"file", dwarf2_directive_file, 0 }, {"loc", dwarf2_directive_loc, 0 }, +#endif {0, 0, 0} }; @@ -1945,7 +1947,9 @@ md_assemble (str) } } +#ifdef BFD_ASSEMBLER dwarf2_emit_insn (size); +#endif } /* This routine is called each time a label definition is seen. It diff -uprN binutils-2.11.90.0.15/gas/doc/Makefile.am binutils-2.11.90.0.19/gas/doc/Makefile.am --- binutils-2.11.90.0.15/gas/doc/Makefile.am Tue Mar 27 08:55:14 2001 +++ binutils-2.11.90.0.19/gas/doc/Makefile.am Tue Jun 19 11:57:57 2001 @@ -65,14 +65,17 @@ MAINTAINERCLEANFILES = gasver.texi # Maintenance +# We need it for the taz target in ../../Makefile.in. +info: $(MANS) + # Build the man page from the texinfo file # The sed command removes the no-adjust Nroff command so that # the man output looks standard. -$(srcdir)/as.1: $(srcdir)/as.texinfo - touch $(srcdir)/as.1 +as.1: $(srcdir)/as.texinfo + touch $@ -$(TEXI2POD) $(MANCONF) < $(srcdir)/as.texinfo > as.pod -($(POD2MAN) as.pod | \ - sed -e '/^.if n .na/d' > $(srcdir)/as.1.T$$$$ && \ - mv -f $(srcdir)/as.1.T$$$$ $(srcdir)/as.1) || \ - (rm -f $(srcdir)/as.1.T$$$$ && exit 1) - + sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || \ + (rm -f $@.T$$$$ && exit 1) + rm -f as.pod diff -uprN binutils-2.11.90.0.15/gas/doc/Makefile.in binutils-2.11.90.0.19/gas/doc/Makefile.in --- binutils-2.11.90.0.15/gas/doc/Makefile.in Wed May 2 23:45:37 2001 +++ binutils-2.11.90.0.19/gas/doc/Makefile.in Tue Jun 19 11:57:57 2001 @@ -183,7 +183,7 @@ DIST_COMMON = Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar +TAR = gtar GZIP_ENV = --best all: all-redirect .SUFFIXES: @@ -457,16 +457,20 @@ as.dvi: $(srcdir)/as.texinfo asconfig.te # Maintenance +# We need it for the taz target in ../../Makefile.in. +info: $(MANS) + # Build the man page from the texinfo file # The sed command removes the no-adjust Nroff command so that # the man output looks standard. -$(srcdir)/as.1: $(srcdir)/as.texinfo - touch $(srcdir)/as.1 +as.1: $(srcdir)/as.texinfo + touch $@ -$(TEXI2POD) $(MANCONF) < $(srcdir)/as.texinfo > as.pod -($(POD2MAN) as.pod | \ - sed -e '/^.if n .na/d' > $(srcdir)/as.1.T$$$$ && \ - mv -f $(srcdir)/as.1.T$$$$ $(srcdir)/as.1) || \ - (rm -f $(srcdir)/as.1.T$$$$ && exit 1) + sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || \ + (rm -f $@.T$$$$ && exit 1) + rm -f as.pod # 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. diff -uprN binutils-2.11.90.0.15/gas/doc/as.1 binutils-2.11.90.0.19/gas/doc/as.1 --- binutils-2.11.90.0.15/gas/doc/as.1 Tue Apr 24 09:13:08 2001 +++ binutils-2.11.90.0.19/gas/doc/as.1 Wed Dec 31 16:00:00 1969 @@ -1,720 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Fri Apr 13 11:27:39 2001 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.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. | will give a -.\" real vertical bar. \*(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-|\(bv\*(Tr -.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\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -. . -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" 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 "AS 1" -.TH AS 1 "binutils-2.11.90" "2001-04-13" "GNU" -.UC -.SH "NAME" -\&\s-1AS\s0 \- the portable \s-1GNU\s0 assembler. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -as [ \-a[cdhlns][=file] ] [ \-D ] [ \-\-defsym \fIsym\fR=\fIval\fR ] - [ \-f ] [ \-\-gstabs ] [ \-\-gdwarf2 ] [ \-\-help ] [ \-I \fIdir\fR ] - [ \-J ] [ \-K ] [ \-L ] - [ \-\-listing\*(--lhs-width=NUM ][ \-\-listing-lhs-width2=NUM ] - [ \-\-listing-rhs-width=NUM ][ \-\-listing-cont-lines=NUM ] - [ \-\-keep-locals ] [ \-o \fIobjfile\fR ] [ \-R ] [ \-\-statistics ] [ \-v ] - [ \-version ] [ \-\-version ] [ \-W ] [ \-\-warn ] [ \-\-fatal-warnings ] - [ \-w ] [ \-x ] [ \-Z ] [ \-\-target-help ] - [ \-marc[5|6|7|8] ] - [ \-EB | \-EL ] - [ \-m[arm]1 | \-m[arm]2 | \-m[arm]250 | \-m[arm]3 | - \-m[arm]6 | \-m[arm]60 | \-m[arm]600 | \-m[arm]610 | - \-m[arm]620 | \-m[arm]7[t][[d]m[i]][fe] | \-m[arm]70 | - \-m[arm]700 | \-m[arm]710[c] | \-m[arm]7100 | - \-m[arm]7500 | \-m[arm]8 | \-m[arm]810 | \-m[arm]9 | - \-m[arm]920 | \-m[arm]920t | \-m[arm]9tdmi | - \-mstrongarm | \-mstrongarm110 | \-mstrongarm1100 ] - [ \-m[arm]v2 | \-m[arm]v2a | \-m[arm]v3 | \-m[arm]v3m | - \-m[arm]v4 | \-m[arm]v4t | \-m[arm]v5 | \-[arm]v5t | - \-[arm]v5te ] - [ \-mthumb | \-mall ] - [ \-mfpa10 | \-mfpa11 | \-mfpe-old | \-mno-fpu ] - [ \-EB | \-EL ] - [ \-mapcs-32 | \-mapcs-26 | \-mapcs-float | - \-mapcs-reentrant ] - [ \-mthumb-interwork ] [ \-moabi ] [ \-k ] - [ \-O ] - [ \-O | \-n | \-N ] - [ \-mb | \-me ] - [ \-Av6 | \-Av7 | \-Av8 | \-Asparclet | \-Asparclite - \-Av8plus | \-Av8plusa | \-Av9 | \-Av9a ] - [ \-xarch=v8plus | \-xarch=v8plusa ] [ \-bump ] - [ \-32 | \-64 ] - [ \-ACA | \-ACA_A | \-ACB | \-ACC | \-AKA | \-AKB | - \-AKC | \-AMC ] - [ \-b ] [ \-no-relax ] - [ \-\-m32rx | \-\-[no-]warn-explicit-parallel-conflicts | - \-\-W[n]p ] - [ \-l ] [ \-m68000 | \-m68010 | \-m68020 | ... ] - [ \-jsri2bsr ] [ \-sifilter ] [ \-relax ] - [ \-mcpu=[210|340] ] - [ \-m68hc11 | \-m68hc12 ] - [ \-\-force-long-branchs ] [ \-\-short-branchs ] - [ \-\-strict-direct-mode ] [ \-\-print-insn-syntax ] - [ \-\-print-opcodes ] [ \-\-generate-example ] - [ \-nocpp ] [ \-EL ] [ \-EB ] [ \-G \fInum\fR ] [ \-mcpu=\fI\s-1CPU\s0\fR ] - [ \-mips1 ] [ \-mips2 ] [ \-mips3 ] [ \-mips4 ] [ \-mips5 ] - [ \-mips32 ] [ \-mips64 ] - [ \-m4650 ] [ \-no-m4650 ] - [ \-\-trap ] [ \-\-break ] - [ \-\-emulation=\fIname\fR ] - [ \*(-- | \fIfiles\fR ... ] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\s-1GNU\s0 \f(CW\*(C`as\*(C'\fR is really a family of assemblers. -If you use (or have used) the \s-1GNU\s0 assembler on one architecture, you -should find a fairly similar environment when you use it on another -architecture. Each version has much in common with the others, -including object file formats, most assembler directives (often called -\&\fIpseudo-ops\fR) and assembler syntax. -.PP -\&\f(CW\*(C`as\*(C'\fR is primarily intended to assemble the output of the -\&\s-1GNU\s0 C compiler for use by the linker -\&. Nevertheless, we've tried to make \f(CW\*(C`as\*(C'\fR -assemble correctly everything that other assemblers for the same -machine would assemble. -Any exceptions are documented explicitly. -This doesn't mean \f(CW\*(C`as\*(C'\fR always uses the same syntax as another -assembler for the same architecture; for example, we know of several -incompatible versions of 680x0 assembly language syntax. -.PP -Each time you run \f(CW\*(C`as\*(C'\fR it assembles exactly one source -program. The source program is made up of one or more files. -(The standard input is also a file.) -.PP -You give \f(CW\*(C`as\*(C'\fR a command line that has zero or more input file -names. The input files are read (from left file name to right). A -command line argument (in any position) that has no special meaning -is taken to be an input file name. -.PP -If you give \f(CW\*(C`as\*(C'\fR no file names it attempts to read one input file -from the \f(CW\*(C`as\*(C'\fR standard input, which is normally your terminal. You -may have to type \fBctl-D\fR to tell \f(CW\*(C`as\*(C'\fR there is no more program -to assemble. -.PP -Use \fB\--\fR if you need to explicitly name the standard input file -in your command line. -.PP -If the source is empty, \f(CW\*(C`as\*(C'\fR produces a small, empty object -file. -.PP -\&\f(CW\*(C`as\*(C'\fR may write warnings and error messages to the standard error -file (usually your terminal). This should not happen when a compiler -runs \f(CW\*(C`as\*(C'\fR automatically. Warnings report an assumption made so -that \f(CW\*(C`as\*(C'\fR could keep assembling a flawed program; errors report a -grave problem that stops the assembly. -.PP -If you are invoking \f(CW\*(C`as\*(C'\fR via the \s-1GNU\s0 C compiler (version 2), -you can use the \fB\-Wa\fR option to pass arguments through to the assembler. -The assembler arguments must be separated from each other (and the \fB\-Wa\fR) -by commas. For example: -.PP -.Vb 1 -\& gcc -c -g -O -Wa,-alh,-L file.c -.Ve -This passes two options to the assembler: \fB\-alh\fR (emit a listing to -standard output with with high-level and assembly source) and \fB\-L\fR (retain -local symbols in the symbol table). -.PP -Usually you do not need to use this \fB\-Wa\fR mechanism, since many compiler -command-line options are automatically passed to the assembler by the compiler. -(You can call the \s-1GNU\s0 compiler driver with the \fB\-v\fR option to see -precisely what options it passes to each compilation pass, including the -assembler.) -.SH "OPTIONS" -.IX Header "OPTIONS" -.Ip "\f(CW\*(C`\-a[cdhlmns]\*(C'\fR" 4 -.IX Item "-a[cdhlmns]" -Turn on listings, in any of a variety of ways: -.RS 4 -.Ip "\f(CW\*(C`\-ac\*(C'\fR" 4 -.IX Item "-ac" -omit false conditionals -.Ip "\f(CW\*(C`\-ad\*(C'\fR" 4 -.IX Item "-ad" -omit debugging directives -.Ip "\f(CW\*(C`\-ah\*(C'\fR" 4 -.IX Item "-ah" -include high-level source -.Ip "\f(CW\*(C`\-al\*(C'\fR" 4 -.IX Item "-al" -include assembly -.Ip "\f(CW\*(C`\-am\*(C'\fR" 4 -.IX Item "-am" -include macro expansions -.Ip "\f(CW\*(C`\-an\*(C'\fR" 4 -.IX Item "-an" -omit forms processing -.Ip "\f(CW\*(C`\-as\*(C'\fR" 4 -.IX Item "-as" -include symbols -.Ip "\f(CW\*(C`=file\*(C'\fR" 4 -.IX Item "=file" -set the name of the listing file -.RE -.RS 4 -.Sp -You may combine these options; for example, use \fB\-aln\fR for assembly -listing without forms processing. The \fB=file\fR option, if used, must be -the last one. By itself, \fB\-a\fR defaults to \fB\-ahls\fR. -.RE -.Ip "\f(CW\*(C`\-D\*(C'\fR" 4 -.IX Item "-D" -Ignored. This option is accepted for script compatibility with calls to -other assemblers. -.Ip "\f(CW\*(C`\-\-defsym \f(CIsym\f(CW=\f(CIvalue\f(CW\*(C'\fR" 4 -.IX Item "--defsym sym=value" -Define the symbol \fIsym\fR to be \fIvalue\fR before assembling the input file. -\&\fIvalue\fR must be an integer constant. As in C, a leading \fB0x\fR -indicates a hexadecimal value, and a leading \fB0\fR indicates an octal value. -.Ip "\f(CW\*(C`\-f\*(C'\fR" 4 -.IX Item "-f" -``fast''\-\-\-skip whitespace and comment preprocessing (assume source is -compiler output). -.Ip "\f(CW\*(C`\-\-gstabs\*(C'\fR" 4 -.IX Item "--gstabs" -Generate stabs debugging information for each assembler line. This -may help debugging assembler code, if the debugger can handle it. -.Ip "\f(CW\*(C`\-\-gdwarf2\*(C'\fR" 4 -.IX Item "--gdwarf2" -Generate \s-1DWARF2\s0 debugging information for each assembler line. This -may help debugging assembler code, if the debugger can handle it. Note \- this -option is only supported by some targets, not all of them. -.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 -.IX Item "--help" -Print a summary of the command line options and exit. -.Ip "\f(CW\*(C`\-\-target\-help\*(C'\fR" 4 -.IX Item "--target-help" -Print a summary of all target specific options and exit. -.Ip "\f(CW\*(C`\-I \f(CIdir\f(CW\*(C'\fR" 4 -.IX Item "-I dir" -Add directory \fIdir\fR to the search list for \f(CW\*(C`.include\*(C'\fR directives. -.Ip "\f(CW\*(C`\-J\*(C'\fR" 4 -.IX Item "-J" -Don't warn about signed overflow. -.Ip "\f(CW\*(C`\-K\*(C'\fR" 4 -.IX Item "-K" -This option is accepted but has no effect on the \s-1TARGET\s0 family. -.Ip "\f(CW\*(C`\-L\*(C'\fR" 4 -.IX Item "-L" -.Ip "\f(CW\*(C`\-\-keep\-locals\*(C'\fR" 4 -.IX Item "--keep-locals" -Keep (in the symbol table) local symbols. On traditional a.out systems -these start with \fBL\fR, but different systems have different local -label prefixes. -.Ip "\f(CW\*(C`\-\-listing\-lhs\-width=\f(CInumber\f(CW\*(C'\fR" 4 -.IX Item "--listing-lhs-width=number" -Set the maximum width, in words, of the output data column for an assembler -listing to \fInumber\fR. -.Ip "\f(CW\*(C`\-\-listing\-lhs\-width2=\f(CInumber\f(CW\*(C'\fR" 4 -.IX Item "--listing-lhs-width2=number" -Set the maximum width, in words, of the output data column for continuation -lines in an assembler listing to \fInumber\fR. -.Ip "\f(CW\*(C`\-\-listing\-rhs\-width=\f(CInumber\f(CW\*(C'\fR" 4 -.IX Item "--listing-rhs-width=number" -Set the maximum width of an input source line, as displayed in a listing, to -\&\fInumber\fR bytes. -.Ip "\f(CW\*(C`\-\-listing\-cont\-lines=\f(CInumber\f(CW\*(C'\fR" 4 -.IX Item "--listing-cont-lines=number" -Set the maximum number of lines printed in a listing for a single line of input -to \fInumber\fR + 1. -.Ip "\f(CW\*(C`\-o \f(CIobjfile\f(CW\*(C'\fR" 4 -.IX Item "-o objfile" -Name the object-file output from \f(CW\*(C`as\*(C'\fR \fIobjfile\fR. -.Ip "\f(CW\*(C`\-R\*(C'\fR" 4 -.IX Item "-R" -Fold the data section into the text section. -.Ip "\f(CW\*(C`\-\-statistics\*(C'\fR" 4 -.IX Item "--statistics" -Print the maximum space (in bytes) and total time (in seconds) used by -assembly. -.Ip "\f(CW\*(C`\-\-strip\-local\-absolute\*(C'\fR" 4 -.IX Item "--strip-local-absolute" -Remove local absolute symbols from the outgoing symbol table. -.Ip "\f(CW\*(C`\-v\*(C'\fR" 4 -.IX Item "-v" -.Ip "\f(CW\*(C`\-version\*(C'\fR" 4 -.IX Item "-version" -Print the \f(CW\*(C`as\*(C'\fR version. -.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 -.IX Item "--version" -Print the \f(CW\*(C`as\*(C'\fR version and exit. -.Ip "\f(CW\*(C`\-W\*(C'\fR" 4 -.IX Item "-W" -.Ip "\f(CW\*(C`\-\-no\-warn\*(C'\fR" 4 -.IX Item "--no-warn" -Suppress warning messages. -.Ip "\f(CW\*(C`\-\-fatal\-warnings\*(C'\fR" 4 -.IX Item "--fatal-warnings" -Treat warnings as errors. -.Ip "\f(CW\*(C`\-\-warn\*(C'\fR" 4 -.IX Item "--warn" -Don't suppress warning messages or treat them as errors. -.Ip "\f(CW\*(C`\-w\*(C'\fR" 4 -.IX Item "-w" -Ignored. -.Ip "\f(CW\*(C`\-x\*(C'\fR" 4 -.IX Item "-x" -Ignored. -.Ip "\f(CW\*(C`\-Z\*(C'\fR" 4 -.IX Item "-Z" -Generate an object file even after errors. -.Ip "\f(CW\*(C`\-\- | \f(CIfiles\f(CW ...\*(C'\fR" 4 -.IX Item "-- | files ..." -Standard input, or source files to assemble. -.PP -The following options are available when as is configured for -an \s-1ARC\s0 processor. -.Ip "\f(CW\*(C`\-marc[5|6|7|8]\*(C'\fR" 4 -.IX Item "-marc[5|6|7|8]" -This option selects the core processor variant. -.Ip "\f(CW\*(C`\-EB | \-EL\*(C'\fR" 4 -.IX Item "-EB | -EL" -Select either big-endian (\-EB) or little-endian (\-EL) output. -.PP -The following options are available when as is configured for the \s-1ARM\s0 -processor family. -.Ip "\f(CW\*(C`\-m[arm][1|2|3|6|7|8|9][...] \*(C'\fR" 4 -.IX Item "-m[arm][1|2|3|6|7|8|9][...] " -Specify which \s-1ARM\s0 processor variant is the target. -.Ip "\f(CW\*(C`\-m[arm]v[2|2a|3|3m|4|4t|5|5t]\*(C'\fR" 4 -.IX Item "-m[arm]v[2|2a|3|3m|4|4t|5|5t]" -Specify which \s-1ARM\s0 architecture variant is used by the target. -.Ip "\f(CW\*(C`\-mthumb | \-mall\*(C'\fR" 4 -.IX Item "-mthumb | -mall" -Enable or disable Thumb only instruction decoding. -.Ip "\f(CW\*(C`\-mfpa10 | \-mfpa11 | \-mfpe\-old | \-mno\-fpu\*(C'\fR" 4 -.IX Item "-mfpa10 | -mfpa11 | -mfpe-old | -mno-fpu" -Select which Floating Point architecture is the target. -.Ip "\f(CW\*(C`\-mapcs\-32 | \-mapcs\-26 | \-mapcs\-float | \-mapcs\-reentrant | \-moabi\*(C'\fR" 4 -.IX Item "-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant | -moabi" -Select which procedure calling convention is in use. -.Ip "\f(CW\*(C`\-EB | \-EL\*(C'\fR" 4 -.IX Item "-EB | -EL" -Select either big-endian (\-EB) or little-endian (\-EL) output. -.Ip "\f(CW\*(C`\-mthumb\-interwork\*(C'\fR" 4 -.IX Item "-mthumb-interwork" -Specify that the code has been generated with interworking between Thumb and -\&\s-1ARM\s0 code in mind. -.Ip "\f(CW\*(C`\-k\*(C'\fR" 4 -.IX Item "-k" -Specify that \s-1PIC\s0 code has been generated. -.PP -The following options are available when as is configured for -a D10V processor. -.Ip "\f(CW\*(C`\-O\*(C'\fR" 4 -.IX Item "-O" -Optimize output by parallelizing instructions. -.PP -The following options are available when as is configured for a D30V -processor. -.Ip "\f(CW\*(C`\-O\*(C'\fR" 4 -.IX Item "-O" -Optimize output by parallelizing instructions. -.Ip "\f(CW\*(C`\-n\*(C'\fR" 4 -.IX Item "-n" -Warn when nops are generated. -.Ip "\f(CW\*(C`\-N\*(C'\fR" 4 -.IX Item "-N" -Warn when a nop after a 32\-bit multiply instruction is generated. -.PP -The following options are available when as is configured for the -Intel 80960 processor. -.Ip "\f(CW\*(C`\-ACA | \-ACA_A | \-ACB | \-ACC | \-AKA | \-AKB | \-AKC | \-AMC\*(C'\fR" 4 -.IX Item "-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC" -Specify which variant of the 960 architecture is the target. -.Ip "\f(CW\*(C`\-b\*(C'\fR" 4 -.IX Item "-b" -Add code to collect statistics about branches taken. -.Ip "\f(CW\*(C`\-no\-relax\*(C'\fR" 4 -.IX Item "-no-relax" -Do not alter compare-and-branch instructions for long displacements; -error if necessary. -.PP -The following options are available when as is configured for the -Mitsubishi M32R series. -.Ip "\f(CW\*(C`\-\-m32rx\*(C'\fR" 4 -.IX Item "--m32rx" -Specify which processor in the M32R family is the target. The default -is normally the M32R, but this option changes it to the M32RX. -.Ip "\f(CW\*(C`\-\-warn\-explicit\-parallel\-conflicts or \-\-Wp\*(C'\fR" 4 -.IX Item "--warn-explicit-parallel-conflicts or --Wp" -Produce warning messages when questionable parallel constructs are -encountered. -.Ip "\f(CW\*(C`\-\-no\-warn\-explicit\-parallel\-conflicts or \-\-Wnp\*(C'\fR" 4 -.IX Item "--no-warn-explicit-parallel-conflicts or --Wnp" -Do not produce warning messages when questionable parallel constructs are -encountered. -.PP -The following options are available when as is configured for the -Motorola 68000 series. -.Ip "\f(CW\*(C`\-l\*(C'\fR" 4 -.IX Item "-l" -Shorten references to undefined symbols, to one word instead of two. -.Ip "\f(CW\*(C`\-m68000 | \-m68008 | \-m68010 | \-m68020 | \-m68030\*(C'\fR" 4 -.IX Item "-m68000 | -m68008 | -m68010 | -m68020 | -m68030" -.Ip "\f(CW\*(C`| \-m68040 | \-m68060 | \-m68302 | \-m68331 | \-m68332\*(C'\fR" 4 -.IX Item "| -m68040 | -m68060 | -m68302 | -m68331 | -m68332" -.Ip "\f(CW\*(C`| \-m68333 | \-m68340 | \-mcpu32 | \-m5200\*(C'\fR" 4 -.IX Item "| -m68333 | -m68340 | -mcpu32 | -m5200" -Specify what processor in the 68000 family is the target. The default -is normally the 68020, but this can be changed at configuration time. -.Ip "\f(CW\*(C`\-m68881 | \-m68882 | \-mno\-68881 | \-mno\-68882\*(C'\fR" 4 -.IX Item "-m68881 | -m68882 | -mno-68881 | -mno-68882" -The target machine does (or does not) have a floating-point coprocessor. -The default is to assume a coprocessor for 68020, 68030, and cpu32. Although -the basic 68000 is not compatible with the 68881, a combination of the -two can be specified, since it's possible to do emulation of the -coprocessor instructions with the main processor. -.Ip "\f(CW\*(C`\-m68851 | \-mno\-68851\*(C'\fR" 4 -.IX Item "-m68851 | -mno-68851" -The target machine does (or does not) have a memory-management -unit coprocessor. The default is to assume an \s-1MMU\s0 for 68020 and up. -.PP -For details about the \s-1PDP-11\s0 machine dependent features options, -see \f(CW@ref\fR{PDP-11\-Options}. -.Ip "\f(CW\*(C`\-mpic | \-mno\-pic\*(C'\fR" 4 -.IX Item "-mpic | -mno-pic" -Generate position-independent (or position-dependent) code. The -default is \f(CW\*(C`\-mpic\*(C'\fR. -.Ip "\f(CW\*(C`\-mall\*(C'\fR" 4 -.IX Item "-mall" -.Ip "\f(CW\*(C`\-mall\-extensions\*(C'\fR" 4 -.IX Item "-mall-extensions" -Enable all instruction set extensions. This is the default. -.Ip "\f(CW\*(C`\-mno\-extensions\*(C'\fR" 4 -.IX Item "-mno-extensions" -Disable all instruction set extensions. -.Ip "\f(CW\*(C`\-m\f(CIextension\f(CW | \-mno\-\f(CIextension\f(CW\*(C'\fR" 4 -.IX Item "-mextension | -mno-extension" -Enable (or disable) a particular instruction set extension. -.Ip "\f(CW\*(C`\-m\f(CIcpu\f(CW\*(C'\fR" 4 -.IX Item "-mcpu" -Enable the instruction set extensions supported by a particular \s-1CPU\s0, and -disable all other extensions. -.Ip "\f(CW\*(C`\-m\f(CImachine\f(CW\*(C'\fR" 4 -.IX Item "-mmachine" -Enable the instruction set extensions supported by a particular machine -model, and disable all other extensions. -.PP -The following options are available when as is configured for -a picoJava processor. -.Ip "\f(CW\*(C`\-mb\*(C'\fR" 4 -.IX Item "-mb" -Generate ``big endian'' format output. -.Ip "\f(CW\*(C`\-ml\*(C'\fR" 4 -.IX Item "-ml" -Generate ``little endian'' format output. -.PP -The following options are available when as is configured for the -Motorola 68HC11 or 68HC12 series. -.Ip "\f(CW\*(C`\-m68hc11 | \-m68hc12\*(C'\fR" 4 -.IX Item "-m68hc11 | -m68hc12" -Specify what processor is the target. The default is -defined by the configuration option when building the assembler. -.Ip "\f(CW\*(C`\-\-force\-long\-branchs\*(C'\fR" 4 -.IX Item "--force-long-branchs" -Relative branches are turned into absolute ones. This concerns -conditional branches, unconditional branches and branches to a -sub routine. -.Ip "\f(CW\*(C`\-S | \-\-short\-branchs\*(C'\fR" 4 -.IX Item "-S | --short-branchs" -Do not turn relative branchs into absolute ones -when the offset is out of range. -.Ip "\f(CW\*(C`\-\-strict\-direct\-mode\*(C'\fR" 4 -.IX Item "--strict-direct-mode" -Do not turn the direct addressing mode into extended addressing mode -when the instruction does not support direct addressing mode. -.Ip "\f(CW\*(C`\-\-print\-insn\-syntax\*(C'\fR" 4 -.IX Item "--print-insn-syntax" -Print the syntax of instruction in case of error. -.Ip "\f(CW\*(C`\-\-print\-opcodes\*(C'\fR" 4 -.IX Item "--print-opcodes" -print the list of instructions with syntax and then exit. -.Ip "\f(CW\*(C`\-\-generate\-example\*(C'\fR" 4 -.IX Item "--generate-example" -print an example of instruction for each possible instruction and then exit. -This option is only useful for testing \f(CW\*(C`as\*(C'\fR. -.PP -The following options are available when \f(CW\*(C`as\*(C'\fR is configured -for the \s-1SPARC\s0 architecture: -.Ip "\f(CW\*(C`\-Av6 | \-Av7 | \-Av8 | \-Asparclet | \-Asparclite\*(C'\fR" 4 -.IX Item "-Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite" -.Ip "\f(CW\*(C`\-Av8plus | \-Av8plusa | \-Av9 | \-Av9a\*(C'\fR" 4 -.IX Item "-Av8plus | -Av8plusa | -Av9 | -Av9a" -Explicitly select a variant of the \s-1SPARC\s0 architecture. -.Sp -\&\fB\-Av8plus\fR and \fB\-Av8plusa\fR select a 32 bit environment. -\&\fB\-Av9\fR and \fB\-Av9a\fR select a 64 bit environment. -.Sp -\&\fB\-Av8plusa\fR and \fB\-Av9a\fR enable the \s-1SPARC\s0 V9 instruction set with -UltraSPARC extensions. -.Ip "\f(CW\*(C`\-xarch=v8plus | \-xarch=v8plusa\*(C'\fR" 4 -.IX Item "-xarch=v8plus | -xarch=v8plusa" -For compatibility with the Solaris v9 assembler. These options are -equivalent to \-Av8plus and \-Av8plusa, respectively. -.Ip "\f(CW\*(C`\-bump\*(C'\fR" 4 -.IX Item "-bump" -Warn when the assembler switches to another architecture. -.PP -The following options are available when as is configured for -a \s-1MIPS\s0 processor. -.Ip "\f(CW\*(C`\-G \f(CInum\f(CW\*(C'\fR" 4 -.IX Item "-G num" -This option sets the largest size of an object that can be referenced -implicitly with the \f(CW\*(C`gp\*(C'\fR register. It is only accepted for targets that -use \s-1ECOFF\s0 format, such as a DECstation running Ultrix. The default value is 8. -.Ip "\f(CW\*(C`\-EB\*(C'\fR" 4 -.IX Item "-EB" -Generate ``big endian'' format output. -.Ip "\f(CW\*(C`\-EL\*(C'\fR" 4 -.IX Item "-EL" -Generate ``little endian'' format output. -.Ip "\f(CW\*(C`\-mips1\*(C'\fR" 4 -.IX Item "-mips1" -.Ip "\f(CW\*(C`\-mips2\*(C'\fR" 4 -.IX Item "-mips2" -.Ip "\f(CW\*(C`\-mips3\*(C'\fR" 4 -.IX Item "-mips3" -.Ip "\f(CW\*(C`\-mips4\*(C'\fR" 4 -.IX Item "-mips4" -.Ip "\f(CW\*(C`\-mips32\*(C'\fR" 4 -.IX Item "-mips32" -Generate code for a particular \s-1MIPS\s0 Instruction Set Architecture level. -\&\fB\-mips1\fR corresponds to the R2000 and R3000 processors, -\&\fB\-mips2\fR to the R6000 processor, and \fB\-mips3\fR to the R4000 -processor. -\&\fB\-mips5\fR, \fB\-mips32\fR, and \fB\-mips64\fR correspond -to generic \s-1MIPS\s0 V, \s-1MIPS32\s0, and \s-1MIPS64\s0 \s-1ISA\s0 -processors, respectively. -.Ip "\f(CW\*(C`\-m4650\*(C'\fR" 4 -.IX Item "-m4650" -.Ip "\f(CW\*(C`\-no\-m4650\*(C'\fR" 4 -.IX Item "-no-m4650" -Generate code for the \s-1MIPS\s0 R4650 chip. This tells the assembler to accept -the \fBmad\fR and \fBmadu\fR instruction, and to not schedule \fBnop\fR -instructions around accesses to the \fB\s-1HI\s0\fR and \fB\s-1LO\s0\fR registers. -\&\fB\-no-m4650\fR turns off this option. -.Ip "\f(CW\*(C`\-mcpu=\f(CI\s\-1CPU\s0\f(CW\*(C'\fR" 4 -.IX Item "-mcpu=CPU" -Generate code for a particular \s-1MIPS\s0 cpu. It is exactly equivalent to -\&\fB\-m\fR\fIcpu\fR, except that there are more value of \fIcpu\fR -understood. -.Ip "\f(CW\*(C`\-\-emulation=\f(CIname\f(CW\*(C'\fR" 4 -.IX Item "--emulation=name" -This option causes \f(CW\*(C`as\*(C'\fR to emulate \f(CW\*(C`as\*(C'\fR configured -for some other target, in all respects, including output format (choosing -between \s-1ELF\s0 and \s-1ECOFF\s0 only), handling of pseudo-opcodes which may generate -debugging information or store symbol table information, and default -endianness. The available configuration names are: \fBmipsecoff\fR, -\&\fBmipself\fR, \fBmipslecoff\fR, \fBmipsbecoff\fR, \fBmipslelf\fR, -\&\fBmipsbelf\fR. The first two do not alter the default endianness from that -of the primary target for which the assembler was configured; the others change -the default to little- or big-endian as indicated by the \fBb\fR or \fBl\fR -in the name. Using \fB\-EB\fR or \fB\-EL\fR will override the endianness -selection in any case. -.Sp -This option is currently supported only when the primary target -\&\f(CW\*(C`as\*(C'\fR is configured for is a \s-1MIPS\s0 \s-1ELF\s0 or \s-1ECOFF\s0 target. -Furthermore, the primary target or others specified with -\&\fB\*(--enable-targets=...\fR at configuration time must include support for -the other format, if both are to be available. For example, the Irix 5 -configuration includes support for both. -.Sp -Eventually, this option will support more configurations, with more -fine-grained control over the assembler's behavior, and will be supported for -more processors. -.Ip "\f(CW\*(C`\-nocpp\*(C'\fR" 4 -.IX Item "-nocpp" -\&\f(CW\*(C`as\*(C'\fR ignores this option. It is accepted for compatibility with -the native tools. -.Ip "\f(CW\*(C`\-\-trap\*(C'\fR" 4 -.IX Item "--trap" -.Ip "\f(CW\*(C`\-\-no\-trap\*(C'\fR" 4 -.IX Item "--no-trap" -.Ip "\f(CW\*(C`\-\-break\*(C'\fR" 4 -.IX Item "--break" -.Ip "\f(CW\*(C`\-\-no\-break\*(C'\fR" 4 -.IX Item "--no-break" -Control how to deal with multiplication overflow and division by zero. -\&\fB\*(--trap\fR or \fB\*(--no-break\fR (which are synonyms) take a trap exception -(and only work for Instruction Set Architecture level 2 and higher); -\&\fB\*(--break\fR or \fB\*(--no-trap\fR (also synonyms, and the default) take a -break exception. -.PP -The following options are available when as is configured for -an MCore processor. -.Ip "\f(CW\*(C`\-jsri2bsr\*(C'\fR" 4 -.IX Item "-jsri2bsr" -.Ip "\f(CW\*(C`\-nojsri2bsr\*(C'\fR" 4 -.IX Item "-nojsri2bsr" -Enable or disable the \s-1JSRI\s0 to \s-1BSR\s0 transformation. By default this is enabled. -The command line option \fB\-nojsri2bsr\fR can be used to disable it. -.Ip "\f(CW\*(C`\-sifilter\*(C'\fR" 4 -.IX Item "-sifilter" -.Ip "\f(CW\*(C`\-nosifilter\*(C'\fR" 4 -.IX Item "-nosifilter" -Enable or disable the silicon filter behaviour. By default this is disabled. -The default can be overridden by the \fB\-sifilter\fR command line option. -.Ip "\f(CW\*(C`\-relax\*(C'\fR" 4 -.IX Item "-relax" -Alter jump instructions for long displacements. -.Ip "\f(CW\*(C`\-mcpu=[210|340]\*(C'\fR" 4 -.IX Item "-mcpu=[210|340]" -Select the cpu type on the target hardware. This controls which instructions -can be assembled. -.Ip "\f(CW\*(C`\-EB\*(C'\fR" 4 -.IX Item "-EB" -Assemble for a big endian target. -.Ip "\f(CW\*(C`\-EL\*(C'\fR" 4 -.IX Item "-EL" -Assemble for a little endian target. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIgcc\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIbinutils\fR and \fIld\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1 -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 -uprN binutils-2.11.90.0.15/gas/doc/as.texinfo binutils-2.11.90.0.19/gas/doc/as.texinfo --- binutils-2.11.90.0.15/gas/doc/as.texinfo Tue Mar 27 08:55:14 2001 +++ binutils-2.11.90.0.19/gas/doc/as.texinfo Tue Jun 19 11:57:57 2001 @@ -332,7 +332,7 @@ gcc(1), ld(1), and the Info entries for [ -mips1 ] [ -mips2 ] [ -mips3 ] [ -mips4 ] [ -mips5 ] [ -mips32 ] [ -mips64 ] [ -m4650 ] [ -no-m4650 ] - [ --trap ] [ --break ] + [ --trap ] [ --break ] [ -n ] [ --emulation=@var{name} ] @end ifset [ -- | @var{files} @dots{} ] @@ -829,6 +829,10 @@ Control how to deal with multiplication (and only work for Instruction Set Architecture level 2 and higher); @samp{--break} or @samp{--no-trap} (also synonyms, and the default) take a break exception. + +@item -n +When this option is used, @code{@value{AS}} will issue a warning every +time it generates a nop instruction from a macro. @end table @end ifset @@ -3307,7 +3311,7 @@ Intermediate precedence @end table @item -Lowest Precedence +Low Precedence @table @code @cindex addition, permitted arguments @@ -3327,6 +3331,41 @@ result has the section of the left argum If both arguments are in the same section, the result is absolute. You may not subtract arguments from different sections. @c FIXME is there still something useful to say about undefined - undefined ? + +@cindex comparison expressions +@cindex expressions, comparison +@item == +@dfn{Is Equal To} +@item <> +@dfn{Is Not Equal To} +@item < +@dfn{Is Less Than} +@itemx > +@dfn{Is Greater Than} +@itemx >= +@dfn{Is Greater Than Or Equal To} +@itemx <= +@dfn{Is Less Than Or Equal To} + +The comparison operators can be used as infix operators. A true results has a +value of -1 whereas a false result has a value of 0. Note, these operators +perform signed comparisons. +@end table + +@item Lowest Precedence + +@table @code +@item && +@dfn{Logical And}. + +@item || +@dfn{Logical Or}. + +These two logical operations can be used to combine the results of sub +expressions. Note, unlike the comparison operators a true result returns a +value of 1 but a false results does still return 0. Also note that the logical +or operator has a slightly lower precedence than logical and. + @end table @end enumerate diff -uprN binutils-2.11.90.0.15/gas/doc/c-mips.texi binutils-2.11.90.0.19/gas/doc/c-mips.texi --- binutils-2.11.90.0.15/gas/doc/c-mips.texi Fri Mar 9 11:17:15 2001 +++ binutils-2.11.90.0.19/gas/doc/c-mips.texi Tue Jun 19 11:57:57 2001 @@ -189,6 +189,10 @@ are only supported at Instruction Set Ar @itemx --no-trap Generate code to take a break exception rather than a trap exception when an error is detected. This is the default. + +@item -n +When this option is used, @code{@value{AS}} will issue a warning every +time it generates a nop instruction from a macro. @end table @node MIPS Object diff -uprN binutils-2.11.90.0.15/gas/dwarf2dbg.c binutils-2.11.90.0.19/gas/dwarf2dbg.c --- binutils-2.11.90.0.15/gas/dwarf2dbg.c Wed May 23 11:36:04 2001 +++ binutils-2.11.90.0.19/gas/dwarf2dbg.c Tue Jun 19 11:57:57 2001 @@ -1212,7 +1212,7 @@ dwarf2_finish () struct line_seg *s; /* If no debug information was recorded, nothing to do. */ - if (all_segs == NULL) + if (all_segs == NULL && files_in_use <= 1) return; /* Calculate the size of an address for the target machine. */ @@ -1239,7 +1239,7 @@ dwarf2_finish () /* If this is assembler generated line info, we need .debug_info and .debug_abbrev sections as well. */ - if (debug_type == DEBUG_DWARF2) + if (all_segs != NULL && debug_type == DEBUG_DWARF2) { segT abbrev_seg; segT info_seg; diff -uprN binutils-2.11.90.0.15/gas/expr.c binutils-2.11.90.0.19/gas/expr.c --- binutils-2.11.90.0.15/gas/expr.c Wed May 23 10:55:03 2001 +++ binutils-2.11.90.0.19/gas/expr.c Tue Jun 19 11:57:57 2001 @@ -1456,7 +1456,7 @@ static const operatorT op_encoding[256] 0 operand, (expression) 1 || 2 && - 3 = <> < <= >= > + 3 == <> < <= >= > 4 + - 5 used for * / % in MRI mode 6 & ^ ! | diff -uprN binutils-2.11.90.0.15/gas/macro.c binutils-2.11.90.0.19/gas/macro.c --- binutils-2.11.90.0.15/gas/macro.c Fri Mar 9 11:16:43 2001 +++ binutils-2.11.90.0.19/gas/macro.c Tue Jun 19 11:57:57 2001 @@ -935,21 +935,29 @@ macro_expand (idx, in, m, out, comment_c /* The macro may be called with an optional qualifier, which may be referred to in the macro body as \0. */ if (idx < in->len && in->ptr[idx] == '.') - { - formal_entry *n; + { + /* The Microtec assembler ignores this if followed by a white space. + (Macro invocation with empty extension) */ + idx++; + if ( idx < in->len + && in->ptr[idx] != ' ' + && in->ptr[idx] != '\t') + { + formal_entry *n; - n = (formal_entry *) xmalloc (sizeof (formal_entry)); - sb_new (&n->name); - sb_new (&n->def); - sb_new (&n->actual); - n->index = QUAL_INDEX; + n = (formal_entry *) xmalloc (sizeof (formal_entry)); + sb_new (&n->name); + sb_new (&n->def); + sb_new (&n->actual); + n->index = QUAL_INDEX; - n->next = m->formals; - m->formals = n; + n->next = m->formals; + m->formals = n; - idx = get_any_string (idx + 1, in, &n->actual, 1, 0); - } - } + idx = get_any_string (idx, in, &n->actual, 1, 0); + } + } + } /* Peel off the actuals and store them away in the hash tables' actuals. */ idx = sb_skip_white (idx, in); diff -uprN binutils-2.11.90.0.15/gas/po/POTFILES.in binutils-2.11.90.0.19/gas/po/POTFILES.in --- binutils-2.11.90.0.15/gas/po/POTFILES.in Mon Feb 19 14:22:35 2001 +++ binutils-2.11.90.0.19/gas/po/POTFILES.in Tue Jun 19 11:57:57 2001 @@ -92,6 +92,8 @@ config/tc-mn10300.c config/tc-mn10300.h config/tc-ns32k.c config/tc-ns32k.h +config/tc-openrisc.c +config/tc-openrisc.h config/tc-pdp11.c config/tc-pdp11.h config/tc-pj.c diff -uprN binutils-2.11.90.0.15/gas/po/gas.pot binutils-2.11.90.0.19/gas/po/gas.pot --- binutils-2.11.90.0.15/gas/po/gas.pot Fri Apr 27 13:50:32 2001 +++ binutils-2.11.90.0.19/gas/po/gas.pot Tue Jun 19 11:57:57 2001 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2001-04-27 15:23+0100\n" +"POT-Creation-Date: 2001-06-13 12:54+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -95,144 +95,142 @@ msgid "" " \t m include macro expansions\n" " \t n omit forms processing\n" " \t s include symbols\n" -" \t L include line debug statistics (if " -"applicable)\n" " \t =FILE list to FILE (must be last sub-option)\n" msgstr "" -#: as.c:238 +#: as.c:237 msgid " -D produce assembler debugging messages\n" msgstr "" -#: as.c:240 +#: as.c:239 msgid " --defsym SYM=VAL define symbol SYM to given value\n" msgstr "" -#: as.c:256 +#: as.c:255 #, c-format msgid " emulate output (default %s)\n" msgstr "" -#: as.c:260 +#: as.c:259 msgid " -f skip whitespace and comment preprocessing\n" msgstr "" -#: as.c:262 +#: as.c:261 msgid " --gstabs generate stabs debugging information\n" msgstr "" -#: as.c:264 +#: as.c:263 msgid " --gdwarf2 generate DWARF2 debugging information\n" msgstr "" -#: as.c:266 +#: as.c:265 msgid " --help show this message and exit\n" msgstr "" -#: as.c:268 +#: as.c:267 msgid " --target-help show target specific options\n" msgstr "" -#: as.c:270 +#: as.c:269 msgid "" " -I DIR add DIR to search list for .include directives\n" msgstr "" -#: as.c:272 +#: as.c:271 msgid " -J don't warn about signed overflow\n" msgstr "" -#: as.c:274 +#: as.c:273 msgid "" " -K warn when differences altered for long " "displacements\n" msgstr "" -#: as.c:276 +#: as.c:275 msgid " -L,--keep-locals keep local symbols (e.g. starting with `L')\n" msgstr "" -#: as.c:278 +#: as.c:277 msgid " -M,--mri assemble in MRI compatibility mode\n" msgstr "" -#: as.c:280 +#: as.c:279 msgid "" " --MD FILE write dependency information in FILE (default " "none)\n" msgstr "" -#: as.c:282 +#: as.c:281 msgid " -nocpp ignored\n" msgstr "" -#: as.c:284 +#: as.c:283 msgid "" " -o OBJFILE name the object-file output OBJFILE (default " "a.out)\n" msgstr "" -#: as.c:286 +#: as.c:285 msgid " -R fold data section into text section\n" msgstr "" -#: as.c:288 +#: as.c:287 msgid "" " --statistics print various measured statistics from execution\n" msgstr "" -#: as.c:290 +#: as.c:289 msgid " --strip-local-absolute strip local absolute symbols\n" msgstr "" -#: as.c:292 +#: as.c:291 msgid "" " --traditional-format Use same format as native assembler when possible\n" msgstr "" -#: as.c:294 +#: as.c:293 msgid " --version print assembler version number and exit\n" msgstr "" -#: as.c:296 +#: as.c:295 msgid " -W --no-warn suppress warnings\n" msgstr "" -#: as.c:298 +#: as.c:297 msgid " --warn don't suppress warnings\n" msgstr "" -#: as.c:300 +#: as.c:299 msgid " --fatal-warnings treat warnings as errors\n" msgstr "" -#: as.c:302 +#: as.c:301 msgid "" " --itbl INSTTBL extend instruction set to include instructions\n" " matching the specifications defined in file " "INSTTBL\n" msgstr "" -#: as.c:305 +#: as.c:304 msgid " -w ignored\n" msgstr "" -#: as.c:307 +#: as.c:306 msgid " -X ignored\n" msgstr "" -#: as.c:309 +#: as.c:308 msgid " -Z generate object file even after errors\n" msgstr "" -#: as.c:311 +#: as.c:310 msgid "" " --listing-lhs-width set the width in words of the output data column " "of\n" " the listing\n" msgstr "" -#: as.c:314 +#: as.c:313 msgid "" " --listing-lhs-width2 set the width in words of the continuation lines\n" " of the output data column; ignored if smaller " @@ -240,106 +238,106 @@ msgid "" " the width of the first line\n" msgstr "" -#: as.c:318 +#: as.c:317 msgid "" " --listing-rhs-width set the max width in characters of the lines from\n" " the source file\n" msgstr "" -#: as.c:321 +#: as.c:320 msgid "" " --listing-cont-lines set the maximum number of continuation lines used\n" " for the output data column of the listing\n" msgstr "" -#: as.c:328 gasp.c:3527 +#: as.c:327 gasp.c:3527 #, c-format msgid "Report bugs to %s\n" msgstr "" #. This output is intended to follow the GNU standards document. -#: as.c:528 +#: as.c:527 #, c-format msgid "GNU assembler %s\n" msgstr "" -#: as.c:529 +#: as.c:528 msgid "Copyright 2001 Free Software Foundation, Inc.\n" msgstr "" -#: as.c:530 gasp.c:3621 +#: as.c:529 gasp.c:3621 msgid "" "This program is free software; you may redistribute it under the terms of\n" "the GNU General Public License. This program has absolutely no warranty.\n" msgstr "" -#: as.c:533 +#: as.c:532 #, c-format msgid "This assembler was configured for a target of `%s'.\n" msgstr "" -#: as.c:540 +#: as.c:539 msgid "multiple emulation names specified" msgstr "" -#: as.c:542 +#: as.c:541 msgid "emulations not handled in this configuration" msgstr "" -#: as.c:547 +#: as.c:546 #, c-format msgid "alias = %s\n" msgstr "" -#: as.c:548 +#: as.c:547 #, c-format msgid "canonical = %s\n" msgstr "" -#: as.c:549 +#: as.c:548 #, c-format msgid "cpu-type = %s\n" msgstr "" -#: as.c:551 +#: as.c:550 #, c-format msgid "format = %s\n" msgstr "" -#: as.c:554 +#: as.c:553 #, c-format msgid "bfd-target = %s\n" msgstr "" -#: as.c:567 +#: as.c:566 msgid "bad defsym; format is --defsym name=value" msgstr "" -#: as.c:591 +#: as.c:590 msgid "No file name following -t option\n" msgstr "" -#: as.c:607 +#: as.c:606 #, c-format msgid "Failed to read instruction table %s\n" msgstr "" -#: as.c:724 +#: as.c:723 #, c-format msgid "invalid listing option `%c'" msgstr "" -#: as.c:923 +#: as.c:922 #, c-format msgid "%d warnings, treating warnings as errors" msgstr "" -#: as.c:954 +#: as.c:953 #, c-format msgid "%s: total time in assembly: %ld.%06ld\n" msgstr "" -#: as.c:957 +#: as.c:956 #, c-format msgid "%s: data size %ld\n" msgstr "" @@ -349,7 +347,7 @@ msgstr "" #. * This should never happen. #. #: atof-generic.c:437 config/tc-a29k.c:544 config/tc-i860.c:340 -#: config/tc-i860.c:832 config/tc-m68k.c:3190 config/tc-m68k.c:3219 +#: config/tc-i860.c:832 config/tc-m68k.c:3180 config/tc-m68k.c:3209 #: config/tc-sparc.c:2544 msgid "failed sanity check." msgstr "" @@ -428,17 +426,17 @@ msgstr "" msgid "Attempt to put an undefined symbol into set %s" msgstr "" -#: config/obj-aout.c:197 config/obj-coff.c:1247 config/obj-elf.c:1773 +#: config/obj-aout.c:197 config/obj-coff.c:1252 config/obj-elf.c:1773 #: ecoff.c:3648 #, c-format msgid "Symbol `%s' can not be both weak and common" msgstr "" -#: config/obj-aout.c:255 config/obj-coff.c:1983 +#: config/obj-aout.c:255 config/obj-coff.c:1987 msgid "unresolved relocation" msgstr "" -#: config/obj-aout.c:257 config/obj-coff.c:1985 +#: config/obj-aout.c:257 config/obj-coff.c:1989 #, c-format msgid "bad relocation: symbol `%s' not in symbol table" msgstr "" @@ -448,7 +446,7 @@ msgstr "" msgid "%s: bad type for weak symbol" msgstr "" -#: config/obj-aout.c:458 config/obj-coff.c:2914 write.c:1933 +#: config/obj-aout.c:458 config/obj-coff.c:2917 write.c:1932 #, c-format msgid "%s: global symbols not supported in common sections" msgstr "" @@ -473,170 +471,170 @@ msgid "Inserting \"%s\" into structure t msgstr "" #. Zero is used as an end marker in the file. -#: config/obj-coff.c:452 +#: config/obj-coff.c:456 msgid "Line numbers must be positive integers\n" msgstr "" -#: config/obj-coff.c:485 config/obj-coff.c:2329 +#: config/obj-coff.c:490 config/obj-coff.c:2332 msgid ".ln pseudo-op inside .def/.endef: ignored." msgstr "" -#: config/obj-coff.c:528 ecoff.c:3284 +#: config/obj-coff.c:533 ecoff.c:3284 msgid ".loc outside of .text" msgstr "" -#: config/obj-coff.c:535 +#: config/obj-coff.c:540 msgid ".loc pseudo-op inside .def/.endef: ignored." msgstr "" -#: config/obj-coff.c:623 config/obj-coff.c:2386 +#: config/obj-coff.c:628 config/obj-coff.c:2389 msgid ".def pseudo-op used inside of .def/.endef: ignored." msgstr "" -#: config/obj-coff.c:669 config/obj-coff.c:2438 +#: config/obj-coff.c:674 config/obj-coff.c:2441 msgid ".endef pseudo-op used outside of .def/.endef: ignored." msgstr "" -#: config/obj-coff.c:707 +#: config/obj-coff.c:712 #, c-format msgid "`%s' symbol without preceding function" msgstr "" -#: config/obj-coff.c:794 config/obj-coff.c:2513 +#: config/obj-coff.c:799 config/obj-coff.c:2516 #, c-format msgid "unexpected storage class %d" msgstr "" -#: config/obj-coff.c:907 config/obj-coff.c:2620 +#: config/obj-coff.c:912 config/obj-coff.c:2623 msgid ".dim pseudo-op used outside of .def/.endef: ignored." msgstr "" -#: config/obj-coff.c:927 config/obj-coff.c:2640 +#: config/obj-coff.c:932 config/obj-coff.c:2643 msgid "badly formed .dim directive ignored" msgstr "" -#: config/obj-coff.c:978 config/obj-coff.c:2703 +#: config/obj-coff.c:983 config/obj-coff.c:2706 msgid ".size pseudo-op used outside of .def/.endef ignored." msgstr "" -#: config/obj-coff.c:994 config/obj-coff.c:2719 +#: config/obj-coff.c:999 config/obj-coff.c:2722 msgid ".scl pseudo-op used outside of .def/.endef ignored." msgstr "" -#: config/obj-coff.c:1012 config/obj-coff.c:2737 +#: config/obj-coff.c:1017 config/obj-coff.c:2740 msgid ".tag pseudo-op used outside of .def/.endef ignored." msgstr "" -#: config/obj-coff.c:1031 config/obj-coff.c:2755 +#: config/obj-coff.c:1036 config/obj-coff.c:2758 #, c-format msgid "tag not found for .tag %s" msgstr "" -#: config/obj-coff.c:1046 config/obj-coff.c:2770 +#: config/obj-coff.c:1051 config/obj-coff.c:2773 msgid ".type pseudo-op used outside of .def/.endef ignored." msgstr "" -#: config/obj-coff.c:1068 config/obj-coff.c:2792 +#: config/obj-coff.c:1073 config/obj-coff.c:2795 msgid ".val pseudo-op used outside of .def/.endef ignored." msgstr "" -#: config/obj-coff.c:1208 config/obj-coff.c:2987 +#: config/obj-coff.c:1213 config/obj-coff.c:2990 msgid "mismatched .eb" msgstr "" -#: config/obj-coff.c:1226 config/obj-coff.c:3027 +#: config/obj-coff.c:1231 config/obj-coff.c:3030 msgid "C_EFCN symbol out of scope" msgstr "" #. STYP_INFO #. STYP_LIB #. STYP_OVER -#: config/obj-coff.c:1448 +#: config/obj-coff.c:1453 #, c-format msgid "unsupported section attribute '%c'" msgstr "" -#: config/obj-coff.c:1453 config/obj-coff.c:3728 config/tc-ppc.c:3925 +#: config/obj-coff.c:1458 config/obj-coff.c:3734 config/tc-ppc.c:3945 #, c-format msgid "unknown section attribute '%c'" msgstr "" -#: config/obj-coff.c:1483 config/tc-ppc.c:3943 read.c:2520 +#: config/obj-coff.c:1488 config/tc-ppc.c:3963 read.c:2520 #, c-format msgid "error setting flags for \"%s\": %s" msgstr "" -#: config/obj-coff.c:1494 config/obj-elf.c:727 +#: config/obj-coff.c:1499 config/obj-elf.c:727 #, c-format msgid "Ignoring changed section attributes for %s" msgstr "" -#: config/obj-coff.c:1630 +#: config/obj-coff.c:1635 #, c-format msgid "0x%lx: \"%s\" type = %ld, class = %d, segment = %d\n" msgstr "" -#: config/obj-coff.c:1810 config/obj-ieee.c:69 +#: config/obj-coff.c:1815 config/obj-ieee.c:69 msgid "Out of step\n" msgstr "" -#: config/obj-coff.c:2245 +#: config/obj-coff.c:2248 msgid "bfd_coff_swap_scnhdr_out failed" msgstr "" -#: config/obj-coff.c:2470 +#: config/obj-coff.c:2473 msgid "`.bf' symbol without preceding function\n" msgstr "" -#: config/obj-coff.c:3424 config/obj-ieee.c:507 output-file.c:52 +#: config/obj-coff.c:3427 config/obj-ieee.c:507 output-file.c:52 #: output-file.c:119 #, c-format msgid "FATAL: Can't create %s" msgstr "" -#: config/obj-coff.c:3602 +#: config/obj-coff.c:3608 #, c-format msgid "Can't close %s: %s" msgstr "" -#: config/obj-coff.c:3636 +#: config/obj-coff.c:3642 #, c-format msgid "Too many new sections; can't add \"%s\"" msgstr "" -#: config/obj-coff.c:4043 config/tc-m88k.c:1258 config/tc-sparc.c:3532 +#: config/obj-coff.c:4049 config/tc-m88k.c:1258 config/tc-sparc.c:3538 msgid "Expected comma after name" msgstr "" -#: config/obj-coff.c:4049 read.c:1956 +#: config/obj-coff.c:4055 read.c:1956 msgid "Missing size expression" msgstr "" -#: config/obj-coff.c:4055 +#: config/obj-coff.c:4061 #, c-format msgid "lcomm length (%d.) <0! Ignored." msgstr "" -#: config/obj-coff.c:4083 read.c:2190 +#: config/obj-coff.c:4089 read.c:2190 #, c-format msgid "Symbol %s already defined" msgstr "" -#: config/obj-coff.c:4178 config/tc-i960.c:3215 +#: config/obj-coff.c:4184 config/tc-i960.c:3215 #, c-format msgid "No 'bal' entry point for leafproc %s" msgstr "" -#: config/obj-coff.c:4257 write.c:2639 +#: config/obj-coff.c:4263 write.c:2648 #, c-format msgid "Negative of non-absolute symbol %s" msgstr "" -#: config/obj-coff.c:4278 write.c:2653 +#: config/obj-coff.c:4284 write.c:2662 msgid "callj to difference of 2 symbols" msgstr "" -#: config/obj-coff.c:4324 +#: config/obj-coff.c:4330 #, c-format msgid "Can't emit reloc {- %s-seg symbol \"%s\"} @ file address %ld." msgstr "" @@ -644,16 +642,16 @@ msgstr "" #. This is a COBR instruction. They have only a 13-bit #. displacement and are only to be used for local branches: #. flag as error, don't generate relocation. -#: config/obj-coff.c:4413 config/tc-i960.c:3235 write.c:2797 +#: config/obj-coff.c:4419 config/tc-i960.c:3235 write.c:2806 msgid "can't use COBR format with external label" msgstr "" -#: config/obj-coff.c:4492 +#: config/obj-coff.c:4498 #, c-format msgid "Value of %ld too large for field of %d bytes at 0x%lx" msgstr "" -#: config/obj-coff.c:4506 write.c:2887 +#: config/obj-coff.c:4512 write.c:2896 #, c-format msgid "Signed .word overflow; switch may be too large; %ld at 0x%lx" msgstr "" @@ -666,35 +664,35 @@ msgstr "" msgid "Can't set register masks" msgstr "" -#: config/obj-elf.c:308 config/tc-sparc.c:3675 config/tc-v850.c:259 +#: config/obj-elf.c:308 config/tc-sparc.c:3681 config/tc-v850.c:260 msgid "Expected comma after symbol-name" msgstr "" -#: config/obj-elf.c:315 config/tc-sparc.c:3685 +#: config/obj-elf.c:315 config/tc-sparc.c:3691 #, c-format msgid ".COMMon length (%d.) <0! Ignored." msgstr "" -#: config/obj-elf.c:325 config/tc-alpha.c:4332 config/tc-sparc.c:3695 -#: config/tc-v850.c:282 +#: config/obj-elf.c:325 config/tc-alpha.c:4332 config/tc-sparc.c:3701 +#: config/tc-v850.c:283 msgid "Ignoring attempt to re-define symbol" msgstr "" -#: config/obj-elf.c:333 config/tc-sparc.c:3703 config/tc-v850.c:292 +#: config/obj-elf.c:333 config/tc-sparc.c:3709 config/tc-v850.c:293 #, c-format msgid "Length of .comm \"%s\" is already %ld. Not changed to %d." msgstr "" -#: config/obj-elf.c:356 config/tc-v850.c:319 +#: config/obj-elf.c:356 config/tc-v850.c:320 msgid "Common alignment negative; 0 assumed" msgstr "" #: config/obj-elf.c:375 config/tc-m32r.c:1287 config/tc-ppc.c:1518 -#: config/tc-v850.c:382 +#: config/tc-v850.c:383 msgid "Common alignment not a power of 2" msgstr "" -#: config/obj-elf.c:438 config/tc-sparc.c:3827 config/tc-v850.c:564 +#: config/obj-elf.c:438 config/tc-sparc.c:3833 config/tc-v850.c:565 #, c-format msgid "bad .common segment %s" msgstr "" @@ -982,13 +980,13 @@ msgstr "" msgid "unhandled stab type %d" msgstr "" -#: config/tc-a29k.c:160 config/tc-sparc.c:3879 +#: config/tc-a29k.c:160 config/tc-sparc.c:3885 msgid "Unknown segment type" msgstr "" #. Probably a memory allocation problem? Give up now. -#: config/tc-a29k.c:330 config/tc-hppa.c:1443 config/tc-mips.c:1031 -#: config/tc-mips.c:1073 config/tc-sparc.c:847 +#: config/tc-a29k.c:330 config/tc-hppa.c:1443 config/tc-mips.c:1039 +#: config/tc-mips.c:1081 config/tc-sparc.c:847 msgid "Broken assembler. No assembly attempted." msgstr "" @@ -996,8 +994,8 @@ msgstr "" #: config/tc-d30v.c:552 config/tc-h8300.c:296 config/tc-h8500.c:284 #: config/tc-mcore.c:655 config/tc-mn10200.c:955 config/tc-mn10300.c:1337 #: config/tc-ppc.c:1974 config/tc-s390.c:1030 config/tc-sh.c:848 -#: config/tc-tic80.c:282 config/tc-v850.c:2076 config/tc-w65.c:242 -#: config/tc-z8k.c:336 +#: config/tc-tic80.c:282 config/tc-v850.c:2073 config/tc-w65.c:242 +#: config/tc-z8k.c:334 msgid "missing operand" msgstr "" @@ -1068,10 +1066,10 @@ msgstr "" msgid "syntax error" msgstr "" -#: config/tc-alpha.c:1020 config/tc-arm.c:6640 config/tc-h8300.c:1373 +#: config/tc-alpha.c:1020 config/tc-arm.c:6651 config/tc-h8300.c:1373 #: config/tc-h8500.c:1187 config/tc-hppa.c:3996 config/tc-i860.c:931 -#: config/tc-m68hc11.c:484 config/tc-m68k.c:4194 config/tc-m88k.c:1106 -#: config/tc-ns32k.c:1664 config/tc-sparc.c:2831 config/tc-z8k.c:1334 +#: config/tc-m68hc11.c:486 config/tc-m68k.c:4199 config/tc-m88k.c:1106 +#: config/tc-ns32k.c:1664 config/tc-sparc.c:2831 config/tc-z8k.c:1312 msgid "Bad call to MD_ATOF()" msgstr "" @@ -1112,7 +1110,7 @@ msgstr "" msgid "type %d reloc done?\n" msgstr "" -#: config/tc-alpha.c:1375 config/tc-alpha.c:1382 config/tc-mips.c:7373 +#: config/tc-alpha.c:1375 config/tc-alpha.c:1382 config/tc-mips.c:7399 msgid "Used $at without \".set noat\"" msgstr "" @@ -1168,8 +1166,8 @@ msgstr "" #: config/tc-alpha.c:2441 config/tc-d10v.c:622 config/tc-d30v.c:640 #: config/tc-mn10200.c:1010 config/tc-mn10300.c:1408 config/tc-ppc.c:1940 #: config/tc-ppc.c:2048 config/tc-ppc.c:2060 config/tc-s390.c:1040 -#: config/tc-s390.c:1093 config/tc-v850.c:1856 config/tc-v850.c:1879 -#: config/tc-v850.c:2099 +#: config/tc-s390.c:1093 config/tc-v850.c:1853 config/tc-v850.c:1876 +#: config/tc-v850.c:2096 msgid "too many fixups" msgstr "" @@ -1219,7 +1217,7 @@ msgstr "" msgid "bignum invalid; zero assumed" msgstr "" -#: config/tc-alpha.c:3089 expr.c:86 read.c:3174 read.c:3507 read.c:4405 +#: config/tc-alpha.c:3089 expr.c:86 read.c:3174 read.c:3507 read.c:4406 msgid "floating point number invalid; zero assumed" msgstr "" @@ -1236,13 +1234,13 @@ msgstr "" msgid "bad instruction format for lda !%s!%ld" msgstr "" -#: config/tc-alpha.c:4303 config/tc-ppc.c:1467 config/tc-ppc.c:3689 +#: config/tc-alpha.c:4303 config/tc-ppc.c:1467 config/tc-ppc.c:3709 #: read.c:1369 #, c-format msgid ".COMMon length (%ld.) <0! Ignored." msgstr "" -#: config/tc-alpha.c:4341 config/tc-alpha.c:4350 config/tc-ppc.c:3726 +#: config/tc-alpha.c:4341 config/tc-alpha.c:4350 config/tc-ppc.c:3746 #: read.c:1393 #, c-format msgid "Length of .comm \"%s\" is already %ld. Not changed to %ld." @@ -1333,7 +1331,7 @@ msgstr "" msgid "Bad .fmask directive" msgstr "" -#: config/tc-alpha.c:5237 config/tc-arm.c:1593 read.c:2150 read.c:2745 +#: config/tc-alpha.c:5237 config/tc-arm.c:1604 read.c:2150 read.c:2745 #: stabs.c:472 #, c-format msgid "Expected comma after name \"%s\"" @@ -1374,651 +1372,651 @@ msgstr "" msgid "Chose GP value of %lx\n" msgstr "" -#: config/tc-arc.c:1609 config/tc-arm.c:7552 +#: config/tc-arc.c:1615 config/tc-arm.c:7563 msgid "md_estimate_size_before_relax\n" msgstr "" -#: config/tc-arc.c:1621 +#: config/tc-arc.c:1627 msgid "md_convert_frag\n" msgstr "" -#: config/tc-arm.c:1289 +#: config/tc-arm.c:1300 msgid "Literal Pool Overflow" msgstr "" -#: config/tc-arm.c:1431 +#: config/tc-arm.c:1442 msgid "Invalid syntax for .req directive." msgstr "" -#: config/tc-arm.c:1506 config/tc-mips.c:9937 read.c:2035 +#: config/tc-arm.c:1517 config/tc-mips.c:9979 read.c:2035 #, c-format msgid "Alignment too large: %d. assumed." msgstr "" -#: config/tc-arm.c:1509 read.c:2040 +#: config/tc-arm.c:1520 read.c:2040 msgid "Alignment negative. 0 assumed." msgstr "" -#: config/tc-arm.c:1643 config/tc-m32r.c:418 read.c:2803 read.c:4872 +#: config/tc-arm.c:1654 config/tc-m32r.c:418 read.c:2803 read.c:4884 #, c-format msgid "symbol `%s' already defined" msgstr "" -#: config/tc-arm.c:1714 +#: config/tc-arm.c:1725 msgid "selected processor does not support THUMB opcodes" msgstr "" -#: config/tc-arm.c:1727 +#: config/tc-arm.c:1738 msgid "selected processor does not support ARM opcodes" msgstr "" -#: config/tc-arm.c:1739 +#: config/tc-arm.c:1750 #, c-format msgid "invalid instruction size selected (%d)" msgstr "" -#: config/tc-arm.c:1774 +#: config/tc-arm.c:1785 #, c-format msgid "invalid operand to .code directive (%d) (expecting 16 or 32)" msgstr "" -#: config/tc-arm.c:1785 +#: config/tc-arm.c:1796 msgid "Garbage following instruction" msgstr "" #. In the few cases where we might be able to accept something else #. this error can be overridden. -#: config/tc-arm.c:1835 +#: config/tc-arm.c:1846 #, c-format msgid "Register expected, not '%.100s'" msgstr "" #. In the few cases where we might be able to accept #. something else this error can be overridden. -#: config/tc-arm.c:1907 +#: config/tc-arm.c:1918 msgid "flag for {c}psr instruction expected" msgstr "" -#: config/tc-arm.c:1937 +#: config/tc-arm.c:1948 msgid "Illegal co-processor number" msgstr "" -#: config/tc-arm.c:1944 +#: config/tc-arm.c:1955 msgid "Bad or missing co-processor number" msgstr "" -#: config/tc-arm.c:1968 config/tc-arm.c:3054 config/tc-arm.c:3246 +#: config/tc-arm.c:1979 config/tc-arm.c:3065 config/tc-arm.c:3257 msgid "bad or missing expression" msgstr "" -#: config/tc-arm.c:1974 +#: config/tc-arm.c:1985 msgid "immediate co-processor expression too large" msgstr "" #. In the few cases where we might be able to accept something else #. this error can be overridden. -#: config/tc-arm.c:1999 +#: config/tc-arm.c:2010 msgid "Co-processor register expected" msgstr "" #. In the few cases where we might be able to accept something else #. this error can be overridden. -#: config/tc-arm.c:2023 +#: config/tc-arm.c:2034 msgid "Floating point register expected" msgstr "" -#: config/tc-arm.c:2040 +#: config/tc-arm.c:2051 msgid "immediate expression expected" msgstr "" -#: config/tc-arm.c:2055 +#: config/tc-arm.c:2066 msgid "co-processor address must be word aligned" msgstr "" -#: config/tc-arm.c:2061 +#: config/tc-arm.c:2072 msgid "offset too large" msgstr "" -#: config/tc-arm.c:2109 +#: config/tc-arm.c:2120 msgid "pc may not be used in post-increment" msgstr "" -#: config/tc-arm.c:2125 config/tc-arm.c:2578 config/tc-arm.c:3438 -#: config/tc-arm.c:4372 +#: config/tc-arm.c:2136 config/tc-arm.c:2589 config/tc-arm.c:3449 +#: config/tc-arm.c:4383 msgid "pre-indexed expression expected" msgstr "" -#: config/tc-arm.c:2138 config/tc-arm.c:2591 config/tc-arm.c:3449 -#: config/tc-arm.c:4384 config/tc-arm.c:4730 +#: config/tc-arm.c:2149 config/tc-arm.c:2602 config/tc-arm.c:3460 +#: config/tc-arm.c:4395 config/tc-arm.c:4741 msgid "missing ]" msgstr "" -#: config/tc-arm.c:2148 +#: config/tc-arm.c:2159 msgid "pc may not be used with write-back" msgstr "" -#: config/tc-arm.c:2203 +#: config/tc-arm.c:2214 msgid "comma expected after register name" msgstr "" -#: config/tc-arm.c:2222 +#: config/tc-arm.c:2233 msgid "{C|S}PSR expected" msgstr "" -#: config/tc-arm.c:2250 +#: config/tc-arm.c:2261 msgid "comma missing after psr flags" msgstr "" -#: config/tc-arm.c:2267 config/tc-arm.c:2277 +#: config/tc-arm.c:2278 config/tc-arm.c:2288 msgid "only a register or immediate value can follow a psr flag" msgstr "" -#: config/tc-arm.c:2284 +#: config/tc-arm.c:2295 msgid "immediate value cannot be used to set this field" msgstr "" -#: config/tc-arm.c:2301 config/tc-arm.c:3673 config/tc-arm.c:3939 -#: config/tc-arm.c:3959 +#: config/tc-arm.c:2312 config/tc-arm.c:3684 config/tc-arm.c:3950 +#: config/tc-arm.c:3970 msgid "Invalid constant" msgstr "" -#: config/tc-arm.c:2351 +#: config/tc-arm.c:2362 msgid "rdhi, rdlo and rm must all be different" msgstr "" -#: config/tc-arm.c:2407 +#: config/tc-arm.c:2418 msgid "rd and rm should be different in mul" msgstr "" -#: config/tc-arm.c:2463 +#: config/tc-arm.c:2474 msgid "rd and rm should be different in mla" msgstr "" -#: config/tc-arm.c:2512 +#: config/tc-arm.c:2523 #, c-format msgid "acc0 expected, not '%.100s'" msgstr "" -#: config/tc-arm.c:2695 +#: config/tc-arm.c:2706 msgid "rdhi and rdlo must be different" msgstr "" -#: config/tc-arm.c:2815 +#: config/tc-arm.c:2826 msgid "Warning: Instruction unpredictable when using r15" msgstr "" -#: config/tc-arm.c:3063 config/tc-arm.c:3255 config/tc-arm.c:5517 -#: config/tc-arm.c:5550 config/tc-arm.c:5560 +#: config/tc-arm.c:3074 config/tc-arm.c:3266 config/tc-arm.c:5528 +#: config/tc-arm.c:5561 config/tc-arm.c:5571 msgid "immediate value out of range" msgstr "" -#: config/tc-arm.c:3403 +#: config/tc-arm.c:3414 msgid "'[' expected after PLD mnemonic" msgstr "" -#: config/tc-arm.c:3428 config/tc-arm.c:3458 +#: config/tc-arm.c:3439 config/tc-arm.c:3469 msgid "writeback used in preload instruction" msgstr "" #. Deny all knowledge. -#: config/tc-arm.c:3506 +#: config/tc-arm.c:3517 #, c-format msgid "bad instruction '%.100s'" msgstr "" -#: config/tc-arm.c:3530 +#: config/tc-arm.c:3541 msgid "Destination register must be even" msgstr "" -#: config/tc-arm.c:3536 +#: config/tc-arm.c:3547 msgid "r12 or r14 not allowed here" msgstr "" -#: config/tc-arm.c:3544 +#: config/tc-arm.c:3555 msgid "pre/post-indexing used when modified address register is destination" msgstr "" -#: config/tc-arm.c:3657 +#: config/tc-arm.c:3668 msgid "bad_segment" msgstr "" -#: config/tc-arm.c:3703 config/tc-arm.c:3714 +#: config/tc-arm.c:3714 config/tc-arm.c:3725 msgid "Shift expression expected" msgstr "" -#: config/tc-arm.c:3738 +#: config/tc-arm.c:3749 msgid "shift requires register or #expression" msgstr "" -#: config/tc-arm.c:3739 +#: config/tc-arm.c:3750 msgid "shift requires #expression" msgstr "" -#: config/tc-arm.c:3769 +#: config/tc-arm.c:3780 msgid "Shift of 0 ignored." msgstr "" -#: config/tc-arm.c:3775 +#: config/tc-arm.c:3786 msgid "Invalid immediate shift" msgstr "" -#: config/tc-arm.c:3930 config/tc-arm.c:4414 +#: config/tc-arm.c:3941 config/tc-arm.c:4425 msgid "Constant expression expected" msgstr "" -#: config/tc-arm.c:3972 +#: config/tc-arm.c:3983 msgid "Register or shift expression expected" msgstr "" -#: config/tc-arm.c:4025 +#: config/tc-arm.c:4036 msgid "Invalid floating point immediate expression" msgstr "" -#: config/tc-arm.c:4029 +#: config/tc-arm.c:4040 msgid "Floating point register or immediate expression expected" msgstr "" -#: config/tc-arm.c:4198 +#: config/tc-arm.c:4209 msgid "address offset too large" msgstr "" -#: config/tc-arm.c:4275 +#: config/tc-arm.c:4286 msgid "Processor does not support halfwords or signed bytes" msgstr "" -#: config/tc-arm.c:4296 +#: config/tc-arm.c:4307 msgid "Address expected" msgstr "" -#: config/tc-arm.c:4328 config/tc-arm.c:4359 +#: config/tc-arm.c:4339 config/tc-arm.c:4370 #, c-format msgid "Rn and Rd must be different in %s" msgstr "" -#: config/tc-arm.c:4332 config/tc-arm.c:4348 config/tc-arm.c:4393 +#: config/tc-arm.c:4343 config/tc-arm.c:4359 config/tc-arm.c:4404 #, c-format msgid "%s register same as write-back base" msgstr "" -#: config/tc-arm.c:4334 config/tc-arm.c:4350 config/tc-arm.c:4395 +#: config/tc-arm.c:4345 config/tc-arm.c:4361 config/tc-arm.c:4406 msgid "destination" msgstr "" -#: config/tc-arm.c:4334 config/tc-arm.c:4350 config/tc-arm.c:4395 +#: config/tc-arm.c:4345 config/tc-arm.c:4361 config/tc-arm.c:4406 msgid "source" msgstr "" -#: config/tc-arm.c:4434 +#: config/tc-arm.c:4445 msgid "literal pool insertion failed" msgstr "" -#: config/tc-arm.c:4473 +#: config/tc-arm.c:4484 msgid "Pre-increment instruction with translate" msgstr "" -#: config/tc-arm.c:4514 +#: config/tc-arm.c:4525 msgid "Bad range in register list" msgstr "" -#: config/tc-arm.c:4522 config/tc-arm.c:4531 config/tc-arm.c:4573 +#: config/tc-arm.c:4533 config/tc-arm.c:4542 config/tc-arm.c:4584 #, c-format msgid "Warning: Duplicated register (r%d) in register list" msgstr "" -#: config/tc-arm.c:4534 +#: config/tc-arm.c:4545 msgid "Warning: Register range not in ascending order" msgstr "" -#: config/tc-arm.c:4546 +#: config/tc-arm.c:4557 msgid "Missing `}'" msgstr "" -#: config/tc-arm.c:4562 +#: config/tc-arm.c:4573 msgid "invalid register mask" msgstr "" -#: config/tc-arm.c:4583 config/tc-avr.c:852 config/tc-cris.c:3009 -#: config/tc-d10v.c:1561 config/tc-d30v.c:1865 config/tc-mips.c:3231 -#: config/tc-mips.c:4163 config/tc-mips.c:4964 config/tc-mips.c:5510 -#: config/tc-ppc.c:4855 config/tc-v850.c:2385 +#: config/tc-arm.c:4594 config/tc-avr.c:852 config/tc-cris.c:3009 +#: config/tc-d10v.c:1561 config/tc-d30v.c:1865 config/tc-mips.c:3247 +#: config/tc-mips.c:4183 config/tc-mips.c:4984 config/tc-mips.c:5530 +#: config/tc-ppc.c:4873 config/tc-v850.c:2377 msgid "expression too complex" msgstr "" -#: config/tc-arm.c:4622 +#: config/tc-arm.c:4633 msgid "r15 not allowed as base register" msgstr "" -#: config/tc-arm.c:4690 config/tc-arm.c:4704 +#: config/tc-arm.c:4701 config/tc-arm.c:4715 msgid "r15 not allowed in swap" msgstr "" -#: config/tc-arm.c:4802 +#: config/tc-arm.c:4813 msgid "Use of r15 in bx in ARM mode is not really useful" msgstr "" -#: config/tc-arm.c:5058 config/tc-v850.c:1959 config/tc-v850.c:1980 +#: config/tc-arm.c:5069 config/tc-v850.c:1956 config/tc-v850.c:1977 msgid "constant expression expected" msgstr "" -#: config/tc-arm.c:5064 +#: config/tc-arm.c:5075 msgid "Constant value required for number of registers" msgstr "" -#: config/tc-arm.c:5072 +#: config/tc-arm.c:5083 msgid "number of registers must be in the range [1:4]" msgstr "" -#: config/tc-arm.c:5133 +#: config/tc-arm.c:5144 msgid "R15 not allowed as base register with write-back" msgstr "" -#: config/tc-arm.c:5381 +#: config/tc-arm.c:5392 msgid "lo register required" msgstr "" -#: config/tc-arm.c:5389 +#: config/tc-arm.c:5400 msgid "hi register required" msgstr "" -#: config/tc-arm.c:5459 +#: config/tc-arm.c:5470 msgid "dest and source1 must be the same register" msgstr "" -#: config/tc-arm.c:5466 +#: config/tc-arm.c:5477 msgid "subtract valid only on lo regs" msgstr "" -#: config/tc-arm.c:5490 +#: config/tc-arm.c:5501 msgid "invalid Hi register with immediate" msgstr "" -#: config/tc-arm.c:5528 +#: config/tc-arm.c:5539 msgid "invalid immediate value for stack adjust" msgstr "" -#: config/tc-arm.c:5539 +#: config/tc-arm.c:5550 msgid "invalid immediate for address calculation" msgstr "" -#: config/tc-arm.c:5626 +#: config/tc-arm.c:5637 msgid "source1 and dest must be same register" msgstr "" -#: config/tc-arm.c:5660 +#: config/tc-arm.c:5671 msgid "Invalid immediate for shift" msgstr "" -#: config/tc-arm.c:5739 +#: config/tc-arm.c:5750 msgid "only lo regs allowed with immediate" msgstr "" -#: config/tc-arm.c:5758 +#: config/tc-arm.c:5769 msgid "invalid immediate" msgstr "" -#: config/tc-arm.c:5812 +#: config/tc-arm.c:5823 msgid "expected ']'" msgstr "" -#: config/tc-arm.c:5879 +#: config/tc-arm.c:5890 msgid "byte or halfword not valid for base register" msgstr "" -#: config/tc-arm.c:5884 +#: config/tc-arm.c:5895 msgid "R15 based store not allowed" msgstr "" -#: config/tc-arm.c:5889 +#: config/tc-arm.c:5900 msgid "Invalid base register for register offset" msgstr "" -#: config/tc-arm.c:5907 +#: config/tc-arm.c:5918 msgid "invalid offset" msgstr "" -#: config/tc-arm.c:5918 +#: config/tc-arm.c:5929 msgid "invalid base register in load/store" msgstr "" -#: config/tc-arm.c:5942 +#: config/tc-arm.c:5953 msgid "Invalid offset" msgstr "" -#: config/tc-arm.c:6017 +#: config/tc-arm.c:6028 msgid "dest and source1 one must be the same register" msgstr "" -#: config/tc-arm.c:6025 +#: config/tc-arm.c:6036 msgid "Rs and Rd must be different in MUL" msgstr "" -#: config/tc-arm.c:6169 +#: config/tc-arm.c:6180 msgid "" "Inserted missing '!': load/store multiple always writes back base register" msgstr "" -#: config/tc-arm.c:6185 config/tc-arm.c:6285 +#: config/tc-arm.c:6196 config/tc-arm.c:6296 msgid "Expression too complex" msgstr "" -#: config/tc-arm.c:6191 +#: config/tc-arm.c:6202 msgid "only lo-regs valid in load/store multiple" msgstr "" -#: config/tc-arm.c:6237 +#: config/tc-arm.c:6248 msgid "Syntax: ldrs[b] Rd, [Rb, Ro]" msgstr "" -#: config/tc-arm.c:6301 +#: config/tc-arm.c:6312 msgid "invalid register list to push/pop instruction" msgstr "" -#: config/tc-arm.c:6443 config/tc-cris.c:684 +#: config/tc-arm.c:6454 config/tc-cris.c:684 msgid "Virtual memory exhausted" msgstr "" -#: config/tc-arm.c:6846 +#: config/tc-arm.c:6857 #, c-format msgid "invalid constant (%lx) after fixup" msgstr "" -#: config/tc-arm.c:6882 +#: config/tc-arm.c:6893 #, c-format msgid "Unable to compute ADRL instructions for PC offset of 0x%lx" msgstr "" -#: config/tc-arm.c:6912 +#: config/tc-arm.c:6923 #, c-format msgid "bad immediate value for offset (%ld)" msgstr "" -#: config/tc-arm.c:6934 config/tc-arm.c:6956 +#: config/tc-arm.c:6945 config/tc-arm.c:6967 msgid "invalid literal constant: pool needs to be closer" msgstr "" -#: config/tc-arm.c:6936 +#: config/tc-arm.c:6947 #, c-format msgid "bad immediate value for half-word offset (%ld)" msgstr "" -#: config/tc-arm.c:6973 +#: config/tc-arm.c:6984 msgid "shift expression is too large" msgstr "" -#: config/tc-arm.c:6992 config/tc-arm.c:7001 +#: config/tc-arm.c:7003 config/tc-arm.c:7012 msgid "Invalid swi expression" msgstr "" -#: config/tc-arm.c:7011 +#: config/tc-arm.c:7022 msgid "Invalid expression in load/store multiple" msgstr "" -#: config/tc-arm.c:7064 +#: config/tc-arm.c:7075 msgid "gas can't handle same-section branch dest >= 0x04000000" msgstr "" -#: config/tc-arm.c:7073 +#: config/tc-arm.c:7084 msgid "out of range branch" msgstr "" -#: config/tc-arm.c:7106 config/tc-arm.c:7122 config/tc-mips.c:9764 +#: config/tc-arm.c:7117 config/tc-arm.c:7133 config/tc-mips.c:9806 msgid "Branch out of range" msgstr "" -#: config/tc-arm.c:7145 +#: config/tc-arm.c:7156 msgid "Branch with link out of range" msgstr "" -#: config/tc-arm.c:7221 +#: config/tc-arm.c:7232 msgid "Illegal value for co-processor offset" msgstr "" -#: config/tc-arm.c:7245 +#: config/tc-arm.c:7256 #, c-format msgid "Invalid offset, target not word aligned (0x%08X)" msgstr "" -#: config/tc-arm.c:7251 config/tc-arm.c:7260 config/tc-arm.c:7267 -#: config/tc-arm.c:7274 config/tc-arm.c:7281 +#: config/tc-arm.c:7262 config/tc-arm.c:7271 config/tc-arm.c:7278 +#: config/tc-arm.c:7285 config/tc-arm.c:7292 #, c-format msgid "Invalid offset, value too big (0x%08lX)" msgstr "" -#: config/tc-arm.c:7320 +#: config/tc-arm.c:7331 msgid "Invalid immediate for stack address calculation" msgstr "" -#: config/tc-arm.c:7329 +#: config/tc-arm.c:7340 #, c-format msgid "Invalid immediate for address calculation (value = 0x%08lX)" msgstr "" -#: config/tc-arm.c:7339 +#: config/tc-arm.c:7350 msgid "Invalid 8bit immediate" msgstr "" -#: config/tc-arm.c:7347 +#: config/tc-arm.c:7358 msgid "Invalid 3bit immediate" msgstr "" -#: config/tc-arm.c:7363 +#: config/tc-arm.c:7374 #, c-format msgid "Invalid immediate: %ld is too large" msgstr "" -#: config/tc-arm.c:7378 +#: config/tc-arm.c:7389 #, c-format msgid "Illegal Thumb shift value: %ld" msgstr "" -#: config/tc-arm.c:7392 config/tc-mn10300.c:1929 +#: config/tc-arm.c:7403 config/tc-mn10300.c:1972 #, c-format msgid "Bad relocation fixup type (%d)" msgstr "" -#: config/tc-arm.c:7465 +#: config/tc-arm.c:7476 msgid "Literal referenced across section boundary (Implicit dump?)" msgstr "" -#: config/tc-arm.c:7478 +#: config/tc-arm.c:7489 #, c-format msgid "Internal_relocation (type %d) not fixed up (IMMEDIATE)" msgstr "" -#: config/tc-arm.c:7484 +#: config/tc-arm.c:7495 msgid "ADRL used for a symbol not defined in the same file" msgstr "" -#: config/tc-arm.c:7489 +#: config/tc-arm.c:7500 #, c-format msgid "Internal_relocation (type %d) not fixed up (OFFSET_IMM)" msgstr "" -#: config/tc-arm.c:7510 config/tc-cris.c:2944 config/tc-mcore.c:2109 -#: config/tc-ns32k.c:2375 +#: config/tc-arm.c:7521 config/tc-cris.c:2944 config/tc-mcore.c:2104 +#: config/tc-ns32k.c:2363 msgid "" msgstr "" -#: config/tc-arm.c:7513 +#: config/tc-arm.c:7524 #, c-format msgid "Cannot represent %s relocation in this object file format" msgstr "" -#: config/tc-arm.c:7534 config/tc-mips.c:11282 config/tc-sh.c:3196 +#: config/tc-arm.c:7545 config/tc-mips.c:11315 config/tc-sh.c:3198 #, c-format msgid "Can not represent %s relocation in this object file format" msgstr "" -#: config/tc-arm.c:7631 +#: config/tc-arm.c:7642 #, c-format msgid "No operator -- statement `%s'\n" msgstr "" -#: config/tc-arm.c:7649 +#: config/tc-arm.c:7660 msgid "selected processor does not support this opcode" msgstr "" -#: config/tc-arm.c:7695 +#: config/tc-arm.c:7706 #, c-format msgid "Opcode `%s' must have suffix from list: <%s>" msgstr "" -#: config/tc-arm.c:7726 +#: config/tc-arm.c:7737 msgid "Warning: Use of the 'nv' conditional is deprecated\n" msgstr "" -#: config/tc-arm.c:7743 +#: config/tc-arm.c:7754 #, c-format msgid "Opcode `%s' is unconditional\n" msgstr "" -#: config/tc-arm.c:7767 +#: config/tc-arm.c:7778 #, c-format msgid "Opcode `%s' must have suffix from <%s>\n" msgstr "" -#: config/tc-arm.c:7858 +#: config/tc-arm.c:7869 #, c-format msgid "register '%s' does not exist\n" msgstr "" -#: config/tc-arm.c:7863 +#: config/tc-arm.c:7874 #, c-format msgid "ignoring redefinition of register alias '%s'" msgstr "" -#: config/tc-arm.c:7869 +#: config/tc-arm.c:7880 #, c-format msgid "" "ignoring redefinition of register alias '%s' to non-existant register '%s'" msgstr "" -#: config/tc-arm.c:7873 +#: config/tc-arm.c:7884 msgid "ignoring incomplete .req pseuso op" msgstr "" -#: config/tc-arm.c:7880 +#: config/tc-arm.c:7891 #, c-format msgid "bad instruction `%s'" msgstr "" -#: config/tc-arm.c:8055 +#: config/tc-arm.c:8066 #, c-format msgid "Unrecognised APCS switch -m%s" msgstr "" -#: config/tc-arm.c:8212 config/tc-arm.c:8225 config/tc-arm.c:8238 -#: config/tc-arm.c:8251 config/tc-arm.c:8257 +#: config/tc-arm.c:8223 config/tc-arm.c:8236 config/tc-arm.c:8249 +#: config/tc-arm.c:8262 config/tc-arm.c:8268 #, c-format msgid "Invalid architecture variant -m%s" msgstr "" -#: config/tc-arm.c:8264 +#: config/tc-arm.c:8275 #, c-format msgid "Invalid processor variant -m%s" msgstr "" -#: config/tc-arm.c:8287 +#: config/tc-arm.c:8298 msgid "" " ARM Specific Assembler Options:\n" " -m[arm][] select processor variant\n" @@ -2034,7 +2032,7 @@ msgid "" " -k generate PIC code.\n" msgstr "" -#: config/tc-arm.c:8299 +#: config/tc-arm.c:8310 msgid "" " -mapcs-32, -mapcs-26 specify which ARM Procedure Calling Standard to " "use\n" @@ -2043,23 +2041,23 @@ msgid "" " -mapcs-reentrant the code is position independent/reentrant\n" msgstr "" -#: config/tc-arm.c:8306 +#: config/tc-arm.c:8317 msgid " -moabi support the old ELF ABI\n" msgstr "" -#: config/tc-arm.c:8310 +#: config/tc-arm.c:8321 msgid "" " -EB assemble code for a big endian cpu\n" " -EL assemble code for a little endian cpu\n" msgstr "" -#: config/tc-arm.c:8494 +#: config/tc-arm.c:8505 #, c-format msgid "%s: unexpected function type: %d" msgstr "" -#: config/tc-arm.c:8857 -msgid "alignments in code section > 32 not supported." +#: config/tc-arm.c:8871 +msgid "alignments greater than 32 bytes not supported in .text sections." msgstr "" #: config/tc-avr.c:185 @@ -2099,8 +2097,8 @@ msgid "redefinition of mcu type `%s' to msgstr "" #: config/tc-avr.c:372 config/tc-d10v.c:314 config/tc-d30v.c:366 -#: config/tc-mips.c:8806 config/tc-mn10200.c:376 config/tc-pj.c:356 -#: config/tc-ppc.c:4519 config/tc-sh.c:2068 config/tc-v850.c:1291 +#: config/tc-mips.c:8836 config/tc-mn10200.c:376 config/tc-pj.c:356 +#: config/tc-ppc.c:4538 config/tc-sh.c:2070 config/tc-v850.c:1292 msgid "bad call to md_atof" msgstr "" @@ -2194,15 +2192,15 @@ msgid "only constant expression allowed" msgstr "" #: config/tc-avr.c:1060 config/tc-d10v.c:1496 config/tc-d30v.c:1807 -#: config/tc-mn10200.c:1255 config/tc-mn10300.c:1799 config/tc-ppc.c:5162 -#: config/tc-v850.c:2301 +#: config/tc-mn10200.c:1255 config/tc-mn10300.c:1800 config/tc-ppc.c:5180 +#: config/tc-v850.c:2296 #, c-format msgid "reloc %d not supported by object file format" msgstr "" #: config/tc-avr.c:1084 config/tc-d10v.c:1103 config/tc-d10v.c:1117 #: config/tc-h8300.c:1239 config/tc-h8500.c:1088 config/tc-mcore.c:988 -#: config/tc-pj.c:265 config/tc-sh.c:1650 config/tc-z8k.c:1205 +#: config/tc-pj.c:265 config/tc-sh.c:1650 config/tc-z8k.c:1183 msgid "can't find opcode " msgstr "" @@ -2447,7 +2445,7 @@ msgstr "" #: config/tc-d10v.c:531 config/tc-d30v.c:550 config/tc-mn10200.c:952 #: config/tc-mn10300.c:1334 config/tc-ppc.c:1972 config/tc-s390.c:1028 -#: config/tc-tic80.c:278 config/tc-v850.c:2073 +#: config/tc-tic80.c:278 config/tc-v850.c:2070 msgid "illegal operand" msgstr "" @@ -2516,7 +2514,7 @@ msgstr "" msgid "bad opcode or operands" msgstr "" -#: config/tc-d10v.c:1354 config/tc-m68k.c:4301 +#: config/tc-d10v.c:1354 config/tc-m68k.c:4303 msgid "value out of range" msgstr "" @@ -2679,16 +2677,17 @@ msgstr "" msgid " FR30 specific command line options:\n" msgstr "" -#: config/tc-fr30.c:143 +#: config/tc-fr30.c:143 config/tc-openrisc.c:151 #, c-format msgid "Instruction %s not allowed in a delay slot." msgstr "" -#: config/tc-fr30.c:381 config/tc-m32r.c:1557 +#: config/tc-fr30.c:383 config/tc-m32r.c:1558 msgid "Addend to unresolved symbol not on word boundary." msgstr "" -#: config/tc-fr30.c:539 config/tc-i960.c:773 config/tc-m32r.c:1866 +#: config/tc-fr30.c:541 config/tc-i960.c:773 config/tc-m32r.c:1867 +#: config/tc-openrisc.c:469 msgid "Bad call to md_atof()" msgstr "" @@ -2764,8 +2763,8 @@ msgstr "" msgid "invalid operands" msgstr "" -#: config/tc-h8300.c:1250 config/tc-h8500.c:1094 config/tc-mips.c:8001 -#: config/tc-sh.c:1887 config/tc-w65.c:734 config/tc-z8k.c:1215 +#: config/tc-h8300.c:1250 config/tc-h8500.c:1094 config/tc-mips.c:8030 +#: config/tc-sh.c:1887 config/tc-w65.c:734 config/tc-z8k.c:1193 msgid "unknown opcode" msgstr "" @@ -2773,25 +2772,25 @@ msgstr "" msgid "mismatch between opcode size and operand size" msgstr "" -#: config/tc-h8300.c:1307 config/tc-h8500.c:1121 config/tc-sh.c:2023 -#: config/tc-w65.c:764 config/tc-z8k.c:1268 +#: config/tc-h8300.c:1307 config/tc-h8500.c:1121 config/tc-sh.c:2025 +#: config/tc-w65.c:764 config/tc-z8k.c:1246 msgid "call to tc_crawl_symbol_chain \n" msgstr "" -#: config/tc-h8300.c:1321 config/tc-h8500.c:1135 config/tc-sh.c:2030 -#: config/tc-w65.c:778 config/tc-z8k.c:1282 +#: config/tc-h8300.c:1321 config/tc-h8500.c:1135 config/tc-sh.c:2032 +#: config/tc-w65.c:778 config/tc-z8k.c:1260 msgid "call to tc_headers_hook \n" msgstr "" -#: config/tc-h8300.c:1412 config/tc-h8500.c:1225 config/tc-z8k.c:1396 +#: config/tc-h8300.c:1412 config/tc-h8500.c:1225 config/tc-z8k.c:1374 msgid "call to tc_aout_fix_to_chars \n" msgstr "" -#: config/tc-h8300.c:1422 config/tc-z8k.c:1406 +#: config/tc-h8300.c:1422 config/tc-z8k.c:1384 msgid "call to md_convert_frag \n" msgstr "" -#: config/tc-h8300.c:1467 config/tc-z8k.c:1487 +#: config/tc-h8300.c:1467 config/tc-z8k.c:1465 msgid "call tomd_estimate_size_before_relax \n" msgstr "" @@ -2857,7 +2856,7 @@ msgstr "" #: config/tc-hppa.c:1403 config/tc-hppa.c:6895 config/tc-hppa.c:6901 #: config/tc-hppa.c:6907 config/tc-hppa.c:6913 config/tc-mn10300.c:926 -#: config/tc-mn10300.c:2103 +#: config/tc-mn10300.c:2162 msgid "could not set architecture and machine" msgstr "" @@ -3105,7 +3104,7 @@ msgstr "" msgid ".REG expression must be a register" msgstr "" -#: config/tc-hppa.c:6498 read.c:4736 +#: config/tc-hppa.c:6498 read.c:4748 msgid "bad or irreducible absolute expression; zero assumed" msgstr "" @@ -3289,11 +3288,11 @@ msgstr "" msgid "no such architecture modifier: `%s'" msgstr "" -#: config/tc-i386.c:823 config/tc-i386.c:4590 +#: config/tc-i386.c:823 config/tc-i386.c:4627 msgid "Unknown architecture" msgstr "" -#: config/tc-i386.c:858 config/tc-i386.c:881 config/tc-m68k.c:3816 +#: config/tc-i386.c:858 config/tc-i386.c:881 config/tc-m68k.c:3821 #, c-format msgid "Internal Error: Can't hash %s: %s" msgstr "" @@ -3302,7 +3301,7 @@ msgstr "" msgid "There are no unsigned pc-relative relocations" msgstr "" -#: config/tc-i386.c:1141 config/tc-i386.c:4746 +#: config/tc-i386.c:1141 config/tc-i386.c:4783 #, c-format msgid "can not do %d byte pc-relative relocation" msgstr "" @@ -3312,295 +3311,300 @@ msgstr "" msgid "can not do %s %d byte relocation" msgstr "" -#: config/tc-i386.c:1269 config/tc-i386.c:1362 +#: config/tc-i386.c:1265 config/tc-i386.c:1359 #, c-format msgid "no such instruction: `%s'" msgstr "" -#: config/tc-i386.c:1278 +#: config/tc-i386.c:1275 config/tc-i386.c:1391 #, c-format msgid "invalid character %s in mnemonic" msgstr "" -#: config/tc-i386.c:1285 +#: config/tc-i386.c:1282 msgid "expecting prefix; got nothing" msgstr "" -#: config/tc-i386.c:1287 +#: config/tc-i386.c:1284 msgid "expecting mnemonic; got nothing" msgstr "" -#: config/tc-i386.c:1305 +#: config/tc-i386.c:1302 #, c-format msgid "redundant %s prefix" msgstr "" -#: config/tc-i386.c:1373 +#: config/tc-i386.c:1402 #, c-format msgid "`%s' is not supported on `%s'" msgstr "" -#: config/tc-i386.c:1378 +#: config/tc-i386.c:1407 msgid "use .code16 to ensure correct addressing mode" msgstr "" -#: config/tc-i386.c:1386 +#: config/tc-i386.c:1415 #, c-format msgid "expecting string instruction after `%s'" msgstr "" -#: config/tc-i386.c:1407 +#: config/tc-i386.c:1436 #, c-format msgid "invalid character %s before operand %d" msgstr "" -#: config/tc-i386.c:1421 +#: config/tc-i386.c:1450 #, c-format msgid "unbalanced parenthesis in operand %d." msgstr "" -#: config/tc-i386.c:1424 +#: config/tc-i386.c:1453 #, c-format msgid "unbalanced brackets in operand %d." msgstr "" -#: config/tc-i386.c:1433 +#: config/tc-i386.c:1462 #, c-format msgid "invalid character %s in operand %d" msgstr "" -#: config/tc-i386.c:1460 +#: config/tc-i386.c:1489 #, c-format msgid "spurious operands; (%d operands/instruction max)" msgstr "" -#: config/tc-i386.c:1483 +#: config/tc-i386.c:1512 msgid "expecting operand after ','; got nothing" msgstr "" -#: config/tc-i386.c:1488 +#: config/tc-i386.c:1517 msgid "expecting operand before ','; got nothing" msgstr "" #. We found no match. -#: config/tc-i386.c:1832 +#: config/tc-i386.c:1861 #, c-format msgid "suffix or operands invalid for `%s'" msgstr "" -#: config/tc-i386.c:1843 +#: config/tc-i386.c:1872 #, c-format msgid "indirect %s without `*'" msgstr "" #. Warn them that a data or address size prefix doesn't #. affect assembly of the next line of code. -#: config/tc-i386.c:1851 +#: config/tc-i386.c:1880 #, c-format msgid "stand-alone `%s' prefix" msgstr "" -#: config/tc-i386.c:1887 config/tc-i386.c:1902 +#: config/tc-i386.c:1916 config/tc-i386.c:1931 msgid "`%s' operand %d must use `%%es' segment" msgstr "" -#: config/tc-i386.c:1917 +#: config/tc-i386.c:1946 msgid "Extended register `%%%s' available only in 64bit mode." msgstr "" #. Prohibit these changes in the 64bit mode, since #. the lowering is more complicated. -#: config/tc-i386.c:1988 config/tc-i386.c:2042 config/tc-i386.c:2057 -#: config/tc-i386.c:2085 config/tc-i386.c:2113 +#: config/tc-i386.c:2017 config/tc-i386.c:2071 config/tc-i386.c:2086 +#: config/tc-i386.c:2114 config/tc-i386.c:2142 msgid "Incorrect register `%%%s' used with`%c' suffix" msgstr "" -#: config/tc-i386.c:1994 config/tc-i386.c:2047 config/tc-i386.c:2118 +#: config/tc-i386.c:2023 config/tc-i386.c:2076 config/tc-i386.c:2147 msgid "using `%%%s' instead of `%%%s' due to `%c' suffix" msgstr "" -#: config/tc-i386.c:2010 config/tc-i386.c:2028 config/tc-i386.c:2072 -#: config/tc-i386.c:2099 +#: config/tc-i386.c:2039 config/tc-i386.c:2057 config/tc-i386.c:2101 +#: config/tc-i386.c:2128 msgid "`%%%s' not allowed with `%s%c'" msgstr "" -#: config/tc-i386.c:2159 +#: config/tc-i386.c:2188 msgid "no instruction mnemonic suffix given; can't determine immediate size" msgstr "" -#: config/tc-i386.c:2185 +#: config/tc-i386.c:2214 #, c-format msgid "" "no instruction mnemonic suffix given; can't determine immediate size %x %c" msgstr "" -#: config/tc-i386.c:2210 +#: config/tc-i386.c:2239 msgid "" "no instruction mnemonic suffix given and no register operands; can't size " "instruction" msgstr "" -#: config/tc-i386.c:2258 +#: config/tc-i386.c:2287 msgid "64bit operations available only in 64bit modes." msgstr "" #. Reversed arguments on faddp, fsubp, etc. -#: config/tc-i386.c:2326 +#: config/tc-i386.c:2355 msgid "translating to `%s %%%s,%%%s'" msgstr "" #. Extraneous `l' suffix on fp insn. -#: config/tc-i386.c:2333 +#: config/tc-i386.c:2362 msgid "translating to `%s %%%s'" msgstr "" -#: config/tc-i386.c:2606 +#: config/tc-i386.c:2635 msgid "you can't `pop %%cs'" msgstr "" #. UnixWare fsub no args is alias for fsubp, fadd -> faddp, etc. -#: config/tc-i386.c:2639 +#: config/tc-i386.c:2668 #, c-format msgid "translating to `%sp'" msgstr "" -#: config/tc-i386.c:2682 +#: config/tc-i386.c:2711 msgid "" "Can't encode registers '%%%s' in the instruction requiring REX prefix.\n" msgstr "" -#: config/tc-i386.c:2729 config/tc-i386.c:2803 config/tc-i386.c:2850 +#: config/tc-i386.c:2770 config/tc-i386.c:2850 config/tc-i386.c:2886 msgid "skipping prefixes on this instruction" msgstr "" -#: config/tc-i386.c:2871 +#: config/tc-i386.c:2906 msgid "16-bit jump out of range" msgstr "" -#: config/tc-i386.c:2880 +#: config/tc-i386.c:2915 #, c-format msgid "can't handle non absolute segment in `%s'" msgstr "" -#: config/tc-i386.c:3184 +#: config/tc-i386.c:3208 #, c-format msgid "@%s reloc is not supported in %s bit mode" msgstr "" -#: config/tc-i386.c:3260 +#: config/tc-i386.c:3284 msgid "only 1 or 2 immediate operands are allowed" msgstr "" -#: config/tc-i386.c:3283 config/tc-i386.c:3491 +#: config/tc-i386.c:3307 config/tc-i386.c:3495 #, c-format msgid "junk `%s' after expression" msgstr "" #. Missing or bad expr becomes absolute 0. -#: config/tc-i386.c:3294 +#: config/tc-i386.c:3318 #, c-format msgid "missing or invalid immediate expression `%s' taken as 0" msgstr "" -#: config/tc-i386.c:3325 config/tc-i386.c:3524 +#: config/tc-i386.c:3349 config/tc-i386.c:3556 #, c-format msgid "unimplemented segment %s in operand" msgstr "" -#: config/tc-i386.c:3327 config/tc-i386.c:3526 +#: config/tc-i386.c:3351 config/tc-i386.c:3558 #, c-format msgid "unimplemented segment type %d in operand" msgstr "" -#: config/tc-i386.c:3371 config/tc-i386.c:5505 +#: config/tc-i386.c:3395 config/tc-i386.c:5542 #, c-format msgid "expecting scale factor of 1, 2, 4, or 8: got `%s'" msgstr "" -#: config/tc-i386.c:3378 +#: config/tc-i386.c:3402 #, c-format msgid "scale factor of %d without an index register" msgstr "" +#: config/tc-i386.c:3515 +#, c-format +msgid "bad expression used with @%s" +msgstr "" + #. Missing or bad expr becomes absolute 0. -#: config/tc-i386.c:3505 +#: config/tc-i386.c:3537 #, c-format msgid "missing or invalid displacement expression `%s' taken as 0" msgstr "" -#: config/tc-i386.c:3611 +#: config/tc-i386.c:3643 #, c-format msgid "`%s' is not a valid base/index expression" msgstr "" -#: config/tc-i386.c:3615 +#: config/tc-i386.c:3647 #, c-format msgid "`%s' is not a valid %s bit base/index expression" msgstr "" -#: config/tc-i386.c:3690 +#: config/tc-i386.c:3722 #, c-format msgid "bad memory operand `%s'" msgstr "" -#: config/tc-i386.c:3705 +#: config/tc-i386.c:3737 #, c-format msgid "junk `%s' after register" msgstr "" -#: config/tc-i386.c:3714 config/tc-i386.c:3829 config/tc-i386.c:3867 +#: config/tc-i386.c:3746 config/tc-i386.c:3861 config/tc-i386.c:3899 #, c-format msgid "bad register name `%s'" msgstr "" -#: config/tc-i386.c:3722 +#: config/tc-i386.c:3754 msgid "immediate operand illegal with absolute jump" msgstr "" -#: config/tc-i386.c:3744 +#: config/tc-i386.c:3776 #, c-format msgid "too many memory references for `%s'" msgstr "" -#: config/tc-i386.c:3822 +#: config/tc-i386.c:3854 #, c-format msgid "expecting `,' or `)' after index register in `%s'" msgstr "" -#: config/tc-i386.c:3846 +#: config/tc-i386.c:3878 #, c-format msgid "expecting `)' after scale factor in `%s'" msgstr "" -#: config/tc-i386.c:3853 +#: config/tc-i386.c:3885 #, c-format msgid "expecting index register or scale factor after `,'; got '%c'" msgstr "" -#: config/tc-i386.c:3860 +#: config/tc-i386.c:3892 #, c-format msgid "expecting `,' or `)' after base register in `%s'" msgstr "" #. It's not a memory operand; argh! -#: config/tc-i386.c:3901 +#: config/tc-i386.c:3933 #, c-format msgid "invalid char %s beginning operand %d `%s'" msgstr "" -#: config/tc-i386.c:4080 +#: config/tc-i386.c:4117 msgid "long jump required" msgstr "" -#: config/tc-i386.c:4386 +#: config/tc-i386.c:4423 msgid "Bad call to md_atof ()" msgstr "" -#: config/tc-i386.c:4543 +#: config/tc-i386.c:4580 msgid "No compiled in support for x86_64" msgstr "" -#: config/tc-i386.c:4564 +#: config/tc-i386.c:4601 msgid "" " -Q ignored\n" " -V print assembler version number\n" @@ -3609,63 +3613,63 @@ msgid "" " -s ignored\n" msgstr "" -#: config/tc-i386.c:4571 +#: config/tc-i386.c:4608 msgid " -q quieten some warnings\n" msgstr "" -#: config/tc-i386.c:4630 config/tc-s390.c:1561 +#: config/tc-i386.c:4667 config/tc-s390.c:1561 msgid "GOT already in symbol table" msgstr "" -#: config/tc-i386.c:4760 +#: config/tc-i386.c:4797 #, c-format msgid "can not do %d byte relocation" msgstr "" -#: config/tc-i386.c:4811 config/tc-s390.c:1888 +#: config/tc-i386.c:4848 config/tc-s390.c:1888 #, c-format msgid "cannot represent relocation type %s" msgstr "" -#: config/tc-i386.c:5107 +#: config/tc-i386.c:5144 #, c-format msgid "too many memory references for '%s'" msgstr "" -#: config/tc-i386.c:5270 +#: config/tc-i386.c:5307 #, c-format msgid "Unknown operand modifier `%s'\n" msgstr "" -#: config/tc-i386.c:5477 +#: config/tc-i386.c:5514 #, c-format msgid "`%s' is not a valid segment register" msgstr "" -#: config/tc-i386.c:5487 config/tc-i386.c:5608 +#: config/tc-i386.c:5524 config/tc-i386.c:5645 msgid "Register scaling only allowed in memory operands." msgstr "" -#: config/tc-i386.c:5518 +#: config/tc-i386.c:5555 msgid "Too many register references in memory operand.\n" msgstr "" -#: config/tc-i386.c:5587 +#: config/tc-i386.c:5624 #, c-format msgid "Syntax error. Expecting a constant. Got `%s'.\n" msgstr "" -#: config/tc-i386.c:5657 +#: config/tc-i386.c:5694 #, c-format msgid "Unrecognized token '%s'" msgstr "" -#: config/tc-i386.c:5674 +#: config/tc-i386.c:5711 #, c-format msgid "Unexpected token `%s'\n" msgstr "" -#: config/tc-i386.c:5818 +#: config/tc-i386.c:5855 #, c-format msgid "Unrecognized token `%s'\n" msgstr "" @@ -3674,7 +3678,7 @@ msgstr "" msgid "Unknown temporary pseudo register" msgstr "" -#: config/tc-i860.c:181 config/tc-mips.c:1028 +#: config/tc-i860.c:181 config/tc-mips.c:1036 #, c-format msgid "internal error: can't hash `%s': %s\n" msgstr "" @@ -3936,95 +3940,95 @@ msgstr "" msgid "callj to difference of two symbols" msgstr "" -#: config/tc-ia64.c:998 +#: config/tc-ia64.c:1020 msgid "Unwind directive not followed by an instruction." msgstr "" -#: config/tc-ia64.c:4272 +#: config/tc-ia64.c:4297 msgid "Register name expected" msgstr "" -#: config/tc-ia64.c:4277 config/tc-ia64.c:4563 +#: config/tc-ia64.c:4302 config/tc-ia64.c:4588 msgid "Comma expected" msgstr "" -#: config/tc-ia64.c:4285 +#: config/tc-ia64.c:4310 msgid "Register value annotation ignored" msgstr "" -#: config/tc-ia64.c:4309 +#: config/tc-ia64.c:4334 msgid "Directive invalid within a bundle" msgstr "" -#: config/tc-ia64.c:4376 +#: config/tc-ia64.c:4401 msgid "Missing predicate relation type" msgstr "" -#: config/tc-ia64.c:4392 +#: config/tc-ia64.c:4417 msgid "Unrecognized predicate relation type" msgstr "" -#: config/tc-ia64.c:4412 config/tc-ia64.c:4437 +#: config/tc-ia64.c:4437 config/tc-ia64.c:4462 msgid "Predicate register expected" msgstr "" -#: config/tc-ia64.c:4424 +#: config/tc-ia64.c:4449 msgid "Duplicate predicate register ignored" msgstr "" -#: config/tc-ia64.c:4446 +#: config/tc-ia64.c:4471 msgid "Bad register range" msgstr "" -#: config/tc-ia64.c:4474 +#: config/tc-ia64.c:4499 msgid "Predicate source and target required" msgstr "" -#: config/tc-ia64.c:4476 config/tc-ia64.c:4488 +#: config/tc-ia64.c:4501 config/tc-ia64.c:4513 msgid "Use of p0 is not valid in this context" msgstr "" -#: config/tc-ia64.c:4483 +#: config/tc-ia64.c:4508 msgid "At least two PR arguments expected" msgstr "" -#: config/tc-ia64.c:4497 +#: config/tc-ia64.c:4522 msgid "At least one PR argument expected" msgstr "" -#: config/tc-ia64.c:4533 +#: config/tc-ia64.c:4558 #, c-format msgid "Inserting \"%s\" into entry hint table failed: %s" msgstr "" #. FIXME -- need 62-bit relocation type -#: config/tc-ia64.c:4990 +#: config/tc-ia64.c:5015 msgid "62-bit relocation not yet implemented" msgstr "" #. XXX technically, this is wrong: we should not be issuing warning #. messages until we're sure this instruction pattern is going to #. be used! -#: config/tc-ia64.c:5063 +#: config/tc-ia64.c:5088 msgid "lower 16 bits of mask ignored" msgstr "" -#: config/tc-ia64.c:5618 +#: config/tc-ia64.c:5643 msgid "Value truncated to 62 bits" msgstr "" -#: config/tc-ia64.c:5969 +#: config/tc-ia64.c:5994 msgid "" "Additional NOP may be necessary to workaround Itanium processor A/B step " "errata" msgstr "" -#: config/tc-ia64.c:6152 +#: config/tc-ia64.c:6177 #, c-format msgid "Unrecognized option '-x%s'" msgstr "" -#: config/tc-ia64.c:6180 +#: config/tc-ia64.c:6205 msgid "" "IA-64 options:\n" " -milp32|-milp64|-mlp64|-mp64\tselect data model (default -mlp64)\n" @@ -4034,28 +4038,28 @@ msgid "" " -xdebug\t\t debug dependency violation checker\n" msgstr "" -#: config/tc-ia64.c:6450 config/tc-mips.c:1015 +#: config/tc-ia64.c:6475 config/tc-mips.c:1023 msgid "Could not set architecture and machine" msgstr "" -#: config/tc-ia64.c:6542 +#: config/tc-ia64.c:6567 msgid "Explicit stops are ignored in auto mode" msgstr "" -#: config/tc-ia64.c:6592 +#: config/tc-ia64.c:6617 msgid "Found '{' after explicit switch to automatic mode" msgstr "" -#: config/tc-ia64.c:8305 +#: config/tc-ia64.c:8330 #, c-format msgid "Unrecognized dependency specifier %d\n" msgstr "" -#: config/tc-ia64.c:9096 +#: config/tc-ia64.c:9121 msgid "Only the first path encountering the conflict is reported" msgstr "" -#: config/tc-ia64.c:9099 +#: config/tc-ia64.c:9124 msgid "This is the location of the conflicting usage" msgstr "" @@ -4190,7 +4194,7 @@ msgid "" "is this intentional ?" msgstr "" -#: config/tc-m32r.c:1251 config/tc-ppc.c:1459 config/tc-ppc.c:3681 read.c:1358 +#: config/tc-m32r.c:1251 config/tc-ppc.c:1459 config/tc-ppc.c:3701 read.c:1358 msgid "Expected comma after symbol-name: rest of line ignored." msgstr "" @@ -4200,11 +4204,11 @@ msgid ".SCOMMon length (%ld.) <0! Ignore msgstr "" #: config/tc-m32r.c:1275 config/tc-ppc.c:1481 config/tc-ppc.c:2392 -#: config/tc-ppc.c:3705 +#: config/tc-ppc.c:3725 msgid "ignoring bad alignment" msgstr "" -#: config/tc-m32r.c:1302 config/tc-ppc.c:1492 config/tc-ppc.c:3717 read.c:1382 +#: config/tc-m32r.c:1302 config/tc-ppc.c:1492 config/tc-ppc.c:3737 read.c:1382 #: read.c:2108 #, c-format msgid "Ignoring attempt to re-define symbol `%s'." @@ -4215,11 +4219,11 @@ msgstr "" msgid "Length of .scomm \"%s\" is already %ld. Not changed to %ld." msgstr "" -#: config/tc-m32r.c:1788 +#: config/tc-m32r.c:1789 msgid "Unmatched high/shigh reloc" msgstr "" -#: config/tc-m68hc11.c:311 +#: config/tc-m68hc11.c:313 #, c-format msgid "" "Motorola 68HC11/68HC12 options:\n" @@ -4235,55 +4239,55 @@ msgid "" " (used for testing)\n" msgstr "" -#: config/tc-m68hc11.c:352 +#: config/tc-m68hc11.c:354 #, c-format msgid "Default target `%s' is not supported." msgstr "" #. Dump the opcode statistics table. -#: config/tc-m68hc11.c:371 +#: config/tc-m68hc11.c:373 msgid "Name # Modes Min ops Max ops Modes mask # Used\n" msgstr "" -#: config/tc-m68hc11.c:421 +#: config/tc-m68hc11.c:423 #, c-format msgid "Option `%s' is not recognized." msgstr "" -#: config/tc-m68hc11.c:642 +#: config/tc-m68hc11.c:644 msgid "#" msgstr "" -#: config/tc-m68hc11.c:651 +#: config/tc-m68hc11.c:653 msgid "#" msgstr "" -#: config/tc-m68hc11.c:660 config/tc-m68hc11.c:669 +#: config/tc-m68hc11.c:662 config/tc-m68hc11.c:671 msgid ",X" msgstr "" -#: config/tc-m68hc11.c:687 +#: config/tc-m68hc11.c:689 msgid "*" msgstr "" -#: config/tc-m68hc11.c:699 +#: config/tc-m68hc11.c:701 msgid "#" msgstr "" -#: config/tc-m68hc11.c:709 +#: config/tc-m68hc11.c:711 #, c-format msgid "symbol%d" msgstr "" -#: config/tc-m68hc11.c:711 +#: config/tc-m68hc11.c:713 msgid "" msgstr "" -#: config/tc-m68hc11.c:730 +#: config/tc-m68hc11.c:732 msgid "