diff -uprN binutils-2.11.90.0.7/ChangeLog binutils-2.11.90.0.8/ChangeLog --- binutils-2.11.90.0.7/ChangeLog Fri Apr 27 13:48:02 2001 +++ binutils-2.11.90.0.8/ChangeLog Sat May 12 00:04:19 2001 @@ -1,3 +1,8 @@ +2001-05-03 Alexandre Oliva + + * configure.in (noconfigdirs) [*-cygwin*, *-mingw*, *-beos]: Disable + libgcj. + 2001-04-26 Alexandre Oliva * configure.in (noconfigdirs): Don't reset it from scratch in the diff -uprN binutils-2.11.90.0.7/bfd/ChangeLog binutils-2.11.90.0.8/bfd/ChangeLog --- binutils-2.11.90.0.7/bfd/ChangeLog Fri Apr 27 13:48:40 2001 +++ binutils-2.11.90.0.8/bfd/ChangeLog Sat May 12 08:21:15 2001 @@ -1,3 +1,189 @@ +2001-05-12 Peter Targett + + * cpu-arc.c (arch_info_struct): Add entry 'base' representing old + name for 'arc5' core versions. + (bfd_arc_arch): Make bfd_mach_arc_6 default. + + * elf32-arc.c (arc_elf_object_p): Make E_ARC_MACH_ARC6 default + architecture. + (arc_elf_final_write_processing): Make bfd_mach_arc_6 default. + +2001-05-11 Jakub Jelinek + + * elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwind + sections as well. + (elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO + to .gnu.linkonce.t.FOO text section. + +2001-05-11 Jakub Jelinek + + * merge.c (struct sec_merge_hash_entry): Add u.entsize and u.suffix + fields, change sec into secinfo. + (struct sec_merge_info): Add chain, remove last fields. + (struct sec_merge_sec_info): Add next, sec, psecinfo fields. + (sec_merge_hash_lookup): If lookup could not use a string only + because it has bad alignment, mark the old string for deletion. + (sec_merge_add): Add secinfo argument. Don't compute entry's + position, instead record the section. + (sec_merge_emit): Update for the sec into secinfo change in + struct sec_merge_hash_entry. + (_bfd_merge_section): Only record the section for merging, defer + putting strings into the hash table. + (cmplengthentry, last4_eq, last_eq, record_section, merge_strings, + _bfd_merge_sections): New functions. + (_bfd_merged_section_offset): Update for the sec_merge_hash_entry + changes. + * libbfd-in.h (_bfd_merge_sections): Add prototype. + (_bfd_nolink_bfd_merge_sections): Define. + * libbfd.h: Likewise. + (bfd_generic_merge_sections): Add prototype. + * targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_merge_sections. + (struct bfd_target): Likewise. + * bfd.c (bfd_merge_sections): Define. + * bfd-in2.h: Rebuilt. + * elf.c (_bfd_elf_merge_sections): New function. + * elf-bfd.h (_bfd_elf_merge_sections): Add prototype. + * elfxx-target.h (bfd_elfNN_bfd_merge_sections): Define. + * reloc.c (bfd_generic_merge_sections): New function. + * vms.c (vms_bfd_merge_sections): New function. + * aout-adobe.c (aout_32_bfd_merge_sections): Define. + * aout-target.h (MY_bfd_merge_sections): Define. + * aout-tic30.c (MY_bfd_merge_sections): Define. + * binary.c (binary_bfd_merge_sections): Define. + * bout.c (b_out_bfd_merge_sections): Define. + * coff-alpha.c (_bfd_ecoff_bfd_merge_sections): Define. + * coffcode.c (coff_bfd_merge_sections): Define. + * coff-mips.c (_bfd_ecoff_bfd_merge_sections): Define. + * i386msdos.c (msdos_bfd_merge_sections): Define. + * i386os9k.c (os9k_bfd_merge_sections): Define. + * ieee.c (ieee_bfd_merge_sections): Define. + * ihex.c (ihex_bfd_merge_sections): Define. + * nlm-target.h (nlm_bfd_merge_sections): Define. + * oasys.c (oasys_bfd_merge_sections): Define. + * ppcboot.c (ppcboot_bfd_merge_sections): Define. + * som.c (som_bfd_merge_sections): Define. + * srec.c (srec_bfd_merge_sections): Define. + * tekhex.c (tekhex_bfd_merge_sections): Define. + * versados.c (versados_bfd_merge_sections): Define. + * xcoff-target.h (_bfd_xcoff_bfd_merge_sections): Define. + +2001-05-11 Nick Clifton + + * dwarf1.c (_bfd_dwarf1_find_nearest_line): Change type of 'addr' + to be unsigned long, in order to match its use. + +2001-05-10 H.J. Lu + + * linker.c (_bfd_generic_link_add_one_symbol): Check loop on + indirect symbols. + +2001-05-09 H.J. Lu + + * elflink.h (elf_link_add_object_symbols): Fix a typo. Allocate + versymhdr->sh_size bytes for extversym instead of hdr->sh_size. + Remove the unused veriable `dynver'. + +2001-05-08 Ian Lance Taylor + + * coff-i386.c (coff_i386_reloc): Don't dump core if output_bfd is + NULL or is not COFF. + (coff_i386_rtype_to_howto): Don't dump core if output section + owner is not COFF. + +2001-05-07 Thiemo Seufer + + * ecoff.c (bfd_debug_section): Fix initialization. + * elf.c (_bfd_elf_slurp_version_tables): Change maxidx to unsigned, it + is always a positive integer. Cast away sign mismatch. + * elf32-mips.c: Fix misleading comment and typo. + (_bfd_mips_elf_section_from_bfd_section): Remove unused attribute, use + correct data type. + * elflink.c: Fix typo. + (_bfd_elf_create_dynamic_sections): Remove superfluous initialization. + * ecoffswap.h (ecoff_swap_fdr_in): Cast away sign mismatch. + +2001-05-04 Richard Henderson + + * elf64-alpha.c (SREL16, SREL32, SREL64): Set pcrel_offset true. + +2001-05-04 Nick Clifton + + * elf32-arm.h (elf32_arm_final_link_relocate): Set + EF_ARM_HASENTRY if the start address is set. + +2001-05-03 Nick Clifton + + * targets.c (_bfd_target_vector_entries): Compute value based on + the size of the _bfd_target_vector and not bfd_target_vector. + +2001-05-03 H.J. Lu + + * elfcode.h: Include "libiberty.h". + + * elflink.h (elf_link_add_object_symbols): Set + elf_dt_name (abfd) to basename of the bfd filename. + (NAME(bfd_elf,size_dynamic_sections)): Set vn_file to basename + of the bfd filename. + +2001-05-03 Andreas Jaeger + + * elf64-gen.c (elf_generic_info_to_howto): Add unused attribute. + (elf_generic_info_to_howto_rel): Likewise. + * coff-alpha.c (reloc_nil): Likewise. + (alpha_ecoff_bad_format_hook): Likewise. + (alpha_adjust_reloc_out): Likewise. + (alpha_bfd_reloc_type_lookup): Likewise. + (alpha_convert_external_reloc): Likewise. + * elf64-alpha.c (elf64_alpha_reloc_nil): Likewise. + (elf64_alpha_reloc_bad): Likewise. + (elf64_alpha_reloc_gpdisp): Likewise. + (elf64_alpha_bfd_reloc_type_lookup): Likewise. + (elf64_alpha_info_to_howto): Likewise. + (elf64_alpha_add_symbol_hook): Likewise. + (elf64_alpha_create_got_section): Likewise. + (elf64_alpha_is_local_label_name): Likewise. + (elf64_alpha_merge_ind_symbols): Likewise. + * elf64-mips.c (mips_elf64_reloc_type_lookup): Likewise. + (mips_elf64_get_reloc_upper_bound): Likewise. + * nlm32-alpha.c (nlm_alpha_mangle_relocs): Likewise. + (nlm_alpha_get_public_offset): Likewise. + +2001-05-02 Johan Rydberg + + * elf32-openrisc.c (openrisc_elf_howto_table): Do not complain + about overflow in R_OPENRISC_LO_16_IN_INSN and + R_OPENRISC_HI_16_IN_INSN.Index: bfd/elf32-openrisc.c + +2001-04-30 H.J. Lu + + * elf.c (_bfd_elf_link_hash_hide_symbol): Set dynindx to -1 + only for ELF_LINK_FORCED_LOCAL. + * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise. + * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise. + * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise. + + * elflink.h (elf_fix_symbol_flags): Set ELF_LINK_FORCED_LOCAL + if the symbol has hidden or internal visibility. + +2001-04-30 Alan Modra + + * elf32-hppa.c (final_link_relocate): Branch to .+8 for + calls to undefined weak symbols. + +2001-04-30 Andreas Jaeger , Andreas Schwab + + * elf64-x86-64.c (elf64_x86_64_relocate_section): Correct test for + R_X86_64_GOTPCREL, don't use assignments instead of comparisons. + +2001-04-27 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Only swap + out handled entries. + (elf64_x86_64_finish_dynamic_symbol): Set up GOT entries. + (elf64_x86_64_relocate_section): Fix GOTPCREL calculation. + (elf64_x86_64_relocate_section): Merge entries for GOTPCREL and + GOT32. + 2001-04-27 Sean McNeil * config.bfd: Add arm-vxworks target. @@ -48,12 +234,12 @@ (cpu-openrisc.lo, elf32-openrisc.lo): New rules. * Makefile.in: Regenerated. * config.bfd: (openrisc-*-elf): New target. - * configure.in (bfd_elf32_openrisc_vec): New vector. + * configure.in (bfd_elf32_openrisc_vec): New vector. * configure: Regenerated. * libbfd.h: Regenerated. * bfd-in2.h: Regenerated. * reloc.c: Add OpenRISC relocations. - * targets.c (bfd_elf32_openrisc_vec): Declare. + * targets.c (bfd_elf32_openrisc_vec): Declare. (bfd_target_vect): Add bfd_elf32_openrisc_vec. * archures.c (enum bfd_architecture): Add bfd_arch_openrisc. (bfd_openrisc_arch): Declare. diff -uprN binutils-2.11.90.0.7/bfd/ChangeLog.linux binutils-2.11.90.0.8/bfd/ChangeLog.linux --- binutils-2.11.90.0.7/bfd/ChangeLog.linux Fri Apr 27 14:04:59 2001 +++ binutils-2.11.90.0.8/bfd/ChangeLog.linux Sat May 12 01:09:00 2001 @@ -1,13 +1,18 @@ -2001-04-27 H.J. Lu +2001-05-12 H.J. Lu - * elf.c (_bfd_elf_link_hash_hide_symbol): Set dynindx to -1 - only for ELF_LINK_FORCED_LOCAL. - * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise. - * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise. - * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise. + * elf-bfd.h (elf_link_loaded_list): New structure. + (elf_link_hash_table): Add "loaded". - * elflink.h (elf_fix_symbol_flags): Set ELF_LINK_FORCED_LOCAL - if the symbol has hidden or internal visibility. + * elf.c (_bfd_elf_link_hash_table_init): Initialize the + "loaded" field to NULL. + + * elflink.h (elf_link_check_versioned_symbol): New function. + Return true if there is one hidden definition for the undefined + symbol. + + * elflink.h (elf_link_output_extsym): For undefined symbol in + DSO from DT_NEEDED, Call elf_link_check_versioned_symbol to + check if there is one hidden definition. 2000-11-08 H.J. Lu diff -uprN binutils-2.11.90.0.7/bfd/aout-adobe.c binutils-2.11.90.0.8/bfd/aout-adobe.c --- binutils-2.11.90.0.7/bfd/aout-adobe.c Fri Mar 9 11:15:25 2001 +++ binutils-2.11.90.0.8/bfd/aout-adobe.c Sat May 12 00:05:02 2001 @@ -513,6 +513,7 @@ aout_adobe_sizeof_headers (ignore_abfd, #define aout_32_get_section_contents_in_window _bfd_generic_get_section_contents_in_window #define aout_32_bfd_relax_section bfd_generic_relax_section #define aout_32_bfd_gc_sections bfd_generic_gc_sections +#define aout_32_bfd_merge_sections bfd_generic_merge_sections #define aout_32_bfd_link_hash_table_create \ _bfd_generic_link_hash_table_create #define aout_32_bfd_link_add_symbols _bfd_generic_link_add_symbols diff -uprN binutils-2.11.90.0.7/bfd/aout-target.h binutils-2.11.90.0.8/bfd/aout-target.h --- binutils-2.11.90.0.7/bfd/aout-target.h Fri Mar 9 11:15:25 2001 +++ binutils-2.11.90.0.8/bfd/aout-target.h Sat May 12 00:05:03 2001 @@ -507,6 +507,9 @@ MY_bfd_final_link (abfd, info) #ifndef MY_bfd_gc_sections #define MY_bfd_gc_sections bfd_generic_gc_sections #endif +#ifndef MY_bfd_merge_sections +#define MY_bfd_merge_sections bfd_generic_merge_sections +#endif #ifndef MY_bfd_reloc_type_lookup #define MY_bfd_reloc_type_lookup NAME(aout,reloc_type_lookup) #endif diff -uprN binutils-2.11.90.0.7/bfd/aout-tic30.c binutils-2.11.90.0.8/bfd/aout-tic30.c --- binutils-2.11.90.0.7/bfd/aout-tic30.c Fri Mar 9 11:15:25 2001 +++ binutils-2.11.90.0.8/bfd/aout-tic30.c Sat May 12 00:05:03 2001 @@ -940,6 +940,9 @@ tic30_aout_set_arch_mach (abfd, arch, ma #ifndef MY_bfd_gc_sections #define MY_bfd_gc_sections bfd_generic_gc_sections #endif +#ifndef MY_bfd_merge_sections +#define MY_bfd_merge_sections bfd_generic_merge_sections +#endif #ifndef MY_bfd_reloc_type_lookup #define MY_bfd_reloc_type_lookup tic30_aout_reloc_type_lookup #endif diff -uprN binutils-2.11.90.0.7/bfd/bfd-in2.h binutils-2.11.90.0.8/bfd/bfd-in2.h --- binutils-2.11.90.0.7/bfd/bfd-in2.h Wed Apr 25 16:06:44 2001 +++ binutils-2.11.90.0.8/bfd/bfd-in2.h Sat May 12 00:57:53 2001 @@ -3229,6 +3229,9 @@ bfd_set_private_flags PARAMS ((bfd *abfd #define bfd_gc_sections(abfd, link_info) \ BFD_SEND (abfd, _bfd_gc_sections, (abfd, link_info)) +#define bfd_merge_sections(abfd, link_info) \ + BFD_SEND (abfd, _bfd_merge_sections, (abfd, link_info)) + #define bfd_link_hash_table_create(abfd) \ BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd)) @@ -3525,7 +3528,8 @@ CAT(NAME,_bfd_link_hash_table_create),\ CAT(NAME,_bfd_link_add_symbols),\ CAT(NAME,_bfd_final_link),\ CAT(NAME,_bfd_link_split_section),\ -CAT(NAME,_bfd_gc_sections) +CAT(NAME,_bfd_gc_sections),\ +CAT(NAME,_bfd_merge_sections) int (*_bfd_sizeof_headers) PARAMS ((bfd *, boolean)); bfd_byte * (*_bfd_get_relocated_section_contents) PARAMS ((bfd *, struct bfd_link_info *, struct bfd_link_order *, @@ -3551,6 +3555,9 @@ CAT(NAME,_bfd_gc_sections) /* Remove sections that are not referenced from the output. */ boolean (*_bfd_gc_sections) PARAMS ((bfd *, struct bfd_link_info *)); + + /* Attempt to merge SEC_MERGE sections. */ + boolean (*_bfd_merge_sections) PARAMS ((bfd *, struct bfd_link_info *)); /* Routines to handle dynamic symbols and relocs. */ #define BFD_JUMP_TABLE_DYNAMIC(NAME)\ diff -uprN binutils-2.11.90.0.7/bfd/bfd.c binutils-2.11.90.0.8/bfd/bfd.c --- binutils-2.11.90.0.7/bfd/bfd.c Fri Mar 9 11:15:28 2001 +++ binutils-2.11.90.0.8/bfd/bfd.c Sat May 12 00:05:05 2001 @@ -1126,6 +1126,9 @@ DESCRIPTION .#define bfd_gc_sections(abfd, link_info) \ . BFD_SEND (abfd, _bfd_gc_sections, (abfd, link_info)) . +.#define bfd_merge_sections(abfd, link_info) \ +. BFD_SEND (abfd, _bfd_merge_sections, (abfd, link_info)) +. .#define bfd_link_hash_table_create(abfd) \ . BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd)) . diff -uprN binutils-2.11.90.0.7/bfd/binary.c binutils-2.11.90.0.8/bfd/binary.c --- binutils-2.11.90.0.7/bfd/binary.c Thu Mar 15 14:52:22 2001 +++ binutils-2.11.90.0.8/bfd/binary.c Sat May 12 00:05:05 2001 @@ -345,6 +345,7 @@ binary_sizeof_headers (abfd, exec) bfd_generic_get_relocated_section_contents #define binary_bfd_relax_section bfd_generic_relax_section #define binary_bfd_gc_sections bfd_generic_gc_sections +#define binary_bfd_merge_sections bfd_generic_merge_sections #define binary_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define binary_bfd_link_add_symbols _bfd_generic_link_add_symbols #define binary_bfd_final_link _bfd_generic_final_link diff -uprN binutils-2.11.90.0.7/bfd/bout.c binutils-2.11.90.0.8/bfd/bout.c --- binutils-2.11.90.0.7/bfd/bout.c Fri Mar 9 11:37:53 2001 +++ binutils-2.11.90.0.8/bfd/bout.c Sat May 12 00:57:53 2001 @@ -1436,6 +1436,7 @@ b_out_bfd_get_relocated_section_contents #define b_out_bfd_final_link _bfd_generic_final_link #define b_out_bfd_link_split_section _bfd_generic_link_split_section #define b_out_bfd_gc_sections bfd_generic_gc_sections +#define b_out_bfd_merge_sections bfd_generic_merge_sections #define aout_32_get_section_contents_in_window \ _bfd_generic_get_section_contents_in_window diff -uprN binutils-2.11.90.0.7/bfd/coff-alpha.c binutils-2.11.90.0.8/bfd/coff-alpha.c --- binutils-2.11.90.0.7/bfd/coff-alpha.c Fri Mar 9 11:37:54 2001 +++ binutils-2.11.90.0.8/bfd/coff-alpha.c Sat May 12 00:57:53 2001 @@ -1,5 +1,5 @@ /* BFD back-end for ALPHA Extended-Coff files. - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 + Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. Modified from coff-mips.c by Steve Chamberlain and Ian Lance Taylor . @@ -128,13 +128,13 @@ reloc_nil PARAMS ((bfd *, arelent *, asy static bfd_reloc_status_type reloc_nil (abfd, reloc, sym, data, sec, output_bfd, error_message) - bfd *abfd; - arelent *reloc; - asymbol *sym; - PTR data; - asection *sec; - bfd *output_bfd; - char **error_message; + bfd *abfd ATTRIBUTE_UNUSED; + arelent *reloc ATTRIBUTE_UNUSED; + asymbol *sym ATTRIBUTE_UNUSED; + PTR data ATTRIBUTE_UNUSED; + asection *sec ATTRIBUTE_UNUSED; + bfd *output_bfd ATTRIBUTE_UNUSED; + char **error_message ATTRIBUTE_UNUSED; { return bfd_reloc_ok; } @@ -473,7 +473,7 @@ alpha_ecoff_object_p (abfd) static boolean alpha_ecoff_bad_format_hook (abfd, filehdr) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; PTR filehdr; { struct internal_filehdr *internal_f = (struct internal_filehdr *) filehdr; @@ -708,7 +708,7 @@ alpha_adjust_reloc_in (abfd, intern, rpt static void alpha_adjust_reloc_out (abfd, rel, intern) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; const arelent *rel; struct internal_reloc *intern; { @@ -1176,7 +1176,7 @@ alpha_ecoff_get_relocated_section_conten static reloc_howto_type * alpha_bfd_reloc_type_lookup (abfd, code) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; bfd_reloc_code_real_type code; { int alpha_type; @@ -1250,7 +1250,7 @@ alpha_bfd_reloc_type_lookup (abfd, code) static bfd_vma alpha_convert_external_reloc (output_bfd, info, input_bfd, ext_rel, h) - bfd *output_bfd; + bfd *output_bfd ATTRIBUTE_UNUSED; struct bfd_link_info *info; bfd *input_bfd; struct external_reloc *ext_rel; @@ -2013,7 +2013,7 @@ static boolean alpha_adjust_headers (abfd, fhdr, ahdr) bfd *abfd; struct internal_filehdr *fhdr; - struct internal_aouthdr *ahdr; + struct internal_aouthdr *ahdr ATTRIBUTE_UNUSED; { if ((abfd->flags & (DYNAMIC | EXEC_P)) == (DYNAMIC | EXEC_P)) fhdr->f_flags |= F_ALPHA_CALL_SHARED; @@ -2359,6 +2359,7 @@ static const struct ecoff_backend_data a /* Relaxing sections is generic. */ #define _bfd_ecoff_bfd_relax_section bfd_generic_relax_section #define _bfd_ecoff_bfd_gc_sections bfd_generic_gc_sections +#define _bfd_ecoff_bfd_merge_sections bfd_generic_merge_sections const bfd_target ecoffalpha_little_vec = { diff -uprN binutils-2.11.90.0.7/bfd/coff-i386.c binutils-2.11.90.0.8/bfd/coff-i386.c --- binutils-2.11.90.0.7/bfd/coff-i386.c Fri Apr 13 20:52:01 2001 +++ binutils-2.11.90.0.8/bfd/coff-i386.c Sat May 12 00:57:53 2001 @@ -129,7 +129,9 @@ coff_i386_reloc (abfd, reloc_entry, symb #ifdef COFF_WITH_PE /* FIXME: How should this case be handled? */ - if (reloc_entry->howto->type == R_IMAGEBASE) + if (reloc_entry->howto->type == R_IMAGEBASE + && output_bfd != NULL + && bfd_get_flavour(output_bfd) == bfd_target_coff_flavour) diff -= pe_data (output_bfd)->pe_opthdr.ImageBase; #endif @@ -489,7 +491,9 @@ coff_i386_rtype_to_howto (abfd, sec, rel *addendp -= sym->n_value; } - if (rel->r_type == R_IMAGEBASE) + if (rel->r_type == R_IMAGEBASE + && (bfd_get_flavour(sec->output_section->owner) + == bfd_target_coff_flavour)) { *addendp -= pe_data(sec->output_section->owner)->pe_opthdr.ImageBase; } diff -uprN binutils-2.11.90.0.7/bfd/coff-mips.c binutils-2.11.90.0.8/bfd/coff-mips.c --- binutils-2.11.90.0.7/bfd/coff-mips.c Fri Mar 9 11:37:54 2001 +++ binutils-2.11.90.0.8/bfd/coff-mips.c Sat May 12 00:57:53 2001 @@ -2600,6 +2600,9 @@ static const struct ecoff_backend_data m /* GC of sections is not done. */ #define _bfd_ecoff_bfd_gc_sections bfd_generic_gc_sections +/* Merging of sections is not done. */ +#define _bfd_ecoff_bfd_merge_sections bfd_generic_merge_sections + extern const bfd_target ecoff_big_vec; const bfd_target ecoff_little_vec = diff -uprN binutils-2.11.90.0.7/bfd/coffcode.h binutils-2.11.90.0.8/bfd/coffcode.h --- binutils-2.11.90.0.7/bfd/coffcode.h Tue Apr 24 09:28:52 2001 +++ binutils-2.11.90.0.8/bfd/coffcode.h Sat May 12 00:57:53 2001 @@ -5258,6 +5258,10 @@ static const bfd_coff_backend_data bfd_c #define coff_bfd_gc_sections bfd_generic_gc_sections #endif +#ifndef coff_bfd_merge_sections +#define coff_bfd_merge_sections bfd_generic_merge_sections +#endif + #define CREATE_BIG_COFF_TARGET_VEC(VAR, NAME, EXTRA_O_FLAGS, EXTRA_S_FLAGS, UNDER, ALTERNATIVE) \ const bfd_target VAR = \ { \ diff -uprN binutils-2.11.90.0.7/bfd/configure binutils-2.11.90.0.8/bfd/configure --- binutils-2.11.90.0.7/bfd/configure Fri Apr 27 14:42:30 2001 +++ binutils-2.11.90.0.8/bfd/configure Wed May 2 15:26:20 2001 @@ -1116,7 +1116,7 @@ fi PACKAGE=bfd -VERSION=2.11.90.0.7 +VERSION=2.11.90.0.8 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.7/bfd/configure.in binutils-2.11.90.0.8/bfd/configure.in --- binutils-2.11.90.0.7/bfd/configure.in Fri Apr 27 14:42:31 2001 +++ binutils-2.11.90.0.8/bfd/configure.in Wed May 2 15:26:20 2001 @@ -7,7 +7,7 @@ AC_INIT(libbfd.c) AC_CANONICAL_SYSTEM AC_ISC_POSIX -AM_INIT_AUTOMAKE(bfd, 2.11.90.0.7) +AM_INIT_AUTOMAKE(bfd, 2.11.90.0.8) 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.7/bfd/cpu-arc.c binutils-2.11.90.0.8/bfd/cpu-arc.c --- binutils-2.11.90.0.7/bfd/cpu-arc.c Fri Mar 9 11:15:43 2001 +++ binutils-2.11.90.0.8/bfd/cpu-arc.c Sat May 12 08:21:30 2001 @@ -33,7 +33,7 @@ Foundation, Inc., 59 Temple Place - Suit print_name, \ 4, /* section alignment power */ \ default_p, \ - bfd_default_compatible, \ + bfd_default_compatible, \ bfd_default_scan, \ next, \ } @@ -41,13 +41,14 @@ Foundation, Inc., 59 Temple Place - Suit static const bfd_arch_info_type arch_info_struct[] = { ARC ( bfd_mach_arc_5, "arc5", false, &arch_info_struct[1] ), - ARC ( bfd_mach_arc_6, "arc6", false, &arch_info_struct[2] ), - ARC ( bfd_mach_arc_7, "arc7", false, &arch_info_struct[3] ), + ARC ( bfd_mach_arc_5, "base", false, &arch_info_struct[2] ), + ARC ( bfd_mach_arc_6, "arc6", false, &arch_info_struct[3] ), + ARC ( bfd_mach_arc_7, "arc7", false, &arch_info_struct[4] ), ARC ( bfd_mach_arc_8, "arc8", false, NULL ), }; const bfd_arch_info_type bfd_arc_arch = - ARC ( bfd_mach_arc_5, "arc", true, &arch_info_struct[0] ); + ARC ( bfd_mach_arc_6, "arc", true, &arch_info_struct[0] ); /* Utility routines. */ diff -uprN binutils-2.11.90.0.7/bfd/dwarf1.c binutils-2.11.90.0.8/bfd/dwarf1.c --- binutils-2.11.90.0.7/bfd/dwarf1.c Thu Nov 16 11:33:24 2000 +++ binutils-2.11.90.0.8/bfd/dwarf1.c Sat May 12 00:05:17 2001 @@ -458,7 +458,7 @@ _bfd_dwarf1_find_nearest_line (abfd, sec struct dwarf1_unit* eachUnit; /* What address are we looking for? */ - bfd_vma addr = offset + section->vma; + unsigned long addr = (unsigned long)(offset + section->vma); *filename_ptr = NULL; *functionname_ptr = NULL; diff -uprN binutils-2.11.90.0.7/bfd/ecoff.c binutils-2.11.90.0.8/bfd/ecoff.c --- binutils-2.11.90.0.7/bfd/ecoff.c Fri Mar 9 11:15:45 2001 +++ binutils-2.11.90.0.8/bfd/ecoff.c Sat May 12 00:05:18 2001 @@ -75,19 +75,19 @@ static unsigned int ecoff_armap_hash PAR static asection bfd_debug_section = { /* name, id, index, next, flags, user_set_vma, reloc_done, */ - "*DEBUG*", 0, 0, 0, 0, 0, 0, + "*DEBUG*", 0, 0, NULL, 0, 0, 0, /* linker_mark, gc_mark, segment_mark, vma, lma, _cooked_size, */ 0, 0, 0, 0, 0, 0, /* _raw_size, output_offset, output_section, alignment_power, */ 0, 0, NULL, 0, /* relocation, orelocation, reloc_count, filepos, rel_filepos, */ - 0, 0, 0, 0, 0, + NULL, NULL, 0, 0, 0, /* line_filepos, userdata, contents, lineno, lineno_count, */ 0, NULL, NULL, NULL, 0, - /* comdat, kept_section, moving_line_filepos, target_index, */ - NULL, NULL, 0, 0, - /* used_by_bfd, constructor_chain, owner, */ - NULL, NULL, NULL, + /* entsize, comdat, kept_section, moving_line_filepos, */ + 0, NULL, NULL, 0, + /* target_index, used_by_bfd, constructor_chain, owner, */ + 0, NULL, NULL, NULL, /* symbol, */ (struct symbol_cache_entry *) NULL, /* symbol_ptr_ptr, */ diff -uprN binutils-2.11.90.0.7/bfd/ecoffswap.h binutils-2.11.90.0.8/bfd/ecoffswap.h --- binutils-2.11.90.0.7/bfd/ecoffswap.h Fri Mar 9 11:15:45 2001 +++ binutils-2.11.90.0.8/bfd/ecoffswap.h Sat May 12 00:05:18 2001 @@ -196,7 +196,7 @@ ecoff_swap_fdr_in (abfd, ext_copy, inter intern->adr = ecoff_get_off (abfd, (bfd_byte *)ext->f_adr); intern->rss = bfd_h_get_32 (abfd, (bfd_byte *)ext->f_rss); #if defined (ECOFF_64) || defined (ECOFF_SIGNED_64) - if (intern->rss == 0xffffffff) + if (intern->rss == (signed long) 0xffffffff) intern->rss = -1; #endif intern->issBase = bfd_h_get_32 (abfd, (bfd_byte *)ext->f_issBase); diff -uprN binutils-2.11.90.0.7/bfd/elf-bfd.h binutils-2.11.90.0.8/bfd/elf-bfd.h --- binutils-2.11.90.0.7/bfd/elf-bfd.h Fri Apr 13 11:47:21 2001 +++ binutils-2.11.90.0.8/bfd/elf-bfd.h Sat May 12 01:09:00 2001 @@ -213,6 +213,12 @@ struct elf_link_local_dynamic_entry Elf_Internal_Sym isym; }; +struct elf_link_loaded_list +{ + struct elf_link_loaded_list *next; + bfd *abfd; +}; + /* ELF linker hash table. */ struct elf_link_hash_table @@ -248,6 +254,8 @@ struct elf_link_hash_table /* A linked list of DT_RPATH/DT_RUNPATH names found in dynamic objects included in the link. */ struct bfd_link_needed_list *runpath; + /* A linked list of BFD's loaded in the link. */ + struct elf_link_loaded_list *loaded; }; /* Look up an entry in an ELF linker hash table. */ @@ -1005,6 +1013,9 @@ extern boolean _bfd_elf_link_hash_table_ struct bfd_hash_table *, const char *))); extern boolean _bfd_elf_slurp_version_tables PARAMS ((bfd *)); + +extern boolean _bfd_elf_merge_sections + PARAMS ((bfd *, struct bfd_link_info *)); extern boolean _bfd_elf_copy_private_symbol_data PARAMS ((bfd *, asymbol *, bfd *, asymbol *)); diff -uprN binutils-2.11.90.0.7/bfd/elf.c binutils-2.11.90.0.8/bfd/elf.c --- binutils-2.11.90.0.7/bfd/elf.c Fri Apr 27 14:05:00 2001 +++ binutils-2.11.90.0.8/bfd/elf.c Sat May 12 01:09:00 2001 @@ -558,6 +558,18 @@ bfd_elf_generic_reloc (abfd, return bfd_reloc_continue; } +/* Finish SHF_MERGE section merging. */ + +boolean +_bfd_elf_merge_sections (abfd, info) + bfd *abfd; + struct bfd_link_info *info; +{ + if (elf_hash_table (info)->merge_info) + _bfd_merge_sections (abfd, elf_hash_table (info)->merge_info); + return true; +} + /* Print out the program headers. */ boolean @@ -1037,6 +1049,7 @@ _bfd_elf_link_hash_table_init (table, ab table->bucketcount = 0; table->needed = NULL; table->runpath = NULL; + table->loaded = NULL; table->hgot = NULL; table->stab_info = NULL; table->merge_info = NULL; @@ -4734,7 +4747,7 @@ _bfd_elf_slurp_version_tables (abfd) Elf_Internal_Verdef *iverdefarr; Elf_Internal_Verdef iverdefmem; unsigned int i; - int maxidx; + unsigned int maxidx; hdr = &elf_tdata (abfd)->dynverdef_hdr; @@ -4754,8 +4767,8 @@ _bfd_elf_slurp_version_tables (abfd) { _bfd_elf_swap_verdef_in (abfd, everdef, &iverdefmem); - if ((iverdefmem.vd_ndx & VERSYM_VERSION) > maxidx) - maxidx = iverdefmem.vd_ndx & VERSYM_VERSION; + if ((iverdefmem.vd_ndx & ((unsigned) VERSYM_VERSION)) > maxidx) + maxidx = iverdefmem.vd_ndx & ((unsigned) VERSYM_VERSION); everdef = ((Elf_External_Verdef *) ((bfd_byte *) everdef + iverdefmem.vd_next)); diff -uprN binutils-2.11.90.0.7/bfd/elf32-arc.c binutils-2.11.90.0.8/bfd/elf32-arc.c --- binutils-2.11.90.0.7/bfd/elf32-arc.c Fri Mar 9 11:15:48 2001 +++ binutils-2.11.90.0.8/bfd/elf32-arc.c Sat May 12 08:21:34 2001 @@ -57,18 +57,18 @@ static reloc_howto_type elf_arc_howto_ta /* A standard 32 bit relocation. */ HOWTO (R_ARC_32, /* type */ - 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ - 32, /* bitsize */ - false, /* pc_relative */ - 0, /* bitpos */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ complain_overflow_bitfield, /* complain_on_overflow */ - bfd_elf_generic_reloc, /* special_function */ + bfd_elf_generic_reloc, /* special_function */ "R_ARC_32", /* name */ - false, /* partial_inplace */ - 0xffffffff, /* src_mask */ - 0xffffffff, /* dst_mask */ - false), /* pcrel_offset */ + false, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + false), /* pcrel_offset */ /* A 26 bit absolute branch, right shifted by 2. */ HOWTO (R_ARC_B26, /* type */ @@ -155,7 +155,7 @@ static boolean arc_elf_object_p (abfd) bfd *abfd; { - int mach = bfd_mach_arc_5; + int mach = bfd_mach_arc_6; if (elf_elfheader(abfd)->e_machine == EM_ARC) { @@ -163,10 +163,10 @@ arc_elf_object_p (abfd) switch (arch) { - default: case E_ARC_MACH_ARC5: mach = bfd_mach_arc_5; break; + default: case E_ARC_MACH_ARC6: mach = bfd_mach_arc_6; break; @@ -193,10 +193,10 @@ arc_elf_final_write_processing (abfd, li switch (bfd_get_mach (abfd)) { - default: case bfd_mach_arc_5: val = E_ARC_MACH_ARC5; break; + default: case bfd_mach_arc_6: val = E_ARC_MACH_ARC6; break; diff -uprN binutils-2.11.90.0.7/bfd/elf32-arm.h binutils-2.11.90.0.8/bfd/elf32-arm.h --- binutils-2.11.90.0.7/bfd/elf32-arm.h Sat Mar 17 12:59:18 2001 +++ binutils-2.11.90.0.8/bfd/elf32-arm.h Sat May 12 00:57:55 2001 @@ -1019,6 +1019,18 @@ elf32_arm_final_link_relocate (howto, in bfd_signed_vma signed_addend; struct elf32_arm_link_hash_table * globals; + /* If the start address has been set, then set the EF_ARM_HASENTRY + flag. Setting this more than once is redundant, but the cost is + not too high, and it keeps the code simple. + + The test is done here, rather than somewhere else, because the + start address is only set just before the final link commences. + + Note - if the user deliberately sets a start address of 0, the + flag will not be set. */ + if (bfd_get_start_address (output_bfd) != 0) + elf_elfheader (output_bfd)->e_flags |= EF_ARM_HASENTRY; + globals = elf32_arm_hash_table (info); dynobj = elf_hash_table (info)->dynobj; diff -uprN binutils-2.11.90.0.7/bfd/elf32-hppa.c binutils-2.11.90.0.8/bfd/elf32-hppa.c --- binutils-2.11.90.0.7/bfd/elf32-hppa.c Fri Apr 27 14:05:00 2001 +++ binutils-2.11.90.0.8/bfd/elf32-hppa.c Wed May 2 15:25:06 2001 @@ -3272,10 +3272,13 @@ final_link_relocate (input_section, cont else if (sym_sec == NULL && h != NULL && h->elf.root.type == bfd_link_hash_undefweak) { - /* It's OK if undefined weak. Make undefined weak - branches go nowhere. */ + /* It's OK if undefined weak. Calls to undefined weak + symbols behave as if the "called" function + immediately returns. We can thus call to a weak + function without first checking whether the function + is defined. */ value = location; - addend = 0; + addend = 8; } else return bfd_reloc_notsupported; diff -uprN binutils-2.11.90.0.7/bfd/elf32-mips.c binutils-2.11.90.0.8/bfd/elf32-mips.c --- binutils-2.11.90.0.7/bfd/elf32-mips.c Fri Apr 27 14:05:00 2001 +++ binutils-2.11.90.0.8/bfd/elf32-mips.c Sat May 12 00:57:55 2001 @@ -539,7 +539,7 @@ static reloc_howto_type elf_mips_howto_t 0xffffffff, /* dst_mask */ false), /* pcrel_offset */ - /* 26 bit branch address. */ + /* 26 bit jump address. */ HOWTO (R_MIPS_26, /* type */ 2, /* rightshift */ 2, /* size (0 = byte, 1 = short, 2 = long) */ @@ -1667,7 +1667,7 @@ gprel32_with_gp (abfd, symbol, reloc_ent } /* Handle a 64 bit reloc in a 32 bit MIPS ELF file. These are - generated when addreses are 64 bits. The upper 32 bits are a simle + generated when addresses are 64 bits. The upper 32 bits are a simple sign extension. */ static bfd_reloc_status_type @@ -3071,8 +3071,8 @@ _bfd_mips_elf_fake_sections (abfd, hdr, boolean _bfd_mips_elf_section_from_bfd_section (abfd, hdr, sec, retval) - bfd *abfd ATTRIBUTE_UNUSED; - Elf32_Internal_Shdr *hdr ATTRIBUTE_UNUSED; + bfd *abfd; + Elf_Internal_Shdr *hdr ATTRIBUTE_UNUSED; asection *sec; int *retval; { diff -uprN binutils-2.11.90.0.7/bfd/elf32-openrisc.c binutils-2.11.90.0.8/bfd/elf32-openrisc.c --- binutils-2.11.90.0.7/bfd/elf32-openrisc.c Tue Apr 24 09:12:01 2001 +++ binutils-2.11.90.0.8/bfd/elf32-openrisc.c Wed May 2 14:50:44 2001 @@ -94,29 +94,29 @@ static reloc_howto_type openrisc_elf_how HOWTO (R_OPENRISC_LO_16_IN_INSN, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ + complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_OPENRISC_LO_16_IN_INSN", /* name */ false, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ false), /* pcrel_offset */ HOWTO (R_OPENRISC_HI_16_IN_INSN, /* type */ 16, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ 16, /* bitsize */ false, /* pc_relative */ 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ + complain_overflow_dont, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_OPENRISC_HI_16_IN_INSN", /* name */ false, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ false), /* pcrel_offset */ diff -uprN binutils-2.11.90.0.7/bfd/elf64-alpha.c binutils-2.11.90.0.8/bfd/elf64-alpha.c --- binutils-2.11.90.0.7/bfd/elf64-alpha.c Fri Mar 9 11:37:59 2001 +++ binutils-2.11.90.0.8/bfd/elf64-alpha.c Sat May 12 00:57:56 2001 @@ -566,7 +566,7 @@ static reloc_howto_type elf64_alpha_howt false, /* partial_inplace */ 0xffff, /* src_mask */ 0xffff, /* dst_mask */ - false), /* pcrel_offset */ + true), /* pcrel_offset */ /* 32 bit PC relative offset. */ HOWTO (R_ALPHA_SREL32, /* type */ @@ -581,7 +581,7 @@ static reloc_howto_type elf64_alpha_howt false, /* partial_inplace */ 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ - false), /* pcrel_offset */ + true), /* pcrel_offset */ /* A 64 bit PC relative offset. */ HOWTO (R_ALPHA_SREL64, /* type */ @@ -596,7 +596,7 @@ static reloc_howto_type elf64_alpha_howt false, /* partial_inplace */ MINUS_ONE, /* src_mask */ MINUS_ONE, /* dst_mask */ - false), /* pcrel_offset */ + true), /* pcrel_offset */ /* Push a value on the reloc evaluation stack. */ /* Not implemented -- it's dumb. */ @@ -867,13 +867,13 @@ static reloc_howto_type elf64_alpha_howt static bfd_reloc_status_type elf64_alpha_reloc_nil (abfd, reloc, sym, data, sec, output_bfd, error_message) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; arelent *reloc; - asymbol *sym; - PTR data; + asymbol *sym ATTRIBUTE_UNUSED; + PTR data ATTRIBUTE_UNUSED; asection *sec; bfd *output_bfd; - char **error_message; + char **error_message ATTRIBUTE_UNUSED; { if (output_bfd) reloc->address += sec->output_offset; @@ -884,13 +884,13 @@ elf64_alpha_reloc_nil (abfd, reloc, sym, static bfd_reloc_status_type elf64_alpha_reloc_bad (abfd, reloc, sym, data, sec, output_bfd, error_message) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; arelent *reloc; - asymbol *sym; - PTR data; + asymbol *sym ATTRIBUTE_UNUSED; + PTR data ATTRIBUTE_UNUSED; asection *sec; bfd *output_bfd; - char **error_message; + char **error_message ATTRIBUTE_UNUSED; { if (output_bfd) reloc->address += sec->output_offset; @@ -947,7 +947,7 @@ elf64_alpha_reloc_gpdisp (abfd, reloc_en output_bfd, err_msg) bfd *abfd; arelent *reloc_entry; - asymbol *sym; + asymbol *sym ATTRIBUTE_UNUSED; PTR data; asection *input_section; bfd *output_bfd; @@ -1028,7 +1028,7 @@ static const struct elf_reloc_map elf64_ static reloc_howto_type * elf64_alpha_bfd_reloc_type_lookup (abfd, code) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; bfd_reloc_code_real_type code; { const struct elf_reloc_map *i, *e; @@ -1046,7 +1046,7 @@ elf64_alpha_bfd_reloc_type_lookup (abfd, static void elf64_alpha_info_to_howto (abfd, cache_ptr, dst) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; arelent *cache_ptr; Elf64_Internal_Rela *dst; { @@ -1848,8 +1848,8 @@ elf64_alpha_add_symbol_hook (abfd, info, bfd *abfd; struct bfd_link_info *info; const Elf_Internal_Sym *sym; - const char **namep; - flagword *flagsp; + const char **namep ATTRIBUTE_UNUSED; + flagword *flagsp ATTRIBUTE_UNUSED; asection **secp; bfd_vma *valp; { @@ -1884,7 +1884,7 @@ elf64_alpha_add_symbol_hook (abfd, info, static boolean elf64_alpha_create_got_section(abfd, info) bfd *abfd; - struct bfd_link_info *info; + struct bfd_link_info *info ATTRIBUTE_UNUSED; { asection *s; @@ -2087,7 +2087,7 @@ elf64_alpha_read_ecoff_info (abfd, secti static boolean elf64_alpha_is_local_label_name (abfd, name) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; const char *name; { return name[0] == '$'; @@ -2739,7 +2739,7 @@ elf64_alpha_adjust_dynamic_symbol (info, static boolean elf64_alpha_merge_ind_symbols (hi, dummy) struct alpha_elf_link_hash_entry *hi; - PTR dummy; + PTR dummy ATTRIBUTE_UNUSED; { struct alpha_elf_link_hash_entry *hs; @@ -4727,8 +4727,8 @@ const struct elf_size_info alpha_elf_siz #define TARGET_LITTLE_SYM bfd_elf64_alpha_vec #define TARGET_LITTLE_NAME "elf64-alpha" #define ELF_ARCH bfd_arch_alpha -#define ELF_MACHINE_CODE EM_ALPHA -#define ELF_MAXPAGESIZE 0x10000 +#define ELF_MACHINE_CODE EM_ALPHA +#define ELF_MAXPAGESIZE 0x10000 #define bfd_elf64_bfd_link_hash_table_create \ elf64_alpha_bfd_link_hash_table_create diff -uprN binutils-2.11.90.0.7/bfd/elf64-gen.c binutils-2.11.90.0.8/bfd/elf64-gen.c --- binutils-2.11.90.0.7/bfd/elf64-gen.c Tue Mar 27 08:47:20 2001 +++ binutils-2.11.90.0.8/bfd/elf64-gen.c Wed May 2 23:29:56 2001 @@ -1,5 +1,5 @@ /* Generic support for 64-bit ELF - Copyright 1993, 1995, 1998, 1999 Free Software Foundation, Inc. + Copyright 1993, 1995, 1998, 1999, 2001 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -42,23 +42,23 @@ static reloc_howto_type dummy = static void elf_generic_info_to_howto (abfd, bfd_reloc, elf_reloc) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; arelent *bfd_reloc; - Elf64_Internal_Rela *elf_reloc; + Elf64_Internal_Rela *elf_reloc ATTRIBUTE_UNUSED; { bfd_reloc->howto = &dummy; } static void elf_generic_info_to_howto_rel (abfd, bfd_reloc, elf_reloc) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; arelent *bfd_reloc; - Elf64_Internal_Rel *elf_reloc; + Elf64_Internal_Rel *elf_reloc ATTRIBUTE_UNUSED; { bfd_reloc->howto = &dummy; } -static boolean +static boolean elf64_generic_link_add_symbols (abfd, info) bfd *abfd; struct bfd_link_info *info; diff -uprN binutils-2.11.90.0.7/bfd/elf64-mips.c binutils-2.11.90.0.8/bfd/elf64-mips.c --- binutils-2.11.90.0.7/bfd/elf64-mips.c Sat Apr 7 22:46:34 2001 +++ binutils-2.11.90.0.8/bfd/elf64-mips.c Wed May 2 23:29:57 2001 @@ -160,7 +160,7 @@ static reloc_howto_type mips_elf64_howto false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - /* This needs complex overflow + /* This needs complex overflow detection, because the upper four bits must match the PC + 4. */ bfd_elf_generic_reloc, /* special_function */ @@ -713,7 +713,7 @@ static reloc_howto_type mips_elf64_howto false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - /* This needs complex overflow + /* This needs complex overflow detection, because the upper four bits must match the PC + 4. */ bfd_elf_generic_reloc, /* special_function */ @@ -1390,7 +1390,7 @@ static CONST struct elf_reloc_map mips_r static reloc_howto_type * mips_elf64_reloc_type_lookup (abfd, code) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; bfd_reloc_code_real_type code; { unsigned int i; @@ -1414,7 +1414,7 @@ mips_elf64_reloc_type_lookup (abfd, code static long mips_elf64_get_reloc_upper_bound (abfd, sec) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; asection *sec; { return (sec->reloc_count * 3 + 1) * sizeof (arelent *); diff -uprN binutils-2.11.90.0.7/bfd/elf64-x86-64.c binutils-2.11.90.0.8/bfd/elf64-x86-64.c --- binutils-2.11.90.0.7/bfd/elf64-x86-64.c Tue Apr 24 09:11:51 2001 +++ binutils-2.11.90.0.8/bfd/elf64-x86-64.c Wed May 2 14:50:34 2001 @@ -1250,11 +1250,10 @@ elf64_x86_64_relocate_section (output_bf || h->root.type == bfd_link_hash_defweak) { sec = h->root.u.def.section; - if (r_type == R_X86_64_GOTPCREL - || (r_type = R_X86_64_PLT32 - && splt != NULL - && h->plt.offset != (bfd_vma) -1) - || (r_type = R_X86_64_GOT32 + if ((r_type == R_X86_64_PLT32 + && splt != NULL + && h->plt.offset != (bfd_vma) -1) + || ((r_type == R_X86_64_GOT32 || r_type == R_X86_64_GOTPCREL) && elf_hash_table (info)->dynamic_sections_created && (!info->shared || (! info->symbolic && h->dynindx != -1) @@ -1321,92 +1320,10 @@ elf64_x86_64_relocate_section (output_bf case R_X86_64_GOT32: /* Relocation is to the entry for this symbol in the global offset table. */ - BFD_ASSERT (sgot != NULL); - - if (h != NULL) - { - bfd_vma off = h->got.offset; - BFD_ASSERT (off != (bfd_vma) -1); - - if (! elf_hash_table (info)->dynamic_sections_created - || (info->shared - && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) - { - /* This is actually a static link, or it is a -Bsymbolic - link and the symbol is defined locally, or the symbol - was forced to be local because of a version file. We - must initialize this entry in the global offset table. - Since the offset must always be a multiple of 8, we - use the least significant bit to record whether we - have initialized it already. - - When doing a dynamic link, we create a .rela.got - relocation entry to initialize the value. This is - done in the finish_dynamic_symbol routine. */ - if ((off & 1) != 0) - off &= ~1; - else - { - bfd_put_64 (output_bfd, relocation, - sgot->contents + off); - h->got.offset |= 1; - } - } - relocation = sgot->output_offset + off; - } - else - { - bfd_vma off; - - BFD_ASSERT (local_got_offsets != NULL - && local_got_offsets[r_symndx] != (bfd_vma) -1); - - off = local_got_offsets[r_symndx]; - - /* The offset must always be a multiple of 8. We use - the least significant bit to record whether we have - already generated the necessary reloc. */ - if ((off & 1) != 0) - off &= ~1; - else - { - bfd_put_64 (output_bfd, relocation, sgot->contents + off); - - if (info->shared) - { - asection *srelgot; - Elf_Internal_Rela outrel; - - /* We need to generate a R_X86_64_RELATIVE reloc - for the dynamic linker. */ - srelgot = bfd_get_section_by_name (dynobj, ".rela.got"); - BFD_ASSERT (srelgot != NULL); - - outrel.r_offset = (sgot->output_section->vma - + sgot->output_offset - + off); - outrel.r_info = ELF64_R_INFO (0, R_X86_64_RELATIVE); - outrel.r_addend = relocation; - bfd_elf64_swap_reloca_out (output_bfd, &outrel, - (((Elf64_External_Rela *) - srelgot->contents) - + srelgot->reloc_count)); - ++srelgot->reloc_count; - } - - local_got_offsets[r_symndx] |= 1; - } - - relocation = sgot->output_offset + off; - } - - break; - case R_X86_64_GOTPCREL: /* Use global offset table as symbol value. */ - BFD_ASSERT (sgot != NULL); + if (h != NULL) { bfd_vma off = h->got.offset; @@ -1437,7 +1354,10 @@ elf64_x86_64_relocate_section (output_bf h->got.offset |= 1; } } - relocation = sgot->output_offset + off; + if (r_type == R_X86_64_GOTPCREL) + relocation = sgot->output_section->vma + sgot->output_offset + off; + else + relocation = sgot->output_offset + off; } else { @@ -1482,8 +1402,12 @@ elf64_x86_64_relocate_section (output_bf local_got_offsets[r_symndx] |= 1; } - relocation = sgot->output_section->vma + off; + if (r_type == R_X86_64_GOTPCREL) + relocation = sgot->output_section->vma + sgot->output_offset + off; + else + relocation = sgot->output_offset + off; } + break; case R_X86_64_PLT32: @@ -1769,6 +1693,52 @@ elf64_x86_64_finish_dynamic_symbol (outp } } + if (h->got.offset != (bfd_vma) -1) + { + asection *sgot; + asection *srela; + Elf_Internal_Rela rela; + + /* This symbol has an entry in the global offset table. Set it + up. */ + + sgot = bfd_get_section_by_name (dynobj, ".got"); + srela = bfd_get_section_by_name (dynobj, ".rela.got"); + BFD_ASSERT (sgot != NULL && srela != NULL); + + rela.r_offset = (sgot->output_section->vma + + sgot->output_offset + + (h->got.offset &~ 1)); + + /* If this is a static link, or it is a -Bsymbolic link and the + symbol is defined locally or was forced to be local because + of a version file, we just want to emit a RELATIVE reloc. + The entry in the global offset table will already have been + initialized in the relocate_section function. */ + if (! elf_hash_table (info)->dynamic_sections_created + || (info->shared + && (info->symbolic || h->dynindx == -1) + && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + { + rela.r_info = ELF64_R_INFO (0, R_X86_64_RELATIVE); + rela.r_addend = (h->root.u.def.value + + h->root.u.def.section->output_section->vma + + h->root.u.def.section->output_offset); + } + else + { + BFD_ASSERT((h->got.offset & 1) == 0); + bfd_put_64 (output_bfd, (bfd_vma) 0, sgot->contents + h->got.offset); + rela.r_info = ELF64_R_INFO (h->dynindx, R_X86_64_GLOB_DAT); + rela.r_addend = 0; + } + + bfd_elf64_swap_reloca_out (output_bfd, &rela, + ((Elf64_External_Rela *) srela->contents + + srela->reloc_count)); + ++srela->reloc_count; + } + if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) { asection *s; @@ -1840,7 +1810,7 @@ elf64_x86_64_finish_dynamic_sections (ou switch (dyn.d_tag) { default: - break; + continue; case DT_PLTGOT: name = ".got"; @@ -1878,7 +1848,6 @@ elf64_x86_64_finish_dynamic_sections (ou (s->_cooked_size != 0 ? s->_cooked_size : s->_raw_size); break; } - bfd_elf64_swap_dyn_out (output_bfd, &dyn, dyncon); } diff -uprN binutils-2.11.90.0.7/bfd/elfcode.h binutils-2.11.90.0.8/bfd/elfcode.h --- binutils-2.11.90.0.7/bfd/elfcode.h Fri Mar 9 11:15:58 2001 +++ binutils-2.11.90.0.8/bfd/elfcode.h Wed May 2 23:29:57 2001 @@ -66,6 +66,7 @@ Foundation, Inc., 59 Temple Place - Suit #include "bfd.h" #include "sysdep.h" +#include "libiberty.h" #include "bfdlink.h" #include "libbfd.h" #include "elf-bfd.h" diff -uprN binutils-2.11.90.0.7/bfd/elflink.c binutils-2.11.90.0.8/bfd/elflink.c --- binutils-2.11.90.0.7/bfd/elflink.c Fri Mar 9 11:37:59 2001 +++ binutils-2.11.90.0.8/bfd/elflink.c Sat May 12 00:57:56 2001 @@ -108,7 +108,7 @@ _bfd_elf_create_dynamic_sections (abfd, flagword flags, pltflags; register asection *s; struct elf_backend_data *bed = get_elf_backend_data (abfd); - int ptralign = 0; + int ptralign; switch (bed->s->arch_size) { @@ -333,7 +333,7 @@ elf_link_renumber_hash_table_dynsyms (h, return true; } -/* Assign dynsym indicies. In a shared library we generate a section +/* Assign dynsym indices. In a shared library we generate a section symbol for each output section, which come first. Next come all of the back-end allocated local dynamic syms, followed by the rest of the global symbols. */ diff -uprN binutils-2.11.90.0.7/bfd/elflink.h binutils-2.11.90.0.8/bfd/elflink.h --- binutils-2.11.90.0.7/bfd/elflink.h Fri Apr 27 14:05:00 2001 +++ binutils-2.11.90.0.8/bfd/elflink.h Sat May 12 01:09:00 2001 @@ -60,6 +60,146 @@ static boolean elf_link_size_reloc_secti static void elf_link_adjust_relocs PARAMS ((bfd *, Elf_Internal_Shdr *, unsigned int, struct elf_link_hash_entry **)); +static boolean elf_link_check_versioned_symbol + PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *)); + +static boolean +elf_link_check_versioned_symbol (info, h) + struct bfd_link_info *info; + struct elf_link_hash_entry *h; +{ + boolean found = false; + bfd *undef_bfd = h->root.u.undef.abfd; + struct elf_link_loaded_list *loaded; + Elf_External_Sym *buf = NULL; + Elf_External_Versym *extversym = NULL; + + if ((undef_bfd->flags & DYNAMIC) == 0 + || info->hash->creator->flavour != bfd_target_elf_flavour) + return false; + + for (loaded = elf_hash_table (info)->loaded; + loaded != NULL && !found; + loaded = loaded->next) + { + bfd *input; + Elf_Internal_Shdr *hdr; + size_t symcount; + size_t extsymcount; + size_t extsymoff; + Elf_Internal_Shdr *versymhdr; + Elf_External_Versym *ever; + Elf_External_Sym *esym; + Elf_External_Sym *esymend; + + input = loaded->abfd; + + /* We check each DSO for a possible versioned difinition. */ + if (input == undef_bfd + || (input->flags & DYNAMIC) == 0 + || elf_dynversym (input) == 0) + continue; + + hdr = &elf_tdata (input)->dynsymtab_hdr; + + symcount = hdr->sh_size / sizeof (Elf_External_Sym); + if (elf_bad_symtab (input)) + { + extsymcount = symcount; + extsymoff = 0; + } + else + { + extsymcount = symcount - hdr->sh_info; + extsymoff = hdr->sh_info; + } + + if (extsymcount == 0) + continue; + + buf = ((Elf_External_Sym *) + bfd_malloc (extsymcount * sizeof (Elf_External_Sym))); + if (buf == NULL) + goto no_memory; + + /* Read in the symbol table. */ + if (bfd_seek (input, + hdr->sh_offset + + extsymoff * sizeof (Elf_External_Sym), + SEEK_SET) != 0 + || (bfd_read ((PTR) buf, sizeof (Elf_External_Sym), + extsymcount, input) + != extsymcount * sizeof (Elf_External_Sym))) + goto error_return; + + /* Read in any version definitions. */ + versymhdr = &elf_tdata (input)->dynversym_hdr; + extversym = + (Elf_External_Versym *) bfd_malloc (versymhdr->sh_size); + if (extversym == NULL) + goto no_memory; + + if (bfd_seek (input, versymhdr->sh_offset, SEEK_SET) != 0 + || (bfd_read ((PTR) extversym, 1, versymhdr->sh_size, input) + != versymhdr->sh_size)) + goto error_return; + + ever = extversym + extsymoff; + esymend = buf + extsymcount; + for (esym = buf; esym < esymend; esym++, ever++) + { + const char *name; + Elf_Internal_Sym sym; + Elf_Internal_Versym iver; + + elf_swap_symbol_in (input, esym, &sym); + if (ELF_ST_BIND (sym.st_info) == STB_LOCAL + || sym.st_shndx == SHN_UNDEF) + continue; + + name = bfd_elf_string_from_elf_section (input, + hdr->sh_link, + sym.st_name); + if (strcmp (name, h->root.root.string) != 0) + continue; + + _bfd_elf_swap_versym_in (input, ever, &iver); + + /* It is defined here and we still get an undefined + symbol. It must be an error. */ + if ((iver.vs_vers & VERSYM_HIDDEN) == 0) + { + (*_bfd_error_handler) + (_("%s: defined in %s"), name, + bfd_get_filename (input)); + bfd_set_error (bfd_error_bad_value); + goto error_return; + } + + if ((iver.vs_vers & VERSYM_VERSION) == 2) + { + /* We found one we can use. This is the first vesion + of the symbol and it is hidden. */ + found = true; + break; + } + } + + free (buf); + free (extversym); + } + + return found; + +no_memory: + bfd_set_error (bfd_error_no_memory); +error_return: + if (buf != NULL) + free (buf); + if (extversym != NULL) + free (extversym); + return found; +} /* Given an ELF BFD, add symbols to the global hash table as appropriate. */ @@ -907,7 +1047,6 @@ elf_link_add_object_symbols (abfd, info) Elf_External_Sym *buf = NULL; struct elf_link_hash_entry **sym_hash; boolean dynamic; - bfd_byte *dynver = NULL; Elf_External_Versym *extversym = NULL; Elf_External_Versym *ever; Elf_External_Dyn *dynbuf = NULL; @@ -1035,7 +1174,7 @@ elf_link_add_object_symbols (abfd, info) Elf_Internal_Shdr *versymhdr; versymhdr = &elf_tdata (abfd)->dynversym_hdr; - extversym = (Elf_External_Versym *) bfd_malloc (hdr->sh_size); + extversym = (Elf_External_Versym *) bfd_malloc (versymhdr->sh_size); if (extversym == NULL) goto error_return; if (bfd_seek (abfd, versymhdr->sh_offset, SEEK_SET) != 0 @@ -1334,7 +1473,7 @@ elf_link_add_object_symbols (abfd, info) /* Save the SONAME, if there is one, because sometimes the linker emulation code will need to know it. */ if (*name == '\0') - name = bfd_get_filename (abfd); + name = basename (bfd_get_filename (abfd)); elf_dt_name (abfd) = name; } @@ -2191,6 +2330,22 @@ elf_link_add_object_symbols (abfd, info) goto error_return; } + { + /* We add this to the loaded list. */ + struct elf_link_loaded_list *n, **pn; + + n = ((struct elf_link_loaded_list *) + bfd_alloc (abfd, sizeof (struct elf_link_loaded_list))); + if (n == NULL) + goto error_return; + n->next = NULL; + n->abfd = abfd; + for (pn = &elf_hash_table (info)->loaded; *pn != NULL; + pn = &(*pn)->next) + ; + *pn = n; + } + return true; error_return: @@ -2198,8 +2353,6 @@ elf_link_add_object_symbols (abfd, info) free (buf); if (dynbuf != NULL) free (dynbuf); - if (dynver != NULL) - free (dynver); if (extversym != NULL) free (extversym); return false; @@ -3329,7 +3482,8 @@ NAME(bfd_elf,size_dynamic_sections) (out true, false); else indx = _bfd_stringtab_add (elf_hash_table (info)->dynstr, - t->vn_bfd->filename, true, false); + basename (t->vn_bfd->filename), + true, false); if (indx == (bfd_size_type) -1) return false; t->vn_file = indx; @@ -5170,9 +5324,22 @@ elf_link_output_extsym (h, data) && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0 && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0) { - if (! ((*finfo->info->callbacks->undefined_symbol) - (finfo->info, h->root.root.string, h->root.u.undef.abfd, - (asection *) NULL, 0, true))) + /* If elf_dt_soname (h->root.u.undef.abfd) != NULL, that means + this DSO is loaded in via a DT_NEEDED entry. In this case, + we do some extra check to see if there is a suitable + definition. */ + boolean def; + + if (elf_dt_soname (h->root.u.undef.abfd) != NULL) + def = elf_link_check_versioned_symbol (finfo->info, h); + else + def = false; + + if (!def + && ! ((*finfo->info->callbacks->undefined_symbol) + (finfo->info, h->root.root.string, + h->root.u.undef.abfd, (asection *) NULL, + 0, true))) { eoinfo->failed = true; return false; diff -uprN binutils-2.11.90.0.7/bfd/elfxx-ia64.c binutils-2.11.90.0.8/bfd/elfxx-ia64.c --- binutils-2.11.90.0.7/bfd/elfxx-ia64.c Fri Apr 27 14:05:00 2001 +++ binutils-2.11.90.0.8/bfd/elfxx-ia64.c Sat May 12 00:57:57 2001 @@ -921,12 +921,14 @@ static inline boolean is_unwind_section_name (name) const char *name; { - size_t len1, len2; + size_t len1, len2, len3; len1 = sizeof (ELF_STRING_ia64_unwind) - 1; len2 = sizeof (ELF_STRING_ia64_unwind_info) - 1; - return (strncmp (name, ELF_STRING_ia64_unwind, len1) == 0 - && strncmp (name, ELF_STRING_ia64_unwind_info, len2) != 0); + len3 = sizeof (ELF_STRING_ia64_unwind_once) - 1; + return ((strncmp (name, ELF_STRING_ia64_unwind, len1) == 0 + && strncmp (name, ELF_STRING_ia64_unwind_info, len2) != 0) + || strncmp (name, ELF_STRING_ia64_unwind_once, len3) == 0); } /* Handle an IA-64 specific section when reading an object file. This @@ -1064,6 +1066,18 @@ elfNN_ia64_final_write_processing (abfd, else /* .IA_64.unwindFOO -> FOO */ text_sect = bfd_get_section_by_name (abfd, sname); + } + else if (sname + && (len = sizeof (ELF_STRING_ia64_unwind_once) - 1, + strncmp (sname, ELF_STRING_ia64_unwind_once, len)) == 0) + { + /* .gnu.linkonce.ia64unw.FOO -> .gnu.linkonce.t.FOO */ + size_t len2 = sizeof (".gnu.linkonce.t.") - 1; + char *once_name = alloca (len2 + strlen (sname) - len + 1); + + memcpy (once_name, ".gnu.linkonce.t.", len2); + strcpy (once_name + len2, sname + len); + text_sect = bfd_get_section_by_name (abfd, once_name); } else /* last resort: fall back on .text */ diff -uprN binutils-2.11.90.0.7/bfd/elfxx-target.h binutils-2.11.90.0.8/bfd/elfxx-target.h --- binutils-2.11.90.0.7/bfd/elfxx-target.h Fri Mar 9 11:15:59 2001 +++ binutils-2.11.90.0.8/bfd/elfxx-target.h Sat May 12 00:05:30 2001 @@ -111,6 +111,11 @@ Foundation, Inc., 59 Temple Place - Suit #define bfd_elfNN_bfd_gc_sections _bfd_elfNN_gc_sections #endif +#ifndef bfd_elfNN_bfd_merge_sections +#define bfd_elfNN_bfd_merge_sections \ + _bfd_elf_merge_sections +#endif + #define bfd_elfNN_bfd_make_debug_symbol \ ((asymbol *(*) PARAMS ((bfd *, void *, unsigned long))) bfd_nullvoidptr) diff -uprN binutils-2.11.90.0.7/bfd/i386msdos.c binutils-2.11.90.0.8/bfd/i386msdos.c --- binutils-2.11.90.0.7/bfd/i386msdos.c Fri Mar 9 11:16:00 2001 +++ binutils-2.11.90.0.8/bfd/i386msdos.c Sat May 12 00:05:31 2001 @@ -170,6 +170,7 @@ msdos_set_section_contents (abfd, sectio bfd_generic_get_relocated_section_contents #define msdos_bfd_relax_section bfd_generic_relax_section #define msdos_bfd_gc_sections bfd_generic_gc_sections +#define msdos_bfd_merge_sections bfd_generic_merge_sections #define msdos_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define msdos_bfd_link_add_symbols _bfd_generic_link_add_symbols #define msdos_bfd_final_link _bfd_generic_final_link diff -uprN binutils-2.11.90.0.7/bfd/i386os9k.c binutils-2.11.90.0.8/bfd/i386os9k.c --- binutils-2.11.90.0.7/bfd/i386os9k.c Fri Mar 9 11:16:00 2001 +++ binutils-2.11.90.0.8/bfd/i386os9k.c Sat May 12 00:05:31 2001 @@ -328,6 +328,7 @@ os9k_sizeof_headers (ignore_abfd, ignore bfd_generic_get_relocated_section_contents #define os9k_bfd_relax_section bfd_generic_relax_section #define os9k_bfd_gc_sections bfd_generic_gc_sections +#define os9k_bfd_merge_sections bfd_generic_merge_sections #define os9k_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define os9k_bfd_link_add_symbols _bfd_generic_link_add_symbols #define os9k_bfd_final_link _bfd_generic_final_link diff -uprN binutils-2.11.90.0.7/bfd/ieee.c binutils-2.11.90.0.8/bfd/ieee.c --- binutils-2.11.90.0.7/bfd/ieee.c Fri Mar 9 11:16:00 2001 +++ binutils-2.11.90.0.8/bfd/ieee.c Sat May 12 00:05:31 2001 @@ -3926,6 +3926,7 @@ ieee_bfd_debug_info_accumulate (abfd, se bfd_generic_get_relocated_section_contents #define ieee_bfd_relax_section bfd_generic_relax_section #define ieee_bfd_gc_sections bfd_generic_gc_sections +#define ieee_bfd_merge_sections bfd_generic_merge_sections #define ieee_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define ieee_bfd_link_add_symbols _bfd_generic_link_add_symbols #define ieee_bfd_final_link _bfd_generic_final_link diff -uprN binutils-2.11.90.0.7/bfd/ihex.c binutils-2.11.90.0.8/bfd/ihex.c --- binutils-2.11.90.0.7/bfd/ihex.c Fri Mar 9 11:16:01 2001 +++ binutils-2.11.90.0.8/bfd/ihex.c Sat May 12 00:05:32 2001 @@ -983,6 +983,7 @@ ihex_sizeof_headers (abfd, exec) bfd_generic_get_relocated_section_contents #define ihex_bfd_relax_section bfd_generic_relax_section #define ihex_bfd_gc_sections bfd_generic_gc_sections +#define ihex_bfd_merge_sections bfd_generic_merge_sections #define ihex_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define ihex_bfd_link_add_symbols _bfd_generic_link_add_symbols #define ihex_bfd_final_link _bfd_generic_final_link diff -uprN binutils-2.11.90.0.7/bfd/libbfd-in.h binutils-2.11.90.0.8/bfd/libbfd-in.h --- binutils-2.11.90.0.7/bfd/libbfd-in.h Fri Apr 13 11:18:45 2001 +++ binutils-2.11.90.0.8/bfd/libbfd-in.h Sat May 12 00:05:32 2001 @@ -323,6 +323,10 @@ extern boolean _bfd_generic_set_section_ ((boolean (*) \ PARAMS ((bfd *, struct bfd_link_info *))) \ bfd_false) +#define _bfd_nolink_bfd_merge_sections \ + ((boolean (*) \ + PARAMS ((bfd *, struct bfd_link_info *))) \ + bfd_false) #define _bfd_nolink_bfd_link_hash_table_create \ ((struct bfd_link_hash_table *(*) PARAMS ((bfd *))) bfd_nullvoidptr) #define _bfd_nolink_bfd_link_add_symbols \ @@ -466,6 +470,11 @@ extern bfd_vma _bfd_stab_section_offset extern boolean _bfd_merge_section PARAMS ((bfd *, PTR *, asection *, PTR *)); + +/* Attempt to merge SEC_MERGE sections. */ + +extern boolean _bfd_merge_sections + PARAMS ((bfd *, PTR)); /* Write out a merged section. */ diff -uprN binutils-2.11.90.0.7/bfd/libbfd.h binutils-2.11.90.0.8/bfd/libbfd.h --- binutils-2.11.90.0.7/bfd/libbfd.h Tue Apr 24 09:28:55 2001 +++ binutils-2.11.90.0.8/bfd/libbfd.h Sat May 12 00:57:57 2001 @@ -323,6 +323,10 @@ extern boolean _bfd_generic_set_section_ ((boolean (*) \ PARAMS ((bfd *, struct bfd_link_info *))) \ bfd_false) +#define _bfd_nolink_bfd_merge_sections \ + ((boolean (*) \ + PARAMS ((bfd *, struct bfd_link_info *))) \ + bfd_false) #define _bfd_nolink_bfd_link_hash_table_create \ ((struct bfd_link_hash_table *(*) PARAMS ((bfd *))) bfd_nullvoidptr) #define _bfd_nolink_bfd_link_add_symbols \ @@ -467,6 +471,11 @@ extern bfd_vma _bfd_stab_section_offset extern boolean _bfd_merge_section PARAMS ((bfd *, PTR *, asection *, PTR *)); +/* Attempt to merge SEC_MERGE sections. */ + +extern boolean _bfd_merge_sections + PARAMS ((bfd *, PTR)); + /* Write out a merged section. */ extern boolean _bfd_write_merged_section @@ -1079,6 +1088,9 @@ bfd_generic_relax_section PARAMS ((bfd * boolean bfd_generic_gc_sections PARAMS ((bfd *, struct bfd_link_info *)); + +boolean +bfd_generic_merge_sections PARAMS ((bfd *, struct bfd_link_info *)); bfd_byte * bfd_generic_get_relocated_section_contents PARAMS ((bfd *abfd, diff -uprN binutils-2.11.90.0.7/bfd/linker.c binutils-2.11.90.0.8/bfd/linker.c --- binutils-2.11.90.0.7/bfd/linker.c Fri Apr 13 11:47:23 2001 +++ binutils-2.11.90.0.8/bfd/linker.c Sat May 12 00:57:58 2001 @@ -1801,6 +1801,15 @@ _bfd_generic_link_add_one_symbol (info, copy, false); if (inh == (struct bfd_link_hash_entry *) NULL) return false; + if (inh->type == bfd_link_hash_indirect + && inh->u.i.link == h) + { + (*_bfd_error_handler) + (_("%s: indirect symbol `%s' to `%s' is a loop"), + bfd_get_filename (abfd), name, string); + bfd_set_error (bfd_error_invalid_operation); + return false; + } if (inh->type == bfd_link_hash_new) { inh->type = bfd_link_hash_undefined; diff -uprN binutils-2.11.90.0.7/bfd/merge.c binutils-2.11.90.0.8/bfd/merge.c --- binutils-2.11.90.0.7/bfd/merge.c Tue Apr 24 16:09:41 2001 +++ binutils-2.11.90.0.8/bfd/merge.c Sat May 12 00:05:39 2001 @@ -24,9 +24,12 @@ Foundation, Inc., 59 Temple Place - Suit #include "bfd.h" #include "sysdep.h" #include "libbfd.h" +#include "hashtab.h" #include +struct sec_merge_sec_info; + /* An entry in the section merge hash table. */ struct sec_merge_hash_entry @@ -37,10 +40,16 @@ struct sec_merge_hash_entry /* Start of this string needs to be aligned to alignment octets (not 1 << align). */ unsigned int alignment; - /* Index within the merged section. */ - bfd_size_type index; + union { + /* Index within the merged section. */ + bfd_size_type index; + /* Entity size (if present in suffix hash tables). */ + unsigned int entsize; + /* Entry this is a suffix of (if alignment is 0). */ + struct sec_merge_hash_entry *suffix; + } u; /* Which section is it in. */ - asection *sec; + struct sec_merge_sec_info *secinfo; /* Next entity in the hash table. */ struct sec_merge_hash_entry *next; }; @@ -66,14 +75,20 @@ struct sec_merge_info { /* Chain of sec_merge_infos. */ struct sec_merge_info *next; + /* Chain of sec_merge_sec_infos. */ + struct sec_merge_sec_info *chain; /* A hash table used to hold section content. */ struct sec_merge_hash *htab; - /* The last section attempted for merge. */ - asection *last; }; struct sec_merge_sec_info { + /* Chain of sec_merge_sec_infos. */ + struct sec_merge_sec_info *next; + /* The corresponding section. */ + asection *sec; + /* Pointer to merge_info pointing to us. */ + PTR *psecinfo; /* A hash table used to hold section content. */ struct sec_merge_hash *htab; /* First string in this section. */ @@ -89,7 +104,8 @@ static struct sec_merge_hash_entry *sec_ static struct sec_merge_hash *sec_merge_init PARAMS ((unsigned int, boolean)); static struct sec_merge_hash_entry *sec_merge_add - PARAMS ((struct sec_merge_hash *, const char *, unsigned int)); + PARAMS ((struct sec_merge_hash *, const char *, unsigned int, + struct sec_merge_sec_info *)); static boolean sec_merge_emit PARAMS ((bfd *, struct sec_merge_hash_entry *)); @@ -118,9 +134,9 @@ sec_merge_hash_newfunc (entry, table, st if (ret) { /* Initialize the local fields. */ - ret->index = (bfd_size_type) -1; + ret->u.suffix = NULL; ret->alignment = 0; - ret->sec = NULL; + ret->secinfo = NULL; ret->next = NULL; } @@ -202,11 +218,14 @@ sec_merge_hash_lookup (table, string, al && memcmp (hashp->root.string, string, len) == 0) { /* If the string we found does not have at least the required - alignment, we need to insert another copy. - FIXME: The old copy could be removed and the space allocated - for it filled by some new string (similarly with padding). */ + alignment, we need to insert another copy. */ if (hashp->alignment < alignment) - break; + { + /* Mark the less aligned copy as deleted. */ + hashp->len = 0; + hashp->alignment = 0; + break; + } return hashp; } } @@ -262,10 +281,11 @@ sec_merge_init (entsize, strings) already present. */ static struct sec_merge_hash_entry * -sec_merge_add (tab, str, alignment) +sec_merge_add (tab, str, alignment, secinfo) struct sec_merge_hash *tab; const char *str; unsigned int alignment; + struct sec_merge_sec_info *secinfo; { register struct sec_merge_hash_entry *entry; @@ -273,11 +293,10 @@ sec_merge_add (tab, str, alignment) if (entry == NULL) return NULL; - if (entry->index == (bfd_size_type) -1) + if (entry->secinfo == NULL) { - tab->size = (tab->size + alignment - 1) & ~((bfd_vma) alignment - 1); - entry->index = tab->size; - tab->size += entry->len; + tab->size++; + entry->secinfo = secinfo; if (tab->first == NULL) tab->first = entry; else @@ -293,7 +312,8 @@ sec_merge_emit (abfd, entry) register bfd *abfd; struct sec_merge_hash_entry *entry; { - asection *sec = entry->sec; + struct sec_merge_sec_info *secinfo = entry->secinfo; + asection *sec = secinfo->sec; char *pad = ""; bfd_size_type off = 0; int alignment_power = bfd_get_section_alignment (abfd, sec->output_section); @@ -301,7 +321,7 @@ sec_merge_emit (abfd, entry) if (alignment_power) pad = bfd_zmalloc (1 << alignment_power); - for (; entry != NULL && entry->sec == sec; entry = entry->next) + for (; entry != NULL && entry->secinfo == secinfo; entry = entry->next) { register const char *str; register size_t len; @@ -327,7 +347,7 @@ sec_merge_emit (abfd, entry) if (alignment_power) free (pad); - return entry == NULL || entry->sec != sec; + return entry == NULL || entry->secinfo != secinfo; } /* This function is called for each input file from the add_symbols @@ -340,15 +360,12 @@ _bfd_merge_section (abfd, psinfo, sec, p asection *sec; PTR *psecinfo; { - boolean first, nul; struct sec_merge_info *sinfo; struct sec_merge_sec_info *secinfo; - unsigned char *p, *end; - bfd_vma mask, eltalign; unsigned int align; - unsigned int i; if (sec->_raw_size == 0 + || (sec->flags & SEC_EXCLUDE) || (sec->flags & SEC_MERGE) == 0 || sec->entsize == 0) return true; @@ -367,7 +384,7 @@ _bfd_merge_section (abfd, psinfo, sec, p return true; } - align = bfd_get_section_alignment (abfd, sec); + align = bfd_get_section_alignment (sec->owner, sec); if ((sec->entsize < (unsigned int)(1 << align) && ((sec->entsize & (sec->entsize - 1)) || !(sec->flags & SEC_STRINGS))) @@ -383,23 +400,22 @@ _bfd_merge_section (abfd, psinfo, sec, p return true; } - first = false; - for (sinfo = (struct sec_merge_info *) *psinfo; sinfo; sinfo = sinfo->next) - if (! ((sinfo->last->flags ^ sec->flags) & (SEC_MERGE | SEC_STRINGS)) - && sinfo->last->entsize == sec->entsize - && ! strcmp (sinfo->last->name, sec->name)) + if ((secinfo = sinfo->chain) + && ! ((secinfo->sec->flags ^ sec->flags) & (SEC_MERGE | SEC_STRINGS)) + && secinfo->sec->entsize == sec->entsize + && ! strcmp (secinfo->sec->name, sec->name)) break; if (sinfo == NULL) { /* Initialize the information we need to keep track of. */ - first = true; sinfo = (struct sec_merge_info *) bfd_alloc (abfd, sizeof (struct sec_merge_info)); if (sinfo == NULL) goto error_return; sinfo->next = (struct sec_merge_info *) *psinfo; + sinfo->chain = NULL; *psinfo = (PTR) sinfo; sinfo->htab = sec_merge_init (sec->entsize, (sec->flags & SEC_STRINGS)); @@ -415,14 +431,121 @@ _bfd_merge_section (abfd, psinfo, sec, p goto error_return; secinfo = (struct sec_merge_sec_info *)*psecinfo; + if (sinfo->chain) + { + secinfo->next = sinfo->chain->next; + sinfo->chain->next = secinfo; + } + else + secinfo->next = secinfo; + sinfo->chain = secinfo; + secinfo->sec = sec; + secinfo->psecinfo = psecinfo; secinfo->htab = sinfo->htab; - sinfo->htab->size = 0; secinfo->first = NULL; - if (! bfd_get_section_contents (abfd, sec, secinfo->contents, 0, + if (! bfd_get_section_contents (sec->owner, sec, secinfo->contents, 0, sec->_raw_size)) goto error_return; + return true; + + error_return: + *psecinfo = NULL; + return false; +} + +/* Compare two sec_merge_hash_entry structures. This is called via qsort. */ + +static int +cmplengthentry (a, b) + const PTR a; + const PTR b; +{ + struct sec_merge_hash_entry * A = *(struct sec_merge_hash_entry **) a; + struct sec_merge_hash_entry * B = *(struct sec_merge_hash_entry **) b; + + if (A->len < B->len) + return 1; + else if (A->len > B->len) + return -1; + + return memcmp (A->root.string, B->root.string, A->len); +} + +static int +last4_eq (a, b) + const void *a, *b; +{ + struct sec_merge_hash_entry * A = (struct sec_merge_hash_entry *) a; + struct sec_merge_hash_entry * B = (struct sec_merge_hash_entry *) b; + + if (memcmp (A->root.string + A->len - 5 * A->u.entsize, + B->root.string + B->len - 5 * A->u.entsize, + 4 * A->u.entsize) != 0) + /* This was a hashtable collision. */ + return 0; + + if (A->len <= B->len) + /* B cannot be a suffix of A unless A is equal to B, which is guaranteed + not to be equal by the hash table. */ + return 0; + + if (A->alignment < B->alignment + || ((A->len - B->len) & (B->alignment - 1))) + /* The suffix is not sufficiently aligned. */ + return 0; + + return memcmp (A->root.string + (A->len - B->len), + B->root.string, B->len - 5 * A->u.entsize) == 0; +} + +static int +last_eq (a, b) + const void *a, *b; +{ + struct sec_merge_hash_entry * A = (struct sec_merge_hash_entry *) a; + struct sec_merge_hash_entry * B = (struct sec_merge_hash_entry *) b; + + if (B->len >= 5 * A->u.entsize) + /* Longer strings are just pushed into the hash table, + they'll be used when looking up for very short strings. */ + return 0; + + if (memcmp (A->root.string + A->len - 2 * A->u.entsize, + B->root.string + B->len - 2 * A->u.entsize, + A->u.entsize) != 0) + /* This was a hashtable collision. */ + return 0; + + if (A->len <= B->len) + /* B cannot be a suffix of A unless A is equal to B, which is guaranteed + not to be equal by the hash table. */ + return 0; + + if (A->alignment < B->alignment + || ((A->len - B->len) & (B->alignment - 1))) + /* The suffix is not sufficiently aligned. */ + return 0; + + return memcmp (A->root.string + (A->len - B->len), + B->root.string, B->len - 2 * A->u.entsize) == 0; +} + +/* Record one section into the hash table. */ +static boolean +record_section (sinfo, secinfo) + struct sec_merge_info *sinfo; + struct sec_merge_sec_info *secinfo; +{ + asection *sec = secinfo->sec; + struct sec_merge_hash_entry *entry; + boolean nul; + unsigned char *p, *end; + bfd_vma mask, eltalign; + unsigned int align, i; + + align = bfd_get_section_alignment (sec->owner, sec); end = secinfo->contents + sec->_raw_size; nul = false; mask = ((bfd_vma)1 << align) - 1; @@ -430,19 +553,13 @@ _bfd_merge_section (abfd, psinfo, sec, p { for (p = secinfo->contents; p < end;) { - struct sec_merge_hash_entry *entry; - eltalign = p - secinfo->contents; eltalign = ((eltalign ^ (eltalign - 1)) + 1) >> 1; if (!eltalign || eltalign > mask) eltalign = mask + 1; - entry = sec_merge_add (sinfo->htab, p, eltalign); - if (entry->sec == NULL) - { - if (secinfo->first == NULL) - secinfo->first = entry; - entry->sec = sec; - } + entry = sec_merge_add (sinfo->htab, p, eltalign, secinfo); + if (! entry) + goto error_return; p += entry->len; if (sec->entsize == 1) { @@ -451,13 +568,10 @@ _bfd_merge_section (abfd, psinfo, sec, p if (!nul && !((p - secinfo->contents) & mask)) { nul = true; - entry = sec_merge_add (sinfo->htab, "", mask + 1); - if (entry->sec == NULL) - { - if (secinfo->first == NULL) - secinfo->first = entry; - entry->sec = sec; - } + entry = sec_merge_add (sinfo->htab, "", mask + 1, + secinfo); + if (! entry) + goto error_return; } p++; } @@ -474,13 +588,10 @@ _bfd_merge_section (abfd, psinfo, sec, p if (!nul && !((p - secinfo->contents) & mask)) { nul = true; - entry = sec_merge_add (sinfo->htab, p, mask + 1); - if (entry->sec == NULL) - { - if (secinfo->first == NULL) - secinfo->first = entry; - entry->sec = sec; - } + entry = sec_merge_add (sinfo->htab, p, mask + 1, + secinfo); + if (! entry) + goto error_return; } p += sec->entsize; } @@ -491,29 +602,235 @@ _bfd_merge_section (abfd, psinfo, sec, p { for (p = secinfo->contents; p < end; p += sec->entsize) { - struct sec_merge_hash_entry *entry; + entry = sec_merge_add (sinfo->htab, p, 1, secinfo); + if (! entry) + goto error_return; + } + } + + return true; - entry = sec_merge_add (sinfo->htab, p, 1); - if (entry->sec == NULL) +error_return: + for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next) + *secinfo->psecinfo = NULL; + return false; +} + +/* This is a helper function for _bfd_merge_sections. It attempts to + merge strings matching suffixes of longer strings. */ +static void +merge_strings (sinfo) + struct sec_merge_info *sinfo; +{ + struct sec_merge_hash_entry **array, **a, **end, *e; + struct sec_merge_sec_info *secinfo; + htab_t lasttab = NULL, last4tab = NULL; + bfd_size_type size; + + /* Now sort the strings by length, longest first. */ + array = (struct sec_merge_hash_entry **) + malloc (sinfo->htab->size + * sizeof (struct sec_merge_hash_entry *)); + if (array == NULL) + goto alloc_failure; + + for (e = sinfo->htab->first, a = array; e; e = e->next) + if (e->alignment) + *a++ = e; + + sinfo->htab->size = a - array; + + qsort (array, sinfo->htab->size, sizeof (struct sec_merge_hash_entry *), + cmplengthentry); + + last4tab = htab_create (sinfo->htab->size * 4, NULL, last4_eq, NULL); + lasttab = htab_create (sinfo->htab->size * 4, NULL, last_eq, NULL); + if (lasttab == NULL || last4tab == NULL) + goto alloc_failure; + + /* Now insert the strings into hash tables (strings with last 4 characters + and strings with last character equal), look for longer strings which + we're suffix of. */ + for (a = array, end = array + sinfo->htab->size; a < end; a++) + { + register hashval_t hash; + unsigned int c; + unsigned int i; + const unsigned char *s; + PTR *p; + + e = *a; + e->u.entsize = sinfo->htab->entsize; + if (e->len <= e->u.entsize) + break; + if (e->len > 4 * e->u.entsize) + { + s = e->root.string + e->len - e->u.entsize; + hash = 0; + for (i = 0; i < 4 * e->u.entsize; i++) { - if (secinfo->first == NULL) - secinfo->first = entry; - entry->sec = sec; + c = *--s; + hash += c + (c << 17); + hash ^= hash >> 2; + } + p = htab_find_slot_with_hash (last4tab, e, hash, INSERT); + if (p == NULL) + goto alloc_failure; + if (*p) + { + struct sec_merge_hash_entry *ent; + + ent = (struct sec_merge_hash_entry *) *p; + e->u.suffix = ent; + e->alignment = 0; + continue; } + else + *p = (PTR) e; + } + s = e->root.string + e->len - e->u.entsize; + hash = 0; + for (i = 0; i < e->u.entsize; i++) + { + c = *--s; + hash += c + (c << 17); + hash ^= hash >> 2; + } + p = htab_find_slot_with_hash (lasttab, e, hash, INSERT); + if (p == NULL) + goto alloc_failure; + if (*p) + { + struct sec_merge_hash_entry *ent; + + ent = (struct sec_merge_hash_entry *) *p; + e->u.suffix = ent; + e->alignment = 0; } + else + *p = (PTR) e; } - sec->_cooked_size = sinfo->htab->size; - if (!sec->_cooked_size) - sec->flags |= SEC_EXCLUDE; - sinfo->last = sec; - return true; +alloc_failure: + if (array) + free (array); + if (lasttab) + htab_delete (lasttab); + if (last4tab) + htab_delete (last4tab); + + /* Now assign positions to the strings we want to keep. */ + size = 0; + secinfo = sinfo->htab->first->secinfo; + for (e = sinfo->htab->first; e; e = e->next) + { + if (e->secinfo != secinfo) + { + secinfo->sec->_cooked_size = size; + secinfo = e->secinfo; + } + if (e->alignment) + { + if (e->secinfo->first == NULL) + { + e->secinfo->first = e; + size = 0; + } + size = (size + e->alignment - 1) & ~((bfd_vma) e->alignment - 1); + e->u.index = size; + size += e->len; + } + } + secinfo->sec->_cooked_size = size; - error_return: - if (*psecinfo != NULL) - free (*psecinfo); - *psecinfo = NULL; - return false; + /* And now adjust the rest, removing them from the chain (but not hashtable) + at the same time. */ + for (a = &sinfo->htab->first, e = *a; e; e = e->next) + if (e->alignment) + a = &e->next; + else + { + *a = e->next; + if (e->len) + { + e->secinfo = e->u.suffix->secinfo; + e->alignment = e->u.suffix->alignment; + e->u.index = e->u.suffix->u.index + (e->u.suffix->len - e->len); + } + } +} + +/* This function is called once after all SEC_MERGE sections are registered + with _bfd_merge_section. */ + +boolean +_bfd_merge_sections (abfd, xsinfo) + bfd *abfd ATTRIBUTE_UNUSED; + PTR xsinfo; +{ + struct sec_merge_info *sinfo; + + for (sinfo = (struct sec_merge_info *) xsinfo; sinfo; sinfo = sinfo->next) + { + struct sec_merge_sec_info * secinfo; + + if (! sinfo->chain) + continue; + + /* Move sinfo->chain to head of the chain, terminate it. */ + secinfo = sinfo->chain; + sinfo->chain = secinfo->next; + secinfo->next = NULL; + + /* Record the sections into the hash table. */ + for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next) + if (secinfo->sec->flags & SEC_EXCLUDE) + *secinfo->psecinfo = NULL; + else if (! record_section (sinfo, secinfo)) + break; + + if (secinfo) + continue; + + if (sinfo->htab->strings) + merge_strings (sinfo); + else + { + struct sec_merge_hash_entry *e; + bfd_size_type size = 0; + + /* Things are much simpler for non-strings. + Just assign them slots in the section. */ + secinfo = NULL; + for (e = sinfo->htab->first; e; e = e->next) + { + if (e->secinfo->first == NULL) + { + if (secinfo) + secinfo->sec->_cooked_size = size; + e->secinfo->first = e; + size = 0; + } + size = (size + e->alignment - 1) + & ~((bfd_vma) e->alignment - 1); + e->u.index = size; + size += e->len; + secinfo = e->secinfo; + } + secinfo->sec->_cooked_size = size; + } + + /* Finally shrink all input sections which have not made it into + the hash table at all. */ + for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next) + if (secinfo->first == NULL) + { + secinfo->sec->_cooked_size = 0; + secinfo->sec->flags |= SEC_EXCLUDE; + } + } + + return true; } /* Write out the merged section. */ @@ -619,6 +936,6 @@ _bfd_merged_section_offset (output_bfd, - entry->len; } - *psec = entry->sec; - return entry->index + (secinfo->contents + offset - p); + *psec = entry->secinfo->sec; + return entry->u.index + (secinfo->contents + offset - p); } diff -uprN binutils-2.11.90.0.7/bfd/nlm-target.h binutils-2.11.90.0.8/bfd/nlm-target.h --- binutils-2.11.90.0.7/bfd/nlm-target.h Fri Mar 9 11:16:03 2001 +++ binutils-2.11.90.0.8/bfd/nlm-target.h Sat May 12 00:05:33 2001 @@ -1,5 +1,5 @@ /* Target definitions for 32/64-bit NLM (NetWare Loadable Module) - Copyright 1993, 1994, 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright 1993, 1994, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -42,6 +42,7 @@ Foundation, Inc., 59 Temple Place - Suit bfd_generic_get_relocated_section_contents #define nlm_bfd_relax_section bfd_generic_relax_section #define nlm_bfd_gc_sections bfd_generic_gc_sections +#define nlm_bfd_merge_sections bfd_generic_merge_sections #define nlm_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define nlm_bfd_link_add_symbols _bfd_generic_link_add_symbols #define nlm_bfd_final_link _bfd_generic_final_link diff -uprN binutils-2.11.90.0.7/bfd/nlm32-alpha.c binutils-2.11.90.0.8/bfd/nlm32-alpha.c --- binutils-2.11.90.0.7/bfd/nlm32-alpha.c Fri Mar 9 11:16:03 2001 +++ binutils-2.11.90.0.8/bfd/nlm32-alpha.c Wed May 2 23:30:03 2001 @@ -1,5 +1,5 @@ /* Support for 32-bit Alpha NLM (NetWare Loadable Module) - Copyright 1993, 1994, 2000 Free Software Foundation, Inc. + Copyright 1993, 1994, 2000, 2001 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -603,11 +603,11 @@ nlm_alpha_read_reloc (abfd, sym, secp, r static boolean nlm_alpha_mangle_relocs (abfd, sec, data, offset, count) - bfd *abfd; - asection *sec; - PTR data; - bfd_vma offset; - bfd_size_type count; + bfd *abfd ATTRIBUTE_UNUSED; + asection *sec ATTRIBUTE_UNUSED; + PTR data ATTRIBUTE_UNUSED; + bfd_vma offset ATTRIBUTE_UNUSED; + bfd_size_type count ATTRIBUTE_UNUSED; { return true; } @@ -807,7 +807,7 @@ nlm_alpha_set_public_section (abfd, sym) static bfd_vma nlm_alpha_get_public_offset (abfd, sym) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; asymbol *sym; { return bfd_asymbol_value (sym); diff -uprN binutils-2.11.90.0.7/bfd/oasys.c binutils-2.11.90.0.8/bfd/oasys.c --- binutils-2.11.90.0.7/bfd/oasys.c Fri Mar 9 11:16:04 2001 +++ binutils-2.11.90.0.8/bfd/oasys.c Sat May 12 00:05:34 2001 @@ -1476,6 +1476,7 @@ oasys_sizeof_headers (abfd, exec) bfd_generic_get_relocated_section_contents #define oasys_bfd_relax_section bfd_generic_relax_section #define oasys_bfd_gc_sections bfd_generic_gc_sections +#define oasys_bfd_merge_sections bfd_generic_merge_sections #define oasys_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define oasys_bfd_link_add_symbols _bfd_generic_link_add_symbols #define oasys_bfd_final_link _bfd_generic_final_link diff -uprN binutils-2.11.90.0.7/bfd/ppcboot.c binutils-2.11.90.0.8/bfd/ppcboot.c --- binutils-2.11.90.0.7/bfd/ppcboot.c Fri Mar 9 11:16:05 2001 +++ binutils-2.11.90.0.8/bfd/ppcboot.c Sat May 12 00:05:35 2001 @@ -475,6 +475,7 @@ ppcboot_bfd_print_private_bfd_data (abfd bfd_generic_get_relocated_section_contents #define ppcboot_bfd_relax_section bfd_generic_relax_section #define ppcboot_bfd_gc_sections bfd_generic_gc_sections +#define ppcboot_bfd_merge_sections bfd_generic_merge_sections #define ppcboot_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define ppcboot_bfd_link_add_symbols _bfd_generic_link_add_symbols #define ppcboot_bfd_final_link _bfd_generic_final_link diff -uprN binutils-2.11.90.0.7/bfd/reloc.c binutils-2.11.90.0.8/bfd/reloc.c --- binutils-2.11.90.0.7/bfd/reloc.c Tue Apr 24 09:28:55 2001 +++ binutils-2.11.90.0.8/bfd/reloc.c Sat May 12 00:57:58 2001 @@ -3254,6 +3254,28 @@ bfd_generic_gc_sections (abfd, link_info /* INTERNAL_FUNCTION + bfd_generic_merge_sections + +SYNOPSIS + boolean bfd_generic_merge_sections + (bfd *, struct bfd_link_info *); + +DESCRIPTION + Provides default handling for SEC_MERGE section merging for back ends + which don't have SEC_MERGE support -- i.e., does nothing. +*/ + +/*ARGSUSED*/ +boolean +bfd_generic_merge_sections (abfd, link_info) + bfd *abfd ATTRIBUTE_UNUSED; + struct bfd_link_info *link_info ATTRIBUTE_UNUSED; +{ + return true; +} + +/* +INTERNAL_FUNCTION bfd_generic_get_relocated_section_contents SYNOPSIS diff -uprN binutils-2.11.90.0.7/bfd/som.c binutils-2.11.90.0.8/bfd/som.c --- binutils-2.11.90.0.7/bfd/som.c Fri Mar 9 11:16:07 2001 +++ binutils-2.11.90.0.8/bfd/som.c Sat May 12 00:05:36 2001 @@ -6286,6 +6286,7 @@ som_bfd_link_split_section (abfd, sec) #define som_bfd_final_link _bfd_generic_final_link #define som_bfd_gc_sections bfd_generic_gc_sections +#define som_bfd_merge_sections bfd_generic_merge_sections const bfd_target som_vec = { "som", /* name */ diff -uprN binutils-2.11.90.0.7/bfd/srec.c binutils-2.11.90.0.8/bfd/srec.c --- binutils-2.11.90.0.7/bfd/srec.c Fri Mar 9 11:16:08 2001 +++ binutils-2.11.90.0.8/bfd/srec.c Sat May 12 00:05:37 2001 @@ -1262,6 +1262,7 @@ srec_print_symbol (ignore_abfd, afile, s bfd_generic_get_relocated_section_contents #define srec_bfd_relax_section bfd_generic_relax_section #define srec_bfd_gc_sections bfd_generic_gc_sections +#define srec_bfd_merge_sections bfd_generic_merge_sections #define srec_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define srec_bfd_link_add_symbols _bfd_generic_link_add_symbols #define srec_bfd_final_link _bfd_generic_final_link diff -uprN binutils-2.11.90.0.7/bfd/targets.c binutils-2.11.90.0.8/bfd/targets.c --- binutils-2.11.90.0.7/bfd/targets.c Wed Apr 25 16:06:46 2001 +++ binutils-2.11.90.0.8/bfd/targets.c Sat May 12 00:57:58 2001 @@ -416,7 +416,8 @@ BFD_JUMP_TABLE macros. .CAT(NAME,_bfd_link_add_symbols),\ .CAT(NAME,_bfd_final_link),\ .CAT(NAME,_bfd_link_split_section),\ -.CAT(NAME,_bfd_gc_sections) +.CAT(NAME,_bfd_gc_sections),\ +.CAT(NAME,_bfd_merge_sections) . int (*_bfd_sizeof_headers) PARAMS ((bfd *, boolean)); . bfd_byte * (*_bfd_get_relocated_section_contents) PARAMS ((bfd *, . struct bfd_link_info *, struct bfd_link_order *, @@ -443,6 +444,9 @@ BFD_JUMP_TABLE macros. . {* Remove sections that are not referenced from the output. *} . boolean (*_bfd_gc_sections) PARAMS ((bfd *, struct bfd_link_info *)); . +. {* Attempt to merge SEC_MERGE sections. *} +. boolean (*_bfd_merge_sections) PARAMS ((bfd *, struct bfd_link_info *)); +. . {* Routines to handle dynamic symbols and relocs. *} .#define BFD_JUMP_TABLE_DYNAMIC(NAME)\ .CAT(NAME,_get_dynamic_symtab_upper_bound),\ @@ -1005,7 +1009,7 @@ const bfd_target *bfd_default_vector[] = /* When there is an ambiguous match, bfd_check_format_matches puts the names of the matching targets in an array. This variable is the maximum number of entries that the array could possibly need. */ -const size_t _bfd_target_vector_entries = sizeof (bfd_target_vector)/sizeof (*bfd_target_vector); +const size_t _bfd_target_vector_entries = sizeof (_bfd_target_vector)/sizeof (*_bfd_target_vector); /* This array maps configuration triplets onto BFD vectors. */ diff -uprN binutils-2.11.90.0.7/bfd/tekhex.c binutils-2.11.90.0.8/bfd/tekhex.c --- binutils-2.11.90.0.7/bfd/tekhex.c Fri Mar 9 11:16:09 2001 +++ binutils-2.11.90.0.8/bfd/tekhex.c Sat May 12 00:05:38 2001 @@ -1001,6 +1001,7 @@ tekhex_print_symbol (ignore_abfd, filep, bfd_generic_get_relocated_section_contents #define tekhex_bfd_relax_section bfd_generic_relax_section #define tekhex_bfd_gc_sections bfd_generic_gc_sections +#define tekhex_bfd_merge_sections bfd_generic_merge_sections #define tekhex_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define tekhex_bfd_link_add_symbols _bfd_generic_link_add_symbols #define tekhex_bfd_final_link _bfd_generic_final_link diff -uprN binutils-2.11.90.0.7/bfd/versados.c binutils-2.11.90.0.8/bfd/versados.c --- binutils-2.11.90.0.7/bfd/versados.c Fri Mar 9 11:16:09 2001 +++ binutils-2.11.90.0.8/bfd/versados.c Sat May 12 00:05:38 2001 @@ -840,6 +840,7 @@ versados_canonicalize_reloc (abfd, secti bfd_generic_get_relocated_section_contents #define versados_bfd_relax_section bfd_generic_relax_section #define versados_bfd_gc_sections bfd_generic_gc_sections +#define versados_bfd_merge_sections bfd_generic_merge_sections #define versados_bfd_link_hash_table_create _bfd_generic_link_hash_table_create #define versados_bfd_link_add_symbols _bfd_generic_link_add_symbols #define versados_bfd_final_link _bfd_generic_final_link diff -uprN binutils-2.11.90.0.7/bfd/vms.c binutils-2.11.90.0.8/bfd/vms.c --- binutils-2.11.90.0.7/bfd/vms.c Fri Mar 9 11:16:09 2001 +++ binutils-2.11.90.0.8/bfd/vms.c Sat May 12 00:05:39 2001 @@ -110,6 +110,8 @@ static boolean vms_bfd_relax_section boolean *again)); static boolean vms_bfd_gc_sections PARAMS ((bfd *abfd, struct bfd_link_info *link_info)); +static boolean vms_bfd_merge_sections + PARAMS ((bfd *abfd, struct bfd_link_info *link_info)); static struct bfd_link_hash_table *vms_bfd_link_hash_table_create PARAMS ((bfd *abfd)); static boolean vms_bfd_link_add_symbols @@ -1780,6 +1782,17 @@ vms_bfd_gc_sections (abfd, link_info) { #if VMS_DEBUG vms_debug (1, "vms_bfd_gc_sections(%p, %p)\n", abfd, link_info); +#endif + return true; +} + +static boolean +vms_bfd_merge_sections (abfd, link_info) + bfd *abfd ATTRIBUTE_UNUSED; + struct bfd_link_info *link_info ATTRIBUTE_UNUSED; +{ +#if VMS_DEBUG + vms_debug (1, "vms_bfd_merge_sections(%p, %p)\n", abfd, link_info); #endif return true; } diff -uprN binutils-2.11.90.0.7/bfd/xcoff-target.h binutils-2.11.90.0.8/bfd/xcoff-target.h --- binutils-2.11.90.0.7/bfd/xcoff-target.h Fri Mar 9 11:16:10 2001 +++ binutils-2.11.90.0.8/bfd/xcoff-target.h Sat May 12 00:05:39 2001 @@ -97,6 +97,7 @@ extern int lynx_core_file_failing_signal coff_bfd_get_relocated_section_contents #define _bfd_xcoff_bfd_relax_section coff_bfd_relax_section #define _bfd_xcoff_bfd_gc_sections coff_bfd_gc_sections +#define _bfd_xcoff_bfd_merge_sections coff_bfd_merge_sections #define _bfd_xcoff_bfd_link_split_section coff_bfd_link_split_section /* XCOFF archives do not have anything which corresponds to an diff -uprN binutils-2.11.90.0.7/binutils/ChangeLog binutils-2.11.90.0.8/binutils/ChangeLog --- binutils-2.11.90.0.7/binutils/ChangeLog Fri Apr 27 13:48:06 2001 +++ binutils-2.11.90.0.8/binutils/ChangeLog Sat May 12 00:04:24 2001 @@ -1,3 +1,12 @@ +2001-05-11 Jakub Jelinek + + * readelf.c (process_unwind): Print all unwind sections, not just + one. + +2001-05-07 Thiemo Seufer + + * readelf.c (process_unwind): Remove const specifier. + 2001-04-27 Michal Svec * strings.c (isgraphic): Do not use isascii() unless it is needed diff -uprN binutils-2.11.90.0.7/binutils/addr2line.1 binutils-2.11.90.0.8/binutils/addr2line.1 --- binutils-2.11.90.0.7/binutils/addr2line.1 Tue Mar 27 08:46:30 2001 +++ binutils-2.11.90.0.8/binutils/addr2line.1 Sat May 12 09:07:17 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: addr2line.1,v $$Revision: 1.5 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: addr2line.1,v $ -''' Revision 1.5 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:17 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F -.\} -.TH ADDR2LINE.1 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,138 +117,113 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "GNU" +.UC .SH "NAME" addr2line \- convert addresses into file names and line numbers. .SH "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 ] +.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" -\f(CWaddr2line\fR translates program addresses into file names and line +.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-e\fR option. The +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(CWaddr2line\fR has two modes of operation. +\&\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(CWaddr2line\fR displays the file name and line number for each +and \f(CW\*(C`addr2line\*(C'\fR displays the file name and line number for each address. .PP -In the second, \f(CWaddr2line\fR reads hexadecimal addresses from +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(CWaddr2line\fR may be used +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 \fBFILENAME:LINENO\fR. The file name and +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-f\fR option is used, then each \fBFILENAME:LINENO\fR line is -preceded by a \fBFUNCTIONNAME\fR line which is the name of the function +\&\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(CWaddr2line\fR will print two question marks in their place. If the -line number can not be determined, \f(CWaddr2line\fR will print 0. +\&\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-b \fIbfdname\fR\fR" 4 -.Ip "\f(CW--target=\fIbfdname\fR\fR" 4 +.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\fR" 4 -.Ip "\f(CW--demangle[=\fIstyle\fR]\fR" 4 +\&\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-e \fIfilename\fR\fR" 4 -.Ip "\f(CW--exe=\fIfilename\fR\fR" 4 +.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-f\fR" 4 -.Ip "\f(CW--functions\fR" 4 +.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-s\fR" 4 -.Ip "\f(CW--basenames\fR" 4 +.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 GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "ADDR2LINE.1 1" -.IX Name "addr2line - convert addresses into file names and line numbers." - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\f(CW-b \fIbfdname\fR\fR" - -.IX Item "\f(CW--target=\fIbfdname\fR\fR" - -.IX Item "\f(CW-C\fR" - -.IX Item "\f(CW--demangle[=\fIstyle\fR]\fR" - -.IX Item "\f(CW-e \fIfilename\fR\fR" - -.IX Item "\f(CW--exe=\fIfilename\fR\fR" - -.IX Item "\f(CW-f\fR" - -.IX Item "\f(CW--functions\fR" - -.IX Item "\f(CW-s\fR" - -.IX Item "\f(CW--basenames\fR" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils/ar.1 binutils-2.11.90.0.8/binutils/ar.1 --- binutils-2.11.90.0.7/binutils/ar.1 Tue Mar 27 08:46:30 2001 +++ binutils-2.11.90.0.8/binutils/ar.1 Sat May 12 09:07:19 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: ar.1,v $$Revision: 1.7 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: ar.1,v $ -''' Revision 1.7 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:19 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F +.\" +.\" 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 .\} -.TH AR.1 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,76 +117,76 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "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" -The GNU \f(CWar\fR program creates, modifies, and extracts from +.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\*(R' contents, mode (permissions), timestamp, owner, and +The original files' contents, mode (permissions), timestamp, owner, and group are preserved in the archive, and can be restored on extraction. .PP -GNU \f(CWar\fR can maintain archives whose members have names of any -length; however, depending on how \f(CWar\fR is configured on your +\&\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(CWar\fR is considered a binary utility because archives of this sort +\&\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(CWar\fR creates an index to the symbols defined in relocatable +\&\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(CWar\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(CWar\fR called -\f(CWranlib\fR can be used to add just the table. +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 -GNU \f(CWar\fR is designed to be compatible with two different +\&\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(CWar\fR on Unix systems; or, if you +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 MRI ``librarian'\*(R' +with a script supplied via standard input, like the \s-1MRI\s0 ``librarian'' program. .SH "OPTIONS" -GNU \f(CWar\fR allows you to mix the operation code \fIp\fR and modifier +.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 @@ -241,53 +194,58 @@ 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(CWd\fR" 4 -\fIDelete\fR modules from the archive. Specify the names of modules to +.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(CWar\fR lists each module +If you specify the \fBv\fR modifier, \f(CW\*(C`ar\*(C'\fR lists each module as it is deleted. -.Ip "\f(CWm\fR" 4 +.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(CWm\fR, any members you name in the -\fImember\fR arguments are moved to the \fIend\fR of the archive; +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(CWp\fR" 4 -\fIPrint\fR the specified members of the archive, to the standard +.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(CWq\fR" 4 -\fIQuick append\fR; Historically, add the files \fImember\fR... to the end of -\fIarchive\fR, without checking for replacement. +.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(CWar\fR list each file as it is appended. +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(CWranlib\fR explicitly to update the symbol table index. +\&\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(CWq\fR as a synonym for \f(CWr\fR. -.Ip "\f(CWr\fR" 4 +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 +\&\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(CWar\fR +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 @@ -297,9 +255,10 @@ placement relative to some existing memb .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 +\&\fBr\fR to indicate whether the file was appended (no old member deleted) or replaced. -.Ip "\f(CWt\fR" 4 +.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 @@ -312,72 +271,85 @@ are listed. 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(CWx\fR" 4 -\fIExtract\fR members (named \fImember\fR) from the archive. You can +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(CWar\fR list each name as it extracts it. +\&\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(CWa\fR" 4 +.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(CWb\fR" 4 +\&\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(CWc\fR" 4 -\fICreate\fR the archive. The specified \fIarchive\fR is always +\&\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(CWf\fR" 4 -Truncate names in the archive. \s-1GNU\s0 \f(CWar\fR will normally permit file +.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(CWar\fR program on some systems. If +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(CWi\fR" 4 +.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(CWl\fR" 4 +\&\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(CWN\fR" 4 +.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(CWo\fR" 4 +\&\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(CWP\fR" 4 +.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(CWar\fR can not create an archive with a full path name (such archives +\&\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(CWar\fR to match file names using a complete path +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(CWs\fR" 4 +.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(CWS\fR" 4 +.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(CWu\fR" 4 +\&\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 @@ -385,85 +357,30 @@ names, use this modifier. The \fBu\fR m 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(CWv\fR" 4 +.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(CWV\fR" 4 -This modifier shows the version number of \f(CWar\fR. +.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(CWar\fR ignores an initial option spelt \f(CW-X32_64\fR, for +\&\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(CWar\fR. \f(CWar\fR does not support any of the other -\f(CW-X\fR options; in particular, it does not support \f(CW-X32\fR -which is the default for \s-1AIX\s0 \f(CWar\fR. +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" -\fInm\fR\|(1), \fIranlib\fR\|(1), and the Info entries for \fIbinutils\fR. +.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 GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "AR.1 1" -.IX Name "ar - create, modify, and extract from archives" - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\f(CWd\fR" - -.IX Item "\f(CWm\fR" - -.IX Item "\f(CWp\fR" - -.IX Item "\f(CWq\fR" - -.IX Item "\f(CWr\fR" - -.IX Item "\f(CWt\fR" - -.IX Item "\f(CWx\fR" - -.IX Item "\f(CWa\fR" - -.IX Item "\f(CWb\fR" - -.IX Item "\f(CWc\fR" - -.IX Item "\f(CWf\fR" - -.IX Item "\f(CWi\fR" - -.IX Item "\f(CWl\fR" - -.IX Item "\f(CWN\fR" - -.IX Item "\f(CWo\fR" - -.IX Item "\f(CWP\fR" - -.IX Item "\f(CWs\fR" - -.IX Item "\f(CWS\fR" - -.IX Item "\f(CWu\fR" - -.IX Item "\f(CWv\fR" - -.IX Item "\f(CWV\fR" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils/cxxfilt.man binutils-2.11.90.0.8/binutils/cxxfilt.man --- binutils-2.11.90.0.7/binutils/cxxfilt.man Tue Mar 27 08:46:33 2001 +++ binutils-2.11.90.0.8/binutils/cxxfilt.man Sat May 12 09:07:26 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: cxxfilt.man,v $$Revision: 1.3 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: cxxfilt.man,v $ -''' Revision 1.3 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:26 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F -.\} -.TH CXXFILT.MAN 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,45 +117,44 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "GNU" +.UC .SH "NAME" cxxfilt \- Demangle \*(C+ and Java symbols. .SH "SYNOPSIS" -c++filt [ \-_ | --strip-underscores ] - [ \-j | --java ] - [ \-n | --no-strip-underscores ] - [ \-s \fIformat\fR | --format=\fIformat\fR ] - [ --help ] [ --version ] [ \fIsymbol\fR... ] +.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(CWc++filt\fR +\&\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 @@ -213,115 +165,85 @@ dollars, or periods) seen in the input i label decodes into a \*(C+ name, the \*(C+ name replaces the low-level name in the output. .PP -You can use \f(CWc++filt\fR to decipher individual symbols: +You can use \f(CW\*(C`c++filt\*(C'\fR to decipher individual symbols: .PP -.Vb 2 -\& +.Vb 1 \& c++filt I .Ve -If no \fIsymbol\fR arguments are given, \f(CWc++filt\fR reads symbol +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" -.Ip "\f(CW-_\fR" 4 -.Ip "\f(CW--strip-underscores\fR" 4 +.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(CWfoo\fR gets the low-level -name \f(CW_foo\fR. This option removes the initial underscore. Whether -\f(CWc++filt\fR removes the underscore by default is target dependent. -.Ip "\f(CW-j\fR" 4 -.Ip "\f(CW--java\fR" 4 +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-n\fR" 4 -.Ip "\f(CW--no-strip-underscores\fR" 4 +.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-s \fIformat\fR\fR" 4 -.Ip "\f(CW--format=\fIformat\fR\fR" 4 -\s-1GNU\s0 \f(CWnm\fR can decode three different methods of mangling, used by +.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: -.Ip "\f(CWgnu\fR" 8 +.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(CWlucid\fR" 8 +.Ip "\f(CW\*(C`lucid\*(C'\fR" 4 +.IX Item "lucid" the one used by the Lucid compiler -.Ip "\f(CWarm\fR" 8 +.Ip "\f(CW\*(C`arm\*(C'\fR" 4 +.IX Item "arm" the one specified by the \*(C+ Annotated Reference Manual -.Ip "\f(CWhp\fR" 8 +.Ip "\f(CW\*(C`hp\*(C'\fR" 4 +.IX Item "hp" the one used by the \s-1HP\s0 compiler -.Ip "\f(CWedg\fR" 8 +.Ip "\f(CW\*(C`edg\*(C'\fR" 4 +.IX Item "edg" the one used by the \s-1EDG\s0 compiler -.Ip "\f(CWgnu-new-abi\fR" 8 +.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. -.Ip "\f(CW--help\fR" 4 -Print a summary of the options to \f(CWc++filt\fR and exit. -.Ip "\f(CW--version\fR" 4 -Print the version number of \f(CWc++filt\fR and exit. +.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\s0\-\s-1DOS\s0 does not allow \f(CW+\fR characters in file names, so on -\s-1MS\s0\-\s-1DOS\s0 this program is named \f(CWcxxfilt\fR. +\&\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 GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "CXXFILT.MAN 1" -.IX Name "cxxfilt - Demangle C++ and Java symbols." - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\f(CW-_\fR" - -.IX Item "\f(CW--strip-underscores\fR" - -.IX Item "\f(CW-j\fR" - -.IX Item "\f(CW--java\fR" - -.IX Item "\f(CW-n\fR" - -.IX Item "\f(CW--no-strip-underscores\fR" - -.IX Item "\f(CW-s \fIformat\fR\fR" - -.IX Item "\f(CW--format=\fIformat\fR\fR" - -.IX Item "\f(CWgnu\fR" - -.IX Item "\f(CWlucid\fR" - -.IX Item "\f(CWarm\fR" - -.IX Item "\f(CWhp\fR" - -.IX Item "\f(CWedg\fR" - -.IX Item "\f(CWgnu-new-abi\fR" - -.IX Item "\f(CW--help\fR" - -.IX Item "\f(CW--version\fR" - -.IX Header "FOOTNOTES" - -.IX Item "1." - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils/dlltool.1 binutils-2.11.90.0.8/binutils/dlltool.1 --- binutils-2.11.90.0.7/binutils/dlltool.1 Tue Mar 27 08:46:38 2001 +++ binutils-2.11.90.0.8/binutils/dlltool.1 Sat May 12 09:07:20 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: dlltool.1,v $$Revision: 1.1 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: dlltool.1,v $ -''' Revision 1.1 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:19 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F +.\" +.\" 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 .\} -.TH DLLTOOL.1 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,94 +117,93 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "GNU" +.UC .SH "NAME" dlltool \- Create files needed to build and use DLLs. .SH "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] +.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" -\f(CWdlltool\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 +.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 DLL, along with the source for the DLL, it is necessary -to have three other files. \f(CWdlltool\fR can help with the creation of +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 DLL, which functions the DLL imports, and so on. This -is a text file and can be created by hand, or \f(CWdlltool\fR can be used -to create it using the \fB\-z\fR option. In this case \f(CWdlltool\fR +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 DLL, it needs to +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: +\&\fIasm()\fR operator: .PP -.Vb 5 -\& +.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 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 +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(CWdlltool\fR when it is creating or reading in a .def file. +\&\f(CW\*(C`dlltool\*(C'\fR when it is creating or reading in a .def file. .PP -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 +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(CWdlltool\fR builds the library file by hand, but it builds the +\&\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, @@ -261,65 +213,83 @@ these temporary assembler files when it 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 DLL from a source file \fBdll.c\fR and +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 DLL: +that uses that \s-1DLL:\s0 .PP -.Vb 5 -\& +.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-d \fIfilename\fR\fR" 4 -.Ip "\f(CW--input-def \fIfilename\fR\fR" 4 +.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-b \fIfilename\fR\fR" 4 -.Ip "\f(CW--base-file \fIfilename\fR\fR" 4 +.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-e \fIfilename\fR\fR" 4 -.Ip "\f(CW--output-exp \fIfilename\fR\fR" 4 +.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-z \fIfilename\fR\fR" 4 -.Ip "\f(CW--output-def \fIfilename\fR\fR" 4 +.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-l \fIfilename\fR\fR" 4 -.Ip "\f(CW--output-lib \fIfilename\fR\fR" 4 +.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--export-all-symbols\fR" 4 +.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--no-default-excludes\fR +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--exclude-symbols\fR option. -.Ip "\f(CW--no-export-all-symbols\fR" 4 +\&\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--exclude-symbols \fIlist\fR\fR" 4 +.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--export-all-symbols\fR is used. -.Ip "\f(CW--no-default-excludes\fR" 4 -When \f(CW--export-all-symbols\fR is used, it will by default avoid +\&\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--no-default-excludes\fR option +\&\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--export-all-symbols\fR is used. -.Ip "\f(CW-S \fIpath\fR\fR" 4 -.Ip "\f(CW--as \fIpath\fR\fR" 4 +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-f \fIswitches\fR\fR" 4 -.Ip "\f(CW--as-flags \fIswitches\fR\fR" 4 +.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, @@ -327,183 +297,106 @@ and if it occurs more than once on the c 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-D \fIname\fR\fR" 4 -.Ip "\f(CW--dll-name \fIname\fR\fR" 4 +.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-m \fImachine\fR\fR" 4 -.Ip "\f(CW-machine \fImachine\fR\fR" 4 +.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(CWdlltool\fR has a built in default type, depending upon how +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-a\fR" 4 -.Ip "\f(CW--add-indirect\fR" 4 -Specifies that when \f(CWdlltool\fR is creating the exports file it +.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-U\fR" 4 -.Ip "\f(CW--add-underscore\fR" 4 -Specifies that when \f(CWdlltool\fR is creating the exports file it +.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-k\fR" 4 -.Ip "\f(CW--kill-at\fR" 4 -Specifies that when \f(CWdlltool\fR is creating the exports file it +.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-A\fR" 4 -.Ip "\f(CW--add-stdcall-alias\fR" 4 -Specifies that when \f(CWdlltool\fR is creating the exports file it +.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-x\fR" 4 -.Ip "\f(CW--no-idata4\fR" 4 -Specifies that when \f(CWdlltool\fR is creating the exports and library +.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\fR" 4 -.Ip "\f(CW--no-idata5\fR" 4 -Specifies that when \f(CWdlltool\fR is creating the exports and library +.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-i\fR" 4 -.Ip "\f(CW--interwork\fR" 4 -Specifies that \f(CWdlltool\fR should mark the objects in the library +.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-n\fR" 4 -.Ip "\f(CW--nodelete\fR" 4 -Makes \f(CWdlltool\fR preserve the temporary assembler files it used to +.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-v\fR" 4 -.Ip "\f(CW--verbose\fR" 4 +.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-h\fR" 4 -.Ip "\f(CW--help\fR" 4 +.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-V\fR" 4 -.Ip "\f(CW--version\fR" 4 +.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 GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "DLLTOOL.1 1" -.IX Name "dlltool - Create files needed to build and use DLLs." - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\f(CW-d \fIfilename\fR\fR" - -.IX Item "\f(CW--input-def \fIfilename\fR\fR" - -.IX Item "\f(CW-b \fIfilename\fR\fR" - -.IX Item "\f(CW--base-file \fIfilename\fR\fR" - -.IX Item "\f(CW-e \fIfilename\fR\fR" - -.IX Item "\f(CW--output-exp \fIfilename\fR\fR" - -.IX Item "\f(CW-z \fIfilename\fR\fR" - -.IX Item "\f(CW--output-def \fIfilename\fR\fR" - -.IX Item "\f(CW-l \fIfilename\fR\fR" - -.IX Item "\f(CW--output-lib \fIfilename\fR\fR" - -.IX Item "\f(CW--export-all-symbols\fR" - -.IX Item "\f(CW--no-export-all-symbols\fR" - -.IX Item "\f(CW--exclude-symbols \fIlist\fR\fR" - -.IX Item "\f(CW--no-default-excludes\fR" - -.IX Item "\f(CW-S \fIpath\fR\fR" - -.IX Item "\f(CW--as \fIpath\fR\fR" - -.IX Item "\f(CW-f \fIswitches\fR\fR" - -.IX Item "\f(CW--as-flags \fIswitches\fR\fR" - -.IX Item "\f(CW-D \fIname\fR\fR" - -.IX Item "\f(CW--dll-name \fIname\fR\fR" - -.IX Item "\f(CW-m \fImachine\fR\fR" - -.IX Item "\f(CW-machine \fImachine\fR\fR" - -.IX Item "\f(CW-a\fR" - -.IX Item "\f(CW--add-indirect\fR" - -.IX Item "\f(CW-U\fR" - -.IX Item "\f(CW--add-underscore\fR" - -.IX Item "\f(CW-k\fR" - -.IX Item "\f(CW--kill-at\fR" - -.IX Item "\f(CW-A\fR" - -.IX Item "\f(CW--add-stdcall-alias\fR" - -.IX Item "\f(CW-x\fR" - -.IX Item "\f(CW--no-idata4\fR" - -.IX Item "\f(CW-c\fR" - -.IX Item "\f(CW--no-idata5\fR" - -.IX Item "\f(CW-i\fR" - -.IX Item "\f(CW--interwork\fR" - -.IX Item "\f(CW-n\fR" - -.IX Item "\f(CW--nodelete\fR" - -.IX Item "\f(CW-v\fR" - -.IX Item "\f(CW--verbose\fR" - -.IX Item "\f(CW-h\fR" - -.IX Item "\f(CW--help\fR" - -.IX Item "\f(CW-V\fR" - -.IX Item "\f(CW--version\fR" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils/nlmconv.1 binutils-2.11.90.0.8/binutils/nlmconv.1 --- binutils-2.11.90.0.7/binutils/nlmconv.1 Tue Mar 27 08:46:34 2001 +++ binutils-2.11.90.0.8/binutils/nlmconv.1 Sat May 12 09:07:21 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: nlmconv.1,v $$Revision: 1.5 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: nlmconv.1,v $ -''' Revision 1.5 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:20 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F -.\} -.TH NLMCONV.1 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,138 +117,109 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "GNU" +.UC .SH "NAME" -nlmconv \- converts object code into an NLM. +nlmconv \- converts object code into an \s-1NLM\s0. .SH "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 ] +.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" -\f(CWnlmconv\fR converts the relocatable \fBi386\fR object file -\fIinfile\fR into the NetWare Loadable Module \fIoutfile\fR, optionally -reading \fIheaderfile\fR for NLM header information. For instructions -on writing the NLM command file language used in header files, see the -\fBlinkers\fR section, \fBNLMLINK\fR in particular, of the \fINLM -Development and Tools Overview\fR, which is part of the NLM Software -Developer's Kit (``NLM SDK''), available from Novell, Inc. -\f(CWnlmconv\fR uses the GNU Binary File Descriptor library to read -\fIinfile\fR; +.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(CWnlmconv\fR can perform a link step. In other words, you can list +\&\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(CWnlmconv\fR calls the linker for you. +In this case, \f(CW\*(C`nlmconv\*(C'\fR calls the linker for you. .SH "OPTIONS" -.Ip "\f(CW-I \fIbfdname\fR\fR" 4 -.Ip "\f(CW--input-target=\fIbfdname\fR\fR" 4 -Object format of the input file. \f(CWnlmconv\fR can usually determine +.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-O \fIbfdname\fR\fR" 4 -.Ip "\f(CW--output-target=\fIbfdname\fR\fR" 4 -Object format of the output file. \f(CWnlmconv\fR infers the output +.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-T \fIheaderfile\fR\fR" 4 -.Ip "\f(CW--header-file=\fIheaderfile\fR\fR" 4 +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 +\&\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-d\fR" 4 -.Ip "\f(CW--debug\fR" 4 -Displays (on standard error) the linker command line used by \f(CWnlmconv\fR. -.Ip "\f(CW-l \fIlinker\fR\fR" 4 -.Ip "\f(CW--linker=\fIlinker\fR\fR" 4 +.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-h\fR" 4 -.Ip "\f(CW--help\fR" 4 +.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-V\fR" 4 -.Ip "\f(CW--version\fR" 4 -Prints the version number for \f(CWnlmconv\fR. +.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 GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "NLMCONV.1 1" -.IX Name "nlmconv - converts object code into an NLM." - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\f(CW-I \fIbfdname\fR\fR" - -.IX Item "\f(CW--input-target=\fIbfdname\fR\fR" - -.IX Item "\f(CW-O \fIbfdname\fR\fR" - -.IX Item "\f(CW--output-target=\fIbfdname\fR\fR" - -.IX Item "\f(CW-T \fIheaderfile\fR\fR" - -.IX Item "\f(CW--header-file=\fIheaderfile\fR\fR" - -.IX Item "\f(CW-d\fR" - -.IX Item "\f(CW--debug\fR" - -.IX Item "\f(CW-l \fIlinker\fR\fR" - -.IX Item "\f(CW--linker=\fIlinker\fR\fR" - -.IX Item "\f(CW-h\fR" - -.IX Item "\f(CW--help\fR" - -.IX Item "\f(CW-V\fR" - -.IX Item "\f(CW--version\fR" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils/nm.1 binutils-2.11.90.0.8/binutils/nm.1 --- binutils-2.11.90.0.7/binutils/nm.1 Tue Mar 27 08:46:34 2001 +++ binutils-2.11.90.0.8/binutils/nm.1 Sat May 12 09:07:21 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: nm.1,v $$Revision: 1.5 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: nm.1,v $ -''' Revision 1.5 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:21 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F +.\" +.\" 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 .\} -.TH NM.1 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,49 +117,48 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "GNU" +.UC .SH "NAME" nm \- list symbols from object files .SH "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... ] +.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" -GNU \f(CWnm\fR lists the symbols from object files \fIobjfile\fR.... -If no object files are listed as arguments, \f(CWnm\fR assumes the file -\fIa.out\fR. +.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(CWnm\fR shows: +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. @@ -214,51 +166,217 @@ hexadecimal by default. The symbol type. At least the following types are used; others are, as well, depending on the object file format. If lowercase, the symbol is local; if uppercase, the symbol is global (external). -.Ip "\f(CWA\fR" 8 +.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(CWB\fR" 8 +.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(CWC\fR" 8 +.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. -.Sp +.PP Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "NM.1 1" -.IX Name "nm - list symbols from object files" - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\f(CWA\fR" - -.IX Item "\f(CWB\fR" - -.IX Item "\f(CWC\fR" - -.IX Header "OPTIONS" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils/objcopy.1 binutils-2.11.90.0.8/binutils/objcopy.1 --- binutils-2.11.90.0.7/binutils/objcopy.1 Tue Mar 27 08:46:34 2001 +++ binutils-2.11.90.0.8/binutils/objcopy.1 Sat May 12 09:07:22 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: objcopy.1,v $$Revision: 1.10 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: objcopy.1,v $ -''' Revision 1.10 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:22 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F +.\" +.\" 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 .\} -.TH OBJCOPY.1 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,119 +117,129 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "GNU" +.UC .SH "NAME" objcopy \- copy and translate object files .SH "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 ] - [ \-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 ] - [ \-v | --verbose ] [ \-V | --version ] [ --help ] +.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 ] + [ \-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 ] + [ \-v | \-\-verbose ] [ \-V | \-\-version ] [ \-\-help ] \fIinfile\fR [\fIoutfile\fR] .SH "DESCRIPTION" -The GNU \f(CWobjcopy\fR utility copies the contents of an object -file to another. \f(CWobjcopy\fR uses the GNU BFD Library to +.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(CWobjcopy\fR is controlled by command-line options. -Note that \f(CWobjcopy\fR should be able to copy a fully linked file +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(CWobjcopy\fR creates temporary files to do its translations and -deletes them afterward. \f(CWobjcopy\fR uses BFD to do all its -translation work; it has access to all the formats described in BFD +\&\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(CWobjcopy\fR can be used to generate S\-records by using an output +\&\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(CWobjcopy\fR can be used to generate a raw binary file by using an +\&\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(CWobjcopy\fR generates a raw binary file, it will essentially produce +\&\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 +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(CWobjcopy\fR is not able to change the endianness of its input +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(CWobjcopy\fR can only copy the inputs into file formats that have the +\&\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" -.Ip "\f(CW\fIinfile\fR\fR" 4 -.Ip "\f(CW\fIoutfile\fR\fR" 4 +.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(CWobjcopy\fR creates a +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-I \fIbfdname\fR \fR" 4 -.Ip "\f(CW--input-target=\fIbfdname\fR\fR" 4 +.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-O \fIbfdname\fR\fR" 4 -.Ip "\f(CW--output-target=\fIbfdname\fR\fR" 4 +.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-F \fIbfdname\fR\fR" 4 -.Ip "\f(CW--target=\fIbfdname\fR\fR" 4 +.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-B \fIbfdarch\fR\fR" 4 -.Ip "\f(CW--binary-architecture=\fIbfdarch\fR\fR" 4 +.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 @@ -285,349 +248,258 @@ symbols that are created by the conversi 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-j \fIsectionname\fR\fR" 4 -.Ip "\f(CW--only-section=\fIsectionname\fR\fR" 4 +.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-R \fIsectionname\fR\fR" 4 -.Ip "\f(CW--remove-section=\fIsectionname\fR\fR" 4 +.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-S\fR" 4 -.Ip "\f(CW--strip-all\fR" 4 +.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-g\fR" 4 -.Ip "\f(CW--strip-debug\fR" 4 +.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--strip-unneeded\fR" 4 +.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-K \fIsymbolname\fR\fR" 4 -.Ip "\f(CW--keep-symbol=\fIsymbolname\fR\fR" 4 +.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-N \fIsymbolname\fR\fR" 4 -.Ip "\f(CW--strip-symbol=\fIsymbolname\fR\fR" 4 +.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-L \fIsymbolname\fR\fR" 4 -.Ip "\f(CW--localize-symbol=\fIsymbolname\fR\fR" 4 +.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-W \fIsymbolname\fR\fR" 4 -.Ip "\f(CW--weaken-symbol=\fIsymbolname\fR\fR" 4 +.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-x\fR" 4 -.Ip "\f(CW--discard-all\fR" 4 +.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-X\fR" 4 -.Ip "\f(CW--discard-locals\fR" 4 +.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-b \fIbyte\fR\fR" 4 -.Ip "\f(CW--byte=\fIbyte\fR\fR" 4 +.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 +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(CWsrec\fR output +to program \s-1ROM\s0. It is typically used with an \f(CW\*(C`srec\*(C'\fR output target. -.Ip "\f(CW-i \fIinterleave\fR\fR" 4 -.Ip "\f(CW--interleave=\fIinterleave\fR\fR" 4 +.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(CWobjcopy\fR ignores this option if you do not specify either \fB\-b\fR or -\fB--byte\fR. -.Ip "\f(CW-p\fR" 4 -.Ip "\f(CW--preserve-dates\fR" 4 +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--debugging\fR" 4 +.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--gap-fill \fIval\fR\fR" 4 +.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--pad-to \fIaddress\fR\fR" 4 +.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--set-start \fIval\fR\fR" 4 +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--change-start \fIincr\fR\fR" 4 -.Ip "\f(CW--adjust-start \fIincr\fR\fR" 4 +.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--change-addresses \fIincr\fR\fR" 4 -.Ip "\f(CW--adjust-vma \fIincr\fR\fR" 4 +.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--change-section-address \fIsection\fR{=,+,-}\fIval\fR\fR" 4 -.Ip "\f(CW--adjust-section-vma \fIsection\fR{=,+,-}\fIval\fR\fR" 4 +.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, +\&\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--change-section-lma \fIsection\fR{=,+,-}\fIval\fR\fR" 4 +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, +\&\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--change-section-vma \fIsection\fR{=,+,-}\fIval\fR\fR" 4 +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 +\&\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 +\&\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--change-warnings\fR" 4 -.Ip "\f(CW--adjust-warnings\fR" 4 -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 +\&\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--no-change-warnings\fR" 4 -.Ip "\f(CW--no-adjust-warnings\fR" 4 -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 +.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--set-section-flags \fIsection\fR=\fIflags\fR\fR" 4 +.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 +\&\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 +\&\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--add-section \fIsectionname\fR=\fIfilename\fR\fR" 4 +.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--change-leading-char\fR" 4 +.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(CWobjcopy\fR to +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--remove-leading-char\fR" 4 +.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--change-leading-char\fR because it always changes the symbol name +\&\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--srec-len=\fIival\fR\fR" 4 +.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--srec-forceS3\fR" 4 +.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--redefine-sym \fIold\fR=\fInew\fR\fR" 4 +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--weaken\fR" 4 +.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-R\fR option to the linker. This option is only effective when +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-V\fR" 4 -.Ip "\f(CW--version\fR" 4 -Show the version number of \f(CWobjcopy\fR. -.Ip "\f(CW-v\fR" 4 -.Ip "\f(CW--verbose\fR" 4 +.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--help\fR" 4 -Show a summary of the options to \f(CWobjcopy\fR. +.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" -\fIld\fR\|(1), \fIobjdump\fR\|(1), and the Info entries for \fIbinutils\fR. +.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 GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "OBJCOPY.1 1" -.IX Name "objcopy - copy and translate object files" - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\f(CW\fIinfile\fR\fR" - -.IX Item "\f(CW\fIoutfile\fR\fR" - -.IX Item "\f(CW-I \fIbfdname\fR \fR" - -.IX Item "\f(CW--input-target=\fIbfdname\fR\fR" - -.IX Item "\f(CW-O \fIbfdname\fR\fR" - -.IX Item "\f(CW--output-target=\fIbfdname\fR\fR" - -.IX Item "\f(CW-F \fIbfdname\fR\fR" - -.IX Item "\f(CW--target=\fIbfdname\fR\fR" - -.IX Item "\f(CW-B \fIbfdarch\fR\fR" - -.IX Item "\f(CW--binary-architecture=\fIbfdarch\fR\fR" - -.IX Item "\f(CW-j \fIsectionname\fR\fR" - -.IX Item "\f(CW--only-section=\fIsectionname\fR\fR" - -.IX Item "\f(CW-R \fIsectionname\fR\fR" - -.IX Item "\f(CW--remove-section=\fIsectionname\fR\fR" - -.IX Item "\f(CW-S\fR" - -.IX Item "\f(CW--strip-all\fR" - -.IX Item "\f(CW-g\fR" - -.IX Item "\f(CW--strip-debug\fR" - -.IX Item "\f(CW--strip-unneeded\fR" - -.IX Item "\f(CW-K \fIsymbolname\fR\fR" - -.IX Item "\f(CW--keep-symbol=\fIsymbolname\fR\fR" - -.IX Item "\f(CW-N \fIsymbolname\fR\fR" - -.IX Item "\f(CW--strip-symbol=\fIsymbolname\fR\fR" - -.IX Item "\f(CW-L \fIsymbolname\fR\fR" - -.IX Item "\f(CW--localize-symbol=\fIsymbolname\fR\fR" - -.IX Item "\f(CW-W \fIsymbolname\fR\fR" - -.IX Item "\f(CW--weaken-symbol=\fIsymbolname\fR\fR" - -.IX Item "\f(CW-x\fR" - -.IX Item "\f(CW--discard-all\fR" - -.IX Item "\f(CW-X\fR" - -.IX Item "\f(CW--discard-locals\fR" - -.IX Item "\f(CW-b \fIbyte\fR\fR" - -.IX Item "\f(CW--byte=\fIbyte\fR\fR" - -.IX Item "\f(CW-i \fIinterleave\fR\fR" - -.IX Item "\f(CW--interleave=\fIinterleave\fR\fR" - -.IX Item "\f(CW-p\fR" - -.IX Item "\f(CW--preserve-dates\fR" - -.IX Item "\f(CW--debugging\fR" - -.IX Item "\f(CW--gap-fill \fIval\fR\fR" - -.IX Item "\f(CW--pad-to \fIaddress\fR\fR" - -.IX Item "\f(CW--set-start \fIval\fR\fR" - -.IX Item "\f(CW--change-start \fIincr\fR\fR" - -.IX Item "\f(CW--adjust-start \fIincr\fR\fR" - -.IX Item "\f(CW--change-addresses \fIincr\fR\fR" - -.IX Item "\f(CW--adjust-vma \fIincr\fR\fR" - -.IX Item "\f(CW--change-section-address \fIsection\fR{=,+,-}\fIval\fR\fR" - -.IX Item "\f(CW--adjust-section-vma \fIsection\fR{=,+,-}\fIval\fR\fR" - -.IX Item "\f(CW--change-section-lma \fIsection\fR{=,+,-}\fIval\fR\fR" - -.IX Item "\f(CW--change-section-vma \fIsection\fR{=,+,-}\fIval\fR\fR" - -.IX Item "\f(CW--change-warnings\fR" - -.IX Item "\f(CW--adjust-warnings\fR" - -.IX Item "\f(CW--no-change-warnings\fR" - -.IX Item "\f(CW--no-adjust-warnings\fR" - -.IX Item "\f(CW--set-section-flags \fIsection\fR=\fIflags\fR\fR" - -.IX Item "\f(CW--add-section \fIsectionname\fR=\fIfilename\fR\fR" - -.IX Item "\f(CW--change-leading-char\fR" - -.IX Item "\f(CW--remove-leading-char\fR" - -.IX Item "\f(CW--srec-len=\fIival\fR\fR" - -.IX Item "\f(CW--srec-forceS3\fR" - -.IX Item "\f(CW--redefine-sym \fIold\fR=\fInew\fR\fR" - -.IX Item "\f(CW--weaken\fR" - -.IX Item "\f(CW-V\fR" - -.IX Item "\f(CW--version\fR" - -.IX Item "\f(CW-v\fR" - -.IX Item "\f(CW--verbose\fR" - -.IX Item "\f(CW--help\fR" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils/objdump.1 binutils-2.11.90.0.8/binutils/objdump.1 --- binutils-2.11.90.0.7/binutils/objdump.1 Tue Mar 27 08:46:35 2001 +++ binutils-2.11.90.0.8/binutils/objdump.1 Sat May 12 09:07:23 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: objdump.1,v $$Revision: 1.5 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: objdump.1,v $ -''' Revision 1.5 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:23 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F +.\" +.\" 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 .\} -.TH OBJDUMP.1 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,417 +117,343 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "GNU" +.UC .SH "NAME" objdump \- display information from object files. .SH "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 ] +.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" -\f(CWobjdump\fR displays information about one or more object files. +.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(CWobjdump\fR shows information on each of the member +\&\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-a\fR" 4 -.Ip "\f(CW--archive-header\fR" 4 +\&\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--adjust-vma=\fIoffset\fR\fR" 4 +.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-b \fIbfdname\fR\fR" 4 -.Ip "\f(CW--target=\fIbfdname\fR\fR" 4 +.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 +\&\fIbfdname\fR. This option may not be necessary; \fIobjdump\fR can automatically recognize many formats. .Sp For example, - - objdump \-b oasys \-m vax \-h fu.o .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 +\&\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\fR" 4 -.Ip "\f(CW--demangle[=\fIstyle\fR]\fR" 4 +.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-G\fR" 4 -.Ip "\f(CW--debugging\fR" 4 +.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-d\fR" 4 -.Ip "\f(CW--disassemble\fR" 4 +.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 +\&\fIobjfile\fR. This option only disassembles those sections which are expected to contain instructions. -.Ip "\f(CW-D\fR" 4 -.Ip "\f(CW--disassemble-all\fR" 4 +.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--prefix-addresses\fR" 4 +.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--disassemble-zeroes\fR" 4 +.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-EB\fR" 4 -.Ip "\f(CW-EL\fR" 4 -.Ip "\f(CW--endian={big|little}\fR" 4 +.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-f\fR" 4 -.Ip "\f(CW--file-header\fR" 4 +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--file-start-context\fR" 4 +.Ip "\f(CW\*(C`\-\-file\-start\-context\*(C'\fR" 4 +.IX Item "--file-start-context" Specify that when displaying interlisted source code/disassembly -(assumes \*(L'\-S') from a file that has not yet been displayed, extend the +(assumes '\-S') from a file that has not yet been displayed, extend the context to the start of the file. -.Ip "\f(CW-h\fR" 4 -.Ip "\f(CW--section-header\fR" 4 -.Ip "\f(CW--header\fR" 4 +.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(CWld\fR. However, some object file formats, such as a.out, do not +\&\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(CWld\fR relocates the sections correctly, using \fBobjdump -\-h\fR to list the file section headers cannot show the correct addresses. +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--help\fR" 4 -Print a summary of the options to \f(CWobjdump\fR and exit. -.Ip "\f(CW-i\fR" 4 -.Ip "\f(CW--info\fR" 4 +.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-j \fIname\fR\fR" 4 -.Ip "\f(CW--section=\fIname\fR\fR" 4 +.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-l\fR" 4 -.Ip "\f(CW--line-numbers\fR" 4 +.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-m \fImachine\fR\fR" 4 -.Ip "\f(CW--architecture=\fImachine\fR\fR" 4 +.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 +architecture information, such as S-records. You can list the available architectures with the \fB\-i\fR option. -.Ip "\f(CW-M \fIoptions\fR\fR" 4 -.Ip "\f(CW--disassembler-options=\fIoptions\fR\fR" 4 +.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 +\&\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\*(R', register 14 called \*(L'lr\*(R' and register 15 called \*(L'pc\*(R'. Specifying -\fB\-M reg-names-apcs\fR will select the name set used by the \s-1ARM\s0 +\&'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 \s-1ARM/\s0Thumb Procedure Call Standard naming conventions. (Eiuther +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 +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-p\fR" 4 -.Ip "\f(CW--private-headers\fR" 4 +.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-r\fR" 4 -.Ip "\f(CW--reloc\fR" 4 +.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 +\&\fB\-D\fR, the relocations are printed interspersed with the disassembly. -.Ip "\f(CW-R\fR" 4 -.Ip "\f(CW--dynamic-reloc\fR" 4 +.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-s\fR" 4 -.Ip "\f(CW--full-contents\fR" 4 +.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-S\fR" 4 -.Ip "\f(CW--source\fR" 4 +.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--show-raw-insn\fR" 4 +\&\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--prefix-addresses\fR is used. -.Ip "\f(CW--no-show-raw-insn\fR" 4 +\&\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--prefix-addresses\fR is used. -.Ip "\f(CW-G\fR" 4 -.Ip "\f(CW--stabs\fR" 4 +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.stab\fR debugging symbol-table entries are carried in an \s-1ELF\s0 +\&\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 +interleaved with linkage symbols, and are visible in the \fB\*(--syms\fR output. -.Ip "\f(CW--start-address=\fIaddress\fR\fR" 4 +.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-d\fR, \f(CW-r\fR and \f(CW-s\fR options. -.Ip "\f(CW--stop-address=\fIaddress\fR\fR" 4 +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-d\fR, \f(CW-r\fR and \f(CW-s\fR options. -.Ip "\f(CW-t\fR" 4 -.Ip "\f(CW--syms\fR" 4 +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-T\fR" 4 -.Ip "\f(CW--dynamic-syms\fR" 4 +.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--version\fR" 4 -Print the version number of \f(CWobjdump\fR and exit. -.Ip "\f(CW-x\fR" 4 -.Ip "\f(CW--all-header\fR" 4 +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-w\fR" 4 -.Ip "\f(CW--wide\fR" 4 +\&\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" -\fInm\fR\|(1), \fIreadelf\fR\|(1), and the Info entries for \fIbinutils\fR. +.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 GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "OBJDUMP.1 1" -.IX Name "objdump - display information from object files." - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\f(CW-a\fR" - -.IX Item "\f(CW--archive-header\fR" - -.IX Item "\f(CW--adjust-vma=\fIoffset\fR\fR" - -.IX Item "\f(CW-b \fIbfdname\fR\fR" - -.IX Item "\f(CW--target=\fIbfdname\fR\fR" - -.IX Item "\f(CW-C\fR" - -.IX Item "\f(CW--demangle[=\fIstyle\fR]\fR" - -.IX Item "\f(CW-G\fR" - -.IX Item "\f(CW--debugging\fR" - -.IX Item "\f(CW-d\fR" - -.IX Item "\f(CW--disassemble\fR" - -.IX Item "\f(CW-D\fR" - -.IX Item "\f(CW--disassemble-all\fR" - -.IX Item "\f(CW--prefix-addresses\fR" - -.IX Item "\f(CW--disassemble-zeroes\fR" - -.IX Item "\f(CW-EB\fR" - -.IX Item "\f(CW-EL\fR" - -.IX Item "\f(CW--endian={big|little}\fR" - -.IX Item "\f(CW-f\fR" - -.IX Item "\f(CW--file-header\fR" - -.IX Item "\f(CW--file-start-context\fR" - -.IX Item "\f(CW-h\fR" - -.IX Item "\f(CW--section-header\fR" - -.IX Item "\f(CW--header\fR" - -.IX Item "\f(CW--help\fR" - -.IX Item "\f(CW-i\fR" - -.IX Item "\f(CW--info\fR" - -.IX Item "\f(CW-j \fIname\fR\fR" - -.IX Item "\f(CW--section=\fIname\fR\fR" - -.IX Item "\f(CW-l\fR" - -.IX Item "\f(CW--line-numbers\fR" - -.IX Item "\f(CW-m \fImachine\fR\fR" - -.IX Item "\f(CW--architecture=\fImachine\fR\fR" - -.IX Item "\f(CW-M \fIoptions\fR\fR" - -.IX Item "\f(CW--disassembler-options=\fIoptions\fR\fR" - -.IX Item "\f(CW-p\fR" - -.IX Item "\f(CW--private-headers\fR" - -.IX Item "\f(CW-r\fR" - -.IX Item "\f(CW--reloc\fR" - -.IX Item "\f(CW-R\fR" - -.IX Item "\f(CW--dynamic-reloc\fR" - -.IX Item "\f(CW-s\fR" - -.IX Item "\f(CW--full-contents\fR" - -.IX Item "\f(CW-S\fR" - -.IX Item "\f(CW--source\fR" - -.IX Item "\f(CW--show-raw-insn\fR" - -.IX Item "\f(CW--no-show-raw-insn\fR" - -.IX Item "\f(CW-G\fR" - -.IX Item "\f(CW--stabs\fR" - -.IX Item "\f(CW--start-address=\fIaddress\fR\fR" - -.IX Item "\f(CW--stop-address=\fIaddress\fR\fR" - -.IX Item "\f(CW-t\fR" - -.IX Item "\f(CW--syms\fR" - -.IX Item "\f(CW-T\fR" - -.IX Item "\f(CW--dynamic-syms\fR" - -.IX Item "\f(CW--version\fR" - -.IX Item "\f(CW-x\fR" - -.IX Item "\f(CW--all-header\fR" - -.IX Item "\f(CW-w\fR" - -.IX Item "\f(CW--wide\fR" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils/ranlib.1 binutils-2.11.90.0.8/binutils/ranlib.1 --- binutils-2.11.90.0.7/binutils/ranlib.1 Tue Mar 27 08:46:35 2001 +++ binutils-2.11.90.0.8/binutils/ranlib.1 Sat May 12 09:07:23 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: ranlib.1,v $$Revision: 1.5 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: ranlib.1,v $ -''' Revision 1.5 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:23 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F -.\} -.TH RANLIB.1 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,84 +117,66 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "GNU" +.UC .SH "NAME" ranlib \- generate index to archive. .SH "SYNOPSIS" +.IX Header "SYNOPSIS" ranlib [\-vV] \fIarchive\fR .SH "DESCRIPTION" -\f(CWranlib\fR generates an index to the contents of an archive and +.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. +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 GNU \f(CWranlib\fR program is another form of GNU \f(CWar\fR; running -\f(CWranlib\fR is completely equivalent to executing \fBar \-s\fR. +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" -.Ip "\f(CW-v\fR" 4 -.Ip "\f(CW-V\fR" 4 -.Ip "\f(CW--version\fR" 4 -Show the version number of \f(CWranlib\fR. +.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" -\fIar\fR\|(1), \fInm\fR\|(1), and the Info entries for \fIbinutils\fR. +.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 GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "RANLIB.1 1" -.IX Name "ranlib - generate index to archive." - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\f(CW-v\fR" - -.IX Item "\f(CW-V\fR" - -.IX Item "\f(CW--version\fR" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils/readelf.1 binutils-2.11.90.0.8/binutils/readelf.1 --- binutils-2.11.90.0.7/binutils/readelf.1 Tue Mar 27 08:46:38 2001 +++ binutils-2.11.90.0.8/binutils/readelf.1 Sat May 12 09:07:24 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: readelf.1,v $$Revision: 1.1 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: readelf.1,v $ -''' Revision 1.1 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:24 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F +.\" +.\" 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 .\} -.TH READELF.1 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,226 +117,175 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "GNU" +.UC .SH "NAME" -readelf \- Displays information about ELF files. +readelf \- Displays information about \s-1ELF\s0 files. .SH "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] +.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" -\f(CWreadelf\fR displays information about one or more ELF format object +.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(CWreadelf\fR does not support examining archives, nor does it -support examing 64 bit ELF files. +\&\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-a\fR" 4 -.Ip "\f(CW--all\fR" 4 -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-h\fR" 4 -.Ip "\f(CW--file-header\fR" 4 +.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-l\fR" 4 -.Ip "\f(CW--program-headers\fR" 4 -.Ip "\f(CW--segments\fR" 4 +.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-S\fR" 4 -.Ip "\f(CW--sections\fR" 4 -.Ip "\f(CW--section-headers\fR" 4 +.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-s\fR" 4 -.Ip "\f(CW--symbols\fR" 4 -.Ip "\f(CW--syms\fR" 4 +.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-e\fR" 4 -.Ip "\f(CW--headers\fR" 4 +.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-n\fR" 4 -.Ip "\f(CW--notes\fR" 4 +.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-r\fR" 4 -.Ip "\f(CW--relocs\fR" 4 +.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-u\fR" 4 -.Ip "\f(CW--unwind\fR" 4 +.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-d\fR" 4 -.Ip "\f(CW--dynamic\fR" 4 +.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-V\fR" 4 -.Ip "\f(CW--version-info\fR" 4 +.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-D\fR" 4 -.Ip "\f(CW--use-dynamic\fR" 4 -When displaying symbols, this option makes \f(CWreadelf\fR use the +.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-x \fR" 4 -.Ip "\f(CW--hex-dump=\fR" 4 +.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-w[liaprf]\fR" 4 -.Ip "\f(CW--debug-dump[=line,=info,=abbrev,=pubnames,=ranges,=frames]\fR" 4 +.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--histogram\fR" 4 +.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-v\fR" 4 -.Ip "\f(CW--version\fR" 4 +.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-H\fR" 4 -.Ip "\f(CW--help\fR" 4 -Display the command line options understood by \f(CWreadelf\fR. +.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" -\fIobjdump\fR\|(1), and the Info entries for \fIbinutils\fR. +.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 GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "READELF.1 1" -.IX Name "readelf - Displays information about ELF files." - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\f(CW-a\fR" - -.IX Item "\f(CW--all\fR" - -.IX Item "\f(CW-h\fR" - -.IX Item "\f(CW--file-header\fR" - -.IX Item "\f(CW-l\fR" - -.IX Item "\f(CW--program-headers\fR" - -.IX Item "\f(CW--segments\fR" - -.IX Item "\f(CW-S\fR" - -.IX Item "\f(CW--sections\fR" - -.IX Item "\f(CW--section-headers\fR" - -.IX Item "\f(CW-s\fR" - -.IX Item "\f(CW--symbols\fR" - -.IX Item "\f(CW--syms\fR" - -.IX Item "\f(CW-e\fR" - -.IX Item "\f(CW--headers\fR" - -.IX Item "\f(CW-n\fR" - -.IX Item "\f(CW--notes\fR" - -.IX Item "\f(CW-r\fR" - -.IX Item "\f(CW--relocs\fR" - -.IX Item "\f(CW-u\fR" - -.IX Item "\f(CW--unwind\fR" - -.IX Item "\f(CW-d\fR" - -.IX Item "\f(CW--dynamic\fR" - -.IX Item "\f(CW-V\fR" - -.IX Item "\f(CW--version-info\fR" - -.IX Item "\f(CW-D\fR" - -.IX Item "\f(CW--use-dynamic\fR" - -.IX Item "\f(CW-x \fR" - -.IX Item "\f(CW--hex-dump=\fR" - -.IX Item "\f(CW-w[liaprf]\fR" - -.IX Item "\f(CW--debug-dump[=line,=info,=abbrev,=pubnames,=ranges,=frames]\fR" - -.IX Item "\f(CW--histogram\fR" - -.IX Item "\f(CW-v\fR" - -.IX Item "\f(CW--version\fR" - -.IX Item "\f(CW-H\fR" - -.IX Item "\f(CW--help\fR" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils/readelf.c binutils-2.11.90.0.8/binutils/readelf.c --- binutils-2.11.90.0.7/binutils/readelf.c Fri Apr 6 15:50:28 2001 +++ binutils-2.11.90.0.8/binutils/readelf.c Sat May 12 00:58:01 2001 @@ -3408,7 +3408,7 @@ process_unwind (file) FILE * file; { Elf32_Internal_Shdr *sec, *unwsec = NULL, *strsec; - unsigned long i, addr_size; + unsigned long i, addr_size, unwcount = 0, unwstart = 0; struct unw_aux_info aux; if (!do_unwind) @@ -3434,43 +3434,103 @@ process_unwind (file) strsec = section_headers + sec->sh_link; aux.strtab_size = strsec->sh_size; GET_DATA_ALLOC (strsec->sh_offset, aux.strtab_size, - aux.strtab, const char *, "string table"); + aux.strtab, char *, "string table"); } else if (sec->sh_type == SHT_IA_64_UNWIND) - unwsec = sec; - else if (strcmp (SECTION_NAME (sec), ELF_STRING_ia64_unwind_info) == 0) - { - aux.info_size = sec->sh_size; - aux.info_addr = sec->sh_addr; - GET_DATA_ALLOC (sec->sh_offset, aux.info_size, aux.info, - char *, "unwind info"); - } + unwcount++; } - if (unwsec) + if (!unwcount) + printf (_("\nThere are no unwind sections in this file.\n")); + + while (unwcount-- > 0) { - printf (_("\nUnwind section ")); + char *suffix; + size_t len, len2; + + for (i = unwstart, sec = section_headers + unwstart; + i < elf_header.e_shnum; ++i, ++sec) + if (sec->sh_type == SHT_IA_64_UNWIND) + { + unwsec = sec; + break; + } + + unwstart = i + 1; + len = sizeof (ELF_STRING_ia64_unwind_once) - 1; - if (string_table == NULL) - printf ("%d", unwsec->sh_name); + if (strncmp (SECTION_NAME (unwsec), ELF_STRING_ia64_unwind_once, + len) == 0) + { + /* .gnu.linkonce.ia64unw.FOO -> .gnu.linkonce.ia64unwi.FOO */ + len2 = sizeof (ELF_STRING_ia64_unwind_info_once) - 1; + suffix = SECTION_NAME (unwsec) + len; + for (i = 0, sec = section_headers; i < elf_header.e_shnum; + ++i, ++sec) + if (strncmp (SECTION_NAME (sec), + ELF_STRING_ia64_unwind_info_once, len2) == 0 + && strcmp (SECTION_NAME (sec) + len2, suffix) == 0) + break; + } else - printf ("'%s'", SECTION_NAME (unwsec)); + { + /* .IA_64.unwindFOO -> .IA_64.unwind_infoFOO + .IA_64.unwind or BAR -> .IA_64.unwind_info */ + len = sizeof (ELF_STRING_ia64_unwind) - 1; + len2 = sizeof (ELF_STRING_ia64_unwind_info) - 1; + suffix = ""; + if (strncmp (SECTION_NAME (unwsec), ELF_STRING_ia64_unwind, + len) == 0) + suffix = SECTION_NAME (unwsec) + len; + for (i = 0, sec = section_headers; i < elf_header.e_shnum; + ++i, ++sec) + if (strncmp (SECTION_NAME (sec), + ELF_STRING_ia64_unwind_info, len2) == 0 + && strcmp (SECTION_NAME (sec) + len2, suffix) == 0) + break; + } + + if (i == elf_header.e_shnum) + { + printf (_("\nCould not find unwind info section for ")); - printf (_(" at offset 0x%lx contains %lu entries:\n"), - unwsec->sh_offset, (unsigned long) (unwsec->sh_size / (3 * addr_size))); + if (string_table == NULL) + printf ("%d", unwsec->sh_name); + else + printf ("'%s'", SECTION_NAME (unwsec)); + } + else + { + aux.info_size = sec->sh_size; + aux.info_addr = sec->sh_addr; + GET_DATA_ALLOC (sec->sh_offset, aux.info_size, aux.info, + char *, "unwind info"); - (void) slurp_ia64_unwind_table (file, & aux, unwsec); + printf (_("\nUnwind section ")); - if (aux.table_len > 0) - dump_ia64_unwind (& aux); + if (string_table == NULL) + printf ("%d", unwsec->sh_name); + else + printf ("'%s'", SECTION_NAME (unwsec)); + + printf (_(" at offset 0x%lx contains %lu entries:\n"), + unwsec->sh_offset, + (unsigned long) (unwsec->sh_size / (3 * addr_size))); + + (void) slurp_ia64_unwind_table (file, & aux, unwsec); + + if (aux.table_len > 0) + dump_ia64_unwind (& aux); + + if (aux.table) + free ((char *) aux.table); + if (aux.info) + free ((char *) aux.info); + aux.table = NULL; + aux.info = NULL; + } } - else - printf (_("\nThere are no unwind sections in this file.\n")); - if (aux.table) - free ((char *) aux.table); - if (aux.info) - free ((char *) aux.info); if (aux.symtab) free (aux.symtab); if (aux.strtab) diff -uprN binutils-2.11.90.0.7/binutils/size.1 binutils-2.11.90.0.8/binutils/size.1 --- binutils-2.11.90.0.7/binutils/size.1 Tue Mar 27 08:46:37 2001 +++ binutils-2.11.90.0.8/binutils/size.1 Sat May 12 09:07:25 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: size.1,v $$Revision: 1.5 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: size.1,v $ -''' Revision 1.5 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:24 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F -.\} -.TH SIZE.1 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,152 +117,126 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "GNU" +.UC .SH "NAME" size \- list section sizes and total size. .SH "SYNOPSIS" -size [ \-A | \-B | --format=\fIcompatibility\fR ] - [ --help ] [ \-d | \-o | \-x | --radix=\fInumber\fR ] - [ --target=\fIbfdname\fR ] [ \-V | --version ] +.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" -The GNU \f(CWsize\fR utility lists the section sizes---and the total -size---for each of the object or archive files \fIobjfile\fR in its +.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(CWa.out\fR will be used. +\&\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-A\fR" 4 -.Ip "\f(CW-B\fR" 4 -.Ip "\f(CW--format=\fIcompatibility\fR\fR" 4 +.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(CWsize\fR resembles output from System V \f(CWsize\fR (using \fB\-A\fR, -or \fB--format=sysv\fR), or Berkeley \f(CWsize\fR (using \fB\-B\fR, or -\fB--format=berkeley\fR). The default is the one-line format similar to +\&\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(CWsize\fR: - - $ size --format=Berkeley ranlib size - text data bss dec hex filename - 294880 81920 11592 388392 5ed28 ranlib - 294880 81920 11888 388688 5ee50 size +\&\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 16 -\& +.Vb 7 \& $ size --format=SysV ranlib size \& ranlib : \& section size addr \& .text 294880 8192 \& .data 81920 303104 \& .bss 11592 385024 -\& Total 388392 -\& -\& +\& Total 388392 +.Ve +.Vb 6 \& size : \& section size addr \& .text 294880 8192 \& .data 81920 303104 \& .bss 11888 385024 -\& Total 388688 +\& Total 388688 .Ve -.Ip "\f(CW--help\fR" 4 +.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 +.IX Item "--help" Show a summary of acceptable arguments and options. -.Ip "\f(CW-d\fR" 4 -.Ip "\f(CW-o\fR" 4 -.Ip "\f(CW-x\fR" 4 -.Ip "\f(CW--radix=\fInumber\fR\fR" 4 +.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 +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--target=\fIbfdname\fR\fR" 4 +.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(CWsize\fR can +\&\fIbfdname\fR. This option may not be necessary; \f(CW\*(C`size\*(C'\fR can automatically recognize many formats. -.Ip "\f(CW-V\fR" 4 -.Ip "\f(CW--version\fR" 4 -Display the version number of \f(CWsize\fR. +.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" -\fIar\fR\|(1), \fIobjdump\fR\|(1), \fIreadelf\fR\|(1), and the Info entries for \fIbinutils\fR. +.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 GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "SIZE.1 1" -.IX Name "size - list section sizes and total size." - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\f(CW-A\fR" - -.IX Item "\f(CW-B\fR" - -.IX Item "\f(CW--format=\fIcompatibility\fR\fR" - -.IX Item "\f(CW--help\fR" - -.IX Item "\f(CW-d\fR" - -.IX Item "\f(CW-o\fR" - -.IX Item "\f(CW-x\fR" - -.IX Item "\f(CW--radix=\fInumber\fR\fR" - -.IX Item "\f(CW--target=\fIbfdname\fR\fR" - -.IX Item "\f(CW-V\fR" - -.IX Item "\f(CW--version\fR" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils/strings.1 binutils-2.11.90.0.8/binutils/strings.1 --- binutils-2.11.90.0.7/binutils/strings.1 Tue Mar 27 08:46:38 2001 +++ binutils-2.11.90.0.8/binutils/strings.1 Sat May 12 09:07:25 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: strings.1,v $$Revision: 1.7 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: strings.1,v $ -''' Revision 1.7 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:24 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F -.\} -.TH STRINGS.1 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,134 +117,104 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "GNU" +.UC .SH "NAME" strings \- print the strings of printable characters in files. .SH "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... +.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" -For each \fIfile\fR given, GNU \f(CWstrings\fR prints the printable +.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(CWstrings\fR is mainly useful for determining the contents of non-text +\&\f(CW\*(C`strings\*(C'\fR is mainly useful for determining the contents of non-text files. .SH "OPTIONS" -.Ip "\f(CW-a\fR" 4 -.Ip "\f(CW--all\fR" 4 -.Ip "\f(CW-\fR" 4 +.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-f\fR" 4 -.Ip "\f(CW--print-file-name\fR" 4 +.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--help\fR" 4 +.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-\fImin-len\fR\fR" 4 -.Ip "\f(CW-n \fImin-len\fR\fR" 4 -.Ip "\f(CW--bytes=\fImin-len\fR\fR" 4 +.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-o\fR" 4 -Like \fB\-t o\fR. Some other versions of \f(CWstrings\fR have \fB\-o\fR +.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-t \fIradix\fR\fR" 4 -.Ip "\f(CW--radix=\fIradix\fR\fR" 4 +.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 +character argument specifies the radix of the offset\-\--\fBo\fR for octal, \fBx\fR for hexadecimal, or \fBd\fR for decimal. -.Ip "\f(CW--target=\fIbfdname\fR\fR" 4 +.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-v\fR" 4 -.Ip "\f(CW--version\fR" 4 +.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" -\fIar\fR\|(1), \fInm\fR\|(1), \fIobjdump\fR\|(1), \fIranlib\fR\|(1), \fIreadelf\fR\|(1) +.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 GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "STRINGS.1 1" -.IX Name "strings - print the strings of printable characters in files." - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\f(CW-a\fR" - -.IX Item "\f(CW--all\fR" - -.IX Item "\f(CW-\fR" - -.IX Item "\f(CW-f\fR" - -.IX Item "\f(CW--print-file-name\fR" - -.IX Item "\f(CW--help\fR" - -.IX Item "\f(CW-\fImin-len\fR\fR" - -.IX Item "\f(CW-n \fImin-len\fR\fR" - -.IX Item "\f(CW--bytes=\fImin-len\fR\fR" - -.IX Item "\f(CW-o\fR" - -.IX Item "\f(CW-t \fIradix\fR\fR" - -.IX Item "\f(CW--radix=\fIradix\fR\fR" - -.IX Item "\f(CW--target=\fIbfdname\fR\fR" - -.IX Item "\f(CW-v\fR" - -.IX Item "\f(CW--version\fR" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils/strip.1 binutils-2.11.90.0.8/binutils/strip.1 --- binutils-2.11.90.0.7/binutils/strip.1 Tue Mar 27 08:46:38 2001 +++ binutils-2.11.90.0.8/binutils/strip.1 Sat May 12 09:07:26 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: strip.1,v $$Revision: 1.6 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: strip.1,v $ -''' Revision 1.6 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:25 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F +.\" +.\" 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 .\} -.TH STRIP.1 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,195 +117,150 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "GNU" +.UC .SH "NAME" strip \- Discard symbols from object files. .SH "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 ] +.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" -GNU \f(CWstrip\fR discards all symbols from object files -\fIobjfile\fR. The list of object files may include archives. +.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(CWstrip\fR modifies the files named in its argument, +\&\f(CW\*(C`strip\*(C'\fR modifies the files named in its argument, rather than writing modified copies under different names. .SH "OPTIONS" -.Ip "\f(CW-F \fIbfdname\fR\fR" 4 -.Ip "\f(CW--target=\fIbfdname\fR\fR" 4 +.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--help\fR" 4 -Show a summary of the options to \f(CWstrip\fR and exit. -.Ip "\f(CW-I \fIbfdname\fR \fR" 4 -.Ip "\f(CW--input-target=\fIbfdname\fR\fR" 4 +.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-O \fIbfdname\fR\fR" 4 -.Ip "\f(CW--output-target=\fIbfdname\fR\fR" 4 +.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-R \fIsectionname\fR\fR" 4 -.Ip "\f(CW--remove-section=\fIsectionname\fR\fR" 4 +.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-s\fR" 4 -.Ip "\f(CW--strip-all\fR" 4 +.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-g\fR" 4 -.Ip "\f(CW-S\fR" 4 -.Ip "\f(CW--strip-debug\fR" 4 +.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--strip-unneeded\fR" 4 +.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-K \fIsymbolname\fR\fR" 4 -.Ip "\f(CW--keep-symbol=\fIsymbolname\fR\fR" 4 +.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-N \fIsymbolname\fR\fR" 4 -.Ip "\f(CW--strip-symbol=\fIsymbolname\fR\fR" 4 +.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-K\fR. -.Ip "\f(CW-o \fIfile\fR\fR" 4 +\&\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-p\fR" 4 -.Ip "\f(CW--preserve-dates\fR" 4 +.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-x\fR" 4 -.Ip "\f(CW--discard-all\fR" 4 +.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-X\fR" 4 -.Ip "\f(CW--discard-locals\fR" 4 +.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-V\fR" 4 -.Ip "\f(CW--version\fR" 4 -Show the version number for \f(CWstrip\fR. -.Ip "\f(CW-v\fR" 4 -.Ip "\f(CW--verbose\fR" 4 +.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 GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "STRIP.1 1" -.IX Name "strip - Discard symbols from object files." - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\f(CW-F \fIbfdname\fR\fR" - -.IX Item "\f(CW--target=\fIbfdname\fR\fR" - -.IX Item "\f(CW--help\fR" - -.IX Item "\f(CW-I \fIbfdname\fR \fR" - -.IX Item "\f(CW--input-target=\fIbfdname\fR\fR" - -.IX Item "\f(CW-O \fIbfdname\fR\fR" - -.IX Item "\f(CW--output-target=\fIbfdname\fR\fR" - -.IX Item "\f(CW-R \fIsectionname\fR\fR" - -.IX Item "\f(CW--remove-section=\fIsectionname\fR\fR" - -.IX Item "\f(CW-s\fR" - -.IX Item "\f(CW--strip-all\fR" - -.IX Item "\f(CW-g\fR" - -.IX Item "\f(CW-S\fR" - -.IX Item "\f(CW--strip-debug\fR" - -.IX Item "\f(CW--strip-unneeded\fR" - -.IX Item "\f(CW-K \fIsymbolname\fR\fR" - -.IX Item "\f(CW--keep-symbol=\fIsymbolname\fR\fR" - -.IX Item "\f(CW-N \fIsymbolname\fR\fR" - -.IX Item "\f(CW--strip-symbol=\fIsymbolname\fR\fR" - -.IX Item "\f(CW-o \fIfile\fR\fR" - -.IX Item "\f(CW-p\fR" - -.IX Item "\f(CW--preserve-dates\fR" - -.IX Item "\f(CW-x\fR" - -.IX Item "\f(CW--discard-all\fR" - -.IX Item "\f(CW-X\fR" - -.IX Item "\f(CW--discard-locals\fR" - -.IX Item "\f(CW-V\fR" - -.IX Item "\f(CW--version\fR" - -.IX Item "\f(CW-v\fR" - -.IX Item "\f(CW--verbose\fR" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils/windres.1 binutils-2.11.90.0.8/binutils/windres.1 --- binutils-2.11.90.0.7/binutils/windres.1 Tue Mar 27 08:46:38 2001 +++ binutils-2.11.90.0.8/binutils/windres.1 Sat May 12 09:07:26 2001 @@ -1,12 +1,9 @@ -.rn '' }` -''' $RCSfile: windres.1,v $$Revision: 1.1 $$Date: 2001/03/25 20:32:25 $ -''' -''' $Log: windres.1,v $ -''' Revision 1.1 2001/03/25 20:32:25 nickc -''' Automate generate on man pages -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:07:26 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -14,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F +.\" +.\" 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 .\} -.TH WINDRES.1 1 "binutils-2.11.90" "23/Mar/101" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -164,214 +117,175 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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.8" "2001-05-12" "GNU" +.UC .SH "NAME" windres \- manipulate Windows resources. .SH "SYNOPSIS" +.IX Header "SYNOPSIS" windres [options] [input-file] [output-file] .SH "DESCRIPTION" -\f(CWwindres\fR reads resources from an input file and copies them into +.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(CWrc\fR" 4 +.Ip "\f(CW\*(C`rc\*(C'\fR" 4 +.IX Item "rc" A text format read by the Resource Compiler. -.Ip "\f(CWres\fR" 4 +.Ip "\f(CW\*(C`res\*(C'\fR" 4 +.IX Item "res" A binary format generated by the Resource Compiler. -.Ip "\f(CWcoff\fR" 4 +.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(CWwindres\fR converts from the \f(CWrc\fR format to the \f(CWres\fR +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(CWwindres\fR converts from the \f(CWres\fR format to the \f(CWcoff\fR -format, it is acting like the Windows \f(CWCVTRES\fR program. +\&\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(CWwindres\fR generates an \f(CWrc\fR file, the output is similar +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(CWrc\fR file refers to an external filename, an output \f(CWrc\fR file +\&\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(CWwindres\fR will +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(CWrc\fR +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(CWres\fR file, and a file with an extension of \fI.o\fR or -\&\fI.exe\fR will be treated as a \f(CWcoff\fR file. +\&\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(CWwindres\fR will print the resources -in \f(CWrc\fR format to standard output. +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(CWrc\fR file, use \f(CWwindres\fR +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(CWrc\fR file available to Windows. +\&\f(CW\*(C`rc\*(C'\fR file available to Windows. .SH "OPTIONS" -.Ip "\f(CW-i \fIfilename\fR\fR" 4 -.Ip "\f(CW--input \fIfilename\fR\fR" 4 +.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(CWwindres\fR will use the first non-option argument as the input file -name. If there are no non-option arguments, then \f(CWwindres\fR will -read from standard input. \f(CWwindres\fR can not read a \s-1COFF\s0 file from +\&\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-o \fIfilename\fR\fR" 4 -.Ip "\f(CW--output \fIfilename\fR\fR" 4 +.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(CWwindres\fR will use the first non-option argument, after any used +\&\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(CWwindres\fR will write to standard output. -\f(CWwindres\fR can not write a \s-1COFF\s0 file to standard output. -.Ip "\f(CW-I \fIformat\fR\fR" 4 -.Ip "\f(CW--input-format \fIformat\fR\fR" 4 +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(CWwindres\fR will +\&\fBcoff\fR. If no input format is specified, \f(CW\*(C`windres\*(C'\fR will guess, as described above. -.Ip "\f(CW-O \fIformat\fR\fR" 4 -.Ip "\f(CW--output-format \fIformat\fR\fR" 4 +.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(CWwindres\fR will guess, as described above. -.Ip "\f(CW-F \fItarget\fR\fR" 4 -.Ip "\f(CW--target \fItarget\fR\fR" 4 +\&\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--help\fR option to see a list -of supported targets. Normally \f(CWwindres\fR will use the default -format, which is the first one listed by the \f(CW--help\fR option. -\f(CW@ref\fR{Target Selection}. -.Ip "\f(CW--preprocessor \fIprogram\fR\fR" 4 -When \f(CWwindres\fR reads an \f(CWrc\fR file, it runs it through the C +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(CWgcc -E -xc-header -DRC_INVOKED\fR. -.Ip "\f(CW--include-dir \fIdirectory\fR\fR" 4 -Specify an include directory to use when reading an \f(CWrc\fR file. -\f(CWwindres\fR will pass this to the preprocessor as an \f(CW-I\fR -option. \f(CWwindres\fR will also search this directory when looking for -files named in the \f(CWrc\fR file. -.Ip "\f(CW-D \fItarget\fR\fR" 4 -.Ip "\f(CW--define \fIsym\fR[=\fIval\fR]\fR" 4 -Specify a \f(CW-D\fR option to pass to the preprocessor when reading an -\f(CWrc\fR file. -.Ip "\f(CW-v\fR" 4 +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--language \fIval\fR\fR" 4 -Specify the default language to use when reading an \f(CWrc\fR file. -\fIval\fR should be a hexadecimal language code. The low eight bits are +.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--use-temp-file\fR" 4 +.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--no-use-temp-file\fR" 4 +.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--help\fR" 4 +.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 +.IX Item "--help" Prints a usage summary. -.Ip "\f(CW--version\fR" 4 -Prints the version number for \f(CWwindres\fR. -.Ip "\f(CW--yydebug\fR" 4 -If \f(CWwindres\fR is compiled with \f(CWYYDEBUG\fR defined as \f(CW1\fR, +.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 GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "WINDRES.1 1" -.IX Name "windres - manipulate Windows resources." - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Item "\f(CWrc\fR" - -.IX Item "\f(CWres\fR" - -.IX Item "\f(CWcoff\fR" - -.IX Header "OPTIONS" - -.IX Item "\f(CW-i \fIfilename\fR\fR" - -.IX Item "\f(CW--input \fIfilename\fR\fR" - -.IX Item "\f(CW-o \fIfilename\fR\fR" - -.IX Item "\f(CW--output \fIfilename\fR\fR" - -.IX Item "\f(CW-I \fIformat\fR\fR" - -.IX Item "\f(CW--input-format \fIformat\fR\fR" - -.IX Item "\f(CW-O \fIformat\fR\fR" - -.IX Item "\f(CW--output-format \fIformat\fR\fR" - -.IX Item "\f(CW-F \fItarget\fR\fR" - -.IX Item "\f(CW--target \fItarget\fR\fR" - -.IX Item "\f(CW--preprocessor \fIprogram\fR\fR" - -.IX Item "\f(CW--include-dir \fIdirectory\fR\fR" - -.IX Item "\f(CW-D \fItarget\fR\fR" - -.IX Item "\f(CW--define \fIsym\fR[=\fIval\fR]\fR" - -.IX Item "\f(CW-v\fR" - -.IX Item "\f(CW--language \fIval\fR\fR" - -.IX Item "\f(CW--use-temp-file\fR" - -.IX Item "\f(CW--no-use-temp-file\fR" - -.IX Item "\f(CW--help\fR" - -.IX Item "\f(CW--version\fR" - -.IX Item "\f(CW--yydebug\fR" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/binutils.spec binutils-2.11.90.0.8/binutils.spec --- binutils-2.11.90.0.7/binutils.spec Fri Apr 27 15:06:46 2001 +++ binutils-2.11.90.0.8/binutils.spec Sat May 12 08:53:26 2001 @@ -5,12 +5,12 @@ Summary: A GNU collection of binary util Name: binutils %ifarch i386 i486 i586 i686 %if %{COFF} -Version: 2.11.90.0.7.coff +Version: 2.11.90.0.8.coff %else -Version: 2.11.90.0.7 +Version: 2.11.90.0.8 %endif %else -Version: 2.11.90.0.7 +Version: 2.11.90.0.8 %endif Release: 1 Copyright: GPL diff -uprN binutils-2.11.90.0.7/configure.in binutils-2.11.90.0.8/configure.in --- binutils-2.11.90.0.7/configure.in Fri Apr 27 14:03:40 2001 +++ binutils-2.11.90.0.8/configure.in Sat May 12 00:57:46 2001 @@ -739,7 +739,7 @@ case "${target}" in ;; i[3456]86-*-mingw32*) target_configdirs="$target_configdirs target-mingw" - noconfigdirs="$noconfigdirs expect target-libgloss target-libffi" + noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}" # Can't build gdb for mingw32 if not native. case "${host}" in @@ -750,7 +750,7 @@ case "${target}" in ;; *-*-cygwin*) target_configdirs="$target_configdirs target-libtermcap target-winsup" - noconfigdirs="$noconfigdirs target-gperf target-libgloss target-libffi" + noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}" # always build newlib. skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` @@ -785,7 +785,7 @@ case "${target}" in noconfigdirs="$noconfigdirs emacs emacs19 target-libgloss target-libffi" ;; i[3456]86-*-beos*) - noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" + noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" ;; m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*) noconfigdirs="$noconfigdirs target-libiberty target-librx target-libg++ target-libstdc++ target-libio target-libf2c target-libchill target-zlib target-libobjc" diff -uprN binutils-2.11.90.0.7/djunpack.bat binutils-2.11.90.0.8/djunpack.bat --- binutils-2.11.90.0.7/djunpack.bat Fri Apr 27 14:27:58 2001 +++ binutils-2.11.90.0.8/djunpack.bat Wed Dec 31 16:00:00 1969 @@ -1,52 +0,0 @@ -@echo off -Rem -Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line -Rem format, or else stock DOS/Windows shells will refuse to run it. -Rem -Rem This batch file unpacks the GDB distribution while simultaneously -Rem renaming some of the files whose names are invalid on DOS or conflict -Rem with other file names after truncation to DOS 8+3 namespace. -Rem -Rem Invoke like this: -Rem -Rem djunpack gdb-XYZ.tar -Rem -Rem where XYZ is the version number. If the argument includes leading -Rem directories, it MUST use backslashes, not forward slashes. -Rem -Rem The following 2 lines need to be changed with each new GDB release, to -Rem be identical to the name of the top-level directory where the GDB -Rem distribution unpacks itself. -set GDBVER=gdb-5.0 -if "%GDBVER%"=="gdb-5.0" GoTo EnvOk -Rem If their environment space is too small, re-exec with a larger one -command.com /e:4096 /c %0 %1 -GoTo End -:EnvOk -if not exist %1 GoTo NoArchive -djtar -x -p -o %GDBVER%/gdb/config/djgpp/fnchange.lst %1 > fnchange.tmp -Rem The following uses a feature of COPY whereby it does not copy -Rem empty files. We need that because the previous line will create -Rem an empty fnchange.tmp even if the command failed for some reason. -copy fnchange.tmp junk.tmp > nul -if not exist junk.tmp GoTo NoDjTar -del junk.tmp -sed -e 's,@V@,%GDBVER%,g' < fnchange.tmp > fnchange.lst -Rem See the comment above about the reason for using COPY. -copy fnchange.lst junk.tmp > nul -if not exist junk.tmp GoTo NoSed -del junk.tmp -djtar -x -n fnchange.lst %1 -GoTo End -:NoSed -echo FAIL: Sed is not available. -GoTo End -:NoDjTar -echo FAIL: DJTAR is not available or no fnchange.lst file in %1. -GoTo End -:NoArchive -echo FAIL: the file %1 does not seem to exist. -echo Remember that %1 cannot use forward slashes, only backslashes. -GoTo End -:End -set GDBVER= diff -uprN binutils-2.11.90.0.7/gas/ChangeLog binutils-2.11.90.0.8/gas/ChangeLog --- binutils-2.11.90.0.7/gas/ChangeLog Fri Apr 27 13:49:37 2001 +++ binutils-2.11.90.0.8/gas/ChangeLog Sat May 12 08:22:16 2001 @@ -1,3 +1,168 @@ +2001-05-12 Peter Targett + + * config/tc-arc.c: Update copyright and tidy source comments. + (md_pseudo_table): Add directive .cpu back as an alias for + .option. Add .file and .line for dwarf2 support. + (arc_mach_type): Make bfd_mach_arc_6 default. + (md_longopts): Add entry 'pre-v6' representing old command line + option when assembling for 'arc5' core versions. + (md_parse_option): Make OPTION_ARC same as OPTION_ARC6, for new + default behaviour. + (arc_code_symbol): Make symbol value for @h30 fixup expression + equal to O_constant. + (md_assemble): Call dwarf2_emit_insn. + Include "dwarf2dbg2.h". Formatting fixes throughout file. + * config/tc-arc.h (DWARF2_LINE_MIN_INSN_LENGTH): Define. + + * doc/c-arc.texi (ARC_CORE_DEFAULT): Update to new default. + +2001-05-11 Jakub Jelinek + + * config/tc-ia64.c (special_linkonce_name): New. + (make_unw_section): Map .gnu.linkonce.t.FOO text section into + .gnu.linkonce.ia64unw{,i}.FOO. + (ia64_elf_section_type): Handle .gnu.linkonce.ia64unw{,i}.FOO. + (dot_endp): Add comment about it. + +2001-05-11 Nick Clifton + + * config/tc-arm.c (arm_handle_align): When truncating an aligned + block, ensure that the low order bits of the alignment are + preserved. + +2001-05-10 Alan Modra + + * config/obj-vms.c (obj_crawl_symbol_chain): Don't take address of + symbol_next. + + * config/tc-fr30.c (md_estimate_size_before_relax): Return size of + current variable part of frag. + * config/tc-m32r.c (md_estimate_size_before_relax): Likewise. + * config/tc-openrisc.c (md_estimate_size_before_relax): Likewise. + * config/tc-m68hc11.c (RELAX_STATE): Define. + (RELAX_LENGTH): Define. + (md_estimate_size_before_relax): Handle non-relaxable cases + separately from relaxable cases for clarity, and return correct + size for multi-pass relaxation. + * config/tc-tahoe.c (RELAX_LENGTH): Correct. + (md_estimate_size_before_relax): As for tc-m68hc11.c. + (md_convert_frag): Remove "length_code". + * config/tc-vax.c (RELAX_STATE): Define. + (RELAX_LENGTH): Define. + (md_relax_table): Add missing entry. + (md_estimate_size_before_relax): As for tc-m68hc11.c. + (md_convert_frag): Remove "length_code". + * config/tc-ns32k.c (md_estimate_size_before_relax): Simplify and + don't bother setting fr_var. Return correct size for multi-pass + relaxation. + * config/tc-v850.c (md_estimate_size_before_relax): Rewrite. + (md_convert_frag): Don't bother clearing fr_var. + (md_pseudo_table): Correct initialization. + * config/tc-h8500.c (md_convert_frag): Don't bother clearing fr_var. + (md_estimate_size_before_relax): No need to set fr_var. + * config/tc-mcore.c (md_convert_frag): Don't bother clearing fr_var. + (md_estimate_size_before_relax): No need to set fr_var. + +2001-05-09 Richard Henderson + + * config/tc-ia64.c (generate_unwind_image): Align the fragment + beginning a function's unwind info block. + +2001-05-09 Alexandre Oliva + + * config/tc-mn10300.c (md_apply_fix3): Accept PC-relative relocs. + +2001-05-08 Andreas Schwab + + * config/tc-m68k.c: Instead of replacing -1 by 64 in assignment to + fx_pcrel_adjust explicitly sign extend when reading it. + +2001-05-08 Alan Modra + + * config/tc-m68k.c (md_estimate_size_before_relax): Set fr_var + from md_relax_table, and combine some switch cases. + +2001-05-06 Alexandre Oliva + + * config/tc-mn10300.c (md_assemble): Subtract operand->shift + from offset in non-pcrel operands too. + +2001-05-06 Nick Clifton + + * config/tc-arm.h (MAX_MEM_FOR_RS_ALIGN_CODE): Define. + * config/tc-arm.c (arm_handle_align): Do not insert more than + MAX_MEM_FOR_RS_ALIGN_CODE bytes. + (arm_frag_align_code): Use MAX_MEM_FOR_RS_ALIGN_CODE. + +2001-05-03 Thiemo Seufer + + * Makefile.am (TARG_ENV_HFILES): Add te-hppa64.h and te-hppalinux64.h. + Run "make dep-am". + * Makefile.in: Regenerate. + * configure.in: Remove duplicate mips-*-ecoff* entry. + * configure: Regenerate. + + * config/obj-ecoff.c (obj_pseudo_table): Fix terminating entry. + (n_names): Cast away type mismatch. + (ecoff_sec_sym_ok_for_reloc): Add unused attribute. + (obj_ecoff_frob_symbol): Likewise. + * ecoff.c: (add_file): Add unused attribute. + (ecoff_directive_begin): Likewise. + (ecoff_directive_bend): Likewise. + (ecoff_directive_def): Likewise. + (ecoff_directive_dim): Likewise. + (ecoff_directive_scl): Likewise. + (ecoff_directive_size): Likewise. + (ecoff_directive_type): Likewise. + (ecoff_directive_tag): Likewise. + (ecoff_directive_val): Likewise. + (ecoff_directive_endef): Likewise. + (ecoff_directive_end): Likewise. + (ecoff_directive_ent): Likewise. + (ecoff_directive_extern): Likewise. + (ecoff_directive_file): Likewise. + (ecoff_directive_fmask): Likewise. + (ecoff_directive_frame): Likewise. + (ecoff_directive_mask): Likewise. + (ecoff_directive_loc): Likewise. + (mark_stabs): Likewise. + (ecoff_stab): Likewise. + (ecoff_frob_symbol): Cast away type mismatch. + (ecoff_padding_adjust): Likewise. + (ecoff_build_symbols): Likewise. + (ecoff_build_procs): Likewise. + (ecoff_build_aux): Likewise. + (ecoff_build_strings): Likewise. + (ecoff_build_fdr): Likewise. + (ecoff_build_debug): Likewise. + * itbl-ops.c (itbl_assemble): Variable initialization. + +2001-05-03 Alan Modra + + * config/tc-i386.c (i386_displacement): Call as_bad for bad GOTOFF + expressions rather than triggering an assert. + +2001-05-02 Johan Rydberg + + * config/tc-openrisc.c: New file. + * config/tc-openrisc.h: Likewise. + + * Makefile.am: Add OpenRISC target. + * Makefile.in: Regenerated. + + * configure.in (openrisc-*-*): Add target. + * configure: Regenerated. + +2001-05-02 Nick Clifton + + * config/tc-arm.c (arm_frag_align_code): Change error message to + more explanatory version. + +2001-04-29 Keith M Wesolowski + + * config/tc-mips.c (md_parse_option): Also accept + elf64-tradbigmips and elf64-tradlittlemips for OPTION_64. + 2001-04-27 David Mosberger * config/tc-ia64.c (dot_spillmem_p): Fix output_spill_?sprel_p() diff -uprN binutils-2.11.90.0.7/gas/Makefile.am binutils-2.11.90.0.8/gas/Makefile.am --- binutils-2.11.90.0.7/gas/Makefile.am Sat Apr 7 23:03:02 2001 +++ binutils-2.11.90.0.8/gas/Makefile.am Wed May 2 23:45:32 2001 @@ -63,6 +63,7 @@ CPU_TYPES = \ mn10200 \ mn10300 \ ns32k \ + openrisc \ pdp11 \ pj \ ppc \ @@ -246,6 +247,7 @@ TARGET_CPU_CFILES = \ config/tc-mn10200.c \ config/tc-mn10300.c \ config/tc-ns32k.c \ + config/tc-openrisc.c \ config/tc-pdp11.c \ config/tc-pj.c \ config/tc-ppc.c \ @@ -288,6 +290,7 @@ TARGET_CPU_HFILES = \ config/tc-mn10200.h \ config/tc-mn10300.h \ config/tc-ns32k.h \ + config/tc-openrisc.h \ config/tc-pdp11.h \ config/tc-pj.h \ config/tc-ppc.h \ @@ -343,6 +346,8 @@ TARG_ENV_HFILES = \ config/te-go32.h \ config/te-hp300.h \ config/te-hppa.h \ + config/te-hppa64.h \ + config/te-hppalinux64.h \ config/te-i386aix.h \ config/te-ia64aix.h \ config/te-ic960.h \ @@ -929,8 +934,8 @@ AMKDEP = #DO NOT PUT ANYTHING BETWEEN TH DEPTC_a29k_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-a29k.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/a29k.h DEPTC_a29k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-a29k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/a29k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/opcode/a29k.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/a29k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/a29k.h DEPTC_a29k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-a29k.h $(INCDIR)/opcode/a29k.h @@ -965,8 +970,8 @@ DEPTC_arc_elf = $(srcdir)/config/obj-elf DEPTC_arm_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-arm.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h DEPTC_arm_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-arm.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/arm.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/arm.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h DEPTC_arm_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-arm.h subsegs.h \ @@ -1014,15 +1019,17 @@ DEPTC_fr30_elf = $(srcdir)/config/obj-el $(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/fr30-opc.h \ cgen.h DEPTC_h8300_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8300.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/h8300.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/opcode/h8300.h DEPTC_h8300_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-h8300.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/opcode/h8300.h DEPTC_h8500_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8500.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8500.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/h8500-opc.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8500.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(srcdir)/../opcodes/h8500-opc.h DEPTC_h8500_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-h8500.h subsegs.h \ @@ -1055,9 +1062,9 @@ DEPTC_i386_aout = $(srcdir)/config/obj-a $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ dwarf2dbg.h $(INCDIR)/opcode/i386.h DEPTC_i386_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i386.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h dwarf2dbg.h \ - $(INCDIR)/opcode/i386.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + dwarf2dbg.h $(INCDIR)/opcode/i386.h DEPTC_i386_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i386.h subsegs.h \ @@ -1088,9 +1095,9 @@ DEPTC_m32r_elf = $(srcdir)/config/obj-el $(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/m32r-opc.h \ cgen.h DEPTC_m68hc11_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m68hc11.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/m68hc11.h \ - dwarf2dbg.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/opcode/m68hc11.h dwarf2dbg.h DEPTC_m68hc11_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m68hc11.h subsegs.h \ @@ -1099,9 +1106,9 @@ DEPTC_m68k_aout = $(srcdir)/config/obj-a $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ subsegs.h $(INCDIR)/opcode/m68k.h $(srcdir)/config/m68k-parse.h DEPTC_m68k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m68k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h $(INCDIR)/opcode/m68k.h \ - $(srcdir)/config/m68k-parse.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h $(INCDIR)/opcode/m68k.h $(srcdir)/config/m68k-parse.h DEPTC_m68k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m68k.h $(INCDIR)/obstack.h \ @@ -1112,15 +1119,17 @@ DEPTC_m68k_hp300 = $(srcdir)/config/obj- $(INCDIR)/obstack.h subsegs.h $(INCDIR)/opcode/m68k.h \ $(srcdir)/config/m68k-parse.h DEPTC_m88k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m88k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m88k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/config/m88k-opcode.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m88k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(srcdir)/config/m88k-opcode.h DEPTC_m88k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m88k.h subsegs.h \ $(INCDIR)/obstack.h $(srcdir)/config/m88k-opcode.h DEPTC_mcore_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mcore.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/mcore.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/mcore-opc.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/mcore.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(srcdir)/../opcodes/mcore-opc.h DEPTC_mcore_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-mcore.h subsegs.h \ @@ -1133,12 +1142,12 @@ DEPTC_mips_aout = $(srcdir)/config/obj-a $(INCDIR)/elf/external.h $(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h \ ecoff.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h DEPTC_mips_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mips.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/mips.h \ - itbl-ops.h $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ - $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ - $(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h ecoff.h \ - $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/opcode/mips.h itbl-ops.h $(srcdir)/config/obj-elf.h \ + $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ + $(INCDIR)/elf/external.h $(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h \ + ecoff.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h DEPTC_mips_ecoff = $(srcdir)/config/obj-ecoff.h $(srcdir)/config/tc-mips.h \ ecoff.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h \ subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/mips.h \ @@ -1176,6 +1185,17 @@ DEPTC_ns32k_elf = $(srcdir)/config/obj-e $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-ns32k.h $(INCDIR)/opcode/ns32k.h \ $(INCDIR)/obstack.h +DEPTC_openrisc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-openrisc.h \ + $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ + subsegs.h $(INCDIR)/obstack.h $(INCDIR)/symcat.h $(srcdir)/../opcodes/openrisc-desc.h \ + $(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/openrisc-opc.h \ + cgen.h +DEPTC_openrisc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h $(srcdir)/config/tc-openrisc.h \ + subsegs.h $(INCDIR)/obstack.h $(INCDIR)/symcat.h $(srcdir)/../opcodes/openrisc-desc.h \ + $(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/openrisc-opc.h \ + cgen.h DEPTC_pdp11_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-pdp11.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/pdp11.h DEPTC_pdp11_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-pdp11.h \ @@ -1191,8 +1211,9 @@ DEPTC_pj_elf = $(srcdir)/config/obj-elf. $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-pj.h $(INCDIR)/opcode/pj.h DEPTC_ppc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-ppc.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/ppc.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/opcode/ppc.h DEPTC_ppc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-ppc.h subsegs.h \ @@ -1208,9 +1229,9 @@ DEPTC_s390_elf = $(srcdir)/config/obj-el $(INCDIR)/obstack.h struc-symbol.h $(INCDIR)/opcode/s390.h \ $(INCDIR)/elf/s390.h $(INCDIR)/elf/reloc-macros.h DEPTC_sh_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sh.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h \ - struc-symbol.h dwarf2dbg.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(srcdir)/../opcodes/sh-opc.h struc-symbol.h dwarf2dbg.h DEPTC_sh_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sh.h subsegs.h \ @@ -1220,8 +1241,9 @@ DEPTC_sparc_aout = $(srcdir)/config/obj- $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ $(INCDIR)/opcode/sparc.h DEPTC_sparc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sparc.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/sparc.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/sparc.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/sparc.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/opcode/sparc.h DEPTC_sparc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sparc.h subsegs.h \ @@ -1240,8 +1262,8 @@ DEPTC_tahoe_elf = $(srcdir)/config/obj-e DEPTC_tic30_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-tic30.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/tic30.h DEPTC_tic30_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-tic30.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic30.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/opcode/tic30.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic30.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/tic30.h DEPTC_tic30_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-tic30.h $(INCDIR)/opcode/tic30.h @@ -1257,8 +1279,8 @@ DEPTC_tic54x_elf = $(srcdir)/config/obj- $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic54x.h $(INCDIR)/coff/ti.h \ $(BFDDIR)/libcoff.h DEPTC_tic80_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-tic80.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic80.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/opcode/tic80.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic80.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/tic80.h DEPTC_tic80_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-tic80.h $(INCDIR)/opcode/tic80.h @@ -1276,8 +1298,9 @@ DEPTC_vax_vms = $(srcdir)/config/obj-vms $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(srcdir)/config/vax-inst.h \ $(INCDIR)/obstack.h $(INCDIR)/opcode/vax.h DEPTC_w65_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-w65.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/w65.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/w65-opc.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/w65.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(srcdir)/../opcodes/w65-opc.h DEPTC_w65_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-w65.h subsegs.h \ @@ -1292,7 +1315,8 @@ DEPTC_v850_elf = $(srcdir)/config/obj-el $(INCDIR)/obstack.h $(INCDIR)/opcode/v850.h dwarf2dbg.h DEPTC_z8k_coff = $(srcdir)/../opcodes/z8k-opc.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-z8k.h $(INCDIR)/coff/internal.h \ - $(INCDIR)/coff/z8k.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h + $(INCDIR)/coff/z8k.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \ + $(INCDIR)/bfdlink.h DEPTC_z8k_elf = $(srcdir)/../opcodes/z8k-opc.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-z8k.h @@ -1308,8 +1332,9 @@ DEPOBJ_a29k_aout = $(srcdir)/config/obj- $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h \ $(INCDIR)/obstack.h DEPOBJ_a29k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-a29k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/a29k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/a29k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_a29k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-a29k.h subsegs.h \ @@ -1339,8 +1364,9 @@ DEPOBJ_arm_aout = $(srcdir)/config/obj-a $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h \ $(INCDIR)/obstack.h DEPOBJ_arm_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-arm.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/arm.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/arm.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_arm_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-arm.h subsegs.h \ @@ -1381,15 +1407,17 @@ DEPOBJ_fr30_elf = $(srcdir)/config/obj-e $(INCDIR)/bfdlink.h $(srcdir)/config/tc-fr30.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_h8300_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8300.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_h8300_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-h8300.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_h8500_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8500.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8500.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8500.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_h8500_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-h8500.h subsegs.h \ @@ -1420,8 +1448,9 @@ DEPOBJ_i386_aout = $(srcdir)/config/obj- $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h \ $(INCDIR)/obstack.h DEPOBJ_i386_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i386.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_i386_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i386.h subsegs.h \ @@ -1447,8 +1476,9 @@ DEPOBJ_m32r_elf = $(srcdir)/config/obj-e $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m32r.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_m68hc11_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m68hc11.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_m68hc11_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m68hc11.h subsegs.h \ @@ -1457,8 +1487,9 @@ DEPOBJ_m68k_aout = $(srcdir)/config/obj- $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h \ $(INCDIR)/obstack.h DEPOBJ_m68k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m68k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_m68k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m68k.h subsegs.h \ @@ -1467,15 +1498,17 @@ DEPOBJ_m68k_hp300 = $(srcdir)/config/obj $(srcdir)/config/tc-m68k.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ $(INCDIR)/aout/aout64.h $(INCDIR)/obstack.h DEPOBJ_m88k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m88k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m88k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m88k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_m88k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m88k.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_mcore_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mcore.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/mcore.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/mcore.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_mcore_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-mcore.h subsegs.h \ @@ -1484,8 +1517,9 @@ DEPOBJ_mips_aout = $(srcdir)/config/obj- $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h \ $(INCDIR)/obstack.h DEPOBJ_mips_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mips.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_mips_ecoff = $(srcdir)/config/obj-ecoff.h $(srcdir)/config/tc-mips.h \ ecoff.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h \ $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ @@ -1519,6 +1553,14 @@ DEPOBJ_ns32k_elf = $(srcdir)/config/obj- $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-ns32k.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h +DEPOBJ_openrisc_coff = $(srcdir)/config/obj-coff.h \ + $(srcdir)/config/tc-openrisc.h $(INCDIR)/coff/internal.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h +DEPOBJ_openrisc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h $(srcdir)/config/tc-openrisc.h \ + subsegs.h $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_pdp11_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-pdp11.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h \ $(INCDIR)/obstack.h @@ -1537,8 +1579,9 @@ DEPOBJ_pj_elf = $(srcdir)/config/obj-elf $(INCDIR)/bfdlink.h $(srcdir)/config/tc-pj.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_ppc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-ppc.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_ppc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-ppc.h subsegs.h \ @@ -1552,8 +1595,9 @@ DEPOBJ_s390_elf = $(srcdir)/config/obj-e $(INCDIR)/bfdlink.h $(srcdir)/config/tc-s390.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_sh_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sh.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_sh_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sh.h subsegs.h \ @@ -1562,8 +1606,9 @@ DEPOBJ_sparc_aout = $(srcdir)/config/obj $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h \ $(INCDIR)/obstack.h DEPOBJ_sparc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sparc.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/sparc.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/sparc.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_sparc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sparc.h subsegs.h \ @@ -1582,8 +1627,9 @@ DEPOBJ_tic30_aout = $(srcdir)/config/obj $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h \ $(INCDIR)/obstack.h DEPOBJ_tic30_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-tic30.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic30.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic30.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_tic30_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-tic30.h subsegs.h \ @@ -1597,8 +1643,9 @@ DEPOBJ_tic54x_elf = $(srcdir)/config/obj $(INCDIR)/bfdlink.h $(srcdir)/config/tc-tic54x.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_tic80_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-tic80.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic80.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic80.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_tic80_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-tic80.h subsegs.h \ @@ -1617,8 +1664,9 @@ DEPOBJ_vax_vms = $(srcdir)/config/obj-vm $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def subsegs.h \ $(INCDIR)/obstack.h DEPOBJ_w65_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-w65.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/w65.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/w65.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_w65_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-w65.h subsegs.h \ @@ -1631,8 +1679,9 @@ DEPOBJ_v850_elf = $(srcdir)/config/obj-e $(INCDIR)/bfdlink.h $(srcdir)/config/tc-v850.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_z8k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-z8k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/z8k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/z8k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_z8k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-z8k.h subsegs.h \ @@ -1648,8 +1697,8 @@ DEPOBJ_cris_multi = $(DEPOBJ_cris_aout) DEP_a29k_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-a29k.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_a29k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-a29k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/a29k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/a29k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_a29k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-a29k.h @@ -1669,8 +1718,8 @@ DEP_arc_elf = $(srcdir)/config/obj-elf.h DEP_arm_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-arm.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_arm_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-arm.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/arm.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/arm.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_arm_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-arm.h @@ -1700,14 +1749,14 @@ DEP_fr30_elf = $(srcdir)/config/obj-elf. $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-fr30.h DEP_h8300_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8300.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_h8300_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-h8300.h DEP_h8500_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8500.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8500.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8500.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_h8500_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-h8500.h @@ -1730,8 +1779,8 @@ DEP_i370_elf = $(srcdir)/config/obj-elf. DEP_i386_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-i386.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_i386_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i386.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_i386_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i386.h @@ -1751,38 +1800,38 @@ DEP_m32r_elf = $(srcdir)/config/obj-elf. $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m32r.h DEP_m68hc11_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m68hc11.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_m68hc11_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m68hc11.h DEP_m68k_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-m68k.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_m68k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m68k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_m68k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m68k.h DEP_m68k_hp300 = $(srcdir)/config/obj-hp300.h $(srcdir)/config/obj-aout.h \ $(srcdir)/config/tc-m68k.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_m88k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m88k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m88k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m88k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_m88k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m88k.h DEP_mcore_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mcore.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/mcore.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/mcore.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_mcore_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-mcore.h DEP_mips_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-mips.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_mips_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mips.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_mips_ecoff = $(srcdir)/config/obj-ecoff.h $(srcdir)/config/tc-mips.h \ ecoff.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h DEP_mips_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ @@ -1805,6 +1854,11 @@ DEP_ns32k_coff = $(srcdir)/config/obj-co DEP_ns32k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-ns32k.h +DEP_openrisc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-openrisc.h \ + $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h +DEP_openrisc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h $(srcdir)/config/tc-openrisc.h DEP_pdp11_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-pdp11.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_pdp11_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-pdp11.h \ @@ -1818,8 +1872,8 @@ DEP_pj_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-pj.h DEP_ppc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-ppc.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_ppc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-ppc.h @@ -1829,16 +1883,16 @@ DEP_s390_elf = $(srcdir)/config/obj-elf. $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-s390.h DEP_sh_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sh.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_sh_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sh.h DEP_sparc_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-sparc.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_sparc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sparc.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/sparc.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/sparc.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_sparc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sparc.h @@ -1852,8 +1906,8 @@ DEP_tahoe_elf = $(srcdir)/config/obj-elf DEP_tic30_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-tic30.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_tic30_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-tic30.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic30.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic30.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_tic30_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-tic30.h @@ -1864,8 +1918,8 @@ DEP_tic54x_elf = $(srcdir)/config/obj-el $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-tic54x.h DEP_tic80_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-tic80.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic80.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic80.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_tic80_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-tic80.h @@ -1879,8 +1933,8 @@ DEP_vax_elf = $(srcdir)/config/obj-elf.h DEP_vax_vms = $(srcdir)/config/obj-vms.h $(srcdir)/config/tc-vax.h \ $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def DEP_w65_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-w65.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/w65.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/w65.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_w65_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-w65.h @@ -1890,8 +1944,8 @@ DEP_v850_elf = $(srcdir)/config/obj-elf. $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-v850.h DEP_z8k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-z8k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/z8k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/z8k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_z8k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-z8k.h diff -uprN binutils-2.11.90.0.7/gas/Makefile.in binutils-2.11.90.0.8/gas/Makefile.in --- binutils-2.11.90.0.7/gas/Makefile.in Tue Apr 24 09:28:58 2001 +++ binutils-2.11.90.0.8/gas/Makefile.in Wed May 2 23:45:32 2001 @@ -174,6 +174,7 @@ CPU_TYPES = \ mn10200 \ mn10300 \ ns32k \ + openrisc \ pdp11 \ pj \ ppc \ @@ -363,6 +364,7 @@ TARGET_CPU_CFILES = \ config/tc-mn10200.c \ config/tc-mn10300.c \ config/tc-ns32k.c \ + config/tc-openrisc.c \ config/tc-pdp11.c \ config/tc-pj.c \ config/tc-ppc.c \ @@ -406,6 +408,7 @@ TARGET_CPU_HFILES = \ config/tc-mn10200.h \ config/tc-mn10300.h \ config/tc-ns32k.h \ + config/tc-openrisc.h \ config/tc-pdp11.h \ config/tc-pj.h \ config/tc-ppc.h \ @@ -464,6 +467,8 @@ TARG_ENV_HFILES = \ config/te-go32.h \ config/te-hp300.h \ config/te-hppa.h \ + config/te-hppa64.h \ + config/te-hppalinux64.h \ config/te-i386aix.h \ config/te-ia64aix.h \ config/te-ic960.h \ @@ -637,8 +642,8 @@ DEPTC_a29k_aout = $(srcdir)/config/obj-a $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/a29k.h DEPTC_a29k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-a29k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/a29k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/opcode/a29k.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/a29k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/a29k.h DEPTC_a29k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -682,8 +687,8 @@ DEPTC_arm_aout = $(srcdir)/config/obj-ao $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h DEPTC_arm_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-arm.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/arm.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/arm.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h DEPTC_arm_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -743,8 +748,9 @@ DEPTC_fr30_elf = $(srcdir)/config/obj-el cgen.h DEPTC_h8300_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8300.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/h8300.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/opcode/h8300.h DEPTC_h8300_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -752,8 +758,9 @@ DEPTC_h8300_elf = $(srcdir)/config/obj-e $(INCDIR)/obstack.h $(INCDIR)/opcode/h8300.h DEPTC_h8500_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8500.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8500.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/h8500-opc.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8500.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(srcdir)/../opcodes/h8500-opc.h DEPTC_h8500_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -795,9 +802,9 @@ DEPTC_i386_aout = $(srcdir)/config/obj-a dwarf2dbg.h $(INCDIR)/opcode/i386.h DEPTC_i386_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i386.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h dwarf2dbg.h \ - $(INCDIR)/opcode/i386.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + dwarf2dbg.h $(INCDIR)/opcode/i386.h DEPTC_i386_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -836,9 +843,9 @@ DEPTC_m32r_elf = $(srcdir)/config/obj-el cgen.h DEPTC_m68hc11_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m68hc11.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/m68hc11.h \ - dwarf2dbg.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/opcode/m68hc11.h dwarf2dbg.h DEPTC_m68hc11_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -850,9 +857,9 @@ DEPTC_m68k_aout = $(srcdir)/config/obj-a subsegs.h $(INCDIR)/opcode/m68k.h $(srcdir)/config/m68k-parse.h DEPTC_m68k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m68k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h $(INCDIR)/opcode/m68k.h \ - $(srcdir)/config/m68k-parse.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h $(INCDIR)/opcode/m68k.h $(srcdir)/config/m68k-parse.h DEPTC_m68k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -866,8 +873,9 @@ DEPTC_m68k_hp300 = $(srcdir)/config/obj- $(srcdir)/config/m68k-parse.h DEPTC_m88k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m88k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m88k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/config/m88k-opcode.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m88k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(srcdir)/config/m88k-opcode.h DEPTC_m88k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -875,8 +883,9 @@ DEPTC_m88k_elf = $(srcdir)/config/obj-el $(INCDIR)/obstack.h $(srcdir)/config/m88k-opcode.h DEPTC_mcore_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mcore.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/mcore.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/mcore-opc.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/mcore.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(srcdir)/../opcodes/mcore-opc.h DEPTC_mcore_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -892,12 +901,12 @@ DEPTC_mips_aout = $(srcdir)/config/obj-a ecoff.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h DEPTC_mips_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mips.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/mips.h \ - itbl-ops.h $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ - $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ - $(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h ecoff.h \ - $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/opcode/mips.h itbl-ops.h $(srcdir)/config/obj-elf.h \ + $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ + $(INCDIR)/elf/external.h $(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h \ + ecoff.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h DEPTC_mips_ecoff = $(srcdir)/config/obj-ecoff.h $(srcdir)/config/tc-mips.h \ ecoff.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h \ @@ -945,6 +954,19 @@ DEPTC_ns32k_elf = $(srcdir)/config/obj-e $(INCDIR)/bfdlink.h $(srcdir)/config/tc-ns32k.h $(INCDIR)/opcode/ns32k.h \ $(INCDIR)/obstack.h +DEPTC_openrisc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-openrisc.h \ + $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ + subsegs.h $(INCDIR)/obstack.h $(INCDIR)/symcat.h $(srcdir)/../opcodes/openrisc-desc.h \ + $(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/openrisc-opc.h \ + cgen.h + +DEPTC_openrisc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h $(srcdir)/config/tc-openrisc.h \ + subsegs.h $(INCDIR)/obstack.h $(INCDIR)/symcat.h $(srcdir)/../opcodes/openrisc-desc.h \ + $(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/openrisc-opc.h \ + cgen.h + DEPTC_pdp11_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-pdp11.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/pdp11.h @@ -965,8 +987,9 @@ DEPTC_pj_elf = $(srcdir)/config/obj-elf. $(INCDIR)/bfdlink.h $(srcdir)/config/tc-pj.h $(INCDIR)/opcode/pj.h DEPTC_ppc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-ppc.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/ppc.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/opcode/ppc.h DEPTC_ppc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -986,9 +1009,9 @@ DEPTC_s390_elf = $(srcdir)/config/obj-el $(INCDIR)/elf/s390.h $(INCDIR)/elf/reloc-macros.h DEPTC_sh_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sh.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h \ - struc-symbol.h dwarf2dbg.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(srcdir)/../opcodes/sh-opc.h struc-symbol.h dwarf2dbg.h DEPTC_sh_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1001,8 +1024,9 @@ DEPTC_sparc_aout = $(srcdir)/config/obj- $(INCDIR)/opcode/sparc.h DEPTC_sparc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sparc.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/sparc.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/sparc.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/sparc.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/opcode/sparc.h DEPTC_sparc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1027,8 +1051,8 @@ DEPTC_tic30_aout = $(srcdir)/config/obj- $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/tic30.h DEPTC_tic30_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-tic30.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic30.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/opcode/tic30.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic30.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/tic30.h DEPTC_tic30_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1048,8 +1072,8 @@ DEPTC_tic54x_elf = $(srcdir)/config/obj- $(BFDDIR)/libcoff.h DEPTC_tic80_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-tic80.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic80.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/opcode/tic80.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic80.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/tic80.h DEPTC_tic80_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1073,8 +1097,9 @@ DEPTC_vax_vms = $(srcdir)/config/obj-vms $(INCDIR)/obstack.h $(INCDIR)/opcode/vax.h DEPTC_w65_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-w65.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/w65.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/w65-opc.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/w65.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ + $(srcdir)/../opcodes/w65-opc.h DEPTC_w65_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1093,7 +1118,8 @@ DEPTC_v850_elf = $(srcdir)/config/obj-el DEPTC_z8k_coff = $(srcdir)/../opcodes/z8k-opc.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-z8k.h $(INCDIR)/coff/internal.h \ - $(INCDIR)/coff/z8k.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h + $(INCDIR)/coff/z8k.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \ + $(INCDIR)/bfdlink.h DEPTC_z8k_elf = $(srcdir)/../opcodes/z8k-opc.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ @@ -1115,8 +1141,9 @@ DEPOBJ_a29k_aout = $(srcdir)/config/obj- $(INCDIR)/obstack.h DEPOBJ_a29k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-a29k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/a29k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/a29k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_a29k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1154,8 +1181,9 @@ DEPOBJ_arm_aout = $(srcdir)/config/obj-a $(INCDIR)/obstack.h DEPOBJ_arm_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-arm.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/arm.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/arm.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_arm_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1208,8 +1236,9 @@ DEPOBJ_fr30_elf = $(srcdir)/config/obj-e $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_h8300_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8300.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_h8300_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1217,8 +1246,9 @@ DEPOBJ_h8300_elf = $(srcdir)/config/obj- $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_h8500_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8500.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8500.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8500.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_h8500_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1258,8 +1288,9 @@ DEPOBJ_i386_aout = $(srcdir)/config/obj- $(INCDIR)/obstack.h DEPOBJ_i386_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i386.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_i386_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1293,8 +1324,9 @@ DEPOBJ_m32r_elf = $(srcdir)/config/obj-e $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_m68hc11_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m68hc11.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_m68hc11_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1306,8 +1338,9 @@ DEPOBJ_m68k_aout = $(srcdir)/config/obj- $(INCDIR)/obstack.h DEPOBJ_m68k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m68k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_m68k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1319,8 +1352,9 @@ DEPOBJ_m68k_hp300 = $(srcdir)/config/obj $(INCDIR)/aout/aout64.h $(INCDIR)/obstack.h DEPOBJ_m88k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m88k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m88k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m88k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_m88k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1328,8 +1362,9 @@ DEPOBJ_m88k_elf = $(srcdir)/config/obj-e $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_mcore_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mcore.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/mcore.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/mcore.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_mcore_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1341,8 +1376,9 @@ DEPOBJ_mips_aout = $(srcdir)/config/obj- $(INCDIR)/obstack.h DEPOBJ_mips_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mips.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_mips_ecoff = $(srcdir)/config/obj-ecoff.h $(srcdir)/config/tc-mips.h \ ecoff.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h \ @@ -1386,6 +1422,16 @@ DEPOBJ_ns32k_elf = $(srcdir)/config/obj- $(INCDIR)/bfdlink.h $(srcdir)/config/tc-ns32k.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h +DEPOBJ_openrisc_coff = $(srcdir)/config/obj-coff.h \ + $(srcdir)/config/tc-openrisc.h $(INCDIR)/coff/internal.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h + +DEPOBJ_openrisc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h $(srcdir)/config/tc-openrisc.h \ + subsegs.h $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h + DEPOBJ_pdp11_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-pdp11.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h \ $(INCDIR)/obstack.h @@ -1409,8 +1455,9 @@ DEPOBJ_pj_elf = $(srcdir)/config/obj-elf $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_ppc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-ppc.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_ppc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1428,8 +1475,9 @@ DEPOBJ_s390_elf = $(srcdir)/config/obj-e $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_sh_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sh.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_sh_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1441,8 +1489,9 @@ DEPOBJ_sparc_aout = $(srcdir)/config/obj $(INCDIR)/obstack.h DEPOBJ_sparc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sparc.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/sparc.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/sparc.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_sparc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1467,8 +1516,9 @@ DEPOBJ_tic30_aout = $(srcdir)/config/obj $(INCDIR)/obstack.h DEPOBJ_tic30_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-tic30.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic30.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic30.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_tic30_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1486,8 +1536,9 @@ DEPOBJ_tic54x_elf = $(srcdir)/config/obj $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_tic80_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-tic80.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic80.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic80.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_tic80_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1512,8 +1563,9 @@ DEPOBJ_vax_vms = $(srcdir)/config/obj-vm $(INCDIR)/obstack.h DEPOBJ_w65_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-w65.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/w65.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/w65.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_w65_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1530,8 +1582,9 @@ DEPOBJ_v850_elf = $(srcdir)/config/obj-e $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h DEPOBJ_z8k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-z8k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/z8k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h subsegs.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/z8k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h DEPOBJ_z8k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1553,8 +1606,8 @@ DEP_a29k_aout = $(srcdir)/config/obj-aou $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_a29k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-a29k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/a29k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/a29k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_a29k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1582,8 +1635,8 @@ DEP_arm_aout = $(srcdir)/config/obj-aout $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_arm_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-arm.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/arm.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/arm.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_arm_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1625,16 +1678,16 @@ DEP_fr30_elf = $(srcdir)/config/obj-elf. $(INCDIR)/bfdlink.h $(srcdir)/config/tc-fr30.h DEP_h8300_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8300.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_h8300_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-h8300.h DEP_h8500_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8500.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8500.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8500.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_h8500_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1666,8 +1719,8 @@ DEP_i386_aout = $(srcdir)/config/obj-aou $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_i386_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i386.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_i386_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1694,8 +1747,8 @@ DEP_m32r_elf = $(srcdir)/config/obj-elf. $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m32r.h DEP_m68hc11_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m68hc11.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_m68hc11_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1705,8 +1758,8 @@ DEP_m68k_aout = $(srcdir)/config/obj-aou $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_m68k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m68k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_m68k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1716,16 +1769,16 @@ DEP_m68k_hp300 = $(srcdir)/config/obj-hp $(srcdir)/config/tc-m68k.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_m88k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-m88k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/m88k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/m88k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_m88k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m88k.h DEP_mcore_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mcore.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/mcore.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/mcore.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_mcore_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1735,8 +1788,8 @@ DEP_mips_aout = $(srcdir)/config/obj-aou $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_mips_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mips.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_mips_ecoff = $(srcdir)/config/obj-ecoff.h $(srcdir)/config/tc-mips.h \ ecoff.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h @@ -1769,6 +1822,13 @@ DEP_ns32k_elf = $(srcdir)/config/obj-elf $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-ns32k.h +DEP_openrisc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-openrisc.h \ + $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h + +DEP_openrisc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/bfdlink.h $(srcdir)/config/tc-openrisc.h + DEP_pdp11_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-pdp11.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h @@ -1787,8 +1847,8 @@ DEP_pj_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-pj.h DEP_ppc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-ppc.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_ppc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1802,8 +1862,8 @@ DEP_s390_elf = $(srcdir)/config/obj-elf. $(INCDIR)/bfdlink.h $(srcdir)/config/tc-s390.h DEP_sh_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sh.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_sh_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1813,8 +1873,8 @@ DEP_sparc_aout = $(srcdir)/config/obj-ao $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_sparc_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sparc.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/sparc.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/sparc.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_sparc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1834,8 +1894,8 @@ DEP_tic30_aout = $(srcdir)/config/obj-ao $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_tic30_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-tic30.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic30.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic30.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_tic30_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1850,8 +1910,8 @@ DEP_tic54x_elf = $(srcdir)/config/obj-el $(INCDIR)/bfdlink.h $(srcdir)/config/tc-tic54x.h DEP_tic80_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-tic80.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic80.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/tic80.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_tic80_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1871,8 +1931,8 @@ DEP_vax_vms = $(srcdir)/config/obj-vms.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def DEP_w65_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-w65.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/w65.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/w65.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_w65_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1886,8 +1946,8 @@ DEP_v850_elf = $(srcdir)/config/obj-elf. $(INCDIR)/bfdlink.h $(srcdir)/config/tc-v850.h DEP_z8k_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-z8k.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/z8k.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h + $(INCDIR)/coff/internal.h $(INCDIR)/coff/z8k.h $(INCDIR)/coff/external.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_z8k_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1948,7 +2008,7 @@ configure configure.in gdbinit.in itbl-l DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = gtar +TAR = tar 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) diff -uprN binutils-2.11.90.0.7/gas/config/obj-ecoff.c binutils-2.11.90.0.8/gas/config/obj-ecoff.c --- binutils-2.11.90.0.7/gas/config/obj-ecoff.c Fri Mar 9 11:38:15 2001 +++ binutils-2.11.90.0.8/gas/config/obj-ecoff.c Wed May 2 23:45:35 2001 @@ -1,5 +1,5 @@ /* ECOFF object file format. - Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2000 + Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. Contributed by Cygnus Support. This file was put together by Ian Lance Taylor . @@ -95,7 +95,7 @@ const pseudo_typeS obj_pseudo_table[] = { "verstamp", s_ignore, 0 }, /* Sentinel. */ - { NULL } + { NULL, s_ignore, 0 } }; /* Swap out the symbols and debugging information for BFD. */ @@ -141,7 +141,7 @@ ecoff_frob_file () /* bss segment */ ".sbss", ".bss", }; -#define n_names (sizeof (names) / sizeof (names[0])) +#define n_names ((int) (sizeof (names) / sizeof (names[0]))) addr = 0; { @@ -272,7 +272,7 @@ obj_ecoff_set_ext (sym, ext) static int ecoff_sec_sym_ok_for_reloc (sec) - asection *sec; + asection *sec ATTRIBUTE_UNUSED; { return 1; } @@ -280,7 +280,7 @@ ecoff_sec_sym_ok_for_reloc (sec) static void obj_ecoff_frob_symbol (sym, puntp) symbolS *sym; - int *puntp; + int *puntp ATTRIBUTE_UNUSED; { ecoff_frob_symbol (sym); } diff -uprN binutils-2.11.90.0.7/gas/config/obj-vms.c binutils-2.11.90.0.8/gas/config/obj-vms.c --- binutils-2.11.90.0.7/gas/config/obj-vms.c Thu Mar 29 23:28:46 2001 +++ binutils-2.11.90.0.8/gas/config/obj-vms.c Sat May 12 00:06:25 2001 @@ -552,7 +552,7 @@ obj_crawl_symbol_chain (headers) { symbolP->sy_number = symbol_number++; symbolP->sy_name_offset = 0; - symbolPP = &(symbol_next (symbolP)); + symbolPP = &symbolP->sy_next; } else { diff -uprN binutils-2.11.90.0.7/gas/config/tc-arc.c binutils-2.11.90.0.8/gas/config/tc-arc.c --- binutils-2.11.90.0.7/gas/config/tc-arc.c Fri Mar 9 11:16:50 2001 +++ binutils-2.11.90.0.8/gas/config/tc-arc.c Sat May 12 08:22:37 2001 @@ -28,6 +28,7 @@ #include "opcode/arc.h" #include "../opcodes/arc-ext.h" #include "elf/arc.h" +#include "dwarf2dbg.h" extern int arc_get_mach PARAMS ((char *)); extern int arc_operand_type PARAMS ((int)); @@ -76,7 +77,7 @@ const struct syntax_classes { #define MAXSYNTAXCLASS (sizeof (syntaxclass) / sizeof (struct syntax_classes)) const pseudo_typeS md_pseudo_table[] = { - { "align", s_align_bytes, 0 }, /* Defaulting is invalid (0) */ + { "align", s_align_bytes, 0 }, /* Defaulting is invalid (0). */ { "comm", arc_common, 0 }, { "common", arc_common, 0 }, { "lcomm", arc_common, 1 }, @@ -88,7 +89,10 @@ const pseudo_typeS md_pseudo_table[] = { { "4byte", cons, 4 }, { "word", cons, 4 }, { "option", arc_option, 0 }, + { "cpu", arc_option, 0 }, { "block", s_space, 0 }, + { "file", dwarf2_directive_file, 0 }, + { "loc", dwarf2_directive_loc, 0 }, { "extcondcode", arc_extoper, 0 }, { "extcoreregister", arc_extoper, 1 }, { "extauxregister", arc_extoper, 2 }, @@ -97,7 +101,7 @@ const pseudo_typeS md_pseudo_table[] = { }; /* This array holds the chars that always start a comment. If the - pre-processor is disabled, these aren't very useful */ + pre-processor is disabled, these aren't very useful. */ const char comment_chars[] = "#;"; /* This array holds the chars that only start a comment at the beginning of @@ -112,12 +116,11 @@ const char line_comment_chars[] = "#"; const char line_separator_chars[] = ""; -/* Chars that can be used to separate mant from exp in floating point nums */ +/* Chars that can be used to separate mant from exp in floating point nums. */ const char EXP_CHARS[] = "eE"; -/* Chars that mean this number is a floating point constant */ -/* As in 0f12.456 */ -/* or 0d1.2345e12 */ +/* Chars that mean this number is a floating point constant + As in 0f12.456 or 0d1.2345e12. */ const char FLT_CHARS[] = "rRsSfFdD"; /* Byte order. */ @@ -128,13 +131,13 @@ static int byte_order = DEFAULT_BYTE_ORD static segT arcext_section; /* One of bfd_mach_arc_n. */ -static int arc_mach_type = bfd_mach_arc_5; +static int arc_mach_type = bfd_mach_arc_6; /* Non-zero if the cpu type has been explicitly specified. */ static int mach_type_specified_p = 0; /* Non-zero if opcode tables have been initialized. - A .cpu command must appear before any instructions. */ + A .option command must appear before any instructions. */ static int cpu_tables_init_p = 0; static struct hash_control *arc_suffix_hash = NULL; @@ -142,19 +145,20 @@ static struct hash_control *arc_suffix_h const char *md_shortopts = ""; struct option md_longopts[] = { #define OPTION_EB (OPTION_MD_BASE + 0) - {"EB", no_argument, NULL, OPTION_EB}, + { "EB", no_argument, NULL, OPTION_EB }, #define OPTION_EL (OPTION_MD_BASE + 1) - {"EL", no_argument, NULL, OPTION_EL}, + { "EL", no_argument, NULL, OPTION_EL }, #define OPTION_ARC5 (OPTION_MD_BASE + 2) - {"marc5", no_argument, NULL, OPTION_ARC5}, + { "marc5", no_argument, NULL, OPTION_ARC5 }, + { "pre-v6", no_argument, NULL, OPTION_ARC5 }, #define OPTION_ARC6 (OPTION_MD_BASE + 3) - {"marc6", no_argument, NULL, OPTION_ARC6}, + { "marc6", no_argument, NULL, OPTION_ARC6 }, #define OPTION_ARC7 (OPTION_MD_BASE + 4) - {"marc7", no_argument, NULL, OPTION_ARC7}, + { "marc7", no_argument, NULL, OPTION_ARC7 }, #define OPTION_ARC8 (OPTION_MD_BASE + 5) - {"marc8", no_argument, NULL, OPTION_ARC8}, + { "marc8", no_argument, NULL, OPTION_ARC8 }, #define OPTION_ARC (OPTION_MD_BASE + 6) - {"marc", no_argument, NULL, OPTION_ARC}, + { "marc", no_argument, NULL, OPTION_ARC }, { NULL, no_argument, NULL, 0 } }; size_t md_longopts_size = sizeof (md_longopts); @@ -174,10 +178,10 @@ md_parse_option (c, arg) { switch (c) { - case OPTION_ARC: case OPTION_ARC5: arc_mach_type = bfd_mach_arc_5; break; + case OPTION_ARC: case OPTION_ARC6: arc_mach_type = bfd_mach_arc_6; break; @@ -214,7 +218,7 @@ ARC Options:\n\ /* This function is called once, at assembler startup time. It should set up all the tables, etc. that the MD part of the assembler will need. - Opcode selection is defered until later because we might see a .cpu + Opcode selection is deferred until later because we might see a .option command. */ void @@ -226,16 +230,14 @@ md_begin () if (!bfd_set_arch_mach (stdoutput, bfd_arch_arc, arc_mach_type)) as_warn ("could not set architecture and machine"); - /* This call is necessary because we need to - initialize `arc_operand_map' which may be needed before we see the - first insn. */ + /* This call is necessary because we need to initialize `arc_operand_map' + which may be needed before we see the first insn. */ arc_opcode_init_tables (arc_get_opcode_mach (arc_mach_type, target_big_endian)); } /* Initialize the various opcode and operand tables. MACH is one of bfd_mach_arc_xxx. */ - static void init_opcode_tables (mach) int mach; @@ -277,8 +279,10 @@ init_opcode_tables (mach) continue; /* Use symbol_create here instead of symbol_new so we don't try to output registers into the object file's symbol table. */ - symbol_table_insert (symbol_create (arc_reg_names[i].name, reg_section, - (int) &arc_reg_names[i], &zero_address_frag)); + symbol_table_insert (symbol_create (arc_reg_names[i].name, + reg_section, + (int) &arc_reg_names[i], + &zero_address_frag)); } /* Tell `.option' it's too late. */ @@ -357,7 +361,7 @@ arc_insert_operand (insn, operand, mods, that would screw up references to ``.''. */ struct arc_fixup { - /* index into `arc_operands' */ + /* index into `arc_operands' */ int opindex; expressionS exp; }; @@ -381,7 +385,7 @@ md_assemble (str) static int init_tables_p = 0; /* Opcode table initialization is deferred until here because we have to - wait for a possible .cpu command. */ + wait for a possible .option command. */ if (!init_tables_p) { init_opcode_tables (arc_mach_type); @@ -866,6 +870,8 @@ md_assemble (str) (bfd_reloc_code_real_type) reloc_type); } + dwarf2_emit_insn (4); + /* All done. */ return; } @@ -912,7 +918,7 @@ arc_extoper (opertype) p++; } - /* just after name is now '\0' */ + /* just after name is now '\0' */ p = input_line_pointer; *p = c; SKIP_WHITESPACE (); @@ -925,7 +931,7 @@ arc_extoper (opertype) return; } - input_line_pointer++; /* skip ',' */ + input_line_pointer++; /* skip ',' */ number = get_absolute_expression (); if (number < 0) @@ -948,7 +954,7 @@ arc_extoper (opertype) return; } - input_line_pointer++; /* skip ',' */ + input_line_pointer++; /* skip ',' */ mode = input_line_pointer; if (!strncmp (mode, "r|w", 3)) @@ -990,7 +996,7 @@ arc_extoper (opertype) return; } - input_line_pointer++; /* skip ',' */ + input_line_pointer++; /* skip ',' */ if (!strncmp (input_line_pointer, "cannot_shortcut", 15)) { @@ -1155,7 +1161,7 @@ arc_extinst (ignore) strcpy (syntax, name); name_len = strlen (name); - /* just after name is now '\0' */ + /* just after name is now '\0' */ p = input_line_pointer; *p = c; @@ -1168,7 +1174,7 @@ arc_extinst (ignore) return; } - input_line_pointer++; /* skip ',' */ + input_line_pointer++; /* skip ',' */ opcode = get_absolute_expression (); SKIP_WHITESPACE (); @@ -1180,7 +1186,7 @@ arc_extinst (ignore) return; } - input_line_pointer++; /* skip ',' */ + input_line_pointer++; /* skip ',' */ subopcode = get_absolute_expression (); if (subopcode < 0) @@ -1218,7 +1224,7 @@ arc_extinst (ignore) return; } - input_line_pointer++; /* skip ',' */ + input_line_pointer++; /* skip ',' */ for (i = 0; i < (int) MAXSUFFIXCLASS; i++) { @@ -1246,7 +1252,7 @@ arc_extinst (ignore) return; } - input_line_pointer++; /* skip ',' */ + input_line_pointer++; /* skip ',' */ for (i = 0; i < (int) MAXSYNTAXCLASS; i++) { @@ -1373,7 +1379,7 @@ arc_common (localScope) name = input_line_pointer; c = get_symbol_end (); - /* just after name is now '\0' */ + /* just after name is now '\0' */ p = input_line_pointer; *p = c; SKIP_WHITESPACE (); @@ -1385,7 +1391,7 @@ arc_common (localScope) return; } - input_line_pointer++; /* skip ',' */ + input_line_pointer++; /* skip ',' */ size = get_absolute_expression (); if (size < 0) @@ -1437,7 +1443,7 @@ arc_common (localScope) old_sec = now_seg; old_subsec = now_subseg; record_alignment (bss_section, align); - subseg_set (bss_section, 0); /* ??? subseg_set (bss_section, 1); ??? */ + subseg_set (bss_section, 0); /* ??? subseg_set (bss_section, 1); ??? */ if (align) /* Do alignment. */ @@ -1631,12 +1637,13 @@ arc_code_symbol (expressionP) { expressionS two; expressionP->X_op = O_right_shift; + expressionP->X_add_symbol->sy_value.X_op = O_constant; two.X_op = O_constant; two.X_add_symbol = two.X_op_symbol = NULL; two.X_add_number = 2; expressionP->X_op_symbol = make_expr_symbol (&two); } - /* Allow %st(sym1-sym2) */ + /* Allow %st(sym1-sym2) */ else if (expressionP->X_op == O_subtract && expressionP->X_add_symbol != NULL && expressionP->X_op_symbol != NULL @@ -1687,7 +1694,8 @@ md_operand (expressionP) arc_code_symbol (expressionP); } else - { /* It could be a register. */ + { + /* It could be a register. */ int i, l; struct arc_ext_operand_value *ext_oper = arc_ext_operands; p++; diff -uprN binutils-2.11.90.0.7/gas/config/tc-arc.h binutils-2.11.90.0.8/gas/config/tc-arc.h --- binutils-2.11.90.0.7/gas/config/tc-arc.h Fri Mar 9 11:16:50 2001 +++ binutils-2.11.90.0.8/gas/config/tc-arc.h Sat May 12 08:22:37 2001 @@ -66,3 +66,5 @@ arc_parse_cons_expression (EXP, NBYTES) extern void arc_cons_fix_new (); #define TC_CONS_FIX_NEW(FRAG, WHERE, NBYTES, EXP) \ arc_cons_fix_new (FRAG, WHERE, NBYTES, EXP) + +#define DWARF2_LINE_MIN_INSN_LENGTH 4 diff -uprN binutils-2.11.90.0.7/gas/config/tc-arm.c binutils-2.11.90.0.8/gas/config/tc-arm.c --- binutils-2.11.90.0.7/gas/config/tc-arm.c Fri Apr 27 13:50:07 2001 +++ binutils-2.11.90.0.8/gas/config/tc-arm.c Sat May 12 00:06:28 2001 @@ -1279,6 +1279,17 @@ add_to_lit_pool () == inst.reloc.exp.X_add_number) && literals[lit_count].exp.X_unsigned == inst.reloc.exp.X_unsigned) break; + + if (literals[lit_count].exp.X_op == inst.reloc.exp.X_op + && inst.reloc.exp.X_op == O_symbol + && (literals[lit_count].exp.X_add_number + == inst.reloc.exp.X_add_number) + && (literals[lit_count].exp.X_add_symbol + == inst.reloc.exp.X_add_symbol) + && (literals[lit_count].exp.X_op_symbol + == inst.reloc.exp.X_op_symbol)) + break; + lit_count++; } @@ -8785,8 +8796,8 @@ s_arm_elf_cons (nbytes) of an rs_align_code fragment. */ void -arm_handle_align (fragp) - fragS *fragp; +arm_handle_align (fragP) + fragS *fragP; { static char const arm_noop[4] = { 0x00, 0x00, 0xa0, 0xe1 }; static char const thumb_noop[2] = { 0xc0, 0x46 }; @@ -8797,14 +8808,17 @@ arm_handle_align (fragp) char * p; const char * noop; - if (fragp->fr_type != rs_align_code) + if (fragP->fr_type != rs_align_code) return; - bytes = fragp->fr_next->fr_address - fragp->fr_address - fragp->fr_fix; - p = fragp->fr_literal + fragp->fr_fix; + bytes = fragP->fr_next->fr_address - fragP->fr_address - fragP->fr_fix; + p = fragP->fr_literal + fragP->fr_fix; fix = 0; - if (fragp->tc_frag_data) + if (bytes > MAX_MEM_FOR_RS_ALIGN_CODE) + bytes &= MAX_MEM_FOR_RS_ALIGN_CODE; + + if (fragP->tc_frag_data) { if (target_big_endian) noop = thumb_bigend_noop; @@ -8837,8 +8851,8 @@ arm_handle_align (fragp) fix += noop_size; } - fragp->fr_fix += fix; - fragp->fr_var = noop_size; + fragP->fr_fix += fix; + fragP->fr_var = noop_size; } /* Called from md_do_align. Used to create an alignment @@ -8853,11 +8867,11 @@ arm_frag_align_code (n, max) /* We assume that there will never be a requirment to support alignments greater than 32 bytes. */ - if (max > 31) - as_fatal (_("alignments in code section > 32 not supported.")); + if (max > MAX_MEM_FOR_RS_ALIGN_CODE) + as_fatal (_("alignments greater than 32 bytes not supported in .text sections.")); p = frag_var (rs_align_code, - 31, + MAX_MEM_FOR_RS_ALIGN_CODE, 1, (relax_substateT) max, (symbolS *) NULL, @@ -8870,9 +8884,9 @@ arm_frag_align_code (n, max) /* Perform target specific initialisation of a frag. */ void -arm_init_frag (fragp) - fragS *fragp; +arm_init_frag (fragP) + fragS *fragP; { /* Record whether this frag is in an ARM or a THUMB area. */ - fragp->tc_frag_data = thumb_mode; + fragP->tc_frag_data = thumb_mode; } diff -uprN binutils-2.11.90.0.7/gas/config/tc-arm.h binutils-2.11.90.0.8/gas/config/tc-arm.h --- binutils-2.11.90.0.7/gas/config/tc-arm.h Fri Apr 27 13:50:08 2001 +++ binutils-2.11.90.0.8/gas/config/tc-arm.h Sat May 12 00:06:29 2001 @@ -215,6 +215,8 @@ void armelf_frob_symbol PARAMS ((symbolS #define DWARF2_LINE_MIN_INSN_LENGTH 2 #endif +#define MAX_MEM_FOR_RS_ALIGN_CODE 31 + /* For frags in code sections we need to record whether they contain ARM code or THUMB code. This is that if they have to be aligned, they can contain the correct type of no-op instruction. */ diff -uprN binutils-2.11.90.0.7/gas/config/tc-fr30.c binutils-2.11.90.0.8/gas/config/tc-fr30.c --- binutils-2.11.90.0.7/gas/config/tc-fr30.c Fri Mar 9 11:16:53 2001 +++ binutils-2.11.90.0.8/gas/config/tc-fr30.c Sat May 12 00:06:30 2001 @@ -265,8 +265,6 @@ md_estimate_size_before_relax (fragP, se fragS * fragP; segT segment; { - int old_fr_fix = fragP->fr_fix; - /* The only thing we have to handle here are symbols outside of the current segment. They may be undefined or in a different segment in which case linker scripts may place them anywhere. @@ -275,6 +273,8 @@ md_estimate_size_before_relax (fragP, se if (S_GET_SEGMENT (fragP->fr_symbol) != segment) { + int old_fr_fix = fragP->fr_fix; + /* The symbol is undefined in this segment. Change the relaxation subtype to the max allowable and leave all further handling to md_convert_frag. */ @@ -297,6 +297,7 @@ md_estimate_size_before_relax (fragP, se /* Mark this fragment as finished. */ frag_wane (fragP); + return fragP->fr_fix - old_fr_fix; #else { const CGEN_INSN * insn; @@ -323,7 +324,8 @@ md_estimate_size_before_relax (fragP, se #endif } - return (fragP->fr_var + fragP->fr_fix - old_fr_fix); + /* Return the size of the variable part of the frag. */ + return md_relax_table[fragP->fr_subtype].rlx_length; } /* *fragP has been relaxed to its final size, and now needs to have diff -uprN binutils-2.11.90.0.7/gas/config/tc-h8500.c binutils-2.11.90.0.8/gas/config/tc-h8500.c --- binutils-2.11.90.0.7/gas/config/tc-h8500.c Fri Apr 6 15:32:57 2001 +++ binutils-2.11.90.0.8/gas/config/tc-h8500.c Sat May 12 00:06:30 2001 @@ -1343,7 +1343,6 @@ md_convert_frag (headers, seg, fragP) R_H8500_PCREL16); fragP->fr_fix += disp_size + inst_size; - fragP->fr_var = 0; return; break; default: @@ -1359,7 +1358,6 @@ md_convert_frag (headers, seg, fragP) md_number_to_chars (buffer + inst_size, disp, disp_size); fragP->fr_fix += disp_size + inst_size; - fragP->fr_var = 0; } } @@ -1471,8 +1469,7 @@ md_estimate_size_before_relax (fragP, se break; } - fragP->fr_var = md_relax_table[fragP->fr_subtype].rlx_length; - return fragP->fr_var; + return md_relax_table[fragP->fr_subtype].rlx_length; } /* Put number into target byte order. */ diff -uprN binutils-2.11.90.0.7/gas/config/tc-i386.c binutils-2.11.90.0.8/gas/config/tc-i386.c --- binutils-2.11.90.0.7/gas/config/tc-i386.c Thu Mar 29 23:25:59 2001 +++ binutils-2.11.90.0.8/gas/config/tc-i386.c Wed May 2 23:45:35 2001 @@ -3466,6 +3466,19 @@ i386_displacement (disp_start, disp_end) exp_seg = expression (exp); + SKIP_WHITESPACE (); + if (*input_line_pointer) + as_bad (_("junk `%s' after expression"), input_line_pointer); +#if GCC_ASM_O_HACK + RESTORE_END_STRING (disp_end + 1); +#endif + RESTORE_END_STRING (disp_end); + input_line_pointer = save_input_line_pointer; +#ifndef LEX_AT + if (gotfree_input_line) + free (gotfree_input_line); +#endif + #ifdef BFD_ASSEMBLER /* We do this to make sure that the section symbol is in the symbol table. We will ultimately change the relocation @@ -3473,10 +3486,18 @@ i386_displacement (disp_start, disp_end) if (i.reloc[this_operand] == BFD_RELOC_386_GOTOFF || i.reloc[this_operand] == BFD_RELOC_X86_64_GOTPCREL) { + if (exp->X_op != O_symbol) + { + as_bad (_("bad expression used with @%s"), + (i.reloc[this_operand] == BFD_RELOC_X86_64_GOTPCREL + ? "GOTPCREL" + : "GOTOFF")); + return 0; + } + if (S_IS_LOCAL (exp->X_add_symbol) && S_GET_SEGMENT (exp->X_add_symbol) != undefined_section) section_symbol (S_GET_SEGMENT (exp->X_add_symbol)); - assert (exp->X_op == O_symbol); exp->X_op = O_subtract; exp->X_op_symbol = GOT_symbol; if (i.reloc[this_operand] == BFD_RELOC_X86_64_GOTPCREL) @@ -3484,19 +3505,6 @@ i386_displacement (disp_start, disp_end) else i.reloc[this_operand] = BFD_RELOC_32; } -#endif - - SKIP_WHITESPACE (); - if (*input_line_pointer) - as_bad (_("junk `%s' after expression"), input_line_pointer); -#if GCC_ASM_O_HACK - RESTORE_END_STRING (disp_end + 1); -#endif - RESTORE_END_STRING (disp_end); - input_line_pointer = save_input_line_pointer; -#ifndef LEX_AT - if (gotfree_input_line) - free (gotfree_input_line); #endif if (exp->X_op == O_absent || exp->X_op == O_big) diff -uprN binutils-2.11.90.0.7/gas/config/tc-ia64.c binutils-2.11.90.0.8/gas/config/tc-ia64.c --- binutils-2.11.90.0.7/gas/config/tc-ia64.c Fri Apr 27 14:03:53 2001 +++ binutils-2.11.90.0.8/gas/config/tc-ia64.c Sat May 12 00:58:04 2001 @@ -526,6 +526,11 @@ static char special_section_name[][20] = {".IA_64.unwind"}, {".IA_64.unwind_info"} }; +static char *special_linkonce_name[] = + { + ".gnu.linkonce.ia64unw.", ".gnu.linkonce.ia64unwi." + }; + /* The best template for a particular sequence of up to three instructions: */ #define N IA64_NUM_TYPES @@ -852,11 +857,20 @@ static int generate_unwind_image PARAMS #define make_unw_section_name(special, text_name, result) \ { \ char *_prefix = special_section_name[special]; \ - size_t _prefix_len = strlen (_prefix), _text_len = strlen (text_name); \ - char *_result = alloca (_prefix_len + _text_len + 1); \ + char *_suffix = text_name; \ + size_t _prefix_len, _suffix_len; \ + char *_result; \ + if (strncmp (text_name, ".gnu.linkonce.t.", \ + sizeof (".gnu.linkonce.t.") - 1) == 0) \ + { \ + _prefix = special_linkonce_name[special - SPECIAL_SECTION_UNWIND]; \ + _suffix += sizeof (".gnu.linkonce.t.") - 1; \ + } \ + _prefix_len = strlen (_prefix), _suffix_len = strlen (_suffix); \ + _result = alloca (_prefix_len + _suffix_len + 1); \ memcpy(_result, _prefix, _prefix_len); \ - memcpy(_result + _prefix_len, text_name, _text_len); \ - _result[_prefix_len + _text_len] = '\0'; \ + memcpy(_result + _prefix_len, _suffix, _suffix_len); \ + _result[_prefix_len + _suffix_len] = '\0'; \ result = _result; \ } \ while (0) @@ -913,10 +927,18 @@ ia64_elf_section_type (str, len) if (strncmp (str, ELF_STRING_ia64_unwind_info, len) == 0) return SHT_PROGBITS; + len = sizeof (ELF_STRING_ia64_unwind_info_once) - 1; + if (strncmp (str, ELF_STRING_ia64_unwind_info_once, len) == 0) + return SHT_PROGBITS; + len = sizeof (ELF_STRING_ia64_unwind) - 1; if (strncmp (str, ELF_STRING_ia64_unwind, len) == 0) return SHT_IA_64_UNWIND; + len = sizeof (ELF_STRING_ia64_unwind_once) - 1; + if (strncmp (str, ELF_STRING_ia64_unwind_once, len) == 0) + return SHT_IA_64_UNWIND; + return -1; } @@ -3165,6 +3187,7 @@ generate_unwind_image (text_name) SEC_LOAD | SEC_ALLOC | SEC_READONLY); /* Make sure the section has 8 byte alignment. */ + frag_align (3, 0, 0); record_alignment (now_seg, 3); /* Set expression which points to start of unwind descriptor area. */ @@ -3819,6 +3842,8 @@ dot_endp (dummy) .text .IA_64.unwind .text.foo .IA_64.unwind.text.foo .foo .IA_64.unwind.foo + .gnu.linkonce.t.foo + .gnu.linkonce.ia64unw.foo _info .IA_64.unwind_info gas issues error message (ditto) _infoFOO .IA_64.unwind_infoFOO gas issues error message (ditto) diff -uprN binutils-2.11.90.0.7/gas/config/tc-m32r.c binutils-2.11.90.0.8/gas/config/tc-m32r.c --- binutils-2.11.90.0.7/gas/config/tc-m32r.c Fri Mar 9 11:17:01 2001 +++ binutils-2.11.90.0.8/gas/config/tc-m32r.c Sat May 12 00:06:37 2001 @@ -1441,8 +1441,6 @@ md_estimate_size_before_relax (fragP, se fragS *fragP; segT segment; { - int old_fr_fix = fragP->fr_fix; - /* The only thing we have to handle here are symbols outside of the current segment. They may be undefined or in a different segment in which case linker scripts may place them anywhere. @@ -1451,6 +1449,8 @@ md_estimate_size_before_relax (fragP, se if (S_GET_SEGMENT (fragP->fr_symbol) != segment) { + int old_fr_fix = fragP->fr_fix; + /* The symbol is undefined in this segment. Change the relaxation subtype to the max allowable and leave all further handling to md_convert_frag. */ @@ -1474,6 +1474,7 @@ md_estimate_size_before_relax (fragP, se /* Mark this fragment as finished. */ frag_wane (fragP); + return fragP->fr_fix - old_fr_fix; #else { const CGEN_INSN *insn; @@ -1500,7 +1501,7 @@ md_estimate_size_before_relax (fragP, se #endif } - return (fragP->fr_var + fragP->fr_fix - old_fr_fix); + return md_relax_table[fragP->fr_subtype].rlx_length; } /* *FRAGP has been relaxed to its final size, and now needs to have diff -uprN binutils-2.11.90.0.7/gas/config/tc-m68hc11.c binutils-2.11.90.0.8/gas/config/tc-m68hc11.c --- binutils-2.11.90.0.7/gas/config/tc-m68hc11.c Sun Mar 18 17:50:20 2001 +++ binutils-2.11.90.0.8/gas/config/tc-m68hc11.c Sat May 12 00:06:37 2001 @@ -49,6 +49,8 @@ const char FLT_CHARS[] = "dD"; /* This macro has no side-effects. */ #define ENCODE_RELAX(what,length) (((what) << 2) + (length)) +#define RELAX_STATE(s) ((s) >> 2) +#define RELAX_LENGTH(s) ((s) & 3) #define IS_OPCODE(C1,C2) (((C1) & 0x0FF) == ((C2) & 0x0FF)) @@ -2563,145 +2565,153 @@ md_estimate_size_before_relax (fragP, se fragS *fragP; asection *segment; { - int old_fr_fix; - char *buffer_address = fragP->fr_fix + fragP->fr_literal; + if (RELAX_LENGTH (fragP->fr_subtype) == STATE_UNDF) + { + if (S_GET_SEGMENT (fragP->fr_symbol) != segment + || !relaxable_symbol (fragP->fr_symbol)) + { + /* Non-relaxable cases. */ + int old_fr_fix; + char *buffer_address; - old_fr_fix = fragP->fr_fix; + old_fr_fix = fragP->fr_fix; + buffer_address = fragP->fr_fix + fragP->fr_literal; - switch (fragP->fr_subtype) - { - case ENCODE_RELAX (STATE_PC_RELATIVE, STATE_UNDF): + switch (RELAX_STATE (fragP->fr_subtype)) + { + case STATE_PC_RELATIVE: - /* This relax is only for bsr and bra. */ - assert (IS_OPCODE (fragP->fr_opcode[0], M6811_BSR) - || IS_OPCODE (fragP->fr_opcode[0], M6811_BRA) - || IS_OPCODE (fragP->fr_opcode[0], M6812_BSR)); + /* This relax is only for bsr and bra. */ + assert (IS_OPCODE (fragP->fr_opcode[0], M6811_BSR) + || IS_OPCODE (fragP->fr_opcode[0], M6811_BRA) + || IS_OPCODE (fragP->fr_opcode[0], M6812_BSR)); - /* A relaxable case. */ - if (S_GET_SEGMENT (fragP->fr_symbol) == segment - && relaxable_symbol (fragP->fr_symbol)) - { - fragP->fr_subtype = ENCODE_RELAX (STATE_PC_RELATIVE, STATE_BYTE); - } - else - { - if (flag_fixed_branchs) - as_bad_where (fragP->fr_file, fragP->fr_line, - _("bra or bsr with undefined symbol.")); - - /* The symbol is undefined or in a separate section. Turn bra into a - jmp and bsr into a jsr. The insn becomes 3 bytes long (instead of - 2). A fixup is necessary for the unresolved symbol address. */ - - fragP->fr_opcode[0] = convert_branch (fragP->fr_opcode[0]); - - fragP->fr_fix++; - fix_new (fragP, old_fr_fix - 1, 2, fragP->fr_symbol, - fragP->fr_offset, 0, BFD_RELOC_16); + if (flag_fixed_branchs) + as_bad_where (fragP->fr_file, fragP->fr_line, + _("bra or bsr with undefined symbol.")); + + /* The symbol is undefined or in a separate section. + Turn bra into a jmp and bsr into a jsr. The insn + becomes 3 bytes long (instead of 2). A fixup is + necessary for the unresolved symbol address. */ + fragP->fr_opcode[0] = convert_branch (fragP->fr_opcode[0]); + + fragP->fr_fix++; + fix_new (fragP, old_fr_fix - 1, 2, fragP->fr_symbol, + fragP->fr_offset, 0, BFD_RELOC_16); + break; + + case STATE_CONDITIONAL_BRANCH: + assert (current_architecture & cpu6811); + + fragP->fr_opcode[0] ^= 1; /* Reverse sense of branch. */ + fragP->fr_opcode[1] = 3; /* Skip next jmp insn (3 bytes). */ + + /* Don't use fr_opcode[2] because this may be + in a different frag. */ + buffer_address[0] = M6811_JMP; + + fragP->fr_fix++; + fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, + fragP->fr_offset, 0, BFD_RELOC_16); + fragP->fr_fix += 2; + break; + + case STATE_INDEXED_OFFSET: + assert (current_architecture & cpu6812); + + /* Switch the indexed operation to 16-bit mode. */ + fragP->fr_opcode[0] = fragP->fr_opcode[0] << 3; + fragP->fr_opcode[0] |= 0xe2; + fragP->fr_fix++; + fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, + fragP->fr_offset, 0, BFD_RELOC_16); + fragP->fr_fix++; + break; + + case STATE_XBCC_BRANCH: + assert (current_architecture & cpu6812); + + fragP->fr_opcode[0] ^= 0x20; /* Reverse sense of branch. */ + fragP->fr_opcode[1] = 3; /* Skip next jmp insn (3 bytes). */ + + /* Don't use fr_opcode[2] because this may be + in a different frag. */ + buffer_address[0] = M6812_JMP; + + fragP->fr_fix++; + fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, + fragP->fr_offset, 0, BFD_RELOC_16); + fragP->fr_fix += 2; + break; + + case STATE_CONDITIONAL_BRANCH_6812: + assert (current_architecture & cpu6812); + + /* Translate into a lbcc branch. */ + fragP->fr_opcode[1] = fragP->fr_opcode[0]; + fragP->fr_opcode[0] = M6811_OPCODE_PAGE2; + + fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, + fragP->fr_offset, 0, BFD_RELOC_16_PCREL); + fragP->fr_fix += 2; + break; + + default: + as_fatal (_("Subtype %d is not recognized."), fragP->fr_subtype); + } frag_wane (fragP); - } - break; - case ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_UNDF): - assert (current_architecture & cpu6811); + /* Return the growth in the fixed part of the frag. */ + return fragP->fr_fix - old_fr_fix; + } - if (S_GET_SEGMENT (fragP->fr_symbol) == segment - && relaxable_symbol (fragP->fr_symbol)) + /* Relaxable cases. */ + switch (RELAX_STATE (fragP->fr_subtype)) { + case STATE_PC_RELATIVE: + /* This relax is only for bsr and bra. */ + assert (IS_OPCODE (fragP->fr_opcode[0], M6811_BSR) + || IS_OPCODE (fragP->fr_opcode[0], M6811_BRA) + || IS_OPCODE (fragP->fr_opcode[0], M6812_BSR)); + + fragP->fr_subtype = ENCODE_RELAX (STATE_PC_RELATIVE, STATE_BYTE); + break; + + case STATE_CONDITIONAL_BRANCH: + assert (current_architecture & cpu6811); + fragP->fr_subtype = ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_BYTE); - } - else - { - fragP->fr_opcode[0] ^= 1; /* Reverse sense of branch. */ - fragP->fr_opcode[1] = 3; /* Skip next jmp insn (3 bytes). */ - - /* Don't use fr_opcode[2] because this may be - in a different frag. */ - buffer_address[0] = M6811_JMP; - - fragP->fr_fix++; - fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, - fragP->fr_offset, 0, BFD_RELOC_16); - fragP->fr_fix += 2; - frag_wane (fragP); - } - break; + break; - case ENCODE_RELAX (STATE_INDEXED_OFFSET, STATE_UNDF): - assert (current_architecture & cpu6812); + case STATE_INDEXED_OFFSET: + assert (current_architecture & cpu6812); - if (S_GET_SEGMENT (fragP->fr_symbol) == segment - && relaxable_symbol (fragP->fr_symbol)) - { fragP->fr_subtype = ENCODE_RELAX (STATE_INDEXED_OFFSET, STATE_BITS5); - } - else - { - /* Switch the indexed operation to 16-bit mode. */ - fragP->fr_opcode[0] = fragP->fr_opcode[0] << 3; - fragP->fr_opcode[0] |= 0xe2; - fragP->fr_fix++; - fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, - fragP->fr_offset, 0, BFD_RELOC_16); - fragP->fr_fix++; - frag_wane (fragP); - } - break; + break; - case ENCODE_RELAX (STATE_XBCC_BRANCH, STATE_UNDF): - assert (current_architecture & cpu6812); + case STATE_XBCC_BRANCH: + assert (current_architecture & cpu6812); - if (S_GET_SEGMENT (fragP->fr_symbol) == segment - && relaxable_symbol (fragP->fr_symbol)) - { fragP->fr_subtype = ENCODE_RELAX (STATE_XBCC_BRANCH, STATE_BYTE); - } - else - { - fragP->fr_opcode[0] ^= 0x20; /* Reverse sense of branch. */ - fragP->fr_opcode[1] = 3; /* Skip next jmp insn (3 bytes). */ - - /* Don't use fr_opcode[2] because this may be - in a different frag. */ - buffer_address[0] = M6812_JMP; - - fragP->fr_fix++; - fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, - fragP->fr_offset, 0, BFD_RELOC_16); - fragP->fr_fix += 2; - frag_wane (fragP); - } - break; + break; - case ENCODE_RELAX (STATE_CONDITIONAL_BRANCH_6812, STATE_UNDF): - assert (current_architecture & cpu6812); + case STATE_CONDITIONAL_BRANCH_6812: + assert (current_architecture & cpu6812); - if (S_GET_SEGMENT (fragP->fr_symbol) == segment - && relaxable_symbol (fragP->fr_symbol)) - { fragP->fr_subtype = ENCODE_RELAX (STATE_CONDITIONAL_BRANCH_6812, STATE_BYTE); + break; } - else - { - /* Translate into a lbcc branch. */ - fragP->fr_opcode[1] = fragP->fr_opcode[0]; - fragP->fr_opcode[0] = M6811_OPCODE_PAGE2; - - fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, - fragP->fr_offset, 0, BFD_RELOC_16_PCREL); - fragP->fr_fix += 2; - frag_wane (fragP); - } - break; - - default: - as_fatal (_("Subtype %d is not recognized."), fragP->fr_subtype); } - return (fragP->fr_fix - old_fr_fix); + if (fragP->fr_subtype >= sizeof (md_relax_table) / sizeof (md_relax_table[0])) + as_fatal (_("Subtype %d is not recognized."), fragP->fr_subtype); + + /* Return the size of the variable part of the frag. */ + return md_relax_table[fragP->fr_subtype].rlx_length; } int diff -uprN binutils-2.11.90.0.7/gas/config/tc-m68k.c binutils-2.11.90.0.8/gas/config/tc-m68k.c --- binutils-2.11.90.0.7/gas/config/tc-m68k.c Fri Mar 9 11:17:02 2001 +++ binutils-2.11.90.0.8/gas/config/tc-m68k.c Sat May 12 00:06:38 2001 @@ -968,8 +968,9 @@ tc_gen_reloc (section, fixp) reloc->addend = fixp->fx_addnumber; else reloc->addend = (section->vma - + (fixp->fx_pcrel_adjust == 64 - ? -1 : fixp->fx_pcrel_adjust) + /* Explicit sign extension in case char is + unsigned. */ + + ((fixp->fx_pcrel_adjust & 0xff) ^ 0x80) - 0x80 + fixp->fx_addnumber + md_pcrel_from (fixp)); #endif @@ -2546,11 +2547,7 @@ m68k_ip (instring) switch (s[1]) { case 'B': - /* The pc_fix argument winds up in fx_pcrel_adjust, - which is a char, and may therefore be unsigned. We - want to pass -1, but we pass 64 instead, and convert - back in md_pcrel_from. */ - add_fix ('B', &opP->disp, 1, 64); + add_fix ('B', &opP->disp, 1, -1); break; case 'W': add_fix ('w', &opP->disp, 1, 0); @@ -4587,27 +4584,6 @@ md_estimate_size_before_relax (fragP, se { case TAB (BRANCHBWL, SZ_UNDEF): case TAB (BRABSJUNC, SZ_UNDEF): - { - if (S_GET_SEGMENT (fragP->fr_symbol) == segment - && relaxable_symbol (fragP->fr_symbol)) - { - fragP->fr_subtype = TAB (TABTYPE (fragP->fr_subtype), BYTE); - } - else if (flag_short_refs) - { - /* Symbol is undefined and we want short ref. */ - fragP->fr_subtype = TAB (TABTYPE (fragP->fr_subtype), SHORT); - fragP->fr_var += 2; - } - else - { - /* Symbol is still undefined. Make it LONG. */ - fragP->fr_subtype = TAB (TABTYPE (fragP->fr_subtype), LONG); - fragP->fr_var += 4; - } - break; - } - case TAB (BRABSJCOND, SZ_UNDEF): { if (S_GET_SEGMENT (fragP->fr_symbol) == segment @@ -4619,13 +4595,11 @@ md_estimate_size_before_relax (fragP, se { /* Symbol is undefined and we want short ref. */ fragP->fr_subtype = TAB (TABTYPE (fragP->fr_subtype), SHORT); - fragP->fr_var += 2; } else { /* Symbol is still undefined. Make it LONG. */ fragP->fr_subtype = TAB (TABTYPE (fragP->fr_subtype), LONG); - fragP->fr_var += 6; } break; } @@ -4641,59 +4615,24 @@ md_estimate_size_before_relax (fragP, se { /* Symbol is undefined and we don't have long branches. */ fragP->fr_subtype = TAB (TABTYPE (fragP->fr_subtype), SHORT); - fragP->fr_var += 2; } break; } case TAB (FBRANCH, SZ_UNDEF): - { - if ((S_GET_SEGMENT (fragP->fr_symbol) == segment - && relaxable_symbol (fragP->fr_symbol)) - || flag_short_refs) - { - fragP->fr_subtype = TAB (FBRANCH, SHORT); - fragP->fr_var += 2; - } - else - { - fragP->fr_subtype = TAB (FBRANCH, LONG); - fragP->fr_var += 4; - } - break; - } - case TAB (DBCCLBR, SZ_UNDEF): case TAB (DBCCABSJ, SZ_UNDEF): + case TAB (PCREL1632, SZ_UNDEF): { if ((S_GET_SEGMENT (fragP->fr_symbol) == segment && relaxable_symbol (fragP->fr_symbol)) || flag_short_refs) { fragP->fr_subtype = TAB (TABTYPE (fragP->fr_subtype), SHORT); - fragP->fr_var += 2; } else { fragP->fr_subtype = TAB (TABTYPE (fragP->fr_subtype), LONG); - fragP->fr_var += 10; - } - break; - } - - case TAB (PCREL1632, SZ_UNDEF): - { - if (((S_GET_SEGMENT (fragP->fr_symbol)) == segment - && relaxable_symbol (fragP->fr_symbol)) - || flag_short_refs) - { - fragP->fr_subtype = TAB (PCREL1632, SHORT); - fragP->fr_var += 2; - } - else - { - fragP->fr_subtype = TAB (PCREL1632, LONG); - fragP->fr_var += 6; } break; } @@ -4707,7 +4646,6 @@ md_estimate_size_before_relax (fragP, se else { fragP->fr_subtype = TAB (PCINDEX, LONG); - fragP->fr_var += 4; } break; @@ -4717,12 +4655,10 @@ md_estimate_size_before_relax (fragP, se && relaxable_symbol (fragP->fr_symbol))) { fragP->fr_subtype = TAB (ABSTOPCREL, SHORT); - fragP->fr_var += 2; } else { fragP->fr_subtype = TAB (ABSTOPCREL, LONG); - fragP->fr_var += 4; } break; } @@ -4757,13 +4693,13 @@ md_estimate_size_before_relax (fragP, se if (l == stop) { fragP->fr_subtype = TAB (TABTYPE (fragP->fr_subtype), SHORT); - fragP->fr_var += 2; } } break; default: break; } + fragP->fr_var = md_relax_table[fragP->fr_subtype].rlx_length; return fragP->fr_var + fragP->fr_fix - old_fix; } @@ -7102,9 +7038,9 @@ md_pcrel_from (fixP) { int adjust; - /* Because fx_pcrel_adjust is a char, and may be unsigned, we store - -1 as 64. */ - adjust = fixP->fx_pcrel_adjust; + /* Because fx_pcrel_adjust is a char, and may be unsigned, we explicitly + sign extend the value here. */ + adjust = ((fixP->fx_pcrel_adjust & 0xff) ^ 0x80) - 0x80; if (adjust == 64) adjust = -1; return fixP->fx_where + fixP->fx_frag->fr_address - adjust; diff -uprN binutils-2.11.90.0.7/gas/config/tc-mcore.c binutils-2.11.90.0.8/gas/config/tc-mcore.c --- binutils-2.11.90.0.7/gas/config/tc-mcore.c Fri Apr 6 15:33:02 2001 +++ binutils-2.11.90.0.8/gas/config/tc-mcore.c Sat May 12 00:06:39 2001 @@ -1935,7 +1935,6 @@ md_convert_frag (abfd, sec, fragP) } fragP->fr_fix += 2; - fragP->fr_var = 0; } break; @@ -2026,8 +2025,6 @@ md_convert_frag (abfd, sec, fragP) else buffer[1] = 4; /* jmpi, ptr, and the 'tail pad' */ } - - fragP->fr_var = 0; } break; @@ -2082,8 +2079,6 @@ md_convert_frag (abfd, sec, fragP) fragP->fr_symbol, fragP->fr_offset, 0, BFD_RELOC_32); fragP->fr_fix += U32_LEN; } - - fragP->fr_var = 0; } break; @@ -2298,8 +2293,7 @@ md_estimate_size_before_relax (fragP, se break; } - fragP->fr_var = md_relax_table[fragP->fr_subtype].rlx_length; - return fragP->fr_var; + return md_relax_table[fragP->fr_subtype].rlx_length; } /* Put number into target byte order. */ diff -uprN binutils-2.11.90.0.7/gas/config/tc-mips.c binutils-2.11.90.0.8/gas/config/tc-mips.c --- binutils-2.11.90.0.7/gas/config/tc-mips.c Tue Apr 10 14:48:30 2001 +++ binutils-2.11.90.0.8/gas/config/tc-mips.c Wed May 2 15:25:12 2001 @@ -9142,7 +9142,9 @@ md_parse_option (c, arg) list = bfd_target_list (); for (l = list; *l != NULL; l++) if (strcmp (*l, "elf64-bigmips") == 0 - || strcmp (*l, "elf64-littlemips") == 0) + || strcmp (*l, "elf64-littlemips") == 0 + || strcmp (*l, "elf64-tradbigmips") == 0 + || strcmp (*l, "elf64-tradlittlemips") == 0) break; if (*l == NULL) as_fatal (_("No compiled in support for 64 bit object file format")); diff -uprN binutils-2.11.90.0.7/gas/config/tc-mn10300.c binutils-2.11.90.0.8/gas/config/tc-mn10300.c --- binutils-2.11.90.0.7/gas/config/tc-mn10300.c Sat Apr 14 12:42:32 2001 +++ binutils-2.11.90.0.8/gas/config/tc-mn10300.c Sat May 12 00:06:41 2001 @@ -1727,13 +1727,7 @@ keep_going: /* Is the reloc pc-relative? */ pcrel = (operand->flags & MN10300_OPERAND_PCREL) != 0; - offset = size - reloc_size / 8; - - /* If the pcrel relocation isn't at the end of the insn, - we have to adjust the offset for the relocation to be - correct. */ - if (pcrel) - offset -= operand->shift / 8; + offset = size - (reloc_size + operand->shift) / 8; /* Choose a proper BFD relocation type. */ if (pcrel) @@ -1907,14 +1901,17 @@ md_apply_fix3 (fixp, valuep, seg) switch (fixp->fx_r_type) { case BFD_RELOC_8: + case BFD_RELOC_8_PCREL: size = 1; break; case BFD_RELOC_16: + case BFD_RELOC_16_PCREL: size = 2; break; case BFD_RELOC_32: + case BFD_RELOC_32_PCREL: size = 4; break; diff -uprN binutils-2.11.90.0.7/gas/config/tc-ns32k.c binutils-2.11.90.0.8/gas/config/tc-ns32k.c --- binutils-2.11.90.0.7/gas/config/tc-ns32k.c Thu Mar 29 17:36:13 2001 +++ binutils-2.11.90.0.8/gas/config/tc-ns32k.c Sat May 12 00:06:41 2001 @@ -2069,21 +2069,11 @@ md_estimate_size_before_relax (fragP, se register fragS *fragP; segT segment; { - int old_fix; - - old_fix = fragP->fr_fix; - - switch (fragP->fr_subtype) + if (fragP->fr_subtype == IND (BRANCH, UNDEF)) { - case IND (BRANCH, UNDEF): - if (S_GET_SEGMENT (fragP->fr_symbol) == segment) - { - /* The symbol has been assigned a value. */ - fragP->fr_subtype = IND (BRANCH, BYTE); - } - else + if (S_GET_SEGMENT (fragP->fr_symbol) != segment) { - /* We don't relax symbols defined in an other segment the + /* We don't relax symbols defined in another segment. The thing to do is to assume the object will occupy 4 bytes. */ fix_new_ns32k (fragP, (int) (fragP->fr_fix), @@ -2101,21 +2091,19 @@ md_estimate_size_before_relax (fragP, se fragP->fr_opcode[1] = 0xff; #endif frag_wane (fragP); - break; + return 4; } - /* Fall thru */ - - case IND (BRANCH, BYTE): - case IND (BRANCH, WORD): - case IND (BRANCH, DOUBLE): - fragP->fr_var = md_relax_table[fragP->fr_subtype].rlx_length; - break; - default: - break; + /* Relaxable case. Set up the initial guess for the variable + part of the frag. */ + fragP->fr_subtype = IND (BRANCH, BYTE); } - return fragP->fr_var + fragP->fr_fix - old_fix; + if (fragP->fr_subtype >= sizeof (md_relax_table) / sizeof (md_relax_table[0])) + abort (); + + /* Return the size of the variable part of the frag. */ + return md_relax_table[fragP->fr_subtype].rlx_length; } int md_short_jump_size = 3; diff -uprN binutils-2.11.90.0.7/gas/config/tc-openrisc.c binutils-2.11.90.0.8/gas/config/tc-openrisc.c --- binutils-2.11.90.0.7/gas/config/tc-openrisc.c Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.8/gas/config/tc-openrisc.c Sat May 12 00:06:47 2001 @@ -0,0 +1,503 @@ +/* tc-openrisc.c -- Assembler for the OpenRISC family. + Copyright (C) 2001 Free Software Foundation. + Contributed by Johan Rydberg, jrydberg@opencores.org + + This file is part of GAS, the GNU Assembler. + + GAS is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + GAS is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GAS; see the file COPYING. If not, write to + the Free Software Foundation, 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include +#include +#include "as.h" +#include "subsegs.h" +#include "symcat.h" +#include "opcodes/openrisc-desc.h" +#include "opcodes/openrisc-opc.h" +#include "cgen.h" + +/* Structure to hold all of the different components describing + an individual instruction. */ +typedef struct openrisc_insn openrisc_insn; + +struct openrisc_insn +{ + const CGEN_INSN * insn; + const CGEN_INSN * orig_insn; + CGEN_FIELDS fields; +#if CGEN_INT_INSN_P + CGEN_INSN_INT buffer [1]; +#define INSN_VALUE(buf) (*(buf)) +#else + unsigned char buffer [CGEN_MAX_INSN_SIZE]; +#define INSN_VALUE(buf) (buf) +#endif + char * addr; + fragS * frag; + int num_fixups; + fixS * fixups [GAS_CGEN_MAX_FIXUPS]; + int indices [MAX_OPERAND_INSTANCES]; +}; + + +const char comment_chars[] = "#"; +const char line_comment_chars[] = "#"; +const char line_separator_chars[] = ";"; +const char EXP_CHARS[] = "eE"; +const char FLT_CHARS[] = "dD"; + + +#define OPENRISC_SHORTOPTS "m:" +const char * md_shortopts = OPENRISC_SHORTOPTS; + +struct option md_longopts[] = +{ + {NULL, no_argument, NULL, 0} +}; +size_t md_longopts_size = sizeof (md_longopts); + +unsigned long openrisc_machine = 0; /* default */ + +int +md_parse_option (c, arg) + int c ATTRIBUTE_UNUSED; + char * arg ATTRIBUTE_UNUSED; +{ + return 0; +} + +void +md_show_usage (stream) + FILE * stream ATTRIBUTE_UNUSED; +{ +} + +static void +ignore_pseudo (val) + int val ATTRIBUTE_UNUSED; +{ + discard_rest_of_line (); +} + +const char openrisc_comment_chars [] = ";#"; + +/* The target specific pseudo-ops which we support. */ +const pseudo_typeS md_pseudo_table[] = +{ + { "word", cons, 4 }, + { "proc", ignore_pseudo, 0 }, + { "endproc", ignore_pseudo, 0 }, + { NULL, NULL, 0 } +}; + + + +void +md_begin () +{ + /* Initialize the `cgen' interface. */ + + /* Set the machine number and endian. */ + gas_cgen_cpu_desc = openrisc_cgen_cpu_open (CGEN_CPU_OPEN_MACHS, 0, + CGEN_CPU_OPEN_ENDIAN, + CGEN_ENDIAN_BIG, + CGEN_CPU_OPEN_END); + openrisc_cgen_init_asm (gas_cgen_cpu_desc); + + /* This is a callback from cgen to gas to parse operands. */ + cgen_set_parse_operand_fn (gas_cgen_cpu_desc, gas_cgen_parse_operand); +} + +void +md_assemble (str) + char * str; +{ + static int last_insn_had_delay_slot = 0; + openrisc_insn insn; + char * errmsg; + + /* Initialize GAS's cgen interface for a new instruction. */ + gas_cgen_init_parse (); + + insn.insn = openrisc_cgen_assemble_insn + (gas_cgen_cpu_desc, str, & insn.fields, insn.buffer, & errmsg); + + if (!insn.insn) + { + as_bad (errmsg); + return; + } + + /* Doesn't really matter what we pass for RELAX_P here. */ + gas_cgen_finish_insn (insn.insn, insn.buffer, + CGEN_FIELDS_BITSIZE (& insn.fields), 1, NULL); + +#if 0 /* Currently disabled */ + /* Warn about invalid insns in delay slots. */ + if (last_insn_had_delay_slot + && CGEN_INSN_ATTR_VALUE (insn.insn, CGEN_INSN_NOT_IN_DELAY_SLOT)) + as_warn (_("Instruction %s not allowed in a delay slot."), + CGEN_INSN_NAME (insn.insn)); +#endif + + last_insn_had_delay_slot + = CGEN_INSN_ATTR_VALUE (insn.insn, CGEN_INSN_DELAY_SLOT); +} + + +/* The syntax in the manual says constants begin with '#'. + We just ignore it. */ + +void +md_operand (expressionP) + expressionS * expressionP; +{ + if (* input_line_pointer == '#') + { + input_line_pointer ++; + expression (expressionP); + } +} + +valueT +md_section_align (segment, size) + segT segment; + valueT size; +{ + int align = bfd_get_section_alignment (stdoutput, segment); + return ((size + (1 << align) - 1) & (-1 << align)); +} + +symbolS * +md_undefined_symbol (name) + char * name ATTRIBUTE_UNUSED; +{ + return 0; +} + + +/* Interface to relax_segment. */ + +/* FIXME: Look through this. */ + +const relax_typeS md_relax_table[] = +{ +/* The fields are: + 1) most positive reach of this state, + 2) most negative reach of this state, + 3) how many bytes this mode will add to the size of the current frag + 4) which index into the table to try if we can't fit into this one. */ + + /* The first entry must be unused because an `rlx_more' value of zero ends + each list. */ + {1, 1, 0, 0}, + + /* The displacement used by GAS is from the end of the 2 byte insn, + so we subtract 2 from the following. */ + /* 16 bit insn, 8 bit disp -> 10 bit range. + This doesn't handle a branch in the right slot at the border: + the "& -4" isn't taken into account. It's not important enough to + complicate things over it, so we subtract an extra 2 (or + 2 in -ve + case). */ + {511 - 2 - 2, -512 - 2 + 2, 0, 2 }, + /* 32 bit insn, 24 bit disp -> 26 bit range. */ + {0x2000000 - 1 - 2, -0x2000000 - 2, 2, 0 }, + /* Same thing, but with leading nop for alignment. */ + {0x2000000 - 1 - 2, -0x2000000 - 2, 4, 0 } +}; + +long +openrisc_relax_frag (segment, fragP, stretch) + segT segment; + fragS * fragP; + long stretch; +{ + /* Address of branch insn. */ + long address = fragP->fr_address + fragP->fr_fix - 2; + long growth = 0; + + /* Keep 32 bit insns aligned on 32 bit boundaries. */ + if (fragP->fr_subtype == 2) + { + if ((address & 3) != 0) + { + fragP->fr_subtype = 3; + growth = 2; + } + } + else if (fragP->fr_subtype == 3) + { + if ((address & 3) == 0) + { + fragP->fr_subtype = 2; + growth = -2; + } + } + else + { + growth = relax_frag (segment, fragP, stretch); + + /* Long jump on odd halfword boundary? */ + if (fragP->fr_subtype == 2 && (address & 3) != 0) + { + fragP->fr_subtype = 3; + growth += 2; + } + } + + return growth; +} + + +/* Return an initial guess of the length by which a fragment must grow to + hold a branch to reach its destination. + Also updates fr_type/fr_subtype as necessary. + + Called just before doing relaxation. + Any symbol that is now undefined will not become defined. + The guess for fr_var is ACTUALLY the growth beyond fr_fix. + Whatever we do to grow fr_fix or fr_var contributes to our returned value. + Although it may not be explicit in the frag, pretend fr_var starts with a + 0 value. */ + +int +md_estimate_size_before_relax (fragP, segment) + fragS * fragP; + segT segment; +{ + /* The only thing we have to handle here are symbols outside of the + current segment. They may be undefined or in a different segment in + which case linker scripts may place them anywhere. + However, we can't finish the fragment here and emit the reloc as insn + alignment requirements may move the insn about. */ + + if (S_GET_SEGMENT (fragP->fr_symbol) != segment) + { + /* The symbol is undefined in this segment. + Change the relaxation subtype to the max allowable and leave + all further handling to md_convert_frag. */ + fragP->fr_subtype = 2; + + { + const CGEN_INSN * insn; + int i; + + /* Update the recorded insn. + Fortunately we don't have to look very far. + FIXME: Change this to record in the instruction the next higher + relaxable insn to use. */ + for (i = 0, insn = fragP->fr_cgen.insn; i < 4; i++, insn++) + { + if ((strcmp (CGEN_INSN_MNEMONIC (insn), + CGEN_INSN_MNEMONIC (fragP->fr_cgen.insn)) + == 0) + && CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_RELAX)) + break; + } + if (i == 4) + abort (); + + fragP->fr_cgen.insn = insn; + return 2; + } + } + + return md_relax_table[fragP->fr_subtype].rlx_length; +} + +/* *fragP has been relaxed to its final size, and now needs to have + the bytes inside it modified to conform to the new size. + + Called after relaxation is finished. + fragP->fr_type == rs_machine_dependent. + fragP->fr_subtype is the subtype of what the address relaxed to. */ + +void +md_convert_frag (abfd, sec, fragP) + bfd * abfd ATTRIBUTE_UNUSED; + segT sec ATTRIBUTE_UNUSED; + fragS * fragP ATTRIBUTE_UNUSED; +{ + /* FIXME */ +} + + +/* Functions concerning relocs. */ + +/* The location from which a PC relative jump should be calculated, + given a PC relative reloc. */ + +long +md_pcrel_from_section (fixP, sec) + fixS * fixP; + segT sec; +{ + if (fixP->fx_addsy != (symbolS *) NULL + && (! S_IS_DEFINED (fixP->fx_addsy) + || S_GET_SEGMENT (fixP->fx_addsy) != sec)) + { + /* The symbol is undefined (or is defined but not in this section). + Let the linker figure it out. */ + return 0; + } + + return (fixP->fx_frag->fr_address + fixP->fx_where) & ~1; +} + + +/* Return the bfd reloc type for OPERAND of INSN at fixup FIXP. + Returns BFD_RELOC_NONE if no reloc type can be found. + *FIXP may be modified if desired. */ + +bfd_reloc_code_real_type +md_cgen_lookup_reloc (insn, operand, fixP) + const CGEN_INSN * insn ATTRIBUTE_UNUSED; + const CGEN_OPERAND * operand; + fixS * fixP; +{ + bfd_reloc_code_real_type type; + + switch (operand->type) + { + case OPENRISC_OPERAND_ABS_26: + fixP->fx_pcrel = 0; + type = BFD_RELOC_OPENRISC_ABS_26; + goto emit; + case OPENRISC_OPERAND_DISP_26: + fixP->fx_pcrel = 1; + type = BFD_RELOC_OPENRISC_REL_26; + goto emit; + + case OPENRISC_OPERAND_HI16: + type = BFD_RELOC_HI16; + goto emit; + + case OPENRISC_OPERAND_LO16: + type = BFD_RELOC_LO16; + goto emit; + + emit: + return type; + + default : /* avoid -Wall warning */ + break; + } + + return BFD_RELOC_NONE; +} + +/* See whether we need to force a relocation into the output file. + This is used to force out switch and PC relative relocations when + relaxing. */ + +int +openrisc_force_relocation (fix) + fixS * fix ATTRIBUTE_UNUSED; +{ + if (fix->fx_r_type == BFD_RELOC_VTABLE_INHERIT + || fix->fx_r_type == BFD_RELOC_VTABLE_ENTRY) + return 1; + + return 0; +} + + + +/* Write a value out to the object file, using the appropriate endianness. */ + +void +md_number_to_chars (buf, val, n) + char * buf; + valueT val; + int n; +{ + number_to_chars_bigendian (buf, val, n); +} + +/* Turn a string in input_line_pointer into a floating point constant of type + type, and store the appropriate bytes in *litP. The number of LITTLENUMS + emitted is stored in *sizeP . An error message is returned, or NULL on OK. +*/ + +/* Equal to MAX_PRECISION in atof-ieee.c */ +#define MAX_LITTLENUMS 6 + +char * +md_atof (type, litP, sizeP) + char type; + char * litP; + int * sizeP; +{ + int i; + int prec; + LITTLENUM_TYPE words [MAX_LITTLENUMS]; + char * t; + char * atof_ieee (); + + switch (type) + { + case 'f': + case 'F': + case 's': + case 'S': + prec = 2; + break; + + case 'd': + case 'D': + case 'r': + case 'R': + prec = 4; + break; + + /* FIXME: Some targets allow other format chars for bigger sizes here. */ + + default: + * sizeP = 0; + return _("Bad call to md_atof()"); + } + + t = atof_ieee (input_line_pointer, type, words); + if (t) + input_line_pointer = t; + * sizeP = prec * sizeof (LITTLENUM_TYPE); + + for (i = 0; i < prec; i++) + { + md_number_to_chars (litP, (valueT) words[i], + sizeof (LITTLENUM_TYPE)); + litP += sizeof (LITTLENUM_TYPE); + } + + return 0; +} + +boolean +openrisc_fix_adjustable (fixP) + fixS * fixP; +{ + if (fixP->fx_addsy == NULL) + return 1; + + /* We need the symbol name for the VTABLE entries */ + if (fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT + || fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY) + return 0; + + return 1; +} + + + diff -uprN binutils-2.11.90.0.7/gas/config/tc-openrisc.h binutils-2.11.90.0.8/gas/config/tc-openrisc.h --- binutils-2.11.90.0.7/gas/config/tc-openrisc.h Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.8/gas/config/tc-openrisc.h Wed May 2 14:51:53 2001 @@ -0,0 +1,74 @@ +/* tc-openrisc.h -- Header file for tc-openrisc.c. + Copyright (C) 2001 Free Software Foundation, Inc. + + This file is part of GAS, the GNU Assembler. + + GAS is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + GAS is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GAS; see the file COPYING. If not, write to + the Free Software Foundation, 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define TC_OPENRISC + +#ifndef BFD_ASSEMBLER +/* leading space so will compile with cc */ +# error OPENRISC support requires BFD_ASSEMBLER +#endif + +#define LISTING_HEADER "OpenRISC GAS " + +/* The target BFD architecture. */ +#define TARGET_ARCH bfd_arch_openrisc + +extern unsigned long openrisc_machine; +#define TARGET_MACH (openrisc_machine) + +#define TARGET_FORMAT "elf32-openrisc" +#define TARGET_BYTES_BIG_ENDIAN 1 + +extern const char openrisc_comment_chars []; +#define tc_comment_chars openrisc_comment_chars + +/* Call md_pcrel_from_section, not md_pcrel_from. */ +extern long md_pcrel_from_section PARAMS ((struct fix *, segT)); +#define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section (FIXP, SEC) + +/* Permit temporary numeric labels. */ +#define LOCAL_LABELS_FB 1 + +#define DIFF_EXPR_OK 1 /* .-foo gets turned into PC relative relocs */ + +/* We don't need to handle .word strangely. */ +#define WORKING_DOT_WORD + +#define MD_APPLY_FIX3 +#define md_apply_fix3 gas_cgen_md_apply_fix3 + +extern boolean openrisc_fix_adjustable PARAMS ((struct fix *)); +#define obj_fix_adjustable(fixP) openrisc_fix_adjustable (fixP) + +/* When relaxing, we need to emit various relocs we otherwise wouldn't. */ +extern int openrisc_force_relocation PARAMS ((struct fix *)); +#define TC_FORCE_RELOCATION(fix) openrisc_force_relocation (fix) + +#define TC_HANDLES_FX_DONE + +#define tc_gen_reloc gas_cgen_tc_gen_reloc + +/* Call md_pcrel_from_section(), not md_pcrel_from(). */ +extern long md_pcrel_from_section PARAMS ((struct fix *, segT)); +#define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section (FIXP, SEC) + +/* For 8 vs 16 vs 32 bit branch selection. */ +extern const struct relax_type md_relax_table[]; +#define TC_GENERIC_RELAX_TABLE md_relax_table diff -uprN binutils-2.11.90.0.7/gas/config/tc-tahoe.c binutils-2.11.90.0.8/gas/config/tc-tahoe.c --- binutils-2.11.90.0.7/gas/config/tc-tahoe.c Fri Mar 9 11:17:09 2001 +++ binutils-2.11.90.0.8/gas/config/tc-tahoe.c Sat May 12 00:06:43 2001 @@ -245,8 +245,8 @@ pc_rel_disp? That sort of thing.) */ #define C(a,b) ENCODE_RELAX(a,b) /* This macro has no side-effects. */ #define ENCODE_RELAX(what,length) (((what) << 2) + (length)) -#define RELAX_STATE(what) ((what) >> 2) -#define RELAX_LENGTH(length) ((length) && 3) +#define RELAX_STATE(s) ((s) >> 2) +#define RELAX_LENGTH(s) ((s) & 3) #define STATE_ALWAYS_BRANCH (1) #define STATE_CONDITIONAL_BRANCH (2) @@ -604,136 +604,113 @@ md_create_long_jump (ptr, from_addr, to_ md_number_to_chars (ptr, offset, 4); } -/* - * md_estimate_size_before_relax() - * - * Called just before relax(). - * Any symbol that is now undefined will not become defined, so we assumed - * that it will be resolved by the linker. - * Return the correct fr_subtype in the frag, for relax() - * Return the initial "guess for fr_var" to caller. (How big I think this - * will be.) - * The guess for fr_var is ACTUALLY the growth beyond fr_fix. - * Whatever we do to grow fr_fix or fr_var contributes to our returned value. - * Although it may not be explicit in the frag, pretend fr_var starts with a - * 0 value. - */ +/* md_estimate_size_before_relax(), called just before relax(). + Any symbol that is now undefined will not become defined. + Return the correct fr_subtype in the frag and the growth beyond + fr_fix. */ int md_estimate_size_before_relax (fragP, segment_type) register fragS *fragP; segT segment_type; /* N_DATA or N_TEXT. */ { - register char *p; - register int old_fr_fix; - /* int pc_rel; FIXME: remove this */ - - old_fr_fix = fragP->fr_fix; - switch (fragP->fr_subtype) + if (RELAX_LENGTH (fragP->fr_subtype) == STATE_UNDF) { - case ENCODE_RELAX (STATE_PC_RELATIVE, STATE_UNDF): - if (S_GET_SEGMENT (fragP->fr_symbol) == segment_type) + if (S_GET_SEGMENT (fragP->fr_symbol) != segment) { - /* The symbol was in the same segment as the opcode, and it's - a real pc_rel case so it's a relaxable case. */ - fragP->fr_subtype = ENCODE_RELAX (STATE_PC_RELATIVE, STATE_BYTE); - } - else - { - /* This case is still undefined, so asume it's a long word for the - linker to fix. */ - p = fragP->fr_literal + old_fr_fix; - *p |= TAHOE_PC_OR_LONG; - /* We now know how big it will be, one long word. */ - fragP->fr_fix += 1 + 4; - fix_new (fragP, old_fr_fix + 1, fragP->fr_symbol, - fragP->fr_offset, FX_PCREL32, NULL); - frag_wane (fragP); - } - break; + /* Non-relaxable cases. */ + char *p; + int old_fr_fix; - case ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_UNDF): - if (S_GET_SEGMENT (fragP->fr_symbol) == segment_type) - { - fragP->fr_subtype = ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_BYTE); - } - else - { + old_fr_fix = fragP->fr_fix; p = fragP->fr_literal + old_fr_fix; - *fragP->fr_opcode ^= 0x10; /* Reverse sense of branch. */ - *p++ = 6; - *p++ = TAHOE_JMP; - *p++ = TAHOE_PC_REL_LONG; - fragP->fr_fix += 1 + 1 + 1 + 4; - fix_new (fragP, old_fr_fix + 3, fragP->fr_symbol, - fragP->fr_offset, FX_PCREL32, NULL); + switch (RELAX_STATE (fragP->fr_subtype)) + { + case STATE_PC_RELATIVE: + *p |= TAHOE_PC_OR_LONG; + /* We now know how big it will be, one long word. */ + fragP->fr_fix += 1 + 4; + fix_new (fragP, old_fr_fix + 1, fragP->fr_symbol, + fragP->fr_offset, FX_PCREL32, NULL); + break; + + case STATE_CONDITIONAL_BRANCH: + *fragP->fr_opcode ^= 0x10; /* Reverse sense of branch. */ + *p++ = 6; + *p++ = TAHOE_JMP; + *p++ = TAHOE_PC_REL_LONG; + fragP->fr_fix += 1 + 1 + 1 + 4; + fix_new (fragP, old_fr_fix + 3, fragP->fr_symbol, + fragP->fr_offset, FX_PCREL32, NULL); + break; + + case STATE_BIG_REV_BRANCH: + *fragP->fr_opcode ^= 0x10; /* Reverse sense of branch. */ + *p++ = 0; + *p++ = 6; + *p++ = TAHOE_JMP; + *p++ = TAHOE_PC_REL_LONG; + fragP->fr_fix += 2 + 2 + 4; + fix_new (fragP, old_fr_fix + 4, fragP->fr_symbol, + fragP->fr_offset, FX_PCREL32, NULL); + break; + + case STATE_BIG_NON_REV_BRANCH: + *p++ = 2; + *p++ = 0; + *p++ = TAHOE_BRB; + *p++ = 6; + *p++ = TAHOE_JMP; + *p++ = TAHOE_PC_REL_LONG; + fragP->fr_fix += 2 + 2 + 2 + 4; + fix_new (fragP, old_fr_fix + 6, fragP->fr_symbol, + fragP->fr_offset, FX_PCREL32, NULL); + break; + + case STATE_ALWAYS_BRANCH: + *fragP->fr_opcode = TAHOE_JMP; + *p++ = TAHOE_PC_REL_LONG; + fragP->fr_fix += 1 + 4; + fix_new (fragP, old_fr_fix + 1, fragP->fr_symbol, + fragP->fr_offset, FX_PCREL32, NULL); + break; + + default: + abort (); + } frag_wane (fragP); - } - break; - case ENCODE_RELAX (STATE_BIG_REV_BRANCH, STATE_UNDF): - if (S_GET_SEGMENT (fragP->fr_symbol) == segment_type) - { - fragP->fr_subtype = - ENCODE_RELAX (STATE_BIG_REV_BRANCH, STATE_WORD); - } - else - { - p = fragP->fr_literal + old_fr_fix; - *fragP->fr_opcode ^= 0x10; /* Reverse sense of branch. */ - *p++ = 0; - *p++ = 6; - *p++ = TAHOE_JMP; - *p++ = TAHOE_PC_REL_LONG; - fragP->fr_fix += 2 + 2 + 4; - fix_new (fragP, old_fr_fix + 4, fragP->fr_symbol, - fragP->fr_offset, FX_PCREL32, NULL); - frag_wane (fragP); + /* Return the growth in the fixed part of the frag. */ + return fragP->fr_fix - old_fr_fix; } - break; - case ENCODE_RELAX (STATE_BIG_NON_REV_BRANCH, STATE_UNDF): - if (S_GET_SEGMENT (fragP->fr_symbol) == segment_type) + /* Relaxable cases. Set up the initial guess for the variable + part of the frag. */ + switch (RELAX_STATE (fragP->fr_subtype)) { + case STATE_PC_RELATIVE: + fragP->fr_subtype = ENCODE_RELAX (STATE_PC_RELATIVE, STATE_BYTE); + break; + case STATE_CONDITIONAL_BRANCH: + fragP->fr_subtype = ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_BYTE); + break; + case STATE_BIG_REV_BRANCH: + fragP->fr_subtype = ENCODE_RELAX (STATE_BIG_REV_BRANCH, STATE_WORD); + break; + case STATE_BIG_NON_REV_BRANCH: fragP->fr_subtype = ENCODE_RELAX (STATE_BIG_NON_REV_BRANCH, STATE_WORD); - } - else - { - p = fragP->fr_literal + old_fr_fix; - *p++ = 2; - *p++ = 0; - *p++ = TAHOE_BRB; - *p++ = 6; - *p++ = TAHOE_JMP; - *p++ = TAHOE_PC_REL_LONG; - fragP->fr_fix += 2 + 2 + 2 + 4; - fix_new (fragP, old_fr_fix + 6, fragP->fr_symbol, - fragP->fr_offset, FX_PCREL32, NULL); - frag_wane (fragP); - } - break; - - case ENCODE_RELAX (STATE_ALWAYS_BRANCH, STATE_UNDF): - if (S_GET_SEGMENT (fragP->fr_symbol) == segment_type) - { + break; + case STATE_ALWAYS_BRANCH: fragP->fr_subtype = ENCODE_RELAX (STATE_ALWAYS_BRANCH, STATE_BYTE); + break; } - else - { - p = fragP->fr_literal + old_fr_fix; - *fragP->fr_opcode = TAHOE_JMP; - *p++ = TAHOE_PC_REL_LONG; - fragP->fr_fix += 1 + 4; - fix_new (fragP, old_fr_fix + 1, fragP->fr_symbol, - fragP->fr_offset, FX_PCREL32, NULL); - frag_wane (fragP); - } - break; - - default: - break; } - return (fragP->fr_var + fragP->fr_fix - old_fr_fix); -} /* md_estimate_size_before_relax() */ + + if (fragP->fr_subtype >= sizeof (md_relax_table) / sizeof (md_relax_table[0])) + abort (); + + /* Return the size of the variable part of the frag. */ + return md_relax_table[fragP->fr_subtype].rlx_length; +} /* * md_convert_frag(); @@ -754,7 +731,6 @@ md_convert_frag (headers, seg, fragP) { register char *addressP; /* -> _var to change. */ register char *opcodeP; /* -> opcode char(s) to change. */ - register short int length_code; /* 2=long 1=word 0=byte */ register short int extension = 0; /* Size of relaxed address. Added to fr_fix: incl. ALL var chars. */ register symbolS *symbolP; @@ -765,8 +741,6 @@ md_convert_frag (headers, seg, fragP) /* Where, in file space, does addr point? */ know (fragP->fr_type == rs_machine_dependent); - length_code = RELAX_LENGTH (fragP->fr_subtype); - know (length_code >= 0 && length_code < 3); where = fragP->fr_fix; addressP = fragP->fr_literal + where; opcodeP = fragP->fr_opcode; diff -uprN binutils-2.11.90.0.7/gas/config/tc-v850.c binutils-2.11.90.0.8/gas/config/tc-v850.c --- binutils-2.11.90.0.7/gas/config/tc-v850.c Fri Mar 9 11:17:11 2001 +++ binutils-2.11.90.0.8/gas/config/tc-v850.c Sat May 12 00:06:45 2001 @@ -604,8 +604,8 @@ const pseudo_typeS md_pseudo_table[] = { {"call_table_text", v850_call_table_text, 0}, {"v850e", set_machine, bfd_mach_v850e}, {"v850ea", set_machine, bfd_mach_v850ea}, - {"file", dwarf2_directive_file }, - {"loc", dwarf2_directive_loc }, + {"file", dwarf2_directive_file, 0}, + {"loc", dwarf2_directive_loc, 0}, { NULL, NULL, 0} }; @@ -1321,7 +1321,6 @@ md_convert_frag (abfd, sec, fragP) { fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, fragP->fr_offset, 1, BFD_RELOC_UNUSED + (int)fragP->fr_opcode); - fragP->fr_var = 0; fragP->fr_fix += 2; } /* Out of range conditional branch. Emit a branch around a jump. */ @@ -1345,7 +1344,6 @@ md_convert_frag (abfd, sec, fragP) fix_new (fragP, fragP->fr_fix + 2, 4, fragP->fr_symbol, fragP->fr_offset, 1, BFD_RELOC_UNUSED + (int) fragP->fr_opcode + 1); - fragP->fr_var = 0; fragP->fr_fix += 6; } /* Out of range unconditional branch. Emit a jump. */ @@ -1355,7 +1353,6 @@ md_convert_frag (abfd, sec, fragP) fix_new (fragP, fragP->fr_fix, 4, fragP->fr_symbol, fragP->fr_offset, 1, BFD_RELOC_UNUSED + (int) fragP->fr_opcode + 1); - fragP->fr_var = 0; fragP->fr_fix += 4; } else @@ -2315,20 +2312,17 @@ tc_gen_reloc (seg, fixp) return reloc; } -/* Assume everything will fit in two bytes, then expand as necessary. */ +/* Return current size of variable part of frag. */ int md_estimate_size_before_relax (fragp, seg) fragS *fragp; asection *seg ATTRIBUTE_UNUSED; { - if (fragp->fr_subtype == 0) - fragp->fr_var = 4; - else if (fragp->fr_subtype == 2) - fragp->fr_var = 2; - else + if (fragp->fr_subtype >= sizeof (md_relax_table) / sizeof (md_relax_table[0])) abort (); - return 2; + + return md_relax_table[fragp->fr_subtype].rlx_length; } long diff -uprN binutils-2.11.90.0.7/gas/config/tc-vax.c binutils-2.11.90.0.8/gas/config/tc-vax.c --- binutils-2.11.90.0.7/gas/config/tc-vax.c Fri Mar 9 11:17:11 2001 +++ binutils-2.11.90.0.8/gas/config/tc-vax.c Sat May 12 00:06:45 2001 @@ -181,6 +181,8 @@ int flag_no_hash_mixed_case; /* -h NUM * #define C(a,b) ENCODE_RELAX(a,b) /* This macro has no side-effects. */ #define ENCODE_RELAX(what,length) (((what) << 2) + (length)) +#define RELAX_STATE(s) ((s) >> 2) +#define RELAX_LENGTH(s) ((s) & 3) const relax_typeS md_relax_table[] = { @@ -188,25 +190,31 @@ const relax_typeS md_relax_table[] = {1, 1, 0, 0}, /* unused 0,1 */ {1, 1, 0, 0}, /* unused 0,2 */ {1, 1, 0, 0}, /* unused 0,3 */ + {BF + 1, BB + 1, 2, C (1, 1)},/* B^"foo" 1,0 */ {WF + 1, WB + 1, 3, C (1, 2)},/* W^"foo" 1,1 */ {0, 0, 5, 0}, /* L^"foo" 1,2 */ {1, 1, 0, 0}, /* unused 1,3 */ + {BF, BB, 1, C (2, 1)}, /* b B^"foo" 2,0 */ {WF + 2, WB + 2, 4, C (2, 2)},/* br.+? brw X 2,1 */ {0, 0, 7, 0}, /* br.+? jmp X 2,2 */ {1, 1, 0, 0}, /* unused 2,3 */ + {BF, BB, 1, C (3, 1)}, /* brb B^foo 3,0 */ {WF, WB, 2, C (3, 2)}, /* brw W^foo 3,1 */ {0, 0, 5, 0}, /* Jmp L^foo 3,2 */ {1, 1, 0, 0}, /* unused 3,3 */ + {1, 1, 0, 0}, /* unused 4,0 */ {WF, WB, 2, C (4, 2)}, /* acb_ ^Wfoo 4,1 */ {0, 0, 10, 0}, /* acb_,br,jmp L^foo4,2 */ {1, 1, 0, 0}, /* unused 4,3 */ + {BF, BB, 1, C (5, 1)}, /* Xob___,,foo 5,0 */ {WF + 4, WB + 4, 6, C (5, 2)},/* Xob.+2,brb.+3,brw5,1 */ {0, 0, 9, 0}, /* Xob.+2,brb.+6,jmp5,2 */ + {1, 1, 0, 0}, /* unused 5,3 */ }; #undef C @@ -1140,127 +1148,112 @@ md_assemble (instruction_string) } /* for(operandP) */ } /* vax_assemble() */ -/* - * md_estimate_size_before_relax() - * - * Called just before relax(). - * Any symbol that is now undefined will not become defined. - * Return the correct fr_subtype in the frag. - * Return the initial "guess for fr_var" to caller. - * The guess for fr_var is ACTUALLY the growth beyond fr_fix. - * Whatever we do to grow fr_fix or fr_var contributes to our returned value. - * Although it may not be explicit in the frag, pretend fr_var starts with a - * 0 value. - */ +/* md_estimate_size_before_relax(), called just before relax(). + Any symbol that is now undefined will not become defined. + Return the correct fr_subtype in the frag and the growth beyond + fr_fix. */ int md_estimate_size_before_relax (fragP, segment) fragS *fragP; segT segment; { - char *p; - int old_fr_fix; - - old_fr_fix = fragP->fr_fix; - switch (fragP->fr_subtype) + if (RELAX_LENGTH (fragP->fr_subtype) == STATE_UNDF) { - case ENCODE_RELAX (STATE_PC_RELATIVE, STATE_UNDF): - if (S_GET_SEGMENT (fragP->fr_symbol) == segment) - { /* A relaxable case. */ - fragP->fr_subtype = ENCODE_RELAX (STATE_PC_RELATIVE, STATE_BYTE); - } - else + if (S_GET_SEGMENT (fragP->fr_symbol) != segment) { - p = fragP->fr_literal + old_fr_fix; - p[0] |= VAX_PC_RELATIVE_MODE; /* Preserve @ bit. */ - fragP->fr_fix += 1 + 4; - fix_new (fragP, old_fr_fix + 1, 4, fragP->fr_symbol, - fragP->fr_offset, 1, NO_RELOC); - frag_wane (fragP); - } - break; + /* Non-relaxable cases. */ + char *p; + int old_fr_fix; - case ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_UNDF): - if (S_GET_SEGMENT (fragP->fr_symbol) == segment) - { - fragP->fr_subtype = ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_BYTE); - } - else - { + old_fr_fix = fragP->fr_fix; p = fragP->fr_literal + old_fr_fix; - *fragP->fr_opcode ^= 1; /* Reverse sense of branch. */ - p[0] = 6; - p[1] = VAX_JMP; - p[2] = VAX_PC_RELATIVE_MODE; /* ...(PC) */ - fragP->fr_fix += 1 + 1 + 1 + 4; - fix_new (fragP, old_fr_fix + 3, 4, fragP->fr_symbol, - fragP->fr_offset, 1, NO_RELOC); - frag_wane (fragP); - } - break; + switch (RELAX_STATE (fragP->fr_subtype)) + { + case STATE_PC_RELATIVE: + p[0] |= VAX_PC_RELATIVE_MODE; /* Preserve @ bit. */ + fragP->fr_fix += 1 + 4; + fix_new (fragP, old_fr_fix + 1, 4, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); + break; - case ENCODE_RELAX (STATE_COMPLEX_BRANCH, STATE_UNDF): - if (S_GET_SEGMENT (fragP->fr_symbol) == segment) - { - fragP->fr_subtype = ENCODE_RELAX (STATE_COMPLEX_BRANCH, STATE_WORD); - } - else - { - p = fragP->fr_literal + old_fr_fix; - p[0] = 2; - p[1] = 0; - p[2] = VAX_BRB; - p[3] = 6; - p[4] = VAX_JMP; - p[5] = VAX_PC_RELATIVE_MODE; /* ...(pc) */ - fragP->fr_fix += 2 + 2 + 1 + 1 + 4; - fix_new (fragP, old_fr_fix + 6, 4, fragP->fr_symbol, - fragP->fr_offset, 1, NO_RELOC); - frag_wane (fragP); - } - break; + case STATE_CONDITIONAL_BRANCH: + *fragP->fr_opcode ^= 1; /* Reverse sense of branch. */ + p[0] = 6; + p[1] = VAX_JMP; + p[2] = VAX_PC_RELATIVE_MODE; /* ...(PC) */ + fragP->fr_fix += 1 + 1 + 1 + 4; + fix_new (fragP, old_fr_fix + 3, 4, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); + break; - case ENCODE_RELAX (STATE_COMPLEX_HOP, STATE_UNDF): - if (S_GET_SEGMENT (fragP->fr_symbol) == segment) - { - fragP->fr_subtype = ENCODE_RELAX (STATE_COMPLEX_HOP, STATE_BYTE); - } - else - { - p = fragP->fr_literal + old_fr_fix; - p[0] = 2; - p[1] = VAX_BRB; - p[2] = 6; - p[3] = VAX_JMP; - p[4] = VAX_PC_RELATIVE_MODE; /* ...(pc) */ - fragP->fr_fix += 1 + 2 + 1 + 1 + 4; - fix_new (fragP, old_fr_fix + 5, 4, fragP->fr_symbol, - fragP->fr_offset, 1, NO_RELOC); + case STATE_COMPLEX_BRANCH: + p[0] = 2; + p[1] = 0; + p[2] = VAX_BRB; + p[3] = 6; + p[4] = VAX_JMP; + p[5] = VAX_PC_RELATIVE_MODE; /* ...(pc) */ + fragP->fr_fix += 2 + 2 + 1 + 1 + 4; + fix_new (fragP, old_fr_fix + 6, 4, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); + break; + + case STATE_COMPLEX_HOP: + p[0] = 2; + p[1] = VAX_BRB; + p[2] = 6; + p[3] = VAX_JMP; + p[4] = VAX_PC_RELATIVE_MODE; /* ...(pc) */ + fragP->fr_fix += 1 + 2 + 1 + 1 + 4; + fix_new (fragP, old_fr_fix + 5, 4, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); + break; + + case STATE_ALWAYS_BRANCH: + *fragP->fr_opcode += VAX_WIDEN_LONG; + p[0] = VAX_PC_RELATIVE_MODE; /* ...(PC) */ + fragP->fr_fix += 1 + 4; + fix_new (fragP, old_fr_fix + 1, 4, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); + break; + + default: + abort (); + } frag_wane (fragP); + + /* Return the growth in the fixed part of the frag. */ + return fragP->fr_fix - old_fr_fix; } - break; - case ENCODE_RELAX (STATE_ALWAYS_BRANCH, STATE_UNDF): - if (S_GET_SEGMENT (fragP->fr_symbol) == segment) + /* Relaxable cases. Set up the initial guess for the variable + part of the frag. */ + switch (RELAX_STATE (fragP->fr_subtype)) { + case STATE_PC_RELATIVE: + fragP->fr_subtype = ENCODE_RELAX (STATE_PC_RELATIVE, STATE_BYTE); + break; + case STATE_CONDITIONAL_BRANCH: + fragP->fr_subtype = ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_BYTE); + break; + case STATE_COMPLEX_BRANCH: + fragP->fr_subtype = ENCODE_RELAX (STATE_COMPLEX_BRANCH, STATE_WORD); + break; + case STATE_COMPLEX_HOP: + fragP->fr_subtype = ENCODE_RELAX (STATE_COMPLEX_HOP, STATE_BYTE); + break; + case STATE_ALWAYS_BRANCH: fragP->fr_subtype = ENCODE_RELAX (STATE_ALWAYS_BRANCH, STATE_BYTE); + break; } - else - { - p = fragP->fr_literal + old_fr_fix; - *fragP->fr_opcode += VAX_WIDEN_LONG; - p[0] = VAX_PC_RELATIVE_MODE; /* ...(PC) */ - fragP->fr_fix += 1 + 4; - fix_new (fragP, old_fr_fix + 1, 4, fragP->fr_symbol, - fragP->fr_offset, 1, NO_RELOC); - frag_wane (fragP); - } - break; - - default: - break; } - return (fragP->fr_var + fragP->fr_fix - old_fr_fix); -} /* md_estimate_size_before_relax() */ + + if (fragP->fr_subtype >= sizeof (md_relax_table) / sizeof (md_relax_table[0])) + abort (); + + /* Return the size of the variable part of the frag. */ + return md_relax_table[fragP->fr_subtype].rlx_length; +} /* * md_convert_frag(); @@ -1281,7 +1274,6 @@ md_convert_frag (headers, seg, fragP) { char *addressP; /* -> _var to change. */ char *opcodeP; /* -> opcode char(s) to change. */ - short int length_code; /* 2=long 1=word 0=byte */ short int extension = 0; /* Size of relaxed address. */ /* Added to fr_fix: incl. ALL var chars. */ symbolS *symbolP; @@ -1292,8 +1284,6 @@ md_convert_frag (headers, seg, fragP) /* Where, in file space, does addr point? */ know (fragP->fr_type == rs_machine_dependent); - length_code = fragP->fr_subtype & 3; /* depends on ENCODE_RELAX() */ - know (length_code >= 0 && length_code < 3); where = fragP->fr_fix; addressP = fragP->fr_literal + where; opcodeP = fragP->fr_opcode; diff -uprN binutils-2.11.90.0.7/gas/configure binutils-2.11.90.0.8/gas/configure --- binutils-2.11.90.0.7/gas/configure Fri Apr 27 14:03:49 2001 +++ binutils-2.11.90.0.8/gas/configure Wed May 2 23:45:33 2001 @@ -55,6 +55,7 @@ program_suffix=NONE program_transform_name=s,x,x, silent= site= +sitefile= srcdir= target=NONE verbose= @@ -169,6 +170,7 @@ Configuration: --help print this message --no-create do not create output files --quiet, --silent do not print \`checking...' messages + --site-file=FILE use FILE as the site file --version print the version of autoconf that created configure Directory and file names: --prefix=PREFIX install architecture-independent files in PREFIX @@ -339,6 +341,11 @@ EOF -site=* | --site=* | --sit=*) site="$ac_optarg" ;; + -site-file | --site-file | --site-fil | --site-fi | --site-f) + ac_prev=sitefile ;; + -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*) + sitefile="$ac_optarg" ;; + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) @@ -504,12 +511,16 @@ fi srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +if test -z "$sitefile"; then + if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi fi +else + CONFIG_SITE="$sitefile" fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then @@ -548,12 +559,12 @@ else fi echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:552: checking for Cygwin environment" >&5 +echo "configure:563: checking for Cygwin environment" >&5 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:579: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_cygwin=yes else @@ -581,19 +592,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6 CYGWIN= test "$ac_cv_cygwin" = yes && CYGWIN=yes echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 -echo "configure:585: checking for mingw32 environment" >&5 +echo "configure:596: checking for mingw32 environment" >&5 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:608: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_mingw32=yes else @@ -658,7 +669,7 @@ else { echo "configure: error: can not r fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:662: checking host system type" >&5 +echo "configure:673: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -679,7 +690,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)- echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:683: checking target system type" >&5 +echo "configure:694: checking target system type" >&5 target_alias=$target case "$target_alias" in @@ -697,7 +708,7 @@ target_os=`echo $target | sed 's/^\([^-] echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:701: checking build system type" >&5 +echo "configure:712: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -722,7 +733,7 @@ test "$host_alias" != "$target_alias" && # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:726: checking for $ac_word" >&5 +echo "configure:737: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -752,7 +763,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:756: checking for $ac_word" >&5 +echo "configure:767: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -803,7 +814,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:807: checking for $ac_word" >&5 +echo "configure:818: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -835,7 +846,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:839: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:850: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -846,12 +857,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 850 "configure" +#line 861 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -877,12 +888,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:881: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:892: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:886: checking whether we are using GNU C" >&5 +echo "configure:897: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -891,7 +902,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:895: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:906: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -910,7 +921,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:914: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:925: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -942,7 +953,7 @@ else fi echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:946: checking for POSIXized ISC" >&5 +echo "configure:957: checking for POSIXized ISC" >&5 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then @@ -976,7 +987,7 @@ BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOM # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:980: checking for a BSD compatible install" >&5 +echo "configure:991: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1029,7 +1040,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCR test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:1033: checking whether build environment is sane" >&5 +echo "configure:1044: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -1086,7 +1097,7 @@ test "$program_suffix" != NONE && test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:1090: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1101: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1132,7 +1143,7 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:1136: checking for working aclocal" >&5 +echo "configure:1147: checking for working aclocal" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1145,7 +1156,7 @@ else fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:1149: checking for working autoconf" >&5 +echo "configure:1160: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1158,7 +1169,7 @@ else fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:1162: checking for working automake" >&5 +echo "configure:1173: checking for working automake" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1171,7 +1182,7 @@ else fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:1175: checking for working autoheader" >&5 +echo "configure:1186: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1184,7 +1195,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:1188: checking for working makeinfo" >&5 +echo "configure:1199: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1279,7 +1290,7 @@ ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:1283: checking for ld used by GCC" >&5 +echo "configure:1294: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -1309,10 +1320,10 @@ echo "configure:1283: checking for ld us esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1313: checking for GNU ld" >&5 +echo "configure:1324: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1316: checking for non-GNU ld" >&5 +echo "configure:1327: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1347,7 +1358,7 @@ else fi test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 -echo "configure:1351: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:1362: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1364,7 +1375,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6 -echo "configure:1368: checking for $LD option to reload object files" >&5 +echo "configure:1379: checking for $LD option to reload object files" >&5 if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1376,7 +1387,7 @@ reload_flag=$lt_cv_ld_reload_flag test -n "$reload_flag" && reload_flag=" $reload_flag" echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:1380: checking for BSD-compatible nm" >&5 +echo "configure:1391: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1414,7 +1425,7 @@ NM="$lt_cv_path_NM" echo "$ac_t""$NM" 1>&6 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1418: checking whether ln -s works" >&5 +echo "configure:1429: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1435,7 +1446,7 @@ else fi echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 -echo "configure:1439: checking how to recognise dependant libraries" >&5 +echo "configure:1450: checking how to recognise dependant libraries" >&5 if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1595,13 +1606,13 @@ file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method echo $ac_n "checking for object suffix""... $ac_c" 1>&6 -echo "configure:1599: checking for object suffix" >&5 +echo "configure:1610: checking for object suffix" >&5 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else rm -f conftest* echo 'int i = 1;' > conftest.$ac_ext -if { (eval echo configure:1605: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1616: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -1621,7 +1632,7 @@ ac_objext=$ac_cv_objext echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1625: checking for executable suffix" >&5 +echo "configure:1636: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1631,10 +1642,10 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:1635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:1646: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in - *.c | *.o | *.obj) ;; + *.c | *.o | *.obj | *.ilk | *.pdb) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done @@ -1664,7 +1675,7 @@ case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6 -echo "configure:1668: checking for ${ac_tool_prefix}file" >&5 +echo "configure:1679: checking for ${ac_tool_prefix}file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1726,7 +1737,7 @@ fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then echo $ac_n "checking for file""... $ac_c" 1>&6 -echo "configure:1730: checking for file" >&5 +echo "configure:1741: checking for file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1797,7 +1808,7 @@ esac # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1801: checking for $ac_word" >&5 +echo "configure:1812: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1829,7 +1840,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1833: checking for $ac_word" >&5 +echo "configure:1844: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1864,7 +1875,7 @@ fi # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1868: checking for $ac_word" >&5 +echo "configure:1879: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1896,7 +1907,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1900: checking for $ac_word" >&5 +echo "configure:1911: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1963,8 +1974,8 @@ test x"$pic_mode" = xno && libtool_flags case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 1967 "configure"' > conftest.$ac_ext - if { (eval echo configure:1968: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 1978 "configure"' > conftest.$ac_ext + if { (eval echo configure:1979: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" @@ -1985,7 +1996,7 @@ case $host in SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 -echo "configure:1989: checking whether the C compiler needs -belf" >&5 +echo "configure:2000: checking whether the C compiler needs -belf" >&5 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1998,14 +2009,14 @@ ac_link='${CC-cc} -o conftest${ac_exeext cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2020: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lt_cv_cc_needs_belf=yes else @@ -2464,7 +2475,6 @@ EOF mips-*-ultrix*) fmt=ecoff endian=little ;; mips-*-osf*) fmt=ecoff endian=little ;; mips-*-ecoff*) fmt=ecoff ;; - mips-*-ecoff*) fmt=ecoff ;; mips-*-pe*) fmt=coff endian=little em=pe ;; mips-*-irix6*) fmt=elf ;; mips-*-irix5*) fmt=elf ;; @@ -2484,6 +2494,7 @@ EOF ;; mn10200-*-*) fmt=elf bfd_gas=yes ;; mn10300-*-*) fmt=elf bfd_gas=yes ;; + openrisc-*-*) fmt=elf bfd_gas=yes ;; pj*) fmt=elf ;; ppc-*-pe | ppc-*-cygwin* | ppc-*-winnt*) fmt=coff em=pe ;; @@ -2656,7 +2667,7 @@ EOF # Any other special object files needed ? case ${cpu_type} in - fr30 | m32r) + fr30 | m32r | openrisc) using_cgen=yes ;; @@ -3086,7 +3097,7 @@ EOF # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3090: checking for $ac_word" >&5 +echo "configure:3101: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3116,7 +3127,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3120: checking for $ac_word" >&5 +echo "configure:3131: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3167,7 +3178,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3171: checking for $ac_word" >&5 +echo "configure:3182: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3199,7 +3210,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:3203: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:3214: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -3210,12 +3221,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 3214 "configure" +#line 3225 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:3219: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3230: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -3241,12 +3252,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:3245: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:3256: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:3250: checking whether we are using GNU C" >&5 +echo "configure:3261: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3255,7 +3266,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:3259: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:3270: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -3274,7 +3285,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:3278: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:3289: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3311,7 +3322,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3315: checking for $ac_word" >&5 +echo "configure:3326: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3342,7 +3353,7 @@ done test -n "$YACC" || YACC="yacc" echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:3346: checking how to run the C preprocessor" >&5 +echo "configure:3357: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -3357,13 +3368,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3367: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3378: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -3374,13 +3385,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3384: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3395: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -3391,13 +3402,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3401: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3412: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -3427,7 +3438,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3431: checking for $ac_word" >&5 +echo "configure:3442: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3460,7 +3471,7 @@ test -n "$LEX" || LEX=""$missing_dir/mis # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3464: checking for $ac_word" >&5 +echo "configure:3475: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3494,7 +3505,7 @@ then *) ac_lib=l ;; esac echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 -echo "configure:3498: checking for yywrap in -l$ac_lib" >&5 +echo "configure:3509: checking for yywrap in -l$ac_lib" >&5 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3502,7 +3513,7 @@ else ac_save_LIBS="$LIBS" LIBS="-l$ac_lib $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3536,7 +3547,7 @@ fi fi echo $ac_n "checking lex output file root""... $ac_c" 1>&6 -echo "configure:3540: checking lex output file root" >&5 +echo "configure:3551: checking lex output file root" >&5 if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3557,7 +3568,7 @@ echo "$ac_t""$ac_cv_prog_lex_root" 1>&6 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6 -echo "configure:3561: checking whether yytext is a pointer" >&5 +echo "configure:3572: checking whether yytext is a pointer" >&5 if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3569,14 +3580,14 @@ echo 'extern char *yytext;' >>$LEX_OUTPU ac_save_LIBS="$LIBS" LIBS="$LIBS $LEXLIB" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_prog_lex_yytext_pointer=yes else @@ -3602,7 +3613,7 @@ ALL_LINGUAS= # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3606: checking for $ac_word" >&5 +echo "configure:3617: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3630,12 +3641,12 @@ else fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3634: checking for ANSI C header files" >&5 +echo "configure:3645: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -3643,7 +3654,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3647: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3658: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3660,7 +3671,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3678,7 +3689,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3699,7 +3710,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -3710,7 +3721,7 @@ if (XOR (islower (i), ISLOWER (i)) || to exit (0); } EOF -if { (eval echo configure:3714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3725: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -3734,12 +3745,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3738: checking for working const" >&5 +echo "configure:3749: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3803: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -3809,21 +3820,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:3813: checking for inline" >&5 +echo "configure:3824: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3838: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -3849,12 +3860,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:3853: checking for off_t" >&5 +echo "configure:3864: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3882,12 +3893,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3886: checking for size_t" >&5 +echo "configure:3897: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3917,19 +3928,19 @@ fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:3921: checking for working alloca.h" >&5 +echo "configure:3932: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:3933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -3950,12 +3961,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:3954: checking for alloca" >&5 +echo "configure:3965: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -4015,12 +4026,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:4019: checking whether alloca needs Cray hooks" >&5 +echo "configure:4030: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4049: checking for $ac_func" >&5 +echo "configure:4060: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4088: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4100,7 +4111,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:4104: checking stack direction for C alloca" >&5 +echo "configure:4115: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4108,7 +4119,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -4152,17 +4163,17 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4156: checking for $ac_hdr" >&5 +echo "configure:4167: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4166: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4177: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4191,12 +4202,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4195: checking for $ac_func" >&5 +echo "configure:4206: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4244,7 +4255,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:4248: checking for working mmap" >&5 +echo "configure:4259: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4252,7 +4263,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -4420,17 +4431,17 @@ unistd.h values.h sys/param.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4424: checking for $ac_hdr" >&5 +echo "configure:4435: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4434: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4445: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4460,12 +4471,12 @@ done __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4464: checking for $ac_func" >&5 +echo "configure:4475: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4503: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4517,12 +4528,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4521: checking for $ac_func" >&5 +echo "configure:4532: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4579,19 +4590,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:4583: checking for LC_MESSAGES" >&5 +echo "configure:4594: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:4595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -4612,7 +4623,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:4616: checking whether NLS is requested" >&5 +echo "configure:4627: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -4632,7 +4643,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:4636: checking whether included gettext is requested" >&5 +echo "configure:4647: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -4651,17 +4662,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:4655: checking for libintl.h" >&5 +echo "configure:4666: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4665: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4676: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4678,19 +4689,19 @@ fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:4682: checking for gettext in libc" >&5 +echo "configure:4693: checking for gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:4694: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libc=yes else @@ -4706,7 +4717,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1 if test "$gt_cv_func_gettext_libc" != "yes"; then echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:4710: checking for bindtextdomain in -lintl" >&5 +echo "configure:4721: checking for bindtextdomain in -lintl" >&5 ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4714,7 +4725,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4741,19 +4752,19 @@ fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:4745: checking for gettext in libintl" >&5 +echo "configure:4756: checking for gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libintl=yes else @@ -4781,7 +4792,7 @@ EOF # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4785: checking for $ac_word" >&5 +echo "configure:4796: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4815,12 +4826,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4819: checking for $ac_func" >&5 +echo "configure:4830: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4870,7 +4881,7 @@ done # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4874: checking for $ac_word" >&5 +echo "configure:4885: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4906,7 +4917,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4910: checking for $ac_word" >&5 +echo "configure:4921: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4938,7 +4949,7 @@ else fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -4978,7 +4989,7 @@ fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4982: checking for $ac_word" >&5 +echo "configure:4993: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5012,7 +5023,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5016: checking for $ac_word" >&5 +echo "configure:5027: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5048,7 +5059,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5052: checking for $ac_word" >&5 +echo "configure:5063: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5138,7 +5149,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:5142: checking for catalogs to be installed" >&5 +echo "configure:5153: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -5166,17 +5177,17 @@ echo "configure:5142: checking for catal if test "$CATOBJEXT" = ".cat"; then ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:5170: checking for linux/version.h" >&5 +echo "configure:5181: checking for linux/version.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5180: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5191: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5239,7 +5250,7 @@ fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:5243: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:5254: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" @@ -5264,7 +5275,7 @@ fi echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:5268: checking for executable suffix" >&5 +echo "configure:5279: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5274,10 +5285,10 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:5278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:5289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in - *.c | *.o | *.obj) ;; + *.c | *.o | *.obj | *.ilk | *.pdb) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done @@ -5299,17 +5310,17 @@ for ac_hdr in string.h stdlib.h memory.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5303: checking for $ac_hdr" >&5 +echo "configure:5314: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5313: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5324: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5339,7 +5350,7 @@ done # Put this here so that autoconf's "cross-compiling" message doesn't confuse # people who are not cross-compiling but are compiling cross-assemblers. echo $ac_n "checking whether compiling a cross-assembler""... $ac_c" 1>&6 -echo "configure:5343: checking whether compiling a cross-assembler" >&5 +echo "configure:5354: checking whether compiling a cross-assembler" >&5 if test "${host}" = "${target}"; then cross_gas=no else @@ -5354,19 +5365,19 @@ echo "$ac_t""$cross_gas" 1>&6 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:5358: checking for working alloca.h" >&5 +echo "configure:5369: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:5370: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -5387,12 +5398,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:5391: checking for alloca" >&5 +echo "configure:5402: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -5452,12 +5463,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:5456: checking whether alloca needs Cray hooks" >&5 +echo "configure:5467: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5486: checking for $ac_func" >&5 +echo "configure:5497: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5537,7 +5548,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:5541: checking stack direction for C alloca" >&5 +echo "configure:5552: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5545,7 +5556,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5579: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -5586,21 +5597,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:5590: checking for inline" >&5 +echo "configure:5601: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5615: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -5630,12 +5641,12 @@ esac for ac_func in unlink remove do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5634: checking for $ac_func" >&5 +echo "configure:5645: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5687,12 +5698,12 @@ done for ac_func in sbrk do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5691: checking for $ac_func" >&5 +echo "configure:5702: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5750,7 +5761,7 @@ case $host in ;; *-ncr-sysv4.3*) echo $ac_n "checking for _mwvalidcheckl in -lmw""... $ac_c" 1>&6 -echo "configure:5754: checking for _mwvalidcheckl in -lmw" >&5 +echo "configure:5765: checking for _mwvalidcheckl in -lmw" >&5 ac_lib_var=`echo mw'_'_mwvalidcheckl | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5758,7 +5769,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lmw $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5790,7 +5801,7 @@ else fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:5794: checking for main in -lm" >&5 +echo "configure:5805: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5798,14 +5809,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5828,7 +5839,7 @@ fi ;; *) echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:5832: checking for main in -lm" >&5 +echo "configure:5843: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5836,14 +5847,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5874,12 +5885,12 @@ esac # enough, but on some of those systems, the assert macro relies on requoting # working properly! echo $ac_n "checking for working assert macro""... $ac_c" 1>&6 -echo "configure:5878: checking for working assert macro" >&5 +echo "configure:5889: checking for working assert macro" >&5 if eval "test \"`echo '$''{'gas_cv_assert_ok'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5895,7 +5906,7 @@ assert (a == b ; return 0; } EOF -if { (eval echo configure:5899: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_assert_ok=yes else @@ -5936,12 +5947,12 @@ gas_test_headers=" " echo $ac_n "checking whether declaration is required for strstr""... $ac_c" 1>&6 -echo "configure:5940: checking whether declaration is required for strstr" >&5 +echo "configure:5951: checking whether declaration is required for strstr" >&5 if eval "test \"`echo '$''{'gas_cv_decl_needed_strstr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_decl_needed_strstr=no else @@ -5973,12 +5984,12 @@ fi echo $ac_n "checking whether declaration is required for malloc""... $ac_c" 1>&6 -echo "configure:5977: checking whether declaration is required for malloc" >&5 +echo "configure:5988: checking whether declaration is required for malloc" >&5 if eval "test \"`echo '$''{'gas_cv_decl_needed_malloc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_decl_needed_malloc=no else @@ -6010,12 +6021,12 @@ fi echo $ac_n "checking whether declaration is required for free""... $ac_c" 1>&6 -echo "configure:6014: checking whether declaration is required for free" >&5 +echo "configure:6025: checking whether declaration is required for free" >&5 if eval "test \"`echo '$''{'gas_cv_decl_needed_free'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_decl_needed_free=no else @@ -6047,12 +6058,12 @@ fi echo $ac_n "checking whether declaration is required for sbrk""... $ac_c" 1>&6 -echo "configure:6051: checking whether declaration is required for sbrk" >&5 +echo "configure:6062: checking whether declaration is required for sbrk" >&5 if eval "test \"`echo '$''{'gas_cv_decl_needed_sbrk'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_decl_needed_sbrk=no else @@ -6084,12 +6095,12 @@ fi echo $ac_n "checking whether declaration is required for environ""... $ac_c" 1>&6 -echo "configure:6088: checking whether declaration is required for environ" >&5 +echo "configure:6099: checking whether declaration is required for environ" >&5 if eval "test \"`echo '$''{'gas_cv_decl_needed_environ'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_decl_needed_environ=no else @@ -6124,12 +6135,12 @@ fi # for it? echo $ac_n "checking whether declaration is required for errno""... $ac_c" 1>&6 -echo "configure:6128: checking whether declaration is required for errno" >&5 +echo "configure:6139: checking whether declaration is required for errno" >&5 if eval "test \"`echo '$''{'gas_cv_decl_needed_errno'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_decl_needed_errno=no else diff -uprN binutils-2.11.90.0.7/gas/configure.in binutils-2.11.90.0.8/gas/configure.in --- binutils-2.11.90.0.7/gas/configure.in Fri Apr 27 14:03:50 2001 +++ binutils-2.11.90.0.8/gas/configure.in Wed May 2 23:45:34 2001 @@ -340,7 +340,6 @@ changequote([,])dnl mips-*-ultrix*) fmt=ecoff endian=little ;; mips-*-osf*) fmt=ecoff endian=little ;; mips-*-ecoff*) fmt=ecoff ;; - mips-*-ecoff*) fmt=ecoff ;; mips-*-pe*) fmt=coff endian=little em=pe ;; mips-*-irix6*) fmt=elf ;; mips-*-irix5*) fmt=elf ;; @@ -358,6 +357,7 @@ changequote([,])dnl ;; mn10200-*-*) fmt=elf bfd_gas=yes ;; mn10300-*-*) fmt=elf bfd_gas=yes ;; + openrisc-*-*) fmt=elf bfd_gas=yes ;; pj*) fmt=elf ;; ppc-*-pe | ppc-*-cygwin* | ppc-*-winnt*) fmt=coff em=pe ;; @@ -526,7 +526,7 @@ changequote([,])dnl # Any other special object files needed ? case ${cpu_type} in - fr30 | m32r) + fr30 | m32r | openrisc) using_cgen=yes ;; diff -uprN binutils-2.11.90.0.7/gas/doc/Makefile.in binutils-2.11.90.0.8/gas/doc/Makefile.in --- binutils-2.11.90.0.7/gas/doc/Makefile.in Tue Apr 24 09:29:01 2001 +++ binutils-2.11.90.0.8/gas/doc/Makefile.in Wed May 2 23:45:37 2001 @@ -183,7 +183,7 @@ DIST_COMMON = Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = gtar +TAR = tar GZIP_ENV = --best all: all-redirect .SUFFIXES: diff -uprN binutils-2.11.90.0.7/gas/doc/c-arc.texi binutils-2.11.90.0.8/gas/doc/c-arc.texi --- binutils-2.11.90.0.7/gas/doc/c-arc.texi Fri Mar 9 11:17:14 2001 +++ binutils-2.11.90.0.8/gas/doc/c-arc.texi Sat May 12 08:22:56 2001 @@ -13,7 +13,7 @@ @chapter ARC Dependent Features @end ifclear -@set ARC_CORE_DEFAULT 5 +@set ARC_CORE_DEFAULT 6 @cindex ARC support @menu diff -uprN binutils-2.11.90.0.7/gas/ecoff.c binutils-2.11.90.0.8/gas/ecoff.c --- binutils-2.11.90.0.7/gas/ecoff.c Fri Mar 9 11:16:40 2001 +++ binutils-2.11.90.0.8/gas/ecoff.c Wed May 2 23:30:53 2001 @@ -1,5 +1,5 @@ /* ECOFF debugging support. - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 + Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. Contributed by Cygnus Support. This file was put together by Ian Lance Taylor . A @@ -2190,7 +2190,7 @@ ecoff_get_cur_proc_sym () static void add_file (file_name, indx, fake) const char *file_name; /* file name */ - int indx; + int indx ATTRIBUTE_UNUSED; int fake; { register int first_ch; @@ -2426,7 +2426,7 @@ st_to_string (symbol_type) void ecoff_directive_begin (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { char *name; char name_end; @@ -2464,7 +2464,7 @@ ecoff_directive_begin (ignore) void ecoff_directive_bend (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { char *name; char name_end; @@ -2523,7 +2523,7 @@ static int coff_inside_enumeration; void ecoff_directive_def (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { char *name; char name_end; @@ -2569,7 +2569,7 @@ ecoff_directive_def (ignore) void ecoff_directive_dim (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { int dimens[N_TQ]; int i; @@ -2619,7 +2619,7 @@ ecoff_directive_dim (ignore) void ecoff_directive_scl (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { long val; @@ -2644,7 +2644,7 @@ ecoff_directive_scl (ignore) void ecoff_directive_size (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { int sizes[N_TQ]; int i; @@ -2694,7 +2694,7 @@ ecoff_directive_size (ignore) void ecoff_directive_type (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { long val; tq_t *tq_ptr; @@ -2763,7 +2763,7 @@ ecoff_directive_type (ignore) void ecoff_directive_tag (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { char *name; char name_end; @@ -2791,7 +2791,7 @@ ecoff_directive_tag (ignore) void ecoff_directive_val (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { expressionS exp; @@ -2826,7 +2826,7 @@ ecoff_directive_val (ignore) void ecoff_directive_endef (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { char *name; symint_t indx; @@ -3006,7 +3006,7 @@ ecoff_directive_endef (ignore) void ecoff_directive_end (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { char *name; char name_end; @@ -3063,7 +3063,7 @@ ecoff_directive_end (ignore) void ecoff_directive_ent (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { char *name; char name_end; @@ -3116,7 +3116,7 @@ ecoff_directive_ent (ignore) void ecoff_directive_extern (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { char *name; int c; @@ -3141,7 +3141,7 @@ ecoff_directive_extern (ignore) void ecoff_directive_file (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { int indx; char *name; @@ -3168,7 +3168,7 @@ ecoff_directive_file (ignore) void ecoff_directive_fmask (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { long val; @@ -3197,7 +3197,7 @@ ecoff_directive_fmask (ignore) void ecoff_directive_frame (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { long val; @@ -3238,7 +3238,7 @@ ecoff_directive_frame (ignore) void ecoff_directive_mask (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { long val; @@ -3267,7 +3267,7 @@ ecoff_directive_mask (ignore) void ecoff_directive_loc (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { lineno_list_t *list; symint_t lineno; @@ -3364,7 +3364,7 @@ ecoff_fix_loc (old_frag, old_frag_offset static void mark_stabs (ignore) - int ignore; + int ignore ATTRIBUTE_UNUSED; { if (! stabs_seen) { @@ -3461,7 +3461,7 @@ ecoff_directive_weakext (ignore) void ecoff_stab (sec, what, string, type, other, desc) - segT sec; + segT sec ATTRIBUTE_UNUSED; int what; const char *string; int type; @@ -3620,7 +3620,7 @@ ecoff_frob_symbol (sym) { if (S_IS_COMMON (sym) && S_GET_VALUE (sym) > 0 - && S_GET_VALUE (sym) <= bfd_get_gp_size (stdoutput)) + && S_GET_VALUE (sym) <= (unsigned) bfd_get_gp_size (stdoutput)) { static asection scom_section; static asymbol scom_symbol; @@ -3691,7 +3691,7 @@ ecoff_padding_adjust (backend, buf, bufe unsigned long add; add = align - (offset & (align - 1)); - if (*bufend - (*buf + offset) < add) + if ((unsigned long) (*bufend - (*buf + offset)) < add) (void) ecoff_add_bytes (buf, bufend, *buf + offset, add); memset (*buf + offset, 0, add); offset += add; @@ -4085,7 +4085,7 @@ ecoff_build_symbols (backend, buf, bufen s = symbol_get_obj (as_sym)->ecoff_extern_size; if (s == 0 - || s > bfd_get_gp_size (stdoutput)) + || s > (unsigned) bfd_get_gp_size (stdoutput)) sc = sc_Undefined; else { @@ -4100,7 +4100,7 @@ ecoff_build_symbols (backend, buf, bufen { if (S_GET_VALUE (as_sym) > 0 && (S_GET_VALUE (as_sym) - <= bfd_get_gp_size (stdoutput))) + <= (unsigned) bfd_get_gp_size (stdoutput))) sc = sc_SCommon; else sc = sc_Common; @@ -4255,7 +4255,7 @@ ecoff_build_symbols (backend, buf, bufen if (local) { - if (*bufend - sym_out < external_sym_size) + if ((bfd_size_type)(*bufend - sym_out) < external_sym_size) sym_out = ecoff_add_bytes (buf, bufend, sym_out, external_sym_size); @@ -4373,7 +4373,7 @@ ecoff_build_procs (backend, buf, bufend, first = 0; } proc_ptr->pdr.adr = adr - fil_ptr->fdr.adr; - if (*bufend - pdr_out < external_pdr_size) + if ((bfd_size_type)(*bufend - pdr_out) < external_pdr_size) pdr_out = ecoff_add_bytes (buf, bufend, pdr_out, external_pdr_size); @@ -4446,7 +4446,8 @@ ecoff_build_aux (backend, buf, bufend, o aux_end = aux_ptr + aux_cnt; for (; aux_ptr < aux_end; aux_ptr++) { - if (*bufend - (char *) aux_out < sizeof (union aux_ext)) + if ((unsigned long) (*bufend - (char *) aux_out) + < sizeof (union aux_ext)) aux_out = ((union aux_ext *) ecoff_add_bytes (buf, bufend, (char *) aux_out, @@ -4531,7 +4532,7 @@ ecoff_build_strings (buf, bufend, offset else str_cnt = vp->objects_per_page; - if (*bufend - str_out < str_cnt) + if ((unsigned long)(*bufend - str_out) < str_cnt) str_out = ecoff_add_bytes (buf, bufend, str_out, str_cnt); memcpy (str_out, str_link->datum->byte, str_cnt); @@ -4622,7 +4623,7 @@ ecoff_build_fdr (backend, buf, bufend, o fil_end = fil_ptr + fil_cnt; for (; fil_ptr < fil_end; fil_ptr++) { - if (*bufend - fdr_out < external_fdr_size) + if ((bfd_size_type)(*bufend - fdr_out) < external_fdr_size) fdr_out = ecoff_add_bytes (buf, bufend, fdr_out, external_fdr_size); (*swap_fdr_out) (stdoutput, &fil_ptr->fdr, fdr_out); @@ -4772,7 +4773,7 @@ ecoff_build_debug (hdr, bufp, backend) space at this point. */ hdr->ipdMax = proc_cnt; hdr->cbPdOffset = offset; - if (bufend - (buf + offset) < proc_cnt * external_pdr_size) + if ((bfd_size_type)(bufend - (buf + offset)) < proc_cnt * external_pdr_size) (void) ecoff_add_bytes (&buf, &bufend, buf + offset, proc_cnt * external_pdr_size); offset += proc_cnt * external_pdr_size; diff -uprN binutils-2.11.90.0.7/gas/itbl-ops.c binutils-2.11.90.0.8/gas/itbl-ops.c --- binutils-2.11.90.0.7/gas/itbl-ops.c Fri Mar 9 11:16:42 2001 +++ binutils-2.11.90.0.8/gas/itbl-ops.c Wed May 2 23:30:54 2001 @@ -1,5 +1,5 @@ /* itbl-ops.c - Copyright 1997, 1999, 2000 Free Software Foundation, Inc. + Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -500,7 +500,7 @@ unsigned long itbl_assemble (char *name, char *s) { unsigned long opcode; - struct itbl_entry *e; + struct itbl_entry *e = NULL; struct itbl_field *f; char *n; int processor; diff -uprN binutils-2.11.90.0.7/gas/testsuite/ChangeLog binutils-2.11.90.0.8/gas/testsuite/ChangeLog --- binutils-2.11.90.0.7/gas/testsuite/ChangeLog Fri Apr 6 15:33:18 2001 +++ binutils-2.11.90.0.8/gas/testsuite/ChangeLog Sat May 12 08:23:03 2001 @@ -1,3 +1,39 @@ +2001-05-12 Peter Targett + + * gas/arc/st.s: Add test case @h30 fixup. + * gas/arc/st.d: Update to suit. + +2001-05-12 Alan Modra + + * gas/i386/sse2.s: Correct cvtps2dq, movdq2q, and movq2dq + * gas/i386/sse2.d: Likewise. Fix pmuludq and punpckhqdq too. + + * gas/i386/ssemmx2.d: Correct movq. + +2001-05-10 Hans-Peter Nilsson + + * gas/cris/rd-dw2-10.d: Tweak for change in gas dwarf2 line number + handling. + +2001-05-04 Alan Modra + + * gas/i386/katmai.d: Correct pmovmskb and pextrw opcodes. + * gas/i386/ssemmx2.d: Likewise. Correct register for pextrw, + pinsrw, and pmovmskb. + * gas/i386/sse2.d: Correct register for movmskpd. + +2001-05-02 Johan Rydberg + + * gas/openrisc/addi.s: New file. + * gas/openrisc/addi.d: Likewise. + * gas/openrisc/allinsn.exp: Likewise. + * gas/openrisc/allinsn.s: Likewise. + * gas/openrisc/allinsn.d: Likewise. + * gas/openrisc/lohi.s: Likewise. + * gas/openrisc/lohi.d: Likewise. + * gas/openrisc/store.s: Likewise. + * gas/openrisc/store.d: Likewise. + 2001-04-05 Hans-Peter Nilsson * gas/cris/rd-dw2-1.d, gas/cris/rd-dw2-2.d, gas/cris/rd-dw2-3.d, diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/arc/st.d binutils-2.11.90.0.8/gas/testsuite/gas/arc/st.d --- binutils-2.11.90.0.7/gas/testsuite/gas/arc/st.d Tue Jan 23 11:00:16 2001 +++ binutils-2.11.90.0.8/gas/testsuite/gas/arc/st.d Sat May 12 08:23:07 2001 @@ -23,5 +23,11 @@ Disassembly of section .text: 34: 02 02 01 14 14010202 st.di r1,\[r2,2\] 38: 03 02 01 15 15010203 st.a.di r1,\[r2,3\] 3c: 04 02 81 15 15810204 stw.a.di r1,\[r2,4\] - 40: 00 02 01 12 12010200 sr r1,\[r2\] - 44: 0e 82 1f 12 121f820e sr r1,\[0xe\] + 40: 04 7c 06 10 10067c04 st 80,\[r12,4\] + 44: 50 00 00 00 + 44: R_ARC_32 .text + 48: 04 7c 06 10 10067c04 st 20,\[r12,4\] + 4c: 14 00 00 00 + 4c: R_ARC_B26 .text + 50: 00 02 01 12 12010200 sr r1,\[r2\] + 54: 0e 82 1f 12 121f820e sr r1,\[0xe\] diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/arc/st.s binutils-2.11.90.0.8/gas/testsuite/gas/arc/st.s --- binutils-2.11.90.0.7/gas/testsuite/gas/arc/st.s Tue Jan 23 11:00:16 2001 +++ binutils-2.11.90.0.8/gas/testsuite/gas/arc/st.s Sat May 12 08:23:07 2001 @@ -13,6 +13,10 @@ st.di r1,[r2,2] st.a.di r1,[r2,3] stw.a.di r1,[r2,4] - + + st .L1,[r12,4] + st .L1@h30,[r12,4] +.L1: + sr r1,[r2] sr r1,[14] diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/cris/rd-dw2-10.d binutils-2.11.90.0.8/gas/testsuite/gas/cris/rd-dw2-10.d --- binutils-2.11.90.0.7/gas/testsuite/gas/cris/rd-dw2-10.d Fri Apr 6 15:33:25 2001 +++ binutils-2.11.90.0.8/gas/testsuite/gas/cris/rd-dw2-10.d Sat May 12 00:07:04 2001 @@ -7,5 +7,6 @@ Line Number Statements: Extended opcode 2: set Address to 0x0 Special opcode 10: advance Address by 0 to 0x0 and Line by 5 to 6 - Advance PC by 4 to 4 + Special opcode 19: advance Address by 2 to 0x2 and Line by 0 to 6 + Advance PC by 2 to 4 Extended opcode 1: End of Sequence diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/i386/katmai.d binutils-2.11.90.0.8/gas/testsuite/gas/i386/katmai.d --- binutils-2.11.90.0.7/gas/testsuite/gas/i386/katmai.d Mon Aug 9 09:22:39 1999 +++ binutils-2.11.90.0.8/gas/testsuite/gas/i386/katmai.d Sat May 12 00:07:15 2001 @@ -135,7 +135,7 @@ Disassembly of section .text: 1e4: 0f e0 0a [ ]*pavgb \(%edx\),%mm1 1e7: 0f e3 d3 [ ]*pavgw %mm3,%mm2 1ea: 0f e3 1c 24 [ ]*pavgw \(%esp,1\),%mm3 - 1ee: 0f c5 c8 00 [ ]*pextrw \$0x0,%mm1,%eax + 1ee: 0f c5 c1 00 [ ]*pextrw \$0x0,%mm1,%eax 1f2: 0f c4 09 01 [ ]*pinsrw \$0x1,\(%ecx\),%mm1 1f6: 0f c4 d2 02 [ ]*pinsrw \$0x2,%edx,%mm2 1fa: 0f ee c1 [ ]*pmaxsw %mm1,%mm0 @@ -146,7 +146,7 @@ Disassembly of section .text: 20a: 0f ea 2e [ ]*pminsw \(%esi\),%mm5 20d: 0f da f7 [ ]*pminub %mm7,%mm6 210: 0f da 38 [ ]*pminub \(%eax\),%mm7 - 213: 0f d7 e8 [ ]*pmovmskb %mm5,%eax + 213: 0f d7 c5 [ ]*pmovmskb %mm5,%eax 216: 0f e4 e5 [ ]*pmulhuw %mm5,%mm4 219: 0f e4 2e [ ]*pmulhuw \(%esi\),%mm5 21c: 0f f6 f7 [ ]*psadbw %mm7,%mm6 diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/i386/sse2.d binutils-2.11.90.0.8/gas/testsuite/gas/i386/sse2.d --- binutils-2.11.90.0.7/gas/testsuite/gas/i386/sse2.d Tue Jan 23 11:00:20 2001 +++ binutils-2.11.90.0.8/gas/testsuite/gas/i386/sse2.d Sat May 12 08:03:37 2001 @@ -95,7 +95,7 @@ Disassembly of section .text: 181: 66 0f 16 2e[ ]+movhpd \(%esi\),%xmm5 185: 66 0f 13 07[ ]+movlpd %xmm0,\(%edi\) 189: 66 0f 12 00[ ]+movlpd \(%eax\),%xmm0 - 18d: 66 0f 50 ca[ ]+movmskpd %xmm2,%cx + 18d: 66 0f 50 ca[ ]+movmskpd %xmm2,%ecx 191: 66 0f 10 d3[ ]+movupd %xmm3,%xmm2 195: 66 0f 11 22[ ]+movupd %xmm4,\(%edx\) 199: 66 0f 10 65 00[ ]+movupd 0x0\(%ebp\),%xmm4 @@ -143,14 +143,14 @@ Disassembly of section .text: 245: 66 0f 6f c8[ ]+movdqa %xmm0,%xmm1 249: f3 0f 6f c8[ ]+movdqu %xmm0,%xmm1 24d: f3 0f 6f c8[ ]+movdqu %xmm0,%xmm1 - 251: f2 0f d6 c8[ ]+movdq2q %mm1,%mm0 - 255: f3 0f d6 c8 66[ ]+movq2dq %mm0,%xmm0 - 25a: 0f f4 c8[ ]+pmuludq %mm0,%mm1 + 251: f2 0f d6 c8[ ]+movdq2q %xmm0,%mm1 + 255: f3 0f d6 c8[ ]+movq2dq %mm0,%xmm1 + 259: 66 0f f4 c8[ ]+pmuludq %xmm0,%xmm1 25d: 66 0f f4 c8[ ]+pmuludq %xmm0,%xmm1 261: 66 0f 70 c8 01[ ]+pshufd \$0x1,%xmm0,%xmm1 266: f3 0f 70 c8 01[ ]+pshufhw \$0x1,%xmm0,%xmm1 26b: f2 0f 70 c8 01[ ]+pshuflw \$0x1,%xmm0,%xmm1 270: 66 0f 73 f8 01[ ]+pslldq \$0x1,%xmm0 275: 66 0f 73 d8 01[ ]+psrldq \$0x1,%xmm0 - 27a: 66 0f 6d c8[ ]+punpckhqdq %xmm0,%xmm3 + 27a: 66 0f 6d c8[ ]+punpckhqdq %xmm0,%xmm1 27e: 89 f6[ ]+mov[ ]+%esi,%esi diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/i386/sse2.s binutils-2.11.90.0.8/gas/testsuite/gas/i386/sse2.s --- binutils-2.11.90.0.7/gas/testsuite/gas/i386/sse2.s Tue Jan 23 11:00:20 2001 +++ binutils-2.11.90.0.8/gas/testsuite/gas/i386/sse2.s Sat May 12 08:03:37 2001 @@ -125,7 +125,7 @@ foo: cvtdq2ps %xmm0, %xmm1 cvtpd2ps %xmm0, %xmm1 cvtps2pd %xmm0, %xmm1 - cvtps2dq %xmm0, %mm1 + cvtps2dq %xmm0, %xmm1 cvtsd2ss %xmm0, %xmm1 cvtss2sd %xmm0, %xmm1 cvttpd2dq %xmm0, %xmm1 @@ -135,8 +135,8 @@ foo: movdqa %xmm0, %xmm1 movdqu %xmm0, %xmm1 movdqu %xmm0, %xmm1 - movdq2q %mm0, %xmm1 - movq2dq %xmm0, %mm1 + movdq2q %xmm0, %mm1 + movq2dq %mm0, %xmm1 pmuludq %xmm0, %xmm1 pmuludq %xmm0, %xmm1 pshufd $1, %xmm0, %xmm1 diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/i386/ssemmx2.d binutils-2.11.90.0.8/gas/testsuite/gas/i386/ssemmx2.d --- binutils-2.11.90.0.7/gas/testsuite/gas/i386/ssemmx2.d Tue Mar 27 08:48:54 2001 +++ binutils-2.11.90.0.8/gas/testsuite/gas/i386/ssemmx2.d Sat May 12 08:03:37 2001 @@ -11,9 +11,9 @@ Disassembly of section .text: [ ]+4: 66 0f e0 0a[ ]+pavgb[ ]+\(%edx\),%xmm1 [ ]+8: 66 0f e3 d3[ ]+pavgw[ ]+%xmm3,%xmm2 [ ]+c: 66 0f e3 1c 24[ ]+pavgw[ ]+\(%esp,1\),%xmm3 -[ ]+11: 66 0f c5 c8 00[ ]+pextrw \$0x0,%xmm1,%ax +[ ]+11: 66 0f c5 c1 00[ ]+pextrw \$0x0,%xmm1,%eax [ ]+16: 66 0f c4 09 01[ ]+pinsrw \$0x1,\(%ecx\),%xmm1 -[ ]+1b: 66 0f c4 d2 02[ ]+pinsrw \$0x2,%dx,%xmm2 +[ ]+1b: 66 0f c4 d2 02[ ]+pinsrw \$0x2,%edx,%xmm2 [ ]+20: 66 0f ee c1[ ]+pmaxsw %xmm1,%xmm0 [ ]+24: 66 0f ee 0a[ ]+pmaxsw \(%edx\),%xmm1 [ ]+28: 66 0f de d2[ ]+pmaxub %xmm2,%xmm2 @@ -22,7 +22,7 @@ Disassembly of section .text: [ ]+35: 66 0f ea 2e[ ]+pminsw \(%esi\),%xmm5 [ ]+39: 66 0f da f7[ ]+pminub %xmm7,%xmm6 [ ]+3d: 66 0f da 38[ ]+pminub \(%eax\),%xmm7 -[ ]+41: 66 0f d7 e8[ ]+pmovmskb %xmm5,%ax +[ ]+41: 66 0f d7 c5[ ]+pmovmskb %xmm5,%eax [ ]+45: 66 0f e4 e5[ ]+pmulhuw %xmm5,%xmm4 [ ]+49: 66 0f e4 2e[ ]+pmulhuw \(%esi\),%xmm5 [ ]+4d: 66 0f f6 f7[ ]+psadbw %xmm7,%xmm6 @@ -47,7 +47,7 @@ Disassembly of section .text: [ ]+ca: 66 0f 6a 90 90 90 90 90 punpckhdq 0x90909090\(%eax\),%xmm2 [ ]+d2: 66 0f 6b 90 90 90 90 90 packssdw 0x90909090\(%eax\),%xmm2 [ ]+da: 66 0f 6e 90 90 90 90 90 movd[ ]+0x90909090\(%eax\),%xmm2 -[ ]+e2: f3 0f 7e 90 90 90 90 90 movq[ ]+%xmm2,0x90909090\(%eax\) +[ ]+e2: f3 0f 7e 90 90 90 90 90 movq[ ]+0x90909090\(%eax\),%xmm2 [ ]+ea: 66 0f 71 d0 90[ ]+psrlw[ ]+\$0x90,%xmm0 [ ]+ef: 66 0f 72 d0 90[ ]+psrld[ ]+\$0x90,%xmm0 [ ]+f4: 66 0f 73 d0 90[ ]+psrlq[ ]+\$0x90,%xmm0 diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/addi.d binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/addi.d --- binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/addi.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/addi.d Wed May 2 14:52:52 2001 @@ -0,0 +1,10 @@ +#as: +#objdump: -dr +#name: addi + +.*: +file format .* + +Disassembly of section .text: + +00000000 : + 0: 94 22 ff ff l.addi r1,r2,-1 diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/addi.s binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/addi.s --- binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/addi.s Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/addi.s Wed May 2 14:52:52 2001 @@ -0,0 +1,4 @@ + .text + .global l_addi +l_addi: + l.addi r1, r2, -1 diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/allinsn.d binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/allinsn.d --- binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/allinsn.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/allinsn.d Wed May 2 14:52:52 2001 @@ -0,0 +1,201 @@ +#as: +#objdump: -dr +#name: allinsn + +.*: +file format .* + +Disassembly of section .text: + +00000000 : + 0: 00 00 00 00 l.j 0 + 0: R_OPENRISC_INSN_ABS_26 .text + +00000004 : + 4: 04 00 00 00 l.jal 0 + 4: R_OPENRISC_INSN_ABS_26 .text + +00000008 : + 8: 14 00 00 00 l.jr r0 + +0000000c : + c: 14 20 00 00 l.jalr r0 + +00000010 : + 10: 0b ff ff fc l.bal 0 + +00000014 : + 14: 0f ff ff fb l.bnf 0 + +00000018 : + 18: 13 ff ff fa l.bf 0 + +0000001c : + 1c: 17 00 00 00 l.brk 0x0 + +00000020 : + 20: 14 40 00 00 l.rfe r0 + +00000024 : + 24: 16 00 00 00 l.sys 0x0 + +00000028 : + 28: 15 00 00 00 l.nop + +0000002c : + 2c: 18 00 00 00 l.movhi r0,0 + +00000030 : + 30: 1c 00 00 00 l.mfsr r0,r0 + +00000034 : + 34: 40 00 00 00 l.mtsr r0,r0 + +00000038 : + 38: 80 00 00 00 l.lw r0,0\(r0\) + +0000003c : + 3c: 84 00 00 00 l.lbz r0,0\(r0\) + +00000040 : + 40: 88 00 00 00 l.lbs r0,0\(r0\) + +00000044 : + 44: 8c 00 00 00 l.lhz r0,0\(r0\) + +00000048 : + 48: 90 00 00 00 l.lhs r0,0\(r0\) + +0000004c : + 4c: d4 00 00 00 l.sw 0\(r0\),r0 + +00000050 : + 50: d8 00 00 00 l.sb 0\(r0\),r0 + +00000054 : + 54: dc 00 00 00 l.sh 0\(r0\),r0 + +00000058 : + 58: e0 00 00 08 l.sll r0,r0,r0 + +0000005c : + 5c: b4 00 00 00 l.slli r0,r0,0x0 + +00000060 : + 60: e0 00 00 28 l.srl r0,r0,r0 + +00000064 : + 64: b4 00 00 20 l.srli r0,r0,0x0 + +00000068 : + 68: e0 00 00 48 l.sra r0,r0,r0 + +0000006c : + 6c: b4 00 00 40 l.srai r0,r0,0x0 + +00000070 : + 70: e0 00 00 88 l.ror r0,r0,r0 + +00000074 : + 74: b4 00 00 80 l.rori r0,r0,0x0 + +00000078 : + 78: e0 00 00 00 l.add r0,r0,r0 + +0000007c : + 7c: 94 00 00 00 l.addi r0,r0,0 + +00000080 : + 80: e0 00 00 02 l.sub r0,r0,r0 + +00000084 : + 84: 9c 00 00 00 l.subi r0,r0,0 + +00000088 : + 88: e0 00 00 03 l.and r0,r0,r0 + +0000008c : + 8c: a0 00 00 00 l.andi r0,r0,0 + +00000090 : + 90: e0 00 00 04 l.or r0,r0,r0 + +00000094 : + 94: a4 00 00 00 l.ori r0,r0,0 + +00000098 : + 98: e0 00 00 05 l.xor r0,r0,r0 + +0000009c : + 9c: a8 00 00 00 l.xori r0,r0,0 + +000000a0 : + a0: e0 00 00 06 l.mul r0,r0,r0 + +000000a4 : + a4: ac 00 00 00 l.muli r0,r0,0 + +000000a8 : + a8: e0 00 00 09 l.div r0,r0,r0 + +000000ac : + ac: e0 00 00 0a l.divu r0,r0,r0 + +000000b0 : + b0: e4 c0 00 00 l.sfgts r0,r0 + +000000b4 : + b4: e4 40 00 00 l.sfgtu r0,r0 + +000000b8 : + b8: e4 e0 00 00 l.sfges r0,r0 + +000000bc : + bc: e4 60 00 00 l.sfgeu r0,r0 + +000000c0 : + c0: e5 00 00 00 l.sflts r0,r0 + +000000c4 : + c4: e4 80 00 00 l.sfltu r0,r0 + +000000c8 : + c8: e5 20 00 00 l.sfles r0,r0 + +000000cc : + cc: e4 a0 00 00 l.sfleu r0,r0 + +000000d0 : + d0: b8 c0 00 00 l.sfgtsi r0,0 + +000000d4 : + d4: b8 40 00 00 l.sfgtui r0,0x0 + +000000d8 : + d8: b8 e0 00 00 l.sfgesi r0,0 + +000000dc : + dc: b8 60 00 00 l.sfgeui r0,0x0 + +000000e0 : + e0: b9 00 00 00 l.sfltsi r0,0 + +000000e4 : + e4: b8 80 00 00 l.sfltui r0,0x0 + +000000e8 : + e8: b9 20 00 00 l.sflesi r0,0 + +000000ec : + ec: b8 a0 00 00 l.sfleui r0,0x0 + +000000f0 : + f0: e4 00 00 00 l.sfeq r0,r0 + +000000f4 : + f4: b8 00 00 00 l.sfeqi r0,0 + +000000f8 : + f8: e4 20 00 00 l.sfne r0,r0 + +000000fc : + fc: b8 20 00 00 l.sfnei r0,0 diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/allinsn.exp binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/allinsn.exp --- binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/allinsn.exp Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/allinsn.exp Wed May 2 14:52:52 2001 @@ -0,0 +1,8 @@ +# OpenRISC assembler testsuite. + +if [istarget openrisc*-*-*] { + run_dump_test "allinsn" + run_dump_test "addi" + run_dump_test "lohi" + run_dump_test "store" +} diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/allinsn.s binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/allinsn.s --- binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/allinsn.s Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/allinsn.s Wed May 2 14:52:52 2001 @@ -0,0 +1,260 @@ + .data +foodata: .word 42 + .text +footext: + .text + .global l_j +l_j: + l.j footext + .text + .global l_jal +l_jal: + l.jal footext + .text + .global l_jr +l_jr: + l.jr r0 + .text + .global l_jalr +l_jalr: + l.jalr r0 + .text + .global l_bal +l_bal: + l.bal footext + .text + .global l_bnf +l_bnf: + l.bnf footext + .text + .global l_bf +l_bf: + l.bf footext + .text + .global l_brk +l_brk: + l.brk 0 + .text + .global l_rfe +l_rfe: + l.rfe r0 + .text + .global l_sys +l_sys: + l.sys 0 + .text + .global l_nop +l_nop: + l.nop + .text + .global l_movhi +l_movhi: + l.movhi r0,0 + .text + .global l_mfsr +l_mfsr: + l.mfsr r0,r0 + .text + .global l_mtsr +l_mtsr: + l.mtsr r0,r0 + .text + .global l_lw +l_lw: + l.lw r0,0(r0) + .text + .global l_lbz +l_lbz: + l.lbz r0,0(r0) + .text + .global l_lbs +l_lbs: + l.lbs r0,0(r0) + .text + .global l_lhz +l_lhz: + l.lhz r0,0(r0) + .text + .global l_lhs +l_lhs: + l.lhs r0,0(r0) + .text + .global l_sw +l_sw: + l.sw 0(r0),r0 + .text + .global l_sb +l_sb: + l.sb 0(r0),r0 + .text + .global l_sh +l_sh: + l.sh 0(r0),r0 + .text + .global l_sll +l_sll: + l.sll r0,r0,r0 + .text + .global l_slli +l_slli: + l.slli r0,r0,0 + .text + .global l_srl +l_srl: + l.srl r0,r0,r0 + .text + .global l_srli +l_srli: + l.srli r0,r0,0 + .text + .global l_sra +l_sra: + l.sra r0,r0,r0 + .text + .global l_srai +l_srai: + l.srai r0,r0,0 + .text + .global l_ror +l_ror: + l.ror r0,r0,r0 + .text + .global l_rori +l_rori: + l.rori r0,r0,0 + .text + .global l_add +l_add: + l.add r0,r0,r0 + .text + .global l_addi +l_addi: + l.addi r0,r0,0 + .text + .global l_sub +l_sub: + l.sub r0,r0,r0 + .text + .global l_subi +l_subi: + l.subi r0,r0,0 + .text + .global l_and +l_and: + l.and r0,r0,r0 + .text + .global l_andi +l_andi: + l.andi r0,r0,0 + .text + .global l_or +l_or: + l.or r0,r0,r0 + .text + .global l_ori +l_ori: + l.ori r0,r0,0 + .text + .global l_xor +l_xor: + l.xor r0,r0,r0 + .text + .global l_xori +l_xori: + l.xori r0,r0,0 + .text + .global l_mul +l_mul: + l.mul r0,r0,r0 + .text + .global l_muli +l_muli: + l.muli r0,r0,0 + .text + .global l_div +l_div: + l.div r0,r0,r0 + .text + .global l_divu +l_divu: + l.divu r0,r0,r0 + .text + .global l_sfgts +l_sfgts: + l.sfgts r0,r0 + .text + .global l_sfgtu +l_sfgtu: + l.sfgtu r0,r0 + .text + .global l_sfges +l_sfges: + l.sfges r0,r0 + .text + .global l_sfgeu +l_sfgeu: + l.sfgeu r0,r0 + .text + .global l_sflts +l_sflts: + l.sflts r0,r0 + .text + .global l_sfltu +l_sfltu: + l.sfltu r0,r0 + .text + .global l_sfles +l_sfles: + l.sfles r0,r0 + .text + .global l_sfleu +l_sfleu: + l.sfleu r0,r0 + .text + .global l_sfgtsi +l_sfgtsi: + l.sfgtsi r0,0 + .text + .global l_sfgtui +l_sfgtui: + l.sfgtui r0,0 + .text + .global l_sfgesi +l_sfgesi: + l.sfgesi r0,0 + .text + .global l_sfgeui +l_sfgeui: + l.sfgeui r0,0 + .text + .global l_sfltsi +l_sfltsi: + l.sfltsi r0,0 + .text + .global l_sfltui +l_sfltui: + l.sfltui r0,0 + .text + .global l_sflesi +l_sflesi: + l.sflesi r0,0 + .text + .global l_sfleui +l_sfleui: + l.sfleui r0,0 + .text + .global l_sfeq +l_sfeq: + l.sfeq r0,r0 + .text + .global l_sfeqi +l_sfeqi: + l.sfeqi r0,0 + .text + .global l_sfne +l_sfne: + l.sfne r0,r0 + .text + .global l_sfnei +l_sfnei: + l.sfnei r0,0 diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/lohi.d binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/lohi.d --- binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/lohi.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/lohi.d Wed May 2 14:52:52 2001 @@ -0,0 +1,13 @@ +#as: +#objdump: -dr +#name: lohi + +.*: +file format .* + +Disassembly of section .text: + +00000000 : + 0: 94 21 be ef l.addi r1,r1,-16657 + +00000004 : + 4: 18 20 de ad l.movhi r1,-8531 diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/lohi.s binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/lohi.s --- binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/lohi.s Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/lohi.s Wed May 2 14:52:52 2001 @@ -0,0 +1,7 @@ + .text + .global l_lo +l_lo: + l.addi r1, r1, lo(0xdeadbeef) + .global l_hi +l_hi: + l.movhi r1, hi(0xdeadbeef) diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/store.d binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/store.d --- binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/store.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/store.d Wed May 2 14:52:52 2001 @@ -0,0 +1,13 @@ +#as: +#objdump: -dr +#name: store + +.*: +file format .* + +Disassembly of section .text: + +00000000 : + 0: d7 e1 0f fc l.sw -4\(r1\),r1 + +00000004 : + 4: 80 21 ff 9c l.lw r1,-100\(r1\) diff -uprN binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/store.s binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/store.s --- binutils-2.11.90.0.7/gas/testsuite/gas/openrisc/store.s Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.8/gas/testsuite/gas/openrisc/store.s Wed May 2 14:52:52 2001 @@ -0,0 +1,7 @@ + .text + .global l_sw +l_sw: + l.sw -4(r1), r1 + .global l_lw +l_lw: + l.lw r1, -100(r1) diff -uprN binutils-2.11.90.0.7/include/ChangeLog binutils-2.11.90.0.8/include/ChangeLog --- binutils-2.11.90.0.7/include/ChangeLog Fri Apr 27 13:49:25 2001 +++ binutils-2.11.90.0.8/include/ChangeLog Sat May 12 00:05:51 2001 @@ -1,3 +1,23 @@ +2001-05-10 Kaveh R. Ghazi + + * ansidecl.h (NULL_PTR): Delete. + +2001-05-11 Jakub Jelinek + + * elf/ia64.h (ELF_STRING_ia64_unwind_once): Define. + (ELF_STRING_ia64_unwind_info_once): Define. + +2001-05-07 Zack Weinberg + + * demangle.h: Use PARAMS for all prototypes. + * ternary.h: Use PARAMS for all prototypes. Use PTR, not void *. + Make arguments constant where possible. + +2001-05-07 Mark Mitchell + + * splay-tree.h (splay_tree_max): New function. + (splay_tree_min): Likewise. + 2001-04-27 Johan Rydberg * dis-asm.h (print_insn_openrisc): Add prototype. diff -uprN binutils-2.11.90.0.7/include/ansidecl.h binutils-2.11.90.0.8/include/ansidecl.h --- binutils-2.11.90.0.7/include/ansidecl.h Fri Apr 6 15:32:19 2001 +++ binutils-2.11.90.0.8/include/ansidecl.h Sat May 12 00:05:51 2001 @@ -161,16 +161,6 @@ Foundation, Inc., 59 Temple Place - Suit #endif /* ANSI C. */ -/* This is for GCC, which has historically used typed null pointer - constants. It needs to be here so it is seen by headers included - by gcc's config.h. - - FIXME: GCC probably doesn't need to use typed nulls anymore. - Clean it up, then remove this. Ware variable-argument functions. */ -#ifdef IN_GCC -# define NULL_PTR ((PTR) 0) -#endif - /* Using MACRO(x,y) in cpp #if conditionals does not work with some older preprocessors. Thus we can't define something like this: diff -uprN binutils-2.11.90.0.7/include/demangle.h binutils-2.11.90.0.8/include/demangle.h --- binutils-2.11.90.0.7/include/demangle.h Fri Mar 23 14:37:39 2001 +++ binutils-2.11.90.0.8/include/demangle.h Sat May 12 00:58:08 2001 @@ -154,7 +154,8 @@ enum gnu_v3_ctor_kinds { in the G++ V3 ABI demangling style. Specifically, return an `enum gnu_v3_ctor_kinds' value indicating what kind of constructor it is. */ -extern enum gnu_v3_ctor_kinds is_gnu_v3_mangled_ctor (const char *name); +extern enum gnu_v3_ctor_kinds + is_gnu_v3_mangled_ctor PARAMS ((const char *name)); enum gnu_v3_dtor_kinds { @@ -167,7 +168,8 @@ enum gnu_v3_dtor_kinds { in the G++ V3 ABI demangling style. Specifically, return an `enum gnu_v3_dtor_kinds' value, indicating what kind of destructor it is. */ -extern enum gnu_v3_dtor_kinds is_gnu_v3_mangled_dtor (const char *name); +extern enum gnu_v3_dtor_kinds + is_gnu_v3_mangled_dtor PARAMS ((const char *name)); extern char * demangle_symbol PARAMS ((const char *mangled)); diff -uprN binutils-2.11.90.0.7/include/elf/ChangeLog binutils-2.11.90.0.8/include/elf/ChangeLog --- binutils-2.11.90.0.7/include/elf/ChangeLog Tue Apr 24 16:09:56 2001 +++ binutils-2.11.90.0.8/include/elf/ChangeLog Sat May 12 00:05:57 2001 @@ -1,3 +1,23 @@ +2001-05-07 Thiemo Seufer + + * external.h: Fix typo. + * mips.h: Add/Extend many comments with reference to the MIPS ELF64 + spec v. 2.4, available at e.g. + ftp://oss.sgi.com/pub/linux/mips/doc/ABI/ELF64.ps. + (EF_MIPS_UCODE): Define. + (EF_MIPS_OPTIONS_FIRST): Define. + (EF_MIPS_ARCH_ASE): Define. + (EF_MIPS_ARCH_ASE_MDMX): Define. + (EF_MIPS_ARCH_ASE_M16): Define. + (SHF_MIPS_ADDR): Renamed SHF_MIPS_ADDR32. + (SHF_MIPS_STRING): Renamed SHF_MIPS_ADDR64. + (SHF_MIPS_NODUPES): Define. + (ELF64_MIPS_R_SSYM): New MIPS ELF 64 relocation info access macro. + (ELF64_MIPS_R_TYPE3): Likewise. + (ELF64_MIPS_R_TYPE2): Likewise. + (ELF64_MIPS_R_TYPE): Likewise. + (OHW_R10KLDL): Define. + 2001-04-24 Todd Fries * sparc.h: Fix typo. diff -uprN binutils-2.11.90.0.7/include/elf/external.h binutils-2.11.90.0.8/include/elf/external.h --- binutils-2.11.90.0.7/include/elf/external.h Thu Mar 15 14:53:06 2001 +++ binutils-2.11.90.0.8/include/elf/external.h Sat May 12 00:05:58 2001 @@ -1,5 +1,5 @@ /* ELF support for BFD. - Copyright 1991, 1992, 1993, 1995, 1997, 1998, 1999 + Copyright 1991, 1992, 1993, 1995, 1997, 1998, 1999, 2001 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published @@ -26,7 +26,7 @@ Foundation, Inc., 59 Temple Place - Suit /* This file is part of ELF support for BFD, and contains the portions that describe how ELF is represented externally by the BFD library. I.E. it describes the in-file representation of ELF. It requires - the elf-common.h file which contains the portions that are common to + the elf/common.h file which contains the portions that are common to both the internal and external representations. */ /* The 64-bit stuff is kind of random. Perhaps someone will publish a diff -uprN binutils-2.11.90.0.7/include/elf/ia64.h binutils-2.11.90.0.8/include/elf/ia64.h --- binutils-2.11.90.0.7/include/elf/ia64.h Thu Mar 15 14:53:07 2001 +++ binutils-2.11.90.0.8/include/elf/ia64.h Sat May 12 00:05:58 2001 @@ -47,6 +47,8 @@ Foundation, Inc., 59 Temple Place - Suit #define ELF_STRING_ia64_pltoff ".IA_64.pltoff" #define ELF_STRING_ia64_unwind ".IA_64.unwind" #define ELF_STRING_ia64_unwind_info ".IA_64.unwind_info" +#define ELF_STRING_ia64_unwind_once ".gnu.linkonce.ia64unw." +#define ELF_STRING_ia64_unwind_info_once ".gnu.linkonce.ia64unwi." /* Bits in the sh_flags field of Elf64_Shdr: */ diff -uprN binutils-2.11.90.0.7/include/elf/mips.h binutils-2.11.90.0.8/include/elf/mips.h --- binutils-2.11.90.0.7/include/elf/mips.h Tue Mar 27 08:47:45 2001 +++ binutils-2.11.90.0.8/include/elf/mips.h Sat May 12 00:05:59 2001 @@ -1,5 +1,5 @@ /* MIPS ELF support for BFD. - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 + Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. By Ian Lance Taylor, Cygnus Support, , from @@ -34,16 +34,16 @@ Foundation, Inc., 59 Temple Place - Suit START_RELOC_NUMBERS (elf_mips_reloc_type) RELOC_NUMBER (R_MIPS_NONE, 0) RELOC_NUMBER (R_MIPS_16, 1) - RELOC_NUMBER (R_MIPS_32, 2) - RELOC_NUMBER (R_MIPS_REL32, 3) + RELOC_NUMBER (R_MIPS_32, 2) /* In Elf 64: alias R_MIPS_ADD */ + RELOC_NUMBER (R_MIPS_REL32, 3) /* In Elf 64: alias R_MIPS_REL */ RELOC_NUMBER (R_MIPS_26, 4) RELOC_NUMBER (R_MIPS_HI16, 5) RELOC_NUMBER (R_MIPS_LO16, 6) - RELOC_NUMBER (R_MIPS_GPREL16, 7) + RELOC_NUMBER (R_MIPS_GPREL16, 7) /* In Elf 64: alias R_MIPS_GPREL */ RELOC_NUMBER (R_MIPS_LITERAL, 8) - RELOC_NUMBER (R_MIPS_GOT16, 9) + RELOC_NUMBER (R_MIPS_GOT16, 9) /* In Elf 64: alias R_MIPS_GOT */ RELOC_NUMBER (R_MIPS_PC16, 10) - RELOC_NUMBER (R_MIPS_CALL16, 11) + RELOC_NUMBER (R_MIPS_CALL16, 11) /* In Elf 64: alias R_MIPS_CALL */ RELOC_NUMBER (R_MIPS_GPREL32, 12) /* The remaining relocs are defined on Irix, although they are not in the MIPS ELF ABI. */ @@ -99,9 +99,24 @@ END_RELOC_NUMBERS (R_MIPS_maxext) position independent code. */ #define EF_MIPS_CPIC 0x00000004 +/* Code in file uses UCODE (obsolete) */ +#define EF_MIPS_UCODE 0x00000010 + /* Code in file uses new ABI (-n32 on Irix 6). */ #define EF_MIPS_ABI2 0x00000020 +/* Process the .MIPS.options section first by ld */ +#define EF_MIPS_OPTIONS_FIRST 0x00000080 + +/* Architectural Extensions used by this file */ +#define EF_MIPS_ARCH_ASE 0x0f000000 + +/* Use MDMX multimedia extensions */ +#define EF_MIPS_ARCH_ASE_MDMX 0x08000000 + +/* Use MIPS-16 ISA extensions */ +#define EF_MIPS_ARCH_ASE_M16 0x04000000 + /* Indicates code compiled for a 64-bit machine in 32-bit mode. (regs are 32-bits wide.) */ #define EF_MIPS_32BITMODE 0x00000100 @@ -265,19 +280,19 @@ END_RELOC_NUMBERS (R_MIPS_maxext) /* ??? */ #define SHT_MIPS_RFDESC 0x7000001a -/* ??? */ +/* Delta C++: symbol table */ #define SHT_MIPS_DELTASYM 0x7000001b -/* ??? */ +/* Delta C++: instance table */ #define SHT_MIPS_DELTAINST 0x7000001c -/* ??? */ +/* Delta C++: class table */ #define SHT_MIPS_DELTACLASS 0x7000001d /* DWARF debugging section. */ #define SHT_MIPS_DWARF 0x7000001e -/* ??? */ +/* Delta C++: declarations */ #define SHT_MIPS_DELTADECL 0x7000001f /* List of libraries the binary depends on. Includes a time stamp, version @@ -290,25 +305,25 @@ END_RELOC_NUMBERS (R_MIPS_maxext) /* ??? */ #define SHT_MIPS_TRANSLATE 0x70000022 -/* ??? */ +/* Special pixie sections */ #define SHT_MIPS_PIXIE 0x70000023 -/* ??? */ +/* Address translation table (for debug info) */ #define SHT_MIPS_XLATE 0x70000024 -/* ??? */ +/* SGI internal address translation table (for debug info) */ #define SHT_MIPS_XLATE_DEBUG 0x70000025 -/* ??? */ +/* Intermediate code */ #define SHT_MIPS_WHIRL 0x70000026 -/* ??? */ +/* C++ exception handling region info */ #define SHT_MIPS_EH_REGION 0x70000027 -/* ??? */ +/* Obsolete address translation table (for debug info) */ #define SHT_MIPS_XLATE_OLD 0x70000028 -/* ??? */ +/* Runtime procedure descriptor table exception information (ucode) ??? */ #define SHT_MIPS_PDR_EXCEPTION 0x70000029 @@ -446,11 +461,12 @@ extern void bfd_mips_elf32_swap_reginfo_ /* This section should be merged. */ #define SHF_MIPS_MERGE 0x20000000 -/* This section contains 32 bit addresses. */ -#define SHF_MIPS_ADDR32 0x40000000 +/* This section contains address data of size implied by section + element size. */ +#define SHF_MIPS_ADDR 0x40000000 -/* This section contains 64 bit addresses. */ -#define SHF_MIPS_ADDR64 0x80000000 +/* This section contains string data. */ +#define SHF_MIPS_STRING 0x80000000 /* This section may not be stripped. */ #define SHF_MIPS_NOSTRIP 0x08000000 @@ -460,6 +476,10 @@ extern void bfd_mips_elf32_swap_reginfo_ /* Linker should generate implicit weak names for this section. */ #define SHF_MIPS_NAMES 0x02000000 + +/* Section contais text/data which may be replicated in other sections. + Linker should retain only one copy. */ +#define SHF_MIPS_NODUPES 0x01000000 /* Processor specific program header types. */ @@ -469,7 +489,7 @@ extern void bfd_mips_elf32_swap_reginfo_ /* Runtime procedure table. */ #define PT_MIPS_RTPROC 0x70000001 -/* Options (for what ???). */ +/* .MIPS.options section. */ #define PT_MIPS_OPTIONS 0x70000002 /* Processor specific dynamic array tags. */ @@ -561,19 +581,19 @@ extern void bfd_mips_elf32_swap_reginfo_ /* Pixie information (???). */ #define DT_MIPS_PIXIE_INIT 0x70000023 -/* ??? */ +/* Address of .MIPS.symlib */ #define DT_MIPS_SYMBOL_LIB 0x70000024 -/* ??? */ +/* The GOT index of the first PTE for a segment */ #define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025 -/* ??? */ +/* The GOT index of the first PTE for a local symbol */ #define DT_MIPS_LOCAL_GOTIDX 0x70000026 -/* ??? */ +/* The GOT index of the first PTE for a hidden symbol */ #define DT_MIPS_HIDDEN_GOTIDX 0x70000027 -/* ??? */ +/* The GOT index of the first PTE for a protected symbol */ #define DT_MIPS_PROTECTED_GOTIDX 0x70000028 /* Address of `.MIPS.options'. */ @@ -615,20 +635,44 @@ extern void bfd_mips_elf32_swap_reginfo_ #define RHF_NOTPOT 0x00000002 /* Ignore LD_LIBRARY_PATH. */ -#define RHS_NO_LIBRARY_REPLACEMENT \ - 0x00000004 +#define RHS_NO_LIBRARY_REPLACEMENT 0x00000004 -#define RHF_NO_MOVE 0x00000008 -#define RHF_SGI_ONLY 0x00000010 +/* DSO address may not be relocated. */ +#define RHF_NO_MOVE 0x00000008 + +/* SGI specific features. */ +#define RHF_SGI_ONLY 0x00000010 + +/* Guarantee that .init will finish executing before any non-init + code in DSO is called. */ #define RHF_GUARANTEE_INIT 0x00000020 + +/* Contains Delta C++ code. */ #define RHF_DELTA_C_PLUS_PLUS 0x00000040 + +/* Guarantee that .init will start executing before any non-init + code in DSO is called. */ #define RHF_GUARANTEE_START_INIT 0x00000080 + +/* Generated by pixie. */ #define RHF_PIXIE 0x00000100 + +/* Delay-load DSO by default. */ #define RHF_DEFAULT_DELAY_LOAD 0x00000200 + +/* Object may be requickstarted */ #define RHF_REQUICKSTART 0x00000400 + +/* Object has been requickstarted */ #define RHF_REQUICKSTARTED 0x00000800 + +/* Generated by cord. */ #define RHF_CORD 0x00001000 + +/* Object contains no unresolved undef symbols. */ #define RHF_NO_UNRES_UNDEF 0x00002000 + +/* Symbol table is in a safe order. */ #define RHF_RLD_ORDER_SAFE 0x00004000 /* Special values for the st_other field in the symbol table. These @@ -722,6 +766,12 @@ typedef struct bfd_signed_vma r_addend; } Elf64_Mips_Internal_Rela; +/* MIPS ELF 64 relocation info access macros. */ +#define ELF64_MIPS_R_SSYM(i) (((i) >> 24) & 0xff) +#define ELF64_MIPS_R_TYPE3(i) (((i) >> 16) & 0xff) +#define ELF64_MIPS_R_TYPE2(i) (((i) >> 8) & 0xff) +#define ELF64_MIPS_R_TYPE(i) ((i) & 0xff) + /* Values found in the r_ssym field of a relocation entry. */ /* No relocation. */ @@ -878,7 +928,8 @@ extern void bfd_mips_elf64_swap_reginfo_ #define OEX_FPU_MAX 0x1f00 /* FPEs which may be enabled. */ #define OEX_PAGE0 0x10000 /* Page zero must be mapped. */ #define OEX_SMM 0x20000 /* Force sequential memory mode. */ -#define OEX_FPDBUG 0x40000 /* Force floating-point debug mode. */ +#define OEX_FPDBUG 0x40000 /* Force precise floating-point + exceptions (debug mode). */ #define OEX_DISMISS 0x80000 /* Dismiss invalid address faults. */ /* Masks of the FP exceptions for OEX_FPU_MIN and OEX_FPU_MAX. */ @@ -894,10 +945,13 @@ extern void bfd_mips_elf64_swap_reginfo_ #define OPAD_SYMBOL 0x04 /* Masks for the info word of an ODK_HWPATCH descriptor. */ -#define OHW_R4KEOP 0x01 /* R4000 end-of-page patch. */ -#define OHW_R8KPFETCH 0x02 /* May need R8000 prefetch patch. */ -#define OHW_R5KEOP 0x04 /* R5000 end-of-page patch. */ -#define OHW_R5KCVTL 0x08 /* R5000 cvt.[ds].l bug (clean == 1). */ +#define OHW_R4KEOP 0x00000001 /* R4000 end-of-page patch. */ +#define OHW_R8KPFETCH 0x00000002 /* May need R8000 prefetch patch. */ +#define OHW_R5KEOP 0x00000004 /* R5000 end-of-page patch. */ +#define OHW_R5KCVTL 0x00000008 /* R5000 cvt.[ds].l bug + (clean == 1). */ +#define OHW_R10KLDL 0x00000010 /* Needs R10K misaligned + load patch. */ /* Masks for the info word of an ODK_IDENT/ODK_GP_GROUP descriptor. */ #define OGP_GROUP 0x0000ffff /* GP group number. */ diff -uprN binutils-2.11.90.0.7/include/opcode/ChangeLog binutils-2.11.90.0.8/include/opcode/ChangeLog --- binutils-2.11.90.0.7/include/opcode/ChangeLog Fri Apr 6 15:32:26 2001 +++ binutils-2.11.90.0.8/include/opcode/ChangeLog Sat May 12 08:02:25 2001 @@ -1,3 +1,14 @@ +2001-05-12 Alan Modra + + * i386.h (i386_optab): Second operand of cvtps2dq is an xmm reg, + not an mmx reg. Swap xmm/mmx regs on both movdq2q and movq2dq, + and use InvMem as these insns must have register operands. + +2001-05-04 Alan Modra + + * i386.h (i386_optab): Move InvMem to first operand of pmovmskb + and pextrw to swap reg/rm assignments. + 2001-04-05 Hans-Peter Nilsson * cris.h (enum cris_insn_version_usage): Correct comment for diff -uprN binutils-2.11.90.0.7/include/opcode/i386.h binutils-2.11.90.0.8/include/opcode/i386.h --- binutils-2.11.90.0.7/include/opcode/i386.h Tue Mar 27 08:47:48 2001 +++ binutils-2.11.90.0.8/include/opcode/i386.h Sat May 12 08:02:26 2001 @@ -1152,8 +1152,8 @@ static const template i386_optab[] = { {"pavgb", 2, 0x660fe0, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, {"pavgw", 2, 0x0fe3, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegMMX, 0 } }, {"pavgw", 2, 0x660fe3, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, -{"pextrw", 3, 0x0fc5, X, CpuSSE, FP|Modrm, { Imm8, RegMMX, Reg32|InvMem } }, -{"pextrw", 3, 0x660fc5, X, CpuSSE2,FP|Modrm, { Imm8, RegXMM, Reg32|InvMem } }, +{"pextrw", 3, 0x0fc5, X, CpuSSE, FP|Modrm, { Imm8, RegMMX|InvMem, Reg32 } }, +{"pextrw", 3, 0x660fc5, X, CpuSSE2,FP|Modrm, { Imm8, RegXMM|InvMem, Reg32 } }, {"pinsrw", 3, 0x0fc4, X, CpuSSE, FP|Modrm, { Imm8, Reg32|ShortMem, RegMMX } }, {"pinsrw", 3, 0x660fc4, X, CpuSSE2, FP|Modrm, { Imm8, Reg32|ShortMem, RegXMM } }, {"pmaxsw", 2, 0x0fee, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegMMX, 0 } }, @@ -1164,8 +1164,8 @@ static const template i386_optab[] = { {"pminsw", 2, 0x660fea, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, {"pminub", 2, 0x0fda, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegMMX, 0 } }, {"pminub", 2, 0x660fda, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, -{"pmovmskb", 2, 0x0fd7, X, CpuSSE, FP|Modrm, { RegMMX, Reg32|InvMem, 0 } }, -{"pmovmskb", 2, 0x660fd7, X, CpuSSE2,FP|Modrm, { RegXMM, Reg32|InvMem, 0 } }, +{"pmovmskb", 2, 0x0fd7, X, CpuSSE, FP|Modrm, { RegMMX|InvMem, Reg32, 0 } }, +{"pmovmskb", 2, 0x660fd7, X, CpuSSE2,FP|Modrm, { RegXMM|InvMem, Reg32, 0 } }, {"pmulhuw", 2, 0x0fe4, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegMMX, 0 } }, {"pmulhuw", 2, 0x660fe4, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, {"prefetchnta", 1, 0x0f18, 0, CpuSSE, FP|Modrm, { LLongMem, 0, 0 } }, @@ -1254,7 +1254,7 @@ static const template i386_optab[] = { {"cvtpd2pi", 2, 0x660f2d, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegMMX, 0 } }, {"cvtpd2ps", 2, 0x660f5a, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, {"cvtps2pd", 2, 0x0f5a, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, -{"cvtps2dq", 2, 0x660f5b, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegMMX, 0 } }, +{"cvtps2dq", 2, 0x660f5b, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, {"cvtsd2si", 2, 0xf20f2d, X, CpuSSE2, lq_Suf|IgnoreSize|Modrm,{ RegXMM|LLongMem, Reg32|Reg64, 0 } }, {"cvtsd2ss", 2, 0xf20f5a, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, {"cvtss2sd", 2, 0xf30f5a, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, @@ -1267,8 +1267,8 @@ static const template i386_optab[] = { {"movdqa", 2, 0x660f7f, X, CpuSSE2, FP|Modrm, { RegXMM, RegXMM|LLongMem, 0 } }, {"movdqu", 2, 0xf30f6f, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, {"movdqu", 2, 0xf30f7f, X, CpuSSE2, FP|Modrm, { RegXMM, RegXMM|LLongMem, 0 } }, -{"movdq2q", 2, 0xf20fd6, X, CpuSSE2, FP|Modrm, { RegMMX|LLongMem, RegXMM, 0 } }, -{"movq2dq", 2, 0xf30fd6, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegMMX, 0 } }, +{"movdq2q", 2, 0xf20fd6, X, CpuSSE2, FP|Modrm, { RegXMM|InvMem, RegMMX, 0 } }, +{"movq2dq", 2, 0xf30fd6, X, CpuSSE2, FP|Modrm, { RegMMX|InvMem, RegXMM, 0 } }, {"pmuludq", 2, 0x0ff4, X, CpuSSE2, FP|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, {"pmuludq", 2, 0x660ff4, X, CpuSSE2, FP|Modrm, { RegXMM|LongMem, RegXMM, 0 } }, {"pshufd", 3, 0x660f70, X, CpuSSE2, FP|Modrm, { Imm8, RegXMM|LLongMem, RegXMM } }, diff -uprN binutils-2.11.90.0.7/include/splay-tree.h binutils-2.11.90.0.8/include/splay-tree.h --- binutils-2.11.90.0.7/include/splay-tree.h Thu Mar 15 14:53:01 2001 +++ binutils-2.11.90.0.8/include/splay-tree.h Sat May 12 00:05:52 2001 @@ -110,6 +110,10 @@ extern splay_tree_node splay_tree_predec extern splay_tree_node splay_tree_successor PARAMS((splay_tree, splay_tree_key)); +extern splay_tree_node splay_tree_max + PARAMS((splay_tree)); +extern splay_tree_node splay_tree_min + PARAMS((splay_tree)); extern int splay_tree_foreach PARAMS((splay_tree, splay_tree_foreach_fn, void*)); diff -uprN binutils-2.11.90.0.7/include/ternary.h binutils-2.11.90.0.8/include/ternary.h --- binutils-2.11.90.0.7/include/ternary.h Tue Apr 24 09:12:14 2001 +++ binutils-2.11.90.0.8/include/ternary.h Sat May 12 00:05:53 2001 @@ -38,13 +38,14 @@ ternary_node; already there, and replace is 0. Otherwise, replaces if it it exists, inserts if it doesn't, and returns the data you passed in. */ -void *ternary_insert (ternary_tree *p, char *s, void *data, int replace); +PTR ternary_insert PARAMS ((ternary_tree *p, const char *s, + PTR data, int replace)); /* Delete the ternary search tree rooted at P. Does NOT delete the data you associated with the strings. */ -void ternary_cleanup (ternary_tree p); +void ternary_cleanup PARAMS ((ternary_tree p)); /* Search the ternary tree for string S, returning the data associated with it if found. */ -void *ternary_search (ternary_tree p, char *s); +PTR ternary_search PARAMS ((const ternary_node *p, const char *s)); #endif diff -uprN binutils-2.11.90.0.7/ld/ChangeLog binutils-2.11.90.0.8/ld/ChangeLog --- binutils-2.11.90.0.7/ld/ChangeLog Fri Apr 27 13:51:39 2001 +++ binutils-2.11.90.0.8/ld/ChangeLog Sat May 12 00:08:01 2001 @@ -1,17 +1,85 @@ +2001-05-11 Jakub Jelinek + + * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Put + .gnu.linkonce.ia64unw{,i} sections into corresponding .IA_64.unwind* + output sections. + * emulparams/elf64_aix.sh (OTHER_READONLY_SECTIONS): Likewise. + +2001-05-11 Jakub Jelinek + + * ldlang.c (lang_process): Call bfd_merge_sections. + +2001-05-07 Thiemo Seufer + + * ldgram.y: Fix typo. + +2001-05-03 H.J. Lu + + * emultempl/elf32.em: Include "libiberty.h". + (gld${EMULATION_NAME}_vercheck): Call basename () to get the + basename of the bfd filename. + (gld${EMULATION_NAME}_stat_needed): Likewise. + (gld${EMULATION_NAME}_try_needed): Likewise. + (gld${EMULATION_NAME}_open_dynamic_archive): Likewise. + +2001-05-02 H.J. Lu + + * emultempl/pe.em: Include . + +2001-05-02 Johan Rydberg + + * emulparams/elf32openrisc.sh: New file. + + * Makefile.am: Add OpenRISC target. + * Makefile.in: Regenerated. + + * configure.tgt: Add openrisc-*-* mapping. + +2001-05-02 Nick Clifton + + * emultempl/aix.em: Replace buystring with xstrdup. + * emultempl/beos.em: Replace buystring with xstrdup. + +2001-05-02 H.J. Lu + + * ldfile.c: Include "libiberty.h". + * ldlex.l: Likewise. + + * ldmisc.c (buystring): Removed. + * ldmisc.h: Likewise. + + * ldfile.c: Replace buystring with xstrdup. + * ldlang.c: Likewise. + * ldlex.l: Likewise. + * ldmain.c: Likewise. + * ldmisc.c: Likewise. + * lexsup.c: Likewise. + * mpw-eppcmac.c: Likewise. + +2001-04-30 Andreas Jaeger + + * emulparms/elf_x86_64.sh (MAXPAGESIZE): Fix value. + +2001-04-28 Paul Sokolovsky + + * ldlang.c (load_symbols): Give emulation a chance + to process unrecognized file before fatal error is + reported, not after. + 2001-04-27 Sean McNeil * configure.tgt: Add arm-vxworks target. * scripttempl/armcoff.sc: Support .text or .data as a section name prefix. Define _etext. - + 2001-04-13 J.T. Conklin * ld.texinfo: Document --fatal-warnings. * ld.1: Regenerate. * ldmisc.c (vfinfo): Set flag to inhibit making executable if - warnings have been turned into errors. + warnings have been turned into errors. * lexsup.c (OPTION_WARN_FATAL): Define. (ld_options): Entry for --fatal-warnings. (parse_args): Handle OPTION_WARN_FATAL. @@ -42,7 +110,7 @@ * emulparams/elf32ltsmip.sh: New. Traditional little endian MIPS taget. - * emulparams/elf64btsmip.sh: New. Traditional 64bit big endian + * emulparams/elf64btsmip.sh: New. Traditional 64bit big endian target. * emulparams/elf64ltsmip.sh: New. Traditional 64bit little endian target. diff -uprN binutils-2.11.90.0.7/ld/ChangeLog.linux binutils-2.11.90.0.8/ld/ChangeLog.linux --- binutils-2.11.90.0.7/ld/ChangeLog.linux Wed Apr 25 15:54:15 2001 +++ binutils-2.11.90.0.8/ld/ChangeLog.linux Wed May 2 15:16:08 2001 @@ -1,3 +1,7 @@ +2001-05-02 H.J. Lu + + * lexsup.c: Replace buystring with xstrdup. + 2001-04-25 H.J. Lu * ldfile.h (ldfile_open_command_file): Return FILE *; diff -uprN binutils-2.11.90.0.7/ld/Makefile.am binutils-2.11.90.0.8/ld/Makefile.am --- binutils-2.11.90.0.7/ld/Makefile.am Sat Apr 7 23:03:10 2001 +++ binutils-2.11.90.0.8/ld/Makefile.am Wed May 2 15:25:16 2001 @@ -155,6 +155,7 @@ ALL_EMULATIONS = \ eelf32lppc.o \ eelf32lppcsim.o \ eelf32mcore.o \ + eelf32openrisc.o \ eelf32ppc.o \ eelf32ppclinux.o \ eelf32ppcsim.o \ @@ -482,6 +483,9 @@ eelf32lppcsim.c: $(srcdir)/emulparams/el eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32lsmip "$(tdir_elf32lsmip)" +eelf32openrisc.c: $(srcdir)/emulparams/elf32openrisc.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32openrisc "$(tdir_openrisc)" eelf32ppc.c: $(srcdir)/emulparams/elf32ppc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32ppc "$(tdir_elf32ppc)" diff -uprN binutils-2.11.90.0.7/ld/Makefile.in binutils-2.11.90.0.8/ld/Makefile.in --- binutils-2.11.90.0.7/ld/Makefile.in Sat Apr 7 23:03:10 2001 +++ binutils-2.11.90.0.8/ld/Makefile.in Wed May 2 15:25:16 2001 @@ -158,19 +158,49 @@ HOSTING_LIBS = @HOSTING_LIBS@ HOSTING_EMU = -m $(EMUL) # Setup the testing framework, if you have one -EXPECT = `if [ -f $$r/../expect/expect ] ; then echo $$r/../expect/expect ; else echo expect ; fi` +EXPECT = `if [ -f $$r/../expect/expect ] ; \ + then echo $$r/../expect/expect ; \ + else echo expect ; fi` -RUNTEST = `if [ -f $${srcroot}/../dejagnu/runtest ] ; then echo $${srcroot}/../dejagnu/runtest ; else echo runtest ; fi` +RUNTEST = `if [ -f $${srcroot}/../dejagnu/runtest ] ; \ + then echo $${srcroot}/../dejagnu/runtest ; \ + else echo runtest ; fi` RUNTESTFLAGS = -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` CXX = gcc -CXX_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 $(CXX); else echo gcc | sed '$(transform)'; fi; fi` +CXX_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 $(CXX); \ + else \ + echo gcc | sed '$(transform)'; \ + fi; \ + fi` noinst_PROGRAMS = ld-new @@ -183,25 +213,186 @@ INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) BFDLIB = ../bfd/libbfd.la LIBIBERTY = ../libiberty/libiberty.a -ALL_EMULATIONS = ea29k.o eaixppc.o eaixrs6.o ealpha.o earcelf.o earm_epoc_pe.o earmaoutb.o earmaoutl.o earmcoff.o earmelf.o earmelf_linux.o earmelf_oabi.o earmnbsd.o earmpe.o eavr1200.o eavr23xx.o eavr4433.o eavr44x4.o eavr85xx.o eavrmega103.o eavrmega161.o eavrmega603.o ecoff_sparc.o ecrisaout.o ecriself.o ecrislinux.o ed10velf.o ed30v_e.o ed30v_o.o ed30velf.o edelta68.o eebmon29k.o eelf32_i960.o eelf32_i860.o eelf32_sparc.o eelf32b4300.o eelf32bmip.o eelf32bmipn32.o eelf32btsmip.o eelf32ltsmip.o eelf32ebmip.o eelf32elmip.o eelf32fr30.o eelf32i370.o eelf32l4300.o eelf32lmip.o eelf32lppc.o eelf32lppcsim.o eelf32mcore.o eelf32ppc.o eelf32ppclinux.o eelf32ppcsim.o eelf_i386.o eelf_i386_be.o eelf_i386_chaos.o eelf_s390.o egld960.o egld960coff.o eh8300.o eh8300h.o eh8300s.o eh8500.o eh8500b.o eh8500c.o eh8500m.o eh8500s.o ehp300bsd.o ehp3hpux.o ehppaelf.o ehppalinux.o ei386aout.o ei386beos.o ei386bsd.o ei386coff.o ei386go32.o ei386linux.o ei386lynx.o ei386mach.o ei386moss.o ei386msdos.o ei386nbsd.o ei386nw.o ei386pe.o ei386pe_posix.o elnk960.o em68hc11elf.o em68hc11elfb.o em68hc12elf.o em68hc12elfb.o em68k4knbsd.o em68kaout.o em68kaux.o em68kcoff.o em68kelf.o em68klinux.o em68klynx.o em68knbsd.o em68kpsos.o em88kbcs.o emcorepe.o emipsbig.o emipsbsd.o emipsidt.o emipsidtl.o emipslit.o emipslnews.o emipspe.o enews.o ens32knbsd.o epc532macha.o epdp11.o epjelf.o epjlelf.o eppcmacos.o eppcnw.o eppcpe.o eriscix.o esa29200.o esh.o eshelf.o eshelf_linux.o eshlelf_linux.o eshl.o eshlelf.o eshpe.o esparcaout.o esparclinux.o esparclynx.o esparcnbsd.o est2000.o esun3.o esun4.o etic30aout.o etic30coff.o etic54xcoff.o etic80coff.o evanilla.o evax.o evsta.o ew65.o ez8001.o ez8002.o - - -ALL_64_EMULATIONS = eelf64_aix.o eelf64_ia64.o eelf_x86_64.o eelf64_s390.o eelf64_sparc.o eelf64alpha.o eelf64bmip.o eelf64btsmip.o eelf64ltsmip.o eelf64hppa.o - - -ALL_EMUL_EXTRA_OFILES = deffilep.o pe-dll.o - - -CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c mri.c ldcref.c pe-dll.c - - -HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h ldwrite.h mri.h deffile.h pe-dll.h +ALL_EMULATIONS = \ + ea29k.o \ + eaixppc.o \ + eaixrs6.o \ + ealpha.o \ + earcelf.o \ + earm_epoc_pe.o \ + earmaoutb.o \ + earmaoutl.o \ + earmcoff.o \ + earmelf.o \ + earmelf_linux.o \ + earmelf_oabi.o \ + earmnbsd.o \ + earmpe.o \ + eavr1200.o \ + eavr23xx.o \ + eavr4433.o \ + eavr44x4.o \ + eavr85xx.o \ + eavrmega103.o \ + eavrmega161.o \ + eavrmega603.o \ + ecoff_sparc.o \ + ecrisaout.o \ + ecriself.o \ + ecrislinux.o \ + ed10velf.o \ + ed30v_e.o \ + ed30v_o.o \ + ed30velf.o \ + edelta68.o \ + eebmon29k.o \ + eelf32_i960.o \ + eelf32_i860.o \ + eelf32_sparc.o \ + eelf32b4300.o \ + eelf32bmip.o \ + eelf32bmipn32.o \ + eelf32btsmip.o \ + eelf32ltsmip.o \ + eelf32ebmip.o \ + eelf32elmip.o \ + eelf32fr30.o \ + eelf32i370.o \ + eelf32l4300.o \ + eelf32lmip.o \ + eelf32lppc.o \ + eelf32lppcsim.o \ + eelf32mcore.o \ + eelf32openrisc.o \ + eelf32ppc.o \ + eelf32ppclinux.o \ + eelf32ppcsim.o \ + eelf_i386.o \ + eelf_i386_be.o \ + eelf_i386_chaos.o \ + eelf_s390.o \ + egld960.o \ + egld960coff.o \ + eh8300.o \ + eh8300h.o \ + eh8300s.o \ + eh8500.o \ + eh8500b.o \ + eh8500c.o \ + eh8500m.o \ + eh8500s.o \ + ehp300bsd.o \ + ehp3hpux.o \ + ehppaelf.o \ + ehppalinux.o \ + ei386aout.o \ + ei386beos.o \ + ei386bsd.o \ + ei386coff.o \ + ei386go32.o \ + ei386linux.o \ + ei386lynx.o \ + ei386mach.o \ + ei386moss.o \ + ei386msdos.o \ + ei386nbsd.o \ + ei386nw.o \ + ei386pe.o \ + ei386pe_posix.o \ + elnk960.o \ + em68hc11elf.o \ + em68hc11elfb.o \ + em68hc12elf.o \ + em68hc12elfb.o \ + em68k4knbsd.o \ + em68kaout.o \ + em68kaux.o \ + em68kcoff.o \ + em68kelf.o \ + em68klinux.o \ + em68klynx.o \ + em68knbsd.o \ + em68kpsos.o \ + em88kbcs.o \ + emcorepe.o \ + emipsbig.o \ + emipsbsd.o \ + emipsidt.o \ + emipsidtl.o \ + emipslit.o \ + emipslnews.o \ + emipspe.o \ + enews.o \ + ens32knbsd.o \ + epc532macha.o \ + epdp11.o \ + epjelf.o \ + epjlelf.o \ + eppcmacos.o \ + eppcnw.o \ + eppcpe.o \ + eriscix.o \ + esa29200.o \ + esh.o \ + eshelf.o \ + eshelf_linux.o \ + eshlelf_linux.o \ + eshl.o \ + eshlelf.o \ + eshpe.o \ + esparcaout.o \ + esparclinux.o \ + esparclynx.o \ + esparcnbsd.o \ + est2000.o \ + esun3.o \ + esun4.o \ + etic30aout.o \ + etic30coff.o \ + etic54xcoff.o \ + etic80coff.o \ + evanilla.o \ + evax.o \ + evsta.o \ + ew65.o \ + ez8001.o \ + ez8002.o + + +ALL_64_EMULATIONS = \ + eelf64_aix.o \ + eelf64_ia64.o \ + eelf_x86_64.o \ + eelf64_s390.o \ + eelf64_sparc.o \ + eelf64alpha.o \ + eelf64bmip.o \ + eelf64btsmip.o \ + eelf64ltsmip.o \ + eelf64hppa.o + + +ALL_EMUL_EXTRA_OFILES = \ + deffilep.o \ + pe-dll.o + + +CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \ + ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \ + mri.c ldcref.c pe-dll.c + + +HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \ + ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \ + ldwrite.h mri.h deffile.h pe-dll.h GENERATED_CFILES = ldgram.c ldlex.c deffilep.c GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h -OFILES = ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES} +OFILES = ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o \ + ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o \ + ldfile.o ldcref.o ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES} STAGESTUFF = *.o ldscripts/* e*.c @@ -220,7 +411,8 @@ GEN_DEPENDS = $(srcdir)/genscripts.sh st # We need this for automake to use YLWRAP. EXTRA_ld_new_SOURCES = deffilep.y -ld_new_SOURCES = ldgram.y ldlex.l lexsup.c ldlang.c mri.c ldctor.c ldmain.c ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c +ld_new_SOURCES = ldgram.y ldlex.l lexsup.c ldlang.c mri.c ldctor.c ldmain.c \ + ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(INTLDEPS) ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(INTLLIBS) @@ -230,7 +422,8 @@ TESTBFDLIB = @TESTBFDLIB@ MAINTAINERCLEANFILES = ldver.texi -MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) ldemul-list.h crtbegin.o crtend.o ld.log ld.sum +MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) \ + ldemul-list.h crtbegin.o crtend.o ld.log ld.sum CLEANFILES = dep.sed DEP DEPA DEP1 DEP2 @@ -1004,6 +1197,9 @@ eelf32lppcsim.c: $(srcdir)/emulparams/el eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32lsmip "$(tdir_elf32lsmip)" +eelf32openrisc.c: $(srcdir)/emulparams/elf32openrisc.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32openrisc "$(tdir_openrisc)" eelf32ppc.c: $(srcdir)/emulparams/elf32ppc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32ppc "$(tdir_elf32ppc)" diff -uprN binutils-2.11.90.0.7/ld/configure binutils-2.11.90.0.8/ld/configure --- binutils-2.11.90.0.7/ld/configure Sat Mar 17 12:48:11 2001 +++ binutils-2.11.90.0.8/ld/configure Wed May 2 15:25:17 2001 @@ -1000,7 +1000,7 @@ fi if test "${enable_shared+set}" = set; then enableval="$enable_shared" p=${PACKAGE-default} -case "$enableval" in +case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) @@ -1023,7 +1023,7 @@ fi if test "${enable_static+set}" = set; then enableval="$enable_static" p=${PACKAGE-default} -case "$enableval" in +case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) @@ -1046,7 +1046,7 @@ fi if test "${enable_fast_install+set}" = set; then enableval="$enable_fast_install" p=${PACKAGE-default} -case "$enableval" in +case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) @@ -1296,7 +1296,7 @@ else fi ac_prog=ld -if test "$ac_cv_prog_gcc" = yes; then +if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 echo "configure:1303: checking for ld used by GCC" >&5 @@ -1307,7 +1307,7 @@ echo "configure:1303: checking for ld us *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac - case "$ac_prog" in + case $ac_prog in # Accept absolute paths. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' @@ -1334,7 +1334,7 @@ else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 echo "configure:1336: checking for non-GNU ld" >&5 fi -if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then +if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -z "$LD"; then @@ -1342,11 +1342,11 @@ else for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - ac_cv_path_LD="$ac_dir/$ac_prog" + lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. - if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then test "$with_gnu_ld" != no && break else test "$with_gnu_ld" != yes && break @@ -1355,11 +1355,11 @@ else done IFS="$ac_save_ifs" else - ac_cv_path_LD="$LD" # Let the user override the test with a path. + lt_cv_path_LD="$LD" # Let the user override the test with a path. fi fi -LD="$ac_cv_path_LD" +LD="$lt_cv_path_LD" if test -n "$LD"; then echo "$ac_t""$LD" 1>&6 else @@ -1368,19 +1368,19 @@ fi test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 echo "configure:1371: checking if the linker ($LD) is GNU ld" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then +if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LD -v 2>&1 &5; then - ac_cv_prog_gnu_ld=yes + lt_cv_prog_gnu_ld=yes else - ac_cv_prog_gnu_ld=no + lt_cv_prog_gnu_ld=no fi fi -echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6 -with_gnu_ld=$ac_cv_prog_gnu_ld +echo "$ac_t""$lt_cv_prog_gnu_ld" 1>&6 +with_gnu_ld=$lt_cv_prog_gnu_ld echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6 @@ -1397,12 +1397,12 @@ test -n "$reload_flag" && reload_flag=" echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 echo "configure:1400: checking for BSD-compatible nm" >&5 -if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then +if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$NM"; then # Let the user override the test. - ac_cv_path_NM="$NM" + lt_cv_path_NM="$NM" else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do @@ -1414,23 +1414,23 @@ else # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then - ac_cv_path_NM="$tmp_nm -B" + lt_cv_path_NM="$tmp_nm -B" break elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$tmp_nm -p" + lt_cv_path_NM="$tmp_nm -p" break else - ac_cv_path_NM=${ac_cv_path_NM="$tmp_nm"} # keep the first match, but + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags fi fi done IFS="$ac_save_ifs" - test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi -NM="$ac_cv_path_NM" +NM="$lt_cv_path_NM" echo "$ac_t""$NM" 1>&6 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 @@ -1473,8 +1473,8 @@ lt_cv_deplibs_check_method='unknown' # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. -case "$host_os" in -aix4*) +case $host_os in +aix*) lt_cv_deplibs_check_method=pass_all ;; @@ -1483,8 +1483,8 @@ beos*) ;; bsdi4*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -1493,14 +1493,27 @@ cygwin* | mingw* |pw32*) lt_cv_file_magic_cmd='$OBJDUMP -f' ;; +darwin* | rhapsody*) + lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' + lt_cv_file_magic_cmd='/usr/bin/file -L' + case "$host_os" in + rhapsody* | darwin1.012) + lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System' + ;; + *) # Darwin 1.3 on + lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' + ;; + esac + ;; + freebsd* ) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case "$host_cpu" in + case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -1513,29 +1526,28 @@ gnu*) lt_cv_deplibs_check_method=pass_all ;; -hpux10.20*) - # TODO: Does this work for hpux-11 too? - lt_cv_deplibs_check_method='file_magic (s0-90-90-9|PA-RISC0-9.0-9) shared library' +hpux10.20*|hpux11*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; irix5* | irix6*) - case "$host_os" in + case $host_os in irix5*) # this will be overridden with pass_all, but let us keep it just in case lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" ;; *) - case "$LD" in + case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" - ;; + lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" + ;; esac lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` lt_cv_deplibs_check_method=pass_all @@ -1543,25 +1555,30 @@ irix5* | irix6*) # This must be Linux ELF. linux-gnu*) - case "$host_cpu" in + case $host_cpu in alpha* | i*86 | powerpc* | sparc* | ia64* ) lt_cv_deplibs_check_method=pass_all ;; *) # glibc up to 2.1.1 does not perform some relocations on ARM - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; - esac + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; + esac lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` ;; netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then : + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' else - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$' fi ;; +newsos6) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + osf3* | osf4* | osf5*) # this will be overridden with pass_all, but let us keep it just in case lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' @@ -1579,13 +1596,13 @@ solaris*) ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - case "$host_vendor" in + case $host_vendor in ncr) lt_cv_deplibs_check_method=pass_all ;; motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; esac ;; @@ -1598,13 +1615,13 @@ file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method echo $ac_n "checking for object suffix""... $ac_c" 1>&6 -echo "configure:1602: checking for object suffix" >&5 +echo "configure:1619: checking for object suffix" >&5 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else rm -f conftest* echo 'int i = 1;' > conftest.$ac_ext -if { (eval echo configure:1608: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1625: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -1624,7 +1641,7 @@ ac_objext=$ac_cv_objext echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1628: checking for executable suffix" >&5 +echo "configure:1645: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1634,7 +1651,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:1638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:1655: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -1663,15 +1680,15 @@ fi # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # Only perform the check for file, if the check method requires it -case "$deplibs_check_method" in +case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6 -echo "configure:1671: checking for ${ac_tool_prefix}file" >&5 +echo "configure:1688: checking for ${ac_tool_prefix}file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$MAGIC_CMD" in + case $MAGIC_CMD in /*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; @@ -1687,7 +1704,7 @@ else if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then - case "$deplibs_check_method" in + case $deplibs_check_method in "file_magic "*) file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" MAGIC_CMD="$lt_cv_path_MAGIC_CMD" @@ -1729,11 +1746,11 @@ fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then echo $ac_n "checking for file""... $ac_c" 1>&6 -echo "configure:1733: checking for file" >&5 +echo "configure:1750: checking for file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$MAGIC_CMD" in + case $MAGIC_CMD in /*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; @@ -1749,7 +1766,7 @@ else if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then - case "$deplibs_check_method" in + case $deplibs_check_method in "file_magic "*) file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" MAGIC_CMD="$lt_cv_path_MAGIC_CMD" @@ -1800,7 +1817,7 @@ esac # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1804: checking for $ac_word" >&5 +echo "configure:1821: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1832,7 +1849,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1836: checking for $ac_word" >&5 +echo "configure:1853: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1867,7 +1884,7 @@ fi # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1871: checking for $ac_word" >&5 +echo "configure:1888: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1899,7 +1916,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1903: checking for $ac_word" >&5 +echo "configure:1920: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1937,8 +1954,8 @@ libtool_flags="--cache-file=$cache_file" test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" -test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" -test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" +test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc" +test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" # Check whether --enable-libtool-lock or --disable-libtool-lock was given. @@ -1963,12 +1980,12 @@ test x"$pic_mode" = xno && libtool_flags # Some flags need to be propagated to the compiler or linker for good # libtool support. -case "$host" in +case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 1970 "configure"' > conftest.$ac_ext - if { (eval echo configure:1971: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - case "`/usr/bin/file conftest.o`" in + echo '#line 1987 "configure"' > conftest.$ac_ext + if { (eval echo configure:1988: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -1988,7 +2005,7 @@ case "$host" in SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 -echo "configure:1992: checking whether the C compiler needs -belf" >&5 +echo "configure:2009: checking whether the C compiler needs -belf" >&5 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2001,14 +2018,14 @@ ac_link='${CC-cc} -o conftest${ac_exeext cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lt_cv_cc_needs_belf=yes else @@ -2118,7 +2135,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtoo # clobbered by the next message. exec 5>>./config.log - @@ -2186,7 +2202,7 @@ fi # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2190: checking for $ac_word" >&5 +echo "configure:2206: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2216,7 +2232,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2220: checking for $ac_word" >&5 +echo "configure:2236: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2267,7 +2283,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2271: checking for $ac_word" >&5 +echo "configure:2287: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2299,7 +2315,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:2303: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:2319: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -2310,12 +2326,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 2314 "configure" +#line 2330 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:2319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -2341,12 +2357,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:2345: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:2361: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:2350: checking whether we are using GNU C" >&5 +echo "configure:2366: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2355,7 +2371,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2359: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2375: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -2374,7 +2390,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:2378: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:2394: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2417,7 +2433,7 @@ fi # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:2421: checking for a BSD compatible install" >&5 +echo "configure:2437: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2472,7 +2488,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA= ALL_LINGUAS= echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:2476: checking how to run the C preprocessor" >&5 +echo "configure:2492: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -2487,13 +2503,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2497: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2513: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -2504,13 +2520,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2514: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2530: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -2521,13 +2537,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2531: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2547: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -2554,7 +2570,7 @@ echo "$ac_t""$CPP" 1>&6 # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2558: checking for $ac_word" >&5 +echo "configure:2574: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2582,12 +2598,12 @@ else fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2586: checking for ANSI C header files" >&5 +echo "configure:2602: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2595,7 +2611,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2599: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2615: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2612,7 +2628,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -2630,7 +2646,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -2651,7 +2667,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2662,7 +2678,7 @@ if (XOR (islower (i), ISLOWER (i)) || to exit (0); } EOF -if { (eval echo configure:2666: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2686,12 +2702,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2690: checking for working const" >&5 +echo "configure:2706: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2760: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2761,21 +2777,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2765: checking for inline" >&5 +echo "configure:2781: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2795: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2801,12 +2817,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2805: checking for off_t" >&5 +echo "configure:2821: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -2834,12 +2850,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2838: checking for size_t" >&5 +echo "configure:2854: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -2869,19 +2885,19 @@ fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:2873: checking for working alloca.h" >&5 +echo "configure:2889: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:2885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -2902,12 +2918,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:2906: checking for alloca" >&5 +echo "configure:2922: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -2967,12 +2983,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2971: checking whether alloca needs Cray hooks" >&5 +echo "configure:2987: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3001: checking for $ac_func" >&5 +echo "configure:3017: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3052,7 +3068,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:3056: checking stack direction for C alloca" >&5 +echo "configure:3072: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3060,7 +3076,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -3104,17 +3120,17 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3108: checking for $ac_hdr" >&5 +echo "configure:3124: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3118: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3134: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3143,12 +3159,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3147: checking for $ac_func" >&5 +echo "configure:3163: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3196,7 +3212,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:3200: checking for working mmap" >&5 +echo "configure:3216: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3204,7 +3220,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -3372,17 +3388,17 @@ unistd.h values.h sys/param.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3376: checking for $ac_hdr" >&5 +echo "configure:3392: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3386: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3402: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3412,12 +3428,12 @@ done __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3416: checking for $ac_func" >&5 +echo "configure:3432: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3469,12 +3485,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3473: checking for $ac_func" >&5 +echo "configure:3489: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3531,19 +3547,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3535: checking for LC_MESSAGES" >&5 +echo "configure:3551: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:3547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -3564,7 +3580,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3568: checking whether NLS is requested" >&5 +echo "configure:3584: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -3584,7 +3600,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3588: checking whether included gettext is requested" >&5 +echo "configure:3604: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -3603,17 +3619,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3607: checking for libintl.h" >&5 +echo "configure:3623: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3617: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3633: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3630,19 +3646,19 @@ fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:3634: checking for gettext in libc" >&5 +echo "configure:3650: checking for gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:3646: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libc=yes else @@ -3658,7 +3674,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1 if test "$gt_cv_func_gettext_libc" != "yes"; then echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:3662: checking for bindtextdomain in -lintl" >&5 +echo "configure:3678: checking for bindtextdomain in -lintl" >&5 ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3666,7 +3682,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3697: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3693,19 +3709,19 @@ fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:3697: checking for gettext in libintl" >&5 +echo "configure:3713: checking for gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3725: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libintl=yes else @@ -3733,7 +3749,7 @@ EOF # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3737: checking for $ac_word" >&5 +echo "configure:3753: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3767,12 +3783,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3771: checking for $ac_func" >&5 +echo "configure:3787: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3822,7 +3838,7 @@ done # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3826: checking for $ac_word" >&5 +echo "configure:3842: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3858,7 +3874,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3862: checking for $ac_word" >&5 +echo "configure:3878: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3890,7 +3906,7 @@ else fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -3930,7 +3946,7 @@ fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3934: checking for $ac_word" >&5 +echo "configure:3950: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3964,7 +3980,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3968: checking for $ac_word" >&5 +echo "configure:3984: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4000,7 +4016,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4004: checking for $ac_word" >&5 +echo "configure:4020: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4090,7 +4106,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4094: checking for catalogs to be installed" >&5 +echo "configure:4110: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4118,17 +4134,17 @@ echo "configure:4094: checking for catal if test "$CATOBJEXT" = ".cat"; then ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:4122: checking for linux/version.h" >&5 +echo "configure:4138: checking for linux/version.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4132: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4148: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4193,7 +4209,7 @@ fi echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:4197: checking for executable suffix" >&5 +echo "configure:4213: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4203,7 +4219,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:4207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:4223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -4229,7 +4245,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4233: checking for $ac_word" >&5 +echo "configure:4249: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4265,7 +4281,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4269: checking for $ac_word" >&5 +echo "configure:4285: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4298,7 +4314,7 @@ test -n "$LEX" || LEX=""$missing_dir/mis # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4302: checking for $ac_word" >&5 +echo "configure:4318: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4332,7 +4348,7 @@ then *) ac_lib=l ;; esac echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 -echo "configure:4336: checking for yywrap in -l$ac_lib" >&5 +echo "configure:4352: checking for yywrap in -l$ac_lib" >&5 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4340,7 +4356,7 @@ else ac_save_LIBS="$LIBS" LIBS="-l$ac_lib $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4374,7 +4390,7 @@ fi fi echo $ac_n "checking lex output file root""... $ac_c" 1>&6 -echo "configure:4378: checking lex output file root" >&5 +echo "configure:4394: checking lex output file root" >&5 if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4395,7 +4411,7 @@ echo "$ac_t""$ac_cv_prog_lex_root" 1>&6 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6 -echo "configure:4399: checking whether yytext is a pointer" >&5 +echo "configure:4415: checking whether yytext is a pointer" >&5 if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4407,14 +4423,14 @@ echo 'extern char *yytext;' >>$LEX_OUTPU ac_save_LIBS="$LIBS" LIBS="$LIBS $LEXLIB" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_prog_lex_yytext_pointer=yes else @@ -4437,7 +4453,7 @@ fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:4441: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:4457: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" @@ -4471,17 +4487,17 @@ for ac_hdr in string.h strings.h stdlib. do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4475: checking for $ac_hdr" >&5 +echo "configure:4491: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4485: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4501: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4510,12 +4526,12 @@ done for ac_func in sbrk do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4514: checking for $ac_func" >&5 +echo "configure:4530: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4567,12 +4583,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/di do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 -echo "configure:4571: checking for $ac_hdr that defines DIR" >&5 +echo "configure:4587: checking for $ac_hdr that defines DIR" >&5 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_hdr> @@ -4580,7 +4596,7 @@ int main() { DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:4584: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4600: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -4605,7 +4621,7 @@ done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 -echo "configure:4609: checking for opendir in -ldir" >&5 +echo "configure:4625: checking for opendir in -ldir" >&5 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4613,7 +4629,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4646,7 +4662,7 @@ fi else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:4650: checking for opendir in -lx" >&5 +echo "configure:4666: checking for opendir in -lx" >&5 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4654,7 +4670,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4685: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4689,12 +4705,12 @@ fi echo $ac_n "checking whether weak symbol works""... $ac_c" 1>&6 -echo "configure:4693: checking whether weak symbol works" >&5 +echo "configure:4709: checking whether weak symbol works" >&5 if eval "test \"`echo '$''{'libiberty_cv_have_weak_symbol'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4723: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libiberty_cv_have_weak_symbol=no else @@ -4727,14 +4743,14 @@ if test $libiberty_cv_have_weak_symbol = # demangler may use dlopen. echo $ac_n "checking for library containing dlopen""... $ac_c" 1>&6 -echo "configure:4731: checking for library containing dlopen" >&5 +echo "configure:4747: checking for library containing dlopen" >&5 if eval "test \"`echo '$''{'ac_cv_search_dlopen'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_dlopen="no" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_dlopen="none required" else @@ -4756,7 +4772,7 @@ rm -f conftest* test "$ac_cv_search_dlopen" = "no" && for i in dl; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_dlopen="-l$i" break @@ -4799,12 +4815,12 @@ EOF esac echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6 -echo "configure:4803: checking whether strstr must be declared" >&5 +echo "configure:4819: checking whether strstr must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_strstr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -4825,7 +4841,7 @@ int main() { char *(*pfn) = (char *(*)) strstr ; return 0; } EOF -if { (eval echo configure:4829: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4845: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_strstr=no else @@ -4846,12 +4862,12 @@ EOF fi echo $ac_n "checking whether free must be declared""... $ac_c" 1>&6 -echo "configure:4850: checking whether free must be declared" >&5 +echo "configure:4866: checking whether free must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_free'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -4872,7 +4888,7 @@ int main() { char *(*pfn) = (char *(*)) free ; return 0; } EOF -if { (eval echo configure:4876: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4892: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_free=no else @@ -4893,12 +4909,12 @@ EOF fi echo $ac_n "checking whether sbrk must be declared""... $ac_c" 1>&6 -echo "configure:4897: checking whether sbrk must be declared" >&5 +echo "configure:4913: checking whether sbrk must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_sbrk'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -4919,7 +4935,7 @@ int main() { char *(*pfn) = (char *(*)) sbrk ; return 0; } EOF -if { (eval echo configure:4923: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4939: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_sbrk=no else @@ -4940,12 +4956,12 @@ EOF fi echo $ac_n "checking whether getenv must be declared""... $ac_c" 1>&6 -echo "configure:4944: checking whether getenv must be declared" >&5 +echo "configure:4960: checking whether getenv must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_getenv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -4966,7 +4982,7 @@ int main() { char *(*pfn) = (char *(*)) getenv ; return 0; } EOF -if { (eval echo configure:4970: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4986: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_getenv=no else @@ -4987,12 +5003,12 @@ EOF fi echo $ac_n "checking whether environ must be declared""... $ac_c" 1>&6 -echo "configure:4991: checking whether environ must be declared" >&5 +echo "configure:5007: checking whether environ must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_environ'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -5013,7 +5029,7 @@ int main() { char *(*pfn) = (char *(*)) environ ; return 0; } EOF -if { (eval echo configure:5017: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5033: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_environ=no else @@ -5041,19 +5057,19 @@ fi # constants, while still supporting pre-ANSI compilers which do not # support string concatenation. echo $ac_n "checking whether ANSI C string concatenation works""... $ac_c" 1>&6 -echo "configure:5045: checking whether ANSI C string concatenation works" >&5 +echo "configure:5061: checking whether ANSI C string concatenation works" >&5 if eval "test \"`echo '$''{'ld_cv_string_concatenation'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5073: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ld_cv_string_concatenation=yes else diff -uprN binutils-2.11.90.0.7/ld/configure.tgt binutils-2.11.90.0.8/ld/configure.tgt --- binutils-2.11.90.0.7/ld/configure.tgt Fri Apr 27 14:03:57 2001 +++ binutils-2.11.90.0.8/ld/configure.tgt Wed May 2 15:25:17 2001 @@ -304,6 +304,7 @@ alpha*-*-netbsd*) targ_emul=elf64alpha ; z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 ;; ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;; ns32k-pc532-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;; +openrisc-*-*) targ_emul=elf32openrisc ;; powerpc-*-freebsd*) targ_emul=elf32ppc; targ_extra_emuls=elf32ppcsim; targ_extra_libpath=elf32ppc; diff -uprN binutils-2.11.90.0.7/ld/emulparams/elf32openrisc.sh binutils-2.11.90.0.8/ld/emulparams/elf32openrisc.sh --- binutils-2.11.90.0.7/ld/emulparams/elf32openrisc.sh Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.8/ld/emulparams/elf32openrisc.sh Wed May 2 14:53:21 2001 @@ -0,0 +1,10 @@ +MACHINE= +SCRIPT_NAME=elf +OUTPUT_FORMAT="elf32-openrisc" +TEXT_START_ADDR=0x10000 +ARCH=openrisc +MAXPAGESIZE=0x1000 +ENTRY=_start +EMBEDDED=yes +NOP=0x15000000 + diff -uprN binutils-2.11.90.0.7/ld/emulparams/elf64_aix.sh binutils-2.11.90.0.8/ld/emulparams/elf64_aix.sh --- binutils-2.11.90.0.7/ld/emulparams/elf64_aix.sh Mon Feb 26 20:49:02 2001 +++ binutils-2.11.90.0.8/ld/emulparams/elf64_aix.sh Sat May 12 00:08:13 2001 @@ -13,5 +13,5 @@ NOP=0x00300000010070000002000001000400 OTHER_GOT_SYMBOLS='. = ALIGN (8); PROVIDE (__gp = . + 0x200000);' OTHER_GOT_SECTIONS='.IA_64.pltoff : { *(.IA_64.pltoff) }' OTHER_PLT_RELOC_SECTIONS='.rela.IA_64.pltoff : { *(.rela.IA_64.pltoff) }' -OTHER_READONLY_SECTIONS='.opd : { *(.opd) } .IA_64.unwind_info : { *(.IA_64.unwind_info*) } .IA_64.unwind : { *(.IA_64.unwind*) }' +OTHER_READONLY_SECTIONS='.opd : { *(.opd) } .IA_64.unwind_info : { *(.IA_64.unwind_info*) *(.gnu.linkonce.ia64unwi.*) } .IA_64.unwind : { *(.IA_64.unwind*) *(.gnu.linkonce.ia64unw.*) }' LIB_PATH=/usr/lib/ia64l64:/usr/lib:/usr/local/lib diff -uprN binutils-2.11.90.0.7/ld/emulparams/elf64_ia64.sh binutils-2.11.90.0.8/ld/emulparams/elf64_ia64.sh --- binutils-2.11.90.0.7/ld/emulparams/elf64_ia64.sh Tue Feb 13 23:23:16 2001 +++ binutils-2.11.90.0.8/ld/emulparams/elf64_ia64.sh Sat May 12 00:08:13 2001 @@ -12,4 +12,4 @@ GENERATE_SHLIB_SCRIPT=yes NOP=0x00300000010070000002000001000400 # a bundle full of nops OTHER_GOT_SECTIONS='.IA_64.pltoff : { *(.IA_64.pltoff) }' OTHER_PLT_RELOC_SECTIONS='.rela.IA_64.pltoff : { *(.rela.IA_64.pltoff) }' -OTHER_READONLY_SECTIONS='.opd : { *(.opd) } .IA_64.unwind_info : { *(.IA_64.unwind_info*) } .IA_64.unwind : { *(.IA_64.unwind*) }' +OTHER_READONLY_SECTIONS='.opd : { *(.opd) } .IA_64.unwind_info : { *(.IA_64.unwind_info*) *(.gnu.linkonce.ia64unwi.*) } .IA_64.unwind : { *(.IA_64.unwind*) *(.gnu.linkonce.ia64unw.*) }' diff -uprN binutils-2.11.90.0.7/ld/emulparams/elf_x86_64.sh binutils-2.11.90.0.8/ld/emulparams/elf_x86_64.sh --- binutils-2.11.90.0.7/ld/emulparams/elf_x86_64.sh Mon Dec 4 16:34:09 2000 +++ binutils-2.11.90.0.8/ld/emulparams/elf_x86_64.sh Wed May 2 14:53:19 2001 @@ -2,7 +2,7 @@ SCRIPT_NAME=elf ELFSIZE=64 OUTPUT_FORMAT="elf64-x86-64" TEXT_START_ADDR=0x1000 -MAXPAGESIZE=0x1000 +MAXPAGESIZE=0x100000 NONPAGED_TEXT_START_ADDR=0x1000 ARCH=i386 MACHINE= diff -uprN binutils-2.11.90.0.7/ld/emultempl/aix.em binutils-2.11.90.0.8/ld/emultempl/aix.em --- binutils-2.11.90.0.7/ld/emultempl/aix.em Thu Mar 15 14:57:09 2001 +++ binutils-2.11.90.0.8/ld/emultempl/aix.em Wed May 2 14:53:21 2001 @@ -857,7 +857,7 @@ gld${EMULATION_NAME}_read_file (filename n = ((struct export_symbol_list *) xmalloc (sizeof (struct export_symbol_list))); n->next = export_symbols; - n->name = buystring (symname); + n->name = xstrdup (symname); n->syscall = syscall; export_symbols = n; } diff -uprN binutils-2.11.90.0.7/ld/emultempl/beos.em binutils-2.11.90.0.8/ld/emultempl/beos.em --- binutils-2.11.90.0.7/ld/emultempl/beos.em Thu Mar 15 14:57:09 2001 +++ binutils-2.11.90.0.8/ld/emultempl/beos.em Wed May 2 14:53:22 2001 @@ -739,7 +739,7 @@ gld${EMULATION_NAME}_place_orphan (file, /* Look up the output section. The Microsoft specs say sections names in image files never contain a '\$'. Fortunately, lang_..._lookup creates the section if it doesn't exist. */ - output_secname = buystring (secname); + output_secname = xstrdup (secname); ps = strchr (output_secname + 1, '\$'); *ps = 0; os = lang_output_section_statement_lookup (output_secname); diff -uprN binutils-2.11.90.0.7/ld/emultempl/elf32.em binutils-2.11.90.0.8/ld/emultempl/elf32.em --- binutils-2.11.90.0.7/ld/emultempl/elf32.em Tue Apr 24 16:03:29 2001 +++ binutils-2.11.90.0.8/ld/emultempl/elf32.em Wed May 2 23:45:40 2001 @@ -32,6 +32,7 @@ Foundation, Inc., 59 Temple Place - Suit #include "bfd.h" #include "sysdep.h" +#include "libiberty.h" #include @@ -130,7 +131,7 @@ static void gld${EMULATION_NAME}_vercheck (s) lang_input_statement_type *s; { - const char *soname, *f; + const char *soname; struct bfd_link_needed_list *l; if (global_vercheck_failed) @@ -141,19 +142,13 @@ gld${EMULATION_NAME}_vercheck (s) soname = bfd_elf_get_dt_soname (s->the_bfd); if (soname == NULL) - soname = bfd_get_filename (s->the_bfd); - - f = strrchr (soname, '/'); - if (f != NULL) - ++f; - else - f = soname; + soname = basename (bfd_get_filename (s->the_bfd)); for (l = global_vercheck_needed; l != NULL; l = l->next) { const char *suffix; - if (strcmp (f, l->name) == 0) + if (strcmp (soname, l->name) == 0) { /* Probably can't happen, but it's an easy check. */ continue; @@ -168,7 +163,7 @@ gld${EMULATION_NAME}_vercheck (s) suffix += sizeof ".so." - 1; - if (strncmp (f, l->name, suffix - l->name) == 0) + if (strncmp (soname, l->name, suffix - l->name) == 0) { /* Here we know that S is a dynamic object FOO.SO.VER1, and the object we are considering needs a dynamic object @@ -192,7 +187,6 @@ gld${EMULATION_NAME}_stat_needed (s) struct stat st; const char *suffix; const char *soname; - const char *f; if (global_found) return; @@ -230,17 +224,12 @@ gld${EMULATION_NAME}_stat_needed (s) soname = bfd_elf_get_dt_soname (s->the_bfd); if (soname == NULL) - soname = s->filename; + soname = basename (s->filename); - f = strrchr (soname, '/'); - if (f != NULL) - ++f; - else - f = soname; - - if (strncmp (f, global_needed->name, suffix - global_needed->name) == 0) + if (strncmp (soname, global_needed->name, + suffix - global_needed->name) == 0) einfo ("%P: warning: %s, needed by %B, may conflict with %s\n", - global_needed->name, global_needed->by, f); + global_needed->name, global_needed->by, soname); } @@ -340,11 +329,7 @@ cat >>e${EMULATION_NAME}.c <filename, '/'); - if (soname) - soname++; - else - soname = abfd->filename; + soname = basename (abfd->filename); if (trace_file_tries) info_msg (_("found %s at %s\n"), soname, name); @@ -964,20 +949,13 @@ gld${EMULATION_NAME}_open_dynamic_archiv if (bfd_check_format (entry->the_bfd, bfd_object) && (entry->the_bfd->flags & DYNAMIC) != 0) { - char *needed_name; - ASSERT (entry->is_archive && entry->search_dirs_flag); /* Rather than duplicating the logic above. Just use the - filename we recorded earlier. + filename we recorded earlier. */ - First strip off everything before the last '/'. */ - filename = strrchr (entry->filename, '/'); - filename++; - - needed_name = (char *) xmalloc (strlen (filename) + 1); - strcpy (needed_name, filename); - bfd_elf_set_dt_needed_name (entry->the_bfd, needed_name); + filename = xstrdup (basename (entry->filename)); + bfd_elf_set_dt_needed_name (entry->the_bfd, filename); } return true; diff -uprN binutils-2.11.90.0.7/ld/emultempl/pe.em binutils-2.11.90.0.8/ld/emultempl/pe.em --- binutils-2.11.90.0.7/ld/emultempl/pe.em Thu Mar 15 14:57:13 2001 +++ binutils-2.11.90.0.8/ld/emultempl/pe.em Wed May 2 14:53:23 2001 @@ -52,6 +52,8 @@ Foundation, Inc., 59 Temple Place - Suit #include "deffile.h" #include "pe-dll.h" +#include + #define TARGET_IS_${EMULATION_NAME} /* Permit the emulation parameters to override the default section diff -uprN binutils-2.11.90.0.7/ld/ld.1 binutils-2.11.90.0.8/ld/ld.1 --- binutils-2.11.90.0.7/ld/ld.1 Fri Apr 13 11:21:08 2001 +++ binutils-2.11.90.0.8/ld/ld.1 Sat May 12 09:08:36 2001 @@ -1,20 +1,9 @@ -.rn '' }` -''' $RCSfile: ld.1,v $$Revision: 1.10 $$Date: 2001/04/13 02:22:23 $ -''' -''' $Log: ld.1,v $ -''' Revision 1.10 2001/04/13 02:22:23 jtc -''' * ld.texinfo: Document --fatal-warnings. -''' * ld.1: Regenerate. -''' -''' * ldmisc.c (vfinfo): Set flag to inhibit making executable if -''' warnings have been turned into errors. -''' * lexsup.c (OPTION_WARN_FATAL): Define. -''' (ld_options): Entry for --fatal-warnings. -''' (parse_args): Handle OPTION_WARN_FATAL. -''' * ld.h (ld_config_type): Add fatal_warnings field. -''' -''' -.de Sh +.\" Automatically generated by Pod::Man version 1.02 +.\" Sat May 12 09:08:33 2001 +.\" +.\" Standard preamble: +.\" ====================================================================== +.de Sh \" Subsection heading .br .if t .Sp .ne 5 @@ -22,149 +11,105 @@ \fB\\$1\fR .PP .. -.de Sp +.de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. -.de Ip +.de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. -.de Vb +.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. -.de Ve +.de Ve \" End verbatim text .ft R .fi .. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' +.\" 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" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' +. 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\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' 'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F +.\" +.\" 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 .\} -.TH LD 1 "binutils-2.11.90" "30/Mar/2001" "GNU" -.UC -.if n .hy 0 -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions +.\" +.\" 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 +. \" fudge factors for nroff and troff .if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP +. 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 #] \& +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& .\} -. \" simple accents for nroff and troff +. \" simple accents for nroff and troff .if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q +. 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 ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +. 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 +. \" 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 v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .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' @@ -172,81 +117,80 @@ .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 -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff +. \" 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) +. \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. 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 -. ds oe oe -. ds Oe OE +. 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 "LD 1" +.TH LD 1 "binutils-2.11.90.0.8" "2001-05-12" "GNU" +.UC .SH "NAME" -ld \- Using LD, the GNU linker +ld \- Using \s-1LD\s0, the \s-1GNU\s0 linker .SH "SYNOPSIS" +.IX Header "SYNOPSIS" ld [ options ] objfile... .SH "DESCRIPTION" -\f(CWld\fR combines a number of object and archive files, relocates +.IX Header "DESCRIPTION" +\&\f(CW\*(C`ld\*(C'\fR combines a number of object and archive files, relocates their data and ties up symbol references. Usually the last step in -compiling a program is to run \f(CWld\fR. +compiling a program is to run \f(CW\*(C`ld\*(C'\fR. .PP -\f(CWld\fR accepts Linker Command Language files written in -a superset of AT&T's Link Editor Command Language syntax, +\&\f(CW\*(C`ld\*(C'\fR accepts Linker Command Language files written in +a superset of \s-1AT&T\s0's Link Editor Command Language syntax, to provide explicit and total control over the linking process. .PP This man page does not describe the command language; see the -\f(CWld\fR entry in \f(CWinfo\fR, or the manual -ld: the GNU linker, for full details on the command language and -on other aspects of the GNU linker. -.PP -This version of \f(CWld\fR uses the general purpose BFD libraries -to operate on object files. This allows \f(CWld\fR to read, combine, and -write object files in many different formats---for example, COFF or -\f(CWa.out\fR. Different formats may be linked together to produce any +\&\f(CW\*(C`ld\*(C'\fR entry in \f(CW\*(C`info\*(C'\fR, or the manual +ld: the \s-1GNU\s0 linker, for full details on the command language and +on other aspects of the \s-1GNU\s0 linker. +.PP +This version of \f(CW\*(C`ld\*(C'\fR uses the general purpose \s-1BFD\s0 libraries +to operate on object files. This allows \f(CW\*(C`ld\*(C'\fR to read, combine, and +write object files in many different formats\-\-\-for example, \s-1COFF\s0 or +\&\f(CW\*(C`a.out\*(C'\fR. Different formats may be linked together to produce any available kind of object file. .PP -Aside from its flexibility, the GNU linker is more helpful than other +Aside from its flexibility, the \s-1GNU\s0 linker is more helpful than other linkers in providing diagnostic information. Many linkers abandon execution immediately upon encountering an error; whenever possible, -\f(CWld\fR continues executing, allowing you to identify other errors +\&\f(CW\*(C`ld\*(C'\fR continues executing, allowing you to identify other errors (or, in some cases, to get an output file in spite of the error). .PP -The GNU linker \f(CWld\fR is meant to cover a broad range of situations, +The \s-1GNU\s0 linker \f(CW\*(C`ld\*(C'\fR is meant to cover a broad range of situations, and to be as compatible as possible with other linkers. As a result, you have many choices to control its behavior. .SH "OPTIONS" +.IX Header "OPTIONS" The linker supports a plethora of command-line options, but in actual practice few of them are used in any particular context. -For instance, a frequent use of \f(CWld\fR is to link standard Unix +For instance, a frequent use of \f(CW\*(C`ld\*(C'\fR is to link standard Unix object files on a standard, supported Unix system. On such a system, to -link a file \f(CWhello.o\fR: +link a file \f(CW\*(C`hello.o\*(C'\fR: .PP -.Vb 2 -\& +.Vb 1 \& ld -o I /lib/crt0.o hello.o -lc .Ve -This tells \f(CWld\fR to produce a file called \fIoutput\fR as the -result of linking the file \f(CW/lib/crt0.o\fR with \f(CWhello.o\fR and -the library \f(CWlibc.a\fR, which will come from the standard search +This tells \f(CW\*(C`ld\*(C'\fR to produce a file called \fIoutput\fR as the +result of linking the file \f(CW\*(C`/lib/crt0.o\*(C'\fR with \f(CW\*(C`hello.o\*(C'\fR and +the library \f(CW\*(C`libc.a\*(C'\fR, which will come from the standard search directories. (See the discussion of the \fB\-l\fR option below.) .PP -Some of the command-line options to \f(CWld\fR may be specified at any +Some of the command-line options to \f(CW\*(C`ld\*(C'\fR may be specified at any point in the command line. However, options which refer to files, such as \fB\-l\fR or \fB\-T\fR, cause the file to be read at the point at which the option appears in the command line, relative to the object @@ -273,10 +217,10 @@ augments the main linker script used for linker script or the one specified by using \fB\-T\fR). This feature permits the linker to link against a file which appears to be an object or an archive, but actually merely defines some symbol values, or uses -\f(CWINPUT\fR or \f(CWGROUP\fR to load other objects. Note that +\&\f(CW\*(C`INPUT\*(C'\fR or \f(CW\*(C`GROUP\*(C'\fR to load other objects. Note that specifying a script in this way should only be used to augment the main linker script; if you want to use some command that logically can only -appear once, such as the \f(CWSECTIONS\fR or \f(CWMEMORY\fR command, you +appear once, such as the \f(CW\*(C`SECTIONS\*(C'\fR or \f(CW\*(C`MEMORY\*(C'\fR command, you must replace the default linker script using the \fB\-T\fR option. .PP For options whose names are a single letter, @@ -286,17 +230,17 @@ option that requires them. .PP For options whose names are multiple letters, either one dash or two can precede the option name; for example, \fB\-trace-symbol\fR and -\fB--trace-symbol\fR are equivalent. Note \- there is one exception to -this rule. Multiple letter options that start with a lower case \*(L'o\*(R' can +\&\fB\*(--trace-symbol\fR are equivalent. Note \- there is one exception to +this rule. Multiple letter options that start with a lower case 'o' can only be preceeded by two dashes. This is to reduce confusion with the -\fB\-o\fR option. So for example \fB\-omagic\fR sets the output file -name to \fBmagic\fR whereas \fB--omagic\fR sets the NMAGIC flag on the +\&\fB\-o\fR option. So for example \fB\-omagic\fR sets the output file +name to \fBmagic\fR whereas \fB\*(--omagic\fR sets the \s-1NMAGIC\s0 flag on the output. .PP Arguments to multiple-letter options must either be separated from the option name by an equals sign, or be given as separate arguments immediately following the option that requires them. For example, -\fB--trace-symbol foo\fR and \fB--trace-symbol=foo\fR are equivalent. +\&\fB\*(--trace-symbol foo\fR and \fB\*(--trace-symbol=foo\fR are equivalent. Unique abbreviations of the names of multiple-letter options are accepted. .PP @@ -305,82 +249,95 @@ Note \- if the linker is being invoked i prefixed by \fB\-Wl,\fR (or whatever is appropriate for the particular compiler driver) like this: .PP -.Vb 2 -\& +.Vb 1 \& gcc -Wl,--startgroup foo.o bar.o -Wl,--endgroup .Ve This is important, because otherwise the compiler driver program may silently drop the linker options, resulting in a bad link. .PP -Here is a table of the generic command line switches accepted by the GNU +Here is a table of the generic command line switches accepted by the \s-1GNU\s0 linker: -.Ip "\f(CW-a\fIkeyword\fR\fR" 4 +.Ip "\f(CW\*(C`\-a\f(CIkeyword\f(CW\*(C'\fR" 4 +.IX Item "-akeyword" This option is supported for \s-1HP/UX\s0 compatibility. The \fIkeyword\fR argument must be one of the strings \fBarchive\fR, \fBshared\fR, or -\fBdefault\fR. \fB\-aarchive\fR is functionally equivalent to -\fB\-Bstatic\fR, and the other two keywords are functionally equivalent +\&\fBdefault\fR. \fB\-aarchive\fR is functionally equivalent to +\&\fB\-Bstatic\fR, and the other two keywords are functionally equivalent to \fB\-Bdynamic\fR. This option may be used any number of times. -.Ip "\f(CW-A\fIarchitecture\fR\fR" 4 -.Ip "\f(CW--architecture=\fIarchitecture\fR\fR" 4 -In the current release of \f(CWld\fR, this option is useful only for the -Intel 960 family of architectures. In that \f(CWld\fR configuration, the -\fIarchitecture\fR argument identifies the particular architecture in +.Ip "\f(CW\*(C`\-A\f(CIarchitecture\f(CW\*(C'\fR" 4 +.IX Item "-Aarchitecture" +.Ip "\f(CW\*(C`\-\-architecture=\f(CIarchitecture\f(CW\*(C'\fR" 4 +.IX Item "--architecture=architecture" +In the current release of \f(CW\*(C`ld\*(C'\fR, this option is useful only for the +Intel 960 family of architectures. In that \f(CW\*(C`ld\*(C'\fR configuration, the +\&\fIarchitecture\fR argument identifies the particular architecture in the 960 family, enabling some safeguards and modifying the archive-library search path. .Sp -Future releases of \f(CWld\fR may support similar functionality for +Future releases of \f(CW\*(C`ld\*(C'\fR may support similar functionality for other architecture families. -.Ip "\f(CW-b \fIinput-format\fR\fR" 4 -.Ip "\f(CW--format=\fIinput-format\fR\fR" 4 -\f(CWld\fR may be configured to support more than one kind of object -file. If your \f(CWld\fR is configured this way, you can use the -\fB\-b\fR option to specify the binary format for input object files -that follow this option on the command line. Even when \f(CWld\fR is +.Ip "\f(CW\*(C`\-b \f(CIinput\-format\f(CW\*(C'\fR" 4 +.IX Item "-b input-format" +.Ip "\f(CW\*(C`\-\-format=\f(CIinput\-format\f(CW\*(C'\fR" 4 +.IX Item "--format=input-format" +\&\f(CW\*(C`ld\*(C'\fR may be configured to support more than one kind of object +file. If your \f(CW\*(C`ld\*(C'\fR is configured this way, you can use the +\&\fB\-b\fR option to specify the binary format for input object files +that follow this option on the command line. Even when \f(CW\*(C`ld\*(C'\fR is configured to support alternative object formats, you don't usually need -to specify this, as \f(CWld\fR should be configured to expect as a +to specify this, as \f(CW\*(C`ld\*(C'\fR should be configured to expect as a default input format the most usual format on each machine. -\fIinput-format\fR is a text string, the name of a particular format +\&\fIinput-format\fR is a text string, the name of a particular format supported by the \s-1BFD\s0 libraries. (You can list the available binary formats with \fBobjdump \-i\fR.) .Sp You may want to use this option if you are linking files with an unusual binary format. You can also use \fB\-b\fR to switch formats explicitly (when linking object files of different formats), by including -\fB\-b\fR \fIinput-format\fR before each group of object files in a +\&\fB\-b\fR \fIinput-format\fR before each group of object files in a particular format. .Sp The default format is taken from the environment variable -\f(CWGNUTARGET\fR. +\&\f(CW\*(C`GNUTARGET\*(C'\fR. .Sp You can also define the input format from a script, using the command -\f(CWTARGET\fR; -.Ip "\f(CW-c \fIMRI-commandfile\fR\fR" 4 -.Ip "\f(CW--mri-script=\fIMRI-commandfile\fR\fR" 4 -For compatibility with linkers produced by \s-1MRI\s0, \f(CWld\fR accepts script +\&\f(CW\*(C`TARGET\*(C'\fR; +.Ip "\f(CW\*(C`\-c \f(CIMRI\-commandfile\f(CW\*(C'\fR" 4 +.IX Item "-c MRI-commandfile" +.Ip "\f(CW\*(C`\-\-mri\-script=\f(CIMRI\-commandfile\f(CW\*(C'\fR" 4 +.IX Item "--mri-script=MRI-commandfile" +For compatibility with linkers produced by \s-1MRI\s0, \f(CW\*(C`ld\*(C'\fR accepts script files written in an alternate, restricted command language, described in the \s-1MRI\s0 Compatible Script Files section of \s-1GNU\s0 ld documentation. Introduce \s-1MRI\s0 script files with the option \fB\-c\fR; use the \fB\-T\fR option to run linker -scripts written in the general-purpose \f(CWld\fR scripting language. -If \fI\s-1MRI\s0\-cmdfile\fR does not exist, \f(CWld\fR looks for it in the directories +scripts written in the general-purpose \f(CW\*(C`ld\*(C'\fR scripting language. +If \fIMRI-cmdfile\fR does not exist, \f(CW\*(C`ld\*(C'\fR looks for it in the directories specified by any \fB\-L\fR options. -.Ip "\f(CW-d\fR" 4 -.Ip "\f(CW-dc\fR" 4 -.Ip "\f(CW-dp\fR" 4 +.Ip "\f(CW\*(C`\-d\*(C'\fR" 4 +.IX Item "-d" +.Ip "\f(CW\*(C`\-dc\*(C'\fR" 4 +.IX Item "-dc" +.Ip "\f(CW\*(C`\-dp\*(C'\fR" 4 +.IX Item "-dp" These three options are equivalent; multiple forms are supported for compatibility with other linkers. They assign space to common symbols even if a relocatable output file is specified (with \fB\-r\fR). The -script command \f(CWFORCE_COMMON_ALLOCATION\fR has the same effect. -.Ip "\f(CW-e \fIentry\fR\fR" 4 -.Ip "\f(CW--entry=\fIentry\fR\fR" 4 +script command \f(CW\*(C`FORCE_COMMON_ALLOCATION\*(C'\fR has the same effect. +.Ip "\f(CW\*(C`\-e \f(CIentry\f(CW\*(C'\fR" 4 +.IX Item "-e entry" +.Ip "\f(CW\*(C`\-\-entry=\f(CIentry\f(CW\*(C'\fR" 4 +.IX Item "--entry=entry" Use \fIentry\fR as the explicit symbol for beginning execution of your program, rather than the default entry point. If there is no symbol named \fIentry\fR, the linker will try to parse \fIentry\fR as a number, and use that as the entry address (the number will be interpreted in base 10; you may use a leading \fB0x\fR for base 16, or a leading -\fB0\fR for base 8). -.Ip "\f(CW-E\fR" 4 -.Ip "\f(CW--export-dynamic\fR" 4 +\&\fB0\fR for base 8). +.Ip "\f(CW\*(C`\-E\*(C'\fR" 4 +.IX Item "-E" +.Ip "\f(CW\*(C`\-\-export\-dynamic\*(C'\fR" 4 +.IX Item "--export-dynamic" When creating a dynamically linked executable, add all symbols to the dynamic symbol table. The dynamic symbol table is the set of symbols which are visible from dynamic objects at run time. @@ -389,16 +346,20 @@ If you do not use this option, the dynam contain only those symbols which are referenced by some dynamic object mentioned in the link. .Sp -If you use \f(CWdlopen\fR to load a dynamic object which needs to refer +If you use \f(CW\*(C`dlopen\*(C'\fR to load a dynamic object which needs to refer back to the symbols defined by the program, rather than some other dynamic object, then you will probably need to use this option when linking the program itself. -.Ip "\f(CW-EB\fR" 4 +.Ip "\f(CW\*(C`\-EB\*(C'\fR" 4 +.IX Item "-EB" Link big-endian objects. This affects the default output format. -.Ip "\f(CW-EL\fR" 4 +.Ip "\f(CW\*(C`\-EL\*(C'\fR" 4 +.IX Item "-EL" Link little-endian objects. This affects the default output format. -.Ip "\f(CW-f\fR" 4 -.Ip "\f(CW--auxiliary \fIname\fR\fR" 4 +.Ip "\f(CW\*(C`\-f\*(C'\fR" 4 +.IX Item "-f" +.Ip "\f(CW\*(C`\-\-auxiliary \f(CIname\f(CW\*(C'\fR" 4 +.IX Item "--auxiliary name" When creating an \s-1ELF\s0 shared object, set the internal \s-1DT_AUXILIARY\s0 field to the specified name. This tells the dynamic linker that the symbol table of the shared object should be used as an auxiliary filter on the @@ -408,7 +369,7 @@ If you later link a program against this run the program, the dynamic linker will see the \s-1DT_AUXILIARY\s0 field. If the dynamic linker resolves any symbols from the filter object, it will first check whether there is a definition in the shared object -\fIname\fR. If there is one, it will be used instead of the definition +\&\fIname\fR. If there is one, it will be used instead of the definition in the filter object. The shared object \fIname\fR need not exist. Thus the shared object \fIname\fR may be used to provide an alternative implementation of certain functions, perhaps for debugging or for @@ -416,8 +377,10 @@ machine specific performance. .Sp This option may be specified more than once. The \s-1DT_AUXILIARY\s0 entries will be created in the order in which they appear on the command line. -.Ip "\f(CW-F \fIname\fR\fR" 4 -.Ip "\f(CW--filter \fIname\fR\fR" 4 +.Ip "\f(CW\*(C`\-F \f(CIname\f(CW\*(C'\fR" 4 +.IX Item "-F name" +.Ip "\f(CW\*(C`\-\-filter \f(CIname\f(CW\*(C'\fR" 4 +.IX Item "--filter name" When creating an \s-1ELF\s0 shared object, set the internal \s-1DT_FILTER\s0 field to the specified name. This tells the dynamic linker that the symbol table of the shared object which is being created should be used as a filter @@ -429,54 +392,64 @@ dynamic linker will resolve symbols acco filter object as usual, but it will actually link to the definitions found in the shared object \fIname\fR. Thus the filter object can be used to select a subset of the symbols provided by the object -\fIname\fR. +\&\fIname\fR. .Sp -Some older linkers used the \f(CW-F\fR option throughout a compilation +Some older linkers used the \f(CW\*(C`\-F\*(C'\fR option throughout a compilation toolchain for specifying object-file format for both input and output object files. The \s-1GNU\s0 linker uses other mechanisms for this -purpose: the \f(CW-b\fR, \f(CW--format\fR, \f(CW--oformat\fR options, the -\f(CWTARGET\fR command in linker scripts, and the \f(CWGNUTARGET\fR -environment variable. The \s-1GNU\s0 linker will ignore the \f(CW-F\fR +purpose: the \f(CW\*(C`\-b\*(C'\fR, \f(CW\*(C`\-\-format\*(C'\fR, \f(CW\*(C`\-\-oformat\*(C'\fR options, the +\&\f(CW\*(C`TARGET\*(C'\fR command in linker scripts, and the \f(CW\*(C`GNUTARGET\*(C'\fR +environment variable. The \s-1GNU\s0 linker will ignore the \f(CW\*(C`\-F\*(C'\fR option when not creating an \s-1ELF\s0 shared object. -.Ip "\f(CW-fini \fIname\fR\fR" 4 +.Ip "\f(CW\*(C`\-fini \f(CIname\f(CW\*(C'\fR" 4 +.IX Item "-fini name" When creating an \s-1ELF\s0 executable or shared object, call \s-1NAME\s0 when the executable or shared object is unloaded, by setting \s-1DT_FINI\s0 to the -address of the function. By default, the linker uses \f(CW_fini\fR as +address of the function. By default, the linker uses \f(CW\*(C`_fini\*(C'\fR as the function to call. -.Ip "\f(CW-g\fR" 4 +.Ip "\f(CW\*(C`\-g\*(C'\fR" 4 +.IX Item "-g" Ignored. Provided for compatibility with other tools. -.Ip "\f(CW-G\fIvalue\fR\fR" 4 -.Ip "\f(CW--gpsize=\fIvalue\fR\fR" 4 +.Ip "\f(CW\*(C`\-G\f(CIvalue\f(CW\*(C'\fR" 4 +.IX Item "-Gvalue" +.Ip "\f(CW\*(C`\-\-gpsize=\f(CIvalue\f(CW\*(C'\fR" 4 +.IX Item "--gpsize=value" Set the maximum size of objects to be optimized using the \s-1GP\s0 register to -\fIsize\fR. This is only meaningful for object file formats such as -\s-1MIPS\s0 \s-1ECOFF\s0 which supports putting large and small objects into different +\&\fIsize\fR. This is only meaningful for object file formats such as +\&\s-1MIPS\s0 \s-1ECOFF\s0 which supports putting large and small objects into different sections. This is ignored for other object file formats. -.Ip "\f(CW-h\fIname\fR\fR" 4 -.Ip "\f(CW-soname=\fIname\fR\fR" 4 +.Ip "\f(CW\*(C`\-h\f(CIname\f(CW\*(C'\fR" 4 +.IX Item "-hname" +.Ip "\f(CW\*(C`\-soname=\f(CIname\f(CW\*(C'\fR" 4 +.IX Item "-soname=name" When creating an \s-1ELF\s0 shared object, set the internal \s-1DT_SONAME\s0 field to the specified name. When an executable is linked with a shared object which has a \s-1DT_SONAME\s0 field, then when the executable is run the dynamic linker will attempt to load the shared object specified by the \s-1DT_SONAME\s0 field rather than the using the file name given to the linker. -.Ip "\f(CW-i\fR" 4 +.Ip "\f(CW\*(C`\-i\*(C'\fR" 4 +.IX Item "-i" Perform an incremental link (same as option \fB\-r\fR). -.Ip "\f(CW-init \fIname\fR\fR" 4 +.Ip "\f(CW\*(C`\-init \f(CIname\f(CW\*(C'\fR" 4 +.IX Item "-init name" When creating an \s-1ELF\s0 executable or shared object, call \s-1NAME\s0 when the executable or shared object is loaded, by setting \s-1DT_INIT\s0 to the address -of the function. By default, the linker uses \f(CW_init\fR as the +of the function. By default, the linker uses \f(CW\*(C`_init\*(C'\fR as the function to call. -.Ip "\f(CW-l\fIarchive\fR\fR" 4 -.Ip "\f(CW--library=\fIarchive\fR\fR" 4 +.Ip "\f(CW\*(C`\-l\f(CIarchive\f(CW\*(C'\fR" 4 +.IX Item "-larchive" +.Ip "\f(CW\*(C`\-\-library=\f(CIarchive\f(CW\*(C'\fR" 4 +.IX Item "--library=archive" Add archive file \fIarchive\fR to the list of files to link. This -option may be used any number of times. \f(CWld\fR will search its -path-list for occurrences of \f(CWlib\fIarchive\fR.a\fR for every -\fIarchive\fR specified. -.Sp -On systems which support shared libraries, \f(CWld\fR may also search for -libraries with extensions other than \f(CW.a\fR. Specifically, on \s-1ELF\s0 -and SunOS systems, \f(CWld\fR will search a directory for a library with -an extension of \f(CW.so\fR before searching for one with an extension of -\&\f(CW.a\fR. By convention, a \f(CW.so\fR extension indicates a shared +option may be used any number of times. \f(CW\*(C`ld\*(C'\fR will search its +path-list for occurrences of \f(CW\*(C`lib\f(CIarchive\f(CW.a\*(C'\fR for every +\&\fIarchive\fR specified. +.Sp +On systems which support shared libraries, \f(CW\*(C`ld\*(C'\fR may also search for +libraries with extensions other than \f(CW\*(C`.a\*(C'\fR. Specifically, on \s-1ELF\s0 +and SunOS systems, \f(CW\*(C`ld\*(C'\fR will search a directory for a library with +an extension of \f(CW\*(C`.so\*(C'\fR before searching for one with an extension of +\&\f(CW\*(C`.a\*(C'\fR. By convention, a \f(CW\*(C`.so\*(C'\fR extension indicates a shared library. .Sp The linker will search an archive only once, at the location where it is @@ -486,183 +459,230 @@ command line, the linker will include th archive. However, an undefined symbol in an object appearing later on the command line will not cause the linker to search the archive again. .Sp -See the \f(CW-(\fR option for a way to force the linker to search +See the \f(CW\*(C`\-(\*(C'\fR option for a way to force the linker to search archives multiple times. .Sp You may list the same archive multiple times on the command line. .Sp This type of archive searching is standard for Unix linkers. However, -if you are using \f(CWld\fR on \s-1AIX\s0, note that it is different from the +if you are using \f(CW\*(C`ld\*(C'\fR on \s-1AIX\s0, note that it is different from the behaviour of the \s-1AIX\s0 linker. -.Ip "\f(CW-L\fIsearchdir\fR\fR" 4 -.Ip "\f(CW--library-path=\fIsearchdir\fR\fR" 4 -Add path \fIsearchdir\fR to the list of paths that \f(CWld\fR will search -for archive libraries and \f(CWld\fR control scripts. You may use this +.Ip "\f(CW\*(C`\-L\f(CIsearchdir\f(CW\*(C'\fR" 4 +.IX Item "-Lsearchdir" +.Ip "\f(CW\*(C`\-\-library\-path=\f(CIsearchdir\f(CW\*(C'\fR" 4 +.IX Item "--library-path=searchdir" +Add path \fIsearchdir\fR to the list of paths that \f(CW\*(C`ld\*(C'\fR will search +for archive libraries and \f(CW\*(C`ld\*(C'\fR control scripts. You may use this option any number of times. The directories are searched in the order in which they are specified on the command line. Directories specified on the command line are searched before the default directories. All -\f(CW-L\fR options apply to all \f(CW-l\fR options, regardless of the +\&\f(CW\*(C`\-L\*(C'\fR options apply to all \f(CW\*(C`\-l\*(C'\fR options, regardless of the order in which the options appear. .Sp The default set of paths searched (without being specified with -\fB\-L\fR) depends on which emulation mode \f(CWld\fR is using, and in +\&\fB\-L\fR) depends on which emulation mode \f(CW\*(C`ld\*(C'\fR is using, and in some cases also on how it was configured. .Sp The paths can also be specified in a link script with the -\f(CWSEARCH_DIR\fR command. Directories specified this way are searched +\&\f(CW\*(C`SEARCH_DIR\*(C'\fR command. Directories specified this way are searched at the point in which the linker script appears in the command line. -.Ip "\f(CW-m\fIemulation\fR\fR" 4 +.Ip "\f(CW\*(C`\-m\f(CIemulation\f(CW\*(C'\fR" 4 +.IX Item "-memulation" Emulate the \fIemulation\fR linker. You can list the available -emulations with the \fB--verbose\fR or \fB\-V\fR options. +emulations with the \fB\*(--verbose\fR or \fB\-V\fR options. .Sp If the \fB\-m\fR option is not used, the emulation is taken from the -\f(CWLDEMULATION\fR environment variable, if that is defined. +\&\f(CW\*(C`LDEMULATION\*(C'\fR environment variable, if that is defined. .Sp Otherwise, the default emulation depends upon how the linker was configured. -.Ip "\f(CW-M\fR" 4 -.Ip "\f(CW--print-map\fR" 4 +.Ip "\f(CW\*(C`\-M\*(C'\fR" 4 +.IX Item "-M" +.Ip "\f(CW\*(C`\-\-print\-map\*(C'\fR" 4 +.IX Item "--print-map" Print a link map to the standard output. A link map provides information about the link, including the following: -.Ip "\(bu" 8 +.RS 4 +.Ip "\(bu" 4 Where object files and symbols are mapped into memory. -.Ip "\(bu" 8 +.Ip "\(bu" 4 How common symbols are allocated. -.Ip "\(bu" 8 +.Ip "\(bu" 4 All archive members included in the link, with a mention of the symbol which caused the archive member to be brought in. -.Ip "\f(CW-n\fR" 4 -.Ip "\f(CW--nmagic\fR" 4 +.RE +.RS 4 +.RE +.Ip "\f(CW\*(C`\-n\*(C'\fR" 4 +.IX Item "-n" +.Ip "\f(CW\*(C`\-\-nmagic\*(C'\fR" 4 +.IX Item "--nmagic" Turn off page alignment of sections, and mark the output as -\f(CWNMAGIC\fR if possible. -.Ip "\f(CW-N\fR" 4 -.Ip "\f(CW--omagic\fR" 4 +\&\f(CW\*(C`NMAGIC\*(C'\fR if possible. +.Ip "\f(CW\*(C`\-N\*(C'\fR" 4 +.IX Item "-N" +.Ip "\f(CW\*(C`\-\-omagic\*(C'\fR" 4 +.IX Item "--omagic" Set the text and data sections to be readable and writable. Also, do not page-align the data segment. If the output format supports Unix -style magic numbers, mark the output as \f(CWOMAGIC\fR. -.Ip "\f(CW-o \fIoutput\fR\fR" 4 -.Ip "\f(CW--output=\fIoutput\fR\fR" 4 -Use \fIoutput\fR as the name for the program produced by \f(CWld\fR; if this +style magic numbers, mark the output as \f(CW\*(C`OMAGIC\*(C'\fR. +.Ip "\f(CW\*(C`\-o \f(CIoutput\f(CW\*(C'\fR" 4 +.IX Item "-o output" +.Ip "\f(CW\*(C`\-\-output=\f(CIoutput\f(CW\*(C'\fR" 4 +.IX Item "--output=output" +Use \fIoutput\fR as the name for the program produced by \f(CW\*(C`ld\*(C'\fR; if this option is not specified, the name \fIa.out\fR is used by default. The -script command \f(CWOUTPUT\fR can also specify the output file name. -.Ip "\f(CW-O \fIlevel\fR\fR" 4 -If \fIlevel\fR is a numeric values greater than zero \f(CWld\fR optimizes +script command \f(CW\*(C`OUTPUT\*(C'\fR can also specify the output file name. +.Ip "\f(CW\*(C`\-O \f(CIlevel\f(CW\*(C'\fR" 4 +.IX Item "-O level" +If \fIlevel\fR is a numeric values greater than zero \f(CW\*(C`ld\*(C'\fR optimizes the output. This might take significantly longer and therefore probably should only be enabled for the final binary. -.Ip "\f(CW-q\fR" 4 -.Ip "\f(CW--emit-relocs\fR" 4 +.Ip "\f(CW\*(C`\-q\*(C'\fR" 4 +.IX Item "-q" +.Ip "\f(CW\*(C`\-\-emit\-relocs\*(C'\fR" 4 +.IX Item "--emit-relocs" Leave relocation sections and contents in fully linked exececutables. Post link analysis and optimization tools may need this information in order to perform correct modifications of executables. This results in larger executables. -.Ip "\f(CW-r\fR" 4 -.Ip "\f(CW--relocateable\fR" 4 -Generate relocatable output---i.e., generate an output file that can in -turn serve as input to \f(CWld\fR. This is often called \fIpartial +.Ip "\f(CW\*(C`\-r\*(C'\fR" 4 +.IX Item "-r" +.Ip "\f(CW\*(C`\-\-relocateable\*(C'\fR" 4 +.IX Item "--relocateable" +Generate relocatable output\-\-\-i.e., generate an output file that can in +turn serve as input to \f(CW\*(C`ld\*(C'\fR. This is often called \fIpartial linking\fR. As a side effect, in environments that support standard Unix magic numbers, this option also sets the output file's magic number to -\f(CWOMAGIC\fR. +\&\f(CW\*(C`OMAGIC\*(C'\fR. If this option is not specified, an absolute file is produced. When linking \*(C+ programs, this option \fIwill not\fR resolve references to constructors; to do that, use \fB\-Ur\fR. .Sp This option does the same thing as \fB\-i\fR. -.Ip "\f(CW-R \fIfilename\fR\fR" 4 -.Ip "\f(CW--just-symbols=\fIfilename\fR\fR" 4 +.Ip "\f(CW\*(C`\-R \f(CIfilename\f(CW\*(C'\fR" 4 +.IX Item "-R filename" +.Ip "\f(CW\*(C`\-\-just\-symbols=\f(CIfilename\f(CW\*(C'\fR" 4 +.IX Item "--just-symbols=filename" Read symbol names and their addresses from \fIfilename\fR, but do not relocate it or include it in the output. This allows your output file to refer symbolically to absolute locations of memory defined in other programs. You may use this option more than once. .Sp -For compatibility with other \s-1ELF\s0 linkers, if the \f(CW-R\fR option is +For compatibility with other \s-1ELF\s0 linkers, if the \f(CW\*(C`\-R\*(C'\fR option is followed by a directory name, rather than a file name, it is treated as -the \f(CW-rpath\fR option. -.Ip "\f(CW-s\fR" 4 -.Ip "\f(CW--strip-all\fR" 4 +the \f(CW\*(C`\-rpath\*(C'\fR option. +.Ip "\f(CW\*(C`\-s\*(C'\fR" 4 +.IX Item "-s" +.Ip "\f(CW\*(C`\-\-strip\-all\*(C'\fR" 4 +.IX Item "--strip-all" Omit all symbol information from the output file. -.Ip "\f(CW-S\fR" 4 -.Ip "\f(CW--strip-debug\fR" 4 +.Ip "\f(CW\*(C`\-S\*(C'\fR" 4 +.IX Item "-S" +.Ip "\f(CW\*(C`\-\-strip\-debug\*(C'\fR" 4 +.IX Item "--strip-debug" Omit debugger symbol information (but not all symbols) from the output file. -.Ip "\f(CW-t\fR" 4 -.Ip "\f(CW--trace\fR" 4 -Print the names of the input files as \f(CWld\fR processes them. -.Ip "\f(CW-T \fIscriptfile\fR\fR" 4 -.Ip "\f(CW--script=\fIscriptfile\fR\fR" 4 +.Ip "\f(CW\*(C`\-t\*(C'\fR" 4 +.IX Item "-t" +.Ip "\f(CW\*(C`\-\-trace\*(C'\fR" 4 +.IX Item "--trace" +Print the names of the input files as \f(CW\*(C`ld\*(C'\fR processes them. +.Ip "\f(CW\*(C`\-T \f(CIscriptfile\f(CW\*(C'\fR" 4 +.IX Item "-T scriptfile" +.Ip "\f(CW\*(C`\-\-script=\f(CIscriptfile\f(CW\*(C'\fR" 4 +.IX Item "--script=scriptfile" Use \fIscriptfile\fR as the linker script. This script replaces -\f(CWld\fR's default linker script (rather than adding to it), so -\fIcommandfile\fR must specify everything necessary to describe the +\&\f(CW\*(C`ld\*(C'\fR's default linker script (rather than adding to it), so +\&\fIcommandfile\fR must specify everything necessary to describe the output file. You must use this option if you want to use a command which can only appear once in a linker script, such as the -\f(CWSECTIONS\fR or \f(CWMEMORY\fR command. If -\fIscriptfile\fR does not exist in the current directory, \f(CWld\fR +\&\f(CW\*(C`SECTIONS\*(C'\fR or \f(CW\*(C`MEMORY\*(C'\fR command. If +\&\fIscriptfile\fR does not exist in the current directory, \f(CW\*(C`ld\*(C'\fR looks for it in the directories specified by any preceding \fB\-L\fR options. Multiple \fB\-T\fR options accumulate. -.Ip "\f(CW-u \fIsymbol\fR\fR" 4 -.Ip "\f(CW--undefined=\fIsymbol\fR\fR" 4 +.Ip "\f(CW\*(C`\-u \f(CIsymbol\f(CW\*(C'\fR" 4 +.IX Item "-u symbol" +.Ip "\f(CW\*(C`\-\-undefined=\f(CIsymbol\f(CW\*(C'\fR" 4 +.IX Item "--undefined=symbol" Force \fIsymbol\fR to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. \fB\-u\fR may be repeated with different option arguments to enter additional undefined symbols. This -option is equivalent to the \f(CWEXTERN\fR linker script command. -.Ip "\f(CW-Ur\fR" 4 +option is equivalent to the \f(CW\*(C`EXTERN\*(C'\fR linker script command. +.Ip "\f(CW\*(C`\-Ur\*(C'\fR" 4 +.IX Item "-Ur" For anything other than \*(C+ programs, this option is equivalent to -\fB\-r\fR: it generates relocatable output---i.e., an output file that can in -turn serve as input to \f(CWld\fR. When linking \*(C+ programs, \fB\-Ur\fR -\fIdoes\fR resolve references to constructors, unlike \fB\-r\fR. +\&\fB\-r\fR: it generates relocatable output\-\-\-i.e., an output file that can in +turn serve as input to \f(CW\*(C`ld\*(C'\fR. When linking \*(C+ programs, \fB\-Ur\fR +\&\fIdoes\fR resolve references to constructors, unlike \fB\-r\fR. It does not work to use \fB\-Ur\fR on files that were themselves linked with \fB\-Ur\fR; once the constructor table has been built, it cannot be added to. Use \fB\-Ur\fR only for the last partial link, and -\fB\-r\fR for the others. -.Ip "\f(CW--unique[=\fISECTION\fR]\fR" 4 +\&\fB\-r\fR for the others. +.Ip "\f(CW\*(C`\-\-unique[=\f(CI\s\-1SECTION\s0\f(CW]\*(C'\fR" 4 +.IX Item "--unique[=SECTION]" Creates a separate output section for every input section matching -\fI\s-1SECTION\s0\fR, or if the optional wildcard \fI\s-1SECTION\s0\fR argument is +\&\fI\s-1SECTION\s0\fR, or if the optional wildcard \fI\s-1SECTION\s0\fR argument is missing, for every orphan input section. An orphan section is one not specifically mentioned in a linker script. You may use this option multiple times on the command line; It prevents the normal merging of input sections with the same name, overriding output section assignments in a linker script. -.Ip "\f(CW-v\fR" 4 -.Ip "\f(CW--version\fR" 4 -.Ip "\f(CW-V\fR" 4 -Display the version number for \f(CWld\fR. The \f(CW-V\fR option also +.Ip "\f(CW\*(C`\-v\*(C'\fR" 4 +.IX Item "-v" +.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 +.IX Item "--version" +.Ip "\f(CW\*(C`\-V\*(C'\fR" 4 +.IX Item "-V" +Display the version number for \f(CW\*(C`ld\*(C'\fR. The \f(CW\*(C`\-V\*(C'\fR option also lists the supported emulations. -.Ip "\f(CW-x\fR" 4 -.Ip "\f(CW--discard-all\fR" 4 +.Ip "\f(CW\*(C`\-x\*(C'\fR" 4 +.IX Item "-x" +.Ip "\f(CW\*(C`\-\-discard\-all\*(C'\fR" 4 +.IX Item "--discard-all" Delete all local symbols. -.Ip "\f(CW-X\fR" 4 -.Ip "\f(CW--discard-locals\fR" 4 +.Ip "\f(CW\*(C`\-X\*(C'\fR" 4 +.IX Item "-X" +.Ip "\f(CW\*(C`\-\-discard\-locals\*(C'\fR" 4 +.IX Item "--discard-locals" Delete all temporary local symbols. For most targets, this is all local symbols whose names begin with \fBL\fR. -.Ip "\f(CW-y \fIsymbol\fR\fR" 4 -.Ip "\f(CW--trace-symbol=\fIsymbol\fR\fR" 4 +.Ip "\f(CW\*(C`\-y \f(CIsymbol\f(CW\*(C'\fR" 4 +.IX Item "-y symbol" +.Ip "\f(CW\*(C`\-\-trace\-symbol=\f(CIsymbol\f(CW\*(C'\fR" 4 +.IX Item "--trace-symbol=symbol" Print the name of each linked file in which \fIsymbol\fR appears. This option may be given any number of times. On many systems it is necessary to prepend an underscore. .Sp This option is useful when you have an undefined symbol in your link but don't know where the reference is coming from. -.Ip "\f(CW-Y \fIpath\fR\fR" 4 +.Ip "\f(CW\*(C`\-Y \f(CIpath\f(CW\*(C'\fR" 4 +.IX Item "-Y path" Add \fIpath\fR to the default library search path. This option exists for Solaris compatibility. -.Ip "\f(CW-z \fIkeyword\fR\fR" 4 -The recognized keywords are \f(CWinitfirst\fR, \f(CWinterpose\fR, -\f(CWloadfltr\fR, \f(CWnodefaultlib\fR, \f(CWnodelete\fR, \f(CWnodlopen\fR, -\f(CWnodump\fR, \f(CWnow\fR and \f(CWorigin\fR. The other keywords are -ignored for Solaris compatibility. \f(CWinitfirst\fR marks the object +.Ip "\f(CW\*(C`\-z \f(CIkeyword\f(CW\*(C'\fR" 4 +.IX Item "-z keyword" +The recognized keywords are \f(CW\*(C`initfirst\*(C'\fR, \f(CW\*(C`interpose\*(C'\fR, +\&\f(CW\*(C`loadfltr\*(C'\fR, \f(CW\*(C`nodefaultlib\*(C'\fR, \f(CW\*(C`nodelete\*(C'\fR, \f(CW\*(C`nodlopen\*(C'\fR, +\&\f(CW\*(C`nodump\*(C'\fR, \f(CW\*(C`now\*(C'\fR and \f(CW\*(C`origin\*(C'\fR. The other keywords are +ignored for Solaris compatibility. \f(CW\*(C`initfirst\*(C'\fR marks the object to be initialized first at runtime before any other objects. -\f(CWinterpose\fR marks the object that its symbol table interposes -before all symbols but the primary executable. \f(CWloadfltr\fR marks +\&\f(CW\*(C`interpose\*(C'\fR marks the object that its symbol table interposes +before all symbols but the primary executable. \f(CW\*(C`loadfltr\*(C'\fR marks the object that its filtees be processed immediately at runtime. -\f(CWnodefaultlib\fR marks the object that the search for dependencies +\&\f(CW\*(C`nodefaultlib\*(C'\fR marks the object that the search for dependencies of this object will ignore any default library search paths. -\f(CWnodelete\fR marks the object shouldn't be unloaded at runtime. -\f(CWnodlopen\fR marks the object not available to \f(CWdlopen\fR. -\f(CWnodump\fR marks the object can not be dumped by \f(CWdldump\fR. -\f(CWnow\fR marks the object with the non-lazy runtime binding. -\f(CWorigin\fR marks the object may contain \f(CW$ORIGIN\fR. -\f(CWdefs\fR disallows undefined symbols. -.Ip "\f(CW-( \fIarchives\fR -)\fR" 4 -.Ip "\f(CW--start-group \fIarchives\fR --end-group\fR" 4 +\&\f(CW\*(C`nodelete\*(C'\fR marks the object shouldn't be unloaded at runtime. +\&\f(CW\*(C`nodlopen\*(C'\fR marks the object not available to \f(CW\*(C`dlopen\*(C'\fR. +\&\f(CW\*(C`nodump\*(C'\fR marks the object can not be dumped by \f(CW\*(C`dldump\*(C'\fR. +\&\f(CW\*(C`now\*(C'\fR marks the object with the non-lazy runtime binding. +\&\f(CW\*(C`origin\*(C'\fR marks the object may contain \f(CW$ORIGIN\fR. +\&\f(CW\*(C`defs\*(C'\fR disallows undefined symbols. +.Ip "\f(CW\*(C`\-( \f(CIarchives\f(CW \-)\*(C'\fR" 4 +.IX Item "-( archives -)" +.Ip "\f(CW\*(C`\-\-start\-group \f(CIarchives\f(CW \-\-end\-group\*(C'\fR" 4 +.IX Item "--start-group archives --end-group" The \fIarchives\fR should be a list of archive files. They may be either explicit file names, or \fB\-l\fR options. .Sp @@ -678,47 +698,60 @@ resolved. Using this option has a significant performance cost. It is best to use it only when there are unavoidable circular references between two or more archives. -.Ip "\f(CW-assert \fIkeyword\fR\fR" 4 +.Ip "\f(CW\*(C`\-assert \f(CIkeyword\f(CW\*(C'\fR" 4 +.IX Item "-assert keyword" This option is ignored for SunOS compatibility. -.Ip "\f(CW-Bdynamic\fR" 4 -.Ip "\f(CW-dy\fR" 4 -.Ip "\f(CW-call_shared\fR" 4 +.Ip "\f(CW\*(C`\-Bdynamic\*(C'\fR" 4 +.IX Item "-Bdynamic" +.Ip "\f(CW\*(C`\-dy\*(C'\fR" 4 +.IX Item "-dy" +.Ip "\f(CW\*(C`\-call_shared\*(C'\fR" 4 +.IX Item "-call_shared" Link against dynamic libraries. This is only meaningful on platforms for which shared libraries are supported. This option is normally the default on such platforms. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -\f(CW-l\fR options which follow it. -.Ip "\f(CW-Bgroup\fR" 4 -Set the \f(CWDF_1_GROUP\fR flag in the \f(CWDT_FLAGS_1\fR entry in the dynamic +\&\f(CW\*(C`\-l\*(C'\fR options which follow it. +.Ip "\f(CW\*(C`\-Bgroup\*(C'\fR" 4 +.IX Item "-Bgroup" +Set the \f(CW\*(C`DF_1_GROUP\*(C'\fR flag in the \f(CW\*(C`DT_FLAGS_1\*(C'\fR entry in the dynamic section. This causes the runtime linker to handle lookups in this object and its dependencies to be performed only inside the group. -\f(CW--no-undefined\fR is implied. This option is only meaningful on \s-1ELF\s0 +\&\f(CW\*(C`\-\-no\-undefined\*(C'\fR is implied. This option is only meaningful on \s-1ELF\s0 platforms which support shared libraries. -.Ip "\f(CW-Bstatic\fR" 4 -.Ip "\f(CW-dn\fR" 4 -.Ip "\f(CW-non_shared\fR" 4 -.Ip "\f(CW-static\fR" 4 +.Ip "\f(CW\*(C`\-Bstatic\*(C'\fR" 4 +.IX Item "-Bstatic" +.Ip "\f(CW\*(C`\-dn\*(C'\fR" 4 +.IX Item "-dn" +.Ip "\f(CW\*(C`\-non_shared\*(C'\fR" 4 +.IX Item "-non_shared" +.Ip "\f(CW\*(C`\-static\*(C'\fR" 4 +.IX Item "-static" Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects -library searching for \f(CW-l\fR options which follow it. -.Ip "\f(CW-Bsymbolic\fR" 4 +library searching for \f(CW\*(C`\-l\*(C'\fR options which follow it. +.Ip "\f(CW\*(C`\-Bsymbolic\*(C'\fR" 4 +.IX Item "-Bsymbolic" When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on \s-1ELF\s0 platforms which support shared libraries. -.Ip "\f(CW--check-sections\fR" 4 -.Ip "\f(CW--no-check-sections\fR" 4 +.Ip "\f(CW\*(C`\-\-check\-sections\*(C'\fR" 4 +.IX Item "--check-sections" +.Ip "\f(CW\*(C`\-\-no\-check\-sections\*(C'\fR" 4 +.IX Item "--no-check-sections" Asks the linker \fInot\fR to check section addresses after they have been assigned to see if there any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be -restored by using the command line switch \fB--check-sections\fR. -.Ip "\f(CW--cref\fR" 4 +restored by using the command line switch \fB\*(--check-sections\fR. +.Ip "\f(CW\*(C`\-\-cref\*(C'\fR" 4 +.IX Item "--cref" Output a cross reference table. If a linker map file is being generated, the cross reference table is printed to the map file. Otherwise, it is printed on the standard output. @@ -728,19 +761,22 @@ easily processed by a script if necessar sorted by name. For each symbol, a list of file names is given. If the symbol is defined, the first file listed is the location of the definition. The remaining files contain references to the symbol. -.Ip "\f(CW--defsym \fIsymbol\fR=\fIexpression\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-defsym \f(CIsymbol\f(CW=\f(CIexpression\f(CW\*(C'\fR" 4 +.IX Item "--defsym symbol=expression" Create a global symbol in the output file, containing the absolute address given by \fIexpression\fR. You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the \fIexpression\fR in this context: you may give a hexadecimal constant or the name of an existing -symbol, or use \f(CW+\fR and \f(CW-\fR to add or subtract hexadecimal +symbol, or use \f(CW\*(C`+\*(C'\fR and \f(CW\*(C`\-\*(C'\fR to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script. \fINote:\fR there should be no white space between \fIsymbol\fR, the equals sign (``\fB=\fR''), and -\fIexpression\fR. -.Ip "\f(CW--demangle[=\fIstyle\fR]\fR" 4 -.Ip "\f(CW--no-demangle\fR" 4 +\&\fIexpression\fR. +.Ip "\f(CW\*(C`\-\-demangle[=\f(CIstyle\f(CW]\*(C'\fR" 4 +.IX Item "--demangle[=style]" +.Ip "\f(CW\*(C`\-\-no\-demangle\*(C'\fR" 4 +.IX Item "--no-demangle" These options control whether to demangle symbol names in error messages and other output. When the linker is told to demangle, it tries to present symbol names in a readable fashion: it strips leading @@ -750,55 +786,68 @@ different mangling styles. The optional to choose an appropriate demangling style for your compiler. The linker will demangle by default unless the environment variable \fB\s-1COLLECT_NO_DEMANGLE\s0\fR is set. These options may be used to override the default. -.Ip "\f(CW--dynamic-linker \fIfile\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-dynamic\-linker \f(CIfile\f(CW\*(C'\fR" 4 +.IX Item "--dynamic-linker file" Set the name of the dynamic linker. This is only meaningful when generating dynamically linked \s-1ELF\s0 executables. The default dynamic linker is normally correct; don't use this unless you know what you are doing. -.Ip "\f(CW--embedded-relocs\fR" 4 +.Ip "\f(CW\*(C`\-\-embedded\-relocs\*(C'\fR" 4 +.IX Item "--embedded-relocs" This option is only meaningful when linking \s-1MIPS\s0 embedded \s-1PIC\s0 code, generated by the \-membedded-pic option to the \s-1GNU\s0 compiler and assembler. It causes the linker to create a table which may be used at runtime to relocate any data which was statically initialized to pointer values. See the code in testsuite/ld-empic for details. -.Ip "\f(CW--fatal-warnings\fR" 4 +.Ip "\f(CW\*(C`\-\-fatal\-warnings\*(C'\fR" 4 +.IX Item "--fatal-warnings" Treat all warnings as errors. -.Ip "\f(CW--force-exe-suffix\fR" 4 +.Ip "\f(CW\*(C`\-\-force\-exe\-suffix\*(C'\fR" 4 +.IX Item "--force-exe-suffix" Make sure that an output file has a .exe suffix. .Sp If a successfully built fully linked output file does not have a -\&\f(CW.exe\fR or \f(CW.dll\fR suffix, this option forces the linker to copy -the output file to one of the same name with a \f(CW.exe\fR suffix. This +\&\f(CW\*(C`.exe\*(C'\fR or \f(CW\*(C`.dll\*(C'\fR suffix, this option forces the linker to copy +the output file to one of the same name with a \f(CW\*(C`.exe\*(C'\fR suffix. This option is useful when using unmodified Unix makefiles on a Microsoft Windows host, since some versions of Windows won't run an image unless -it ends in a \f(CW.exe\fR suffix. -.Ip "\f(CW--no-gc-sections\fR" 4 -.Ip "\f(CW--gc-sections\fR" 4 +it ends in a \f(CW\*(C`.exe\*(C'\fR suffix. +.Ip "\f(CW\*(C`\-\-no\-gc\-sections\*(C'\fR" 4 +.IX Item "--no-gc-sections" +.Ip "\f(CW\*(C`\-\-gc\-sections\*(C'\fR" 4 +.IX Item "--gc-sections" Enable garbage collection of unused input sections. It is ignored on targets that do not support this option. This option is not compatible with \fB\-r\fR, nor should it be used with dynamic linking. The default behaviour (of not performing this garbage collection) can be restored by -specifying \fB--no-gc-sections\fR on the command line. -.Ip "\f(CW--help\fR" 4 +specifying \fB\*(--no-gc-sections\fR on the command line. +.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 +.IX Item "--help" Print a summary of the command-line options on the standard output and exit. -.Ip "\f(CW--target-help\fR" 4 +.Ip "\f(CW\*(C`\-\-target\-help\*(C'\fR" 4 +.IX Item "--target-help" Print a summary of all target specific options on the standard output and exit. -.Ip "\f(CW-Map \fImapfile\fR\fR" 4 +.Ip "\f(CW\*(C`\-Map \f(CImapfile\f(CW\*(C'\fR" 4 +.IX Item "-Map mapfile" Print a link map to the file \fImapfile\fR. See the description of the -\fB\-M\fR option, above. -.Ip "\f(CW--no-keep-memory\fR" 4 -\f(CWld\fR normally optimizes for speed over memory usage by caching the -symbol tables of input files in memory. This option tells \f(CWld\fR to +\&\fB\-M\fR option, above. +.Ip "\f(CW\*(C`\-\-no\-keep\-memory\*(C'\fR" 4 +.IX Item "--no-keep-memory" +\&\f(CW\*(C`ld\*(C'\fR normally optimizes for speed over memory usage by caching the +symbol tables of input files in memory. This option tells \f(CW\*(C`ld\*(C'\fR to instead optimize for memory usage, by rereading the symbol tables as -necessary. This may be required if \f(CWld\fR runs out of memory space +necessary. This may be required if \f(CW\*(C`ld\*(C'\fR runs out of memory space while linking a large executable. -.Ip "\f(CW--no-undefined\fR" 4 -.Ip "\f(CW-z defs\fR" 4 +.Ip "\f(CW\*(C`\-\-no\-undefined\*(C'\fR" 4 +.IX Item "--no-undefined" +.Ip "\f(CW\*(C`\-z defs\*(C'\fR" 4 +.IX Item "-z defs" Normally when creating a non-symbolic shared library, undefined symbols are allowed and left to be resolved by the runtime loader. These options disallows such undefined symbols. -.Ip "\f(CW--allow-shlib-undefined\fR" 4 -Allow undefined symbols in shared objects even when --no-undefined is +.Ip "\f(CW\*(C`\-\-allow\-shlib\-undefined\*(C'\fR" 4 +.IX Item "--allow-shlib-undefined" +Allow undefined symbols in shared objects even when \-\-no-undefined is set. The net result will be that undefined symbols in regular objects will still trigger an error, but undefined symbols in shared objects will be ignored. The implementation of no_undefined makes the @@ -808,43 +857,50 @@ shared libraries is normal since the ker select which function is most appropriate for the current architecture. I.E. dynamically select an appropriate memset function. Apparently it is also normal for \s-1HPPA\s0 shared libraries to have undefined symbols. -.Ip "\f(CW--no-warn-mismatch\fR" 4 -Normally \f(CWld\fR will give an error if you try to link together input +.Ip "\f(CW\*(C`\-\-no\-warn\-mismatch\*(C'\fR" 4 +.IX Item "--no-warn-mismatch" +Normally \f(CW\*(C`ld\*(C'\fR will give an error if you try to link together input files that are mismatched for some reason, perhaps because they have been compiled for different processors or for different endiannesses. -This option tells \f(CWld\fR that it should silently permit such possible +This option tells \f(CW\*(C`ld\*(C'\fR that it should silently permit such possible errors. This option should only be used with care, in cases when you have taken some special action that ensures that the linker errors are inappropriate. -.Ip "\f(CW--no-whole-archive\fR" 4 -Turn off the effect of the \f(CW--whole-archive\fR option for subsequent +.Ip "\f(CW\*(C`\-\-no\-whole\-archive\*(C'\fR" 4 +.IX Item "--no-whole-archive" +Turn off the effect of the \f(CW\*(C`\-\-whole\-archive\*(C'\fR option for subsequent archive files. -.Ip "\f(CW--noinhibit-exec\fR" 4 +.Ip "\f(CW\*(C`\-\-noinhibit\-exec\*(C'\fR" 4 +.IX Item "--noinhibit-exec" Retain the executable output file whenever it is still usable. Normally, the linker will not produce an output file if it encounters errors during the link process; it exits without writing an output file when it issues any error whatsoever. -.Ip "\f(CW--oformat \fIoutput-format\fR\fR" 4 -\f(CWld\fR may be configured to support more than one kind of object -file. If your \f(CWld\fR is configured this way, you can use the -\fB--oformat\fR option to specify the binary format for the output -object file. Even when \f(CWld\fR is configured to support alternative -object formats, you don't usually need to specify this, as \f(CWld\fR +.Ip "\f(CW\*(C`\-\-oformat \f(CIoutput\-format\f(CW\*(C'\fR" 4 +.IX Item "--oformat output-format" +\&\f(CW\*(C`ld\*(C'\fR may be configured to support more than one kind of object +file. If your \f(CW\*(C`ld\*(C'\fR is configured this way, you can use the +\&\fB\*(--oformat\fR option to specify the binary format for the output +object file. Even when \f(CW\*(C`ld\*(C'\fR is configured to support alternative +object formats, you don't usually need to specify this, as \f(CW\*(C`ld\*(C'\fR should be configured to produce as a default output format the most usual format on each machine. \fIoutput-format\fR is a text string, the name of a particular format supported by the \s-1BFD\s0 libraries. (You can list the available binary formats with \fBobjdump \-i\fR.) The script -command \f(CWOUTPUT_FORMAT\fR can also specify the output format, but +command \f(CW\*(C`OUTPUT_FORMAT\*(C'\fR can also specify the output format, but this option overrides it. -.Ip "\f(CW-qmagic\fR" 4 +.Ip "\f(CW\*(C`\-qmagic\*(C'\fR" 4 +.IX Item "-qmagic" This option is ignored for Linux compatibility. -.Ip "\f(CW-Qy\fR" 4 +.Ip "\f(CW\*(C`\-Qy\*(C'\fR" 4 +.IX Item "-Qy" This option is ignored for \s-1SVR4\s0 compatibility. -.Ip "\f(CW--relax\fR" 4 +.Ip "\f(CW\*(C`\-\-relax\*(C'\fR" 4 +.IX Item "--relax" An option with machine dependent effects. This option is only supported on a few targets. .Sp -On some platforms, the \fB--relax\fR option performs global +On some platforms, the \fB\*(--relax\fR option performs global optimizations that become possible when the linker resolves addressing in the program, such as relaxing address modes and synthesizing new instructions in the output object file. @@ -854,9 +910,10 @@ debugging of the resulting executable im This is known to be the case for the Matsushita \s-1MN10200\s0 and \s-1MN10300\s0 family of processors. .Sp -On platforms where this is not supported, \fB--relax\fR is accepted, +On platforms where this is not supported, \fB\*(--relax\fR is accepted, but ignored. -.Ip "\f(CW--retain-symbols-file \fIfilename\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-retain\-symbols\-file \f(CIfilename\f(CW\*(C'\fR" 4 +.IX Item "--retain-symbols-file filename" Retain \fIonly\fR the symbols listed in the file \fIfilename\fR, discarding all others. \fIfilename\fR is simply a flat file, with one symbol name per line. This option is especially useful in environments @@ -864,44 +921,46 @@ symbol name per line. This option is es where a large global symbol table is accumulated gradually, to conserve run-time memory. .Sp -\fB--retain-symbols-file\fR does \fInot\fR discard undefined symbols, +\&\fB\*(--retain-symbols-file\fR does \fInot\fR discard undefined symbols, or symbols needed for relocations. .Sp -You may only specify \fB--retain-symbols-file\fR once in the command +You may only specify \fB\*(--retain-symbols-file\fR once in the command line. It overrides \fB\-s\fR and \fB\-S\fR. -.Ip "\f(CW-rpath \fIdir\fR\fR" 4 +.Ip "\f(CW\*(C`\-rpath \f(CIdir\f(CW\*(C'\fR" 4 +.IX Item "-rpath dir" Add a directory to the runtime library search path. This is used when -linking an \s-1ELF\s0 executable with shared objects. All \f(CW-rpath\fR +linking an \s-1ELF\s0 executable with shared objects. All \f(CW\*(C`\-rpath\*(C'\fR arguments are concatenated and passed to the runtime linker, which uses -them to locate shared objects at runtime. The \f(CW-rpath\fR option is +them to locate shared objects at runtime. The \f(CW\*(C`\-rpath\*(C'\fR option is also used when locating shared objects which are needed by shared objects explicitly included in the link; see the description of the -\f(CW-rpath-link\fR option. If \f(CW-rpath\fR is not used when linking an -\s-1ELF\s0 executable, the contents of the environment variable -\f(CWLD_RUN_PATH\fR will be used if it is defined. +\&\f(CW\*(C`\-rpath\-link\*(C'\fR option. If \f(CW\*(C`\-rpath\*(C'\fR is not used when linking an +\&\s-1ELF\s0 executable, the contents of the environment variable +\&\f(CW\*(C`LD_RUN_PATH\*(C'\fR will be used if it is defined. .Sp -The \f(CW-rpath\fR option may also be used on SunOS. By default, on +The \f(CW\*(C`\-rpath\*(C'\fR option may also be used on SunOS. By default, on SunOS, the linker will form a runtime search patch out of all the -\f(CW-L\fR options it is given. If a \f(CW-rpath\fR option is used, the -runtime search path will be formed exclusively using the \f(CW-rpath\fR -options, ignoring the \f(CW-L\fR options. This can be useful when using -gcc, which adds many \f(CW-L\fR options which may be on \s-1NFS\s0 mounted +\&\f(CW\*(C`\-L\*(C'\fR options it is given. If a \f(CW\*(C`\-rpath\*(C'\fR option is used, the +runtime search path will be formed exclusively using the \f(CW\*(C`\-rpath\*(C'\fR +options, ignoring the \f(CW\*(C`\-L\*(C'\fR options. This can be useful when using +gcc, which adds many \f(CW\*(C`\-L\*(C'\fR options which may be on \s-1NFS\s0 mounted filesystems. .Sp -For compatibility with other \s-1ELF\s0 linkers, if the \f(CW-R\fR option is +For compatibility with other \s-1ELF\s0 linkers, if the \f(CW\*(C`\-R\*(C'\fR option is followed by a directory name, rather than a file name, it is treated as -the \f(CW-rpath\fR option. -.Ip "\f(CW-rpath-link \fIDIR\fR\fR" 4 +the \f(CW\*(C`\-rpath\*(C'\fR option. +.Ip "\f(CW\*(C`\-rpath\-link \f(CI\s\-1DIR\s0\f(CW\*(C'\fR" 4 +.IX Item "-rpath-link DIR" When using \s-1ELF\s0 or SunOS, one shared library may require another. This -happens when an \f(CWld -shared\fR link includes a shared library as one +happens when an \f(CW\*(C`ld \-shared\*(C'\fR link includes a shared library as one of the input files. .Sp When the linker encounters such a dependency when doing a non-shared, non-relocatable link, it will automatically try to locate the required shared library and include it in the link, if it is not included -explicitly. In such a case, the \f(CW-rpath-link\fR option +explicitly. In such a case, the \f(CW\*(C`\-rpath\-link\*(C'\fR option specifies the first set of directories to search. The -\f(CW-rpath-link\fR option may specify a sequence of directory names +\&\f(CW\*(C`\-rpath\-link\*(C'\fR option may specify a sequence of directory names either by specifying a list of names separated by colons, or by appearing multiple times. .Sp @@ -912,54 +971,63 @@ runtime linker would do. .Sp The linker uses the following search paths to locate required shared libraries. -.Ip "1." 8 -Any directories specified by \f(CW-rpath-link\fR options. -.Ip "2." 8 -Any directories specified by \f(CW-rpath\fR options. The difference -between \f(CW-rpath\fR and \f(CW-rpath-link\fR is that directories -specified by \f(CW-rpath\fR options are included in the executable and -used at runtime, whereas the \f(CW-rpath-link\fR option is only effective +.RS 4 +.Ip "1." 4 +Any directories specified by \f(CW\*(C`\-rpath\-link\*(C'\fR options. +.Ip "2." 4 +Any directories specified by \f(CW\*(C`\-rpath\*(C'\fR options. The difference +between \f(CW\*(C`\-rpath\*(C'\fR and \f(CW\*(C`\-rpath\-link\*(C'\fR is that directories +specified by \f(CW\*(C`\-rpath\*(C'\fR options are included in the executable and +used at runtime, whereas the \f(CW\*(C`\-rpath\-link\*(C'\fR option is only effective at link time. It is for the native linker only. -.Ip "3." 8 -On an \s-1ELF\s0 system, if the \f(CW-rpath\fR and \f(CWrpath-link\fR options +.Ip "3." 4 +On an \s-1ELF\s0 system, if the \f(CW\*(C`\-rpath\*(C'\fR and \f(CW\*(C`rpath\-link\*(C'\fR options were not used, search the contents of the environment variable -\f(CWLD_RUN_PATH\fR. It is for the native linker only. -.Ip "4." 8 -On SunOS, if the \f(CW-rpath\fR option was not used, search any -directories specified using \f(CW-L\fR options. -.Ip "5." 8 +\&\f(CW\*(C`LD_RUN_PATH\*(C'\fR. It is for the native linker only. +.Ip "4." 4 +On SunOS, if the \f(CW\*(C`\-rpath\*(C'\fR option was not used, search any +directories specified using \f(CW\*(C`\-L\*(C'\fR options. +.Ip "5." 4 For a native linker, the contents of the environment variable -\f(CWLD_LIBRARY_PATH\fR. -.Ip "6." 8 -For a native \s-1ELF\s0 linker, the directories in \f(CWDT_RUNPATH\fR or -\f(CWDT_RPATH\fR of a shared library are searched for shared -libraries needed by it. The \f(CWDT_RPATH\fR entries are ignored if -\f(CWDT_RUNPATH\fR entries exist. -.Ip "7." 8 +\&\f(CW\*(C`LD_LIBRARY_PATH\*(C'\fR. +.Ip "6." 4 +For a native \s-1ELF\s0 linker, the directories in \f(CW\*(C`DT_RUNPATH\*(C'\fR or +\&\f(CW\*(C`DT_RPATH\*(C'\fR of a shared library are searched for shared +libraries needed by it. The \f(CW\*(C`DT_RPATH\*(C'\fR entries are ignored if +\&\f(CW\*(C`DT_RUNPATH\*(C'\fR entries exist. +.Ip "7." 4 The default directories, normally \fI/lib\fR and \fI/usr/lib\fR. -.Ip "8." 8 +.Ip "8." 4 For a native linker on an \s-1ELF\s0 system, if the file \fI/etc/ld.so.conf\fR exists, the list of directories found in that file. +.RE +.RS 4 .Sp If the required shared library is not found, the linker will issue a warning and continue with the link. -.Ip "\f(CW-shared\fR" 4 -.Ip "\f(CW-Bshareable\fR" 4 +.RE +.Ip "\f(CW\*(C`\-shared\*(C'\fR" 4 +.IX Item "-shared" +.Ip "\f(CW\*(C`\-Bshareable\*(C'\fR" 4 +.IX Item "-Bshareable" Create a shared library. This is currently only supported on \s-1ELF\s0, \s-1XCOFF\s0 and SunOS platforms. On SunOS, the linker will automatically create a -shared library if the \f(CW-e\fR option is not used and there are +shared library if the \f(CW\*(C`\-e\*(C'\fR option is not used and there are undefined symbols in the link. -.Ip "\f(CW--sort-common\fR" 4 -This option tells \f(CWld\fR to sort the common symbols by size when it +.Ip "\f(CW\*(C`\-\-sort\-common\*(C'\fR" 4 +.IX Item "--sort-common" +This option tells \f(CW\*(C`ld\*(C'\fR to sort the common symbols by size when it places them in the appropriate output sections. First come all the one byte symbols, then all the two bytes, then all the four bytes, and then everything else. This is to prevent gaps between symbols due to alignment constraints. -.Ip "\f(CW--split-by-file [\fIsize\fR]\fR" 4 -Similar to \f(CW--split-by-reloc\fR but creates a new output section for +.Ip "\f(CW\*(C`\-\-split\-by\-file [\f(CIsize\f(CW]\*(C'\fR" 4 +.IX Item "--split-by-file [size]" +Similar to \f(CW\*(C`\-\-split\-by\-reloc\*(C'\fR but creates a new output section for each input file when \fIsize\fR is reached. \fIsize\fR defaults to a size of 1 if not given. -.Ip "\f(CW--split-by-reloc [\fIcount\fR]\fR" 4 +.Ip "\f(CW\*(C`\-\-split\-by\-reloc [\f(CIcount\f(CW]\*(C'\fR" 4 +.IX Item "--split-by-reloc [count]" Tries to creates extra sections in the output file so that no single output section in the file contains more than \fIcount\fR relocations. This is useful when generating huge relocatable files for downloading into @@ -970,49 +1038,59 @@ support arbitrary sections. The linker input sections for redistribution, so if a single input section contains more than \fIcount\fR relocations one output section will contain that many relocations. \fIcount\fR defaults to a value of 32768. -.Ip "\f(CW--stats\fR" 4 +.Ip "\f(CW\*(C`\-\-stats\*(C'\fR" 4 +.IX Item "--stats" Compute and display statistics about the operation of the linker, such as execution time and memory usage. -.Ip "\f(CW--traditional-format\fR" 4 -For some targets, the output of \f(CWld\fR is different in some ways from -the output of some existing linker. This switch requests \f(CWld\fR to +.Ip "\f(CW\*(C`\-\-traditional\-format\*(C'\fR" 4 +.IX Item "--traditional-format" +For some targets, the output of \f(CW\*(C`ld\*(C'\fR is different in some ways from +the output of some existing linker. This switch requests \f(CW\*(C`ld\*(C'\fR to use the traditional format instead. .Sp -For example, on SunOS, \f(CWld\fR combines duplicate entries in the +For example, on SunOS, \f(CW\*(C`ld\*(C'\fR combines duplicate entries in the symbol string table. This can reduce the size of an output file with full debugging information by over 30 percent. Unfortunately, the SunOS -\f(CWdbx\fR program can not read the resulting program (\f(CWgdb\fR has no -trouble). The \fB--traditional-format\fR switch tells \f(CWld\fR to not +\&\f(CW\*(C`dbx\*(C'\fR program can not read the resulting program (\f(CW\*(C`gdb\*(C'\fR has no +trouble). The \fB\*(--traditional-format\fR switch tells \f(CW\*(C`ld\*(C'\fR to not combine duplicate entries. -.Ip "\f(CW--section-start \fIsectionname\fR=\fIorg\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-section\-start \f(CIsectionname\f(CW=\f(CIorg\f(CW\*(C'\fR" 4 +.IX Item "--section-start sectionname=org" Locate a section in the output file at the absolute address given by \fIorg\fR. You may use this option as many times as necessary to locate multiple sections in the command line. -\fIorg\fR must be a single hexadecimal integer; +\&\fIorg\fR must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading -\fB0x\fR usually associated with hexadecimal values. \fINote:\fR there +\&\fB0x\fR usually associated with hexadecimal values. \fINote:\fR there should be no white space between \fIsectionname\fR, the equals sign (``\fB=\fR''), and \fIorg\fR. -.Ip "\f(CW-Tbss \fIorg\fR\fR" 4 -.Ip "\f(CW-Tdata \fIorg\fR\fR" 4 -.Ip "\f(CW-Ttext \fIorg\fR\fR" 4 -Use \fIorg\fR as the starting address for---respectively---the -\f(CWbss\fR, \f(CWdata\fR, or the \f(CWtext\fR segment of the output file. -\fIorg\fR must be a single hexadecimal integer; +.Ip "\f(CW\*(C`\-Tbss \f(CIorg\f(CW\*(C'\fR" 4 +.IX Item "-Tbss org" +.Ip "\f(CW\*(C`\-Tdata \f(CIorg\f(CW\*(C'\fR" 4 +.IX Item "-Tdata org" +.Ip "\f(CW\*(C`\-Ttext \f(CIorg\f(CW\*(C'\fR" 4 +.IX Item "-Ttext org" +Use \fIorg\fR as the starting address for\-\-\-respectively\-\-\-the +\&\f(CW\*(C`bss\*(C'\fR, \f(CW\*(C`data\*(C'\fR, or the \f(CW\*(C`text\*(C'\fR segment of the output file. +\&\fIorg\fR must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading -\fB0x\fR usually associated with hexadecimal values. -.Ip "\f(CW--dll-verbose\fR" 4 -.Ip "\f(CW--verbose\fR" 4 -Display the version number for \f(CWld\fR and list the linker emulations +\&\fB0x\fR usually associated with hexadecimal values. +.Ip "\f(CW\*(C`\-\-dll\-verbose\*(C'\fR" 4 +.IX Item "--dll-verbose" +.Ip "\f(CW\*(C`\-\-verbose\*(C'\fR" 4 +.IX Item "--verbose" +Display the version number for \f(CW\*(C`ld\*(C'\fR and list the linker emulations supported. Display which input files can and cannot be opened. Display the linker script if using a default builtin script. -.Ip "\f(CW--version-script=\fIversion-scriptfile\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-version\-script=\f(CIversion\-scriptfile\f(CW\*(C'\fR" 4 +.IX Item "--version-script=version-scriptfile" Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version heirarchy for the library being created. This option is only meaningful on \s-1ELF\s0 platforms which support shared libraries. -.Ip "\f(CW--warn-common\fR" 4 +.Ip "\f(CW\*(C`\-\-warn\-common\*(C'\fR" 4 +.IX Item "--warn-common" Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows @@ -1021,66 +1099,89 @@ Unfortunately, some C libraries use this warnings about symbols in the libraries as well as in your programs. .Sp There are three kinds of global symbols, illustrated here by C examples: -.Ip "\fBint i = 1;\fR" 8 +.RS 4 +.Ip "\fBint i = 1;\fR" 4 +.IX Item "int i = 1;" A definition, which goes in the initialized data section of the output file. -.Ip "\fBextern int i;\fR" 8 +.Ip "\fBextern int i;\fR" 4 +.IX Item "extern int i;" An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere. -.Ip "\fBint i;\fR" 8 +.Ip "\fBint i;\fR" 4 +.IX Item "int i;" A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable. +.RE +.RS 4 .Sp -The \fB--warn-common\fR option can produce five kinds of warnings. +The \fB\*(--warn-common\fR option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol. -.Ip "1." 8 +.RS 4 +.RE +.Ip "1." 4 Turning a common symbol into a reference, because there is already a definition for the symbol. - - \fIfile\fR(\fIsection\fR): warning: common of `\fIsymbol\fR\*(R' - overridden by definition - \fIfile\fR(\fIsection\fR): warning: defined here -.Ip "2." 8 +.Sp +.Vb 3 +\& I(I
): warning: common of `I' +\& overridden by definition +\& I(I
): warning: defined here +.Ve +.Ip "2." 4 Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. - - \fIfile\fR(\fIsection\fR): warning: definition of `\fIsymbol\fR\*(R' - overriding common - \fIfile\fR(\fIsection\fR): warning: common is here -.Ip "3." 8 +.Sp +.Vb 3 +\& I(I
): warning: definition of `I' +\& overriding common +\& I(I
): warning: common is here +.Ve +.Ip "3." 4 Merging a common symbol with a previous same-sized common symbol. - - \fIfile\fR(\fIsection\fR): warning: multiple common - of `\fIsymbol\fR\*(R' - \fIfile\fR(\fIsection\fR): warning: previous common is here -.Ip "4." 8 +.Sp +.Vb 3 +\& I(I
): warning: multiple common +\& of `I' +\& I(I
): warning: previous common is here +.Ve +.Ip "4." 4 Merging a common symbol with a previous larger common symbol. - - \fIfile\fR(\fIsection\fR): warning: common of `\fIsymbol\fR\*(R' - overridden by larger common - \fIfile\fR(\fIsection\fR): warning: larger common is here -.Ip "5." 8 +.Sp +.Vb 3 +\& I(I
): warning: common of `I' +\& overridden by larger common +\& I(I
): warning: larger common is here +.Ve +.Ip "5." 4 Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. - - \fIfile\fR(\fIsection\fR): warning: common of `\fIsymbol\fR\*(R' - overriding smaller common - \fIfile\fR(\fIsection\fR): warning: smaller common is here -.Ip "\f(CW--warn-constructors\fR" 4 +.Sp +.Vb 3 +\& I(I
): warning: common of `I' +\& overriding smaller common +\& I(I
): warning: smaller common is here +.Ve +.RE +.RS 4 +.RE +.Ip "\f(CW\*(C`\-\-warn\-constructors\*(C'\fR" 4 +.IX Item "--warn-constructors" Warn if any global constructors are used. This is only useful for a few object file formats. For formats like \s-1COFF\s0 or \s-1ELF\s0, the linker can not detect the use of global constructors. -.Ip "\f(CW--warn-multiple-gp\fR" 4 +.Ip "\f(CW\*(C`\-\-warn\-multiple\-gp\*(C'\fR" 4 +.IX Item "--warn-multiple-gp" Warn if multiple global pointer values are required in the output file. This is only meaningful for certain processors, such as the Alpha. Specifically, some processors put large-valued constants in a special @@ -1092,43 +1193,46 @@ bits), this limits the maximum size of t large programs, it is often necessary to use multiple global pointer values in order to be able to address all possible constants. This option causes a warning to be issued whenever this case occurs. -.Ip "\f(CW--warn-once\fR" 4 +.Ip "\f(CW\*(C`\-\-warn\-once\*(C'\fR" 4 +.IX Item "--warn-once" Only warn once for each undefined symbol, rather than once per module which refers to it. -.Ip "\f(CW--warn-section-align\fR" 4 +.Ip "\f(CW\*(C`\-\-warn\-section\-align\*(C'\fR" 4 +.IX Item "--warn-section-align" Warn if the address of an output section is changed because of alignment. Typically, the alignment will be set by an input section. The address will only be changed if it not explicitly specified; that -is, if the \f(CWSECTIONS\fR command does not specify a start address for +is, if the \f(CW\*(C`SECTIONS\*(C'\fR command does not specify a start address for the section. -.Ip "\f(CW--whole-archive\fR" 4 +.Ip "\f(CW\*(C`\-\-whole\-archive\*(C'\fR" 4 +.IX Item "--whole-archive" For each archive mentioned on the command line after the -\f(CW--whole-archive\fR option, include every object file in the archive +\&\f(CW\*(C`\-\-whole\-archive\*(C'\fR option, include every object file in the archive in the link, rather than searching the archive for the required object files. This is normally used to turn an archive file into a shared library, forcing every object to be included in the resulting shared library. This option may be used more than once. .Sp Two notes when using this option from gcc: First, gcc doesn't know -about this option, so you have to use \f(CW-Wl,-whole-archive\fR. -Second, don't forget to use \f(CW-Wl,-no-whole-archive\fR after your +about this option, so you have to use \f(CW\*(C`\-Wl,\-whole\-archive\*(C'\fR. +Second, don't forget to use \f(CW\*(C`\-Wl,\-no\-whole\-archive\*(C'\fR after your list of archives, because gcc will add its own list of archives to your link and you may not want this flag to affect those as well. -.Ip "\f(CW--wrap \fIsymbol\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-wrap \f(CIsymbol\f(CW\*(C'\fR" 4 +.IX Item "--wrap symbol" Use a wrapper function for \fIsymbol\fR. Any undefined reference to -\fIsymbol\fR will be resolved to \f(CW__wrap_\fIsymbol\fR\fR. Any -undefined reference to \f(CW__real_\fIsymbol\fR\fR will be resolved to -\fIsymbol\fR. +\&\fIsymbol\fR will be resolved to \f(CW\*(C`_\|_wrap_\f(CIsymbol\f(CW\*(C'\fR. Any +undefined reference to \f(CW\*(C`_\|_real_\f(CIsymbol\f(CW\*(C'\fR will be resolved to +\&\fIsymbol\fR. .Sp This can be used to provide a wrapper for a system function. The -wrapper function should be called \f(CW__wrap_\fIsymbol\fR\fR. If it +wrapper function should be called \f(CW\*(C`_\|_wrap_\f(CIsymbol\f(CW\*(C'\fR. If it wishes to call the system function, it should call -\f(CW__real_\fIsymbol\fR\fR. +\&\f(CW\*(C`_\|_real_\f(CIsymbol\f(CW\*(C'\fR. .Sp Here is a trivial example: .Sp -.Vb 7 -\& +.Vb 6 \& void * \& __wrap_malloc (int c) \& { @@ -1136,545 +1240,198 @@ Here is a trivial example: \& return __real_malloc (c); \& } .Ve -If you link other code with this file using \f(CW--wrap malloc\fR, then -all calls to \f(CWmalloc\fR will call the function \f(CW__wrap_malloc\fR -instead. The call to \f(CW__real_malloc\fR in \f(CW__wrap_malloc\fR will -call the real \f(CWmalloc\fR function. -.Sp -You may wish to provide a \f(CW__real_malloc\fR function as well, so that -links without the \f(CW--wrap\fR option will succeed. If you do this, -you should not put the definition of \f(CW__real_malloc\fR in the same -file as \f(CW__wrap_malloc\fR; if you do, the assembler may resolve the -call before the linker has a chance to wrap it to \f(CWmalloc\fR. -.Ip "\f(CW--enable-new-dtags\fR" 4 -.Ip "\f(CW--disable-new-dtags\fR" 4 +If you link other code with this file using \f(CW\*(C`\-\-wrap malloc\*(C'\fR, then +all calls to \f(CW\*(C`malloc\*(C'\fR will call the function \f(CW\*(C`_\|_wrap_malloc\*(C'\fR +instead. The call to \f(CW\*(C`_\|_real_malloc\*(C'\fR in \f(CW\*(C`_\|_wrap_malloc\*(C'\fR will +call the real \f(CW\*(C`malloc\*(C'\fR function. +.Sp +You may wish to provide a \f(CW\*(C`_\|_real_malloc\*(C'\fR function as well, so that +links without the \f(CW\*(C`\-\-wrap\*(C'\fR option will succeed. If you do this, +you should not put the definition of \f(CW\*(C`_\|_real_malloc\*(C'\fR in the same +file as \f(CW\*(C`_\|_wrap_malloc\*(C'\fR; if you do, the assembler may resolve the +call before the linker has a chance to wrap it to \f(CW\*(C`malloc\*(C'\fR. +.Ip "\f(CW\*(C`\-\-enable\-new\-dtags\*(C'\fR" 4 +.IX Item "--enable-new-dtags" +.Ip "\f(CW\*(C`\-\-disable\-new\-dtags\*(C'\fR" 4 +.IX Item "--disable-new-dtags" This linker can create the new dynamic tags in \s-1ELF\s0. But the older \s-1ELF\s0 systems may not understand them. If you specify -\f(CW--enable-new-dtags\fR, the dynamic tags will be created as needed. -If you specify \f(CW--disable-new-dtags\fR, no new dynamic tags will be +\&\f(CW\*(C`\-\-enable\-new\-dtags\*(C'\fR, the dynamic tags will be created as needed. +If you specify \f(CW\*(C`\-\-disable\-new\-dtags\*(C'\fR, no new dynamic tags will be created. By default, the new dynamic tags are not created. Note that those options are only available for \s-1ELF\s0 systems. .PP -The i386 \s-1PE\s0 linker supports the \f(CW-shared\fR option, which causes +The i386 \s-1PE\s0 linker supports the \f(CW\*(C`\-shared\*(C'\fR option, which causes the output to be a dynamically linked library (\s-1DLL\s0) instead of a -normal executable. You should name the output \f(CW*.dll\fR when you +normal executable. You should name the output \f(CW\*(C`*.dll\*(C'\fR when you use this option. In addition, the linker fully supports the standard -\f(CW*.def\fR files, which may be specified on the linker command line +\&\f(CW\*(C`*.def\*(C'\fR files, which may be specified on the linker command line like an object file (in fact, it should precede archives it exports symbols from, to ensure that they get linked in, just like a normal object file). .PP In addition to the options common to all targets, the i386 \s-1PE\s0 linker support additional command line options that are specific to the i386 -\s-1PE\s0 target. Options that take values may be separated from their +\&\s-1PE\s0 target. Options that take values may be separated from their values by either a space or an equals sign. -.Ip "\f(CW--add-stdcall-alias\fR" 4 +.Ip "\f(CW\*(C`\-\-add\-stdcall\-alias\*(C'\fR" 4 +.IX Item "--add-stdcall-alias" If given, symbols with a stdcall suffix (@\fInn\fR) will be exported as-is and also with the suffix stripped. -.Ip "\f(CW--base-file \fIfile\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-base\-file \f(CIfile\f(CW\*(C'\fR" 4 +.IX Item "--base-file file" Use \fIfile\fR as the name of a file in which to save the base addresses of all the relocations needed for generating DLLs with -\fIdlltool\fR. -.Ip "\f(CW--dll\fR" 4 +\&\fIdlltool\fR. +.Ip "\f(CW\*(C`\-\-dll\*(C'\fR" 4 +.IX Item "--dll" Create a \s-1DLL\s0 instead of a regular executable. You may also use -\f(CW-shared\fR or specify a \f(CWLIBRARY\fR in a given \f(CW.def\fR +\&\f(CW\*(C`\-shared\*(C'\fR or specify a \f(CW\*(C`LIBRARY\*(C'\fR in a given \f(CW\*(C`.def\*(C'\fR file. -.Ip "\f(CW--enable-stdcall-fixup\fR" 4 -.Ip "\f(CW--disable-stdcall-fixup\fR" 4 +.Ip "\f(CW\*(C`\-\-enable\-stdcall\-fixup\*(C'\fR" 4 +.IX Item "--enable-stdcall-fixup" +.Ip "\f(CW\*(C`\-\-disable\-stdcall\-fixup\*(C'\fR" 4 +.IX Item "--disable-stdcall-fixup" If the link finds a symbol that it cannot resolve, it will attempt to do \*(L"fuzzy linking\*(R" by looking for another defined symbol that differs only in the format of the symbol name (cdecl vs stdcall) and will resolve that symbol by linking to the match. For example, the -undefined symbol \f(CW_foo\fR might be linked to the function -\f(CW_foo@12\fR, or the undefined symbol \f(CW_bar@16\fR might be linked -to the function \f(CW_bar\fR. When the linker does this, it prints a +undefined symbol \f(CW\*(C`_foo\*(C'\fR might be linked to the function +\&\f(CW\*(C`_foo@12\*(C'\fR, or the undefined symbol \f(CW\*(C`_bar@16\*(C'\fR might be linked +to the function \f(CW\*(C`_bar\*(C'\fR. When the linker does this, it prints a warning, since it normally should have failed to link, but sometimes import libraries generated from third-party dlls may need this feature -to be usable. If you specify \f(CW--enable-stdcall-fixup\fR, this +to be usable. If you specify \f(CW\*(C`\-\-enable\-stdcall\-fixup\*(C'\fR, this feature is fully enabled and warnings are not printed. If you specify -\f(CW--disable-stdcall-fixup\fR, this feature is disabled and such +\&\f(CW\*(C`\-\-disable\-stdcall\-fixup\*(C'\fR, this feature is disabled and such mismatches are considered to be errors. -.Ip "\f(CW--export-all-symbols\fR" 4 +.Ip "\f(CW\*(C`\-\-export\-all\-symbols\*(C'\fR" 4 +.IX Item "--export-all-symbols" If given, all global symbols in the objects used to build a \s-1DLL\s0 will be exported by the \s-1DLL\s0. Note that this is the default if there otherwise wouldn't be any exported symbols. When symbols are explicitly exported via \s-1DEF\s0 files or implicitly exported via function attributes, the default is to not export anything else unless this -option is given. Note that the symbols \f(CWDllMain@12\fR, -\f(CWDllEntryPoint@0\fR, and \f(CWimpure_ptr\fR will not be automatically +option is given. Note that the symbols \f(CW\*(C`DllMain@12\*(C'\fR, +\&\f(CW\*(C`DllEntryPoint@0\*(C'\fR, and \f(CW\*(C`impure_ptr\*(C'\fR will not be automatically exported. -.Ip "\f(CW--exclude-symbols \fIsymbol\fR,\fIsymbol\fR,...\fR" 4 +.Ip "\f(CW\*(C`\-\-exclude\-symbols \f(CIsymbol\f(CW,\f(CIsymbol\f(CW,...\*(C'\fR" 4 +.IX Item "--exclude-symbols symbol,symbol,..." Specifies a list of symbols which should not be automatically exported. The symbol names may be delimited by commas or colons. -.Ip "\f(CW--file-alignment\fR" 4 +.Ip "\f(CW\*(C`\-\-file\-alignment\*(C'\fR" 4 +.IX Item "--file-alignment" Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. -.Ip "\f(CW--heap \fIreserve\fR\fR" 4 -.Ip "\f(CW--heap \fIreserve\fR,\fIcommit\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-heap \f(CIreserve\f(CW\*(C'\fR" 4 +.IX Item "--heap reserve" +.Ip "\f(CW\*(C`\-\-heap \f(CIreserve\f(CW,\f(CIcommit\f(CW\*(C'\fR" 4 +.IX Item "--heap reserve,commit" Specify the amount of memory to reserve (and optionally commit) to be used as heap for this program. The default is 1Mb reserved, 4K committed. -.Ip "\f(CW--image-base \fIvalue\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-image\-base \f(CIvalue\f(CW\*(C'\fR" 4 +.IX Item "--image-base value" Use \fIvalue\fR as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. -.Ip "\f(CW--kill-at\fR" 4 +.Ip "\f(CW\*(C`\-\-kill\-at\*(C'\fR" 4 +.IX Item "--kill-at" If given, the stdcall suffixes (@\fInn\fR) will be stripped from symbols before they are exported. -.Ip "\f(CW--major-image-version \fIvalue\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-major\-image\-version \f(CIvalue\f(CW\*(C'\fR" 4 +.IX Item "--major-image-version value" Sets the major number of the \*(L"image version\*(R". Defaults to 1. -.Ip "\f(CW--major-os-version \fIvalue\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-major\-os\-version \f(CIvalue\f(CW\*(C'\fR" 4 +.IX Item "--major-os-version value" Sets the major number of the \*(L"os version\*(R". Defaults to 4. -.Ip "\f(CW--major-subsystem-version \fIvalue\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-major\-subsystem\-version \f(CIvalue\f(CW\*(C'\fR" 4 +.IX Item "--major-subsystem-version value" Sets the major number of the \*(L"subsystem version\*(R". Defaults to 4. -.Ip "\f(CW--minor-image-version \fIvalue\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-minor\-image\-version \f(CIvalue\f(CW\*(C'\fR" 4 +.IX Item "--minor-image-version value" Sets the minor number of the \*(L"image version\*(R". Defaults to 0. -.Ip "\f(CW--minor-os-version \fIvalue\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-minor\-os\-version \f(CIvalue\f(CW\*(C'\fR" 4 +.IX Item "--minor-os-version value" Sets the minor number of the \*(L"os version\*(R". Defaults to 0. -.Ip "\f(CW--minor-subsystem-version \fIvalue\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-minor\-subsystem\-version \f(CIvalue\f(CW\*(C'\fR" 4 +.IX Item "--minor-subsystem-version value" Sets the minor number of the \*(L"subsystem version\*(R". Defaults to 0. -.Ip "\f(CW--output-def \fIfile\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-output\-def \f(CIfile\f(CW\*(C'\fR" 4 +.IX Item "--output-def file" The linker will create the file \fIfile\fR which will contain a \s-1DEF\s0 file corresponding to the \s-1DLL\s0 the linker is generating. This \s-1DEF\s0 file -(which should be called \f(CW*.def\fR) may be used to create an import -library with \f(CWdlltool\fR or may be used as a reference to +(which should be called \f(CW\*(C`*.def\*(C'\fR) may be used to create an import +library with \f(CW\*(C`dlltool\*(C'\fR or may be used as a reference to automatically or implicitly exported symbols. -.Ip "\f(CW--section-alignment\fR" 4 +.Ip "\f(CW\*(C`\-\-section\-alignment\*(C'\fR" 4 +.IX Item "--section-alignment" Sets the section alignment. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. -.Ip "\f(CW--stack \fIreserve\fR\fR" 4 -.Ip "\f(CW--stack \fIreserve\fR,\fIcommit\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-stack \f(CIreserve\f(CW\*(C'\fR" 4 +.IX Item "--stack reserve" +.Ip "\f(CW\*(C`\-\-stack \f(CIreserve\f(CW,\f(CIcommit\f(CW\*(C'\fR" 4 +.IX Item "--stack reserve,commit" Specify the amount of memory to reserve (and optionally commit) to be used as stack for this program. The default is 32Mb reserved, 4K committed. -.Ip "\f(CW--subsystem \fIwhich\fR\fR" 4 -.Ip "\f(CW--subsystem \fIwhich\fR:\fImajor\fR\fR" 4 -.Ip "\f(CW--subsystem \fIwhich\fR:\fImajor\fR.\fIminor\fR\fR" 4 +.Ip "\f(CW\*(C`\-\-subsystem \f(CIwhich\f(CW\*(C'\fR" 4 +.IX Item "--subsystem which" +.Ip "\f(CW\*(C`\-\-subsystem \f(CIwhich\f(CW:\f(CImajor\f(CW\*(C'\fR" 4 +.IX Item "--subsystem which:major" +.Ip "\f(CW\*(C`\-\-subsystem \f(CIwhich\f(CW:\f(CImajor\f(CW.\f(CIminor\f(CW\*(C'\fR" 4 +.IX Item "--subsystem which:major.minor" Specifies the subsystem under which your program will execute. The -legal values for \fIwhich\fR are \f(CWnative\fR, \f(CWwindows\fR, -\f(CWconsole\fR, and \f(CWposix\fR. You may optionally set the +legal values for \fIwhich\fR are \f(CW\*(C`native\*(C'\fR, \f(CW\*(C`windows\*(C'\fR, +\&\f(CW\*(C`console\*(C'\fR, and \f(CW\*(C`posix\*(C'\fR. You may optionally set the subsystem version also. .SH "ENVIRONMENT" -You can change the behavior of \f(CWld\fR with the environment variables -\f(CWGNUTARGET\fR, \f(CWLDEMULATION\fR, and \f(CWCOLLECT_NO_DEMANGLE\fR. +.IX Header "ENVIRONMENT" +You can change the behavior of \f(CW\*(C`ld\*(C'\fR with the environment variables +\&\f(CW\*(C`GNUTARGET\*(C'\fR, \f(CW\*(C`LDEMULATION\*(C'\fR, and \f(CW\*(C`COLLECT_NO_DEMANGLE\*(C'\fR. .PP -\f(CWGNUTARGET\fR determines the input-file object format if you don't -use \fB\-b\fR (or its synonym \fB--format\fR). Its value should be one -of the BFD names for an input format. If there is no -\f(CWGNUTARGET\fR in the environment, \f(CWld\fR uses the natural format -of the target. If \f(CWGNUTARGET\fR is set to \f(CWdefault\fR then BFD +\&\f(CW\*(C`GNUTARGET\*(C'\fR determines the input-file object format if you don't +use \fB\-b\fR (or its synonym \fB\*(--format\fR). Its value should be one +of the \s-1BFD\s0 names for an input format. If there is no +\&\f(CW\*(C`GNUTARGET\*(C'\fR in the environment, \f(CW\*(C`ld\*(C'\fR uses the natural format +of the target. If \f(CW\*(C`GNUTARGET\*(C'\fR is set to \f(CW\*(C`default\*(C'\fR then \s-1BFD\s0 attempts to discover the input format by examining binary input files; this method often succeeds, but there are potential ambiguities, since there is no method of ensuring that the magic number used to specify object-file formats is unique. However, the configuration procedure for -BFD on each system places the conventional format for that system first +\&\s-1BFD\s0 on each system places the conventional format for that system first in the search-list, so ambiguities are resolved in favor of convention. .PP -\f(CWLDEMULATION\fR determines the default emulation if you don't use the -\fB\-m\fR option. The emulation can affect various aspects of linker +\&\f(CW\*(C`LDEMULATION\*(C'\fR determines the default emulation if you don't use the +\&\fB\-m\fR option. The emulation can affect various aspects of linker behaviour, particularly the default linker script. You can list the -available emulations with the \fB--verbose\fR or \fB\-V\fR options. If -the \fB\-m\fR option is not used, and the \f(CWLDEMULATION\fR environment +available emulations with the \fB\*(--verbose\fR or \fB\-V\fR options. If +the \fB\-m\fR option is not used, and the \f(CW\*(C`LDEMULATION\*(C'\fR environment variable is not defined, the default emulation depends upon how the linker was configured. .PP Normally, the linker will default to demangling symbols. However, if -\f(CWCOLLECT_NO_DEMANGLE\fR is set in the environment, then it will +\&\f(CW\*(C`COLLECT_NO_DEMANGLE\*(C'\fR is set in the environment, then it will default to not demangling symbols. This environment variable is used in -a similar fashion by the \f(CWgcc\fR linker wrapper program. The default -may be overridden by the \fB--demangle\fR and \fB--no-demangle\fR +a similar fashion by the \f(CW\*(C`gcc\*(C'\fR linker wrapper program. The default +may be overridden by the \fB\*(--demangle\fR and \fB\*(--no-demangle\fR options. .SH "SEE ALSO" -\fIar\fR\|(1), \fInm\fR\|(1), \fIobjcopy\fR\|(1), \fIobjdump\fR\|(1), \fIreadelf\fR\|(1) and +.IX Header "SEE ALSO" +\&\fIar\fR\|(1), \fInm\fR\|(1), \fIobjcopy\fR\|(1), \fIobjdump\fR\|(1), \fIreadelf\fR\|(1) and the Info entries for \fIbinutils\fR and -\fIld\fR. +\&\fIld\fR. .SH "COPYRIGHT" +.IX Header "COPYRIGHT" Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. .PP Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 +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"GNU Free Documentation License\*(R". - -.rn }` '' -.IX Title "LD 1" -.IX Name "ld - Using LD, the GNU linker" - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\f(CW-a\fIkeyword\fR\fR" - -.IX Item "\f(CW-A\fIarchitecture\fR\fR" - -.IX Item "\f(CW--architecture=\fIarchitecture\fR\fR" - -.IX Item "\f(CW-b \fIinput-format\fR\fR" - -.IX Item "\f(CW--format=\fIinput-format\fR\fR" - -.IX Item "\f(CW-c \fIMRI-commandfile\fR\fR" - -.IX Item "\f(CW--mri-script=\fIMRI-commandfile\fR\fR" - -.IX Item "\f(CW-d\fR" - -.IX Item "\f(CW-dc\fR" - -.IX Item "\f(CW-dp\fR" - -.IX Item "\f(CW-e \fIentry\fR\fR" - -.IX Item "\f(CW--entry=\fIentry\fR\fR" - -.IX Item "\f(CW-E\fR" - -.IX Item "\f(CW--export-dynamic\fR" - -.IX Item "\f(CW-EB\fR" - -.IX Item "\f(CW-EL\fR" - -.IX Item "\f(CW-f\fR" - -.IX Item "\f(CW--auxiliary \fIname\fR\fR" - -.IX Item "\f(CW-F \fIname\fR\fR" - -.IX Item "\f(CW--filter \fIname\fR\fR" - -.IX Item "\f(CW-fini \fIname\fR\fR" - -.IX Item "\f(CW-g\fR" - -.IX Item "\f(CW-G\fIvalue\fR\fR" - -.IX Item "\f(CW--gpsize=\fIvalue\fR\fR" - -.IX Item "\f(CW-h\fIname\fR\fR" - -.IX Item "\f(CW-soname=\fIname\fR\fR" - -.IX Item "\f(CW-i\fR" - -.IX Item "\f(CW-init \fIname\fR\fR" - -.IX Item "\f(CW-l\fIarchive\fR\fR" - -.IX Item "\f(CW--library=\fIarchive\fR\fR" - -.IX Item "\f(CW-L\fIsearchdir\fR\fR" - -.IX Item "\f(CW--library-path=\fIsearchdir\fR\fR" - -.IX Item "\f(CW-m\fIemulation\fR\fR" - -.IX Item "\f(CW-M\fR" - -.IX Item "\f(CW--print-map\fR" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\f(CW-n\fR" - -.IX Item "\f(CW--nmagic\fR" - -.IX Item "\f(CW-N\fR" - -.IX Item "\f(CW--omagic\fR" - -.IX Item "\f(CW-o \fIoutput\fR\fR" - -.IX Item "\f(CW--output=\fIoutput\fR\fR" - -.IX Item "\f(CW-O \fIlevel\fR\fR" - -.IX Item "\f(CW-q\fR" - -.IX Item "\f(CW--emit-relocs\fR" - -.IX Item "\f(CW-r\fR" - -.IX Item "\f(CW--relocateable\fR" - -.IX Item "\f(CW-R \fIfilename\fR\fR" - -.IX Item "\f(CW--just-symbols=\fIfilename\fR\fR" - -.IX Item "\f(CW-s\fR" - -.IX Item "\f(CW--strip-all\fR" - -.IX Item "\f(CW-S\fR" - -.IX Item "\f(CW--strip-debug\fR" - -.IX Item "\f(CW-t\fR" - -.IX Item "\f(CW--trace\fR" - -.IX Item "\f(CW-T \fIscriptfile\fR\fR" - -.IX Item "\f(CW--script=\fIscriptfile\fR\fR" - -.IX Item "\f(CW-u \fIsymbol\fR\fR" - -.IX Item "\f(CW--undefined=\fIsymbol\fR\fR" - -.IX Item "\f(CW-Ur\fR" - -.IX Item "\f(CW--unique[=\fISECTION\fR]\fR" - -.IX Item "\f(CW-v\fR" - -.IX Item "\f(CW--version\fR" - -.IX Item "\f(CW-V\fR" - -.IX Item "\f(CW-x\fR" - -.IX Item "\f(CW--discard-all\fR" - -.IX Item "\f(CW-X\fR" - -.IX Item "\f(CW--discard-locals\fR" - -.IX Item "\f(CW-y \fIsymbol\fR\fR" - -.IX Item "\f(CW--trace-symbol=\fIsymbol\fR\fR" - -.IX Item "\f(CW-Y \fIpath\fR\fR" - -.IX Item "\f(CW-z \fIkeyword\fR\fR" - -.IX Item "\f(CW-( \fIarchives\fR -)\fR" - -.IX Item "\f(CW--start-group \fIarchives\fR --end-group\fR" - -.IX Item "\f(CW-assert \fIkeyword\fR\fR" - -.IX Item "\f(CW-Bdynamic\fR" - -.IX Item "\f(CW-dy\fR" - -.IX Item "\f(CW-call_shared\fR" - -.IX Item "\f(CW-Bgroup\fR" - -.IX Item "\f(CW-Bstatic\fR" - -.IX Item "\f(CW-dn\fR" - -.IX Item "\f(CW-non_shared\fR" - -.IX Item "\f(CW-static\fR" - -.IX Item "\f(CW-Bsymbolic\fR" - -.IX Item "\f(CW--check-sections\fR" - -.IX Item "\f(CW--no-check-sections\fR" - -.IX Item "\f(CW--cref\fR" - -.IX Item "\f(CW--defsym \fIsymbol\fR=\fIexpression\fR\fR" - -.IX Item "\f(CW--demangle[=\fIstyle\fR]\fR" - -.IX Item "\f(CW--no-demangle\fR" - -.IX Item "\f(CW--dynamic-linker \fIfile\fR\fR" - -.IX Item "\f(CW--embedded-relocs\fR" - -.IX Item "\f(CW--fatal-warnings\fR" - -.IX Item "\f(CW--force-exe-suffix\fR" - -.IX Item "\f(CW--no-gc-sections\fR" - -.IX Item "\f(CW--gc-sections\fR" - -.IX Item "\f(CW--help\fR" - -.IX Item "\f(CW--target-help\fR" - -.IX Item "\f(CW-Map \fImapfile\fR\fR" - -.IX Item "\f(CW--no-keep-memory\fR" - -.IX Item "\f(CW--no-undefined\fR" - -.IX Item "\f(CW-z defs\fR" - -.IX Item "\f(CW--allow-shlib-undefined\fR" - -.IX Item "\f(CW--no-warn-mismatch\fR" - -.IX Item "\f(CW--no-whole-archive\fR" - -.IX Item "\f(CW--noinhibit-exec\fR" - -.IX Item "\f(CW--oformat \fIoutput-format\fR\fR" - -.IX Item "\f(CW-qmagic\fR" - -.IX Item "\f(CW-Qy\fR" - -.IX Item "\f(CW--relax\fR" - -.IX Item "\f(CW--retain-symbols-file \fIfilename\fR\fR" - -.IX Item "\f(CW-rpath \fIdir\fR\fR" - -.IX Item "\f(CW-rpath-link \fIDIR\fR\fR" - -.IX Item "1." - -.IX Item "2." - -.IX Item "3." - -.IX Item "4." - -.IX Item "5." - -.IX Item "6." - -.IX Item "7." - -.IX Item "8." - -.IX Item "\f(CW-shared\fR" - -.IX Item "\f(CW-Bshareable\fR" - -.IX Item "\f(CW--sort-common\fR" - -.IX Item "\f(CW--split-by-file [\fIsize\fR]\fR" - -.IX Item "\f(CW--split-by-reloc [\fIcount\fR]\fR" - -.IX Item "\f(CW--stats\fR" - -.IX Item "\f(CW--traditional-format\fR" - -.IX Item "\f(CW--section-start \fIsectionname\fR=\fIorg\fR\fR" - -.IX Item "\f(CW-Tbss \fIorg\fR\fR" - -.IX Item "\f(CW-Tdata \fIorg\fR\fR" - -.IX Item "\f(CW-Ttext \fIorg\fR\fR" - -.IX Item "\f(CW--dll-verbose\fR" - -.IX Item "\f(CW--verbose\fR" - -.IX Item "\f(CW--version-script=\fIversion-scriptfile\fR\fR" - -.IX Item "\f(CW--warn-common\fR" - -.IX Item "\fBint i = 1;\fR" - -.IX Item "\fBextern int i;\fR" - -.IX Item "\fBint i;\fR" - -.IX Item "1." - -.IX Item "2." - -.IX Item "3." - -.IX Item "4." - -.IX Item "5." - -.IX Item "\f(CW--warn-constructors\fR" - -.IX Item "\f(CW--warn-multiple-gp\fR" - -.IX Item "\f(CW--warn-once\fR" - -.IX Item "\f(CW--warn-section-align\fR" - -.IX Item "\f(CW--whole-archive\fR" - -.IX Item "\f(CW--wrap \fIsymbol\fR\fR" - -.IX Item "\f(CW--enable-new-dtags\fR" - -.IX Item "\f(CW--disable-new-dtags\fR" - -.IX Item "\f(CW--add-stdcall-alias\fR" - -.IX Item "\f(CW--base-file \fIfile\fR\fR" - -.IX Item "\f(CW--dll\fR" - -.IX Item "\f(CW--enable-stdcall-fixup\fR" - -.IX Item "\f(CW--disable-stdcall-fixup\fR" - -.IX Item "\f(CW--export-all-symbols\fR" - -.IX Item "\f(CW--exclude-symbols \fIsymbol\fR,\fIsymbol\fR,...\fR" - -.IX Item "\f(CW--file-alignment\fR" - -.IX Item "\f(CW--heap \fIreserve\fR\fR" - -.IX Item "\f(CW--heap \fIreserve\fR,\fIcommit\fR\fR" - -.IX Item "\f(CW--image-base \fIvalue\fR\fR" - -.IX Item "\f(CW--kill-at\fR" - -.IX Item "\f(CW--major-image-version \fIvalue\fR\fR" - -.IX Item "\f(CW--major-os-version \fIvalue\fR\fR" - -.IX Item "\f(CW--major-subsystem-version \fIvalue\fR\fR" - -.IX Item "\f(CW--minor-image-version \fIvalue\fR\fR" - -.IX Item "\f(CW--minor-os-version \fIvalue\fR\fR" - -.IX Item "\f(CW--minor-subsystem-version \fIvalue\fR\fR" - -.IX Item "\f(CW--output-def \fIfile\fR\fR" - -.IX Item "\f(CW--section-alignment\fR" - -.IX Item "\f(CW--stack \fIreserve\fR\fR" - -.IX Item "\f(CW--stack \fIreserve\fR,\fIcommit\fR\fR" - -.IX Item "\f(CW--subsystem \fIwhich\fR\fR" - -.IX Item "\f(CW--subsystem \fIwhich\fR:\fImajor\fR\fR" - -.IX Item "\f(CW--subsystem \fIwhich\fR:\fImajor\fR.\fIminor\fR\fR" - -.IX Header "ENVIRONMENT" - -.IX Header "SEE ALSO" - -.IX Header "COPYRIGHT" - +section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". diff -uprN binutils-2.11.90.0.7/ld/ldfile.c binutils-2.11.90.0.8/ld/ldfile.c --- binutils-2.11.90.0.7/ld/ldfile.c Wed Apr 25 15:54:15 2001 +++ binutils-2.11.90.0.8/ld/ldfile.c Wed May 2 15:25:17 2001 @@ -33,6 +33,7 @@ Software Foundation, 59 Temple Place - S #include "ldgram.h" #include "ldlex.h" #include "ldemul.h" +#include "libiberty.h" #include @@ -474,7 +475,7 @@ void ldfile_add_arch (in_name) CONST char *in_name; { - char *name = buystring (in_name); + char *name = xstrdup (in_name); search_arch_type *new = (search_arch_type *) xmalloc (sizeof (search_arch_type)); diff -uprN binutils-2.11.90.0.7/ld/ldgram.y binutils-2.11.90.0.8/ld/ldgram.y --- binutils-2.11.90.0.7/ld/ldgram.y Sat Mar 17 12:48:12 2001 +++ binutils-2.11.90.0.8/ld/ldgram.y Sat May 12 00:58:10 2001 @@ -1,6 +1,6 @@ -/* A YACC grammer to parse a superset of the AT&T linker scripting languaue. - Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 - Free Software Foundation, Inc. +/* A YACC grammar to parse a superset of the AT&T linker scripting language. + Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, + 2001 Free Software Foundation, Inc. Written by Steve Chamberlain of Cygnus Support (steve@cygnus.com). This file is part of GNU ld. diff -uprN binutils-2.11.90.0.7/ld/ldlang.c binutils-2.11.90.0.8/ld/ldlang.c --- binutils-2.11.90.0.7/ld/ldlang.c Fri Apr 13 11:47:35 2001 +++ binutils-2.11.90.0.8/ld/ldlang.c Sat May 12 00:58:10 2001 @@ -623,7 +623,7 @@ lang_memory_region_lookup (name) lang_memory_region_type *new = (lang_memory_region_type *) stat_alloc (sizeof (lang_memory_region_type)); - new->name = buystring (name); + new->name = xstrdup (name); new->next = (lang_memory_region_type *) NULL; *lang_memory_region_list_tail = new; @@ -1449,6 +1449,11 @@ load_symbols (entry, place) lang_statement_list_type *hold; err = bfd_get_error (); + + /* See if the emulation has some special knowledge. */ + if (ldemul_unrecognized_file (entry)) + return; + if (err == bfd_error_file_ambiguously_recognized) { char **p; @@ -1466,13 +1471,7 @@ load_symbols (entry, place) bfd_close (entry->the_bfd); entry->the_bfd = NULL; - /* See if the emulation has some special knowledge. */ - - if (ldemul_unrecognized_file (entry)) - return; - /* Try to interpret the file as a linker script. */ - ldfile_open_command_file (entry->filename); hold = stat_ptr; @@ -1995,7 +1994,7 @@ ldlang_add_undef (name) new->next = ldlang_undef_chain_list_head; ldlang_undef_chain_list_head = new; - new->name = buystring (name); + new->name = xstrdup (name); } /* Run through the list of undefineds created above and place them @@ -4130,6 +4129,12 @@ lang_process () /* Remove unreferenced sections if asked to. */ if (command_line.gc_sections) lang_gc_sections (); + + /* If there were any SEC_MERGE sections, finish their merging, so that + section sizes can be computed. This has to be done after GC of sections, + so that GCed sections are not merged, but before assigning output + sections, since removing whole input sections is hard then. */ + bfd_merge_sections (output_bfd, &link_info); /* Size up the common data. */ lang_common (); diff -uprN binutils-2.11.90.0.7/ld/ldlex.l binutils-2.11.90.0.8/ld/ldlex.l --- binutils-2.11.90.0.7/ld/ldlex.l Thu Mar 15 14:56:55 2001 +++ binutils-2.11.90.0.8/ld/ldlex.l Wed May 2 14:53:15 2001 @@ -45,6 +45,7 @@ This was written by steve chamberlain #include "ldfile.h" #include "ldlex.h" #include "ldmain.h" +#include "libiberty.h" /* The type of top-level parser input. yylex and yyparse (indirectly) both check this. */ @@ -147,7 +148,7 @@ V_IDENTIFIER [*?.$_a-zA-Z]([*?.$_a-zA-Z0 "-" { RTOKEN('-');} "+" { RTOKEN('+');} -{FILENAMECHAR1}{SYMBOLCHARN}* { yylval.name = buystring(yytext); return NAME; } +{FILENAMECHAR1}{SYMBOLCHARN}* { yylval.name = xstrdup(yytext); return NAME; } "=" { RTOKEN('='); } "$"([0-9A-Fa-f])+ { @@ -333,17 +334,17 @@ V_IDENTIFIER [*?.$_a-zA-Z]([*?.$_a-zA-Z0 {FILENAMECHAR1}{NOCFILENAMECHAR}* { /* Filename without commas, needed to parse mri stuff */ - yylval.name = buystring(yytext); + yylval.name = xstrdup(yytext); return NAME; } {FILENAMECHAR1}{FILENAMECHAR}* { - yylval.name = buystring(yytext); + yylval.name = xstrdup(yytext); return NAME; } "-l"{FILENAMECHAR}+ { - yylval.name = buystring (yytext + 2); + yylval.name = xstrdup (yytext + 2); return LNAME; }