diff -uprN binutils-2.11.90.0.8/ChangeLog binutils-2.11.90.0.15/ChangeLog --- binutils-2.11.90.0.8/ChangeLog Sat May 12 00:04:19 2001 +++ binutils-2.11.90.0.15/ChangeLog Sat Jun 9 00:13:01 2001 @@ -1,3 +1,48 @@ +2001-06-08 Alexandre Oliva , Jeff Sturm + + * Makefile.in (AS_FOR_TARGET, LD_FOR_TARGET, NM_FOR_TARGET): If + gcc/xgcc is built, use -print-prog-name to find out the program + name to use. + +2001-06-04 Mark Mitchell + + * ltcf-c.sh (archive_cmds, archive_expsym_cmds) [solaris, + with_gcc]: Use `gcc -shared' to build a shared library. + +2001-06-04 John David Anglin + + * ltcf-c.sh (archive_cmd) [hpux, with_gcc]: Use gcc to link shared + archives. + +2001-05-28 Simon Patarin + + * ltcf-cxx.sh (osf3/osf4/osf5): Support creation of C++ shared + libraries when using g++ with native linker. + +2001-05-28 Alexandre Oliva + + * ltconfig, ltmain.sh: Upgrade to libtool 1.4a 1.641.2.256. + +2001-05-24 Tom Rix + + * configure.in : enable ld for aix + +2001-05-22 Alexandre Oliva + + * ltcf-cxx.sh (allow_undefined_flag, no_undefined_flag) + [aix4*|aix5*]: Prepend blank. + +2001-05-20 Alexandre Oliva + + * ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh, + ltcf-gcj.sh: Upgraded to libtool 1.4a 1.641.2.254. Rebuilt a number + of subdir/configure scripts to use the new libtool.m4. + +2001-05-14 H.J. Lu + + * config.if (libc_interface): Set to -libc6.2- for cross + compiling to Linux/glibc 2.2. + 2001-05-03 Alexandre Oliva * configure.in (noconfigdirs) [*-cygwin*, *-mingw*, *-beos]: Disable diff -uprN binutils-2.11.90.0.8/ChangeLog.linux binutils-2.11.90.0.15/ChangeLog.linux --- binutils-2.11.90.0.8/ChangeLog.linux Wed Apr 25 11:08:29 2001 +++ binutils-2.11.90.0.15/ChangeLog.linux Sat Jun 9 00:50:49 2001 @@ -1,3 +1,12 @@ +2001-06-08 H.J. Lu + + * binutils.spec.in: Enable all Linux targets if ALL_TARGETS is + defined as 1. + +2001-06-07 H.J. Lu + + * binutils.spec.in: Enable all Linux targets. + 2001-04-25 H.J. Lu * binutils.spec.in: Regenerate BFD headers. diff -uprN binutils-2.11.90.0.8/Makefile.in binutils-2.11.90.0.15/Makefile.in --- binutils-2.11.90.0.8/Makefile.in Sun Apr 1 18:51:05 2001 +++ binutils-2.11.90.0.15/Makefile.in Sat Jun 9 00:13:01 2001 @@ -231,6 +231,8 @@ GCC_FOR_TARGET = $$r/gcc/xgcc -B$$r/gcc/ AS_FOR_TARGET = ` \ if [ -f $$r/gas/as-new ] ; then \ echo $$r/gas/as-new ; \ + elif [ -f $$r/gcc/xgcc ]; then \ + $(CC_FOR_TARGET) -print-prog-name=as ; \ else \ if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ echo $(AS); \ @@ -242,6 +244,8 @@ AS_FOR_TARGET = ` \ LD_FOR_TARGET = ` \ if [ -f $$r/ld/ld-new ] ; then \ echo $$r/ld/ld-new ; \ + elif [ -f $$r/gcc/xgcc ]; then \ + $(CC_FOR_TARGET) -print-prog-name=ld ; \ else \ if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ echo $(LD); \ @@ -297,6 +301,8 @@ RANLIB_FOR_TARGET = ` \ NM_FOR_TARGET = ` \ if [ -f $$r/binutils/nm-new ] ; then \ echo $$r/binutils/nm-new ; \ + elif [ -f $$r/gcc/xgcc ]; then \ + $(CC_FOR_TARGET) -print-prog-name=nm ; \ else \ if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ echo $(NM); \ diff -uprN binutils-2.11.90.0.8/bfd/ChangeLog binutils-2.11.90.0.15/bfd/ChangeLog --- binutils-2.11.90.0.8/bfd/ChangeLog Sat May 12 08:21:15 2001 +++ binutils-2.11.90.0.15/bfd/ChangeLog Sun Jun 10 10:55:09 2001 @@ -1,3 +1,372 @@ +2001-06-10 Alan Modra + + * elflink.h: Whitespace changes. + (elf_link_read_relocs_from_section): Use "unsigned int" iterator + rather than "unsigned char". + (elf_link_output_relocs): Likewise. + (elf_link_input_bfd): Likewise. + (elf_reloc_link_order): LIkewise. + * elf.c: s/CONST/const/. Whitespace changes. + * elf32-mips.c: Formatting fix. + + * Makefile.am (SOURCE_HFILES): Include xcoff-target.h, remove xcoff.h. + * Makefile.in: Regenerate. + * po/Make-in: Remove trailing tab. + +2001-06-09 Philip Blundell + + * elf32-arm.h (elf32_arm_plt0_entry): Correct error in last + change. + (elf32_arm_plt_entry): Likewise. + +2001-06-08 H.J. Lu + + * elf.c (swap_out_syms): Keep names for global section symbols. + +2001-06-07 H.J. Lu + + * config.bfd: Put back ecoff for Linux/mips. Firmwares on some + MIPS-based machines need it. + +2001-06-07 H.J. Lu + + * elf32-mips.c (_bfd_mips_elf_object_p): Set the bad symtab + for SGI only. + + * config.bfd: Remove ecoff from Linux/mips. + +2001-06-07 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Add an + assertion. + (elf64_x86_64_check_relocs): Fix VTENTRY relocation; set an + alignment of 8 for .rela sections; handle further relocations. + +2001-06-06 Christian Groessler + + * coff-z8k.c: Fix formatting. + Fix howtos: howto->size was always 1. + +2001-06-05 Thiemo Seufer + + * configure.host (mips64*-*-linux*): Define. + +2001-06-05 Alan Modra + + * elf32-i386.c (elf_i386_discard_copies): Rename to + discard_copies, and use elf_link_hash_entry arg rather than + elf_i386_link_hash_entry. + (elf_i386_link_hash_traverse): Delete. + (elf_i386_size_dynamic_sections): Adjust call to discard_copies. + Tidy sizing of dynamic sections. + (elf_i386_check_relocs ): Reference count + possible .plt entries. + (elf_i386_gc_sweep_hook): Likewise. + (elf_i386_adjust_dynamic_symbol): Discard .plt entries for + everything with plt.refcount <= 0. + + * elf32-i386.c (elf_i386_check_relocs): Don't allocate .got and + .relgot space here. + (elf_i386_gc_sweep_hook): ..and no need to deallocate here.. + (elf_i386_adjust_dynamic_symbol): ..and don't allocate .plt and + .rel.plt here.. + (allocate_plt_and_got): ..instead do it all here. New function. + (elf_i386_size_dynamic_sections): Allocate local .got space and + call allocate_plt_and_got. No need to zap .relgot if not dynamic. + (bfd_elf32_bfd_final_link): Delete. (ie. use regular final link + rather than gc variety). + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. + (elf_i386_relocate_section): Use it here and correct handling of + R_386_GOT32. Provide section and offset for "unresolvable + relocation" error message. + (elf_i386_finish_dynamic_symbol): Correct handling of R_386_GOT32. + + * elf32-i386.c (struct elf_i386_link_hash_table): Add sgot, + sgotplt, srelgot, splt, srelplt, sdynbss, srelbss fields. + (elf_i386_link_hash_table_create): Init them. + (create_got_section): New function. + (elf_i386_create_dynamic_sections): New function. + (elf_backend_create_dynamic_sections): Set to above. + (elf_i386_check_relocs): Use shortcuts from hash table rather than + calling bfd_get_section_by_name. + (elf_i386_gc_sweep_hook): Likewise. + (elf_i386_adjust_dynamic_symbol): Likewise. + (elf_i386_size_dynamic_sections): Likewise. + (elf_i386_relocate_section): Likewise. + (elf_i386_finish_dynamic_sections): Likewise. + + * elf32-hppa.c (allocate_plt_and_got): Skip indirect and warning syms. + +2001-06-02 H.J. Lu + + * elf32-hppa.c (elf32_hppa_object_p): Check ELFOSABI_LINUX + and ELFOSABI_HPUX. + * elf64-hppa.c (elf64_hppa_object_p): Likewise. + +2001-06-02 H.J. Lu + + * aout-cris.c (MACHTYPE_OK): New. Defined. + +2001-06-02 Hans-Peter Nilsson + + * section.c (_bfd_strip_section_from_output): Handle NULL + output_section. + +2001-06-02 H.J. Lu + + * config.bfd (powerpc-*-aix*, powerpc-*-beos*, rs6000-*-*): Add + rs6000coff64_vec only if BFD64 is defined. + (powerpc64-*-aix*): Enable only if BFD64 is defined. + +2001-06-02 H.J. Lu + + * coff-ia64.c (ia64coff_object_p): Rewrite with + external_PEI_DOS_hdr and external_PEI_IMAGE_hdr. + +2001-06-01 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_relocate_section): Add PC8 + relocation, small reformatting. + +2001-05-29 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_check_relocs): Handle R_X86_64_64. + (elf64_x86_64_relocate_section): Likewise. + +2001-05-30 Alan Modra + + * elf32-hppa.c (elf32_hppa_check_relocs): Don't NEED_PLT for + millicode. Don't allocate .got and .rela.got space here.. + (elf32_hppa_gc_sweep_hook): ..and no need to deallocate here.. + (elf32_hppa_adjust_dynamic_symbol): ..and don't allocate .plt and + .rela.plt here.. + (hppa_handle_PIC_calls): ..nor here.. + (allocate_plt_and_got): ..instead do it all here. New function. + (elf32_hppa_size_dynamic_sections): Allocate local .got space and + call allocate_plt_and_got. No need to zap .got if not dynamic. + (elf32_hppa_final_link): Call regular bfd_final_link instead of + gc_common_final_link. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. + (elf32_hppa_relocate_section): Use it here. + (elf32_hppa_finish_dynamic_symbol): Remove superfluous test of + dynamic_sections_created. + (hppa_type_of_stub): Don't LONG_BRANCH_VIA_PLT if millicode sym. + +2001-05-28 Andreas Jaeger + + * elf64-x86-64.c (elf64_86_64_size_info): Remove, we can use the + generic version since we want a hashsize of 4. + (elf_backend_size_info): Likewise. + +2001-05-28 Thiemo Seufer + + * elflink.h (elf_link_size_reloc_section): Use bfd_zmalloc instead of + a zeroing loop. + (elf_link_output_relocs): Handle MIPS ELF64 relocations correctly. + (elf_link_input_bfd): Likewise. + (elf_reloc_link_order): Likewise. + (elf_finish_pointer_linker_section): Typo. Handle MIPS ELF64 + relocations correctly. + +2001-05-28 Nicolas Pitre + + * elf32-arm.h: fix PLT generation for big endian ARM + +2001-05-28 Alan Modra + + * elf32-hppa.c (elf32_hppa_relocate_section): Set up .plt entries + for symbols forced local that need plabels. + (elf32_hppa_adjust_dynamic_symbol): Don't allocate space in + .plt.rela for local syms if non-shared. + (hppa_build_one_stub): Mask lsb of plt.offset. + (elf32_hppa_finish_dynamic_symbol): Abort if lsb of plt.offset set. + (clobber_millicode_symbols): Correct comment. + (elf32_hppa_relocate_section): Likewise. + (elf32_hppa_finish_dynamic_symbol): Likewise. + +2001-05-28 Jeff Sturm + + * reloc.c: Add BFD_RELOC_SPARC_UA16 and BFD_RELOC_SPARC_UA64. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * elf32-sparc.c: Enable BFD_RELOC_SPARC_UA16, BFD_RELOC_SPARC_UA32 + and BFD_RELOC_SPARC_UA64 mapping + * elf64-sparc.c: Likewise. + +2001-05-25 H.J. Lu + + * Makefile.am (BFD32_BACKENDS): Remove coff-pmac.lo. + (BFD32_BACKENDS_CFILES): Remove coff-pmac.c. + (coff-rs6000.lo): Remove the old dependency. + * Makefile.in: Rebuild. + + * configure.in (pmac_xcoff_vec): Replace coff-pmac.lo with + coff-rs6000.lo. + +2001-05-25 H.J. Lu + + * coff-rs6000.c (rs6000coff_vec): Use rs6000coff_core_p, + rs6000coff_core_file_matches_executable_p, + rs6000coff_core_file_failing_command and + rs6000coff_core_file_failing_signal only if AIX_CORE is + defined. + (pmac_xcoff_vec): Likewise. + * coff64-rs6000.c (rs6000coff64_vec): Likewise. + +2001-05-25 Timothy Wall + + * elfxx-ia64.c (allocate_dynrel_entries): Don't allocate an entry + for __GLOB_DATA_PTR on AIX5. Clean up some relocation bugs. + +2001-05-25 H.J. Lu + + * bfd-in2.h: Regenerated. + * libcoff.h: Likewise. + +2001-05-25 Alan Modra + + * elf32-hppa.c (elf32_hppa_relocate_section): Don't allow + undefined millicode syms in shared libs. + (hppa_build_one_stub): Turn BFD_ASSERTs into aborts. + (elf32_hppa_check_relocs): Likewise. + (elf32_hppa_adjust_dynamic_symbol): Likewise. + (elf32_hppa_size_dynamic_sections): Likewise. + (elf32_hppa_relocate_section): Likewise. + (elf32_hppa_finish_dynamic_symbol): Likewise. + (elf32_hppa_finish_dynamic_sections): Likewise. + +2001-05-24 Tom Rix + + * Makefile.am coff-pmac bfd now defined in coff-rs6000.c + xcoff-target.h not used to define rs6000 or ppc bfd. + * Makefile.in same + + * bfd-in.h : (struct lineno_cache_entry) promote element "offset" + to 64 bit. + + * coff-rs6000.c : Many changes for 64 bit support. Move common + 32/64 code to xcofflink.c. Explictly define the rs6000coff_vec + and pmac_xcoff_vec + + * coff64-rs6000.c : Many changes for 64 bit support. 64 bit + linker now supported. Explictly define the rs6000coff64_vec. + + * coffcode.h : (coff_set_arch_mach_hook) xcoff 64 bit support + (coff_print_aux) same + (coff_write_object_contents) same + (coff_slurp_line_table) same + + * coffgen.c : (coff_fix_symbol_name) formatting + (coff_mangle_symbols) xcoff 64 bit support + (coff_write_symbol) same + (coff_write_alien_symbol) same + (coff_write_native_symbol) same + (coff_write_symbols) same + (coff_get_symbol_info) same + (bfd_coff_get_syment) same + (coff_print_symbol) same + + * config.bfd : add powerpc64-*-aix* target + + * libcoff-in.h : formatting + + * libcoff.h : move xcoff extern declarations to libxcoff.h + + * libxcoff.h : New file + + * xcofflink.c : Many changes for xcoff64 support. Move common + structures to include/coff/xcoff.h. Move specific structure to + backends coff-rs6000.c and coff64-rs6000.c. Use new backend + functions, defined in libxcoff.h, to isolate 32/64 dependencies. + + (bfd_xcoff_size_dynamic_sections) : special __rtinit symbol for + aix4.2+ -binitfini. + + (xcoff_build_ldsyms) : handle special __rtinit symbol. + +2001-05-23 Alexandre Oliva + + * elf64-sparc.c (sparc64_elf_slurp_reloc_table): Fix typo + s/ENTIRES/ENTRIES/. + +2001-05-23 Thiemo Seufer + + * reloc.c (bfd_reloc_code_real): Add MIPS ELF64 relocations. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + + * aoutx.h (aout_@var{size}_machine_type): Add MIPS r12k support. + * archures.c (bfd_mach_mips12000): Define. + * cpu-mips.c (arch_info_struct): Add MIPS r12k support. + * elf32-mips.c (_bfd_mips_elf_final_write_processing): Add MIPS r12k + support. + (_bfd_mips_elf_size_dynamic_sections): Use official bfd typedef. + * bfd-in2.h: Regenerate. + * elfxx-target.h: Do not redefine bfd_elfNN_bfd_make_debug_symbol. + +2001-05-23 kaz Kojima + + * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry, + elf_sh_plt_entry_be, elf_sh_plt_entry, elf_sh_pic_plt_entry_be, + elf_sh_pic_plt_entry): New PLT code, that does not use r2, since + that is used by GCC. + +2001-05-23 Nick Clifton + + * elf-bfd.h (NUM_SHDR_ENTRIES): New macro: compute the number + of entries in a structured section. + * elf.c: Use new macro. + * elf32-i386.c: Use new macro. + * elf32-mips.c: Use new macro. + * elf64-alpha.c: Use new macro. + * elf64-sparc.c: Use new macro. + * elfcode.h: Use new macro. + * elflink.h: Use new macro. + +2001-05-23 Nick Clifton + + * bfdint.texi: Replace -oformat with --oformat. + +2001-05-21 Andreas Jaeger + + * dwarf2.c (decode_line_info): Fix error message. + (read_abbrevs): Fix test for offset as suggested by Alan Modra and + adjust error message. + +2001-05-18 H.J. Lu + + * elflink.h (elf_link_add_object_symbols): Revert the last + change. + +2001-05-17 Alan Modra + + * elf32-hppa.c (clobber_millicode_symbols): Temporarily set + ELF_LINK_FORCED_LOCAL to suit 2001-04-30 change. + (hppa_build_one_stub): Add an assert to check plt.offset. + +2001-05-17 H.J. Lu + + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the + version definition to basename of the output filename. + +2001-05-17 H.J. Lu + + * elflink.h (elf_link_add_object_symbols): Set DT_NEEDED to + basename of the bfd filename. + +2001-05-16 Alan Modra + + * section.c (asection): Add linker_has_input field. + (STD_SECTION): Adjust initialization to suit. + * ecoff.c (bfd_debug_section): Likewise. + * bfd-in2.h: Regenerate. + +2001-05-15 Alexandre Oliva + + * elf-m10300.c (mn10300_elf_relax_section): Don't relax + negative 32-bit operands to 16 operands when the operand is + going to be zero-extended by the modified opcode. + 2001-05-12 Peter Targett * cpu-arc.c (arch_info_struct): Add entry 'base' representing old @@ -2068,7 +2437,7 @@ * elf.c (elf_fake_sections): Do not mark the section SHT_NOBITS if is has the SEC_HAS_CONTENTS flag set. -2000-09-28 rjan Friberg +2000-09-28 rjan Friberg Hans-Peter Nilsson * aout-cris.c (N_TXTADDR): Define. @@ -3917,7 +4286,7 @@ * libhppa.h (HPPA_R_CONSTANT): Cast argument to bfd_signed_vma. -2000-05-03 Martin v. Lwis +2000-05-03 Martin v. Lwis * elflink.h (elf_link_add_object_symbols): Reset dynindx for hidden and internal symbols. diff -uprN binutils-2.11.90.0.8/bfd/Makefile.am binutils-2.11.90.0.15/bfd/Makefile.am --- binutils-2.11.90.0.8/bfd/Makefile.am Tue Apr 24 09:28:50 2001 +++ binutils-2.11.90.0.15/bfd/Makefile.am Sun Jun 10 10:55:09 2001 @@ -160,7 +160,6 @@ BFD32_BACKENDS = \ coff-m68k.lo \ coff-m88k.lo \ coff-mips.lo \ - coff-pmac.lo \ coff-rs6000.lo \ coff-sh.lo \ coff-sparc.lo \ @@ -301,7 +300,6 @@ BFD32_BACKENDS_CFILES = \ coff-m68k.c \ coff-m88k.c \ coff-mips.c \ - coff-pmac.c \ coff-rs6000.c \ coff-sh.c \ coff-sparc.c \ @@ -501,7 +499,8 @@ SOURCE_HFILES = \ elfcode.h elfcore.h elflink.h freebsd.h genlink.h go32stub.h \ libaout.h libbfd.h libcoff.h libecoff.h libhppa.h \ libieee.h libnlm.h liboasys.h libpei.h netbsd.h nlm-target.h \ - nlmcode.h nlmswap.h ns32k.h peicode.h som.h vms.h xcoff-target.h + nlmcode.h nlmswap.h ns32k.h peicode.h som.h vms.h libxcoff.h \ + xcoff-target.h ## ... and all .h files which are in the build tree. BUILD_HFILES = \ @@ -914,12 +913,12 @@ coff-mips.lo: coff-mips.c $(INCDIR)/file $(INCDIR)/coff/internal.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/symconst.h \ $(INCDIR)/coff/ecoff.h $(INCDIR)/coff/mips.h libcoff.h \ libecoff.h coffswap.h ecoffswap.h -coff-pmac.lo: coff-pmac.c $(INCDIR)/filenames.h $(INCDIR)/coff/internal.h \ - $(INCDIR)/coff/rs6000.h libcoff.h $(INCDIR)/bfdlink.h \ - xcoff-target.h coffcode.h coffswap.h -coff-rs6000.lo: coff-rs6000.c $(INCDIR)/filenames.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h libcoff.h \ - $(INCDIR)/bfdlink.h xcoff-target.h coffcode.h coffswap.h +coff-rs6000.lo: coff64-rs6000.c coff-rs6000.c xcofflink.c \ + $(INCDIR)/bfdlink.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/xcoff.h \ + $(INCDIR)/coff/rs6000.h libcoff.h libxcoff.h coffcode.h coffswap.h +coff64-rs6000.lo: coff64-rs6000.c coff-rs6000.c xcofflink.c \ + $(INCDIR)/bfdlink.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/xcoff.h \ + $(INCDIR)/coff/rs6k64.h libcoff.h libxcoff.h coffcode.h coffswap.h coff-sh.lo: coff-sh.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/coff/sh.h $(INCDIR)/coff/internal.h libcoff.h \ coffcode.h coffswap.h diff -uprN binutils-2.11.90.0.8/bfd/Makefile.in binutils-2.11.90.0.15/bfd/Makefile.in --- binutils-2.11.90.0.8/bfd/Makefile.in Tue Apr 24 09:28:50 2001 +++ binutils-2.11.90.0.15/bfd/Makefile.in Sun Jun 10 10:55:09 2001 @@ -283,7 +283,6 @@ BFD32_BACKENDS = \ coff-m68k.lo \ coff-m88k.lo \ coff-mips.lo \ - coff-pmac.lo \ coff-rs6000.lo \ coff-sh.lo \ coff-sparc.lo \ @@ -425,7 +424,6 @@ BFD32_BACKENDS_CFILES = \ coff-m68k.c \ coff-m88k.c \ coff-mips.c \ - coff-pmac.c \ coff-rs6000.c \ coff-sh.c \ coff-sparc.c \ @@ -631,7 +629,8 @@ SOURCE_HFILES = \ elfcode.h elfcore.h elflink.h freebsd.h genlink.h go32stub.h \ libaout.h libbfd.h libcoff.h libecoff.h libhppa.h \ libieee.h libnlm.h liboasys.h libpei.h netbsd.h nlm-target.h \ - nlmcode.h nlmswap.h ns32k.h peicode.h som.h vms.h xcoff-target.h + nlmcode.h nlmswap.h ns32k.h peicode.h som.h vms.h libxcoff.h \ + xcoff-target.h BUILD_HFILES = \ @@ -1452,12 +1451,12 @@ coff-mips.lo: coff-mips.c $(INCDIR)/file $(INCDIR)/coff/internal.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/symconst.h \ $(INCDIR)/coff/ecoff.h $(INCDIR)/coff/mips.h libcoff.h \ libecoff.h coffswap.h ecoffswap.h -coff-pmac.lo: coff-pmac.c $(INCDIR)/filenames.h $(INCDIR)/coff/internal.h \ - $(INCDIR)/coff/rs6000.h libcoff.h $(INCDIR)/bfdlink.h \ - xcoff-target.h coffcode.h coffswap.h -coff-rs6000.lo: coff-rs6000.c $(INCDIR)/filenames.h \ - $(INCDIR)/coff/internal.h $(INCDIR)/coff/rs6000.h libcoff.h \ - $(INCDIR)/bfdlink.h xcoff-target.h coffcode.h coffswap.h +coff-rs6000.lo: coff64-rs6000.c coff-rs6000.c xcofflink.c \ + $(INCDIR)/bfdlink.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/xcoff.h \ + $(INCDIR)/coff/rs6000.h libcoff.h libxcoff.h coffcode.h coffswap.h +coff64-rs6000.lo: coff64-rs6000.c coff-rs6000.c xcofflink.c \ + $(INCDIR)/bfdlink.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/xcoff.h \ + $(INCDIR)/coff/rs6k64.h libcoff.h libxcoff.h coffcode.h coffswap.h coff-sh.lo: coff-sh.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/coff/sh.h $(INCDIR)/coff/internal.h libcoff.h \ coffcode.h coffswap.h diff -uprN binutils-2.11.90.0.8/bfd/aout-cris.c binutils-2.11.90.0.15/bfd/aout-cris.c --- binutils-2.11.90.0.8/bfd/aout-cris.c Fri Mar 9 11:15:25 2001 +++ binutils-2.11.90.0.15/bfd/aout-cris.c Sat Jun 2 23:14:34 2001 @@ -112,6 +112,8 @@ static boolean MY(set_sizes) PARAMS ((bf #define MY_get_section_contents aout_32_get_section_contents #endif +#define MACHTYPE_OK(mtype) ((mtype) == M_CRIS) + /* Include generic functions (some are overridden above). */ #include "aout32.c" #include "aout-target.h" diff -uprN binutils-2.11.90.0.8/bfd/aoutx.h binutils-2.11.90.0.15/bfd/aoutx.h --- binutils-2.11.90.0.8/bfd/aoutx.h Fri Apr 13 11:47:20 2001 +++ binutils-2.11.90.0.15/bfd/aoutx.h Wed May 23 11:36:01 2001 @@ -776,6 +776,7 @@ NAME(aout,machine_type) (arch, machine, case bfd_mach_mips4650: case bfd_mach_mips8000: case bfd_mach_mips10000: + case bfd_mach_mips12000: case bfd_mach_mips16: case bfd_mach_mips32: case bfd_mach_mips32_4k: diff -uprN binutils-2.11.90.0.8/bfd/archures.c binutils-2.11.90.0.15/bfd/archures.c --- binutils-2.11.90.0.8/bfd/archures.c Tue Apr 24 09:28:51 2001 +++ binutils-2.11.90.0.15/bfd/archures.c Wed May 23 11:36:02 2001 @@ -135,6 +135,7 @@ DESCRIPTION .#define bfd_mach_mips6000 6000 .#define bfd_mach_mips8000 8000 .#define bfd_mach_mips10000 10000 +.#define bfd_mach_mips12000 12000 .#define bfd_mach_mips16 16 .#define bfd_mach_mips32 32 .#define bfd_mach_mips32_4k 3204113 {* 32, 04, octal 'K' *} @@ -727,7 +728,7 @@ DESCRIPTION boolean bfd_default_scan (info, string) - const struct bfd_arch_info *info; + const bfd_arch_info_type *info; const char *string; { const char *ptr_src; diff -uprN binutils-2.11.90.0.8/bfd/bfd-in.h binutils-2.11.90.0.15/bfd/bfd-in.h --- binutils-2.11.90.0.8/bfd/bfd-in.h Wed Apr 25 16:06:43 2001 +++ binutils-2.11.90.0.15/bfd/bfd-in.h Thu May 24 23:17:00 2001 @@ -298,7 +298,7 @@ typedef struct lineno_cache_entry { unsigned int line_number; /* Linenumber from start of function*/ union { struct symbol_cache_entry *sym; /* Function name */ - unsigned long offset; /* Offset into section */ + bfd_vma offset; /* Offset into section */ } u; } alent; diff -uprN binutils-2.11.90.0.8/bfd/bfd-in2.h binutils-2.11.90.0.15/bfd/bfd-in2.h --- binutils-2.11.90.0.8/bfd/bfd-in2.h Sat May 12 00:57:53 2001 +++ binutils-2.11.90.0.15/bfd/bfd-in2.h Fri Jun 1 21:47:11 2001 @@ -298,7 +298,7 @@ typedef struct lineno_cache_entry { unsigned int line_number; /* Linenumber from start of function*/ union { struct symbol_cache_entry *sym; /* Function name */ - unsigned long offset; /* Offset into section */ + bfd_vma offset; /* Offset into section */ } u; } alent; @@ -1127,6 +1127,10 @@ typedef struct sec /* A mark flag used by some of the linker backends. */ unsigned int linker_mark : 1; + /* Another mark flag used by some of the linker backends. Set for + output sections that have a input section. */ + unsigned int linker_has_input : 1; + /* A mark flag used by some linker backends for garbage collection. */ unsigned int gc_mark : 1; @@ -1420,6 +1424,7 @@ enum bfd_architecture #define bfd_mach_mips6000 6000 #define bfd_mach_mips8000 8000 #define bfd_mach_mips10000 10000 +#define bfd_mach_mips12000 12000 #define bfd_mach_mips16 16 #define bfd_mach_mips32 32 #define bfd_mach_mips32_4k 3204113 /* 32, 04, octal 'K' */ @@ -1923,7 +1928,9 @@ relocation types already defined. */ BFD_RELOC_SPARC_GLOB_DAT, BFD_RELOC_SPARC_JMP_SLOT, BFD_RELOC_SPARC_RELATIVE, + BFD_RELOC_SPARC_UA16, BFD_RELOC_SPARC_UA32, + BFD_RELOC_SPARC_UA64, /* I think these are specific to SPARC a.out (e.g., Sun 4). */ BFD_RELOC_SPARC_BASE13, @@ -2075,6 +2082,17 @@ to compensate for the borrow when the lo BFD_RELOC_MIPS_GOT_PAGE, BFD_RELOC_MIPS_GOT_OFST, BFD_RELOC_MIPS_GOT_DISP, + BFD_RELOC_MIPS_SHIFT5, + BFD_RELOC_MIPS_SHIFT6, + BFD_RELOC_MIPS_INSERT_A, + BFD_RELOC_MIPS_INSERT_B, + BFD_RELOC_MIPS_DELETE, + BFD_RELOC_MIPS_HIGHEST, + BFD_RELOC_MIPS_HIGHER, + BFD_RELOC_MIPS_SCN_DISP, + BFD_RELOC_MIPS_REL16, + BFD_RELOC_MIPS_RELGOT, + BFD_RELOC_MIPS_JALR, /* i386/elf relocations */ diff -uprN binutils-2.11.90.0.8/bfd/coff-ia64.c binutils-2.11.90.0.15/bfd/coff-ia64.c --- binutils-2.11.90.0.8/bfd/coff-ia64.c Fri Mar 9 11:15:30 2001 +++ binutils-2.11.90.0.15/bfd/coff-ia64.c Sat Jun 2 23:14:38 2001 @@ -68,51 +68,58 @@ ia64coff_object_p (abfd) bfd *abfd; { #ifdef COFF_IMAGE_WITH_PE - /* We need to hack badly to handle a PE image correctly. In PE - images created by the GNU linker, the offset to the COFF header - is always the size. However, this is not the case in images - generated by other PE linkers. The PE format stores a four byte - offset to the PE signature just before the COFF header at - location 0x3c of the file. We pick up that offset, verify that - the PE signature is there, and then set ourselves up to read in - the COFF header. */ { - bfd_byte ext_offset[4]; + struct external_PEI_DOS_hdr dos_hdr; + struct external_PEI_IMAGE_hdr image_hdr; file_ptr offset; - bfd_byte ext_signature[4]; - unsigned long signature; - if (bfd_seek (abfd, 0x3c, SEEK_SET) != 0 - || bfd_read (ext_offset, 1, 4, abfd) != 4) + if (bfd_seek (abfd, 0x00, SEEK_SET) != 0 + || bfd_read (&dos_hdr, 1, sizeof (dos_hdr), abfd) + != sizeof (dos_hdr)) { if (bfd_get_error () != bfd_error_system_call) bfd_set_error (bfd_error_wrong_format); return NULL; } - offset = bfd_h_get_32 (abfd, ext_offset); - if (bfd_seek (abfd, offset, SEEK_SET) != 0 - || bfd_read (ext_signature, 1, 4, abfd) != 4) + + /* There are really two magic numbers involved; the magic number + that says this is a NT executable (PEI) and the magic number + that determines the architecture. The former is DOSMAGIC, + stored in the e_magic field. The latter is stored in the + f_magic field. If the NT magic number isn't valid, the + architecture magic number could be mimicked by some other + field (specifically, the number of relocs in section 3). Since + this routine can only be called correctly for a PEI file, check + the e_magic number here, and, if it doesn't match, clobber the + f_magic number so that we don't get a false match. */ + if (bfd_h_get_16 (abfd, (bfd_byte *) dos_hdr.e_magic) != DOSMAGIC) + { + bfd_set_error (bfd_error_wrong_format); + return NULL; + } + + offset = bfd_h_get_32 (abfd, (bfd_byte *) dos_hdr.e_lfanew); + if (bfd_seek (abfd, (file_ptr) offset, SEEK_SET) != 0 + || bfd_read (&image_hdr, 1, sizeof (image_hdr), abfd) + != sizeof (image_hdr)) { if (bfd_get_error () != bfd_error_system_call) bfd_set_error (bfd_error_wrong_format); return NULL; } - signature = bfd_h_get_32 (abfd, ext_signature); - if (signature != 0x4550) + if (bfd_h_get_32 (abfd, (bfd_byte *) image_hdr.nt_signature) + != 0x4550) { bfd_set_error (bfd_error_wrong_format); return NULL; } /* Here is the hack. coff_object_p wants to read filhsz bytes to - pick up the COFF header. We adjust so that that will work. 20 - is the size of the COFF filehdr. */ - + pick up the COFF header for PE, see "struct external_PEI_filehdr" + in include/coff/pe.h. We adjust so that that will work. */ if (bfd_seek (abfd, - (bfd_tell (abfd) - - bfd_coff_filhsz (abfd) - + 20), + (file_ptr) (offset - sizeof (dos_hdr)), SEEK_SET) != 0) { diff -uprN binutils-2.11.90.0.8/bfd/coff-rs6000.c binutils-2.11.90.0.15/bfd/coff-rs6000.c --- binutils-2.11.90.0.8/bfd/coff-rs6000.c Fri Mar 9 11:15:31 2001 +++ binutils-2.11.90.0.15/bfd/coff-rs6000.c Fri May 25 14:26:23 2001 @@ -29,13 +29,84 @@ Foundation, Inc., 59 Temple Place - Suit #include "bfd.h" #include "sysdep.h" +#include "bfdlink.h" #include "libbfd.h" #include "coff/internal.h" +#include "coff/xcoff.h" #include "coff/rs6000.h" #include "libcoff.h" -#define TARGET_NAME "aixcoff-rs6000" -#define TARGET_SYM rs6000coff_vec -#include "xcoff-target.h" +#include "libxcoff.h" + +extern boolean _bfd_xcoff_mkobject PARAMS ((bfd *)); +extern boolean _bfd_xcoff_copy_private_bfd_data PARAMS ((bfd *, bfd *)); +extern boolean _bfd_xcoff_is_local_label_name PARAMS ((bfd *, const char *)); +extern reloc_howto_type *_bfd_xcoff_reloc_type_lookup + PARAMS ((bfd *, bfd_reloc_code_real_type)); +extern boolean _bfd_xcoff_slurp_armap PARAMS ((bfd *)); +extern const bfd_target *_bfd_xcoff_archive_p PARAMS ((bfd *)); +extern PTR _bfd_xcoff_read_ar_hdr PARAMS ((bfd *)); +extern bfd *_bfd_xcoff_openr_next_archived_file PARAMS ((bfd *, bfd *)); +extern int _bfd_xcoff_generic_stat_arch_elt PARAMS ((bfd *, struct stat *)); +extern boolean _bfd_xcoff_write_armap + PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int)); +extern boolean _bfd_xcoff_write_archive_contents PARAMS ((bfd *)); +extern int _bfd_xcoff_sizeof_headers PARAMS ((bfd *, boolean)); +extern void _bfd_xcoff_swap_sym_in PARAMS ((bfd *, PTR, PTR)); +extern unsigned int _bfd_xcoff_swap_sym_out PARAMS ((bfd *, PTR, PTR)); +extern void _bfd_xcoff_swap_aux_in PARAMS ((bfd *, PTR, int, int, int, int, PTR)); +extern unsigned int _bfd_xcoff_swap_aux_out PARAMS ((bfd *, PTR, int, int, int, int, PTR)); + +/* Forward declare _bfd_xcoff_rtype2howto for coffcode.h macro */ +void _bfd_xcoff_rtype2howto PARAMS ((arelent *, struct internal_reloc *)); + +/* coffcode.h needs these to be defined */ +#define RS6000COFF_C 1 + +#define SELECT_RELOC(internal, howto) \ + { \ + internal.r_type = howto->type; \ + internal.r_size = \ + ((howto->complain_on_overflow == complain_overflow_signed \ + ? 0x80 \ + : 0) \ + | (howto->bitsize - 1)); \ + } + +#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (3) +#define COFF_LONG_FILENAMES +#define NO_COFF_SYMBOLS +#define RTYPE2HOWTO(cache_ptr, dst) _bfd_xcoff_rtype2howto (cache_ptr, dst) +#define coff_mkobject _bfd_xcoff_mkobject +#define coff_bfd_copy_private_bfd_data _bfd_xcoff_copy_private_bfd_data +#define coff_bfd_is_local_label_name _bfd_xcoff_is_local_label_name +#define coff_bfd_reloc_type_lookup _bfd_xcoff_reloc_type_lookup +#ifdef AIX_CORE +extern const bfd_target * rs6000coff_core_p (); +extern boolean rs6000coff_core_file_matches_executable_p (); +extern char *rs6000coff_core_file_failing_command PARAMS ((bfd *abfd)); +extern int rs6000coff_core_file_failing_signal PARAMS ((bfd *abfd)); +#define CORE_FILE_P rs6000coff_core_p +#define coff_core_file_failing_command \ + rs6000coff_core_file_failing_command +#define coff_core_file_failing_signal \ + rs6000coff_core_file_failing_signal +#define coff_core_file_matches_executable_p \ + rs6000coff_core_file_matches_executable_p +#else +#define CORE_FILE_P _bfd_dummy_target +#define coff_core_file_failing_command \ + _bfd_nocore_core_file_failing_command +#define coff_core_file_failing_signal \ + _bfd_nocore_core_file_failing_signal +#define coff_core_file_matches_executable_p \ + _bfd_nocore_core_file_matches_executable_p +#endif +#define coff_SWAP_sym_in _bfd_xcoff_swap_sym_in +#define coff_SWAP_sym_out _bfd_xcoff_swap_sym_out +#define coff_SWAP_aux_in _bfd_xcoff_swap_aux_in +#define coff_SWAP_aux_out _bfd_xcoff_swap_aux_out + +#include "coffcode.h" /* The main body of code is in coffcode.h. */ @@ -70,6 +141,9 @@ _bfd_xcoff_mkobject (abfd) xcoff_data (abfd)->csects = NULL; xcoff_data (abfd)->debug_indices = NULL; + /* text section alignment is different than the default */ + /* xcoff_data (abfd)->text_align_power = 5; */ + return true; } @@ -131,6 +205,8 @@ _bfd_xcoff_is_local_label_name (abfd, na return false; } + + void _bfd_xcoff_swap_sym_in (abfd, ext1, in1) bfd *abfd; @@ -140,18 +216,15 @@ _bfd_xcoff_swap_sym_in (abfd, ext1, in1) SYMENT *ext = (SYMENT *)ext1; struct internal_syment *in = (struct internal_syment *)in1; - if (ext->e.e_name[0] != 0) - { - memcpy(in->_n._n_name, ext->e.e_name, SYMNMLEN); - } - else - { - in->_n._n_n._n_zeroes = 0; - in->_n._n_n._n_offset = - bfd_h_get_32(abfd, (bfd_byte *) ext->e.e.e_offset); - } + if(ext->e.e_name[0] != 0) { + memcpy(in->_n._n_name, ext->e.e_name, SYMNMLEN); + } else { + in->_n._n_n._n_zeroes = 0; + in->_n._n_n._n_offset = + bfd_h_get_32(abfd, (bfd_byte *) ext->e.e.e_offset); + } - in->n_value = bfd_h_get_32(abfd, (bfd_byte *) ext->e_value); + in->n_value = bfd_h_get_32(abfd, (bfd_byte *) ext->e_value); in->n_scnum = bfd_h_get_16(abfd, (bfd_byte *) ext->e_scnum); in->n_type = bfd_h_get_16(abfd, (bfd_byte *) ext->e_type); in->n_sclass = bfd_h_get_8(abfd, ext->e_sclass); @@ -167,16 +240,13 @@ _bfd_xcoff_swap_sym_out (abfd, inp, extp struct internal_syment *in = (struct internal_syment *)inp; SYMENT *ext =(SYMENT *)extp; - if (in->_n._n_name[0] != 0) - { - memcpy(ext->e.e_name, in->_n._n_name, SYMNMLEN); - } - else - { - bfd_h_put_32(abfd, 0, (bfd_byte *) ext->e.e.e_zeroes); - bfd_h_put_32(abfd, in->_n._n_n._n_offset, - (bfd_byte *) ext->e.e.e_offset); - } + if(in->_n._n_name[0] != 0) { + memcpy(ext->e.e_name, in->_n._n_name, SYMNMLEN); + } else { + bfd_h_put_32(abfd, 0, (bfd_byte *) ext->e.e.e_zeroes); + bfd_h_put_32(abfd, in->_n._n_n._n_offset, + (bfd_byte *) ext->e.e.e_offset); + } bfd_h_put_32(abfd, in->n_value , (bfd_byte *) ext->e_value); bfd_h_put_16(abfd, in->n_scnum , (bfd_byte *) ext->e_scnum); @@ -210,7 +280,7 @@ _bfd_xcoff_swap_aux_in (abfd, ext1, type case C_FILE: if (ext->x_file.x_fname[0] == 0) { in->x_file.x_n.x_zeroes = 0; - in->x_file.x_n.x_offset = + in->x_file.x_n.x_offset = bfd_h_get_32(abfd, (bfd_byte *) ext->x_file.x_n.x_offset); } else { if (numaux > 1) @@ -231,7 +301,7 @@ _bfd_xcoff_swap_aux_in (abfd, ext1, type case C_HIDEXT: if (indx + 1 == numaux) { - in->x_csect.x_scnlen.l = + in->x_csect.x_scnlen.l = bfd_h_get_32 (abfd, ext->x_csect.x_scnlen); in->x_csect.x_parmhash = bfd_h_get_32 (abfd, ext->x_csect.x_parmhash); @@ -251,11 +321,11 @@ _bfd_xcoff_swap_aux_in (abfd, ext1, type case C_LEAFSTAT: case C_HIDDEN: if (type == T_NULL) { - in->x_scn.x_scnlen = bfd_h_get_32(abfd, + in->x_scn.x_scnlen = bfd_h_get_32(abfd, (bfd_byte *) ext->x_scn.x_scnlen); - in->x_scn.x_nreloc = bfd_h_get_16(abfd, + in->x_scn.x_nreloc = bfd_h_get_16(abfd, (bfd_byte *) ext->x_scn.x_nreloc); - in->x_scn.x_nlinno = bfd_h_get_16(abfd, + in->x_scn.x_nlinno = bfd_h_get_16(abfd, (bfd_byte *) ext->x_scn.x_nlinno); /* PE defines some extra fields; we zero them out for safety. */ @@ -301,10 +371,12 @@ _bfd_xcoff_swap_aux_in (abfd, ext1, type end: ; /* the semicolon is because MSVC doesn't like labels at - end of block. */ + end of block. */ } + + unsigned int _bfd_xcoff_swap_aux_out (abfd, inp, type, class, indx, numaux, extp) bfd *abfd; @@ -371,9 +443,9 @@ _bfd_xcoff_swap_aux_out (abfd, inp, type if (class == C_BLOCK || class == C_FCN || ISFCN (type) || ISTAG (class)) { - bfd_h_put_32(abfd, in->x_sym.x_fcnary.x_fcn.x_lnnoptr, + bfd_h_put_32(abfd, in->x_sym.x_fcnary.x_fcn.x_lnnoptr, (bfd_byte *) ext->x_sym.x_fcnary.x_fcn.x_lnnoptr); - PUTWORD(abfd, in->x_sym.x_fcnary.x_fcn.x_endndx.l, + PUTWORD(abfd, in->x_sym.x_fcnary.x_fcn.x_endndx.l, (bfd_byte *) ext->x_sym.x_fcnary.x_fcn.x_endndx); } else @@ -393,15 +465,17 @@ _bfd_xcoff_swap_aux_out (abfd, inp, type (bfd_byte *) ext->x_sym.x_misc.x_fsize); else { - bfd_h_put_16(abfd, in->x_sym.x_misc.x_lnsz.x_lnno, + bfd_h_put_16(abfd, in->x_sym.x_misc.x_lnsz.x_lnno, (bfd_byte *)ext->x_sym.x_misc.x_lnsz.x_lnno); - bfd_h_put_16(abfd, in->x_sym.x_misc.x_lnsz.x_size, + bfd_h_put_16(abfd, in->x_sym.x_misc.x_lnsz.x_size, (bfd_byte *)ext->x_sym.x_misc.x_lnsz.x_size); } end: return bfd_coff_auxesz (abfd); } + + /* The XCOFF reloc table. Actually, XCOFF relocations specify the bitsize and whether they are signed or not, along with a @@ -409,9 +483,6 @@ end: different algorithms for putting in the reloc. Many of these relocs need special_function entries, which I have not written. */ -/* In case we're on a 32-bit machine, construct a 64-bit "-1" value - from smaller values. Start with zero, widen, *then* decrement. */ -#define MINUS_ONE (((bfd_vma)0) - 1) reloc_howto_type xcoff_howto_table[] = { @@ -755,6 +826,7 @@ reloc_howto_type xcoff_howto_table[] = 0xffff, /* src_mask */ 0xffff, /* dst_mask */ false), /* pcrel_offset */ + HOWTO (0, /* type */ 0, /* rightshift */ 4, /* size (0 = byte, 1 = short, 2 = long) */ @@ -771,55 +843,6 @@ reloc_howto_type xcoff_howto_table[] = }; -/* These are the first two like the above but for 16-bit relocs. */ -static reloc_howto_type xcoff_howto_table_16[] = -{ - /* Standard 16 bit relocation. */ - HOWTO (0, /* type */ - 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ - 16, /* bitsize */ - false, /* pc_relative */ - 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ - 0, /* special_function */ - "R_POS_16", /* name */ - true, /* partial_inplace */ - 0xffffffff, /* src_mask */ - 0xffffffff, /* dst_mask */ - false), /* pcrel_offset */ - - /* 16 bit relocation, but store negative value. */ - HOWTO (1, /* type */ - 0, /* rightshift */ - -2, /* size (0 = byte, 1 = short, 2 = long) */ - 16, /* bitsize */ - false, /* pc_relative */ - 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ - 0, /* special_function */ - "R_NEG_16", /* name */ - true, /* partial_inplace */ - 0xffffffff, /* src_mask */ - 0xffffffff, /* dst_mask */ - false), /* pcrel_offset */ - - /* 16 bit PC relative relocation. */ - HOWTO (2, /* type */ - 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ - 32, /* bitsize */ - true, /* pc_relative */ - 0, /* bitpos */ - complain_overflow_signed, /* complain_on_overflow */ - 0, /* special_function */ - "R_REL_16", /* name */ - true, /* partial_inplace */ - 0xffffffff, /* src_mask */ - 0xffffffff, /* dst_mask */ - false) /* pcrel_offset */ - }; - void _bfd_xcoff_rtype2howto (relent, internal) arelent *relent; @@ -827,10 +850,12 @@ _bfd_xcoff_rtype2howto (relent, internal { relent->howto = xcoff_howto_table + internal->r_type; - if (relent->howto->bitsize != ((unsigned int) internal->r_size & 0x1f) + 1 - && (internal->r_type - < sizeof (xcoff_howto_table_16)/sizeof (xcoff_howto_table_16[0]))) - relent->howto = xcoff_howto_table_16 + internal->r_type; + /* Check for relocs we don't know of. */ + if (internal->r_type + >= sizeof (xcoff_howto_table) / sizeof (xcoff_howto_table[0])) + abort (); + if (internal->r_type != relent->howto->type) + abort (); /* The r_size field of an XCOFF reloc encodes the bitsize of the relocation, as well as indicating whether it is signed or not. @@ -838,7 +863,7 @@ _bfd_xcoff_rtype2howto (relent, internal type matches this information. The bitsize is not significant for R_REF relocs. */ if (relent->howto->dst_mask != 0 - && (relent->howto->bitsize + && (relent->howto->bitsize != ((unsigned int) internal->r_size & 0x3f) + 1)) abort (); #if 0 @@ -871,6 +896,7 @@ _bfd_xcoff_reloc_type_lookup (abfd, code return NULL; } } + /* XCOFF archive support. The original version of this code was by Damon A. Permezel. It was enhanced to permit cross support, and @@ -917,168 +943,7 @@ _bfd_xcoff_reloc_type_lookup (abfd, code /* XCOFF archives use this as a magic string. Note that both strings have the same length. */ -#define XCOFFARMAG "\012" -#define XCOFFARMAGBIG "\012" -#define SXCOFFARMAG 8 - -/* This terminates an XCOFF archive member name. */ - -#define XCOFFARFMAG "`\012" -#define SXCOFFARFMAG 2 - -/* XCOFF archives start with this (printable) structure. */ - -struct xcoff_ar_file_hdr -{ - /* Magic string. */ - char magic[SXCOFFARMAG]; - - /* Offset of the member table (decimal ASCII string). */ - char memoff[12]; - - /* Offset of the global symbol table (decimal ASCII string). */ - char symoff[12]; - - /* Offset of the first member in the archive (decimal ASCII string). */ - char firstmemoff[12]; - - /* Offset of the last member in the archive (decimal ASCII string). */ - char lastmemoff[12]; - - /* Offset of the first member on the free list (decimal ASCII - string). */ - char freeoff[12]; -}; - -#define SIZEOF_AR_FILE_HDR (5 * 12 + SXCOFFARMAG) - -/* This is the equivalent data structure for the big archive format. */ - -struct xcoff_ar_file_hdr_big -{ - /* Magic string. */ - char magic[SXCOFFARMAG]; - - /* Offset of the member table (decimal ASCII string). */ - char memoff[20]; - - /* Offset of the global symbol table for 32-bit objects (decimal ASCII - string). */ - char symoff[20]; - - /* Offset of the global symbol table for 64-bit objects (decimal ASCII - string). */ - char symoff64[20]; - - /* Offset of the first member in the archive (decimal ASCII string). */ - char firstmemoff[20]; - - /* Offset of the last member in the archive (decimal ASCII string). */ - char lastmemoff[20]; - - /* Offset of the first member on the free list (decimal ASCII - string). */ - char freeoff[20]; -}; - -#define SIZEOF_AR_FILE_HDR_BIG (6 * 20 + SXCOFFARMAG) - -/* Each XCOFF archive member starts with this (printable) structure. */ - -struct xcoff_ar_hdr -{ - /* File size not including the header (decimal ASCII string). */ - char size[12]; - - /* File offset of next archive member (decimal ASCII string). */ - char nextoff[12]; - - /* File offset of previous archive member (decimal ASCII string). */ - char prevoff[12]; - - /* File mtime (decimal ASCII string). */ - char date[12]; - - /* File UID (decimal ASCII string). */ - char uid[12]; - - /* File GID (decimal ASCII string). */ - char gid[12]; - - /* File mode (octal ASCII string). */ - char mode[12]; - - /* Length of file name (decimal ASCII string). */ - char namlen[4]; - - /* This structure is followed by the file name. The length of the - name is given in the namlen field. If the length of the name is - odd, the name is followed by a null byte. The name and optional - null byte are followed by XCOFFARFMAG, which is not included in - namlen. The contents of the archive member follow; the number of - bytes is given in the size field. */ -}; - -#define SIZEOF_AR_HDR (7 * 12 + 4) - -/* The equivalent for the big archive format. */ - -struct xcoff_ar_hdr_big -{ - /* File size not including the header (decimal ASCII string). */ - char size[20]; - - /* File offset of next archive member (decimal ASCII string). */ - char nextoff[20]; - - /* File offset of previous archive member (decimal ASCII string). */ - char prevoff[20]; - - /* File mtime (decimal ASCII string). */ - char date[12]; - - /* File UID (decimal ASCII string). */ - char uid[12]; - - /* File GID (decimal ASCII string). */ - char gid[12]; - - /* File mode (octal ASCII string). */ - char mode[12]; - /* Length of file name (decimal ASCII string). */ - char namlen[4]; - - /* This structure is followed by the file name. The length of the - name is given in the namlen field. If the length of the name is - odd, the name is followed by a null byte. The name and optional - null byte are followed by XCOFFARFMAG, which is not included in - namlen. The contents of the archive member follow; the number of - bytes is given in the size field. */ -}; - -#define SIZEOF_AR_HDR_BIG (3 * 20 + 4 * 12 + 4) - -/* We often have to distinguish between the old and big file format. - Make it a bit cleaner. We can use `xcoff_ardata' here because the - `hdr' member has the same size and position in both formats. */ -#define xcoff_big_format_p(abfd) \ - (xcoff_ardata (abfd)->magic[1] == 'b') - -/* We store a copy of the xcoff_ar_file_hdr in the tdata field of the - artdata structure. Similar for the big archive. */ -#define xcoff_ardata(abfd) \ - ((struct xcoff_ar_file_hdr *) bfd_ardata (abfd)->tdata) -#define xcoff_ardata_big(abfd) \ - ((struct xcoff_ar_file_hdr_big *) bfd_ardata (abfd)->tdata) - -/* We store a copy of the xcoff_ar_hdr in the arelt_data field of an - archive element. Similar for the big archive. */ -#define arch_eltdata(bfd) ((struct areltdata *) ((bfd)->arelt_data)) -#define arch_xhdr(bfd) \ - ((struct xcoff_ar_hdr *) arch_eltdata (bfd)->arch_header) -#define arch_xhdr_big(bfd) \ - ((struct xcoff_ar_hdr_big *) arch_eltdata (bfd)->arch_header) /* Read in the armap of an XCOFF archive. */ @@ -1135,18 +1000,18 @@ _bfd_xcoff_slurp_armap (abfd) /* The symbol table starts with a four byte count. */ c = bfd_h_get_32 (abfd, contents); - + if (c * 4 >= sz) { bfd_set_error (bfd_error_bad_value); return false; } - + bfd_ardata (abfd)->symdefs = ((carsym *) bfd_alloc (abfd, c * sizeof (carsym))); if (bfd_ardata (abfd)->symdefs == NULL) return false; - + /* After the count comes a list of four byte file offsets. */ for (i = 0, arsym = bfd_ardata (abfd)->symdefs, p = contents + 4; i < c; @@ -1198,12 +1063,12 @@ _bfd_xcoff_slurp_armap (abfd) bfd_set_error (bfd_error_bad_value); return false; } - + bfd_ardata (abfd)->symdefs = ((carsym *) bfd_alloc (abfd, c * sizeof (carsym))); if (bfd_ardata (abfd)->symdefs == NULL) return false; - + /* After the count comes a list of eight byte file offsets. */ for (i = 0, arsym = bfd_ardata (abfd)->symdefs, p = contents + 8; i < c; @@ -1540,6 +1405,7 @@ normalize_filename (abfd) /* Write out an XCOFF armap. */ +/*ARGSUSED*/ static boolean xcoff_write_armap_old (abfd, elength, map, orl_count, stridx) bfd *abfd; @@ -1641,9 +1507,9 @@ xcoff_write_one_armap_big (abfd, map, or struct xcoff_ar_hdr_big hdr; char *p; unsigned char buf[4]; - const bfd_arch_info_type *arch_info = NULL; bfd *sub; file_ptr fileoff; + const bfd_arch_info_type *arch_info; bfd *object_bfd; unsigned int i; @@ -1652,11 +1518,14 @@ xcoff_write_one_armap_big (abfd, map, or machines) since the fields's width is 20 and there numbers with more than 32 bits can be represented. */ sprintf (hdr.size, "%ld", (long) (4 + orl_ccount * 4 + stridx)); - if (bits64) + if (bits64) { sprintf (hdr.nextoff, "%d", 0); - else - sprintf (hdr.nextoff, "%ld", (strtol (prevoff, (char **) NULL, 10) - + 4 + orl_ccount * 4 + stridx)); + } else { + /* do explict cast to long to remove compiler warning */ + sprintf (hdr.nextoff, "%ld", (strtol (prevoff, (char **) NULL, 10) + + (long) (4 + orl_ccount * 4 + stridx))); + } + memcpy (hdr.prevoff, prevoff, sizeof (hdr.prevoff)); sprintf (hdr.date, "%d", 0); sprintf (hdr.uid, "%d", 0); @@ -1717,8 +1586,7 @@ xcoff_write_one_armap_big (abfd, map, or if (ob != object_bfd) arch_info = bfd_get_arch_info (ob); - - if (arch_info && (arch_info->bits_per_address == 64) != bits64) + if ((arch_info->bits_per_address == 64) != bits64) continue; name = *map[i].name; @@ -1739,6 +1607,7 @@ xcoff_write_one_armap_big (abfd, map, or return true; } +/*ARGSUSED*/ static boolean xcoff_write_armap_big (abfd, elength, map, orl_count, stridx) bfd *abfd; @@ -1750,7 +1619,7 @@ xcoff_write_armap_big (abfd, elength, ma unsigned int i; unsigned int orl_count_32, orl_count_64; unsigned int stridx_32, stridx_64; - const bfd_arch_info_type *arch_info = NULL; + const bfd_arch_info_type *arch_info; bfd *object_bfd; /* First, we look through the symbols and work out which are @@ -1767,7 +1636,7 @@ xcoff_write_armap_big (abfd, elength, ma if (ob != object_bfd) arch_info = bfd_get_arch_info (ob); len = strlen (*map[i].name) + 1; - if (arch_info && arch_info->bits_per_address == 64) + if (arch_info->bits_per_address == 64) { orl_count_64++; stridx_64 += len; @@ -1779,13 +1648,14 @@ xcoff_write_armap_big (abfd, elength, ma } object_bfd = ob; } - /* A quick sanity check... */ + /* A quick sanity check... */ BFD_ASSERT (orl_count_64 + orl_count_32 == orl_count); - BFD_ASSERT (stridx_64 + stridx_32 == stridx); + /* explicit cast to int for compiler */ + BFD_ASSERT ((int)(stridx_64 + stridx_32) == stridx); /* Now write out each map. */ if (! xcoff_write_one_armap_big (abfd, map, orl_count, orl_count_32, - stridx_32, false, + stridx_32, false, xcoff_ardata_big (abfd)->memoff, xcoff_ardata_big (abfd)->symoff)) return false; @@ -1794,10 +1664,11 @@ xcoff_write_armap_big (abfd, elength, ma xcoff_ardata_big (abfd)->symoff, xcoff_ardata_big (abfd)->symoff64)) return false; - + return true; } +/*ARGSUSED*/ boolean _bfd_xcoff_write_armap (abfd, elength, map, orl_count, stridx) bfd *abfd; @@ -2341,6 +2212,7 @@ _bfd_xcoff_write_archive_contents (abfd) /* We can't use the usual coff_sizeof_headers routine, because AIX always uses an a.out header. */ +/*ARGSUSED*/ int _bfd_xcoff_sizeof_headers (abfd, reloc) bfd *abfd; @@ -2356,3 +2228,1169 @@ _bfd_xcoff_sizeof_headers (abfd, reloc) size += abfd->section_count * SCNHSZ; return size; } + +/* Routines to swap information in the XCOFF .loader section. If we + ever need to write an XCOFF loader, this stuff will need to be + moved to another file shared by the linker (which XCOFF calls the + ``binder'') and the loader. */ + +/* Swap in the ldhdr structure. */ + +static void +xcoff_swap_ldhdr_in (abfd, src, dst) + bfd *abfd; + const struct external_ldhdr *src; + struct internal_ldhdr *dst; +{ + dst->l_version = bfd_get_32 (abfd, src->l_version); + dst->l_nsyms = bfd_get_32 (abfd, src->l_nsyms); + dst->l_nreloc = bfd_get_32 (abfd, src->l_nreloc); + dst->l_istlen = bfd_get_32 (abfd, src->l_istlen); + dst->l_nimpid = bfd_get_32 (abfd, src->l_nimpid); + dst->l_impoff = bfd_get_32 (abfd, src->l_impoff); + dst->l_stlen = bfd_get_32 (abfd, src->l_stlen); + dst->l_stoff = bfd_get_32 (abfd, src->l_stoff); +} + +/* Swap out the ldhdr structure. */ + +static void +xcoff_swap_ldhdr_out (abfd, src, dst) + bfd *abfd; + const struct internal_ldhdr *src; + struct external_ldhdr *dst; +{ + bfd_put_32 (abfd, src->l_version, dst->l_version); + bfd_put_32 (abfd, src->l_nsyms, dst->l_nsyms); + bfd_put_32 (abfd, src->l_nreloc, dst->l_nreloc); + bfd_put_32 (abfd, src->l_istlen, dst->l_istlen); + bfd_put_32 (abfd, src->l_nimpid, dst->l_nimpid); + bfd_put_32 (abfd, src->l_impoff, dst->l_impoff); + bfd_put_32 (abfd, src->l_stlen, dst->l_stlen); + bfd_put_32 (abfd, src->l_stoff, dst->l_stoff); +} + +/* Swap in the ldsym structure. */ + +static void +xcoff_swap_ldsym_in (abfd, src, dst) + bfd *abfd; + const struct external_ldsym *src; + struct internal_ldsym *dst; +{ + if (bfd_get_32 (abfd, src->_l._l_l._l_zeroes) != 0) { + memcpy (dst->_l._l_name, src->_l._l_name, SYMNMLEN); + } else { + dst->_l._l_l._l_zeroes = 0; + dst->_l._l_l._l_offset = bfd_get_32 (abfd, src->_l._l_l._l_offset); + } + dst->l_value = bfd_get_32 (abfd, src->l_value); + dst->l_scnum = bfd_get_16 (abfd, src->l_scnum); + dst->l_smtype = bfd_get_8 (abfd, src->l_smtype); + dst->l_smclas = bfd_get_8 (abfd, src->l_smclas); + dst->l_ifile = bfd_get_32 (abfd, src->l_ifile); + dst->l_parm = bfd_get_32 (abfd, src->l_parm); +} + +/* Swap out the ldsym structure. */ + +static void +xcoff_swap_ldsym_out (abfd, src, dst) + bfd *abfd; + const struct internal_ldsym *src; + struct external_ldsym *dst; +{ + + if (src->_l._l_l._l_zeroes != 0) + memcpy (dst->_l._l_name, src->_l._l_name, SYMNMLEN); + else + { + bfd_put_32 (abfd, 0, dst->_l._l_l._l_zeroes); + bfd_put_32 (abfd, src->_l._l_l._l_offset, dst->_l._l_l._l_offset); + } + bfd_put_32 (abfd, src->l_value, dst->l_value); + bfd_put_16 (abfd, src->l_scnum, dst->l_scnum); + bfd_put_8 (abfd, src->l_smtype, dst->l_smtype); + bfd_put_8 (abfd, src->l_smclas, dst->l_smclas); + bfd_put_32 (abfd, src->l_ifile, dst->l_ifile); + bfd_put_32 (abfd, src->l_parm, dst->l_parm); +} + +/* Swap in the ldrel structure. */ + +static void +xcoff_swap_ldrel_in (abfd, src, dst) + bfd *abfd; + const struct external_ldrel *src; + struct internal_ldrel *dst; +{ + dst->l_vaddr = bfd_get_32 (abfd, src->l_vaddr); + dst->l_symndx = bfd_get_32 (abfd, src->l_symndx); + dst->l_rtype = bfd_get_16 (abfd, src->l_rtype); + dst->l_rsecnm = bfd_get_16 (abfd, src->l_rsecnm); +} + +/* Swap out the ldrel structure. */ + +static void +xcoff_swap_ldrel_out (abfd, src, dst) + bfd *abfd; + const struct internal_ldrel *src; + struct external_ldrel *dst; +{ + bfd_put_32 (abfd, src->l_vaddr, dst->l_vaddr); + bfd_put_32 (abfd, src->l_symndx, dst->l_symndx); + bfd_put_16 (abfd, src->l_rtype, dst->l_rtype); + bfd_put_16 (abfd, src->l_rsecnm, dst->l_rsecnm); +} + + + +/* This is the relocation function for the RS/6000/POWER/PowerPC. + This is currently the only processor which uses XCOFF; I hope that + will never change. */ + +boolean +xcoff_ppc_relocate_section (output_bfd, info, input_bfd, + input_section, contents, relocs, syms, + sections) + bfd *output_bfd; + struct bfd_link_info *info; + bfd *input_bfd; + asection *input_section; + bfd_byte *contents; + struct internal_reloc *relocs; + struct internal_syment *syms; + asection **sections; +{ + struct internal_reloc *rel; + struct internal_reloc *relend; + + rel = relocs; + relend = rel + input_section->reloc_count; + + for (; rel < relend; rel++) + { + long symndx; + struct xcoff_link_hash_entry *h; + struct internal_syment *sym; + bfd_vma addend; + bfd_vma val; + struct reloc_howto_struct howto; + bfd_reloc_status_type rstat; + + /* Relocation type R_REF is a special relocation type which is + merely used to prevent garbage collection from occurring for + the csect including the symbol which it references. */ + if (rel->r_type == R_REF) + continue; + + symndx = rel->r_symndx; + + if (symndx == -1) + { + h = NULL; + sym = NULL; + addend = 0; + } + else + { + h = obj_xcoff_sym_hashes (input_bfd)[symndx]; + sym = syms + symndx; + addend = - sym->n_value; + + } + + /* We build the howto information on the fly. */ + + howto.type = rel->r_type; + howto.rightshift = 0; + howto.size = 2; + howto.bitsize = (rel->r_size & 0x1f) + 1; + howto.pc_relative = false; + howto.bitpos = 0; + if ((rel->r_size & 0x80) != 0) + howto.complain_on_overflow = complain_overflow_signed; + else + howto.complain_on_overflow = complain_overflow_bitfield; + howto.special_function = NULL; + howto.name = "internal"; + howto.partial_inplace = true; + if (howto.bitsize == 32) + howto.src_mask = howto.dst_mask = 0xffffffff; + else + { + howto.src_mask = howto.dst_mask = (1 << howto.bitsize) - 1; + if (howto.bitsize == 16) + howto.size = 1; + } + howto.pcrel_offset = false; + + val = 0; + + if (h == NULL) + { + asection *sec; + + if (symndx == -1) + { + sec = bfd_abs_section_ptr; + val = 0; + } + else + { + sec = sections[symndx]; + /* Hack to make sure we use the right TOC anchor value + if this reloc is against the TOC anchor. */ + + if (sec->name[3] == '0' + && strcmp (sec->name, ".tc0") == 0) { + + val = xcoff_data (output_bfd)->toc; + } else { + + val = (sec->output_section->vma + + sec->output_offset + + sym->n_value + - sec->vma); + } + + } + } + else + { + if (h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak) + { + asection *sec; + + sec = h->root.u.def.section; + val = (h->root.u.def.value + + sec->output_section->vma + + sec->output_offset); + } + else if (h->root.type == bfd_link_hash_common) + { + asection *sec; + + sec = h->root.u.c.p->section; + val = (sec->output_section->vma + + sec->output_offset); + } + else if ((h->flags & XCOFF_DEF_DYNAMIC) != 0 + || (h->flags & XCOFF_IMPORT) != 0) + { + /* Every symbol in a shared object is defined somewhere. */ + val = 0; + } + else if (! info->relocateable) + { + if (! ((*info->callbacks->undefined_symbol) + (info, h->root.root.string, input_bfd, input_section, + rel->r_vaddr - input_section->vma, true))) + return false; + + /* Don't try to process the reloc. It can't help, and + it may generate another error. */ + continue; + } + } + + /* I took the relocation type definitions from two documents: + the PowerPC AIX Version 4 Application Binary Interface, First + Edition (April 1992), and the PowerOpen ABI, Big-Endian + 32-Bit Hardware Implementation (June 30, 1994). Differences + between the documents are noted below. */ + + switch (rel->r_type) + { + case R_RTB: + case R_RRTBI: + case R_RRTBA: + /* These relocs are defined by the PowerPC ABI to be + relative branches which use half of the difference + between the symbol and the program counter. I can't + quite figure out when this is useful. These relocs are + not defined by the PowerOpen ABI. */ + default: + (*_bfd_error_handler) + (_("%s: unsupported relocation type 0x%02x"), + bfd_get_filename (input_bfd), (unsigned int) rel->r_type); + bfd_set_error (bfd_error_bad_value); + return false; + case R_POS: + /* Simple positive relocation. */ + break; + case R_NEG: + /* Simple negative relocation. */ + val = - val; + break; + case R_REL: + /* Simple PC relative relocation. */ + howto.pc_relative = true; + break; + case R_TOC: + /* TOC relative relocation. The value in the instruction in + the input file is the offset from the input file TOC to + the desired location. We want the offset from the final + TOC to the desired location. We have: + isym = iTOC + in + iinsn = in + o + osym = oTOC + on + oinsn = on + o + so we must change insn by on - in. + */ + case R_GL: + /* Global linkage relocation. The value of this relocation + is the address of the entry in the TOC section. */ + case R_TCL: + /* Local object TOC address. I can't figure out the + difference between this and case R_GL. */ + case R_TRL: + /* TOC relative relocation. A TOC relative load instruction + which may be changed to a load address instruction. + FIXME: We don't currently implement this optimization. */ + case R_TRLA: + /* TOC relative relocation. This is a TOC relative load + address instruction which may be changed to a load + instruction. FIXME: I don't know if this is the correct + implementation. */ + if (h != NULL && h->smclas != XMC_TD) + { + if (h->toc_section == NULL) + { + (*_bfd_error_handler) + (_("%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry"), + bfd_get_filename (input_bfd), rel->r_vaddr, + h->root.root.string); + bfd_set_error (bfd_error_bad_value); + return false; + } + + BFD_ASSERT ((h->flags & XCOFF_SET_TOC) == 0); + val = (h->toc_section->output_section->vma + + h->toc_section->output_offset); + } + + val = ((val - xcoff_data (output_bfd)->toc) + - (sym->n_value - xcoff_data (input_bfd)->toc)); + addend = 0; + break; + case R_BA: + /* Absolute branch. We don't want to mess with the lower + two bits of the instruction. */ + case R_CAI: + /* The PowerPC ABI defines this as an absolute call which + may be modified to become a relative call. The PowerOpen + ABI does not define this relocation type. */ + case R_RBA: + /* Absolute branch which may be modified to become a + relative branch. */ + case R_RBAC: + /* The PowerPC ABI defines this as an absolute branch to a + fixed address which may be modified to an absolute branch + to a symbol. The PowerOpen ABI does not define this + relocation type. */ + case R_RBRC: + /* The PowerPC ABI defines this as an absolute branch to a + fixed address which may be modified to a relative branch. + The PowerOpen ABI does not define this relocation type. */ + howto.src_mask &= ~3; + howto.dst_mask = howto.src_mask; + break; + case R_BR: + /* Relative branch. We don't want to mess with the lower + two bits of the instruction. */ + case R_CREL: + /* The PowerPC ABI defines this as a relative call which may + be modified to become an absolute call. The PowerOpen + ABI does not define this relocation type. */ + case R_RBR: + /* A relative branch which may be modified to become an + absolute branch. FIXME: We don't implement this, + although we should for symbols of storage mapping class + XMC_XO. */ + howto.pc_relative = true; + howto.src_mask &= ~3; + howto.dst_mask = howto.src_mask; + break; + case R_RL: + /* The PowerPC AIX ABI describes this as a load which may be + changed to a load address. The PowerOpen ABI says this + is the same as case R_POS. */ + break; + case R_RLA: + /* The PowerPC AIX ABI describes this as a load address + which may be changed to a load. The PowerOpen ABI says + this is the same as R_POS. */ + break; + } + + /* If we see an R_BR or R_RBR reloc which is jumping to global + linkage code, and it is followed by an appropriate cror nop + instruction, we replace the cror with lwz r2,20(r1). This + restores the TOC after the glink code. Contrariwise, if the + call is followed by a lwz r2,20(r1), but the call is not + going to global linkage code, we can replace the load with a + cror. */ + if ((rel->r_type == R_BR || rel->r_type == R_RBR) + && h != NULL + && h->root.type == bfd_link_hash_defined + && (rel->r_vaddr - input_section->vma + 8 + <= input_section->_cooked_size)) + { + bfd_byte *pnext; + unsigned long next; + + pnext = contents + (rel->r_vaddr - input_section->vma) + 4; + next = bfd_get_32 (input_bfd, pnext); + + /* The _ptrgl function is magic. It is used by the AIX + compiler to call a function through a pointer. */ + if (h->smclas == XMC_GL + || strcmp (h->root.root.string, "._ptrgl") == 0) + { + if (next == 0x4def7b82 /* cror 15,15,15 */ + || next == 0x4ffffb82 /* cror 31,31,31 */ + || next == 0x60000000) /* ori r0,r0,0 */ + bfd_put_32 (input_bfd, 0x80410014, pnext); /* lwz r1,20(r1) */ + } + else + { + if (next == 0x80410014) /* lwz r1,20(r1) */ + bfd_put_32 (input_bfd, 0x60000000, pnext); /* ori r0,r0,0 */ + } + } + + /* A PC relative reloc includes the section address. */ + if (howto.pc_relative) + addend += input_section->vma; + + rstat = _bfd_final_link_relocate (&howto, input_bfd, input_section, + contents, + rel->r_vaddr - input_section->vma, + val, addend); + + switch (rstat) + { + default: + abort (); + case bfd_reloc_ok: + break; + case bfd_reloc_overflow: + { + const char *name; + char buf[SYMNMLEN + 1]; + char howto_name[10]; + + if (symndx == -1) + name = "*ABS*"; + else if (h != NULL) + name = h->root.root.string; + else + { + + name = _bfd_coff_internal_syment_name (input_bfd, sym, buf); + + if (name == NULL) + return false; + } + sprintf (howto_name, "0x%02x", rel->r_type); + + if (! ((*info->callbacks->reloc_overflow) + (info, name, howto_name, (bfd_vma) 0, input_bfd, + input_section, rel->r_vaddr - input_section->vma))) + return false; + } + } + } + + return true; +} + +static boolean +_bfd_xcoff_put_ldsymbol_name (abfd, ldinfo, ldsym, name) + bfd *abfd ATTRIBUTE_UNUSED; + struct xcoff_loader_info *ldinfo; + struct internal_ldsym *ldsym; + const char *name; +{ + size_t len; + len = strlen (name); + + if (len <= SYMNMLEN) + strncpy (ldsym->_l._l_name, name, SYMNMLEN); + else + { + if (ldinfo->string_size + len + 3 > ldinfo->string_alc) + { + size_t newalc; + bfd_byte *newstrings; + + newalc = ldinfo->string_alc * 2; + if (newalc == 0) + newalc = 32; + while (ldinfo->string_size + len + 3 > newalc) + newalc *= 2; + + newstrings = ((bfd_byte *) + bfd_realloc ((PTR) ldinfo->strings, newalc)); + if (newstrings == NULL) + { + ldinfo->failed = true; + return false; + } + ldinfo->string_alc = newalc; + ldinfo->strings = newstrings; + } + + bfd_put_16 (ldinfo->output_bfd, len + 1, + ldinfo->strings + ldinfo->string_size); + strcpy (ldinfo->strings + ldinfo->string_size + 2, name); + ldsym->_l._l_l._l_zeroes = 0; + ldsym->_l._l_l._l_offset = ldinfo->string_size + 2; + ldinfo->string_size += len + 3; + } + + return true; +} + +static boolean +_bfd_xcoff_put_symbol_name (bfd *abfd, struct bfd_strtab_hash *strtab, + struct internal_syment *sym, + const char *name) { + + if (strlen (name) <= SYMNMLEN) { + strncpy (sym->_n._n_name, name, SYMNMLEN); + } else { + boolean hash; + bfd_size_type indx; + + hash = true; + if ((abfd->flags & BFD_TRADITIONAL_FORMAT) != 0) + hash = false; + indx = _bfd_stringtab_add (strtab, name, hash, false); + if (indx == (bfd_size_type) -1) + return false; + sym->_n._n_n._n_zeroes = 0; + sym->_n._n_n._n_offset = STRING_SIZE_SIZE + indx; + } + return true; +} + +static asection * +xcoff_create_csect_from_smclas (abfd, aux, symbol_name) + bfd *abfd; + union internal_auxent *aux; + char *symbol_name; +{ + + asection *return_value = NULL; + + /* + * .sv64 = x_smclas == 17 + * This is an invalid csect for 32 bit apps. + */ + static const char *names[19] = { + ".pr", ".ro", ".db", ".tc", ".ua", ".rw", ".gl", ".xo", + ".sv", ".bs", ".ds", ".uc", ".ti", ".tb", NULL, ".tc0", + ".td", NULL, ".sv3264" + }; + + if ((19 >= aux->x_csect.x_smclas) && + (NULL != names[aux->x_csect.x_smclas])) { + + return_value = bfd_make_section_anyway + (abfd, names[aux->x_csect.x_smclas]); + + + } else { + (*_bfd_error_handler) + (_("%s: symbol `%s' has unrecognized smclas %d"), + bfd_get_filename (abfd), symbol_name, aux->x_csect.x_smclas); + bfd_set_error (bfd_error_bad_value); + } + + return return_value; +} + +boolean +xcoff_is_lineno_count_overflow (abfd, value) + bfd *abfd ATTRIBUTE_UNUSED; + bfd_vma value; +{ + if (0xffff <= value) { + return true; + } + return false; +} + +boolean +xcoff_is_reloc_count_overflow (abfd, value) + bfd *abfd ATTRIBUTE_UNUSED; + bfd_vma value; +{ + if (0xffff <= value) { + return true; + } + return false; +} + +bfd_vma +xcoff_loader_symbol_offset (abfd, ldhdr) + bfd *abfd; + struct internal_ldhdr *ldhdr ATTRIBUTE_UNUSED; +{ + return bfd_xcoff_ldhdrsz(abfd); +} + +bfd_vma +xcoff_loader_reloc_offset (abfd, ldhdr) + bfd *abfd; + struct internal_ldhdr *ldhdr; +{ + return bfd_xcoff_ldhdrsz(abfd) + + (ldhdr->l_nsyms * bfd_xcoff_ldsymsz(abfd)); +} + + +static reloc_howto_type xcoff_dynamic_reloc = +HOWTO (0, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_POS", /* name */ + true, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + false); /* pcrel_offset */ + +/* + * glink + * + * The first word of global linkage code must be modified by filling in + * the correct TOC offset. + */ +static unsigned long xcoff_glink_code[9] = +{ + 0x81820000, /* lwz r12,0(r2) */ + 0x90410014, /* stw r2,20(r1) */ + 0x800c0000, /* lwz r0,0(r12) */ + 0x804c0004, /* lwz r2,4(r12) */ + 0x7c0903a6, /* mtctr r0 */ + 0x4e800420, /* bctr */ + 0x00000000, /* start of traceback table */ + 0x000c8000, /* traceback table */ + 0x00000000, /* traceback table */ +}; + + +static const struct xcoff_backend_data_rec bfd_xcoff_backend_data = +{ + { /* COFF backend, defined in libcoff.h */ + _bfd_xcoff_swap_aux_in, /* _bfd_coff_swap_aux_in */ + _bfd_xcoff_swap_sym_in, /* _bfd_coff_swap_sym_in */ + coff_swap_lineno_in, /* _bfd_coff_swap_lineno_in */ + _bfd_xcoff_swap_aux_out, /* _bfd_swap_aux_out */ + _bfd_xcoff_swap_sym_out, /* _bfd_swap_sym_out */ + coff_swap_lineno_out, /* _bfd_swap_lineno_out */ + coff_swap_reloc_out, /* _bfd_swap_reloc_out */ + coff_swap_filehdr_out, /* _bfd_swap_filehdr_out */ + coff_swap_aouthdr_out, /* _bfd_swap_aouthdr_out */ + coff_swap_scnhdr_out, /* _bfd_swap_scnhdr_out */ + FILHSZ, /* _bfd_filhsz */ + AOUTSZ, /* _bfd_aoutsz */ + SCNHSZ, /* _bfd_scnhsz */ + SYMESZ, /* _bfd_symesz */ + AUXESZ, /* _bfd_auxesz */ + RELSZ, /* _bfd_relsz */ + LINESZ, /* _bfd_linesz */ + FILNMLEN, /* _bfd_filnmlen */ + true, /* _bfd_coff_long_filenames */ + false, /* _bfd_coff_long_section_names */ + (3), /* _bfd_coff_default_section_alignment_power */ + false, /* _bfd_coff_force_symnames_in_strings */ + 2, /* _bfd_coff_debug_string_prefix_length */ + coff_swap_filehdr_in, /* _bfd_coff_swap_filehdr_in */ + coff_swap_aouthdr_in, /* _bfd_swap_aouthdr_in */ + coff_swap_scnhdr_in, /* _bfd_swap_scnhdr_in */ + coff_swap_reloc_in, /* _bfd_reloc_in */ + coff_bad_format_hook, /* _bfd_bad_format_hook */ + coff_set_arch_mach_hook, /* _bfd_set_arch_mach_hook */ + coff_mkobject_hook, /* _bfd_mkobject_hook */ + styp_to_sec_flags, /* _bfd_syp_to_sec_flags */ + coff_set_alignment_hook, /* _bfd_set_alignment_hook */ + coff_slurp_symbol_table, /* _bfd_coff_slurp_symbol_table */ + symname_in_debug_hook, /* _coff_symname_in_debug_hook */ + coff_pointerize_aux_hook, /* _bfd_coff_pointerize_aux_hook */ + coff_print_aux, /* bfd_coff_print_aux */ + dummy_reloc16_extra_cases, /* _bfd_coff_reloc16_extra_cases */ + dummy_reloc16_estimate, /* _bfd_coff_reloc16_estimate */ + NULL, /* bfd_coff_sym_is_global */ + /* _bfd_coff_compute_section_file_positions */ + coff_compute_section_file_positions, + NULL , /* _bfd_coff_start_final_link */ + xcoff_ppc_relocate_section, /* _bfd_coff_relocate_section */ + coff_rtype_to_howto, /* _bfd_coff_rtype_to_howto */ + NULL , /* _bfd_coff_addust_symndx */ + _bfd_generic_link_add_one_symbol, /* _bfd_coff_add_one_symbol */ + coff_link_output_has_begun, /* _bfd_coff_link_output_has_begun */ + coff_final_link_postscript /* _bfd_coff_final_link_postscript */ + }, + + 0x01DF, /* magic number */ + bfd_arch_rs6000, /* architecture */ + bfd_mach_rs6k, /* machine */ + + + /* function pointers to xcoff specific swap routines */ + xcoff_swap_ldhdr_in, /* _xcoff_swap_ldhdr_in */ + xcoff_swap_ldhdr_out, /* _xcoff_swap_ldhdr_out */ + xcoff_swap_ldsym_in, /* _xcoff_swap_ldsym_in */ + xcoff_swap_ldsym_out, /* _xcoff_swap_ldsym_out */ + xcoff_swap_ldrel_in, /* _xcoff_swap_ldrel_in */ + xcoff_swap_ldrel_out, /* _xcoff_swap_ldrel_out */ + + /* sizes */ + LDHDRSZ, /* _xcoff_ldhdrsz */ + LDSYMSZ, /* _xcoff_ldsymsz */ + LDRELSZ, /* _xcoff_ldrelsz */ + 12, /* _xcoff_function_descriptor_size */ + SMALL_AOUTSZ, /* _xcoff_small_aout_header_size */ + + /* versions */ + 1, /* _xcoff_ldhdr_version */ + + /* xcoff vs xcoff64 putting symbol names */ + _bfd_xcoff_put_symbol_name, /* _xcoff_put_symbol_name */ + _bfd_xcoff_put_ldsymbol_name, /* _xcoff_put_ldsymbol_name */ + + &xcoff_dynamic_reloc, /* dynamic reloc howto */ + + xcoff_create_csect_from_smclas, /* _xcoff_create_csect_from_smclas */ + + /* lineno and reloc count overflow */ + xcoff_is_lineno_count_overflow, + xcoff_is_reloc_count_overflow, + + xcoff_loader_symbol_offset, + xcoff_loader_reloc_offset, + + /* glink */ + &xcoff_glink_code[0], + (36), /* _xcoff_glink_size */ + +}; + +/* The transfer vector that leads the outside world to all of the above. */ +const bfd_target rs6000coff_vec = +{ + "aixcoff-rs6000", + bfd_target_xcoff_flavour, + BFD_ENDIAN_BIG, /* data byte order is big */ + BFD_ENDIAN_BIG, /* header byte order is big */ + + (HAS_RELOC | EXEC_P | /* object flags */ + HAS_LINENO | HAS_DEBUG | DYNAMIC | + HAS_SYMS | HAS_LOCALS | WP_TEXT), + + (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */ + 0, /* leading char */ + '/', /* ar_pad_char */ + 15, /* ar_max_namelen??? FIXMEmgo */ + + /* data */ + bfd_getb64, /* bfd_getx64 */ + bfd_getb_signed_64, /* bfd_getx_signed_64 */ + bfd_putb64, /* bfd_putx64 */ + bfd_getb32, /* bfd_getx32 */ + bfd_getb_signed_32, /* bfd_getx_signed_32 */ + bfd_putb32, /* bfd_putx32 */ + bfd_getb16, /* bfd_getx16 */ + bfd_getb_signed_16, /* bfd_getx_signed_16 */ + bfd_putb16, /* bfd_putx16 */ + + /* hdrs */ + bfd_getb64, /* bfd_h_getx64 */ + bfd_getb_signed_64, /* bfd_h_getx_signed_64 */ + bfd_putb64, /* bfd_h_putx64 */ + bfd_getb32, /* bfd_h_getx32 */ + bfd_getb_signed_32, /* bfd_h_getx_signed_32 */ + bfd_putb32, /* bfd_h_putx32 */ + bfd_getb16, /* bfd_h_getx16 */ + bfd_getb_signed_16, /* bfd_h_getx_signed_16 */ + bfd_putb16, /* bfd_h_putx16 */ + + { /* bfd_check_format */ + _bfd_dummy_target, + coff_object_p, + _bfd_xcoff_archive_p, + CORE_FILE_P + }, + + { /* bfd_set_format */ + bfd_false, + coff_mkobject, + _bfd_generic_mkarchive, + bfd_false + }, + + {/* bfd_write_contents */ + bfd_false, + coff_write_object_contents, + _bfd_xcoff_write_archive_contents, + bfd_false + }, + + /* Generic */ + bfd_true, /* _close_and_cleanup */ + bfd_true, /* _bfd_free_cached_info */ + coff_new_section_hook, /* _new_section_hook */ + _bfd_generic_get_section_contents, /* _bfd_get_section_contents */ + /* _bfd_get_section_contents_in_window */ + _bfd_generic_get_section_contents_in_window, + + /* Copy */ + _bfd_xcoff_copy_private_bfd_data, /* _bfd_copy_private_bfd */ + /* _bfd_merge_private_bfd_data */ + ((boolean (*) (bfd *, bfd *)) bfd_true), + /* _bfd_copy_pivate_section_data */ + ((boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true), + /* _bfd_copy_private_symbol_data */ + ((boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true), + ((boolean (*) (bfd *, flagword)) bfd_true), /* _bfd_set_private_flags */ + ((boolean (*) (bfd *, void * )) bfd_true), /* _bfd_print_private_bfd_data */ + + /* Core */ + coff_core_file_failing_command, /* _core_file_failing_command */ + coff_core_file_failing_signal, /* _core_file_failing_signal */ + /* _core_file_matches_executable_p */ + coff_core_file_matches_executable_p, + + /* Archive */ + _bfd_xcoff_slurp_armap, /* _slurp_armap */ + /* XCOFF archives do not have + anything which corresponds to + an extended name table. */ + bfd_false, /* _slurp_extended_name_table */ + /* _construct_extended_name_table */ + ((boolean (*) (bfd *, char **, bfd_size_type *, const char **)) bfd_false), + bfd_dont_truncate_arname, /* _truncate_arname */ + _bfd_xcoff_write_armap, /* _write_armap */ + _bfd_xcoff_read_ar_hdr, /* _read_ar_hdr */ + _bfd_xcoff_openr_next_archived_file, /* _openr_next_archived_file */ + _bfd_generic_get_elt_at_index, /* _get_elt_at_index */ + _bfd_xcoff_generic_stat_arch_elt, /* _generic_dtat_arch_elt */ + /* XCOFF archives do not have + a timestamp. */ + bfd_true, /* _update_armap_timestamp */ + + /* Symbols */ + coff_get_symtab_upper_bound, /* _get_symtab_upper_bound */ + coff_get_symtab, /* _get_symtab */ + coff_make_empty_symbol, /* _make_empty_symbol */ + coff_print_symbol, /* _print_symbol */ + coff_get_symbol_info, /* _get_symbol_info */ + _bfd_xcoff_is_local_label_name, /* _bfd_is_local_label_name */ + coff_get_lineno, /* _get_lineno */ + coff_find_nearest_line, /* _find_nearest_line */ + coff_bfd_make_debug_symbol, /* _bfd_make_debug_symbol */ + _bfd_generic_read_minisymbols, /* _read_minisymbols */ + _bfd_generic_minisymbol_to_symbol, /* _minsymbol_to_symbol */ + + /* Reloc */ + coff_get_reloc_upper_bound, /* _get_reloc_upper_bound */ + coff_canonicalize_reloc, /* _cononicalize_reloc */ + _bfd_xcoff_reloc_type_lookup, /* _bfd_reloc_type_lookup */ + + /* Write */ + coff_set_arch_mach, /* _set_arch_mach */ + coff_set_section_contents, /* _set_section_contents */ + + /* Link */ + _bfd_xcoff_sizeof_headers, /* _sizeof_headers */ + /* _bfd_get_relocated_section_contents */ + bfd_generic_get_relocated_section_contents, + bfd_generic_relax_section, /* _bfd_relax_section */ + _bfd_xcoff_bfd_link_hash_table_create, /* _bfd_link_hash_table_create */ + _bfd_xcoff_bfd_link_add_symbols, /* _bfd_link_add_symbols */ + _bfd_xcoff_bfd_final_link, /* _bfd_filnal_link */ + _bfd_generic_link_split_section, /* _bfd_link_split_section */ + bfd_generic_gc_sections, /* _bfd_gc_sections */ + bfd_generic_merge_sections, /* _bfd_merge_sections */ + + /* Dynamic */ + /* _get_dynamic_symtab_upper_bound */ + _bfd_xcoff_get_dynamic_symtab_upper_bound, + _bfd_xcoff_canonicalize_dynamic_symtab, /* _cononicalize_dynamic_symtab */ + _bfd_xcoff_get_dynamic_reloc_upper_bound,/* _get_dynamic_reloc_upper_bound */ + _bfd_xcoff_canonicalize_dynamic_reloc, /* _cononicalize_dynamic_reloc */ + + /* Opposite endian version, none exists */ + NULL, + + /* back end data */ + (void *) &bfd_xcoff_backend_data, +}; + +/* + * xcoff-powermac target + * Old target. + * Only difference between this target and the rs6000 target is the + * the default architecture and machine type used in coffcode.h + * + * PowerPC Macs use the same magic numbers as RS/6000 + * (because that's how they were bootstrapped originally), + * but they are always PowerPC architecture. + */ +static const struct xcoff_backend_data_rec bfd_pmac_xcoff_backend_data = +{ + { /* COFF backend, defined in libcoff.h */ + _bfd_xcoff_swap_aux_in, /* _bfd_coff_swap_aux_in */ + _bfd_xcoff_swap_sym_in, /* _bfd_coff_swap_sym_in */ + coff_swap_lineno_in, /* _bfd_coff_swap_lineno_in */ + _bfd_xcoff_swap_aux_out, /* _bfd_swap_aux_out */ + _bfd_xcoff_swap_sym_out, /* _bfd_swap_sym_out */ + coff_swap_lineno_out, /* _bfd_swap_lineno_out */ + coff_swap_reloc_out, /* _bfd_swap_reloc_out */ + coff_swap_filehdr_out, /* _bfd_swap_filehdr_out */ + coff_swap_aouthdr_out, /* _bfd_swap_aouthdr_out */ + coff_swap_scnhdr_out, /* _bfd_swap_scnhdr_out */ + FILHSZ, /* _bfd_filhsz */ + AOUTSZ, /* _bfd_aoutsz */ + SCNHSZ, /* _bfd_scnhsz */ + SYMESZ, /* _bfd_symesz */ + AUXESZ, /* _bfd_auxesz */ + RELSZ, /* _bfd_relsz */ + LINESZ, /* _bfd_linesz */ + FILNMLEN, /* _bfd_filnmlen */ + true, /* _bfd_coff_long_filenames */ + false, /* _bfd_coff_long_section_names */ + (3), /* _bfd_coff_default_section_alignment_power */ + false, /* _bfd_coff_force_symnames_in_strings */ + 2, /* _bfd_coff_debug_string_prefix_length */ + coff_swap_filehdr_in, /* _bfd_coff_swap_filehdr_in */ + coff_swap_aouthdr_in, /* _bfd_swap_aouthdr_in */ + coff_swap_scnhdr_in, /* _bfd_swap_scnhdr_in */ + coff_swap_reloc_in, /* _bfd_reloc_in */ + coff_bad_format_hook, /* _bfd_bad_format_hook */ + coff_set_arch_mach_hook, /* _bfd_set_arch_mach_hook */ + coff_mkobject_hook, /* _bfd_mkobject_hook */ + styp_to_sec_flags, /* _bfd_syp_to_sec_flags */ + coff_set_alignment_hook, /* _bfd_set_alignment_hook */ + coff_slurp_symbol_table, /* _bfd_coff_slurp_symbol_table */ + symname_in_debug_hook, /* _coff_symname_in_debug_hook */ + coff_pointerize_aux_hook, /* _bfd_coff_pointerize_aux_hook */ + coff_print_aux, /* bfd_coff_print_aux */ + dummy_reloc16_extra_cases, /* _bfd_coff_reloc16_extra_cases */ + dummy_reloc16_estimate, /* _bfd_coff_reloc16_estimate */ + NULL, /* bfd_coff_sym_is_global */ + /* _bfd_coff_compute_section_file_positions */ + coff_compute_section_file_positions, + NULL , /* _bfd_coff_start_final_link */ + xcoff_ppc_relocate_section, /* _bfd_coff_relocate_section */ + coff_rtype_to_howto, /* _bfd_coff_rtype_to_howto */ + NULL , /* _bfd_coff_addust_symndx */ + _bfd_generic_link_add_one_symbol, /* _bfd_coff_add_one_symbol */ + coff_link_output_has_begun, /* _bfd_coff_link_output_has_begun */ + coff_final_link_postscript /* _bfd_coff_final_link_postscript */ + }, + + 0x01DF, /* magic number */ + bfd_arch_powerpc, /* architecture */ + bfd_mach_ppc, /* machine */ + + /* function pointers to xcoff specific swap routines */ + xcoff_swap_ldhdr_in, /* _xcoff_swap_ldhdr_in */ + xcoff_swap_ldhdr_out, /* _xcoff_swap_ldhdr_out */ + xcoff_swap_ldsym_in, /* _xcoff_swap_ldsym_in */ + xcoff_swap_ldsym_out, /* _xcoff_swap_ldsym_out */ + xcoff_swap_ldrel_in, /* _xcoff_swap_ldrel_in */ + xcoff_swap_ldrel_out, /* _xcoff_swap_ldrel_out */ + + /* sizes */ + LDHDRSZ, /* _xcoff_ldhdrsz */ + LDSYMSZ, /* _xcoff_ldsymsz */ + LDRELSZ, /* _xcoff_ldrelsz */ + 12, /* _xcoff_function_descriptor_size */ + SMALL_AOUTSZ, /* _xcoff_small_aout_header_size */ + + /* versions */ + 1, /* _xcoff_ldhdr_version */ + + /* xcoff vs xcoff64 putting symbol names */ + _bfd_xcoff_put_symbol_name, /* _xcoff_put_symbol_name */ + _bfd_xcoff_put_ldsymbol_name, /* _xcoff_put_ldsymbol_name */ + + &xcoff_dynamic_reloc, /* dynamic reloc howto */ + + xcoff_create_csect_from_smclas, /* _xcoff_create_csect_from_smclas */ + + /* lineno and reloc count overflow */ + xcoff_is_lineno_count_overflow, + xcoff_is_reloc_count_overflow, + + xcoff_loader_symbol_offset, + xcoff_loader_reloc_offset, + + /* glink */ + &xcoff_glink_code[0], + (36), /* _xcoff_glink_size */ + +}; + +/* The transfer vector that leads the outside world to all of the above. */ +const bfd_target pmac_xcoff_vec = +{ + "xcoff-powermac", + bfd_target_xcoff_flavour, + BFD_ENDIAN_BIG, /* data byte order is big */ + BFD_ENDIAN_BIG, /* header byte order is big */ + + (HAS_RELOC | EXEC_P | /* object flags */ + HAS_LINENO | HAS_DEBUG | DYNAMIC | + HAS_SYMS | HAS_LOCALS | WP_TEXT), + + (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */ + 0, /* leading char */ + '/', /* ar_pad_char */ + 15, /* ar_max_namelen??? FIXMEmgo */ + + /* data */ + bfd_getb64, /* bfd_getx64 */ + bfd_getb_signed_64, /* bfd_getx_signed_64 */ + bfd_putb64, /* bfd_putx64 */ + bfd_getb32, /* bfd_getx32 */ + bfd_getb_signed_32, /* bfd_getx_signed_32 */ + bfd_putb32, /* bfd_putx32 */ + bfd_getb16, /* bfd_getx16 */ + bfd_getb_signed_16, /* bfd_getx_signed_16 */ + bfd_putb16, /* bfd_putx16 */ + + /* hdrs */ + bfd_getb64, /* bfd_h_getx64 */ + bfd_getb_signed_64, /* bfd_h_getx_signed_64 */ + bfd_putb64, /* bfd_h_putx64 */ + bfd_getb32, /* bfd_h_getx32 */ + bfd_getb_signed_32, /* bfd_h_getx_signed_32 */ + bfd_putb32, /* bfd_h_putx32 */ + bfd_getb16, /* bfd_h_getx16 */ + bfd_getb_signed_16, /* bfd_h_getx_signed_16 */ + bfd_putb16, /* bfd_h_putx16 */ + + { /* bfd_check_format */ + _bfd_dummy_target, + coff_object_p, + _bfd_xcoff_archive_p, + CORE_FILE_P + }, + + { /* bfd_set_format */ + bfd_false, + coff_mkobject, + _bfd_generic_mkarchive, + bfd_false + }, + + {/* bfd_write_contents */ + bfd_false, + coff_write_object_contents, + _bfd_xcoff_write_archive_contents, + bfd_false + }, + + /* Generic */ + bfd_true, /* _close_and_cleanup */ + bfd_true, /* _bfd_free_cached_info */ + coff_new_section_hook, /* _new_section_hook */ + _bfd_generic_get_section_contents, /* _bfd_get_section_contents */ + /* _bfd_get_section_contents_in_window */ + _bfd_generic_get_section_contents_in_window, + + /* Copy */ + _bfd_xcoff_copy_private_bfd_data, /* _bfd_copy_private_bfd */ + /* _bfd_merge_private_bfd_data */ + ((boolean (*) (bfd *, bfd *)) bfd_true), + /* _bfd_copy_pivate_section_data */ + ((boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true), + /* _bfd_copy_private_symbol_data */ + ((boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true), + ((boolean (*) (bfd *, flagword)) bfd_true), /* _bfd_set_private_flags */ + ((boolean (*) (bfd *, void * )) bfd_true), /* _bfd_print_private_bfd_data */ + + /* Core */ + coff_core_file_failing_command, /* _core_file_failing_command */ + coff_core_file_failing_signal, /* _core_file_failing_signal */ + /* _core_file_matches_executable_p */ + coff_core_file_matches_executable_p, + + /* Archive */ + _bfd_xcoff_slurp_armap, /* _slurp_armap */ + /* XCOFF archives do not have + anything which corresponds to + an extended name table. */ + bfd_false, /* _slurp_extended_name_table */ + /* _construct_extended_name_table */ + ((boolean (*) (bfd *, char **, bfd_size_type *, const char **)) bfd_false), + bfd_dont_truncate_arname, /* _truncate_arname */ + _bfd_xcoff_write_armap, /* _write_armap */ + _bfd_xcoff_read_ar_hdr, /* _read_ar_hdr */ + _bfd_xcoff_openr_next_archived_file, /* _openr_next_archived_file */ + _bfd_generic_get_elt_at_index, /* _get_elt_at_index */ + _bfd_xcoff_generic_stat_arch_elt, /* _generic_dtat_arch_elt */ + /* XCOFF archives do not have + a timestamp. */ + bfd_true, /* _update_armap_timestamp */ + + /* Symbols */ + coff_get_symtab_upper_bound, /* _get_symtab_upper_bound */ + coff_get_symtab, /* _get_symtab */ + coff_make_empty_symbol, /* _make_empty_symbol */ + coff_print_symbol, /* _print_symbol */ + coff_get_symbol_info, /* _get_symbol_info */ + _bfd_xcoff_is_local_label_name, /* _bfd_is_local_label_name */ + coff_get_lineno, /* _get_lineno */ + coff_find_nearest_line, /* _find_nearest_line */ + coff_bfd_make_debug_symbol, /* _bfd_make_debug_symbol */ + _bfd_generic_read_minisymbols, /* _read_minisymbols */ + _bfd_generic_minisymbol_to_symbol, /* _minsymbol_to_symbol */ + + /* Reloc */ + coff_get_reloc_upper_bound, /* _get_reloc_upper_bound */ + coff_canonicalize_reloc, /* _cononicalize_reloc */ + _bfd_xcoff_reloc_type_lookup, /* _bfd_reloc_type_lookup */ + + /* Write */ + coff_set_arch_mach, /* _set_arch_mach */ + coff_set_section_contents, /* _set_section_contents */ + + /* Link */ + _bfd_xcoff_sizeof_headers, /* _sizeof_headers */ + /* _bfd_get_relocated_section_contents */ + bfd_generic_get_relocated_section_contents, + bfd_generic_relax_section, /* _bfd_relax_section */ + _bfd_xcoff_bfd_link_hash_table_create, /* _bfd_link_hash_table_create */ + _bfd_xcoff_bfd_link_add_symbols, /* _bfd_link_add_symbols */ + _bfd_xcoff_bfd_final_link, /* _bfd_filnal_link */ + _bfd_generic_link_split_section, /* _bfd_link_split_section */ + bfd_generic_gc_sections, /* _bfd_gc_sections */ + bfd_generic_merge_sections, /* _bfd_merge_sections */ + + /* Dynamic */ + /* _get_dynamic_symtab_upper_bound */ + _bfd_xcoff_get_dynamic_symtab_upper_bound, + _bfd_xcoff_canonicalize_dynamic_symtab, /* _cononicalize_dynamic_symtab */ + _bfd_xcoff_get_dynamic_reloc_upper_bound,/* _get_dynamic_reloc_upper_bound */ + _bfd_xcoff_canonicalize_dynamic_reloc, /* _cononicalize_dynamic_reloc */ + + /* Opposite endian version, none exists */ + NULL, + + /* back end data */ + (void *) &bfd_pmac_xcoff_backend_data, +}; + diff -uprN binutils-2.11.90.0.8/bfd/coff-z8k.c binutils-2.11.90.0.15/bfd/coff-z8k.c --- binutils-2.11.90.0.8/bfd/coff-z8k.c Tue Apr 24 09:11:29 2001 +++ binutils-2.11.90.0.15/bfd/coff-z8k.c Sat Jun 9 00:13:01 2001 @@ -1,5 +1,5 @@ /* BFD back-end for Zilog Z800n COFF binaries. - Copyright 1992, 1993, 1994, 1995, 1997, 1999, 2000 + Copyright 1992, 1993, 1994, 1995, 1997, 1999, 2000, 2001 Free Software Foundation, Inc. Contributed by Cygnus Support. Written by Steve Chamberlain, . @@ -31,12 +31,12 @@ Foundation, Inc., 59 Temple Place - Suit #define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (1) static reloc_howto_type r_imm32 = -HOWTO (R_IMM32, 0, 1, 32, false, 0, +HOWTO (R_IMM32, 0, 2, 32, false, 0, complain_overflow_bitfield, 0, "r_imm32", true, 0xffffffff, 0xffffffff, false); static reloc_howto_type r_imm4l = -HOWTO (R_IMM4L, 0, 1, 4, false, 0, +HOWTO (R_IMM4L, 0, 0, 4, false, 0, complain_overflow_bitfield, 0, "r_imm4l", true, 0xf, 0xf, false); static reloc_howto_type r_da = @@ -45,7 +45,7 @@ HOWTO (R_IMM16, 0, 1, 16, false, 0, false); static reloc_howto_type r_imm8 = -HOWTO (R_IMM8, 0, 1, 8, false, 0, +HOWTO (R_IMM8, 0, 0, 8, false, 0, complain_overflow_bitfield, 0, "r_imm8", true, 0x000000ff, 0x000000ff, false); @@ -55,11 +55,11 @@ HOWTO (R_REL16, 0, 1, 16, false, 0, true); static reloc_howto_type r_jr = -HOWTO (R_JR, 0, 1, 8, true, 0, complain_overflow_signed, 0, +HOWTO (R_JR, 0, 0, 8, true, 0, complain_overflow_signed, 0, "r_jr", true, 0, 0, true); static reloc_howto_type r_disp7 = -HOWTO (R_DISP7, 0, 1, 7, true, 0, complain_overflow_bitfield, 0, +HOWTO (R_DISP7, 0, 0, 7, true, 0, complain_overflow_bitfield, 0, "r_disp7", true, 0, 0, true); static reloc_howto_type r_callr = @@ -141,7 +141,7 @@ rtype2howto (internal, dst) static void reloc_processing (relent, reloc, symbols, abfd, section) arelent * relent; - struct internal_reloc *reloc; + struct internal_reloc * reloc; asymbol ** symbols; bfd * abfd; asection * section; @@ -150,13 +150,9 @@ reloc_processing (relent, reloc, symbols rtype2howto (relent, reloc); if (reloc->r_symndx > 0) - { - relent->sym_ptr_ptr = symbols + obj_convert (abfd)[reloc->r_symndx]; - } + relent->sym_ptr_ptr = symbols + obj_convert (abfd)[reloc->r_symndx]; else - { - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; - } + relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; relent->addend = reloc->r_offset; relent->address -= section->vma; @@ -164,15 +160,15 @@ reloc_processing (relent, reloc, symbols static void extra_case (in_abfd, link_info, link_order, reloc, data, src_ptr, dst_ptr) - bfd *in_abfd; - struct bfd_link_info *link_info; - struct bfd_link_order *link_order; - arelent *reloc; - bfd_byte *data; - unsigned int *src_ptr; - unsigned int *dst_ptr; + bfd * in_abfd; + struct bfd_link_info * link_info; + struct bfd_link_order * link_order; + arelent * reloc; + bfd_byte * data; + unsigned int * src_ptr; + unsigned int * dst_ptr; { - asection *input_section = link_order->u.indirect.section; + asection * input_section = link_order->u.indirect.section; switch (reloc->howto->type) { @@ -186,7 +182,8 @@ extra_case (in_abfd, link_info, link_ord case R_IMM32: bfd_put_32 (in_abfd, - bfd_coff_reloc16_get_value (reloc, link_info, input_section), + /* 0x80000000 indicates a long segmented address. */ + bfd_coff_reloc16_get_value (reloc, link_info, input_section) | 0x80000000, data + *dst_ptr); (*dst_ptr) += 4; (*src_ptr) += 4; @@ -218,8 +215,8 @@ extra_case (in_abfd, link_info, link_ord bfd_vma dot = (link_order->offset + *dst_ptr + input_section->output_section->vma); - int gap = dst - dot - 1;/* -1 since were in the odd byte of the - word and the pc's been incremented */ + int gap = dst - dot - 1; /* -1, since we're in the odd byte of the + word and the pc's been incremented. */ if (gap & 1) abort (); @@ -245,8 +242,8 @@ extra_case (in_abfd, link_info, link_ord bfd_vma dot = (link_order->offset + *dst_ptr + input_section->output_section->vma); - int gap = dst - dot - 1;/* -1 since were in the odd byte of the - word and the pc's been incremented */ + int gap = dst - dot - 1; /* -1, since we're in the odd byte of the + word and the pc's been incremented. */ if (gap & 1) abort (); @@ -318,6 +315,7 @@ extra_case (in_abfd, link_info, link_ord (*src_ptr) += 2; break; } + default: abort (); } diff -uprN binutils-2.11.90.0.8/bfd/coff64-rs6000.c binutils-2.11.90.0.15/bfd/coff64-rs6000.c --- binutils-2.11.90.0.8/bfd/coff64-rs6000.c Sat Mar 17 12:50:16 2001 +++ binutils-2.11.90.0.15/bfd/coff64-rs6000.c Fri May 25 14:26:24 2001 @@ -20,16 +20,15 @@ You should have received a copy of the G along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* Internalcoff.h and coffcode.h modify themselves based on these flags. */ -#define XCOFF64 -#define RS6000COFF_C 1 - #include "bfd.h" #include "sysdep.h" +#include "bfdlink.h" #include "libbfd.h" #include "coff/internal.h" +#include "coff/xcoff.h" #include "coff/rs6k64.h" -#include "libcoff.h" +#include "libcoff.h" +#include "libxcoff.h" #define GET_FILEHDR_SYMPTR bfd_h_get_64 #define PUT_FILEHDR_SYMPTR bfd_h_put_64 @@ -69,15 +68,21 @@ Foundation, Inc., 59 Temple Place - Suit #define COFF_FORCE_SYMBOLS_IN_STRINGS #define COFF_DEBUG_STRING_WIDE_PREFIX + #define COFF_ADJUST_SCNHDR_OUT_POST(ABFD,INT,EXT) \ do { \ memset (((SCNHDR *)EXT)->s_pad, 0, sizeof (((SCNHDR *)EXT)->s_pad));\ -} while (0) +} while(0) + +/* In case we're on a 32-bit machine, construct a 64-bit "-1" value + from smaller values. Start with zero, widen, *then* decrement. */ +#define MINUS_ONE (((bfd_vma)0) - 1) + #define NO_COFF_LINENOS -#define coff_SWAP_lineno_in xcoff64_swap_lineno_in -#define coff_SWAP_lineno_out xcoff64_swap_lineno_out +#define coff_SWAP_lineno_in _bfd_xcoff64_swap_lineno_in +#define coff_SWAP_lineno_out _bfd_xcoff64_swap_lineno_out #define PUTWORD bfd_h_put_32 #define PUTHALF bfd_h_put_16 @@ -86,10 +91,11 @@ do { \ #define GETHALF bfd_h_get_16 #define GETBYTE bfd_h_get_8 -/* For XCOFF64, the effective width of symndx changes depending on + +/* For XCOFF64, the effective width of symndx changes depending on whether we are the first entry. Sigh. */ static void -xcoff64_swap_lineno_in (abfd, ext1, in1) +_bfd_xcoff64_swap_lineno_in (abfd, ext1, in1) bfd *abfd; PTR ext1; PTR in1; @@ -99,15 +105,15 @@ xcoff64_swap_lineno_in (abfd, ext1, in1) in->l_lnno = bfd_h_get_32(abfd, (bfd_byte *) (ext->l_lnno)); if (in->l_lnno == 0) - in->l_addr.l_symndx = + in->l_addr.l_symndx = bfd_h_get_32(abfd, (bfd_byte *) ext->l_addr.l_symndx); else - in->l_addr.l_symndx = - bfd_h_get_64(abfd, (bfd_byte *) ext->l_addr.l_symndx); + in->l_addr.l_paddr = + bfd_h_get_64(abfd, (bfd_byte *) ext->l_addr.l_paddr); } static unsigned int -xcoff64_swap_lineno_out (abfd, inp, outp) +_bfd_xcoff64_swap_lineno_out (abfd, inp, outp) bfd *abfd; PTR inp; PTR outp; @@ -121,27 +127,28 @@ xcoff64_swap_lineno_out (abfd, inp, outp if (in->l_lnno == 0) bfd_h_put_32 (abfd, in->l_addr.l_symndx, (bfd_byte *)ext->l_addr.l_symndx); else - bfd_h_put_64 (abfd, in->l_addr.l_symndx, (bfd_byte *)ext->l_addr.l_symndx); + bfd_h_put_64 (abfd, in->l_addr.l_paddr, (bfd_byte *)ext->l_addr.l_paddr); return bfd_coff_linesz (abfd); } -static void xcoff64_swap_sym_in PARAMS ((bfd *, PTR, PTR)); -static unsigned int xcoff64_swap_sym_out PARAMS ((bfd *, PTR, PTR)); -static void xcoff64_swap_aux_in PARAMS ((bfd *, PTR, int, int, int, int, PTR)); -static unsigned int xcoff64_swap_aux_out PARAMS ((bfd *, PTR, int, int, int, int, PTR)); + +static void _bfd_xcoff64_swap_sym_in PARAMS ((bfd *, PTR, PTR)); +static unsigned int _bfd_xcoff64_swap_sym_out PARAMS ((bfd *, PTR, PTR)); +static void _bfd_xcoff64_swap_aux_in PARAMS ((bfd *, PTR, int, int, int, int, PTR)); +static unsigned int _bfd_xcoff64_swap_aux_out PARAMS ((bfd *, PTR, int, int, int, int, PTR)); static void -xcoff64_swap_sym_in (abfd, ext1, in1) +_bfd_xcoff64_swap_sym_in (abfd, ext1, in1) bfd *abfd; PTR ext1; PTR in1; { - SYMENT *ext = (SYMENT *)ext1; + struct external_syment *ext = (struct external_syment *)ext1; struct internal_syment *in = (struct internal_syment *)in1; in->_n._n_n._n_zeroes = 0; - in->_n._n_n._n_offset = bfd_h_get_32(abfd, (bfd_byte *) ext->e.e.e_offset); + in->_n._n_n._n_offset = bfd_h_get_32(abfd, (bfd_byte *) ext->e_offset); in->n_value = bfd_h_get_64(abfd, (bfd_byte *) ext->e_value); in->n_scnum = bfd_h_get_16(abfd, (bfd_byte *) ext->e_scnum); in->n_type = bfd_h_get_16(abfd, (bfd_byte *) ext->e_type); @@ -150,15 +157,15 @@ xcoff64_swap_sym_in (abfd, ext1, in1) } static unsigned int -xcoff64_swap_sym_out (abfd, inp, extp) +_bfd_xcoff64_swap_sym_out (abfd, inp, extp) bfd *abfd; PTR inp; PTR extp; { struct internal_syment *in = (struct internal_syment *)inp; - SYMENT *ext =(SYMENT *)extp; + struct external_syment *ext =(struct external_syment *)extp; - bfd_h_put_32(abfd, in->_n._n_n._n_offset, (bfd_byte *) ext->e.e.e_offset); + bfd_h_put_32(abfd, in->_n._n_n._n_offset, (bfd_byte *) ext->e_offset); bfd_h_put_64(abfd, in->n_value , (bfd_byte *) ext->e_value); bfd_h_put_16(abfd, in->n_scnum , (bfd_byte *) ext->e_scnum); bfd_h_put_16(abfd, in->n_type , (bfd_byte *) ext->e_type); @@ -168,7 +175,7 @@ xcoff64_swap_sym_out (abfd, inp, extp) } static void -xcoff64_swap_aux_in (abfd, ext1, type, class, indx, numaux, in1) +_bfd_xcoff64_swap_aux_in (abfd, ext1, type, class, indx, numaux, in1) bfd *abfd; PTR ext1; int type; @@ -177,27 +184,18 @@ xcoff64_swap_aux_in (abfd, ext1, type, c int numaux; PTR in1; { - AUXENT *ext = (AUXENT *)ext1; + union external_auxent *ext = (union external_auxent *)ext1; union internal_auxent *in = (union internal_auxent *)in1; switch (class) { case C_FILE: - if (ext->x_file.x_fname[0] == 0) { + if (ext->x_file.x_n.x_zeroes == 0) { in->x_file.x_n.x_zeroes = 0; - in->x_file.x_n.x_offset = + in->x_file.x_n.x_offset = bfd_h_get_32(abfd, (bfd_byte *) ext->x_file.x_n.x_offset); } else { - if (numaux > 1) - { - if (indx == 0) - memcpy (in->x_file.x_fname, ext->x_file.x_fname, - numaux * sizeof (AUXENT)); - } - else - { - memcpy (in->x_file.x_fname, ext->x_file.x_fname, FILNMLEN); - } - } + memcpy (in->x_file.x_fname, ext->x_file.x_fname, FILNMLEN); + } goto end; /* RS/6000 "csect" auxents */ @@ -205,10 +203,14 @@ xcoff64_swap_aux_in (abfd, ext1, type, c case C_HIDEXT: if (indx + 1 == numaux) { - in->x_csect.x_scnlen.l = - bfd_h_get_32(abfd, ext->x_csect.x_scnlen_lo); - /* FIXME: If we want section lengths larger than 32 bits, we need - to modify the internal coff structures to support it. */ + bfd_signed_vma h = 0; + bfd_vma l = 0; + + h = bfd_h_get_signed_32(abfd, ext->x_csect.x_scnlen_hi); + l = bfd_h_get_32 (abfd, ext->x_csect.x_scnlen_lo); + + in->x_csect.x_scnlen.l = h << 32 | (l & 0xffffffff); + in->x_csect.x_parmhash = bfd_h_get_32 (abfd, ext->x_csect.x_parmhash); in->x_csect.x_snhash = bfd_h_get_16 (abfd, ext->x_csect.x_snhash); @@ -255,12 +257,14 @@ xcoff64_swap_aux_in (abfd, ext1, type, c end: ; /* the semicolon is because MSVC doesn't like labels at - end of block. */ + end of block. */ } + + static unsigned int -xcoff64_swap_aux_out (abfd, inp, type, class, indx, numaux, extp) +_bfd_xcoff64_swap_aux_out (abfd, inp, type, class, indx, numaux, extp) bfd *abfd; PTR inp; int type; @@ -270,24 +274,20 @@ xcoff64_swap_aux_out (abfd, inp, type, c PTR extp; { union internal_auxent *in = (union internal_auxent *)inp; - AUXENT *ext = (AUXENT *)extp; + union external_auxent *ext = (union external_auxent *)extp; memset((PTR)ext, 0, bfd_coff_auxesz (abfd)); switch (class) { case C_FILE: - if (in->x_file.x_fname[0] == 0) - { - PUTWORD(abfd, 0, (bfd_byte *) ext->x_file.x_n.x_zeroes); - PUTWORD(abfd, - in->x_file.x_n.x_offset, + if (ext->x_file.x_n.x_zeroes == 0) { + bfd_h_put_32 (abfd, 0, (bfd_byte *) ext->x_file.x_n.x_zeroes); + bfd_h_put_32 (abfd, in->x_file.x_n.x_offset, (bfd_byte *) ext->x_file.x_n.x_offset); - } - else - { + } else { memcpy (ext->x_file.x_fname, in->x_file.x_fname, FILNMLEN); - } - PUTBYTE (abfd, _AUX_FILE, (bfd_byte *) ext->x_auxtype.x_auxtype); + } + bfd_h_put_8 (abfd, _AUX_FILE, (bfd_byte *) ext->x_auxtype.x_auxtype); goto end; /* RS/6000 "csect" auxents */ @@ -295,15 +295,20 @@ xcoff64_swap_aux_out (abfd, inp, type, c case C_HIDEXT: if (indx + 1 == numaux) { - PUTWORD (abfd, in->x_csect.x_scnlen.l, ext->x_csect.x_scnlen_lo); - PUTWORD (abfd, in->x_csect.x_parmhash, ext->x_csect.x_parmhash); - PUTHALF (abfd, in->x_csect.x_snhash, ext->x_csect.x_snhash); + bfd_vma temp; + + temp = in->x_csect.x_scnlen.l & 0xffffffff; + bfd_h_put_32 (abfd, temp, ext->x_csect.x_scnlen_lo); + temp = in->x_csect.x_scnlen.l >> 32; + bfd_h_put_32 (abfd, temp, ext->x_csect.x_scnlen_hi); + bfd_h_put_32 (abfd, in->x_csect.x_parmhash, ext->x_csect.x_parmhash); + bfd_h_put_16 (abfd, in->x_csect.x_snhash, ext->x_csect.x_snhash); /* We don't have to hack bitfields in x_smtyp because it's defined by shifts-and-ands, which are equivalent on all byte orders. */ - PUTBYTE (abfd, in->x_csect.x_smtyp, ext->x_csect.x_smtyp); - PUTBYTE (abfd, in->x_csect.x_smclas, ext->x_csect.x_smclas); - PUTBYTE (abfd, _AUX_CSECT, (bfd_byte *) ext->x_auxtype.x_auxtype); + bfd_h_put_8 (abfd, in->x_csect.x_smtyp, ext->x_csect.x_smtyp); + bfd_h_put_8 (abfd, in->x_csect.x_smclas, ext->x_csect.x_smclas); + bfd_h_put_8 (abfd, _AUX_CSECT, (bfd_byte *) ext->x_auxtype.x_auxtype); goto end; } break; @@ -319,33 +324,1950 @@ xcoff64_swap_aux_out (abfd, inp, type, c if (class == C_BLOCK || class == C_FCN || ISFCN (type) || ISTAG (class)) { - bfd_h_put_64(abfd, in->x_sym.x_fcnary.x_fcn.x_lnnoptr, - (bfd_byte *) ext->x_sym.x_fcnary.x_fcn.x_lnnoptr); - PUTBYTE (abfd, _AUX_FCN, (bfd_byte *) ext->x_auxtype.x_auxtype); - PUTWORD(abfd, in->x_sym.x_fcnary.x_fcn.x_endndx.l, - (bfd_byte *) ext->x_sym.x_fcnary.x_fcn.x_endndx); + bfd_h_put_64(abfd, in->x_sym.x_fcnary.x_fcn.x_lnnoptr, + (bfd_byte *) ext->x_sym.x_fcnary.x_fcn.x_lnnoptr); + bfd_h_put_8 (abfd, _AUX_FCN, (bfd_byte *) ext->x_auxtype.x_auxtype); + bfd_h_put_32(abfd, in->x_sym.x_fcnary.x_fcn.x_endndx.l, + (bfd_byte *) ext->x_sym.x_fcnary.x_fcn.x_endndx); } if (ISFCN (type)) - PUTWORD (abfd, in->x_sym.x_misc.x_fsize, - (bfd_byte *) ext->x_sym.x_fcnary.x_fcn.x_fsize); + bfd_h_put_32 (abfd, in->x_sym.x_misc.x_fsize, + (bfd_byte *) ext->x_sym.x_fcnary.x_fcn.x_fsize); else { - bfd_h_put_32(abfd, in->x_sym.x_misc.x_lnsz.x_lnno, + bfd_h_put_32(abfd, in->x_sym.x_misc.x_lnsz.x_lnno, (bfd_byte *)ext->x_sym.x_fcnary.x_lnsz.x_lnno); - bfd_h_put_16(abfd, in->x_sym.x_misc.x_lnsz.x_size, + bfd_h_put_16(abfd, in->x_sym.x_misc.x_lnsz.x_size, (bfd_byte *)ext->x_sym.x_fcnary.x_lnsz.x_size); } end: + return bfd_coff_auxesz (abfd); } -#define coff_SWAP_sym_in xcoff64_swap_sym_in -#define coff_SWAP_sym_out xcoff64_swap_sym_out -#define coff_SWAP_aux_in xcoff64_swap_aux_in -#define coff_SWAP_aux_out xcoff64_swap_aux_out +static boolean +_bfd_xcoff64_put_symbol_name (bfd *abfd, struct bfd_strtab_hash *strtab, + struct internal_syment *sym, + const char *name) { + boolean hash; + bfd_size_type indx; + + hash = true; + + if ((abfd->flags & BFD_TRADITIONAL_FORMAT) != 0) + hash = false; + + indx = _bfd_stringtab_add (strtab, name, hash, false); + + if (indx == (bfd_size_type) -1) + return false; + + sym->_n._n_n._n_zeroes = 0; + sym->_n._n_n._n_offset = STRING_SIZE_SIZE + indx; + + return true; +} + +static boolean +_bfd_xcoff64_put_ldsymbol_name (abfd, ldinfo, ldsym, name) + bfd *abfd ATTRIBUTE_UNUSED; + struct xcoff_loader_info *ldinfo; + struct internal_ldsym *ldsym; + const char *name; +{ + + size_t len; + len = strlen (name); + + if (ldinfo->string_size + len + 3 > ldinfo->string_alc){ + size_t newalc; + bfd_byte *newstrings; + + newalc = ldinfo->string_alc * 2; + if (newalc == 0) + newalc = 32; + while (ldinfo->string_size + len + 3 > newalc) + newalc *= 2; + + newstrings = ((bfd_byte *) + bfd_realloc ((PTR) ldinfo->strings, newalc)); + if (newstrings == NULL) { + ldinfo->failed = true; + return false; + } + ldinfo->string_alc = newalc; + ldinfo->strings = newstrings; + } + + bfd_put_16 (ldinfo->output_bfd, len + 1, + ldinfo->strings + ldinfo->string_size); + strcpy (ldinfo->strings + ldinfo->string_size + 2, name); + ldsym->_l._l_l._l_zeroes = 0; + ldsym->_l._l_l._l_offset = ldinfo->string_size + 2; + ldinfo->string_size += len + 3; + + return true; +} + +extern boolean _bfd_xcoff_mkobject PARAMS ((bfd *)); +extern boolean _bfd_xcoff_copy_private_bfd_data PARAMS ((bfd *, bfd *)); +extern boolean _bfd_xcoff_is_local_label_name PARAMS ((bfd *, const char *)); +extern void xcoff64_rtype2howto + PARAMS ((arelent *, struct internal_reloc *)); +extern reloc_howto_type * xcoff64_reloc_type_lookup + PARAMS ((bfd *, bfd_reloc_code_real_type)); +extern boolean _bfd_xcoff_slurp_armap PARAMS ((bfd *)); +extern PTR _bfd_xcoff_read_ar_hdr PARAMS ((bfd *)); +extern bfd *_bfd_xcoff_openr_next_archived_file PARAMS ((bfd *, bfd *)); +extern int _bfd_xcoff_generic_stat_arch_elt PARAMS ((bfd *, struct stat *)); +extern boolean _bfd_xcoff_write_armap + PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int)); +extern boolean _bfd_xcoff_write_archive_contents PARAMS ((bfd *)); +extern int _bfd_xcoff_sizeof_headers PARAMS ((bfd *, boolean)); +extern void _bfd_xcoff_swap_sym_in PARAMS ((bfd *, PTR, PTR)); +extern unsigned int _bfd_xcoff_swap_sym_out PARAMS ((bfd *, PTR, PTR)); +extern void _bfd_xcoff_swap_aux_in PARAMS ((bfd *, PTR, int, int, int, int, PTR)); +extern unsigned int _bfd_xcoff_swap_aux_out PARAMS ((bfd *, PTR, int, int, int, int, PTR)); + +/* coffcode.h needs these to be defined */ +/* Internalcoff.h and coffcode.h modify themselves based on these flags. */ +#define XCOFF64 +#define RS6000COFF_C 1 + +#define SELECT_RELOC(internal, howto) \ + { \ + internal.r_type = howto->type; \ + internal.r_size = \ + ((howto->complain_on_overflow == complain_overflow_signed \ + ? 0x80 \ + : 0) \ + | (howto->bitsize - 1)); \ + } + +#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (3) +#define COFF_LONG_FILENAMES +#define NO_COFF_SYMBOLS +#define RTYPE2HOWTO(cache_ptr, dst) xcoff64_rtype2howto (cache_ptr, dst) +#define coff_mkobject _bfd_xcoff_mkobject +#define coff_bfd_copy_private_bfd_data _bfd_xcoff_copy_private_bfd_data +#define coff_bfd_is_local_label_name _bfd_xcoff_is_local_label_name +#define coff_bfd_reloc_type_lookup xcoff64_reloc_type_lookup +#ifdef AIX_CORE +extern const bfd_target * rs6000coff_core_p (); +extern boolean rs6000coff_core_file_matches_executable_p (); +extern char *rs6000coff_core_file_failing_command PARAMS ((bfd *abfd)); +extern int rs6000coff_core_file_failing_signal PARAMS ((bfd *abfd)); +#define CORE_FILE_P rs6000coff_core_p +#define coff_core_file_failing_command \ + rs6000coff_core_file_failing_command +#define coff_core_file_failing_signal \ + rs6000coff_core_file_failing_signal +#define coff_core_file_matches_executable_p \ + rs6000coff_core_file_matches_executable_p +#else +#define CORE_FILE_P _bfd_dummy_target +#define coff_core_file_failing_command \ + _bfd_nocore_core_file_failing_command +#define coff_core_file_failing_signal \ + _bfd_nocore_core_file_failing_signal +#define coff_core_file_matches_executable_p \ + _bfd_nocore_core_file_matches_executable_p +#endif +#define coff_SWAP_sym_in _bfd_xcoff64_swap_sym_in +#define coff_SWAP_sym_out _bfd_xcoff64_swap_sym_out +#define coff_SWAP_aux_in _bfd_xcoff64_swap_aux_in +#define coff_SWAP_aux_out _bfd_xcoff64_swap_aux_out + + + +#include "coffcode.h" + +/* Routines to swap information in the XCOFF .loader section. If we + ever need to write an XCOFF loader, this stuff will need to be + moved to another file shared by the linker (which XCOFF calls the + ``binder'') and the loader. */ + +/* Swap in the ldhdr structure. */ + +static void +xcoff64_swap_ldhdr_in (abfd, src, dst) + bfd *abfd; + const struct external_ldhdr *src; + struct internal_ldhdr *dst; + { + dst->l_version = bfd_get_32 (abfd, src->l_version); + dst->l_nsyms = bfd_get_32 (abfd, src->l_nsyms); + dst->l_nreloc = bfd_get_32 (abfd, src->l_nreloc); + dst->l_istlen = bfd_get_32 (abfd, src->l_istlen); + dst->l_nimpid = bfd_get_32 (abfd, src->l_nimpid); + dst->l_stlen = bfd_get_32 (abfd, src->l_stlen); + dst->l_impoff = bfd_get_64 (abfd, src->l_impoff); + dst->l_stoff = bfd_get_64 (abfd, src->l_stoff); + dst->l_symoff = bfd_get_64 (abfd, src->l_symoff); + dst->l_rldoff = bfd_get_64 (abfd, src->l_rldoff); +} + +/* Swap out the ldhdr structure. */ + +static void +xcoff64_swap_ldhdr_out (abfd, src, dst) + bfd *abfd; + const struct internal_ldhdr *src; + struct external_ldhdr *dst; +{ + bfd_put_32 (abfd, src->l_version, dst->l_version); + bfd_put_32 (abfd, src->l_nsyms, dst->l_nsyms); + bfd_put_32 (abfd, src->l_nreloc, dst->l_nreloc); + bfd_put_32 (abfd, src->l_istlen, dst->l_istlen); + bfd_put_32 (abfd, src->l_nimpid, dst->l_nimpid); + bfd_put_32 (abfd, src->l_stlen, dst->l_stlen); + bfd_put_64 (abfd, src->l_impoff, dst->l_impoff); + bfd_put_64 (abfd, src->l_stoff, dst->l_stoff); + bfd_put_64 (abfd, src->l_symoff, dst->l_symoff); + bfd_put_64 (abfd, src->l_rldoff, dst->l_rldoff); +} + +/* Swap in the ldsym structure. */ + +static void +xcoff64_swap_ldsym_in (abfd, src, dst) + bfd *abfd; + const struct external_ldsym *src; + struct internal_ldsym *dst; +{ + /* + * XCOFF64 does not use l_zeroes like XCOFF32 + * Set the internal l_zeroes to 0 so the common 32/64 code uses l_value + * as an offset into the loader symbol table + */ + dst->_l._l_l._l_zeroes = 0; + dst->_l._l_l._l_offset = bfd_get_32 (abfd, src->l_offset); + dst->l_value = bfd_get_64 (abfd, src->l_value); + dst->l_scnum = bfd_get_16 (abfd, src->l_scnum); + dst->l_smtype = bfd_get_8 (abfd, src->l_smtype); + dst->l_smclas = bfd_get_8 (abfd, src->l_smclas); + dst->l_ifile = bfd_get_32 (abfd, src->l_ifile); + dst->l_parm = bfd_get_32 (abfd, src->l_parm); +} + +/* Swap out the ldsym structure. */ + +static void +xcoff64_swap_ldsym_out (abfd, src, dst) + bfd *abfd; + const struct internal_ldsym *src; + struct external_ldsym *dst; +{ + bfd_put_64 (abfd, src->l_value, dst->l_value); + bfd_put_32 (abfd, src->_l._l_l._l_offset, dst->l_offset); + bfd_put_16 (abfd, src->l_scnum, dst->l_scnum); + bfd_put_8 (abfd, src->l_smtype, dst->l_smtype); + bfd_put_8 (abfd, src->l_smclas, dst->l_smclas); + bfd_put_32 (abfd, src->l_ifile, dst->l_ifile); + bfd_put_32 (abfd, src->l_parm, dst->l_parm); +} + +/* Swap in the ldrel structure. */ + +static void +xcoff64_swap_ldrel_in (abfd, src, dst) + bfd *abfd; + const struct external_ldrel *src; + struct internal_ldrel *dst; +{ + dst->l_vaddr = bfd_get_64 (abfd, src->l_vaddr); + dst->l_symndx = bfd_get_32 (abfd, src->l_symndx); + dst->l_rtype = bfd_get_16 (abfd, src->l_rtype); + dst->l_rsecnm = bfd_get_16 (abfd, src->l_rsecnm); +} + +/* Swap out the ldrel structure. */ + +static void +xcoff64_swap_ldrel_out (abfd, src, dst) + bfd *abfd; + const struct internal_ldrel *src; + struct external_ldrel *dst; +{ + bfd_put_64 (abfd, src->l_vaddr, dst->l_vaddr); + bfd_put_16 (abfd, src->l_rtype, dst->l_rtype); + bfd_put_16 (abfd, src->l_rsecnm, dst->l_rsecnm); + bfd_put_32 (abfd, src->l_symndx, dst->l_symndx); +} + +static boolean +xcoff64_write_object_contents (abfd) + bfd * abfd; +{ + asection *current; + boolean hasrelocs = false; + boolean haslinno = false; + file_ptr scn_base; + file_ptr reloc_base; + file_ptr lineno_base; + file_ptr sym_base; + unsigned long reloc_size = 0; + unsigned long lnno_size = 0; + boolean long_section_names; + asection *text_sec = ((void *)0) ; + asection *data_sec = ((void *)0) ; + asection *bss_sec = ((void *)0) ; + struct internal_filehdr internal_f; + struct internal_aouthdr internal_a; + + bfd_set_error (bfd_error_system_call); + + if (abfd->output_has_begun == false) { + if (! bfd_coff_compute_section_file_positions (abfd)) + return false; + } + + /* Work out the size of the reloc and linno areas */ + reloc_base = obj_relocbase (abfd); + + for (current = abfd->sections; current != NULL; current = current->next) { + reloc_size += current->reloc_count * bfd_coff_relsz (abfd); + } + + lineno_base = reloc_base + reloc_size; + + /* Make a pass through the symbol table to count line number entries and + put them into the correct asections */ + lnno_size = coff_count_linenumbers (abfd) * bfd_coff_linesz (abfd); + + sym_base = lineno_base + lnno_size; + + /* Indicate in each section->line_filepos its actual file address */ + for (current = abfd->sections; current != NULL; current = current->next) { + if (current->lineno_count) { + current->line_filepos = lineno_base; + current->moving_line_filepos = lineno_base; + lineno_base += current->lineno_count * bfd_coff_linesz (abfd); + } else { + current->line_filepos = 0; + } + + if (current->reloc_count) { + current->rel_filepos = reloc_base; + reloc_base += current->reloc_count * bfd_coff_relsz (abfd); + } else { + current->rel_filepos = 0; + } + } + + if ((abfd->flags & EXEC_P) != 0) { + scn_base = bfd_coff_filhsz (abfd) + bfd_coff_aoutsz (abfd); + internal_f.f_opthdr = bfd_coff_aoutsz (abfd); + } else { + scn_base = bfd_coff_filhsz (abfd); + internal_f.f_opthdr = 0; + } + + internal_f.f_nscns = 0; + + if (bfd_seek (abfd, scn_base, SEEK_SET) != 0) + return false; + + long_section_names = false; + for (current = abfd->sections; current != NULL; current = current->next) { + + struct internal_scnhdr section; + struct external_scnhdr buff; + + internal_f.f_nscns++; + + strncpy (section.s_name, current->name, SCNNMLEN); + + section.s_vaddr = current->vma; + section.s_paddr = current->lma; + section.s_size = current->_raw_size; + + /* + If this section has no size or is unloadable then the scnptr + will be 0 too + */ + if (current->_raw_size == 0 || + (current->flags & (SEC_LOAD | SEC_HAS_CONTENTS)) == 0) { + section.s_scnptr = 0; + } else { + section.s_scnptr = current->filepos; + } + + section.s_relptr = current->rel_filepos; + section.s_lnnoptr = current->line_filepos; + section.s_nreloc = current->reloc_count; + + section.s_nlnno = current->lineno_count; + if (current->reloc_count != 0) + hasrelocs = true; + if (current->lineno_count != 0) + haslinno = true; + + section.s_flags = sec_to_styp_flags (current->name, current->flags); + + if (!strcmp (current->name, _TEXT)) { + text_sec = current; + } else if (!strcmp (current->name, _DATA)) { + data_sec = current; + } else if (!strcmp (current->name, _BSS)) { + bss_sec = current; + } + + if (bfd_coff_swap_scnhdr_out (abfd, §ion, &buff) == 0 + || bfd_write ((PTR) (&buff), 1, bfd_coff_scnhsz (abfd), abfd) + != bfd_coff_scnhsz (abfd)) + return false; + } + + internal_f.f_timdat = 0; + + internal_f.f_flags = 0; + + if (!hasrelocs) + internal_f.f_flags |= F_RELFLG; + if (!haslinno) + internal_f.f_flags |= F_LNNO; + if (abfd->flags & EXEC_P) + internal_f.f_flags |= F_EXEC; + + /* FIXME: this is wrong for PPC_PE! */ + if (bfd_little_endian (abfd)) + internal_f.f_flags |= F_AR32WR; + else + internal_f.f_flags |= F_AR32W; + + if ((abfd->flags & DYNAMIC) != 0) + internal_f.f_flags |= F_SHROBJ; + if (bfd_get_section_by_name (abfd, _LOADER) != NULL) + internal_f.f_flags |= F_DYNLOAD; + + memset (&internal_a, 0, sizeof internal_a); + + + /* + * This can only be called from the xcoff64 backend so the magic # must + * be for xcoff64 + */ + internal_f.f_magic = 0757; + + internal_a.magic = (abfd->flags & D_PAGED) ? RS6K_AOUTHDR_ZMAGIC : + (abfd->flags & WP_TEXT) ? RS6K_AOUTHDR_NMAGIC : + RS6K_AOUTHDR_OMAGIC; + + /* FIXME: Does anybody ever set this to another value? */ + internal_a.vstamp = 0; + + /* Now should write relocs, strings, syms */ + obj_sym_filepos (abfd) = sym_base; + + internal_f.f_symptr = 0; + internal_f.f_nsyms = 0; + + /* + * If bfd_get_symcount (abfd) != 0, then we are not using the COFF + * backend linker, and obj_raw_syment_count is not valid until after + * coff_write_symbols is called. + */ + if (bfd_get_symcount (abfd) != 0) { + int firstundef; + + if (!coff_renumber_symbols (abfd, &firstundef)) + return false; + coff_mangle_symbols (abfd); + if (! coff_write_symbols (abfd)) + return false; + if (! coff_write_linenumbers (abfd)) + return false; + if (! coff_write_relocs (abfd, firstundef)) + return false; + + internal_f.f_symptr = sym_base; + internal_f.f_nsyms = bfd_get_symcount (abfd); + } else if (obj_raw_syment_count (abfd) != 0) { + internal_f.f_symptr = sym_base; + + /* + * AIX appears to require that F_RELFLG not be set if there are + * local symbols but no relocations. + */ + internal_f.f_flags &=~ F_RELFLG; + } else { + internal_f.f_flags |= F_LSYMS; + } + + if (text_sec) { + internal_a.tsize = bfd_get_section_size_before_reloc (text_sec); + internal_a.text_start = internal_a.tsize ? text_sec->vma : 0; + } + + if (data_sec) { + internal_a.dsize = bfd_get_section_size_before_reloc (data_sec); + internal_a.data_start = internal_a.dsize ? data_sec->vma : 0; + } + + if (bss_sec) { + internal_a.bsize = bfd_get_section_size_before_reloc (bss_sec); + if (internal_a.bsize && bss_sec->vma < internal_a.data_start) + internal_a.data_start = bss_sec->vma; + } + + internal_a.entry = bfd_get_start_address (abfd); + internal_f.f_nsyms = obj_raw_syment_count (abfd); + + if (xcoff_data (abfd)->full_aouthdr) { + + bfd_vma toc; + asection *loader_sec; + + internal_a.vstamp = 1; + + internal_a.o_snentry = xcoff_data (abfd)->snentry; + if (internal_a.o_snentry == 0) + internal_a.entry = (bfd_vma) -1; + + if (text_sec != NULL) { + internal_a.o_sntext = text_sec->target_index; + internal_a.o_algntext = bfd_get_section_alignment (abfd, text_sec); + } else { + internal_a.o_sntext = 0; + internal_a.o_algntext = 0; + } + + if (data_sec != NULL) { + internal_a.o_sndata = data_sec->target_index; + internal_a.o_algndata = bfd_get_section_alignment (abfd, data_sec); + } else { + internal_a.o_sndata = 0; + internal_a.o_algndata = 0; + } + + loader_sec = bfd_get_section_by_name (abfd, ".loader"); + if (loader_sec != NULL) + internal_a.o_snloader = loader_sec->target_index; + else + internal_a.o_snloader = 0; + if (bss_sec != NULL) + internal_a.o_snbss = bss_sec->target_index; + else + internal_a.o_snbss = 0; + + toc = xcoff_data (abfd)->toc; + internal_a.o_toc = toc; + internal_a.o_sntoc = xcoff_data (abfd)->sntoc; + + internal_a.o_modtype = xcoff_data (abfd)->modtype; + if (xcoff_data (abfd)->cputype != -1) + internal_a.o_cputype = xcoff_data (abfd)->cputype; + else + { + switch (bfd_get_arch (abfd)) + { + case bfd_arch_rs6000: + internal_a.o_cputype = 4; + break; + case bfd_arch_powerpc: + if (bfd_get_mach (abfd) == 0) + internal_a.o_cputype = 3; + else + internal_a.o_cputype = 1; + break; + default: + abort (); + } + } + internal_a.o_maxstack = xcoff_data (abfd)->maxstack; + internal_a.o_maxdata = xcoff_data (abfd)->maxdata; + } + + if (bfd_seek (abfd, (file_ptr) 0, 0 ) != 0) + return false; + + { + char * buff; + bfd_size_type amount; + + buff = bfd_malloc (bfd_coff_filhsz (abfd)); + if (buff == ((void *)0) ) + return false; + + bfd_coff_swap_filehdr_out (abfd, (PTR) & internal_f, (PTR) buff); + amount = bfd_write ((PTR) buff, 1, bfd_coff_filhsz (abfd), abfd); + + free (buff); + + if (amount != bfd_coff_filhsz (abfd)) + return false; + } + + if (abfd->flags & EXEC_P) { + + char * buff; + bfd_size_type amount; + + buff = bfd_malloc (bfd_coff_aoutsz (abfd)); + if (buff == NULL) + return false; + + bfd_coff_swap_aouthdr_out (abfd, (PTR) & internal_a, (PTR) buff); + amount = bfd_write ((PTR) buff, 1, bfd_coff_aoutsz (abfd), abfd); + + free (buff); + + if (amount != bfd_coff_aoutsz (abfd)) + return false; + } + + + return true; +} + +/* This is the relocation function for the RS/6000/POWER/PowerPC. + This is currently the only processor which uses XCOFF; I hope that + will never change. */ + +boolean +xcoff64_ppc_relocate_section (output_bfd, info, input_bfd, + input_section, contents, relocs, syms, + sections) + bfd *output_bfd; + struct bfd_link_info *info; + bfd *input_bfd; + asection *input_section; + bfd_byte *contents; + struct internal_reloc *relocs; + struct internal_syment *syms; + asection **sections; +{ + struct internal_reloc *rel; + struct internal_reloc *relend; + + rel = relocs; + relend = rel + input_section->reloc_count; + for (; rel < relend; rel++) + { + long symndx; + struct xcoff_link_hash_entry *h; + struct internal_syment *sym; + bfd_vma addend; + bfd_vma val; + struct reloc_howto_struct howto; + bfd_reloc_status_type rstat; + + /* Relocation type R_REF is a special relocation type which is + merely used to prevent garbage collection from occurring for + the csect including the symbol which it references. */ + if (rel->r_type == R_REF) + continue; + + symndx = rel->r_symndx; + + if (symndx == -1) { + h = NULL; + sym = NULL; + addend = 0; + } else { + h = obj_xcoff_sym_hashes (input_bfd)[symndx]; + sym = syms + symndx; + addend = - sym->n_value; + } + + /* We build the howto information on the fly. */ + + howto.type = rel->r_type; + howto.rightshift = 0; + howto.size = 4; + howto.bitsize = (rel->r_size & 0x3f) + 1; + howto.pc_relative = false; + howto.bitpos = 0; + if ((rel->r_size & 0x80) != 0) + howto.complain_on_overflow = complain_overflow_signed; + else + howto.complain_on_overflow = complain_overflow_bitfield; + howto.special_function = NULL; + howto.name = "internal"; + howto.partial_inplace = true; + + if (howto.bitsize == 64) { + howto.src_mask = howto.dst_mask = MINUS_ONE; + } else if (howto.bitsize == 32) { + howto.src_mask = howto.dst_mask = 0xffffffff; + } else { + howto.src_mask = howto.dst_mask = (1 << howto.bitsize) - 1; + if (howto.bitsize == 16) + howto.size = 1; + } + howto.pcrel_offset = false; + + val = 0; + + if (h == NULL) { + asection *sec; + + if (symndx == -1) { + sec = bfd_abs_section_ptr; + val = 0; + } else { + sec = sections[symndx]; + /* Hack to make sure we use the right TOC anchor value + if this reloc is against the TOC anchor. */ + if (sec->name[3] == '0' + && strcmp (sec->name, ".tc0") == 0) + val = xcoff_data (output_bfd)->toc; + else + val = (sec->output_section->vma + + sec->output_offset + + sym->n_value + - sec->vma); + } + + } else { + + if (h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak) { + asection *sec; + + sec = h->root.u.def.section; + val = (h->root.u.def.value + + sec->output_section->vma + + sec->output_offset); + + } else if (h->root.type == bfd_link_hash_common) { + asection *sec; + + sec = h->root.u.c.p->section; + val = (sec->output_section->vma + + sec->output_offset); + } else if ((h->flags & XCOFF_DEF_DYNAMIC) != 0 + || (h->flags & XCOFF_IMPORT) != 0) { + /* Every symbol in a shared object is defined somewhere. */ + val = 0; + } else if (! info->relocateable) { + if (! ((*info->callbacks->undefined_symbol) + (info, h->root.root.string, input_bfd, input_section, + rel->r_vaddr - input_section->vma, true))) + return false; + + /* Don't try to process the reloc. It can't help, and + it may generate another error. */ + continue; + } + } + + /* I took the relocation type definitions from two documents: + the PowerPC AIX Version 4 Application Binary Interface, First + Edition (April 1992), and the PowerOpen ABI, Big-Endian + 32-Bit Hardware Implementation (June 30, 1994). Differences + between the documents are noted below. */ + + switch (rel->r_type) { + case R_RTB: + case R_RRTBI: + case R_RRTBA: + /* These relocs are defined by the PowerPC ABI to be + relative branches which use half of the difference + between the symbol and the program counter. I can't + quite figure out when this is useful. These relocs are + not defined by the PowerOpen ABI. */ + default: + (*_bfd_error_handler) + (_("%s: unsupported relocation type 0x%02x"), + bfd_get_filename (input_bfd), (unsigned int) rel->r_type); + bfd_set_error (bfd_error_bad_value); + return false; + case R_POS: + /* Simple positive relocation. */ + break; + case R_NEG: + /* Simple negative relocation. */ + val = - val; + break; + case R_REL: + /* Simple PC relative relocation. */ + howto.pc_relative = true; + break; + case R_TOC: + /* TOC relative relocation. The value in the instruction in + the input file is the offset from the input file TOC to + the desired location. We want the offset from the final + TOC to the desired location. We have: + isym = iTOC + in + iinsn = in + o + osym = oTOC + on + oinsn = on + o + so we must change insn by on - in. + */ + case R_GL: + /* Global linkage relocation. The value of this relocation + is the address of the entry in the TOC section. */ + case R_TCL: + /* Local object TOC address. I can't figure out the + difference between this and case R_GL. */ + case R_TRL: + /* TOC relative relocation. A TOC relative load instruction + which may be changed to a load address instruction. + FIXME: We don't currently implement this optimization. */ + case R_TRLA: + /* TOC relative relocation. This is a TOC relative load + address instruction which may be changed to a load + instruction. FIXME: I don't know if this is the correct + implementation. */ + if (h != NULL && h->smclas != XMC_TD) + { + if (h->toc_section == NULL) + { + (*_bfd_error_handler) + (_("%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry"), + bfd_get_filename (input_bfd), rel->r_vaddr, + h->root.root.string); + bfd_set_error (bfd_error_bad_value); + return false; + } + + BFD_ASSERT ((h->flags & XCOFF_SET_TOC) == 0); + val = (h->toc_section->output_section->vma + + h->toc_section->output_offset); + + } + + + val = ((val - xcoff_data (output_bfd)->toc) + - (sym->n_value - xcoff_data (input_bfd)->toc)); + + addend = 0; + break; + case R_BA: + /* Absolute branch. We don't want to mess with the lower + two bits of the instruction. */ + case R_CAI: + /* The PowerPC ABI defines this as an absolute call which + may be modified to become a relative call. The PowerOpen + ABI does not define this relocation type. */ + case R_RBA: + /* Absolute branch which may be modified to become a + relative branch. */ + case R_RBAC: + /* The PowerPC ABI defines this as an absolute branch to a + fixed address which may be modified to an absolute branch + to a symbol. The PowerOpen ABI does not define this + relocation type. */ + case R_RBRC: + /* The PowerPC ABI defines this as an absolute branch to a + fixed address which may be modified to a relative branch. + The PowerOpen ABI does not define this relocation type. */ + howto.src_mask &= ~3; + howto.dst_mask = howto.src_mask; + break; + case R_BR: + /* Relative branch. We don't want to mess with the lower + two bits of the instruction. */ + case R_CREL: + /* The PowerPC ABI defines this as a relative call which may + be modified to become an absolute call. The PowerOpen + ABI does not define this relocation type. */ + case R_RBR: + /* A relative branch which may be modified to become an + absolute branch. FIXME: We don't implement this, + although we should for symbols of storage mapping class + XMC_XO. */ + howto.pc_relative = true; + howto.src_mask &= ~3; + howto.dst_mask = howto.src_mask; + howto.size = 2; + howto.complain_on_overflow = complain_overflow_bitfield; + break; + case R_RL: + /* The PowerPC AIX ABI describes this as a load which may be + changed to a load address. The PowerOpen ABI says this + is the same as case R_POS. */ + break; + case R_RLA: + /* The PowerPC AIX ABI describes this as a load address + which may be changed to a load. The PowerOpen ABI says + this is the same as R_POS. */ + break; + } + + /* If we see an R_BR or R_RBR reloc which is jumping to global + linkage code, and it is followed by an appropriate cror nop + instruction, we replace the cror with ld r2,40(r1). This + restores the TOC after the glink code. Contrariwise, if the + call is followed by a ld r2,40(r1), but the call is not + going to global linkage code, we can replace the load with a + cror. */ + if ((rel->r_type == R_BR || rel->r_type == R_RBR) && + h != NULL && + h->root.type == bfd_link_hash_defined && + (rel->r_vaddr - input_section->vma + 8 + <= input_section->_cooked_size)) { + + bfd_byte *pnext; + unsigned long next; + + pnext = contents + (rel->r_vaddr - input_section->vma) + 4; + next = bfd_get_32 (input_bfd, pnext); + + + /* The _ptrgl function is magic. It is used by the AIX + * compiler to call a function through a pointer. + * + * special case XMC_GL, global linkage + */ + if (h->smclas == XMC_GL + || strcmp (h->root.root.string, "._ptrgl") == 0) + { + if (next == 0x4def7b82 /* cror 15,15,15 */ + || next == 0x4ffffb82 /* cror 31,31,31 */ + || next == 0x60000000) /* ori r0,r0,0 */ + bfd_put_32 (input_bfd, 0xe8410028, pnext); /* ld r2,40(r1) */ + } + else + { + if (next == 0xe8410028) /* ld r2,40(r1) */ + bfd_put_32 (input_bfd, 0x60000000, pnext); /* ori r0,r0,0 */ + } + } + + /* A PC relative reloc includes the section address. */ + if (howto.pc_relative) + addend += input_section->vma; + + rstat = _bfd_final_link_relocate (&howto, input_bfd, input_section, + contents, + rel->r_vaddr - input_section->vma, + val, addend); + + switch (rstat) + { + default: + abort (); + case bfd_reloc_ok: + break; + case bfd_reloc_overflow: + { + const char *name; + char buf[SYMNMLEN + 1]; + char howto_name[10]; + + if (symndx == -1) + name = "*ABS*"; + else if (h != NULL) + name = h->root.root.string; + else + { + name = _bfd_coff_internal_syment_name (input_bfd, sym, buf); + if (name == NULL) + return false; + } + sprintf (howto_name, "0x%02x", rel->r_type); + + if (! ((*info->callbacks->reloc_overflow) + (info, name, howto_name, (bfd_vma) 0, input_bfd, + input_section, rel->r_vaddr - input_section->vma))) + return false; + } + } + } + + return true; +} + + + +/* The XCOFF reloc table. Actually, XCOFF relocations specify the + bitsize and whether they are signed or not, along with a + conventional type. This table is for the types, which are used for + different algorithms for putting in the reloc. Many of these + relocs need special_function entries, which I have not written. */ + + +reloc_howto_type xcoff64_howto_table[] = +{ + /* Standard 64 bit relocation. */ + HOWTO (0, /* type */ + 0, /* rightshift */ + 4, /* size (0 = byte, 1 = short, 2 = long) */ + 64, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_POS", /* name */ + true, /* partial_inplace */ + MINUS_ONE, /* src_mask */ + MINUS_ONE, /* dst_mask */ + false), /* pcrel_offset */ + + /* 64 bit relocation, but store negative value. */ + HOWTO (1, /* type */ + 0, /* rightshift */ + -4, /* size (0 = byte, 1 = short, 2 = long) */ + 64, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_NEG", /* name */ + true, /* partial_inplace */ + MINUS_ONE, /* src_mask */ + MINUS_ONE, /* dst_mask */ + false), /* pcrel_offset */ + + /* 32 bit PC relative relocation. */ + HOWTO (2, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + true, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + 0, /* special_function */ + "R_REL", /* name */ + true, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* 16 bit TOC relative relocation. */ + HOWTO (3, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_TOC", /* name */ + true, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* I don't really know what this is. */ + HOWTO (4, /* type */ + 1, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_RTB", /* name */ + true, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* External TOC relative symbol. */ + HOWTO (5, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_GL", /* name */ + true, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* Local TOC relative symbol. */ + HOWTO (6, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_TCL", /* name */ + true, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + EMPTY_HOWTO (7), + + /* Non modifiable absolute branch. */ + HOWTO (8, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 26, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_BA", /* name */ + true, /* partial_inplace */ + 0x3fffffc, /* src_mask */ + 0x3fffffc, /* dst_mask */ + false), /* pcrel_offset */ + + EMPTY_HOWTO (9), + + /* Non modifiable relative branch. */ + HOWTO (0xa, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 26, /* bitsize */ + true, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + 0, /* special_function */ + "R_BR", /* name */ + true, /* partial_inplace */ + 0x3fffffc, /* src_mask */ + 0x3fffffc, /* dst_mask */ + false), /* pcrel_offset */ + + EMPTY_HOWTO (0xb), + + /* Indirect load. */ + HOWTO (0xc, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_RL", /* name */ + true, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* Load address. */ + HOWTO (0xd, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_RLA", /* name */ + true, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + EMPTY_HOWTO (0xe), + + /* Non-relocating reference. */ + HOWTO (0xf, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_REF", /* name */ + false, /* partial_inplace */ + 0, /* src_mask */ + 0, /* dst_mask */ + false), /* pcrel_offset */ + + EMPTY_HOWTO (0x10), + EMPTY_HOWTO (0x11), + + /* TOC relative indirect load. */ + HOWTO (0x12, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_TRL", /* name */ + true, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* TOC relative load address. */ + HOWTO (0x13, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_TRLA", /* name */ + true, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* Modifiable relative branch. */ + HOWTO (0x14, /* type */ + 1, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_RRTBI", /* name */ + true, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* Modifiable absolute branch. */ + HOWTO (0x15, /* type */ + 1, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_RRTBA", /* name */ + true, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* Modifiable call absolute indirect. */ + HOWTO (0x16, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_CAI", /* name */ + true, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* Modifiable call relative. */ + HOWTO (0x17, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_CREL", /* name */ + true, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* Modifiable branch absolute. */ + HOWTO (0x18, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 26, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_RBA", /* name */ + true, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* Modifiable branch absolute. */ + HOWTO (0x19, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_RBAC", /* name */ + true, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* Modifiable branch relative. */ + HOWTO (0x1a, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 26, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + 0, /* special_function */ + "R_RBR", /* name */ + true, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* Modifiable branch absolute. */ + HOWTO (0x1b, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_RBRC", /* name */ + true, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + HOWTO (0, /* type */ + 0, /* rightshift */ + 4, /* size (0 = byte, 1 = short, 2 = long) */ + 64, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_POS", /* name */ + true, /* partial_inplace */ + MINUS_ONE, /* src_mask */ + MINUS_ONE, /* dst_mask */ + false) /* pcrel_offset */ + +}; + +void +xcoff64_rtype2howto (relent, internal) + arelent *relent; + struct internal_reloc *internal; +{ + relent->howto = xcoff64_howto_table + internal->r_type; + + /* Check for relocs we don't know of. */ + if (internal->r_type + >= sizeof (xcoff64_howto_table) / sizeof (xcoff64_howto_table[0])) + abort (); + if (internal->r_type != relent->howto->type) + abort (); + + /* The r_size field of an XCOFF reloc encodes the bitsize of the + relocation, as well as indicating whether it is signed or not. + Doublecheck that the relocation information gathered from the + type matches this information. The bitsize is not significant + for R_REF relocs. */ + if (relent->howto->dst_mask != 0 + && (relent->howto->bitsize + != ((unsigned int) internal->r_size & 0x3f) + 1)) + abort (); +#if 0 + if ((internal->r_size & 0x80) != 0 + ? (relent->howto->complain_on_overflow != complain_overflow_signed) + : (relent->howto->complain_on_overflow != complain_overflow_bitfield)) + abort (); +#endif +} + +reloc_howto_type * +xcoff64_reloc_type_lookup (abfd, code) + bfd *abfd ATTRIBUTE_UNUSED; + bfd_reloc_code_real_type code; +{ + switch (code) + { + case BFD_RELOC_PPC_B26: + return &xcoff64_howto_table[0xa]; + case BFD_RELOC_PPC_BA26: + return &xcoff64_howto_table[8]; + case BFD_RELOC_PPC_TOC16: + return &xcoff64_howto_table[3]; + case BFD_RELOC_32: + case BFD_RELOC_CTOR: + return &xcoff64_howto_table[0]; + case BFD_RELOC_64: + return &xcoff64_howto_table[0x1c]; + default: + return NULL; + } +} + + + +/* Read in the armap of an XCOFF archive. */ + +boolean +xcoff64_slurp_armap (abfd) + bfd *abfd; +{ + file_ptr off; + size_t namlen; + bfd_size_type sz; + bfd_byte *contents, *cend; + bfd_vma c, i; + carsym *arsym; + bfd_byte *p; + + /* This is for the new format. */ + struct xcoff_ar_hdr_big hdr; + + if (xcoff_ardata (abfd) == NULL) { + bfd_has_map (abfd) = false; + return true; + } + + off = strtol (xcoff_ardata_big (abfd)->symoff64, (char **) NULL, 10); + if (off == 0) { + bfd_has_map (abfd) = false; + return true; + } + + if (bfd_seek (abfd, off, SEEK_SET) != 0) + return false; + + /* The symbol table starts with a normal archive header. */ + if (bfd_read ((PTR) &hdr, SIZEOF_AR_HDR_BIG, 1, abfd) != SIZEOF_AR_HDR_BIG) + return false; + + /* Skip the name (normally empty). */ + namlen = strtol (hdr.namlen, (char **) NULL, 10); + if (bfd_seek (abfd, ((namlen + 1) & ~1) + SXCOFFARFMAG, SEEK_CUR) != 0) + return false; + + /* XXX This actually has to be a call to strtoll (at least on 32-bit + machines) since the field width is 20 and there numbers with more + than 32 bits can be represented. */ + sz = strtol (hdr.size, (char **) NULL, 10); + + /* Read in the entire symbol table. */ + contents = (bfd_byte *) bfd_alloc (abfd, sz); + if (contents == NULL) + return false; + if (bfd_read ((PTR) contents, 1, sz, abfd) != sz) + return false; + + /* The symbol table starts with an eight byte count. */ + c = bfd_h_get_64 (abfd, contents); + + if (c * 8 >= sz) { + bfd_set_error (bfd_error_bad_value); + return false; + } + + bfd_ardata (abfd)->symdefs = ((carsym *) + bfd_alloc (abfd, c * sizeof (carsym))); + if (bfd_ardata (abfd)->symdefs == NULL) + return false; + + /* After the count comes a list of eight byte file offsets. */ + for (i = 0, arsym = bfd_ardata (abfd)->symdefs, p = contents + 8; + i < c; + ++i, ++arsym, p += 8) + arsym->file_offset = bfd_h_get_64 (abfd, p); + + /* After the file offsets come null terminated symbol names. */ + cend = contents + sz; + for (i = 0, arsym = bfd_ardata (abfd)->symdefs; + i < c; + ++i, ++arsym, p += strlen ((char *) p) + 1) + { + if (p >= cend) + { + bfd_set_error (bfd_error_bad_value); + return false; + } + arsym->name = (char *) p; + } + + bfd_ardata (abfd)->symdef_count = c; + bfd_has_map (abfd) = true; + + return true; +} + + + +/* See if this is an NEW XCOFF archive. */ + +const bfd_target * +xcoff64_archive_p (abfd) + bfd *abfd; +{ + char magic[SXCOFFARMAG]; + /* This is the new format. */ + struct xcoff_ar_file_hdr_big hdr; + + if (bfd_read ((PTR) magic, SXCOFFARMAG, 1, abfd) != SXCOFFARMAG) { + if (bfd_get_error () != bfd_error_system_call) + bfd_set_error (bfd_error_wrong_format); + return NULL; + } + + if (strncmp (magic, XCOFFARMAGBIG, SXCOFFARMAG) != 0) { + bfd_set_error (bfd_error_wrong_format); + return NULL; + } + + /* We are setting bfd_ardata(abfd) here, but since bfd_ardata + involves a cast, we can't do it as the left operand of + assignment. */ + abfd->tdata.aout_ar_data = + (struct artdata *) bfd_zalloc (abfd, sizeof (struct artdata)); + + if (bfd_ardata (abfd) == (struct artdata *) NULL) + return NULL; + + bfd_ardata (abfd)->cache = NULL; + bfd_ardata (abfd)->archive_head = NULL; + bfd_ardata (abfd)->symdefs = NULL; + bfd_ardata (abfd)->extended_names = NULL; + + /* Copy over the magic string. */ + memcpy (hdr.magic, magic, SXCOFFARMAG); + + /* Now read the rest of the file header. */ + if (bfd_read ((PTR) &hdr.memoff, SIZEOF_AR_FILE_HDR_BIG - SXCOFFARMAG, 1, + abfd) != SIZEOF_AR_FILE_HDR_BIG - SXCOFFARMAG) { + if (bfd_get_error () != bfd_error_system_call) + bfd_set_error (bfd_error_wrong_format); + return NULL; + } + + /* XXX This actually has to be a call to strtoll (at least on 32-bit + machines) since the field width is 20 and there numbers with more + than 32 bits can be represented. */ + bfd_ardata (abfd)->first_file_filepos = strtol (hdr.firstmemoff, + (char **) NULL, 10); + + bfd_ardata (abfd)->tdata = bfd_zalloc (abfd, SIZEOF_AR_FILE_HDR_BIG); + if (bfd_ardata (abfd)->tdata == NULL) + return NULL; + + memcpy (bfd_ardata (abfd)->tdata, &hdr, SIZEOF_AR_FILE_HDR_BIG); + + if (! xcoff64_slurp_armap (abfd)) { + + bfd_release (abfd, bfd_ardata (abfd)); + abfd->tdata.aout_ar_data = (struct artdata *) NULL; + return NULL; + } + + return abfd->xvec; +} + + +/* Open the next element in an XCOFF archive. */ + +bfd * +xcoff64_openr_next_archived_file (archive, last_file) + bfd *archive; + bfd *last_file; +{ + file_ptr filestart; + + if ((xcoff_ardata (archive) == NULL) || + (! xcoff_big_format_p (archive))) { + bfd_set_error (bfd_error_invalid_operation); + return NULL; + } + + if (last_file == NULL) { + filestart = bfd_ardata (archive)->first_file_filepos; + } else { + /* XXX These actually have to be a calls to strtoll (at least + on 32-bit machines) since the fields's width is 20 and + there numbers with more than 32 bits can be represented. */ + filestart = strtol (arch_xhdr_big (last_file)->nextoff, (char **) NULL, + 10); + } + /* XXX These actually have to be calls to strtoll (at least on 32-bit + machines) since the fields's width is 20 and there numbers with more + than 32 bits can be represented. */ + if (filestart == 0 + || filestart == strtol (xcoff_ardata_big (archive)->memoff, + (char **) NULL, 10) + || filestart == strtol (xcoff_ardata_big (archive)->symoff, + (char **) NULL, 10)) { + bfd_set_error (bfd_error_no_more_archived_files); + return NULL; + } + + return _bfd_get_elt_at_filepos (archive, filestart); +} + +/* We can't use the usual coff_sizeof_headers routine, because AIX + always uses an a.out header. */ + +/*ARGSUSED*/ +int +xcoff64_sizeof_headers (abfd, reloc) + bfd *abfd; + boolean reloc ATTRIBUTE_UNUSED; +{ + int size; + + size = bfd_coff_filhsz(abfd); + + /* + * Don't think the small aout header can be used since some of the the + * old elements have been reordered past the end of the old coff + * small aout size + */ + + if (xcoff_data (abfd)->full_aouthdr) + size += bfd_coff_aoutsz(abfd); + + size += abfd->section_count * bfd_coff_scnhsz(abfd); + return size; +} + + + +static asection * +xcoff64_create_csect_from_smclas (abfd, aux, symbol_name) + bfd *abfd; + union internal_auxent *aux; + const char *symbol_name; +{ + asection *return_value = NULL; + + /* + * Changes from 32 : + * .sv == 8, is only for 32 bit programs + * .ti == 12 and .tb == 13 are now reserved + */ + static const char *names[19] = { + ".pr", ".ro", ".db", ".tc", ".ua", ".rw", ".gl", ".xo", + NULL, ".bs", ".ds", ".uc", NULL, NULL, NULL, ".tc0", + ".td", ".sv64", ".sv3264" + }; + + if ((19 >= aux->x_csect.x_smclas) && + (NULL != names[aux->x_csect.x_smclas])) { + + return_value = bfd_make_section_anyway + (abfd, names[aux->x_csect.x_smclas]); + + } else { + (*_bfd_error_handler) + (_("%s: symbol `%s' has unrecognized smclas %d"), + bfd_get_filename (abfd), symbol_name, aux->x_csect.x_smclas); + bfd_set_error (bfd_error_bad_value); + } + + return return_value; +} + +boolean +xcoff64_is_lineno_count_overflow (abfd, value) + bfd *abfd ATTRIBUTE_UNUSED; + bfd_vma value ATTRIBUTE_UNUSED; +{ + return false; +} + +boolean +xcoff64_is_reloc_count_overflow (abfd, value) + bfd *abfd ATTRIBUTE_UNUSED; + bfd_vma value ATTRIBUTE_UNUSED; +{ + return false; +} + +bfd_vma +xcoff64_loader_symbol_offset (abfd, ldhdr) + bfd *abfd ATTRIBUTE_UNUSED; + struct internal_ldhdr *ldhdr; +{ + return (ldhdr->l_symoff); +} + +bfd_vma +xcoff64_loader_reloc_offset (abfd, ldhdr) + bfd *abfd ATTRIBUTE_UNUSED; + struct internal_ldhdr *ldhdr; +{ + return (ldhdr->l_rldoff); +} + +/* The typical dynamic reloc. */ + +static reloc_howto_type xcoff64_dynamic_reloc = + HOWTO (0, /* type */ + 0, /* rightshift */ + 4, /* size (0 = byte, 1 = short, 2 = long) */ + 64, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + 0, /* special_function */ + "R_POS", /* name */ + true, /* partial_inplace */ + MINUS_ONE, /* src_mask */ + MINUS_ONE, /* dst_mask */ + false); /* pcrel_offset */ + +static unsigned long xcoff64_glink_code[10] = +{ + 0xe9820000, /* ld r12,0(r2) */ + 0xf8410028, /* std r2,40(r1) */ + 0xe80c0000, /* ld r0,0(r12) */ + 0xe84c0008, /* ld r0,8(r12) */ + 0x7c0903a6, /* mtctr r0 */ + 0x4e800420, /* bctr */ + 0x00000000, /* start of traceback table */ + 0x000ca000, /* traceback table */ + 0x00000000, /* traceback table */ + 0x00000018, /* ??? */ +}; + +static const struct xcoff_backend_data_rec bfd_xcoff_backend_data = +{ + { /* COFF backend, defined in libcoff.h */ + _bfd_xcoff64_swap_aux_in, /* _bfd_coff_swap_aux_in */ + _bfd_xcoff64_swap_sym_in, /* _bfd_coff_swap_sym_in */ + _bfd_xcoff64_swap_lineno_in, /* _bfd_coff_swap_lineno_in */ + _bfd_xcoff64_swap_aux_out, /* _bfd_swap_aux_out */ + _bfd_xcoff64_swap_sym_out, /* _bfd_swap_sym_out */ + _bfd_xcoff64_swap_lineno_out, /* _bfd_swap_lineno_out */ + coff_swap_reloc_out, /* _bfd_swap_reloc_out */ + coff_swap_filehdr_out, /* _bfd_swap_filehdr_out */ + coff_swap_aouthdr_out, /* _bfd_swap_aouthdr_out */ + coff_swap_scnhdr_out, /* _bfd_swap_scnhdr_out */ + FILHSZ, /* _bfd_filhsz */ + AOUTSZ, /* _bfd_aoutsz */ + SCNHSZ, /* _bfd_scnhsz */ + SYMESZ, /* _bfd_symesz */ + AUXESZ, /* _bfd_auxesz */ + RELSZ, /* _bfd_relsz */ + LINESZ, /* _bfd_linesz */ + FILNMLEN, /* _bfd_filnmlen */ + true, /* _bfd_coff_long_filenames */ + false, /* _bfd_coff_long_section_names */ + (3), /* _bfd_coff_default_section_alignment_power */ + true, /* _bfd_coff_force_symnames_in_strings */ + 4, /* _bfd_coff_debug_string_prefix_length */ + coff_swap_filehdr_in, /* _bfd_coff_swap_filehdr_in */ + coff_swap_aouthdr_in, /* _bfd_swap_aouthdr_in */ + coff_swap_scnhdr_in, /* _bfd_swap_scnhdr_in */ + coff_swap_reloc_in, /* _bfd_reloc_in */ + coff_bad_format_hook, /* _bfd_bad_format_hook */ + coff_set_arch_mach_hook, /* _bfd_set_arch_mach_hook */ + coff_mkobject_hook, /* _bfd_mkobject_hook */ + styp_to_sec_flags, /* _bfd_syp_to_sec_flags */ + coff_set_alignment_hook, /* _bfd_set_alignment_hook */ + coff_slurp_symbol_table, /* _bfd_coff_slurp_symbol_table */ + symname_in_debug_hook, /* _coff_symname_in_debug_hook */ + coff_pointerize_aux_hook, /* _bfd_coff_pointerize_aux_hook */ + coff_print_aux, /* bfd_coff_print_aux */ + dummy_reloc16_extra_cases, /* _bfd_coff_reloc16_extra_cases */ + dummy_reloc16_estimate, /* _bfd_coff_reloc16_estimate */ + NULL, /* bfd_coff_sym_is_global */ + /* _bfd_coff_compute_section_file_positions */ + coff_compute_section_file_positions, + NULL , /* _bfd_coff_start_final_link */ + xcoff64_ppc_relocate_section, /* _bfd_coff_relocate_section */ + coff_rtype_to_howto, /* _bfd_coff_rtype_to_howto */ + NULL , /* _bfd_coff_addust_symndx */ + _bfd_generic_link_add_one_symbol, /* _bfd_coff_add_one_symbol */ + coff_link_output_has_begun, /* _bfd_coff_link_output_has_begun */ + coff_final_link_postscript /* _bfd_coff_final_link_postscript */ + }, + + 0x01EF, /* magic number */ + bfd_arch_powerpc, /* architecture */ + bfd_mach_ppc_620, /* machine */ + + /* function pointers to xcoff specific swap routines */ + xcoff64_swap_ldhdr_in, /* _xcoff_swap_ldhdr_in */ + xcoff64_swap_ldhdr_out, /* _xcoff_swap_ldhdr_out */ + xcoff64_swap_ldsym_in, /* _xcoff_swap_ldsym_in */ + xcoff64_swap_ldsym_out, /* _xcoff_swap_ldsym_out */ + xcoff64_swap_ldrel_in, /* _xcoff_swap_ldrel_in */ + xcoff64_swap_ldrel_out, /* _xcoff_swap_ldrel_out */ + + /* sizes */ + LDHDRSZ, /* _xcoff_ldhdrsz */ + LDSYMSZ, /* _xcoff_ldsymsz */ + LDRELSZ, /* _xcoff_ldrelsz */ + 24, /* _xcoff_function_descriptor_size */ + 0, /* _xcoff_small_aout_header_size */ + /* versions */ + 2, /* _xcoff_ldhdr_version */ + + /* xcoff vs xcoff64 putting symbol names */ + _bfd_xcoff64_put_symbol_name, /* _xcoff_put_symbol_name */ + _bfd_xcoff64_put_ldsymbol_name, /* _xcoff_put_ldsymbol_name */ + + /* dynamic reloc howto */ + &xcoff64_dynamic_reloc, + + xcoff64_create_csect_from_smclas, + + /* lineno and reloc count overflow */ + xcoff64_is_lineno_count_overflow, + xcoff64_is_reloc_count_overflow, + + xcoff64_loader_symbol_offset, + xcoff64_loader_reloc_offset, + + /* glink */ + &xcoff64_glink_code[0], + 40, /* _xcoff_glink_size */ + +}; + +/* The transfer vector that leads the outside world to all of the above. */ +const bfd_target rs6000coff64_vec = +{ + "aixcoff64-rs6000", + bfd_target_xcoff_flavour, + BFD_ENDIAN_BIG, /* data byte order is big */ + BFD_ENDIAN_BIG, /* header byte order is big */ + + (HAS_RELOC | EXEC_P | /* object flags */ + HAS_LINENO | HAS_DEBUG | DYNAMIC | + HAS_SYMS | HAS_LOCALS | WP_TEXT), + + (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */ + 0, /* leading char */ + '/', /* ar_pad_char */ + 15, /* ar_max_namelen??? FIXMEmgo */ + + /* data */ + bfd_getb64, /* bfd_getx64 */ + bfd_getb_signed_64, /* bfd_getx_signed_64 */ + bfd_putb64, /* bfd_putx64 */ + bfd_getb32, /* bfd_getx32 */ + bfd_getb_signed_32, /* bfd_getx_signed_32 */ + bfd_putb32, /* bfd_putx32 */ + bfd_getb16, /* bfd_getx16 */ + bfd_getb_signed_16, /* bfd_getx_signed_16 */ + bfd_putb16, /* bfd_putx16 */ + + /* hdrs */ + bfd_getb64, /* bfd_h_getx64 */ + bfd_getb_signed_64, /* bfd_h_getx_signed_64 */ + bfd_putb64, /* bfd_h_putx64 */ + bfd_getb32, /* bfd_h_getx32 */ + bfd_getb_signed_32, /* bfd_h_getx_signed_32 */ + bfd_putb32, /* bfd_h_putx32 */ + bfd_getb16, /* bfd_h_getx16 */ + bfd_getb_signed_16, /* bfd_h_getx_signed_16 */ + bfd_putb16, /* bfd_h_putx16 */ + + { /* bfd_check_format */ + _bfd_dummy_target, + coff_object_p, + xcoff64_archive_p, + CORE_FILE_P + }, + + { /* bfd_set_format */ + bfd_false, + coff_mkobject, + _bfd_generic_mkarchive, + bfd_false + }, + + {/* bfd_write_contents */ + bfd_false, + xcoff64_write_object_contents, + _bfd_xcoff_write_archive_contents, + bfd_false + }, + + /* Generic */ + bfd_true, /* _close_and_cleanup */ + bfd_true, /* _bfd_free_cached_info */ + coff_new_section_hook, /* _new_section_hook */ + _bfd_generic_get_section_contents, /* _bfd_get_section_contents */ + /* _bfd_get_section_contents_in_window */ + _bfd_generic_get_section_contents_in_window, + + /* Copy */ + _bfd_xcoff_copy_private_bfd_data, /* _bfd_copy_private_bfd */ + /* _bfd_merge_private_bfd_data */ + ((boolean (*) (bfd *, bfd *)) bfd_true), + /* _bfd_copy_pivate_section_data */ + ((boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true), + /* _bfd_copy_private_symbol_data */ + ((boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true), + ((boolean (*) (bfd *, flagword)) bfd_true), /* _bfd_set_private_flags */ + ((boolean (*) (bfd *, void * )) bfd_true), /* _bfd_print_private_bfd_data */ + + /* Core */ + coff_core_file_failing_command, /* _core_file_failing_command */ + coff_core_file_failing_signal, /* _core_file_failing_signal */ + /* _core_file_matches_executable_p */ + coff_core_file_matches_executable_p, + + /* Archive */ + xcoff64_slurp_armap, /* _slurp_armap */ + /* XCOFF archives do not have + anything which corresponds to + an extended name table. */ + bfd_false, /* _slurp_extended_name_table */ + /* _construct_extended_name_table */ + ((boolean (*) (bfd *, char **, bfd_size_type *, const char **)) bfd_false), + bfd_dont_truncate_arname, /* _truncate_arname */ + _bfd_xcoff_write_armap, /* _write_armap */ + _bfd_xcoff_read_ar_hdr, /* _read_ar_hdr */ + xcoff64_openr_next_archived_file, /* _openr_next_archived_file */ + _bfd_generic_get_elt_at_index, /* _get_elt_at_index */ + _bfd_xcoff_generic_stat_arch_elt, /* _generic_dtat_arch_elt */ + /* XCOFF archives do not have + a timestamp. */ + bfd_true, /* _update_armap_timestamp */ + + /* Symbols */ + coff_get_symtab_upper_bound, /* _get_symtab_upper_bound */ + coff_get_symtab, /* _get_symtab */ + coff_make_empty_symbol, /* _make_empty_symbol */ + coff_print_symbol, /* _print_symbol */ + coff_get_symbol_info, /* _get_symbol_info */ + _bfd_xcoff_is_local_label_name, /* _bfd_is_local_label_name */ + coff_get_lineno, /* _get_lineno */ + coff_find_nearest_line, /* _find_nearest_line */ + coff_bfd_make_debug_symbol, /* _bfd_make_debug_symbol */ + _bfd_generic_read_minisymbols, /* _read_minisymbols */ + _bfd_generic_minisymbol_to_symbol, /* _minsymbol_to_symbol */ + + /* Reloc */ + coff_get_reloc_upper_bound, /* _get_reloc_upper_bound */ + coff_canonicalize_reloc, /* _cononicalize_reloc */ + xcoff64_reloc_type_lookup, /* _bfd_reloc_type_lookup */ + + /* Write */ + coff_set_arch_mach, /* _set_arch_mach */ + coff_set_section_contents, /* _set_section_contents */ + + /* Link */ + xcoff64_sizeof_headers, /* _sizeof_headers */ + /* _bfd_get_relocated_section_contents */ + bfd_generic_get_relocated_section_contents, + bfd_generic_relax_section, /* _bfd_relax_section */ + _bfd_xcoff_bfd_link_hash_table_create, /* _bfd_link_hash_table_create */ + _bfd_xcoff_bfd_link_add_symbols, /* _bfd_link_add_symbols */ + _bfd_xcoff_bfd_final_link, /* _bfd_filnal_link */ + _bfd_generic_link_split_section, /* _bfd_link_split_section */ + bfd_generic_gc_sections, /* _bfd_gc_sections */ + bfd_generic_merge_sections, /* _bfd_merge_sections */ + + /* Dynamic */ + /* _get_dynamic_symtab_upper_bound */ + _bfd_xcoff_get_dynamic_symtab_upper_bound, + _bfd_xcoff_canonicalize_dynamic_symtab, /* _cononicalize_dynamic_symtab */ + _bfd_xcoff_get_dynamic_reloc_upper_bound,/* _get_dynamic_reloc_upper_bound */ + _bfd_xcoff_canonicalize_dynamic_reloc, /* _cononicalize_dynamic_reloc */ + + /* Opposite endian version, none exists */ + NULL, + + /* back end data */ + (void *) &bfd_xcoff_backend_data, +}; -#define TARGET_NAME "aixcoff64-rs6000" -#define TARGET_SYM rs6000coff64_vec -#include "xcoff-target.h" diff -uprN binutils-2.11.90.0.8/bfd/coffcode.h binutils-2.11.90.0.15/bfd/coffcode.h --- binutils-2.11.90.0.8/bfd/coffcode.h Sat May 12 00:57:53 2001 +++ binutils-2.11.90.0.15/bfd/coffcode.h Thu May 24 23:17:00 2001 @@ -2053,21 +2053,8 @@ coff_set_arch_mach_hook (abfd, filehdr) { default: case 0: -#ifdef POWERMAC - /* PowerPC Macs use the same magic numbers as RS/6000 - (because that's how they were bootstrapped originally), - but they are always PowerPC architecture. */ - arch = bfd_arch_powerpc; - machine = bfd_mach_ppc; -#else -#ifdef XCOFF64 - arch = bfd_arch_powerpc; - machine = bfd_mach_ppc_620; -#else - arch = bfd_arch_rs6000; - machine = bfd_mach_rs6k; -#endif -#endif /* POWERMAC */ + arch = bfd_xcoff_architecture (abfd); + machine = bfd_xcoff_machine (abfd); break; case 1: @@ -2338,13 +2325,21 @@ coff_print_aux (abfd, file, table_base, if (SMTYP_SMTYP (aux->u.auxent.x_csect.x_smtyp) != XTY_LD) { BFD_ASSERT (! aux->fix_scnlen); - fprintf (file, "val %5ld", aux->u.auxent.x_csect.x_scnlen.l); +#ifdef XCOFF64 + fprintf (file, "val %5lld", aux->u.auxent.x_csect.x_scnlen.l); +#else + fprintf (file, "val %5ld", (long) aux->u.auxent.x_csect.x_scnlen.l); +#endif } else { fprintf (file, "indx "); if (! aux->fix_scnlen) - fprintf (file, "%4ld", aux->u.auxent.x_csect.x_scnlen.l); +#ifdef XCOFF64 + fprintf (file, "%4lld", aux->u.auxent.x_csect.x_scnlen.l); +#else + fprintf (file, "%4ld", (long) aux->u.auxent.x_csect.x_scnlen.l); +#endif else fprintf (file, "%4ld", (long) (aux->u.auxent.x_csect.x_scnlen.p - table_base)); @@ -3370,10 +3365,12 @@ coff_write_object_contents (abfd) { scn_base = bfd_coff_filhsz (abfd); #ifdef RS6000COFF_C +#ifndef XCOFF64 if (xcoff_data (abfd)->full_aouthdr) scn_base += bfd_coff_aoutsz (abfd); else scn_base += SMALL_AOUTSZ; +#endif #endif } @@ -3625,6 +3622,7 @@ coff_write_object_contents (abfd) } #ifdef RS6000COFF_C +#ifndef XCOFF64 /* XCOFF handles overflows in the reloc and line number count fields by creating a new section header to hold the correct values. */ for (current = abfd->sections; current != NULL; current = current->next) @@ -3652,6 +3650,7 @@ coff_write_object_contents (abfd) } } #endif +#endif /* OK, now set up the filehdr... */ @@ -3673,10 +3672,12 @@ coff_write_object_contents (abfd) { internal_f.f_opthdr = 0; #ifdef RS6000COFF_C +#ifndef XCOFF64 if (xcoff_data (abfd)->full_aouthdr) internal_f.f_opthdr = bfd_coff_aoutsz (abfd); else internal_f.f_opthdr = SMALL_AOUTSZ; +#endif #endif } @@ -4239,13 +4240,13 @@ coff_slurp_line_table (abfd, asect) if (cache_ptr->line_number == 0) { boolean warned; - long symndx; + bfd_signed_vma symndx; coff_symbol_type *sym; warned = false; symndx = dst.l_addr.l_symndx; if (symndx < 0 - || (unsigned long) symndx >= obj_raw_syment_count (abfd)) + || (bfd_vma) symndx >= obj_raw_syment_count (abfd)) { (*_bfd_error_handler) (_("%s: warning: illegal symbol index %ld in line numbers"), diff -uprN binutils-2.11.90.0.8/bfd/coffgen.c binutils-2.11.90.0.15/bfd/coffgen.c --- binutils-2.11.90.0.8/bfd/coffgen.c Fri Mar 9 11:37:55 2001 +++ binutils-2.11.90.0.15/bfd/coffgen.c Thu May 24 23:17:01 2001 @@ -47,13 +47,13 @@ static void coff_fix_symbol_name PARAMS ((bfd *, asymbol *, combined_entry_type *, bfd_size_type *, asection **, bfd_size_type *)); static boolean coff_write_symbol - PARAMS ((bfd *, asymbol *, combined_entry_type *, unsigned int *, + PARAMS ((bfd *, asymbol *, combined_entry_type *, bfd_vma *, bfd_size_type *, asection **, bfd_size_type *)); static boolean coff_write_alien_symbol - PARAMS ((bfd *, asymbol *, unsigned int *, bfd_size_type *, + PARAMS ((bfd *, asymbol *, bfd_vma *, bfd_size_type *, asection **, bfd_size_type *)); static boolean coff_write_native_symbol - PARAMS ((bfd *, coff_symbol_type *, unsigned int *, bfd_size_type *, + PARAMS ((bfd *, coff_symbol_type *, bfd_vma *, bfd_size_type *, asection **, bfd_size_type *)); static void coff_pointerize_aux PARAMS ((bfd *, combined_entry_type *, combined_entry_type *, @@ -749,8 +749,9 @@ coff_mangle_symbols (bfd_ptr) if (s->fix_value) { /* FIXME: We should use a union here. */ - s->u.syment.n_value = - ((combined_entry_type *) s->u.syment.n_value)->offset; + s->u.syment.n_value = + (bfd_vma)((combined_entry_type *) + ((unsigned long) s->u.syment.n_value))->offset; s->fix_value = 0; } if (s->fix_line) @@ -921,7 +922,7 @@ coff_write_symbol (abfd, symbol, native, bfd *abfd; asymbol *symbol; combined_entry_type *native; - unsigned int *written; + bfd_vma *written; bfd_size_type *string_size_p; asection **debug_string_section_p; bfd_size_type *debug_string_size_p; @@ -1006,7 +1007,7 @@ coff_write_alien_symbol (abfd, symbol, w debug_string_section_p, debug_string_size_p) bfd *abfd; asymbol *symbol; - unsigned int *written; + bfd_vma *written; bfd_size_type *string_size_p; asection **debug_string_section_p; bfd_size_type *debug_string_size_p; @@ -1074,7 +1075,7 @@ coff_write_native_symbol (abfd, symbol, debug_string_section_p, debug_string_size_p) bfd *abfd; coff_symbol_type *symbol; - unsigned int *written; + bfd_vma *written; bfd_size_type *string_size_p; asection **debug_string_section_p; bfd_size_type *debug_string_size_p; @@ -1147,7 +1148,7 @@ coff_write_symbols (abfd) bfd_size_type debug_string_size; unsigned int i; unsigned int limit = bfd_get_symcount (abfd); - unsigned int written = 0; + bfd_signed_vma written = 0; asymbol **p; string_size = 0; @@ -1917,11 +1918,8 @@ coff_get_symbol_info (abfd, symbol, ret) if (coffsymbol (symbol)->native != NULL && coffsymbol (symbol)->native->fix_value) { - combined_entry_type *psym; - - psym = ((combined_entry_type *) - coffsymbol (symbol)->native->u.syment.n_value); - ret->value = (bfd_vma) (psym - obj_raw_syments (abfd)); + ret->value = coffsymbol (symbol)->native->u.syment.n_value - + (unsigned long) obj_raw_syments (abfd); } } @@ -1945,8 +1943,8 @@ bfd_coff_get_syment (abfd, symbol, psyme *psyment = csym->native->u.syment; if (csym->native->fix_value) - psyment->n_value = ((combined_entry_type *) psyment->n_value - - obj_raw_syments (abfd)); + psyment->n_value = psyment->n_value - + (unsigned long) obj_raw_syments (abfd); /* FIXME: We should handle fix_line here. */ @@ -2023,7 +2021,7 @@ coff_print_symbol (abfd, filep, symbol, case bfd_print_symbol_all: if (coffsymbol (symbol)->native) { - unsigned long val; + bfd_vma val; unsigned int aux; combined_entry_type *combined = coffsymbol (symbol)->native; combined_entry_type *root = obj_raw_syments (abfd); @@ -2032,12 +2030,11 @@ coff_print_symbol (abfd, filep, symbol, fprintf (file, "[%3ld]", (long) (combined - root)); if (! combined->fix_value) - val = (unsigned long) combined->u.syment.n_value; + val = (bfd_vma) combined->u.syment.n_value; else - val = ((unsigned long) - ((combined_entry_type *) combined->u.syment.n_value - - root)); + val = combined->u.syment.n_value - (unsigned long) root; +#ifndef XCOFF64 fprintf (file, "(sec %2d)(fl 0x%02x)(ty %3x)(scl %3d) (nx %d) 0x%08lx %s", combined->u.syment.n_scnum, @@ -2045,8 +2042,20 @@ coff_print_symbol (abfd, filep, symbol, combined->u.syment.n_type, combined->u.syment.n_sclass, combined->u.syment.n_numaux, + (unsigned long) val, + symbol->name); +#else + /* Print out the wide, 64 bit, symbol value */ + fprintf (file, + "(sec %2d)(fl 0x%02x)(ty %3x)(scl %3d) (nx %d) 0x%016llx %s", + combined->u.syment.n_scnum, + combined->u.syment.n_flags, + combined->u.syment.n_type, + combined->u.syment.n_sclass, + combined->u.syment.n_numaux, val, symbol->name); +#endif for (aux = 0; aux < combined->u.syment.n_numaux; aux++) { diff -uprN binutils-2.11.90.0.8/bfd/coffswap.h binutils-2.11.90.0.15/bfd/coffswap.h --- binutils-2.11.90.0.8/bfd/coffswap.h Fri Mar 9 11:15:34 2001 +++ binutils-2.11.90.0.15/bfd/coffswap.h Thu May 24 21:22:43 2001 @@ -286,6 +286,7 @@ coff_swap_filehdr_in (abfd, src, dst) { FILHDR *filehdr_src = (FILHDR *) src; struct internal_filehdr *filehdr_dst = (struct internal_filehdr *) dst; + #ifdef COFF_ADJUST_FILEHDR_IN_PRE COFF_ADJUST_FILEHDR_IN_PRE (abfd, src, dst); #endif diff -uprN binutils-2.11.90.0.8/bfd/config.bfd binutils-2.11.90.0.15/bfd/config.bfd --- binutils-2.11.90.0.8/bfd/config.bfd Fri Apr 27 14:03:45 2001 +++ binutils-2.11.90.0.15/bfd/config.bfd Sun Jun 3 16:58:25 2001 @@ -723,8 +723,16 @@ case "${targ}" in powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*) targ_defvec=rs6000coff_vec +#ifdef BFD64 targ_selvecs="rs6000coff64_vec" +#endif ;; +#ifdef BFD64 + powerpc64-*-aix*) + targ_defvec=rs6000coff64_vec + targ_selvecs="rs6000coff_vec" + ;; +#endif powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \ powerpc-*-chorus* | powerpc-*-vxworks*) diff -uprN binutils-2.11.90.0.8/bfd/config.in binutils-2.11.90.0.15/bfd/config.in --- binutils-2.11.90.0.8/bfd/config.in Wed Apr 25 15:56:04 2001 +++ binutils-2.11.90.0.15/bfd/config.in Wed May 23 10:53:56 2001 @@ -172,18 +172,6 @@ /* Define if you have the header file. */ #undef HAVE_VALUES_H -/* Define if you have the stpcpy function */ -#undef HAVE_STPCPY - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - -/* Define to 1 if NLS is requested */ -#undef ENABLE_NLS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - /* Name of package */ #undef PACKAGE diff -uprN binutils-2.11.90.0.8/bfd/configure binutils-2.11.90.0.15/bfd/configure --- binutils-2.11.90.0.8/bfd/configure Wed May 2 15:26:20 2001 +++ binutils-2.11.90.0.15/bfd/configure Sun Jun 10 11:45:11 2001 @@ -1116,7 +1116,7 @@ fi PACKAGE=bfd -VERSION=2.11.90.0.8 +VERSION=2.11.90.0.15 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; } @@ -1644,7 +1644,7 @@ irix5* | irix6*) # This must be Linux ELF. linux-gnu*) case $host_cpu in - alpha* | i*86 | powerpc* | sparc* | ia64* ) + alpha* | hppa* | 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 @@ -1683,6 +1683,10 @@ solaris*) lt_cv_file_magic_test_file=/lib/libc.so ;; +sysv5uw[78]* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) case $host_vendor in ncr) @@ -1703,13 +1707,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:1707: checking for object suffix" >&5 +echo "configure:1711: 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:1713: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1717: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -1729,7 +1733,7 @@ ac_objext=$ac_cv_objext echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1733: checking for executable suffix" >&5 +echo "configure:1737: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1739,7 +1743,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:1743: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:1747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -1766,7 +1770,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:1770: checking for ${ac_tool_prefix}file" >&5 +echo "configure:1774: 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 @@ -1828,7 +1832,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:1832: checking for file" >&5 +echo "configure:1836: 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 @@ -1899,7 +1903,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:1903: checking for $ac_word" >&5 +echo "configure:1907: 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 @@ -1931,7 +1935,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:1935: checking for $ac_word" >&5 +echo "configure:1939: 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 @@ -1966,7 +1970,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:1970: checking for $ac_word" >&5 +echo "configure:1974: 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 @@ -1998,7 +2002,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:2002: checking for $ac_word" >&5 +echo "configure:2006: 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 @@ -2065,8 +2069,8 @@ test x"$pic_mode" = xno && libtool_flags case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 2069 "configure"' > conftest.$ac_ext - if { (eval echo configure:2070: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 2073 "configure"' > conftest.$ac_ext + if { (eval echo configure:2074: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" @@ -2087,7 +2091,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:2091: checking whether the C compiler needs -belf" >&5 +echo "configure:2095: 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 @@ -2100,14 +2104,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:2115: \"$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 @@ -2297,7 +2301,7 @@ if test -z "$target" ; then fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:2301: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:2305: 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" @@ -2322,7 +2326,7 @@ fi echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:2326: checking for executable suffix" >&5 +echo "configure:2330: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2332,7 +2336,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:2336: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:2340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -2361,7 +2365,7 @@ target64=false # 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:2365: checking for $ac_word" >&5 +echo "configure:2369: 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 @@ -2391,7 +2395,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:2395: checking for $ac_word" >&5 +echo "configure:2399: 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 @@ -2442,7 +2446,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:2446: checking for $ac_word" >&5 +echo "configure:2450: 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 @@ -2474,7 +2478,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:2478: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:2482: 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. @@ -2485,12 +2489,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 2489 "configure" +#line 2493 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:2494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2498: \"$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 @@ -2516,12 +2520,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:2520: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:2524: 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:2525: checking whether we are using GNU C" >&5 +echo "configure:2529: 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 @@ -2530,7 +2534,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2534: \"$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:2538: \"$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 @@ -2549,7 +2553,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:2553: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:2557: 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 @@ -2583,7 +2587,7 @@ fi ALL_LINGUAS= echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:2587: checking how to run the C preprocessor" >&5 +echo "configure:2591: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -2598,13 +2602,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:2608: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2612: \"$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 : @@ -2615,13 +2619,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:2625: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2629: \"$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 : @@ -2632,13 +2636,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:2642: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2646: \"$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 : @@ -2665,7 +2669,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:2669: checking for $ac_word" >&5 +echo "configure:2673: 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 @@ -2693,12 +2697,12 @@ else fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2697: checking for ANSI C header files" >&5 +echo "configure:2701: 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 @@ -2706,7 +2710,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2710: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2714: \"$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* @@ -2723,7 +2727,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 @@ -2741,7 +2745,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 @@ -2762,7 +2766,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2773,7 +2777,7 @@ if (XOR (islower (i), ISLOWER (i)) || to exit (0); } EOF -if { (eval echo configure:2777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2797,12 +2801,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2801: checking for working const" >&5 +echo "configure:2805: 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:2859: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2872,21 +2876,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2876: checking for inline" >&5 +echo "configure:2880: 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:2894: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2912,12 +2916,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2916: checking for off_t" >&5 +echo "configure:2920: 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 @@ -2945,12 +2949,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2949: checking for size_t" >&5 +echo "configure:2953: 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 @@ -2980,19 +2984,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:2984: checking for working alloca.h" >&5 +echo "configure:2988: 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:2996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3000: \"$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 @@ -3013,12 +3017,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:3017: checking for alloca" >&5 +echo "configure:3021: 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:3054: \"$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 @@ -3078,12 +3082,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:3082: checking whether alloca needs Cray hooks" >&5 +echo "configure:3086: 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:3112: checking for $ac_func" >&5 +echo "configure:3116: 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:3144: \"$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 @@ -3163,7 +3167,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:3167: checking stack direction for C alloca" >&5 +echo "configure:3171: 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 @@ -3171,7 +3175,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:3198: \"$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 @@ -3215,17 +3219,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:3219: checking for $ac_hdr" >&5 +echo "configure:3223: 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:3229: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3233: \"$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* @@ -3254,12 +3258,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3258: checking for $ac_func" >&5 +echo "configure:3262: 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:3290: \"$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 @@ -3307,7 +3311,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:3311: checking for working mmap" >&5 +echo "configure:3315: 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 @@ -3315,7 +3319,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:3463: \"$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 @@ -3483,17 +3487,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:3487: checking for $ac_hdr" >&5 +echo "configure:3491: 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:3497: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3501: \"$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* @@ -3523,12 +3527,12 @@ done __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3527: checking for $ac_func" >&5 +echo "configure:3531: 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:3559: \"$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 @@ -3580,12 +3584,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3584: checking for $ac_func" >&5 +echo "configure:3588: 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:3616: \"$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 @@ -3642,19 +3646,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3646: checking for LC_MESSAGES" >&5 +echo "configure:3650: 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:3658: \"$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* am_cv_val_LC_MESSAGES=yes else @@ -3675,7 +3679,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3679: checking whether NLS is requested" >&5 +echo "configure:3683: 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" @@ -3695,7 +3699,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3699: checking whether included gettext is requested" >&5 +echo "configure:3703: 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" @@ -3714,17 +3718,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3718: checking for libintl.h" >&5 +echo "configure:3722: 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:3728: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3732: \"$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* @@ -3741,19 +3745,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:3745: checking for gettext in libc" >&5 +echo "configure:3749: 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:3757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3761: \"$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 @@ -3769,7 +3773,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:3773: checking for bindtextdomain in -lintl" >&5 +echo "configure:3777: 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 @@ -3777,7 +3781,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:3796: \"$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 @@ -3804,19 +3808,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:3808: checking for gettext in libintl" >&5 +echo "configure:3812: 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:3824: \"$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 @@ -3844,7 +3848,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:3848: checking for $ac_word" >&5 +echo "configure:3852: 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 @@ -3878,12 +3882,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3882: checking for $ac_func" >&5 +echo "configure:3886: 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:3914: \"$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 @@ -3933,7 +3937,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:3937: checking for $ac_word" >&5 +echo "configure:3941: 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 @@ -3969,7 +3973,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:3973: checking for $ac_word" >&5 +echo "configure:3977: 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 @@ -4001,7 +4005,7 @@ else fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -4041,7 +4045,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:4045: checking for $ac_word" >&5 +echo "configure:4049: 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 @@ -4075,7 +4079,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:4079: checking for $ac_word" >&5 +echo "configure:4083: 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 @@ -4111,7 +4115,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:4115: checking for $ac_word" >&5 +echo "configure:4119: 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 @@ -4201,7 +4205,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4205: checking for catalogs to be installed" >&5 +echo "configure:4209: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4229,17 +4233,17 @@ echo "configure:4205: 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:4233: checking for linux/version.h" >&5 +echo "configure:4237: 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:4243: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4247: \"$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* @@ -4317,7 +4321,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:4321: checking for a BSD compatible install" >&5 +echo "configure:4325: 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 @@ -4400,7 +4404,7 @@ if test "x$cross_compiling" = "xno"; the EXEEXT_FOR_BUILD='$(EXEEXT)' else echo $ac_n "checking for build system executable suffix""... $ac_c" 1>&6 -echo "configure:4404: checking for build system executable suffix" >&5 +echo "configure:4408: checking for build system executable suffix" >&5 if eval "test \"`echo '$''{'bfd_cv_build_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4428,17 +4432,17 @@ for ac_hdr in stddef.h string.h strings. do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4432: checking for $ac_hdr" >&5 +echo "configure:4436: 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:4442: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4446: \"$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* @@ -4468,17 +4472,17 @@ for ac_hdr in fcntl.h sys/file.h sys/tim do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4472: checking for $ac_hdr" >&5 +echo "configure:4476: 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:4482: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4486: \"$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* @@ -4505,12 +4509,12 @@ fi done echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:4509: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:4513: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -4519,7 +4523,7 @@ int main() { struct tm *tp; ; return 0; } EOF -if { (eval echo configure:4523: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4527: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -4544,12 +4548,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:4548: checking for $ac_hdr that defines DIR" >&5 +echo "configure:4552: 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> @@ -4557,7 +4561,7 @@ int main() { DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:4561: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4565: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -4582,7 +4586,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:4586: checking for opendir in -ldir" >&5 +echo "configure:4590: 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 @@ -4590,7 +4594,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:4609: \"$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 @@ -4623,7 +4627,7 @@ fi else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:4627: checking for opendir in -lx" >&5 +echo "configure:4631: 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 @@ -4631,7 +4635,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:4650: \"$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 @@ -4667,12 +4671,12 @@ fi for ac_func in fcntl getpagesize setitimer sysconf fdopen getuid getgid do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4671: checking for $ac_func" >&5 +echo "configure:4675: 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:4703: \"$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 @@ -4730,12 +4734,12 @@ EOF esac echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6 -echo "configure:4734: checking whether strstr must be declared" >&5 +echo "configure:4738: 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 < @@ -4756,7 +4760,7 @@ int main() { char *(*pfn) = (char *(*)) strstr ; return 0; } EOF -if { (eval echo configure:4760: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4764: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_strstr=no else @@ -4777,12 +4781,12 @@ EOF fi echo $ac_n "checking whether malloc must be declared""... $ac_c" 1>&6 -echo "configure:4781: checking whether malloc must be declared" >&5 +echo "configure:4785: checking whether malloc must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_malloc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -4803,7 +4807,7 @@ int main() { char *(*pfn) = (char *(*)) malloc ; return 0; } EOF -if { (eval echo configure:4807: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4811: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_malloc=no else @@ -4824,12 +4828,12 @@ EOF fi echo $ac_n "checking whether realloc must be declared""... $ac_c" 1>&6 -echo "configure:4828: checking whether realloc must be declared" >&5 +echo "configure:4832: checking whether realloc must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_realloc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -4850,7 +4854,7 @@ int main() { char *(*pfn) = (char *(*)) realloc ; return 0; } EOF -if { (eval echo configure:4854: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4858: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_realloc=no else @@ -4871,12 +4875,12 @@ EOF fi echo $ac_n "checking whether free must be declared""... $ac_c" 1>&6 -echo "configure:4875: checking whether free must be declared" >&5 +echo "configure:4879: 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 < @@ -4897,7 +4901,7 @@ int main() { char *(*pfn) = (char *(*)) free ; return 0; } EOF -if { (eval echo configure:4901: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4905: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_free=no else @@ -4918,12 +4922,12 @@ EOF fi echo $ac_n "checking whether getenv must be declared""... $ac_c" 1>&6 -echo "configure:4922: checking whether getenv must be declared" >&5 +echo "configure:4926: 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 < @@ -4944,7 +4948,7 @@ int main() { char *(*pfn) = (char *(*)) getenv ; return 0; } EOF -if { (eval echo configure:4948: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4952: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_getenv=no else @@ -5164,17 +5168,17 @@ if test "${target}" = "${host}"; then do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5168: checking for $ac_hdr" >&5 +echo "configure:5172: 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:5178: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5182: \"$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* @@ -5202,12 +5206,12 @@ done if test "$ac_cv_header_sys_procfs_h" = yes; then echo $ac_n "checking for prstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5206: checking for prstatus_t in sys/procfs.h" >&5 +echo "configure:5210: checking for prstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prstatus_t'+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:5224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prstatus_t=yes else @@ -5238,12 +5242,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prstatus_t" 1>&6 echo $ac_n "checking for prstatus32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5242: checking for prstatus32_t in sys/procfs.h" >&5 +echo "configure:5246: checking for prstatus32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prstatus32_t'+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:5260: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prstatus32_t=yes else @@ -5274,12 +5278,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prstatus32_t" 1>&6 echo $ac_n "checking for prstatus_t.pr_who in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5278: checking for prstatus_t.pr_who in sys/procfs.h" >&5 +echo "configure:5282: checking for prstatus_t.pr_who in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who'+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:5296: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who=yes else @@ -5310,12 +5314,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who" 1>&6 echo $ac_n "checking for prstatus32_t.pr_who in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5314: checking for prstatus32_t.pr_who in sys/procfs.h" >&5 +echo "configure:5318: checking for prstatus32_t.pr_who in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who'+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:5332: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who=yes else @@ -5346,12 +5350,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who" 1>&6 echo $ac_n "checking for pstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5350: checking for pstatus_t in sys/procfs.h" >&5 +echo "configure:5354: checking for pstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pstatus_t'+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:5368: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_pstatus_t=yes else @@ -5382,12 +5386,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_pstatus_t" 1>&6 echo $ac_n "checking for pxstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5386: checking for pxstatus_t in sys/procfs.h" >&5 +echo "configure:5390: checking for pxstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pxstatus_t'+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:5404: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_pxstatus_t=yes else @@ -5418,12 +5422,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_pxstatus_t" 1>&6 echo $ac_n "checking for pstatus32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5422: checking for pstatus32_t in sys/procfs.h" >&5 +echo "configure:5426: checking for pstatus32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pstatus32_t'+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:5440: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_pstatus32_t=yes else @@ -5454,12 +5458,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_pstatus32_t" 1>&6 echo $ac_n "checking for prpsinfo_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5458: checking for prpsinfo_t in sys/procfs.h" >&5 +echo "configure:5462: checking for prpsinfo_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prpsinfo_t'+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:5476: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prpsinfo_t=yes else @@ -5490,12 +5494,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prpsinfo_t" 1>&6 echo $ac_n "checking for prpsinfo32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5494: checking for prpsinfo32_t in sys/procfs.h" >&5 +echo "configure:5498: checking for prpsinfo32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prpsinfo32_t'+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:5512: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prpsinfo32_t=yes else @@ -5526,12 +5530,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prpsinfo32_t" 1>&6 echo $ac_n "checking for psinfo_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5530: checking for psinfo_t in sys/procfs.h" >&5 +echo "configure:5534: checking for psinfo_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psinfo_t'+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:5548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_psinfo_t=yes else @@ -5562,12 +5566,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_psinfo_t" 1>&6 echo $ac_n "checking for psinfo32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5566: checking for psinfo32_t in sys/procfs.h" >&5 +echo "configure:5570: checking for psinfo32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psinfo32_t'+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:5584: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_psinfo32_t=yes else @@ -5598,12 +5602,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_psinfo32_t" 1>&6 echo $ac_n "checking for lwpstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5602: checking for lwpstatus_t in sys/procfs.h" >&5 +echo "configure:5606: checking for lwpstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpstatus_t'+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:5620: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_lwpstatus_t=yes else @@ -5634,12 +5638,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpstatus_t" 1>&6 echo $ac_n "checking for lwpxstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5638: checking for lwpxstatus_t in sys/procfs.h" >&5 +echo "configure:5642: checking for lwpxstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpxstatus_t'+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:5656: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_lwpxstatus_t=yes else @@ -5670,12 +5674,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpxstatus_t" 1>&6 echo $ac_n "checking for lwpstatus_t.pr_context in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5674: checking for lwpstatus_t.pr_context in sys/procfs.h" >&5 +echo "configure:5678: checking for lwpstatus_t.pr_context in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context'+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:5692: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context=yes else @@ -5706,12 +5710,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context" 1>&6 echo $ac_n "checking for lwpstatus_t.pr_reg in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5710: checking for lwpstatus_t.pr_reg in sys/procfs.h" >&5 +echo "configure:5714: checking for lwpstatus_t.pr_reg in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg'+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:5728: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg=yes else @@ -5742,12 +5746,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg" 1>&6 echo $ac_n "checking for win32_pstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5746: checking for win32_pstatus_t in sys/procfs.h" >&5 +echo "configure:5750: checking for win32_pstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_win32_pstatus_t'+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:5764: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_win32_pstatus_t=yes else @@ -6043,7 +6047,7 @@ do pc532netbsd_vec) tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;; pc532machaout_vec) tb="$tb pc532-mach.lo aout-ns32k.lo" ;; pdp11_aout_vec) tb="$tb pdp11.lo" ;; - pmac_xcoff_vec) tb="$tb coff-pmac.lo xcofflink.lo" ;; + pmac_xcoff_vec) tb="$tb coff-rs6000.lo xcofflink.lo" ;; rs6000coff_vec) tb="$tb coff-rs6000.lo xcofflink.lo" ;; bfd_powerpc_pe_vec) tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;; bfd_powerpcle_pe_vec) tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;; @@ -6164,17 +6168,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:6168: checking for $ac_hdr" >&5 +echo "configure:6172: 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:6178: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6182: \"$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* @@ -6203,12 +6207,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6207: checking for $ac_func" >&5 +echo "configure:6211: 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:6239: \"$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 @@ -6256,7 +6260,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:6260: checking for working mmap" >&5 +echo "configure:6264: 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 @@ -6264,7 +6268,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:6412: \"$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 @@ -6429,12 +6433,12 @@ fi for ac_func in madvise mprotect do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6433: checking for $ac_func" >&5 +echo "configure:6437: 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:6465: \"$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 diff -uprN binutils-2.11.90.0.8/bfd/configure.host binutils-2.11.90.0.15/bfd/configure.host --- binutils-2.11.90.0.8/bfd/configure.host Fri Feb 23 21:10:22 2001 +++ binutils-2.11.90.0.15/bfd/configure.host Sat Jun 9 00:13:01 2001 @@ -43,6 +43,10 @@ mips*-sgi-irix6*) host64=true HOST_64BIT_TYPE="long long"; HOST_U_64BIT_TYPE="unsigned long long"; ;; +mips64*-*-linux*) host64=true + HOST_64BIT_TYPE="long long"; + HOST_U_64BIT_TYPE="unsigned long long"; + ;; mips*-*-sysv4*) ;; mips*-*-sysv*) HDEFINES="-G 4" ;; mips*-*-riscos*) HDEFINES="-G 4" ;; diff -uprN binutils-2.11.90.0.8/bfd/configure.in binutils-2.11.90.0.15/bfd/configure.in --- binutils-2.11.90.0.8/bfd/configure.in Wed May 2 15:26:20 2001 +++ binutils-2.11.90.0.15/bfd/configure.in Sun Jun 10 11:45:11 2001 @@ -7,7 +7,7 @@ AC_INIT(libbfd.c) AC_CANONICAL_SYSTEM AC_ISC_POSIX -AM_INIT_AUTOMAKE(bfd, 2.11.90.0.8) +AM_INIT_AUTOMAKE(bfd, 2.11.90.0.15) dnl These must be called before AM_PROG_LIBTOOL, because it may want dnl to call AC_CHECK_PROG. @@ -629,7 +629,7 @@ do pc532netbsd_vec) tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;; pc532machaout_vec) tb="$tb pc532-mach.lo aout-ns32k.lo" ;; pdp11_aout_vec) tb="$tb pdp11.lo" ;; - pmac_xcoff_vec) tb="$tb coff-pmac.lo xcofflink.lo" ;; + pmac_xcoff_vec) tb="$tb coff-rs6000.lo xcofflink.lo" ;; rs6000coff_vec) tb="$tb coff-rs6000.lo xcofflink.lo" ;; bfd_powerpc_pe_vec) tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;; bfd_powerpcle_pe_vec) tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;; diff -uprN binutils-2.11.90.0.8/bfd/cpu-mips.c binutils-2.11.90.0.15/bfd/cpu-mips.c --- binutils-2.11.90.0.8/bfd/cpu-mips.c Fri Mar 9 11:15:44 2001 +++ binutils-2.11.90.0.15/bfd/cpu-mips.c Wed May 23 10:54:03 2001 @@ -55,6 +55,7 @@ enum I_mips6000, I_mips8000, I_mips10000, + I_mips12000, I_mips16, I_mips32, I_mips32_4k, @@ -81,6 +82,7 @@ static const bfd_arch_info_type arch_inf N (32, 32, bfd_mach_mips6000, "mips:6000", false, NN(I_mips6000)), N (64, 64, bfd_mach_mips8000, "mips:8000", false, NN(I_mips8000)), N (64, 64, bfd_mach_mips10000,"mips:10000", false, NN(I_mips10000)), + N (64, 64, bfd_mach_mips12000,"mips:12000", false, NN(I_mips12000)), N (64, 64, bfd_mach_mips16, "mips:16", false, NN(I_mips16)), N (32, 32, bfd_mach_mips32, "mips:mips32", false, NN(I_mips32)), N (32, 32, bfd_mach_mips32_4k,"mips:mips32-4k", false, NN(I_mips32_4k)), diff -uprN binutils-2.11.90.0.8/bfd/doc/bfdint.texi binutils-2.11.90.0.15/bfd/doc/bfdint.texi --- binutils-2.11.90.0.8/bfd/doc/bfdint.texi Fri Mar 9 11:16:11 2001 +++ binutils-2.11.90.0.15/bfd/doc/bfdint.texi Wed May 23 10:54:26 2001 @@ -296,7 +296,7 @@ The target vector starts with a set of c @item name The name of the target vector. This is an arbitrary string. This is how the target vector is named in command line options for tools which -use BFD, such as the @samp{-oformat} linker option. +use BFD, such as the @samp{--oformat} linker option. @item flavour A general description of the type of target. The following flavours are diff -uprN binutils-2.11.90.0.8/bfd/dwarf2.c binutils-2.11.90.0.15/bfd/dwarf2.c --- binutils-2.11.90.0.8/bfd/dwarf2.c Fri Mar 9 11:15:45 2001 +++ binutils-2.11.90.0.15/bfd/dwarf2.c Mon May 21 10:34:51 2001 @@ -437,9 +437,9 @@ read_abbrevs (abfd, offset, stash) return 0; } - if (offset > stash->dwarf_abbrev_size) + if (offset >= stash->dwarf_abbrev_size) { - (*_bfd_error_handler) (_("Dwarf Error: Abbrev offset (%u) bigger than abbrev size (%u)."), + (*_bfd_error_handler) (_("Dwarf Error: Abbrev offset (%u) greater than or equal to abbrev size (%u)."), offset, stash->dwarf_abbrev_size ); bfd_set_error (bfd_error_bad_value); return 0; @@ -804,7 +804,7 @@ decode_line_info (unit, stash) below. */ if (unit->line_offset >= stash->dwarf_line_size) { - (*_bfd_error_handler) (_("Dwarf Error: Line offset (%u) bigger than line size (%u)."), + (*_bfd_error_handler) (_("Dwarf Error: Line offset (%u) greater than or equal to line size (%u)."), unit->line_offset, stash->dwarf_line_size); bfd_set_error (bfd_error_bad_value); return 0; diff -uprN binutils-2.11.90.0.8/bfd/ecoff.c binutils-2.11.90.0.15/bfd/ecoff.c --- binutils-2.11.90.0.8/bfd/ecoff.c Sat May 12 00:05:18 2001 +++ binutils-2.11.90.0.15/bfd/ecoff.c Mon May 21 10:34:51 2001 @@ -74,12 +74,14 @@ 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, 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, + /* name, id, index, next, flags, user_set_vma, reloc_done, */ + "*DEBUG*", 0, 0, NULL, 0, 0, 0, + /* linker_mark, linker_has_input, gc_mark, segment_mark, */ + 0, 0, 0, 0, + /* vma, lma, _cooked_size, _raw_size, */ + 0, 0, 0, 0, + /* output_offset, output_section, alignment_power, */ + 0, NULL, 0, /* relocation, orelocation, reloc_count, filepos, rel_filepos, */ NULL, NULL, 0, 0, 0, /* line_filepos, userdata, contents, lineno, lineno_count, */ diff -uprN binutils-2.11.90.0.8/bfd/elf-bfd.h binutils-2.11.90.0.15/bfd/elf-bfd.h --- binutils-2.11.90.0.8/bfd/elf-bfd.h Sat May 12 01:09:00 2001 +++ binutils-2.11.90.0.15/bfd/elf-bfd.h Wed May 23 11:36:02 2001 @@ -27,6 +27,11 @@ Foundation, Inc., 59 Temple Place - Suit #include "elf/external.h" #include "bfdlink.h" +/* The number of entries in a section is its size divided by the size + of a single entry. This is normally only applicaable to reloc and + symbol table sections. */ +#define NUM_SHDR_ENTRIES(shdr) ((shdr)->sh_size / (shdr)->sh_entsize) + /* If size isn't specified as 64 or 32, NAME macro should fail. */ #ifndef NAME #if ARCH_SIZE==64 diff -uprN binutils-2.11.90.0.8/bfd/elf-m10300.c binutils-2.11.90.0.15/bfd/elf-m10300.c --- binutils-2.11.90.0.8/bfd/elf-m10300.c Fri Mar 9 11:37:56 2001 +++ binutils-2.11.90.0.15/bfd/elf-m10300.c Mon May 21 11:39:49 2001 @@ -2183,6 +2183,11 @@ mn10300_elf_relax_section (abfd, sec, li case 0x91: case 0x92: case 0x93: + /* sp-based offsets are zero-extended. */ + if (code >= 0x90 && code <= 0x93 + && (long)value < 0) + continue; + /* Note that we've changed the relocation contents, etc. */ elf_section_data (sec)->relocs = internal_relocs; free_relocs = NULL; @@ -2231,6 +2236,11 @@ mn10300_elf_relax_section (abfd, sec, li && (value & 0x8000)) continue; + /* mov imm16, an zero-extends the immediate. */ + if (code == 0xdc + && (long)value < 0) + continue; + /* Note that we've changed the relocation contents, etc. */ elf_section_data (sec)->relocs = internal_relocs; free_relocs = NULL; @@ -2276,18 +2286,18 @@ mn10300_elf_relax_section (abfd, sec, li break; /* mov (abs32),an -> mov (abs16),an - mov (d32,sp),an -> mov (d32,sp),an - mov (d32,sp),dn -> mov (d32,sp),dn - movbu (d32,sp),dn -> movbu (d32,sp),dn - movhu (d32,sp),dn -> movhu (d32,sp),dn + mov (d32,sp),an -> mov (d16,sp),an + mov (d32,sp),dn -> mov (d16,sp),dn + movbu (d32,sp),dn -> movbu (d16,sp),dn + movhu (d32,sp),dn -> movhu (d16,sp),dn add imm32,dn -> add imm16,dn cmp imm32,dn -> cmp imm16,dn add imm32,an -> add imm16,an cmp imm32,an -> cmp imm16,an - and imm32,dn -> and imm32,dn - or imm32,dn -> or imm32,dn - xor imm32,dn -> xor imm32,dn - btst imm32,dn -> btst imm32,dn */ + and imm32,dn -> and imm16,dn + or imm32,dn -> or imm16,dn + xor imm32,dn -> xor imm16,dn + btst imm32,dn -> btst imm16,dn */ case 0xa0: case 0xb0: @@ -2303,6 +2313,16 @@ mn10300_elf_relax_section (abfd, sec, li case 0xe1: case 0xe2: case 0xe3: + /* cmp imm16, an zero-extends the immediate. */ + if (code == 0xdc + && (long)value < 0) + continue; + + /* So do sp-based offsets. */ + if (code >= 0xb0 && code <= 0xb3 + && (long)value < 0) + continue; + /* Note that we've changed the relocation contents, etc. */ elf_section_data (sec)->relocs = internal_relocs; free_relocs = NULL; diff -uprN binutils-2.11.90.0.8/bfd/elf.c binutils-2.11.90.0.15/bfd/elf.c --- binutils-2.11.90.0.8/bfd/elf.c Sat May 12 01:09:00 2001 +++ binutils-2.11.90.0.15/bfd/elf.c Sun Jun 10 10:55:09 2001 @@ -829,8 +829,8 @@ bfd_elf_print_symbol (abfd, filep, symbo break; case bfd_print_symbol_all: { - CONST char *section_name; - CONST char *name = NULL; + const char *section_name; + const char *name = NULL; struct elf_backend_data *bed; unsigned char st_other; @@ -1450,7 +1450,7 @@ bfd_section_from_shdr (abfd, shindex) } *hdr2 = *hdr; elf_elfsections (abfd)[shindex] = hdr2; - target_sect->reloc_count += hdr->sh_size / hdr->sh_entsize; + target_sect->reloc_count += NUM_SHDR_ENTRIES (hdr); target_sect->flags |= SEC_RELOC; target_sect->relocation = NULL; target_sect->rel_filepos = hdr->sh_offset; @@ -4395,9 +4395,9 @@ swap_out_syms (abfd, sttp, relocatable_p flagword flags = syms[idx]->flags; int type; - if ((flags & BSF_SECTION_SYM) != 0) + if ((flags & (BSF_SECTION_SYM | BSF_GLOBAL)) == BSF_SECTION_SYM) { - /* Section symbols have no name. */ + /* Local section symbols have no name. */ sym.st_name = 0; } else @@ -4506,7 +4506,12 @@ swap_out_syms (abfd, sttp, relocatable_p type = (*bed->elf_backend_get_symbol_type) (&type_ptr->internal_elf_sym, type); if (flags & BSF_SECTION_SYM) - sym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION); + { + if (flags & BSF_GLOBAL) + sym.st_info = ELF_ST_INFO (STB_GLOBAL, STT_SECTION); + else + sym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION); + } else if (bfd_is_com_section (syms[idx]->section)) sym.st_info = ELF_ST_INFO (STB_GLOBAL, type); else if (bfd_is_und_section (syms[idx]->section)) @@ -5016,13 +5021,13 @@ _bfd_elf_set_arch_mach (abfd, arch, mach static boolean elf_find_function (abfd, section, symbols, offset, - filename_ptr, functionname_ptr) + filename_ptr, functionname_ptr) bfd *abfd ATTRIBUTE_UNUSED; asection *section; asymbol **symbols; bfd_vma offset; - CONST char **filename_ptr; - CONST char **functionname_ptr; + const char **filename_ptr; + const char **functionname_ptr; { const char *filename; asymbol *func; @@ -5078,46 +5083,46 @@ elf_find_function (abfd, section, symbol boolean _bfd_elf_find_nearest_line (abfd, section, symbols, offset, - filename_ptr, functionname_ptr, line_ptr) + filename_ptr, functionname_ptr, line_ptr) bfd *abfd; asection *section; asymbol **symbols; bfd_vma offset; - CONST char **filename_ptr; - CONST char **functionname_ptr; + const char **filename_ptr; + const char **functionname_ptr; unsigned int *line_ptr; { boolean found; if (_bfd_dwarf1_find_nearest_line (abfd, section, symbols, offset, - filename_ptr, functionname_ptr, - line_ptr)) + filename_ptr, functionname_ptr, + line_ptr)) { if (!*functionname_ptr) - elf_find_function (abfd, section, symbols, offset, - *filename_ptr ? NULL : filename_ptr, - functionname_ptr); - + elf_find_function (abfd, section, symbols, offset, + *filename_ptr ? NULL : filename_ptr, + functionname_ptr); + return true; } if (_bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset, - filename_ptr, functionname_ptr, - line_ptr, 0, - &elf_tdata (abfd)->dwarf2_find_line_info)) + filename_ptr, functionname_ptr, + line_ptr, 0, + &elf_tdata (abfd)->dwarf2_find_line_info)) { if (!*functionname_ptr) - elf_find_function (abfd, section, symbols, offset, - *filename_ptr ? NULL : filename_ptr, - functionname_ptr); - + elf_find_function (abfd, section, symbols, offset, + *filename_ptr ? NULL : filename_ptr, + functionname_ptr); + return true; } if (! _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset, - &found, filename_ptr, - functionname_ptr, line_ptr, - &elf_tdata (abfd)->line_info)) + &found, filename_ptr, + functionname_ptr, line_ptr, + &elf_tdata (abfd)->line_info)) return false; if (found) return true; @@ -5126,7 +5131,7 @@ _bfd_elf_find_nearest_line (abfd, sectio return false; if (! elf_find_function (abfd, section, symbols, offset, - filename_ptr, functionname_ptr)) + filename_ptr, functionname_ptr)) return false; *line_ptr = 0; diff -uprN binutils-2.11.90.0.8/bfd/elf32-arm.h binutils-2.11.90.0.15/bfd/elf32-arm.h --- binutils-2.11.90.0.8/bfd/elf32-arm.h Sat May 12 00:57:55 2001 +++ binutils-2.11.90.0.15/bfd/elf32-arm.h Sun Jun 10 10:55:09 2001 @@ -78,22 +78,22 @@ static int elf32_thumb_to_arm_stub this. It is set up so that any shared library function that is called before the relocation has been set up calls the dynamic linker first. */ -static const bfd_byte elf32_arm_plt0_entry [PLT_ENTRY_SIZE] = +static const unsigned long elf32_arm_plt0_entry [PLT_ENTRY_SIZE / 4] = { - 0x04, 0xe0, 0x2d, 0xe5, /* str lr, [sp, #-4]! */ - 0x10, 0xe0, 0x9f, 0xe5, /* ldr lr, [pc, #16] */ - 0x0e, 0xe0, 0x8f, 0xe0, /* adr lr, pc, lr */ - 0x08, 0xf0, 0xbe, 0xe5 /* ldr pc, [lr, #8]! */ + 0xe52de004, /* str lr, [sp, #-4]! */ + 0xe59fe010, /* ldr lr, [pc, #16] */ + 0xe08fe00e, /* add lr, pc, lr */ + 0xe5bef008 /* ldr pc, [lr, #8]! */ }; /* Subsequent entries in a procedure linkage table look like this. */ -static const bfd_byte elf32_arm_plt_entry [PLT_ENTRY_SIZE] = +static const unsigned long elf32_arm_plt_entry [PLT_ENTRY_SIZE / 4] = { - 0x04, 0xc0, 0x9f, 0xe5, /* ldr ip, [pc, #4] */ - 0x0c, 0xc0, 0x8f, 0xe0, /* add ip, pc, ip */ - 0x00, 0xf0, 0x9c, 0xe5, /* ldr pc, [ip] */ - 0x00, 0x00, 0x00, 0x00 /* offset to symbol in got */ + 0xe59fc004, /* ldr ip, [pc, #4] */ + 0xe08fc00c, /* add ip, pc, ip */ + 0xe59cf000, /* ldr pc, [ip] */ + 0x00000000 /* offset to symbol in got */ }; /* The ARM linker needs to keep track of the number of relocs that it @@ -3177,9 +3177,12 @@ elf32_arm_finish_dynamic_symbol (output_ got_offset = (plt_index + 3) * 4; /* Fill in the entry in the procedure linkage table. */ - memcpy (splt->contents + h->plt.offset, - elf32_arm_plt_entry, - PLT_ENTRY_SIZE); + bfd_put_32 (output_bfd, elf32_arm_plt_entry[0], + splt->contents + h->plt.offset + 0); + bfd_put_32 (output_bfd, elf32_arm_plt_entry[1], + splt->contents + h->plt.offset + 4); + bfd_put_32 (output_bfd, elf32_arm_plt_entry[2], + splt->contents + h->plt.offset + 8); bfd_put_32 (output_bfd, (sgot->output_section->vma + sgot->output_offset @@ -3375,7 +3378,12 @@ elf32_arm_finish_dynamic_sections (outpu /* Fill in the first entry in the procedure linkage table. */ if (splt->_raw_size > 0) - memcpy (splt->contents, elf32_arm_plt0_entry, PLT_ENTRY_SIZE); + { + bfd_put_32 (output_bfd, elf32_arm_plt0_entry[0], splt->contents + 0); + bfd_put_32 (output_bfd, elf32_arm_plt0_entry[1], splt->contents + 4); + bfd_put_32 (output_bfd, elf32_arm_plt0_entry[2], splt->contents + 8); + bfd_put_32 (output_bfd, elf32_arm_plt0_entry[3], splt->contents + 12); + } /* UnixWare sets the entsize of .plt to 4, although that doesn't really seem like the right value. */ diff -uprN binutils-2.11.90.0.8/bfd/elf32-hppa.c binutils-2.11.90.0.15/bfd/elf32-hppa.c --- binutils-2.11.90.0.8/bfd/elf32-hppa.c Wed May 2 15:25:06 2001 +++ binutils-2.11.90.0.15/bfd/elf32-hppa.c Sat Jun 9 00:13:01 2001 @@ -366,6 +366,9 @@ static boolean elf32_hppa_adjust_dynamic static boolean hppa_handle_PIC_calls PARAMS ((struct elf_link_hash_entry *, PTR)); +static boolean allocate_plt_and_got + PARAMS ((struct elf_link_hash_entry *, PTR)); + #if ((! LONG_BRANCH_PIC_IN_SHLIB && LONG_BRANCH_VIA_PLT) \ || RELATIVE_DYNAMIC_RELOCS) static boolean hppa_discard_copies @@ -766,7 +769,8 @@ hppa_type_of_stub (input_sec, rel, hash, #if LONG_BRANCH_VIA_PLT if (hash != NULL && hash->elf.dynindx != -1 - && hash->elf.plt.offset != (bfd_vma) -1) + && hash->elf.plt.offset != (bfd_vma) -1 + && hash->elf.type != STT_PARISC_MILLI) { /* If we are doing a shared link and find we need a long branch stub, then go via the .plt if possible. */ @@ -831,6 +835,7 @@ hppa_build_one_stub (gen_entry, in_arg) bfd_byte *loc; bfd_vma sym_value; bfd_vma insn; + bfd_vma off; int val; int size; @@ -938,7 +943,12 @@ hppa_build_one_stub (gen_entry, in_arg) case hppa_stub_import: case hppa_stub_import_shared: - sym_value = (stub_entry->h->elf.plt.offset + off = stub_entry->h->elf.plt.offset; + if (off >= (bfd_vma) -2) + abort (); + + off &= ~ (bfd_vma) 1; + sym_value = (off + hplink->splt->output_offset + hplink->splt->output_section->vma - elf_gp (hplink->splt->output_section->owner)); @@ -997,8 +1007,9 @@ hppa_build_one_stub (gen_entry, in_arg) dynobj = hplink->root.dynobj; eh = (struct elf32_hppa_link_hash_entry *) stub_entry->h; - BFD_ASSERT (eh->elf.root.type == bfd_link_hash_defined - || eh->elf.root.type == bfd_link_hash_defweak); + if (eh->elf.root.type != bfd_link_hash_defined + && eh->elf.root.type != bfd_link_hash_defweak) + abort (); value = (eh->elf.root.u.def.value + eh->elf.root.u.def.section->output_offset @@ -1011,10 +1022,10 @@ hppa_build_one_stub (gen_entry, in_arg) <__gp>. */ bfd_put_32 (hplink->splt->owner, value, - hplink->splt->contents + eh->elf.plt.offset); + hplink->splt->contents + off); value = elf_gp (hplink->splt->output_section->owner); bfd_put_32 (hplink->splt->owner, value, - hplink->splt->contents + eh->elf.plt.offset + 4); + hplink->splt->contents + off + 4); } break; @@ -1136,8 +1147,22 @@ static boolean elf32_hppa_object_p (abfd) bfd *abfd; { - unsigned int flags = elf_elfheader (abfd)->e_flags; + Elf_Internal_Ehdr * i_ehdrp; + unsigned int flags; + i_ehdrp = elf_elfheader (abfd); + if (strcmp (bfd_get_target (abfd), "elf32-hppa-linux") == 0) + { + if (i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_LINUX) + return false; + } + else + { + if (i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_HPUX) + return false; + } + + flags = i_ehdrp->e_flags; switch (flags & (EF_PARISC_ARCH | EF_PARISC_WIDE)) { case EFA_PARISC_1_0: @@ -1288,13 +1313,25 @@ elf32_hppa_check_relocs (abfd, info, sec case R_PARISC_PLABEL21L: case R_PARISC_PLABEL32: /* If the addend is non-zero, we break badly. */ - BFD_ASSERT (rel->r_addend == 0); + if (rel->r_addend != 0) + abort (); /* If we are creating a shared library, then we need to create a PLT entry for all PLABELs, because PLABELs with local symbols may be passed via a pointer to another object. Additionally, output a dynamic relocation - pointing to the PLT entry. */ + pointing to the PLT entry. + For executables, the original 32-bit ABI allowed two + different styles of PLABELs (function pointers): For + global functions, the PLABEL word points into the .plt + two bytes past a (function address, gp) pair, and for + local functions the PLABEL points directly at the + function. The magic +2 for the first type allows us to + differentiate between the two. As you can imagine, this + is a real pain when it comes to generating code to call + functions indirectly or to compare function pointers. + We avoid the mess by always pointing a PLABEL into the + .plt, even for local functions. */ need_entry = PLT_PLABEL | NEED_PLT | NEED_DYNREL; break; @@ -1325,6 +1362,8 @@ elf32_hppa_check_relocs (abfd, info, sec where a symbol is forced local by versioning, or due to symbolic linking, and we lose the .plt entry. */ need_entry = NEED_PLT | NEED_STUBREL; + if (h->elf.type == STT_PARISC_MILLI) + need_entry = NEED_STUBREL; } break; @@ -1423,9 +1462,6 @@ elf32_hppa_check_relocs (abfd, info, sec &h->elf)) return false; } - - hplink->sgot->_raw_size += GOT_ENTRY_SIZE; - hplink->srelgot->_raw_size += sizeof (Elf32_External_Rela); } else h->elf.got.refcount += 1; @@ -1450,20 +1486,7 @@ elf32_hppa_check_relocs (abfd, info, sec memset (local_got_refcounts, -1, size); } if (local_got_refcounts[r_symndx] == -1) - { - local_got_refcounts[r_symndx] = 1; - - hplink->sgot->_raw_size += GOT_ENTRY_SIZE; - if (info->shared) - { - /* If we are generating a shared object, we need to - output a reloc so that the dynamic linker can - adjust this GOT entry (because the address - the shared library is loaded at is not fixed). */ - hplink->srelgot->_raw_size += - sizeof (Elf32_External_Rela); - } - } + local_got_refcounts[r_symndx] = 1; else local_got_refcounts[r_symndx] += 1; } @@ -1765,8 +1788,6 @@ elf32_hppa_gc_sweep_hook (abfd, info, se struct elf_link_hash_entry *h; struct elf32_hppa_link_hash_table *hplink; bfd *dynobj; - asection *sgot; - asection *srelgot; symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); @@ -1779,9 +1800,6 @@ elf32_hppa_gc_sweep_hook (abfd, info, se if (dynobj == NULL) return true; - sgot = hplink->sgot; - srelgot = hplink->srelgot; - relend = relocs + sec->reloc_count; for (rel = relocs; rel < relend; rel++) switch ((unsigned int) ELF32_R_TYPE (rel->r_info)) @@ -1794,27 +1812,12 @@ elf32_hppa_gc_sweep_hook (abfd, info, se { h = sym_hashes[r_symndx - symtab_hdr->sh_info]; if (h->got.refcount > 0) - { - h->got.refcount -= 1; - if (h->got.refcount == 0) - { - sgot->_raw_size -= GOT_ENTRY_SIZE; - srelgot->_raw_size -= sizeof (Elf32_External_Rela); - } - } + h->got.refcount -= 1; } else if (local_got_refcounts != NULL) { if (local_got_refcounts[r_symndx] > 0) - { - local_got_refcounts[r_symndx] -= 1; - if (local_got_refcounts[r_symndx] == 0) - { - sgot->_raw_size -= GOT_ENTRY_SIZE; - if (info->shared) - srelgot->_raw_size -= sizeof (Elf32_External_Rela); - } - } + local_got_refcounts[r_symndx] -= 1; } break; @@ -1872,6 +1875,17 @@ elf32_hppa_hide_symbol (info, h) } } +/* This is the condition under which elf32_hppa_finish_dynamic_symbol + will be called from elflink.h. If elflink.h doesn't call our + finish_dynamic_symbol routine, we'll need to do something about + initializing any .plt and .got entries in elf32_hppa_relocate_section. */ +#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, INFO, H) \ + ((DYN) \ + && ((INFO)->shared \ + || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ + && ((H)->dynindx != -1 \ + || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) + /* Adjust a symbol defined by a dynamic object and referenced by a regular object. The current definition is in some section of the dynamic object, but we're not including those sections. We have to @@ -1930,19 +1944,6 @@ elf32_hppa_adjust_dynamic_symbol (info, } } - /* Make an entry in the .plt section. */ - s = hplink->splt; - h->plt.offset = s->_raw_size; - if (PLABEL_PLT_ENTRY_SIZE != PLT_ENTRY_SIZE - && ((struct elf32_hppa_link_hash_entry *) h)->plabel - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) - { - /* Add some extra space for the dynamic linker to use. */ - s->_raw_size += PLABEL_PLT_ENTRY_SIZE; - } - else - s->_raw_size += PLT_ENTRY_SIZE; - if (! ((struct elf32_hppa_link_hash_entry *) h)->pic_call) { /* Make sure this symbol is output as a dynamic symbol. */ @@ -1952,13 +1953,8 @@ elf32_hppa_adjust_dynamic_symbol (info, if (! bfd_elf32_link_record_dynamic_symbol (info, h)) return false; } - - /* We also need to make an entry in the .rela.plt section. */ - s = hplink->srelplt; - s->_raw_size += sizeof (Elf32_External_Rela); - - hplink->need_plt_stub = 1; } + return true; } @@ -1967,8 +1963,9 @@ elf32_hppa_adjust_dynamic_symbol (info, real definition first, and we can just use the same value. */ if (h->weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); + if (h->weakdef->root.type != bfd_link_hash_defined + && h->weakdef->root.type != bfd_link_hash_defweak) + abort (); h->root.u.def.section = h->weakdef->root.u.def.section; h->root.u.def.value = h->weakdef->root.u.def.value; return true; @@ -2049,13 +2046,8 @@ elf32_hppa_adjust_dynamic_symbol (info, static boolean hppa_handle_PIC_calls (h, inf) struct elf_link_hash_entry *h; - PTR inf; + PTR inf ATTRIBUTE_UNUSED; { - struct bfd_link_info *info; - bfd *dynobj; - struct elf32_hppa_link_hash_table *hplink; - asection *s; - if (! (h->plt.refcount > 0 && (h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) @@ -2070,14 +2062,71 @@ hppa_handle_PIC_calls (h, inf) ((struct elf32_hppa_link_hash_entry *) h)->maybe_pic_call = 1; ((struct elf32_hppa_link_hash_entry *) h)->pic_call = 1; + return true; +} + +/* Allocate space in .plt, .got and associated reloc sections for + global syms. */ + +static boolean +allocate_plt_and_got (h, inf) + struct elf_link_hash_entry *h; + PTR inf; +{ + struct bfd_link_info *info; + struct elf32_hppa_link_hash_table *hplink; + asection *s; + + if (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + return true; + info = (struct bfd_link_info *) inf; hplink = hppa_link_hash_table (info); - dynobj = hplink->root.dynobj; + if ((hplink->root.dynamic_sections_created + && h->plt.refcount > 0) + || ((struct elf32_hppa_link_hash_entry *) h)->pic_call) + { + /* Make an entry in the .plt section. */ + s = hplink->splt; + h->plt.offset = s->_raw_size; + if (PLABEL_PLT_ENTRY_SIZE != PLT_ENTRY_SIZE + && ((struct elf32_hppa_link_hash_entry *) h)->plabel + && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + { + /* Add some extra space for the dynamic linker to use. */ + s->_raw_size += PLABEL_PLT_ENTRY_SIZE; + } + else + s->_raw_size += PLT_ENTRY_SIZE; - /* Make an entry in the .plt section. */ - s = hplink->splt; - h->plt.offset = s->_raw_size; - s->_raw_size += PLT_ENTRY_SIZE; + if (! ((struct elf32_hppa_link_hash_entry *) h)->pic_call + && WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h)) + { + /* We also need to make an entry in the .rela.plt section. */ + hplink->srelplt->_raw_size += sizeof (Elf32_External_Rela); + hplink->need_plt_stub = 1; + } + } + else + { + h->plt.offset = (bfd_vma) -1; + h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + } + + if (h->got.refcount > 0) + { + boolean dyn; + + s = hplink->sgot; + h->got.offset = s->_raw_size; + s->_raw_size += GOT_ENTRY_SIZE; + dyn = hplink->root.dynamic_sections_created; + if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h)) + hplink->srelgot->_raw_size += sizeof (Elf32_External_Rela); + } + else + h->got.offset = (bfd_vma) -1; return true; } @@ -2144,10 +2193,16 @@ clobber_millicode_symbols (h, info) struct elf_link_hash_entry *h; struct bfd_link_info *info; { - /* Note! We only want to remove these from the dynamic symbol - table. Therefore we do not set ELF_LINK_FORCED_LOCAL. */ + /* We only want to remove these from the dynamic symbol table. + Therefore we do not leave ELF_LINK_FORCED_LOCAL set. */ if (h->type == STT_PARISC_MILLI) - elf32_hppa_hide_symbol (info, h); + { + unsigned short oldflags = h->elf_link_hash_flags; + h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; + elf32_hppa_hide_symbol (info, h); + h->elf_link_hash_flags &= ~ELF_LINK_FORCED_LOCAL; + h->elf_link_hash_flags |= oldflags & ELF_LINK_FORCED_LOCAL; + } return true; } @@ -2166,7 +2221,8 @@ elf32_hppa_size_dynamic_sections (output hplink = hppa_link_hash_table (info); dynobj = hplink->root.dynobj; - BFD_ASSERT (dynobj != NULL); + if (dynobj == NULL) + abort (); if (hplink->root.dynamic_sections_created) { @@ -2176,7 +2232,8 @@ elf32_hppa_size_dynamic_sections (output if (! info->shared) { s = bfd_get_section_by_name (dynobj, ".interp"); - BFD_ASSERT (s != NULL); + if (s == NULL) + abort (); s->_raw_size = sizeof ELF_DYNAMIC_INTERPRETER; s->contents = (unsigned char *) ELF_DYNAMIC_INTERPRETER; } @@ -2186,32 +2243,54 @@ elf32_hppa_size_dynamic_sections (output clobber_millicode_symbols, info); - /* Set up .plt offsets for local plabels. */ + /* Set up .got and .plt offsets for local syms. */ for (i = info->input_bfds; i; i = i->link_next) { + bfd_signed_vma *local_got; + bfd_signed_vma *end_local_got; bfd_signed_vma *local_plt; bfd_signed_vma *end_local_plt; bfd_size_type locsymcount; Elf_Internal_Shdr *symtab_hdr; + asection *srel; + + if (bfd_get_flavour (i) != bfd_target_elf_flavour) + continue; - local_plt = elf_local_got_refcounts (i); - if (!local_plt) + local_got = elf_local_got_refcounts (i); + if (!local_got) continue; symtab_hdr = &elf_tdata (i)->symtab_hdr; locsymcount = symtab_hdr->sh_info; - local_plt += locsymcount; - end_local_plt = local_plt + locsymcount; + end_local_got = local_got + locsymcount; + s = hplink->sgot; + srel = hplink->srelgot; + for (; local_got < end_local_got; ++local_got) + { + if (*local_got > 0) + { + *local_got = s->_raw_size; + s->_raw_size += GOT_ENTRY_SIZE; + if (info->shared) + srel->_raw_size += sizeof (Elf32_External_Rela); + } + else + *local_got = (bfd_vma) -1; + } + local_plt = end_local_got; + end_local_plt = local_plt + locsymcount; + s = hplink->splt; + srel = hplink->srelplt; for (; local_plt < end_local_plt; ++local_plt) { if (*local_plt > 0) { - s = hplink->splt; *local_plt = s->_raw_size; s->_raw_size += PLT_ENTRY_SIZE; if (info->shared) - hplink->srelplt->_raw_size += sizeof (Elf32_External_Rela); + srel->_raw_size += sizeof (Elf32_External_Rela); } else *local_plt = (bfd_vma) -1; @@ -2227,15 +2306,13 @@ elf32_hppa_size_dynamic_sections (output elf_link_hash_traverse (&hplink->root, hppa_handle_PIC_calls, info); - - /* We may have created entries in the .rela.got section. - However, if we are not creating the dynamic sections, we will - not actually use these entries. Reset the size of .rela.got, - which will cause it to get stripped from the output file - below. */ - hplink->srelgot->_raw_size = 0; } + /* Allocate global sym .plt and .got entries. */ + elf_link_hash_traverse (&hplink->root, + allocate_plt_and_got, + info); + #if ((! LONG_BRANCH_PIC_IN_SHLIB && LONG_BRANCH_VIA_PLT) \ || RELATIVE_DYNAMIC_RELOCS) /* If this is a -Bsymbolic shared link, then we need to discard all @@ -3144,9 +3221,8 @@ elf32_hppa_final_link (abfd, info) { asection *s; - /* Invoke the regular ELF garbage collecting linker to do all the - work. */ - if (!_bfd_elf32_gc_common_final_link (abfd, info)) + /* Invoke the regular ELF linker to do all the work. */ + if (!bfd_elf32_bfd_final_link (abfd, info)) return false; /* If we're producing a final executable, sort the contents of the @@ -3583,7 +3659,8 @@ elf32_hppa_relocate_section (output_bfd, else if (h->elf.root.type == bfd_link_hash_undefweak) ; else if (info->shared && !info->no_undefined - && ELF_ST_VISIBILITY (h->elf.other) == STV_DEFAULT) + && ELF_ST_VISIBILITY (h->elf.other) == STV_DEFAULT + && h->elf.type != STT_PARISC_MILLI) { if (info->symbolic) if (!((*info->callbacks->undefined_symbol) @@ -3614,15 +3691,14 @@ elf32_hppa_relocate_section (output_bfd, if (h != NULL) { bfd_vma off; + boolean dyn; off = h->elf.got.offset; - BFD_ASSERT (off != (bfd_vma) -1); + if (off == (bfd_vma) -1) + abort (); - if (! hplink->root.dynamic_sections_created - || (info->shared - && (info->symbolic || h->elf.dynindx == -1) - && (h->elf.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0)) + dyn = hplink->root.dynamic_sections_created; + if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, &h->elf)) { /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined @@ -3653,10 +3729,9 @@ elf32_hppa_relocate_section (output_bfd, /* Local symbol case. */ bfd_vma off; - BFD_ASSERT (local_got_offsets != NULL - && local_got_offsets[r_symndx] != (bfd_vma) -1); - - off = local_got_offsets[r_symndx]; + if (local_got_offsets == NULL + || (off = local_got_offsets[r_symndx]) == (bfd_vma) -1) + abort (); /* The offset must always be a multiple of 4. We use the least significant bit to record whether we have @@ -3670,10 +3745,10 @@ elf32_hppa_relocate_section (output_bfd, if (info->shared) { - /* Output a dynamic *ABS* relocation for this - GOT entry. In this case it is relative to - the base of the object because the symbol - index is zero. */ + /* Output a dynamic relocation for this GOT + entry. In this case it is relative to the + base of the object because the symbol index + is zero. */ Elf_Internal_Rela outrel; asection *srelgot = hplink->srelgot; @@ -3721,6 +3796,24 @@ elf32_hppa_relocate_section (output_bfd, if (h != NULL) { off = h->elf.plt.offset; + if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, &h->elf)) + { + /* In a non-shared link, adjust_dynamic_symbols + isn't called for symbols forced local. We + need to write out the plt entry here. */ + if ((off & 1) != 0) + off &= ~1; + else + { + bfd_put_32 (output_bfd, + relocation, + hplink->splt->contents + off); + bfd_put_32 (output_bfd, + elf_gp (hplink->splt->output_section->owner), + hplink->splt->contents + off + 4); + h->elf.plt.offset |= 1; + } + } } else { @@ -3766,7 +3859,8 @@ elf32_hppa_relocate_section (output_bfd, } } - BFD_ASSERT (off < (bfd_vma) -2); + if (off >= (bfd_vma) -2 || (off & 1) != 0) + abort (); /* PLABELs contain function pointers. Relocation is to the entry for the function in the .plt. The magic +2 @@ -3833,7 +3927,8 @@ elf32_hppa_relocate_section (output_bfd, if (name == NULL) return false; sreloc = bfd_get_section_by_name (dynobj, name); - BFD_ASSERT (sreloc != NULL); + if (sreloc == NULL) + abort (); } outrel.r_offset = rel->r_offset; @@ -3999,6 +4094,9 @@ elf32_hppa_finish_dynamic_symbol (output { bfd_vma value; + if (h->plt.offset & 1) + abort (); + /* This symbol has an entry in the procedure linkage table. Set it up. @@ -4029,8 +4127,8 @@ elf32_hppa_finish_dynamic_symbol (output { /* To support lazy linking, the function pointer is initialised to point to a special stub stored at the - end of the .plt. This is only done for plt entries - with a non-*ABS* dynamic relocation. */ + end of the .plt. This is not done for plt entries + with a base-relative dynamic relocation. */ value = (hplink->splt->output_offset + hplink->splt->output_section->vma + hplink->splt->_raw_size @@ -4088,15 +4186,14 @@ elf32_hppa_finish_dynamic_symbol (output + hplink->sgot->output_offset + hplink->sgot->output_section->vma); - /* 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 (! hplink->root.dynamic_sections_created - || (info->shared - && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + /* If this 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 (info->shared + && (info->symbolic || h->dynindx == -1) + && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) { rel.r_info = ELF32_R_INFO (0, R_PARISC_DIR32); rel.r_addend = (h->root.u.def.value @@ -4105,7 +4202,8 @@ elf32_hppa_finish_dynamic_symbol (output } else { - BFD_ASSERT((h->got.offset & 1) == 0); + if ((h->got.offset & 1) != 0) + abort (); bfd_put_32 (output_bfd, (bfd_vma) 0, hplink->sgot->contents + h->got.offset); rel.r_info = ELF32_R_INFO (h->dynindx, R_PARISC_DIR32); @@ -4126,9 +4224,10 @@ elf32_hppa_finish_dynamic_symbol (output /* This symbol needs a copy reloc. Set it up. */ - BFD_ASSERT (h->dynindx != -1 - && (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak)); + if (! (h->dynindx != -1 + && (h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak))) + abort (); s = hplink->srelbss; @@ -4174,7 +4273,8 @@ elf32_hppa_finish_dynamic_sections (outp { Elf32_External_Dyn *dyncon, *dynconend; - BFD_ASSERT (sdyn != NULL); + if (sdyn == NULL) + abort (); dyncon = (Elf32_External_Dyn *) sdyn->contents; dynconend = (Elf32_External_Dyn *) (sdyn->contents + sdyn->_raw_size); diff -uprN binutils-2.11.90.0.8/bfd/elf32-i386.c binutils-2.11.90.0.15/bfd/elf32-i386.c --- binutils-2.11.90.0.8/bfd/elf32-i386.c Fri Apr 27 14:03:45 2001 +++ binutils-2.11.90.0.15/bfd/elf32-i386.c Sat Jun 9 00:13:01 2001 @@ -35,13 +35,20 @@ static struct bfd_hash_entry *elf_i386_l PARAMS ((struct bfd_hash_entry *, struct bfd_hash_table *, const char *)); static struct bfd_link_hash_table *elf_i386_link_hash_table_create PARAMS ((bfd *)); +static boolean create_got_section PARAMS((bfd *, struct bfd_link_info *)); +static boolean elf_i386_create_dynamic_sections + PARAMS((bfd *, struct bfd_link_info *)); static boolean elf_i386_check_relocs PARAMS ((bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *)); static boolean elf_i386_adjust_dynamic_symbol PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *)); +static boolean allocate_plt_and_got + PARAMS ((struct elf_link_hash_entry *, PTR)); static boolean elf_i386_size_dynamic_sections PARAMS ((bfd *, struct bfd_link_info *)); +static boolean discard_copies + PARAMS ((struct elf_link_hash_entry *, PTR)); static boolean elf_i386_relocate_section PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, Elf_Internal_Rela *, Elf_Internal_Sym *, asection **)); @@ -385,20 +392,16 @@ struct elf_i386_link_hash_entry struct elf_i386_link_hash_table { struct elf_link_hash_table root; -}; - -/* Declare this now that the above structures are defined. */ - -static boolean elf_i386_discard_copies - PARAMS ((struct elf_i386_link_hash_entry *, PTR)); - -/* Traverse an i386 ELF linker hash table. */ -#define elf_i386_link_hash_traverse(table, func, info) \ - (elf_link_hash_traverse \ - (&(table)->root, \ - (boolean (*) PARAMS ((struct elf_link_hash_entry *, PTR))) (func), \ - (info))) + /* Short-cuts to get to dynamic linker sections. */ + asection *sgot; + asection *sgotplt; + asection *srelgot; + asection *splt; + asection *srelplt; + asection *sdynbss; + asection *srelbss; +}; /* Get the i386 ELF linker hash table from a link_info structure. */ @@ -457,9 +460,78 @@ elf_i386_link_hash_table_create (abfd) return NULL; } + ret->sgot = NULL; + ret->sgotplt = NULL; + ret->srelgot = NULL; + ret->splt = NULL; + ret->srelplt = NULL; + ret->sdynbss = NULL; + ret->srelbss = NULL; + return &ret->root.root; } +/* Create .got, .gotplt, and .rel.got sections in DYNOBJ, and set up + shortcuts to them in our hash table. */ + +static boolean +create_got_section (dynobj, info) + bfd *dynobj; + struct bfd_link_info *info; +{ + struct elf_i386_link_hash_table *htab; + + if (! _bfd_elf_create_got_section (dynobj, info)) + return false; + + htab = elf_i386_hash_table (info); + htab->sgot = bfd_get_section_by_name (dynobj, ".got"); + htab->sgotplt = bfd_get_section_by_name (dynobj, ".got.plt"); + if (!htab->sgot || !htab->sgotplt) + abort (); + + htab->srelgot = bfd_make_section (dynobj, ".rel.got"); + if (htab->srelgot == NULL + || ! bfd_set_section_flags (dynobj, htab->srelgot, + (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS + | SEC_IN_MEMORY | SEC_LINKER_CREATED + | SEC_READONLY)) + || ! bfd_set_section_alignment (dynobj, htab->srelgot, 2)) + return false; + return true; +} + +/* Create .plt, .rel.plt, .got, .got.plt, .rel.got, .dynbss, and + .rel.bss sections in DYNOBJ, and set up shortcuts to them in our + hash table. */ + +static boolean +elf_i386_create_dynamic_sections (dynobj, info) + bfd *dynobj; + struct bfd_link_info *info; +{ + struct elf_i386_link_hash_table *htab; + + htab = elf_i386_hash_table (info); + if (!htab->sgot && !create_got_section (dynobj, info)) + return false; + + if (!_bfd_elf_create_dynamic_sections (dynobj, info)) + return false; + + htab->splt = bfd_get_section_by_name (dynobj, ".plt"); + htab->srelplt = bfd_get_section_by_name (dynobj, ".rel.plt"); + htab->sdynbss = bfd_get_section_by_name (dynobj, ".dynbss"); + if (!info->shared) + htab->srelbss = bfd_get_section_by_name (dynobj, ".rel.bss"); + + if (!htab->splt || !htab->srelplt || !htab->sdynbss + || (!info->shared && !htab->srelbss)) + abort (); + + return true; +} + /* Look through the relocs for a section during the first phase, and allocate space in the global offset table or procedure linkage table. */ @@ -471,26 +543,24 @@ elf_i386_check_relocs (abfd, info, sec, asection *sec; const Elf_Internal_Rela *relocs; { + struct elf_i386_link_hash_table *htab; bfd *dynobj; Elf_Internal_Shdr *symtab_hdr; struct elf_link_hash_entry **sym_hashes; bfd_signed_vma *local_got_refcounts; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; - asection *sgot; - asection *srelgot; asection *sreloc; if (info->relocateable) return true; - dynobj = elf_hash_table (info)->dynobj; + htab = elf_i386_hash_table (info); + dynobj = htab->root.dynobj; symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); local_got_refcounts = elf_local_got_refcounts (abfd); - sgot = NULL; - srelgot = NULL; sreloc = NULL; rel_end = relocs + sec->reloc_count; @@ -501,7 +571,7 @@ elf_i386_check_relocs (abfd, info, sec, r_symndx = ELF32_R_SYM (rel->r_info); - if (r_symndx >= symtab_hdr->sh_size / symtab_hdr->sh_entsize) + if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr)) { if (abfd->my_archive) (*_bfd_error_handler) (_("%s(%s): bad symbol index: %d"), @@ -529,7 +599,7 @@ elf_i386_check_relocs (abfd, info, sec, case R_386_GOTOFF: case R_386_GOTPC: elf_hash_table (info)->dynobj = dynobj = abfd; - if (! _bfd_elf_create_got_section (dynobj, info)) + if (!create_got_section (dynobj, info)) return false; break; @@ -542,48 +612,17 @@ elf_i386_check_relocs (abfd, info, sec, { case R_386_GOT32: /* This symbol requires a global offset table entry. */ - - if (sgot == NULL) - { - sgot = bfd_get_section_by_name (dynobj, ".got"); - BFD_ASSERT (sgot != NULL); - } - - if (srelgot == NULL - && (h != NULL || info->shared)) - { - srelgot = bfd_get_section_by_name (dynobj, ".rel.got"); - if (srelgot == NULL) - { - srelgot = bfd_make_section (dynobj, ".rel.got"); - if (srelgot == NULL - || ! bfd_set_section_flags (dynobj, srelgot, - (SEC_ALLOC - | SEC_LOAD - | SEC_HAS_CONTENTS - | SEC_IN_MEMORY - | SEC_LINKER_CREATED - | SEC_READONLY)) - || ! bfd_set_section_alignment (dynobj, srelgot, 2)) - return false; - } - } - if (h != NULL) { if (h->got.refcount == -1) { - h->got.refcount = 1; - /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1) { if (! bfd_elf32_link_record_dynamic_symbol (info, h)) return false; } - - sgot->_raw_size += 4; - srelgot->_raw_size += sizeof (Elf32_External_Rel); + h->got.refcount = 1; } else h->got.refcount += 1; @@ -604,18 +643,7 @@ elf_i386_check_relocs (abfd, info, sec, memset (local_got_refcounts, -1, size); } if (local_got_refcounts[r_symndx] == -1) - { - local_got_refcounts[r_symndx] = 1; - - sgot->_raw_size += 4; - if (info->shared) - { - /* If we are generating a shared object, we need to - output a R_386_RELATIVE reloc so that the dynamic - linker can adjust this GOT entry. */ - srelgot->_raw_size += sizeof (Elf32_External_Rel); - } - } + local_got_refcounts[r_symndx] = 1; else local_got_refcounts[r_symndx] += 1; } @@ -636,8 +664,8 @@ elf_i386_check_relocs (abfd, info, sec, if (h->plt.refcount == -1) { - h->plt.refcount = 1; h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->plt.refcount = 1; } else h->plt.refcount += 1; @@ -646,7 +674,19 @@ elf_i386_check_relocs (abfd, info, sec, case R_386_32: case R_386_PC32: if (h != NULL) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + { + h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + + if (!info->shared) + { + /* We may need a .plt entry if the function this + reloc refers to is in a shared lib. */ + if (h->plt.refcount == -1) + h->plt.refcount = 1; + else + h->plt.refcount += 1; + } + } /* If we are creating a shared library, and this is a reloc against a global symbol, or a non PC relative reloc @@ -832,7 +872,7 @@ elf_i386_gc_mark_hook (abfd, info, rel, static boolean elf_i386_gc_sweep_hook (abfd, info, sec, relocs) bfd *abfd; - struct bfd_link_info *info ATTRIBUTE_UNUSED; + struct bfd_link_info *info; asection *sec; const Elf_Internal_Rela *relocs; { @@ -843,19 +883,14 @@ elf_i386_gc_sweep_hook (abfd, info, sec, unsigned long r_symndx; struct elf_link_hash_entry *h; bfd *dynobj; - asection *sgot; - asection *srelgot; - - symtab_hdr = &elf_tdata (abfd)->symtab_hdr; - sym_hashes = elf_sym_hashes (abfd); - local_got_refcounts = elf_local_got_refcounts (abfd); dynobj = elf_hash_table (info)->dynobj; if (dynobj == NULL) return true; - sgot = bfd_get_section_by_name (dynobj, ".got"); - srelgot = bfd_get_section_by_name (dynobj, ".rel.got"); + symtab_hdr = &elf_tdata (abfd)->symtab_hdr; + sym_hashes = elf_sym_hashes (abfd); + local_got_refcounts = elf_local_got_refcounts (abfd); relend = relocs + sec->reloc_count; for (rel = relocs; rel < relend; rel++) @@ -869,30 +904,21 @@ elf_i386_gc_sweep_hook (abfd, info, sec, { h = sym_hashes[r_symndx - symtab_hdr->sh_info]; if (h->got.refcount > 0) - { - h->got.refcount -= 1; - if (h->got.refcount == 0) - { - sgot->_raw_size -= 4; - srelgot->_raw_size -= sizeof (Elf32_External_Rel); - } - } + h->got.refcount -= 1; } else if (local_got_refcounts != NULL) { if (local_got_refcounts[r_symndx] > 0) - { - local_got_refcounts[r_symndx] -= 1; - if (local_got_refcounts[r_symndx] == 0) - { - sgot->_raw_size -= 4; - if (info->shared) - srelgot->_raw_size -= sizeof (Elf32_External_Rel); - } - } + local_got_refcounts[r_symndx] -= 1; } break; + case R_386_32: + case R_386_PC32: + if (info->shared) + break; + /* Fall through. */ + case R_386_PLT32: r_symndx = ELF32_R_SYM (rel->r_info); if (r_symndx >= symtab_hdr->sh_info) @@ -921,11 +947,13 @@ elf_i386_adjust_dynamic_symbol (info, h) struct bfd_link_info *info; struct elf_link_hash_entry *h; { + struct elf_i386_link_hash_table *htab; bfd *dynobj; asection *s; unsigned int power_of_two; - dynobj = elf_hash_table (info)->dynobj; + htab = elf_i386_hash_table (info); + dynobj = htab->root.dynobj; /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL @@ -944,17 +972,17 @@ elf_i386_adjust_dynamic_symbol (info, h) if (h->type == STT_FUNC || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) { - if ((! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0) - || (info->shared && h->plt.refcount <= 0)) + if (h->plt.refcount <= 0 + || (! info->shared + && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 + && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0)) { /* This case can occur if we saw a PLT32 reloc in an input file, but the symbol was never referred to by a dynamic object, or if all references were garbage collected. In such a case, we don't actually need to build a procedure linkage table, and we can just do a PC32 reloc instead. */ - h->plt.offset = (bfd_vma) -1; + h->plt.refcount = (bfd_vma) -1; h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; return true; } @@ -966,44 +994,15 @@ elf_i386_adjust_dynamic_symbol (info, h) return false; } - s = bfd_get_section_by_name (dynobj, ".plt"); - BFD_ASSERT (s != NULL); - - /* If this is the first .plt entry, make room for the special - first entry. */ - if (s->_raw_size == 0) - s->_raw_size += PLT_ENTRY_SIZE; - - /* If this symbol is not defined in a regular file, and we are - not generating a shared library, then set the symbol to this - location in the .plt. This is required to make function - pointers compare as equal between the normal executable and - the shared library. */ - if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) - { - h->root.u.def.section = s; - h->root.u.def.value = s->_raw_size; - } - - h->plt.offset = s->_raw_size; - - /* Make room for this entry. */ - s->_raw_size += PLT_ENTRY_SIZE; - - /* We also need to make an entry in the .got.plt section, which - will be placed in the .got section by the linker script. */ - s = bfd_get_section_by_name (dynobj, ".got.plt"); - BFD_ASSERT (s != NULL); - s->_raw_size += 4; - - /* We also need to make an entry in the .rel.plt section. */ - s = bfd_get_section_by_name (dynobj, ".rel.plt"); - BFD_ASSERT (s != NULL); - s->_raw_size += sizeof (Elf32_External_Rel); - return true; } + else + /* It's possible that we incorrectly decided a .plt reloc was + needed for an R_386_PC32 reloc to a non-function sym in + check_relocs. We can't decide accurately between function and + non-function syms in check-relocs; Objects loaded later in + the link may change h->type. So fix it now. */ + h->plt.refcount = (bfd_vma) -1; /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the @@ -1042,7 +1041,7 @@ elf_i386_adjust_dynamic_symbol (info, h) both the dynamic object and the regular object will refer to the same memory location for the variable. */ - s = bfd_get_section_by_name (dynobj, ".dynbss"); + s = htab->sdynbss; BFD_ASSERT (s != NULL); /* We must generate a R_386_COPY reloc to tell the dynamic linker to @@ -1053,7 +1052,7 @@ elf_i386_adjust_dynamic_symbol (info, h) { asection *srel; - srel = bfd_get_section_by_name (dynobj, ".rel.bss"); + srel = htab->srelbss; BFD_ASSERT (srel != NULL); srel->_raw_size += sizeof (Elf32_External_Rel); h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; @@ -1084,6 +1083,101 @@ elf_i386_adjust_dynamic_symbol (info, h) return true; } +/* This is the condition under which elf_i386_finish_dynamic_symbol + will be called from elflink.h. If elflink.h doesn't call our + finish_dynamic_symbol routine, we'll need to do something about + initializing any .plt and .got entries in elf_i386_relocate_section. */ +#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, INFO, H) \ + ((DYN) \ + && ((INFO)->shared \ + || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ + && ((H)->dynindx != -1 \ + || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) + +/* Allocate space in .plt, .got and associated reloc sections for + global syms. */ + +static boolean +allocate_plt_and_got (h, inf) + struct elf_link_hash_entry *h; + PTR inf; +{ + struct bfd_link_info *info; + struct elf_i386_link_hash_table *htab; + asection *s; + + if (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + return true; + + info = (struct bfd_link_info *) inf; + htab = elf_i386_hash_table (info); + + if (htab->root.dynamic_sections_created + && h->plt.refcount > 0) + { + s = htab->splt; + BFD_ASSERT (s != NULL); + + /* If this is the first .plt entry, make room for the special + first entry. */ + if (s->_raw_size == 0) + s->_raw_size += PLT_ENTRY_SIZE; + + h->plt.offset = s->_raw_size; + + /* If this symbol is not defined in a regular file, and we are + not generating a shared library, then set the symbol to this + location in the .plt. This is required to make function + pointers compare as equal between the normal executable and + the shared library. */ + if (! info->shared + && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + { + h->root.u.def.section = s; + h->root.u.def.value = h->plt.offset; + } + + /* Make room for this entry. */ + s->_raw_size += PLT_ENTRY_SIZE; + + /* We also need to make an entry in the .got.plt section, which + will be placed in the .got section by the linker script. */ + s = htab->sgotplt; + BFD_ASSERT (s != NULL); + s->_raw_size += 4; + + if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h)) + { + /* We also need to make an entry in the .rel.plt section. */ + s = htab->srelplt; + BFD_ASSERT (s != NULL); + s->_raw_size += sizeof (Elf32_External_Rel); + } + } + else + { + h->plt.offset = (bfd_vma) -1; + h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + } + + if (h->got.refcount > 0) + { + boolean dyn; + + s = htab->sgot; + h->got.offset = s->_raw_size; + s->_raw_size += 4; + dyn = htab->root.dynamic_sections_created; + if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h)) + htab->srelgot->_raw_size += sizeof (Elf32_External_Rel); + } + else + h->got.offset = (bfd_vma) -1; + + return true; +} + /* Set the sizes of the dynamic sections. */ static boolean @@ -1091,17 +1185,20 @@ elf_i386_size_dynamic_sections (output_b bfd *output_bfd; struct bfd_link_info *info; { + struct elf_i386_link_hash_table *htab; bfd *dynobj; asection *s; - boolean plt; boolean relocs; boolean reltext; - dynobj = elf_hash_table (info)->dynobj; + htab = elf_i386_hash_table (info); + dynobj = htab->root.dynobj; BFD_ASSERT (dynobj != NULL); - if (elf_hash_table (info)->dynamic_sections_created) + if (htab->root.dynamic_sections_created) { + bfd *i; + /* Set the contents of the .interp section to the interpreter. */ if (! info->shared) { @@ -1110,63 +1207,75 @@ elf_i386_size_dynamic_sections (output_b s->_raw_size = sizeof ELF_DYNAMIC_INTERPRETER; s->contents = (unsigned char *) ELF_DYNAMIC_INTERPRETER; } + + /* Set up .got offsets for local syms. */ + for (i = info->input_bfds; i; i = i->link_next) + { + bfd_signed_vma *local_got; + bfd_signed_vma *end_local_got; + bfd_size_type locsymcount; + Elf_Internal_Shdr *symtab_hdr; + asection *srel; + + if (bfd_get_flavour (i) != bfd_target_elf_flavour) + continue; + + local_got = elf_local_got_refcounts (i); + if (!local_got) + continue; + + symtab_hdr = &elf_tdata (i)->symtab_hdr; + locsymcount = symtab_hdr->sh_info; + end_local_got = local_got + locsymcount; + s = htab->sgot; + srel = htab->srelgot; + for (; local_got < end_local_got; ++local_got) + { + if (*local_got > 0) + { + *local_got = s->_raw_size; + s->_raw_size += 4; + if (info->shared) + srel->_raw_size += sizeof (Elf32_External_Rel); + } + else + *local_got = (bfd_vma) -1; + } + } } - else - { - /* We may have created entries in the .rel.got section. - However, if we are not creating the dynamic sections, we will - not actually use these entries. Reset the size of .rel.got, - which will cause it to get stripped from the output file - below. */ - s = bfd_get_section_by_name (dynobj, ".rel.got"); - if (s != NULL) - s->_raw_size = 0; - } + + /* Allocate global sym .plt and .got entries. */ + elf_link_hash_traverse (&htab->root, + allocate_plt_and_got, + (PTR) info); /* If this is a -Bsymbolic shared link, then we need to discard all PC relative relocs against symbols defined in a regular object. We allocated space for them in the check_relocs routine, but we will not fill them in in the relocate_section routine. */ if (info->shared) - elf_i386_link_hash_traverse (elf_i386_hash_table (info), - elf_i386_discard_copies, - (PTR) info); + elf_link_hash_traverse (&htab->root, + discard_copies, + (PTR) info); /* The check_relocs and adjust_dynamic_symbol entry points have determined the sizes of the various dynamic sections. Allocate memory for them. */ - plt = false; relocs = false; reltext = false; for (s = dynobj->sections; s != NULL; s = s->next) { - const char *name; - boolean strip; - if ((s->flags & SEC_LINKER_CREATED) == 0) continue; - /* It's OK to base decisions on the section name, because none - of the dynobj section names depend upon the input files. */ - name = bfd_get_section_name (dynobj, s); - - strip = false; - - if (strcmp (name, ".plt") == 0) + if (s == htab->splt + || s == htab->sgot + || s == htab->sgotplt) { - if (s->_raw_size == 0) - { - /* Strip this section if we don't need it; see the - comment below. */ - strip = true; - } - else - { - /* Remember whether there is a PLT. */ - plt = true; - } + /* Strip this section if we don't need it; see the + comment below. */ } - else if (strncmp (name, ".rel", 4) == 0) + else if (strncmp (bfd_get_section_name (dynobj, s), ".rel", 4) == 0) { if (s->_raw_size == 0) { @@ -1179,7 +1288,6 @@ elf_i386_size_dynamic_sections (output_b adjust_dynamic_symbol is called, and it is that function which decides whether anything needs to go into these sections. */ - strip = true; } else { @@ -1187,7 +1295,7 @@ elf_i386_size_dynamic_sections (output_b /* Remember whether there are any reloc sections other than .rel.plt. */ - if (strcmp (name, ".rel.plt") != 0) + if (s != htab->srelplt) { const char *outname; @@ -1212,13 +1320,13 @@ elf_i386_size_dynamic_sections (output_b s->reloc_count = 0; } } - else if (strncmp (name, ".got", 4) != 0) + else { /* It's not one of our sections, so don't allocate space. */ continue; } - if (strip) + if (s->_raw_size == 0) { _bfd_strip_section_from_output (info, s); continue; @@ -1230,11 +1338,11 @@ elf_i386_size_dynamic_sections (output_b but this way if it does, we get a R_386_NONE reloc instead of garbage. */ s->contents = (bfd_byte *) bfd_zalloc (dynobj, s->_raw_size); - if (s->contents == NULL && s->_raw_size != 0) + if (s->contents == NULL) return false; } - if (elf_hash_table (info)->dynamic_sections_created) + if (htab->root.dynamic_sections_created) { /* Add some entries to the .dynamic section. We fill in the values later, in elf_i386_finish_dynamic_sections, but we @@ -1247,7 +1355,7 @@ elf_i386_size_dynamic_sections (output_b return false; } - if (plt) + if (htab->splt->_raw_size != 0) { if (! bfd_elf32_add_dynamic_entry (info, DT_PLTGOT, 0) || ! bfd_elf32_add_dynamic_entry (info, DT_PLTRELSZ, 0) @@ -1276,7 +1384,7 @@ elf_i386_size_dynamic_sections (output_b return true; } -/* This function is called via elf_i386_link_hash_traverse if we are +/* This function is called via elf_link_hash_traverse if we are creating a shared object. In the -Bsymbolic case, it discards the space allocated to copy PC relative relocs against symbols which are defined in regular objects. For the normal non-symbolic case, @@ -1286,21 +1394,25 @@ elf_i386_size_dynamic_sections (output_b relocate_section routine. */ static boolean -elf_i386_discard_copies (h, inf) - struct elf_i386_link_hash_entry *h; +discard_copies (h, inf) + struct elf_link_hash_entry *h; PTR inf; { struct elf_i386_pcrel_relocs_copied *s; - struct bfd_link_info *info = (struct bfd_link_info *) inf; + struct bfd_link_info *info; + struct elf_i386_link_hash_entry *eh; + + info = (struct bfd_link_info *) inf; + eh = (struct elf_i386_link_hash_entry *) h; /* If a symbol has been forced local or we have found a regular definition for the symbolic link case, then we won't be needing any relocs. */ - if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 - && ((h->root.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0 + if ((eh->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 + && ((eh->root.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0 || info->symbolic)) { - for (s = h->pcrel_relocs_copied; s != NULL; s = s->next) + for (s = eh->pcrel_relocs_copied; s != NULL; s = s->next) s->section->_raw_size -= s->count * sizeof (Elf32_External_Rel); } @@ -1321,30 +1433,22 @@ elf_i386_relocate_section (output_bfd, i Elf_Internal_Sym *local_syms; asection **local_sections; { + struct elf_i386_link_hash_table *htab; bfd *dynobj; Elf_Internal_Shdr *symtab_hdr; struct elf_link_hash_entry **sym_hashes; bfd_vma *local_got_offsets; - asection *sgot; - asection *splt; asection *sreloc; Elf_Internal_Rela *rel; Elf_Internal_Rela *relend; - dynobj = elf_hash_table (info)->dynobj; + htab = elf_i386_hash_table (info); + dynobj = htab->root.dynobj; symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; sym_hashes = elf_sym_hashes (input_bfd); local_got_offsets = elf_local_got_offsets (input_bfd); sreloc = NULL; - splt = NULL; - sgot = NULL; - if (dynobj != NULL) - { - splt = bfd_get_section_by_name (dynobj, ".plt"); - sgot = bfd_get_section_by_name (dynobj, ".got"); - } - rel = relocs; relend = relocs + input_section->reloc_count; for (; rel < relend; rel++) @@ -1416,20 +1520,25 @@ elf_i386_relocate_section (output_bfd, i while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + relocation = 0; if (h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) { sec = h->root.u.def.section; if (r_type == R_386_GOTPC || (r_type == R_386_PLT32 - && splt != NULL + && htab->splt != NULL && h->plt.offset != (bfd_vma) -1) || (r_type == R_386_GOT32 - && elf_hash_table (info)->dynamic_sections_created - && (! info->shared - || (! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + && (WILL_CALL_FINISH_DYNAMIC_SYMBOL + (htab->root.dynamic_sections_created, info, h)) + && !(info->shared + && (info->symbolic + || h->dynindx == -1 + || (h->elf_link_hash_flags + & ELF_LINK_FORCED_LOCAL)) + && (h->elf_link_hash_flags + & ELF_LINK_HASH_DEF_REGULAR))) || (info->shared && ((! info->symbolic && h->dynindx != -1) || (h->elf_link_hash_flags @@ -1444,31 +1553,28 @@ elf_i386_relocate_section (output_bfd, i || ((input_section->flags & SEC_DEBUGGING) != 0 && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)))) - { - /* In these cases, we don't need the relocation - value. We check specially because in some - obscure cases sec->output_section will be NULL. */ - relocation = 0; - } + /* In these cases, we don't need the relocation + value. We check specially because in some + obscure cases sec->output_section will be NULL. */ + ; else if (sec->output_section == NULL) - { - (*_bfd_error_handler) - (_("%s: warning: unresolvable relocation against symbol `%s' from %s section"), - bfd_get_filename (input_bfd), h->root.root.string, - bfd_get_section_name (input_bfd, input_section)); - relocation = 0; - } + (*_bfd_error_handler) + (_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"), + bfd_get_filename (input_bfd), + bfd_get_section_name (input_bfd, input_section), + (long) rel->r_offset, + h->root.root.string); else relocation = (h->root.u.def.value + sec->output_section->vma + sec->output_offset); } else if (h->root.type == bfd_link_hash_undefweak) - relocation = 0; + ; else if (info->shared && !info->symbolic && !info->no_undefined && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) - relocation = 0; + ; else { if (! ((*info->callbacks->undefined_symbol) @@ -1477,7 +1583,6 @@ elf_i386_relocate_section (output_bfd, i (!info->shared || info->no_undefined || ELF_ST_VISIBILITY (h->other))))) return false; - relocation = 0; } } @@ -1486,18 +1591,22 @@ elf_i386_relocate_section (output_bfd, i case R_386_GOT32: /* Relocation is to the entry for this symbol in the global offset table. */ - BFD_ASSERT (sgot != NULL); + BFD_ASSERT (htab->sgot != NULL); if (h != NULL) { bfd_vma off; + boolean dyn; off = h->got.offset; BFD_ASSERT (off != (bfd_vma) -1); - if (! elf_hash_table (info)->dynamic_sections_created + dyn = htab->root.dynamic_sections_created; + if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h) || (info->shared - && (info->symbolic || h->dynindx == -1) + && (info->symbolic + || h->dynindx == -1 + || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) { /* This is actually a static link, or it is a @@ -1517,12 +1626,12 @@ elf_i386_relocate_section (output_bfd, i else { bfd_put_32 (output_bfd, relocation, - sgot->contents + off); + htab->sgot->contents + off); h->got.offset |= 1; } } - relocation = sgot->output_offset + off; + relocation = htab->sgot->output_offset + off; } else { @@ -1540,18 +1649,19 @@ elf_i386_relocate_section (output_bfd, i off &= ~1; else { - bfd_put_32 (output_bfd, relocation, sgot->contents + off); + bfd_put_32 (output_bfd, relocation, + htab->sgot->contents + off); if (info->shared) { asection *srelgot; Elf_Internal_Rel outrel; - srelgot = bfd_get_section_by_name (dynobj, ".rel.got"); + srelgot = htab->srelgot; BFD_ASSERT (srelgot != NULL); - outrel.r_offset = (sgot->output_section->vma - + sgot->output_offset + outrel.r_offset = (htab->sgot->output_section->vma + + htab->sgot->output_offset + off); outrel.r_info = ELF32_R_INFO (0, R_386_RELATIVE); bfd_elf32_swap_reloc_out (output_bfd, &outrel, @@ -1564,7 +1674,7 @@ elf_i386_relocate_section (output_bfd, i local_got_offsets[r_symndx] |= 1; } - relocation = sgot->output_offset + off; + relocation = htab->sgot->output_offset + off; } break; @@ -1573,32 +1683,18 @@ elf_i386_relocate_section (output_bfd, i /* Relocation is relative to the start of the global offset table. */ - if (sgot == NULL) - { - sgot = bfd_get_section_by_name (dynobj, ".got"); - BFD_ASSERT (sgot != NULL); - } - /* Note that sgot->output_offset is not involved in this calculation. We always want the start of .got. If we defined _GLOBAL_OFFSET_TABLE in a different way, as is permitted by the ABI, we might have to change this calculation. */ - relocation -= sgot->output_section->vma; + relocation -= htab->sgot->output_section->vma; break; case R_386_GOTPC: /* Use global offset table as symbol value. */ - - if (sgot == NULL) - { - sgot = bfd_get_section_by_name (dynobj, ".got"); - BFD_ASSERT (sgot != NULL); - } - - relocation = sgot->output_section->vma; - + relocation = htab->sgot->output_section->vma; break; case R_386_PLT32: @@ -1611,7 +1707,7 @@ elf_i386_relocate_section (output_bfd, i break; if (h->plt.offset == (bfd_vma) -1 - || splt == NULL) + || htab->splt == NULL) { /* We didn't make a PLT entry for this symbol. This happens when statically linking PIC code, or when @@ -1619,8 +1715,8 @@ elf_i386_relocate_section (output_bfd, i break; } - relocation = (splt->output_section->vma - + splt->output_offset + relocation = (htab->splt->output_section->vma + + htab->splt->output_offset + h->plt.offset); break; @@ -1797,15 +1893,14 @@ elf_i386_finish_dynamic_symbol (output_b struct elf_link_hash_entry *h; Elf_Internal_Sym *sym; { + struct elf_i386_link_hash_table *htab; bfd *dynobj; - dynobj = elf_hash_table (info)->dynobj; + htab = elf_i386_hash_table (info); + dynobj = htab->root.dynobj; if (h->plt.offset != (bfd_vma) -1) { - asection *splt; - asection *sgot; - asection *srel; bfd_vma plt_index; bfd_vma got_offset; Elf_Internal_Rel rel; @@ -1813,12 +1908,10 @@ elf_i386_finish_dynamic_symbol (output_b /* This symbol has an entry in the procedure linkage table. Set it up. */ - BFD_ASSERT (h->dynindx != -1); - - splt = bfd_get_section_by_name (dynobj, ".plt"); - sgot = bfd_get_section_by_name (dynobj, ".got.plt"); - srel = bfd_get_section_by_name (dynobj, ".rel.plt"); - BFD_ASSERT (splt != NULL && sgot != NULL && srel != NULL); + BFD_ASSERT (h->dynindx != -1 + && htab->splt != NULL + && htab->sgotplt != NULL + && htab->srelplt != NULL); /* Get the index in the procedure linkage table which corresponds to this symbol. This is the index of this symbol @@ -1834,42 +1927,42 @@ elf_i386_finish_dynamic_symbol (output_b /* Fill in the entry in the procedure linkage table. */ if (! info->shared) { - memcpy (splt->contents + h->plt.offset, elf_i386_plt_entry, + memcpy (htab->splt->contents + h->plt.offset, elf_i386_plt_entry, PLT_ENTRY_SIZE); bfd_put_32 (output_bfd, - (sgot->output_section->vma - + sgot->output_offset + (htab->sgotplt->output_section->vma + + htab->sgotplt->output_offset + got_offset), - splt->contents + h->plt.offset + 2); + htab->splt->contents + h->plt.offset + 2); } else { - memcpy (splt->contents + h->plt.offset, elf_i386_pic_plt_entry, + memcpy (htab->splt->contents + h->plt.offset, elf_i386_pic_plt_entry, PLT_ENTRY_SIZE); bfd_put_32 (output_bfd, got_offset, - splt->contents + h->plt.offset + 2); + htab->splt->contents + h->plt.offset + 2); } bfd_put_32 (output_bfd, plt_index * sizeof (Elf32_External_Rel), - splt->contents + h->plt.offset + 7); + htab->splt->contents + h->plt.offset + 7); bfd_put_32 (output_bfd, - (h->plt.offset + PLT_ENTRY_SIZE), - splt->contents + h->plt.offset + 12); + htab->splt->contents + h->plt.offset + 12); /* Fill in the entry in the global offset table. */ bfd_put_32 (output_bfd, - (splt->output_section->vma - + splt->output_offset + (htab->splt->output_section->vma + + htab->splt->output_offset + h->plt.offset + 6), - sgot->contents + got_offset); + htab->sgotplt->contents + got_offset); /* Fill in the entry in the .rel.plt section. */ - rel.r_offset = (sgot->output_section->vma - + sgot->output_offset + rel.r_offset = (htab->sgotplt->output_section->vma + + htab->sgotplt->output_offset + got_offset); rel.r_info = ELF32_R_INFO (h->dynindx, R_386_JUMP_SLOT); bfd_elf32_swap_reloc_out (output_bfd, &rel, - ((Elf32_External_Rel *) srel->contents + ((Elf32_External_Rel *) htab->srelplt->contents + plt_index)); if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) @@ -1882,19 +1975,15 @@ elf_i386_finish_dynamic_symbol (output_b if (h->got.offset != (bfd_vma) -1) { - asection *sgot; - asection *srel; Elf_Internal_Rel rel; /* This symbol has an entry in the global offset table. Set it up. */ - sgot = bfd_get_section_by_name (dynobj, ".got"); - srel = bfd_get_section_by_name (dynobj, ".rel.got"); - BFD_ASSERT (sgot != NULL && srel != NULL); + BFD_ASSERT (htab->sgot != NULL && htab->srelgot != NULL); - rel.r_offset = (sgot->output_section->vma - + sgot->output_offset + rel.r_offset = (htab->sgot->output_section->vma + + htab->sgot->output_offset + (h->got.offset &~ 1)); /* If this is a static link, or it is a -Bsymbolic link and the @@ -1902,49 +1991,48 @@ elf_i386_finish_dynamic_symbol (output_b 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))) + if (info->shared + && (info->symbolic + || h->dynindx == -1 + || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) + && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) { + BFD_ASSERT((h->got.offset & 1) != 0); rel.r_info = ELF32_R_INFO (0, R_386_RELATIVE); } else { BFD_ASSERT((h->got.offset & 1) == 0); - bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents + h->got.offset); + bfd_put_32 (output_bfd, (bfd_vma) 0, + htab->sgot->contents + h->got.offset); rel.r_info = ELF32_R_INFO (h->dynindx, R_386_GLOB_DAT); } bfd_elf32_swap_reloc_out (output_bfd, &rel, - ((Elf32_External_Rel *) srel->contents - + srel->reloc_count)); - ++srel->reloc_count; + ((Elf32_External_Rel *) htab->srelgot->contents + + htab->srelgot->reloc_count)); + ++htab->srelgot->reloc_count; } if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) { - asection *s; Elf_Internal_Rel rel; /* This symbol needs a copy reloc. Set it up. */ BFD_ASSERT (h->dynindx != -1 && (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak)); - - s = bfd_get_section_by_name (h->root.u.def.section->owner, - ".rel.bss"); - BFD_ASSERT (s != NULL); + || h->root.type == bfd_link_hash_defweak) + && htab->srelbss != NULL); rel.r_offset = (h->root.u.def.value + h->root.u.def.section->output_section->vma + h->root.u.def.section->output_offset); rel.r_info = ELF32_R_INFO (h->dynindx, R_386_COPY); bfd_elf32_swap_reloc_out (output_bfd, &rel, - ((Elf32_External_Rel *) s->contents - + s->reloc_count)); - ++s->reloc_count; + ((Elf32_External_Rel *) htab->srelbss->contents + + htab->srelbss->reloc_count)); + ++htab->srelbss->reloc_count; } /* Mark _DYNAMIC and _GLOBAL_OFFSET_TABLE_ as absolute. */ @@ -1962,19 +2050,18 @@ elf_i386_finish_dynamic_sections (output bfd *output_bfd; struct bfd_link_info *info; { + struct elf_i386_link_hash_table *htab; bfd *dynobj; - asection *sgot; asection *sdyn; - dynobj = elf_hash_table (info)->dynobj; + htab = elf_i386_hash_table (info); + dynobj = htab->root.dynobj; - sgot = bfd_get_section_by_name (dynobj, ".got.plt"); - BFD_ASSERT (sgot != NULL); + BFD_ASSERT (htab->sgot != NULL); sdyn = bfd_get_section_by_name (dynobj, ".dynamic"); - if (elf_hash_table (info)->dynamic_sections_created) + if (htab->root.dynamic_sections_created) { - asection *splt; Elf32_External_Dyn *dyncon, *dynconend; BFD_ASSERT (sdyn != NULL); @@ -1984,8 +2071,6 @@ elf_i386_finish_dynamic_sections (output for (; dyncon < dynconend; dyncon++) { Elf_Internal_Dyn dyn; - const char *name; - asection *s; bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn); @@ -1995,24 +2080,20 @@ elf_i386_finish_dynamic_sections (output break; case DT_PLTGOT: - name = ".got"; - goto get_vma; + dyn.d_un.d_ptr = htab->sgot->output_section->vma; + bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); + break; + case DT_JMPREL: - name = ".rel.plt"; - get_vma: - s = bfd_get_section_by_name (output_bfd, name); - BFD_ASSERT (s != NULL); - dyn.d_un.d_ptr = s->vma; + dyn.d_un.d_ptr = htab->srelplt->output_section->vma; bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); break; case DT_PLTRELSZ: - s = bfd_get_section_by_name (output_bfd, ".rel.plt"); - BFD_ASSERT (s != NULL); - if (s->_cooked_size != 0) - dyn.d_un.d_val = s->_cooked_size; + if (htab->srelplt->output_section->_cooked_size != 0) + dyn.d_un.d_val = htab->srelplt->output_section->_cooked_size; else - dyn.d_un.d_val = s->_raw_size; + dyn.d_un.d_val = htab->srelplt->output_section->_raw_size; bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); break; @@ -2026,13 +2107,12 @@ elf_i386_finish_dynamic_sections (output the linker script arranges for .rel.plt to follow all other relocation sections, we don't have to worry about changing the DT_REL entry. */ - s = bfd_get_section_by_name (output_bfd, ".rel.plt"); - if (s != NULL) + if (htab->srelplt != NULL) { - if (s->_cooked_size != 0) - dyn.d_un.d_val -= s->_cooked_size; + if (htab->srelplt->output_section->_cooked_size != 0) + dyn.d_un.d_val -= htab->srelplt->output_section->_cooked_size; else - dyn.d_un.d_val -= s->_raw_size; + dyn.d_un.d_val -= htab->srelplt->output_section->_raw_size; } bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); break; @@ -2040,42 +2120,46 @@ elf_i386_finish_dynamic_sections (output } /* Fill in the first entry in the procedure linkage table. */ - splt = bfd_get_section_by_name (dynobj, ".plt"); - if (splt && splt->_raw_size > 0) + if (htab->splt && htab->splt->_raw_size > 0) { if (info->shared) - memcpy (splt->contents, elf_i386_pic_plt0_entry, PLT_ENTRY_SIZE); + memcpy (htab->splt->contents, + elf_i386_pic_plt0_entry, PLT_ENTRY_SIZE); else { - memcpy (splt->contents, elf_i386_plt0_entry, PLT_ENTRY_SIZE); + memcpy (htab->splt->contents, + elf_i386_plt0_entry, PLT_ENTRY_SIZE); bfd_put_32 (output_bfd, - sgot->output_section->vma + sgot->output_offset + 4, - splt->contents + 2); + (htab->sgotplt->output_section->vma + + htab->sgotplt->output_offset + + 4), + htab->splt->contents + 2); bfd_put_32 (output_bfd, - sgot->output_section->vma + sgot->output_offset + 8, - splt->contents + 8); + (htab->sgotplt->output_section->vma + + htab->sgotplt->output_offset + + 8), + htab->splt->contents + 8); } /* UnixWare sets the entsize of .plt to 4, although that doesn't really seem like the right value. */ - elf_section_data (splt->output_section)->this_hdr.sh_entsize = 4; + elf_section_data (htab->splt->output_section) + ->this_hdr.sh_entsize = 4; } } /* Fill in the first three entries in the global offset table. */ - if (sgot->_raw_size > 0) + if (htab->sgotplt->_raw_size > 0) { - if (sdyn == NULL) - bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents); - else - bfd_put_32 (output_bfd, - sdyn->output_section->vma + sdyn->output_offset, - sgot->contents); - bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents + 4); - bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents + 8); + bfd_put_32 (output_bfd, + (sdyn == NULL ? (bfd_vma) 0 + : sdyn->output_section->vma + sdyn->output_offset), + htab->sgotplt->contents); + bfd_put_32 (output_bfd, (bfd_vma) 0, htab->sgotplt->contents + 4); + bfd_put_32 (output_bfd, (bfd_vma) 0, htab->sgotplt->contents + 8); } - elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4; + elf_section_data (htab->sgotplt->output_section)->this_hdr.sh_entsize = 4; return true; } @@ -2134,14 +2218,13 @@ elf_i386_fake_sections (abfd, hdr, sec) #define elf_info_to_howto elf_i386_info_to_howto #define elf_info_to_howto_rel elf_i386_info_to_howto_rel -#define bfd_elf32_bfd_final_link _bfd_elf32_gc_common_final_link #define bfd_elf32_bfd_is_local_label_name elf_i386_is_local_label_name #define bfd_elf32_bfd_link_hash_table_create elf_i386_link_hash_table_create #define bfd_elf32_bfd_reloc_type_lookup elf_i386_reloc_type_lookup #define elf_backend_adjust_dynamic_symbol elf_i386_adjust_dynamic_symbol #define elf_backend_check_relocs elf_i386_check_relocs -#define elf_backend_create_dynamic_sections _bfd_elf_create_dynamic_sections +#define elf_backend_create_dynamic_sections elf_i386_create_dynamic_sections #define elf_backend_finish_dynamic_sections elf_i386_finish_dynamic_sections #define elf_backend_finish_dynamic_symbol elf_i386_finish_dynamic_symbol #define elf_backend_gc_mark_hook elf_i386_gc_mark_hook diff -uprN binutils-2.11.90.0.8/bfd/elf32-mips.c binutils-2.11.90.0.15/bfd/elf32-mips.c --- binutils-2.11.90.0.8/bfd/elf32-mips.c Sat May 12 00:57:55 2001 +++ binutils-2.11.90.0.15/bfd/elf32-mips.c Sun Jun 10 10:55:09 2001 @@ -249,8 +249,8 @@ static bfd *reldyn_sorting_bfd; (abfd->xvec == &bfd_elf32_tradlittlemips_vec)) ? ict_none : \ ((ABI_N32_P (abfd) || ABI_64_P (abfd)) ? ict_irix6 : ict_irix5)) #endif -/* Whether we are trying to be compatible with IRIX at all. */ +/* Whether we are trying to be compatible with IRIX at all. */ #define SGI_COMPAT(abfd) \ (IRIX_COMPAT (abfd) != ict_none) @@ -2331,7 +2331,8 @@ _bfd_mips_elf_object_p (abfd) /* Irix 5 and 6 is broken. Object file symbol tables are not always sorted correctly such that local symbols precede global symbols, and the sh_info field in the symbol table is not always right. */ - elf_bad_symtab (abfd) = true; + if (SGI_COMPAT(abfd)) + elf_bad_symtab (abfd) = true; bfd_default_set_arch_mach (abfd, bfd_arch_mips, elf_mips_mach (elf_elfheader (abfd)->e_flags)); @@ -2390,6 +2391,8 @@ _bfd_mips_elf_final_write_processing (ab break; case bfd_mach_mips8000: + case bfd_mach_mips10000: + case bfd_mach_mips12000: val = E_MIPS_ARCH_4; break; @@ -3071,7 +3074,7 @@ _bfd_mips_elf_fake_sections (abfd, hdr, boolean _bfd_mips_elf_section_from_bfd_section (abfd, hdr, sec, retval) - bfd *abfd; + bfd *abfd ATTRIBUTE_UNUSED; Elf_Internal_Shdr *hdr ATTRIBUTE_UNUSED; asection *sec; int *retval; @@ -6822,8 +6825,7 @@ _bfd_mips_elf_relocate_section (output_b REL_HDR is read before its REL_HDR2. */ rel_hdr = &elf_section_data (input_section)->rel_hdr; if ((size_t) (rel - relocs) - >= (rel_hdr->sh_size / rel_hdr->sh_entsize - * bed->s->int_rels_per_ext_rel)) + >= (NUM_SHDR_ENTRIES (rel_hdr) * bed->s->int_rels_per_ext_rel)) rel_hdr = elf_section_data (input_section)->rel_hdr2; if (rel_hdr->sh_entsize == MIPS_ELF_REL_SIZE (input_bfd)) { @@ -7592,7 +7594,7 @@ _bfd_mips_elf_check_relocs (abfd, info, asection **n; if (elf_bad_symtab (abfd)) - symcount = symtab_hdr->sh_size / symtab_hdr->sh_entsize; + symcount = NUM_SHDR_ENTRIES (symtab_hdr); else symcount = symtab_hdr->sh_info; n = (asection **) bfd_zalloc (abfd, @@ -7707,7 +7709,7 @@ _bfd_mips_elf_check_relocs (abfd, info, if (r_symndx < extsymoff) h = NULL; - else if (r_symndx >= extsymoff + (symtab_hdr->sh_size / symtab_hdr->sh_entsize)) + else if (r_symndx >= extsymoff + NUM_SHDR_ENTRIES (symtab_hdr)) { (*_bfd_error_handler) (_("Malformed reloc detected for section %s"), name); @@ -8333,7 +8335,7 @@ _bfd_mips_elf_size_dynamic_sections (out int i; bfd_size_type loadable_size = 0; bfd_size_type local_gotno; - struct _bfd *sub; + bfd *sub; BFD_ASSERT (elf_section_data (s) != NULL); g = (struct mips_got_info *) elf_section_data (s)->tdata; diff -uprN binutils-2.11.90.0.8/bfd/elf32-sh.c binutils-2.11.90.0.15/bfd/elf32-sh.c --- binutils-2.11.90.0.8/bfd/elf32-sh.c Sat Mar 17 12:47:53 2001 +++ binutils-2.11.90.0.15/bfd/elf32-sh.c Wed May 23 11:36:03 2001 @@ -2091,6 +2091,115 @@ sh_elf_swap_insns (abfd, sec, relocs, co /* First entry in an absolute procedure linkage table look like this. */ +#if 1 +/* Note - this code has been "optimised" not to use r2. r2 is used by + GCC to return the address of large strutcures, so it should not be + corrupted here. This does mean however, that this PLT does not conform + to the SH PIC ABI. That spec says that r0 contains the type of the PLT + and r2 contains the GOT id. This version stores the GOT id in r0 and + ignores the type. Loaders can easily detect this difference however, + since the type will always be 0 or 8, and the GOT ids will always be + greater than or equal to 12. */ +static const bfd_byte elf_sh_plt0_entry_be[PLT_ENTRY_SIZE] = +{ + 0xd0, 0x05, /* mov.l 2f,r0 */ + 0x60, 0x02, /* mov.l @r0,r0 */ + 0x2f, 0x06, /* mov.l r0,@-r15 */ + 0xd0, 0x03, /* mov.l 1f,r0 */ + 0x60, 0x02, /* mov.l @r0,r0 */ + 0x40, 0x2b, /* jmp @r0 */ + 0x60, 0xf6, /* mov.l @r15+,r0 */ + 0x00, 0x09, /* nop */ + 0x00, 0x09, /* nop */ + 0x00, 0x09, /* nop */ + 0, 0, 0, 0, /* 1: replaced with address of .got.plt + 8. */ + 0, 0, 0, 0, /* 2: replaced with address of .got.plt + 4. */ +}; + +static const bfd_byte elf_sh_plt0_entry_le[PLT_ENTRY_SIZE] = +{ + 0x05, 0xd0, /* mov.l 2f,r0 */ + 0x02, 0x60, /* mov.l @r0,r0 */ + 0x06, 0x2f, /* mov.l r0,@-r15 */ + 0x03, 0xd0, /* mov.l 1f,r0 */ + 0x02, 0x60, /* mov.l @r0,r0 */ + 0x2b, 0x40, /* jmp @r0 */ + 0xf6, 0x60, /* mov.l @r15+,r0 */ + 0x09, 0x00, /* nop */ + 0x09, 0x00, /* nop */ + 0x09, 0x00, /* nop */ + 0, 0, 0, 0, /* 1: replaced with address of .got.plt + 8. */ + 0, 0, 0, 0, /* 2: replaced with address of .got.plt + 4. */ +}; + +/* Sebsequent entries in an absolute procedure linkage table look like + this. */ + +static const bfd_byte elf_sh_plt_entry_be[PLT_ENTRY_SIZE] = +{ + 0xd0, 0x04, /* mov.l 1f,r0 */ + 0x60, 0x02, /* mov.l @r0,r0 */ + 0xd1, 0x02, /* mov.l 0f,r1 */ + 0x40, 0x2b, /* jmp @r0 */ + 0x60, 0x13, /* mov r1,r0 */ + 0xd1, 0x03, /* mov.l 2f,r1 */ + 0x40, 0x2b, /* jmp @r0 */ + 0x00, 0x09, /* nop */ + 0, 0, 0, 0, /* 0: replaced with address of .PLT0. */ + 0, 0, 0, 0, /* 1: replaced with address of this symbol in .got. */ + 0, 0, 0, 0, /* 2: replaced with offset into relocation table. */ +}; + +static const bfd_byte elf_sh_plt_entry_le[PLT_ENTRY_SIZE] = +{ + 0x04, 0xd0, /* mov.l 1f,r0 */ + 0x02, 0x60, /* mov.l @r0,r0 */ + 0x02, 0xd1, /* mov.l 0f,r1 */ + 0x2b, 0x40, /* jmp @r0 */ + 0x13, 0x60, /* mov r1,r0 */ + 0x03, 0xd1, /* mov.l 2f,r1 */ + 0x2b, 0x40, /* jmp @r0 */ + 0x09, 0x00, /* nop */ + 0, 0, 0, 0, /* 0: replaced with address of .PLT0. */ + 0, 0, 0, 0, /* 1: replaced with address of this symbol in .got. */ + 0, 0, 0, 0, /* 2: replaced with offset into relocation table. */ +}; + +/* Entries in a PIC procedure linkage table look like this. */ + +static const bfd_byte elf_sh_pic_plt_entry_be[PLT_ENTRY_SIZE] = +{ + 0xd0, 0x04, /* mov.l 1f,r0 */ + 0x00, 0xce, /* mov.l @(r0,r12),r0 */ + 0x40, 0x2b, /* jmp @r0 */ + 0x00, 0x09, /* nop */ + 0x50, 0xc2, /* mov.l @(8,r12),r0 */ + 0xd1, 0x03, /* mov.l 2f,r1 */ + 0x40, 0x2b, /* jmp @r0 */ + 0x50, 0xc1, /* mov.l @(4,r12),r0 */ + 0x00, 0x09, /* nop */ + 0x00, 0x09, /* nop */ + 0, 0, 0, 0, /* 1: replaced with address of this symbol in .got. */ + 0, 0, 0, 0 /* 2: replaced with offset into relocation table. */ +}; + +static const bfd_byte elf_sh_pic_plt_entry_le[PLT_ENTRY_SIZE] = +{ + 0x04, 0xd0, /* mov.l 1f,r0 */ + 0xce, 0x00, /* mov.l @(r0,r12),r0 */ + 0x2b, 0x40, /* jmp @r0 */ + 0x09, 0x00, /* nop */ + 0xc2, 0x50, /* mov.l @(8,r12),r0 */ + 0x03, 0xd1, /* mov.l 2f,r1 */ + 0x2b, 0x40, /* jmp @r0 */ + 0xc1, 0x50, /* mov.l @(4,r12),r0 */ + 0x09, 0x00, /* nop */ + 0x09, 0x00, /* nop */ + 0, 0, 0, 0, /* 1: replaced with address of this symbol in .got. */ + 0, 0, 0, 0 /* 2: replaced with offset into relocation table. */ +}; + +#else /* These are the old style PLT entries. */ static const bfd_byte elf_sh_plt0_entry_be[PLT_ENTRY_SIZE] = { 0xd0, 0x04, /* mov.l 1f,r0 */ @@ -2189,6 +2298,7 @@ static const bfd_byte elf_sh_pic_plt_ent 0, 0, 0, 0, /* 1: replaced with address of this symbol in .got. */ 0, 0, 0, 0 /* 2: replaced with offset into relocation table. */ }; +#endif /* old style PLT entries. */ static const bfd_byte *elf_sh_plt0_entry; static const bfd_byte *elf_sh_plt_entry; diff -uprN binutils-2.11.90.0.8/bfd/elf32-sparc.c binutils-2.11.90.0.15/bfd/elf32-sparc.c --- binutils-2.11.90.0.8/bfd/elf32-sparc.c Fri Mar 9 11:37:58 2001 +++ binutils-2.11.90.0.15/bfd/elf32-sparc.c Fri Jun 1 21:47:13 2001 @@ -120,9 +120,9 @@ reloc_howto_type _bfd_sparc_elf_howto_ta HOWTO(R_SPARC_NONE, 0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_NONE", false,0,0x00000000,true), HOWTO(R_SPARC_NONE, 0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_NONE", false,0,0x00000000,true), HOWTO(R_SPARC_NONE, 0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_NONE", false,0,0x00000000,true), - HOWTO(R_SPARC_NONE, 0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_NONE", false,0,0x00000000,true), - HOWTO(R_SPARC_NONE, 0,0, 0,false,0,complain_overflow_dont, bfd_elf_generic_reloc, "R_SPARC_NONE", false,0,0x00000000,true), - HOWTO(R_SPARC_REV32, 0,2,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_REV32", false,0,0xffffffff,true), + HOWTO(R_SPARC_UA64, 0,4,64,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_UA64", false,0,(~ (bfd_vma)0), true), + HOWTO(R_SPARC_UA16, 0,1,16,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_UA16", false,0,0x0000ffff,true), + HOWTO(R_SPARC_REV32, 0,2,32,false,0,complain_overflow_bitfield,bfd_elf_generic_reloc, "R_SPARC_REV32", false,0,0xffffffff,true), }; static reloc_howto_type elf32_sparc_vtinherit_howto = HOWTO (R_SPARC_GNU_VTINHERIT, 0,2,0,false,0,complain_overflow_dont, NULL, "R_SPARC_GNU_VTINHERIT", false,0, 0, false); @@ -159,26 +159,27 @@ static CONST struct elf_reloc_map sparc_ { BFD_RELOC_SPARC_JMP_SLOT, R_SPARC_JMP_SLOT }, { BFD_RELOC_SPARC_RELATIVE, R_SPARC_RELATIVE }, { BFD_RELOC_SPARC_WDISP22, R_SPARC_WDISP22 }, - /* ??? Doesn't dwarf use this? */ -/*{ BFD_RELOC_SPARC_UA32, R_SPARC_UA32 }, not used?? */ - {BFD_RELOC_SPARC_10, R_SPARC_10}, - {BFD_RELOC_SPARC_11, R_SPARC_11}, - {BFD_RELOC_SPARC_64, R_SPARC_64}, - {BFD_RELOC_SPARC_OLO10, R_SPARC_OLO10}, - {BFD_RELOC_SPARC_HH22, R_SPARC_HH22}, - {BFD_RELOC_SPARC_HM10, R_SPARC_HM10}, - {BFD_RELOC_SPARC_LM22, R_SPARC_LM22}, - {BFD_RELOC_SPARC_PC_HH22, R_SPARC_PC_HH22}, - {BFD_RELOC_SPARC_PC_HM10, R_SPARC_PC_HM10}, - {BFD_RELOC_SPARC_PC_LM22, R_SPARC_PC_LM22}, - {BFD_RELOC_SPARC_WDISP16, R_SPARC_WDISP16}, - {BFD_RELOC_SPARC_WDISP19, R_SPARC_WDISP19}, - {BFD_RELOC_SPARC_7, R_SPARC_7}, - {BFD_RELOC_SPARC_5, R_SPARC_5}, - {BFD_RELOC_SPARC_6, R_SPARC_6}, - {BFD_RELOC_SPARC_REV32, R_SPARC_REV32 }, - {BFD_RELOC_VTABLE_INHERIT, R_SPARC_GNU_VTINHERIT}, - {BFD_RELOC_VTABLE_ENTRY, R_SPARC_GNU_VTENTRY}, + { BFD_RELOC_SPARC_UA16, R_SPARC_UA16 }, + { BFD_RELOC_SPARC_UA32, R_SPARC_UA32 }, + { BFD_RELOC_SPARC_UA64, R_SPARC_UA64 }, + { BFD_RELOC_SPARC_10, R_SPARC_10 }, + { BFD_RELOC_SPARC_11, R_SPARC_11 }, + { BFD_RELOC_SPARC_64, R_SPARC_64 }, + { BFD_RELOC_SPARC_OLO10, R_SPARC_OLO10 }, + { BFD_RELOC_SPARC_HH22, R_SPARC_HH22 }, + { BFD_RELOC_SPARC_HM10, R_SPARC_HM10 }, + { BFD_RELOC_SPARC_LM22, R_SPARC_LM22 }, + { BFD_RELOC_SPARC_PC_HH22, R_SPARC_PC_HH22 }, + { BFD_RELOC_SPARC_PC_HM10, R_SPARC_PC_HM10 }, + { BFD_RELOC_SPARC_PC_LM22, R_SPARC_PC_LM22 }, + { BFD_RELOC_SPARC_WDISP16, R_SPARC_WDISP16 }, + { BFD_RELOC_SPARC_WDISP19, R_SPARC_WDISP19 }, + { BFD_RELOC_SPARC_7, R_SPARC_7 }, + { BFD_RELOC_SPARC_5, R_SPARC_5 }, + { BFD_RELOC_SPARC_6, R_SPARC_6 }, + { BFD_RELOC_SPARC_REV32, R_SPARC_REV32 }, + { BFD_RELOC_VTABLE_INHERIT, R_SPARC_GNU_VTINHERIT }, + { BFD_RELOC_VTABLE_ENTRY, R_SPARC_GNU_VTENTRY }, }; static reloc_howto_type * @@ -551,7 +552,9 @@ elf32_sparc_check_relocs (abfd, info, se case R_SPARC_22: case R_SPARC_13: case R_SPARC_LO10: + case R_SPARC_UA16: case R_SPARC_UA32: + case R_SPARC_UA64: if (h != NULL) h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; @@ -1218,7 +1221,9 @@ elf32_sparc_relocate_section (output_bfd || r_type == R_SPARC_22 || r_type == R_SPARC_13 || r_type == R_SPARC_LO10 + || r_type == R_SPARC_UA16 || r_type == R_SPARC_UA32 + || r_type == R_SPARC_UA64 || ((r_type == R_SPARC_PC10 || r_type == R_SPARC_PC22) && strcmp (h->root.root.string, @@ -1405,7 +1410,9 @@ elf32_sparc_relocate_section (output_bfd case R_SPARC_22: case R_SPARC_13: case R_SPARC_LO10: + case R_SPARC_UA16: case R_SPARC_UA32: + case R_SPARC_UA64: if (info->shared) { Elf_Internal_Rela outrel; diff -uprN binutils-2.11.90.0.8/bfd/elf64-alpha.c binutils-2.11.90.0.15/bfd/elf64-alpha.c --- binutils-2.11.90.0.8/bfd/elf64-alpha.c Sat May 12 00:57:56 2001 +++ binutils-2.11.90.0.15/bfd/elf64-alpha.c Wed May 23 11:36:03 2001 @@ -2831,7 +2831,7 @@ elf64_alpha_can_merge_gots (a, b) Elf_Internal_Shdr *symtab_hdr = &elf_tdata (bsub)->symtab_hdr; int i, n; - n = symtab_hdr->sh_size / symtab_hdr->sh_entsize - symtab_hdr->sh_info; + n = NUM_SHDR_ENTRIES (symtab_hdr) - symtab_hdr->sh_info; for (i = 0; i < n; ++i) { struct alpha_elf_got_entry *ae, *be; @@ -2903,7 +2903,7 @@ elf64_alpha_merge_gots (a, b) hashes = alpha_elf_sym_hashes (bsub); symtab_hdr = &elf_tdata (bsub)->symtab_hdr; - n = symtab_hdr->sh_size / symtab_hdr->sh_entsize - symtab_hdr->sh_info; + n = NUM_SHDR_ENTRIES (symtab_hdr) - symtab_hdr->sh_info; for (i = 0; i < n; ++i) { struct alpha_elf_got_entry *ae, *be, **pbe, **start; diff -uprN binutils-2.11.90.0.8/bfd/elf64-hppa.c binutils-2.11.90.0.15/bfd/elf64-hppa.c --- binutils-2.11.90.0.8/bfd/elf64-hppa.c Sat Feb 3 14:52:36 2001 +++ binutils-2.11.90.0.15/bfd/elf64-hppa.c Sat Jun 2 23:14:57 2001 @@ -358,8 +358,22 @@ static boolean elf64_hppa_object_p (abfd) bfd *abfd; { - unsigned int flags = elf_elfheader (abfd)->e_flags; + Elf_Internal_Ehdr * i_ehdrp; + unsigned int flags; + i_ehdrp = elf_elfheader (abfd); + if (strcmp (bfd_get_target (abfd), "elf64-hppa-linux") == 0) + { + if (i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_LINUX) + return false; + } + else + { + if (i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_HPUX) + return false; + } + + flags = i_ehdrp->e_flags; switch (flags & (EF_PARISC_ARCH | EF_PARISC_WIDE)) { case EFA_PARISC_1_0: diff -uprN binutils-2.11.90.0.8/bfd/elf64-sparc.c binutils-2.11.90.0.15/bfd/elf64-sparc.c --- binutils-2.11.90.0.8/bfd/elf64-sparc.c Fri Mar 9 11:37:59 2001 +++ binutils-2.11.90.0.15/bfd/elf64-sparc.c Fri Jun 1 21:47:13 2001 @@ -188,31 +188,32 @@ static CONST struct elf_reloc_map sparc_ { BFD_RELOC_SPARC_JMP_SLOT, R_SPARC_JMP_SLOT }, { BFD_RELOC_SPARC_RELATIVE, R_SPARC_RELATIVE }, { BFD_RELOC_SPARC_WDISP22, R_SPARC_WDISP22 }, - /* ??? Doesn't dwarf use this? */ -/*{ BFD_RELOC_SPARC_UA32, R_SPARC_UA32 }, not used?? */ - {BFD_RELOC_SPARC_10, R_SPARC_10}, - {BFD_RELOC_SPARC_11, R_SPARC_11}, - {BFD_RELOC_SPARC_64, R_SPARC_64}, - {BFD_RELOC_SPARC_OLO10, R_SPARC_OLO10}, - {BFD_RELOC_SPARC_HH22, R_SPARC_HH22}, - {BFD_RELOC_SPARC_HM10, R_SPARC_HM10}, - {BFD_RELOC_SPARC_LM22, R_SPARC_LM22}, - {BFD_RELOC_SPARC_PC_HH22, R_SPARC_PC_HH22}, - {BFD_RELOC_SPARC_PC_HM10, R_SPARC_PC_HM10}, - {BFD_RELOC_SPARC_PC_LM22, R_SPARC_PC_LM22}, - {BFD_RELOC_SPARC_WDISP16, R_SPARC_WDISP16}, - {BFD_RELOC_SPARC_WDISP19, R_SPARC_WDISP19}, - {BFD_RELOC_SPARC_7, R_SPARC_7}, - {BFD_RELOC_SPARC_5, R_SPARC_5}, - {BFD_RELOC_SPARC_6, R_SPARC_6}, - {BFD_RELOC_SPARC_DISP64, R_SPARC_DISP64}, - {BFD_RELOC_SPARC_PLT64, R_SPARC_PLT64}, - {BFD_RELOC_SPARC_HIX22, R_SPARC_HIX22}, - {BFD_RELOC_SPARC_LOX10, R_SPARC_LOX10}, - {BFD_RELOC_SPARC_H44, R_SPARC_H44}, - {BFD_RELOC_SPARC_M44, R_SPARC_M44}, - {BFD_RELOC_SPARC_L44, R_SPARC_L44}, - {BFD_RELOC_SPARC_REGISTER, R_SPARC_REGISTER} + { BFD_RELOC_SPARC_UA16, R_SPARC_UA16 }, + { BFD_RELOC_SPARC_UA32, R_SPARC_UA32 }, + { BFD_RELOC_SPARC_UA64, R_SPARC_UA64 }, + { BFD_RELOC_SPARC_10, R_SPARC_10 }, + { BFD_RELOC_SPARC_11, R_SPARC_11 }, + { BFD_RELOC_SPARC_64, R_SPARC_64 }, + { BFD_RELOC_SPARC_OLO10, R_SPARC_OLO10 }, + { BFD_RELOC_SPARC_HH22, R_SPARC_HH22 }, + { BFD_RELOC_SPARC_HM10, R_SPARC_HM10 }, + { BFD_RELOC_SPARC_LM22, R_SPARC_LM22 }, + { BFD_RELOC_SPARC_PC_HH22, R_SPARC_PC_HH22 }, + { BFD_RELOC_SPARC_PC_HM10, R_SPARC_PC_HM10 }, + { BFD_RELOC_SPARC_PC_LM22, R_SPARC_PC_LM22 }, + { BFD_RELOC_SPARC_WDISP16, R_SPARC_WDISP16 }, + { BFD_RELOC_SPARC_WDISP19, R_SPARC_WDISP19 }, + { BFD_RELOC_SPARC_7, R_SPARC_7 }, + { BFD_RELOC_SPARC_5, R_SPARC_5 }, + { BFD_RELOC_SPARC_6, R_SPARC_6 }, + { BFD_RELOC_SPARC_DISP64, R_SPARC_DISP64 }, + { BFD_RELOC_SPARC_PLT64, R_SPARC_PLT64 }, + { BFD_RELOC_SPARC_HIX22, R_SPARC_HIX22 }, + { BFD_RELOC_SPARC_LOX10, R_SPARC_LOX10 }, + { BFD_RELOC_SPARC_H44, R_SPARC_H44 }, + { BFD_RELOC_SPARC_M44, R_SPARC_M44 }, + { BFD_RELOC_SPARC_L44, R_SPARC_L44 }, + { BFD_RELOC_SPARC_REGISTER, R_SPARC_REGISTER } }; static reloc_howto_type * @@ -396,7 +397,7 @@ sparc64_elf_slurp_reloc_table (abfd, ase return true; rel_hdr = &d->this_hdr; - asect->reloc_count = rel_hdr->sh_size / rel_hdr->sh_entsize; + asect->reloc_count = NUM_SHDR_ENTRIES (rel_hdr); rel_hdr2 = NULL; } @@ -996,8 +997,7 @@ sparc64_elf_check_relocs (abfd, info, se srelgot = NULL; sreloc = NULL; - rel_end = relocs + elf_section_data (sec)->rel_hdr.sh_size - / elf_section_data (sec)->rel_hdr.sh_entsize; + rel_end = relocs + NUM_SHDR_ENTRIES (& elf_section_data (sec)->rel_hdr); for (rel = relocs; rel < rel_end; rel++) { unsigned long r_symndx; @@ -1903,8 +1903,7 @@ sparc64_elf_relocate_section (output_bfd sgot = splt = sreloc = NULL; rel = relocs; - relend = relocs + elf_section_data (input_section)->rel_hdr.sh_size - / elf_section_data (input_section)->rel_hdr.sh_entsize; + relend = relocs + NUM_SHDR_ENTRIES (& elf_section_data (input_section)->rel_hdr); for (; rel < relend; rel++) { int r_type; diff -uprN binutils-2.11.90.0.8/bfd/elf64-x86-64.c binutils-2.11.90.0.15/bfd/elf64-x86-64.c --- binutils-2.11.90.0.8/bfd/elf64-x86-64.c Wed May 2 14:50:34 2001 +++ binutils-2.11.90.0.15/bfd/elf64-x86-64.c Sat Jun 9 00:13:01 2001 @@ -492,16 +492,17 @@ elf64_x86_64_check_relocs (abfd, info, s if (h == NULL) continue; + h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; if (h->plt.refcount == -1) - { - h->plt.refcount = 1; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; - } + h->plt.refcount = 1; else h->plt.refcount += 1; break; + case R_X86_64_8: + case R_X86_64_16: case R_X86_64_32: + case R_X86_64_64: case R_X86_64_32S: case R_X86_64_PC32: if (h != NULL) @@ -523,7 +524,9 @@ elf64_x86_64_check_relocs (abfd, info, s and symbol visibility changes render the symbol local. */ if (info->shared && (sec->flags & SEC_ALLOC) != 0 - && (ELF64_R_TYPE (rel->r_info) != R_X86_64_PC32 + && (((ELF64_R_TYPE (rel->r_info) != R_X86_64_PC8) + && (ELF64_R_TYPE (rel->r_info) != R_X86_64_PC16) + && (ELF64_R_TYPE (rel->r_info) != R_X86_64_PC32)) || (h != NULL && (! info->symbolic || (h->elf_link_hash_flags @@ -559,7 +562,7 @@ elf64_x86_64_check_relocs (abfd, info, s flags |= SEC_ALLOC | SEC_LOAD; if (sreloc == NULL || ! bfd_set_section_flags (dynobj, sreloc, flags) - || ! bfd_set_section_alignment (dynobj, sreloc, 2)) + || ! bfd_set_section_alignment (dynobj, sreloc, 3)) return false; } } @@ -572,7 +575,10 @@ elf64_x86_64_check_relocs (abfd, info, s that this function is only called if we are using an elf64_x86_64 linker hash table, which means that h is really a pointer to an elf64_x86_64_link_hash_entry. */ - if (h != NULL && ELF64_R_TYPE (rel->r_info) == R_X86_64_PC32) + if (h != NULL + && ((ELF64_R_TYPE (rel->r_info) == R_X86_64_PC8) + || (ELF64_R_TYPE (rel->r_info) == R_X86_64_PC16) + || (ELF64_R_TYPE (rel->r_info) == R_X86_64_PC32))) { struct elf64_x86_64_link_hash_entry *eh; struct elf64_x86_64_pcrel_relocs_copied *p; @@ -610,7 +616,7 @@ elf64_x86_64_check_relocs (abfd, info, s /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_X86_64_GNU_VTENTRY: - if (!_bfd_elf64_gc_record_vtentry (abfd, sec, h, rel->r_offset)) + if (!_bfd_elf64_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return false; break; } @@ -1263,12 +1269,13 @@ elf64_x86_64_relocate_section (output_bf && ((! info->symbolic && h->dynindx != -1) || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) - && ( r_type == R_X86_64_8 || - r_type == R_X86_64_16 || - r_type == R_X86_64_32 || - r_type == R_X86_64_64 || - r_type == R_X86_64_PC16 || - r_type == R_X86_64_PC32) + && (r_type == R_X86_64_8 + || r_type == R_X86_64_16 + || r_type == R_X86_64_32 + || r_type == R_X86_64_64 + || r_type == R_X86_64_PC8 + || r_type == R_X86_64_PC16 + || r_type == R_X86_64_PC32) && ((input_section->flags & SEC_ALLOC) != 0 /* DWARF will emit R_X86_64_32 relocations in its sections against symbols defined externally @@ -1435,14 +1442,16 @@ elf64_x86_64_relocate_section (output_bf case R_X86_64_8: case R_X86_64_16: case R_X86_64_32: + case R_X86_64_64: case R_X86_64_PC8: case R_X86_64_PC16: case R_X86_64_PC32: - /* FIXME: The abi says the linker should make sure the value is + /* FIXME: The ABI says the linker should make sure the value is the same when it's zeroextended to 64 bit. */ if (info->shared && (input_section->flags & SEC_ALLOC) != 0 - && ((r_type != R_X86_64_PC8 && r_type != R_X86_64_PC16 + && ((r_type != R_X86_64_PC8 + && r_type != R_X86_64_PC16 && r_type != R_X86_64_PC32) || (h != NULL && h->dynindx != -1 @@ -1503,7 +1512,8 @@ elf64_x86_64_relocate_section (output_bf memset (&outrel, 0, sizeof outrel); relocate = false; } - else if ((r_type == R_X86_64_PC8) || (r_type == R_X86_64_PC16) + else if ((r_type == R_X86_64_PC8) + || (r_type == R_X86_64_PC16) || (r_type == R_X86_64_PC32)) { BFD_ASSERT (h != NULL && h->dynindx != -1); @@ -1720,6 +1730,7 @@ elf64_x86_64_finish_dynamic_symbol (outp && (info->symbolic || h->dynindx == -1) && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) { + BFD_ASSERT((h->got.offset & 1) != 0); 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 @@ -1906,48 +1917,11 @@ elf64_x86_64_finish_dynamic_sections (ou return true; } -/* - * Why was the hash table entry size definition changed from - * ARCH_SIZE/8 to 4? This breaks the 64 bit dynamic linker and - * this is the only reason for the elf64_x86_64_size_info structure. - */ - -const struct elf_size_info elf64_86_64_size_info = -{ - sizeof (Elf64_External_Ehdr), - sizeof (Elf64_External_Phdr), - sizeof (Elf64_External_Shdr), - sizeof (Elf64_External_Rel), - sizeof (Elf64_External_Rela), - sizeof (Elf64_External_Sym), - sizeof (Elf64_External_Dyn), - sizeof (Elf_External_Note), - 8, /* hash-table entry size */ - 1, /* internal relocations per external relocations */ - 64, /* arch_size */ - 8, /* file_align */ - ELFCLASS64, EV_CURRENT, - bfd_elf64_write_out_phdrs, - bfd_elf64_write_shdrs_and_ehdr, - bfd_elf64_write_relocs, - bfd_elf64_swap_symbol_out, - bfd_elf64_slurp_reloc_table, - bfd_elf64_slurp_symbol_table, - bfd_elf64_swap_dyn_in, - bfd_elf64_swap_dyn_out, - NULL, - NULL, - NULL, - NULL -}; - #define TARGET_LITTLE_SYM bfd_elf64_x86_64_vec #define TARGET_LITTLE_NAME "elf64-x86-64" #define ELF_ARCH bfd_arch_i386 #define ELF_MACHINE_CODE EM_X86_64 #define ELF_MAXPAGESIZE 0x100000 - -#define elf_backend_size_info elf64_86_64_size_info #define elf_backend_can_gc_sections 1 #define elf_backend_want_got_plt 1 diff -uprN binutils-2.11.90.0.8/bfd/elfcode.h binutils-2.11.90.0.15/bfd/elfcode.h --- binutils-2.11.90.0.8/bfd/elfcode.h Wed May 2 23:29:57 2001 +++ binutils-2.11.90.0.15/bfd/elfcode.h Wed May 23 10:54:15 2001 @@ -1373,11 +1373,9 @@ elf_slurp_reloc_table (abfd, asect, symb return true; rel_hdr = &d->rel_hdr; - reloc_count = rel_hdr->sh_size / rel_hdr->sh_entsize; + reloc_count = NUM_SHDR_ENTRIES (rel_hdr); rel_hdr2 = d->rel_hdr2; - reloc_count2 = (rel_hdr2 - ? (rel_hdr2->sh_size / rel_hdr2->sh_entsize) - : 0); + reloc_count2 = (rel_hdr2 ? NUM_SHDR_ENTRIES (rel_hdr2) : 0); BFD_ASSERT (asect->reloc_count == reloc_count + reloc_count2); BFD_ASSERT (asect->rel_filepos == rel_hdr->sh_offset @@ -1394,7 +1392,7 @@ elf_slurp_reloc_table (abfd, asect, symb return true; rel_hdr = &d->this_hdr; - reloc_count = rel_hdr->sh_size / rel_hdr->sh_entsize; + reloc_count = NUM_SHDR_ENTRIES (rel_hdr); rel_hdr2 = NULL; reloc_count2 = 0; } diff -uprN binutils-2.11.90.0.8/bfd/elflink.h binutils-2.11.90.0.15/bfd/elflink.h --- binutils-2.11.90.0.8/bfd/elflink.h Sat May 12 01:09:00 2001 +++ binutils-2.11.90.0.15/bfd/elflink.h Sun Jun 10 10:55:09 2001 @@ -261,7 +261,7 @@ is_global_data_symbol_definition (abfd, } /* Search the symbol table of the archive element of the archive ABFD - whoes archive map contains a mention of SYMDEF, and determine if + whose archive map contains a mention of SYMDEF, and determine if the symbol is defined in this element. */ static boolean elf_link_is_defined_archive_symbol (abfd, symdef) @@ -2633,13 +2633,13 @@ elf_link_read_relocs_from_section (abfd, Elf_Internal_Rel *irel; erel = (Elf_External_Rel *) external_relocs; - erelend = erel + shdr->sh_size / shdr->sh_entsize; + erelend = erel + NUM_SHDR_ENTRIES (shdr); irela = internal_relocs; irel = bfd_alloc (abfd, (bed->s->int_rels_per_ext_rel * sizeof (Elf_Internal_Rel))); for (; erel < erelend; erel++, irela += bed->s->int_rels_per_ext_rel) { - unsigned char i; + unsigned int i; if (bed->s->swap_reloc_in) (*bed->s->swap_reloc_in) (abfd, (bfd_byte *) erel, irel); @@ -2663,7 +2663,7 @@ elf_link_read_relocs_from_section (abfd, BFD_ASSERT (shdr->sh_entsize == sizeof (Elf_External_Rela)); erela = (Elf_External_Rela *) external_relocs; - erelaend = erela + shdr->sh_size / shdr->sh_entsize; + erelaend = erela + NUM_SHDR_ENTRIES (shdr); irela = internal_relocs; for (; erela < erelaend; erela++, irela += bed->s->int_rels_per_ext_rel) { @@ -2743,7 +2743,7 @@ NAME(_bfd_elf,link_read_relocs) (abfd, o (abfd, elf_section_data (o)->rel_hdr2, ((bfd_byte *) external_relocs) + rel_hdr->sh_size, - internal_relocs + (rel_hdr->sh_size / rel_hdr->sh_entsize + internal_relocs + (NUM_SHDR_ENTRIES (rel_hdr) * bed->s->int_rels_per_ext_rel))) goto error_return; @@ -3298,7 +3298,7 @@ NAME(bfd_elf,size_dynamic_sections) (out const char *name; bfd_size_type indx; - name = output_bfd->filename; + name = basename (output_bfd->filename); def.vd_hash = bfd_elf_hash (name); indx = _bfd_stringtab_add (elf_hash_table (info)->dynstr, name, true, false); @@ -4276,7 +4276,6 @@ elf_link_size_reloc_section (abfd, rel_h Elf_Internal_Shdr *rel_hdr; asection *o; { - register struct elf_link_hash_entry **p, **pend; unsigned reloc_count; /* Figure out how many relocations there will be. */ @@ -4300,16 +4299,15 @@ elf_link_size_reloc_section (abfd, rel_h first time we are called. */ if (elf_section_data (o)->rel_hashes == NULL) { + struct elf_link_hash_entry **p; + p = ((struct elf_link_hash_entry **) - bfd_malloc (o->reloc_count - * sizeof (struct elf_link_hash_entry *))); + bfd_zmalloc (o->reloc_count + * sizeof (struct elf_link_hash_entry *))); if (p == NULL && o->reloc_count != 0) return false; elf_section_data (o)->rel_hashes = p; - pend = p + o->reloc_count; - for (; p < pend; p++) - *p = NULL; } return true; @@ -4329,6 +4327,24 @@ elf_link_adjust_relocs (abfd, rel_hdr, c { unsigned int i; struct elf_backend_data *bed = get_elf_backend_data (abfd); + Elf_Internal_Rel *irel; + Elf_Internal_Rela *irela; + + irel = (Elf_Internal_Rel *) bfd_zmalloc (sizeof (Elf_Internal_Rel) + * bed->s->int_rels_per_ext_rel); + if (irel == NULL) + { + (*_bfd_error_handler) (_("Error: out of memory")); + abort (); + } + + irela = (Elf_Internal_Rela *) bfd_zmalloc (sizeof (Elf_Internal_Rela) + * bed->s->int_rels_per_ext_rel); + if (irela == NULL) + { + (*_bfd_error_handler) (_("Error: out of memory")); + abort (); + } for (i = 0; i < count; i++, rel_hash++) { @@ -4340,41 +4356,50 @@ elf_link_adjust_relocs (abfd, rel_hdr, c if (rel_hdr->sh_entsize == sizeof (Elf_External_Rel)) { Elf_External_Rel *erel; - Elf_Internal_Rel irel; + unsigned int j; erel = (Elf_External_Rel *) rel_hdr->contents + i; if (bed->s->swap_reloc_in) - (*bed->s->swap_reloc_in) (abfd, (bfd_byte *) erel, &irel); + (*bed->s->swap_reloc_in) (abfd, (bfd_byte *) erel, irel); else - elf_swap_reloc_in (abfd, erel, &irel); - irel.r_info = ELF_R_INFO ((*rel_hash)->indx, - ELF_R_TYPE (irel.r_info)); + elf_swap_reloc_in (abfd, erel, irel); + + for (j = 0; j < bed->s->int_rels_per_ext_rel; j++) + irel[j].r_info = ELF_R_INFO ((*rel_hash)->indx, + ELF_R_TYPE (irel[j].r_info)); + if (bed->s->swap_reloc_out) - (*bed->s->swap_reloc_out) (abfd, &irel, (bfd_byte *) erel); + (*bed->s->swap_reloc_out) (abfd, irel, (bfd_byte *) erel); else - elf_swap_reloc_out (abfd, &irel, erel); + elf_swap_reloc_out (abfd, irel, erel); } else { Elf_External_Rela *erela; - Elf_Internal_Rela irela; + unsigned int j; BFD_ASSERT (rel_hdr->sh_entsize == sizeof (Elf_External_Rela)); erela = (Elf_External_Rela *) rel_hdr->contents + i; if (bed->s->swap_reloca_in) - (*bed->s->swap_reloca_in) (abfd, (bfd_byte *) erela, &irela); + (*bed->s->swap_reloca_in) (abfd, (bfd_byte *) erela, irela); else - elf_swap_reloca_in (abfd, erela, &irela); - irela.r_info = ELF_R_INFO ((*rel_hash)->indx, - ELF_R_TYPE (irela.r_info)); + elf_swap_reloca_in (abfd, erela, irela); + + for (j = 0; j < bed->s->int_rels_per_ext_rel; j++) + irela[j].r_info = ELF_R_INFO ((*rel_hash)->indx, + ELF_R_TYPE (irela[j].r_info)); + if (bed->s->swap_reloca_out) - (*bed->s->swap_reloca_out) (abfd, &irela, (bfd_byte *) erela); + (*bed->s->swap_reloca_out) (abfd, irela, (bfd_byte *) erela); else - elf_swap_reloca_out (abfd, &irela, erela); + elf_swap_reloca_out (abfd, irela, erela); } } + + free (irel); + free (irela); } /* Do the final step of an ELF link. */ @@ -4581,11 +4606,9 @@ elf_bfd_final_link (abfd, info) rel_count2 = &esdo->rel_count; } - *rel_count += (esdi->rel_hdr.sh_size - / esdi->rel_hdr.sh_entsize); + *rel_count += NUM_SHDR_ENTRIES (& esdi->rel_hdr); if (esdi->rel_hdr2) - *rel_count2 += (esdi->rel_hdr2->sh_size - / esdi->rel_hdr2->sh_entsize); + *rel_count2 += NUM_SHDR_ENTRIES (esdi->rel_hdr2); } } @@ -5623,33 +5646,50 @@ elf_link_output_relocs (output_bfd, inpu bed = get_elf_backend_data (output_bfd); irela = internal_relocs; - irelaend = irela + input_rel_hdr->sh_size / input_rel_hdr->sh_entsize; + irelaend = irela + NUM_SHDR_ENTRIES (input_rel_hdr) + * bed->s->int_rels_per_ext_rel; + if (input_rel_hdr->sh_entsize == sizeof (Elf_External_Rel)) { Elf_External_Rel *erel; + Elf_Internal_Rel *irel; + + irel = (Elf_Internal_Rel *) bfd_zmalloc (bed->s->int_rels_per_ext_rel + * sizeof (Elf_Internal_Rel)); + if (irel == NULL) + { + (*_bfd_error_handler) (_("Error: out of memory")); + abort (); + } erel = ((Elf_External_Rel *) output_rel_hdr->contents + *rel_countp); - for (; irela < irelaend; irela++, erel++) + for (; irela < irelaend; irela += bed->s->int_rels_per_ext_rel, erel++) { - Elf_Internal_Rel irel; + unsigned int i; + + for (i = 0; i < bed->s->int_rels_per_ext_rel; i++) + { + irel[i].r_offset = irela[i].r_offset; + irel[i].r_info = irela[i].r_info; + BFD_ASSERT (irela[i].r_addend == 0); + } - irel.r_offset = irela->r_offset; - irel.r_info = irela->r_info; - BFD_ASSERT (irela->r_addend == 0); if (bed->s->swap_reloc_out) - (*bed->s->swap_reloc_out) (output_bfd, &irel, (PTR) erel); + (*bed->s->swap_reloc_out) (output_bfd, irel, (PTR) erel); else - elf_swap_reloc_out (output_bfd, &irel, erel); + elf_swap_reloc_out (output_bfd, irel, erel); } + + free (irel); } else { Elf_External_Rela *erela; - BFD_ASSERT (input_rel_hdr->sh_entsize - == sizeof (Elf_External_Rela)); + BFD_ASSERT (input_rel_hdr->sh_entsize == sizeof (Elf_External_Rela)); + erela = ((Elf_External_Rela *) output_rel_hdr->contents + *rel_countp); - for (; irela < irelaend; irela++, erela++) + for (; irela < irelaend; irela += bed->s->int_rels_per_ext_rel, erela++) if (bed->s->swap_reloca_out) (*bed->s->swap_reloca_out) (output_bfd, irela, (PTR) erela); else @@ -5658,7 +5698,7 @@ elf_link_output_relocs (output_bfd, inpu /* Bump the counter, so that we know where to add the next set of relocations. */ - *rel_countp += input_rel_hdr->sh_size / input_rel_hdr->sh_entsize; + *rel_countp += NUM_SHDR_ENTRIES (input_rel_hdr); } /* Link an input file into the linker output file. This function @@ -5981,21 +6021,28 @@ elf_link_input_bfd (finfo, input_bfd) Elf_Internal_Rela *irelaend; struct elf_link_hash_entry **rel_hash; Elf_Internal_Shdr *input_rel_hdr; + unsigned int next_erel; /* Adjust the reloc addresses and symbol indices. */ irela = internal_relocs; - irelaend = - irela + o->reloc_count * bed->s->int_rels_per_ext_rel; + irelaend = irela + + o->reloc_count * bed->s->int_rels_per_ext_rel; rel_hash = (elf_section_data (o->output_section)->rel_hashes + elf_section_data (o->output_section)->rel_count + elf_section_data (o->output_section)->rel_count2); - for (; irela < irelaend; irela++, rel_hash++) + for (next_erel = 0; irela < irelaend; irela++, next_erel++) { unsigned long r_symndx; Elf_Internal_Sym *isym; asection *sec; + if (next_erel == bed->s->int_rels_per_ext_rel) + { + rel_hash++; + next_erel = 0; + } + irela->r_offset += o->output_offset; /* Relocs in an executable have to be virtual addresses. */ @@ -6012,7 +6059,7 @@ elf_link_input_bfd (finfo, input_bfd) && finfo->sections[r_symndx] == NULL)) { struct elf_link_hash_entry *rh; - long indx; + unsigned long indx; /* This is a reloc against a global symbol. We have not yet output all the local symbols, so @@ -6120,8 +6167,8 @@ elf_link_input_bfd (finfo, input_bfd) elf_link_output_relocs (output_bfd, o, input_rel_hdr, internal_relocs); - internal_relocs - += input_rel_hdr->sh_size / input_rel_hdr->sh_entsize; + internal_relocs += NUM_SHDR_ENTRIES (input_rel_hdr) + * bed->s->int_rels_per_ext_rel; input_rel_hdr = elf_section_data (o)->rel_hdr2; if (input_rel_hdr) elf_link_output_relocs (output_bfd, o, @@ -6294,32 +6341,52 @@ elf_reloc_link_order (output_bfd, info, if (rel_hdr->sh_type == SHT_REL) { - Elf_Internal_Rel irel; + Elf_Internal_Rel *irel; Elf_External_Rel *erel; + unsigned int i; + + irel = (Elf_Internal_Rel *) bfd_zmalloc (bed->s->int_rels_per_ext_rel + * sizeof (Elf_Internal_Rel)); + if (irel == NULL) + return false; + + for (i = 0; i < bed->s->int_rels_per_ext_rel; i++) + irel[i].r_offset = offset; + irel[0].r_info = ELF_R_INFO (indx, howto->type); - irel.r_offset = offset; - irel.r_info = ELF_R_INFO (indx, howto->type); erel = ((Elf_External_Rel *) rel_hdr->contents + elf_section_data (output_section)->rel_count); + if (bed->s->swap_reloc_out) - (*bed->s->swap_reloc_out) (output_bfd, &irel, (bfd_byte *) erel); + (*bed->s->swap_reloc_out) (output_bfd, irel, (bfd_byte *) erel); else - elf_swap_reloc_out (output_bfd, &irel, erel); + elf_swap_reloc_out (output_bfd, irel, erel); + + free (irel); } else { - Elf_Internal_Rela irela; + Elf_Internal_Rela *irela; Elf_External_Rela *erela; + unsigned int i; + + irela = (Elf_Internal_Rela *) bfd_zmalloc (bed->s->int_rels_per_ext_rel + * sizeof (Elf_Internal_Rela)); + if (irela == NULL) + return false; + + for (i = 0; i < bed->s->int_rels_per_ext_rel; i++) + irela[i].r_offset = offset; + irela[0].r_info = ELF_R_INFO (indx, howto->type); + irela[0].r_addend = addend; - irela.r_offset = offset; - irela.r_info = ELF_R_INFO (indx, howto->type); - irela.r_addend = addend; erela = ((Elf_External_Rela *) rel_hdr->contents + elf_section_data (output_section)->rel_count); + if (bed->s->swap_reloca_out) - (*bed->s->swap_reloca_out) (output_bfd, &irela, (bfd_byte *) erela); + (*bed->s->swap_reloca_out) (output_bfd, irela, (bfd_byte *) erela); else - elf_swap_reloca_out (output_bfd, &irela, erela); + elf_swap_reloca_out (output_bfd, irela, erela); } ++elf_section_data (output_section)->rel_count; @@ -6456,7 +6523,7 @@ elf_create_pointer_linker_section (abfd, #define bfd_put_ptr(BFD,VAL,ADDR) bfd_put_32 (BFD, VAL, ADDR) #endif -/* Fill in the address for a pointer generated in alinker section. */ +/* Fill in the address for a pointer generated in a linker section. */ bfd_vma elf_finish_pointer_linker_section (output_bfd, input_bfd, info, lsect, h, relocation, rel, relative_reloc) @@ -6523,7 +6590,17 @@ elf_finish_pointer_linker_section (outpu if (info->shared) { asection *srel = lsect->rel_section; - Elf_Internal_Rela outrel; + Elf_Internal_Rela *outrel; + struct elf_backend_data *bed = get_elf_backend_data (output_bfd); + unsigned int i; + + outrel = (Elf_Internal_Rela *) bfd_zmalloc (sizeof (Elf_Internal_Rela) + * bed->s->int_rels_per_ext_rel); + if (outrel == NULL) + { + (*_bfd_error_handler) (_("Error: out of memory")); + return 0; + } /* We need to generate a relative reloc for the dynamic linker. */ if (!srel) @@ -6532,16 +6609,19 @@ elf_finish_pointer_linker_section (outpu BFD_ASSERT (srel != NULL); - outrel.r_offset = (lsect->section->output_section->vma - + lsect->section->output_offset - + linker_section_ptr->offset); - outrel.r_info = ELF_R_INFO (0, relative_reloc); - outrel.r_addend = 0; - elf_swap_reloca_out (output_bfd, &outrel, + for (i = 0; i < bed->s->int_rels_per_ext_rel; i++) + outrel[i].r_offset = (lsect->section->output_section->vma + + lsect->section->output_offset + + linker_section_ptr->offset); + outrel[0].r_info = ELF_R_INFO (0, relative_reloc); + outrel[0].r_addend = 0; + elf_swap_reloca_out (output_bfd, outrel, (((Elf_External_Rela *) lsect->section->contents) + elf_section_data (lsect->section)->rel_count)); ++elf_section_data (lsect->section)->rel_count; + + free (outrel); } } } diff -uprN binutils-2.11.90.0.8/bfd/elfxx-ia64.c binutils-2.11.90.0.15/bfd/elfxx-ia64.c --- binutils-2.11.90.0.8/bfd/elfxx-ia64.c Sat May 12 00:57:57 2001 +++ binutils-2.11.90.0.15/bfd/elfxx-ia64.c Fri May 25 12:17:56 2001 @@ -1161,10 +1161,9 @@ elfNN_ia64_aix_add_symbol_hook (abfd, in { if (strcmp (*namep, "__GLOB_DATA_PTR") == 0) { - /* Define __GLOB_DATA_PTR. This is expected to be a linker-defined - symbol by the Aix C runtime startup code. Define the symbol - when it is encountered. IBM sez no one else should use it b/c it is - undocumented. */ + /* Define __GLOB_DATA_PTR when it is encountered. This is expected to + be a linker-defined symbol by the Aix C runtime startup code. IBM sez + no one else should use it b/c it is undocumented. */ struct elf_link_hash_entry *h; h = (struct elf_link_hash_entry *) bfd_link_hash_lookup (info->hash, *namep, false, false, false); @@ -1177,7 +1176,8 @@ elfNN_ia64_aix_add_symbol_hook (abfd, in ia64_info = elfNN_ia64_hash_table (info); if (!(_bfd_generic_link_add_one_symbol - (info, abfd, *namep, BSF_GLOBAL, ia64_info->got_sec, + (info, abfd, *namep, BSF_GLOBAL, + bfd_get_section_by_name (abfd, ".bss"), bed->got_symbol_offset, (const char *) NULL, false, bed->collect, (struct bfd_link_hash_entry **) &h))) return false; @@ -1185,8 +1185,7 @@ elfNN_ia64_aix_add_symbol_hook (abfd, in h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; h->type = STT_OBJECT; - if (info->shared - && ! _bfd_elf_link_record_dynamic_symbol (info, h)) + if (! _bfd_elf_link_record_dynamic_symbol (info, h)) return false; } @@ -1198,9 +1197,8 @@ elfNN_ia64_aix_add_symbol_hook (abfd, in /* SHN_AIX_SYSCALL: Treat this as any other symbol. The special symbol is only relevant when compiling code for extended system calls. - Replace the "special" section with .text, if possible. */ - /* FIXME need to determine the proper section instead of defaulting to - .text. */ + Replace the "special" section with .text, if possible. + Note that these symbols are always assumed to be in .text. */ for (i = 1; i < elf_elfheader (abfd)->e_shnum; i++) { asection * sec = bfd_section_from_elf_index (abfd, i); @@ -2019,9 +2017,7 @@ elfNN_ia64_check_relocs (abfd, info, sec case R_IA64_FPTR32LSB: case R_IA64_FPTR64MSB: case R_IA64_FPTR64LSB: - if (elfNN_ia64_aix_vec (abfd->xvec)) - need_entry = NEED_FPTR | NEED_DYNREL; - else if (info->shared || h) + if (info->shared || h || elfNN_ia64_aix_vec (abfd->xvec)) need_entry = NEED_FPTR | NEED_DYNREL; else need_entry = NEED_FPTR; @@ -2071,10 +2067,8 @@ elfNN_ia64_check_relocs (abfd, info, sec case R_IA64_DIR64LSB: /* Shared objects will always need at least a REL relocation. */ if (info->shared || maybe_dynamic - /* On AIX, we always need a relocation, but make sure - __GLOB_DATA_PTR doesn't get an entry. */ || (elfNN_ia64_aix_vec (abfd->xvec) - && (!h || strcmp (h->root.root.string, + && (!h || strcmp (h->root.root.string, "__GLOB_DATA_PTR") != 0))) need_entry = NEED_DYNREL; dynrel_type = R_IA64_DIR64LSB; @@ -2198,7 +2192,9 @@ allocate_global_data_got (dyn_i, data) if (dyn_i->want_got && ! dyn_i->want_fptr && (elfNN_ia64_dynamic_symbol_p (dyn_i->h, x->info) - || elfNN_ia64_aix_vec (x->info->hash->creator))) + || (elfNN_ia64_aix_vec (x->info->hash->creator) + && (!dyn_i->h || strcmp (dyn_i->h->root.root.string, + "__GLOB_DATA_PTR") != 0)))) { dyn_i->got_offset = x->ofs; x->ofs += 8; @@ -2412,7 +2408,10 @@ allocate_dynrel_entries (dyn_i, data) ia64_info = elfNN_ia64_hash_table (x->info); dynamic_symbol = elfNN_ia64_dynamic_symbol_p (dyn_i->h, x->info) - || elfNN_ia64_aix_vec (x->info->hash->creator); + || (elfNN_ia64_aix_vec (x->info->hash->creator) + /* Don't allocate an entry for __GLOB_DATA_PTR */ + && (!dyn_i->h || strcmp (dyn_i->h->root.root.string, + "__GLOB_DATA_PTR") != 0)); shared = x->info->shared; /* Take care of the normal data relocations. */ @@ -3528,11 +3527,9 @@ elfNN_ia64_relocate_section (output_bfd, /* Install a dynamic relocation for this reloc. */ if ((dynamic_symbol_p || info->shared || (elfNN_ia64_aix_vec (info->hash->creator) - /* We want REL relocation for _GLOB_DATA_PTR, which would - otherwise be an IMM64, which isn't handled below. The - symbol comes from the C runtime. */ - && (!h || - strcmp (h->root.root.string, "__GLOB_DATA_PTR") != 0))) + /* Don't emit relocs for __GLOB_DATA_PTR on AIX. */ + && (!h || strcmp (h->root.root.string, + "__GLOB_DATA_PTR") != 0))) && (input_section->flags & SEC_ALLOC) != 0) { unsigned int dyn_r_type; diff -uprN binutils-2.11.90.0.8/bfd/elfxx-target.h binutils-2.11.90.0.15/bfd/elfxx-target.h --- binutils-2.11.90.0.8/bfd/elfxx-target.h Sat May 12 00:05:30 2001 +++ binutils-2.11.90.0.15/bfd/elfxx-target.h Wed May 23 10:54:17 2001 @@ -116,8 +116,10 @@ Foundation, Inc., 59 Temple Place - Suit _bfd_elf_merge_sections #endif +#ifndef bfd_elfNN_bfd_make_debug_symbol #define bfd_elfNN_bfd_make_debug_symbol \ ((asymbol *(*) PARAMS ((bfd *, void *, unsigned long))) bfd_nullvoidptr) +#endif #ifndef bfd_elfNN_bfd_copy_private_symbol_data #define bfd_elfNN_bfd_copy_private_symbol_data \ diff -uprN binutils-2.11.90.0.8/bfd/libbfd.c binutils-2.11.90.0.15/bfd/libbfd.c --- binutils-2.11.90.0.8/bfd/libbfd.c Fri Mar 9 11:16:01 2001 +++ binutils-2.11.90.0.15/bfd/libbfd.c Thu May 24 21:23:03 2001 @@ -232,6 +232,7 @@ real_read (where, a,b, file) if (a == 0 || b == 0) return 0; + #if defined (__VAX) && defined (VMS) /* Apparently fread on Vax VMS does not keep the record length information. */ @@ -747,7 +748,6 @@ bfd_seek (abfd, position, direction) file_position += abfd->origin; result = fseek (f, file_position, direction); - if (result != 0) { int hold_errno = errno; diff -uprN binutils-2.11.90.0.8/bfd/libbfd.h binutils-2.11.90.0.15/bfd/libbfd.h --- binutils-2.11.90.0.8/bfd/libbfd.h Sat May 12 00:57:57 2001 +++ binutils-2.11.90.0.15/bfd/libbfd.h Fri Jun 1 21:47:14 2001 @@ -671,7 +671,9 @@ static const char *const bfd_reloc_code_ "BFD_RELOC_SPARC_GLOB_DAT", "BFD_RELOC_SPARC_JMP_SLOT", "BFD_RELOC_SPARC_RELATIVE", + "BFD_RELOC_SPARC_UA16", "BFD_RELOC_SPARC_UA32", + "BFD_RELOC_SPARC_UA64", "BFD_RELOC_SPARC_BASE13", "BFD_RELOC_SPARC_BASE22", "BFD_RELOC_SPARC_10", @@ -731,6 +733,17 @@ static const char *const bfd_reloc_code_ "BFD_RELOC_MIPS_GOT_PAGE", "BFD_RELOC_MIPS_GOT_OFST", "BFD_RELOC_MIPS_GOT_DISP", + "BFD_RELOC_MIPS_SHIFT5", + "BFD_RELOC_MIPS_SHIFT6", + "BFD_RELOC_MIPS_INSERT_A", + "BFD_RELOC_MIPS_INSERT_B", + "BFD_RELOC_MIPS_DELETE", + "BFD_RELOC_MIPS_HIGHEST", + "BFD_RELOC_MIPS_HIGHER", + "BFD_RELOC_MIPS_SCN_DISP", + "BFD_RELOC_MIPS_REL16", + "BFD_RELOC_MIPS_RELGOT", + "BFD_RELOC_MIPS_JALR", "BFD_RELOC_386_GOT32", "BFD_RELOC_386_PLT32", diff -uprN binutils-2.11.90.0.8/bfd/libcoff-in.h binutils-2.11.90.0.15/bfd/libcoff-in.h --- binutils-2.11.90.0.8/bfd/libcoff-in.h Fri Mar 9 11:16:01 2001 +++ binutils-2.11.90.0.15/bfd/libcoff-in.h Thu May 24 21:23:03 2001 @@ -163,10 +163,10 @@ struct xcoff_tdata short cputype; /* maxdata from optional header. */ - bfd_size_type maxdata; + bfd_vma maxdata; /* maxstack from optional header. */ - bfd_size_type maxstack; + bfd_vma maxstack; /* Used by the XCOFF backend linker. */ asection **csects; diff -uprN binutils-2.11.90.0.8/bfd/libcoff.h binutils-2.11.90.0.15/bfd/libcoff.h --- binutils-2.11.90.0.8/bfd/libcoff.h Fri Mar 9 11:16:01 2001 +++ binutils-2.11.90.0.15/bfd/libcoff.h Fri May 25 12:04:55 2001 @@ -163,10 +163,10 @@ struct xcoff_tdata short cputype; /* maxdata from optional header. */ - bfd_size_type maxdata; + bfd_vma maxdata; /* maxstack from optional header. */ - bfd_size_type maxstack; + bfd_vma maxstack; /* Used by the XCOFF backend linker. */ asection **csects; diff -uprN binutils-2.11.90.0.8/bfd/libxcoff.h binutils-2.11.90.0.15/bfd/libxcoff.h --- binutils-2.11.90.0.8/bfd/libxcoff.h Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/bfd/libxcoff.h Thu May 24 21:23:11 2001 @@ -0,0 +1,266 @@ +/* BFD XCOFF object file private structure. + Copyright (C) 2001 Free Software Foundation, Inc. + Written by Tom Rix, Redhat. + +This file is part of BFD, the Binary File Descriptor library. + +This program 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 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef LIBXCOFF_H +#define LIBXCOFF_H + +/* This is the backend information kept for XCOFF files. This + structure is constant for a particular backend. The first element + is the COFF backend data structure, so that XCOFF targets can use + the generic COFF code. */ + +struct xcoff_backend_data_rec +{ + /* + * COFF backend information. Must be the first field. + * This is where the std coff swap table goes + */ + bfd_coff_backend_data coff; + + /* Magic number */ + unsigned short _xcoff_magic_number; + + /* Architecture and machine for coff_set_arch_mach_hook */ + enum bfd_architecture _xcoff_architecture; + long _xcoff_machine; + + /* function pointers to xcoff specific swap routines */ + void (* _xcoff_swap_ldhdr_in)(bfd *, PTR, struct internal_ldhdr *); + void (* _xcoff_swap_ldhdr_out)(bfd *, struct internal_ldhdr *, PTR); + void (* _xcoff_swap_ldsym_in)(bfd *, PTR, struct internal_ldsym *); + void (* _xcoff_swap_ldsym_out)(bfd *, struct internal_ldsym *, PTR); + void (* _xcoff_swap_ldrel_in)(bfd *, PTR, struct internal_ldrel *); + void (* _xcoff_swap_ldrel_out)(bfd *, struct internal_ldrel *, PTR); + + /* size of the the external struct */ + unsigned int _xcoff_ldhdrsz; + unsigned int _xcoff_ldsymsz; + unsigned int _xcoff_ldrelsz; + + /* size an entry in a descriptor section */ + unsigned int _xcoff_function_descriptor_size; + + /* size of the small aout file header */ + unsigned int _xcoff_small_aout_header_size; + + /* + * version + * loader version + * 1 : xcoff32 + * 2 : xcoff64 + */ + unsigned long _xcoff_ldhdr_version; + + boolean (* _xcoff_put_symbol_name)(bfd *, struct bfd_strtab_hash *, + struct internal_syment *, + const char *); + + boolean (* _xcoff_put_ldsymbol_name)(bfd *, struct xcoff_loader_info *, + struct internal_ldsym *, + const char *); + + reloc_howto_type *_xcoff_dynamic_reloc; + + asection * (* _xcoff_create_csect_from_smclas) (bfd *, union internal_auxent *, const char *); + + /* + * line_no and reloc overflow + * 32 overflows to another section when the line_no or reloc count go + * over 0xffff. 64 does not overflow. + */ + boolean (*_xcoff_is_lineno_count_overflow)(bfd *, bfd_vma); + boolean (*_xcoff_is_reloc_count_overflow)(bfd *, bfd_vma); + + /* + * .loader symbol table offset + * 32 is after the .loader header + * 64 is offset in .loader header + * + * Similar for the reloc table + */ + bfd_vma (*_xcoff_loader_symbol_offset)(bfd *, struct internal_ldhdr *); + bfd_vma (*_xcoff_loader_reloc_offset)(bfd *, struct internal_ldhdr *); + + + /* + * Global linkage + * + * The first word of global linkage code must be be modified by + * filling in the correct TOC offset. + */ + unsigned long *_xcoff_glink_code; + + /* + * Size of the global link code in bytes of the xcoff_glink_code table + */ + unsigned long _xcoff_glink_size; + +}; + +/* Look up an entry in an XCOFF link hash table. */ + +#define xcoff_link_hash_lookup(table, string, create, copy, follow) \ + ((struct xcoff_link_hash_entry *) \ + bfd_link_hash_lookup (&(table)->root, (string), (create), (copy),\ + (follow))) + +/* Traverse an XCOFF link hash table. */ + +#define xcoff_link_hash_traverse(table, func, info) \ + (bfd_link_hash_traverse \ + (&(table)->root, \ + (boolean (*) PARAMS ((struct bfd_link_hash_entry *, PTR))) (func), \ + (info))) + +/* Get the XCOFF link hash table from the info structure. This is + just a cast. */ + +#define xcoff_hash_table(p) ((struct xcoff_link_hash_table *) ((p)->hash)) + + +#define xcoff_backend(abfd) \ + ((struct xcoff_backend_data_rec *) (abfd)->xvec->backend_data) + +#define bfd_xcoff_magic_number(a) ((xcoff_backend(a)->_xcoff_magic_number)) +#define bfd_xcoff_architecture(a) ((xcoff_backend(a)->_xcoff_architecture)) +#define bfd_xcoff_machine(a) ((xcoff_backend(a)->_xcoff_machine)) + +#define bfd_xcoff_swap_ldhdr_in(a, b, c) \ + ((xcoff_backend(a)->_xcoff_swap_ldhdr_in) ((a), (b), (c))) + +#define bfd_xcoff_swap_ldhdr_out(a, b, c) \ + ((xcoff_backend(a)->_xcoff_swap_ldhdr_out) ((a), (b), (c))) + +#define bfd_xcoff_swap_ldsym_in(a, b, c) \ + ((xcoff_backend(a)->_xcoff_swap_ldsym_in) ((a), (b), (c))) + +#define bfd_xcoff_swap_ldsym_out(a, b, c) \ + ((xcoff_backend(a)->_xcoff_swap_ldsym_out) ((a), (b), (c))) + +#define bfd_xcoff_swap_ldrel_in(a, b, c) \ + ((xcoff_backend(a)->_xcoff_swap_ldrel_in) ((a), (b), (c))) + +#define bfd_xcoff_swap_ldrel_out(a, b, c) \ + ((xcoff_backend(a)->_xcoff_swap_ldrel_out) ((a), (b), (c))) + +#define bfd_xcoff_ldhdrsz(a) ((xcoff_backend(a)->_xcoff_ldhdrsz)) +#define bfd_xcoff_ldsymsz(a) ((xcoff_backend(a)->_xcoff_ldsymsz)) +#define bfd_xcoff_ldrelsz(a) ((xcoff_backend(a)->_xcoff_ldrelsz)) +#define bfd_xcoff_function_descriptor_size(a) \ + ((xcoff_backend(a)->_xcoff_function_descriptor_size)) +#define bfd_xcoff_small_aout_header_size(a) \ + ((xcoff_backend(a)->_xcoff_small_aout_header_size)) + +#define bfd_xcoff_ldhdr_version(a) ((xcoff_backend(a)->_xcoff_ldhdr_version)) + +#define bfd_xcoff_put_symbol_name(a, b, c, d) \ + ((xcoff_backend(a)->_xcoff_put_symbol_name) ((a), (b), (c), (d))) + +#define bfd_xcoff_put_ldsymbol_name(a, b, c, d) \ + ((xcoff_backend(a)->_xcoff_put_ldsymbol_name) ((a), (b), (c), (d))) + +/* Get the XCOFF hash table entries for a BFD. */ +#define obj_xcoff_sym_hashes(bfd) \ + ((struct xcoff_link_hash_entry **) obj_coff_sym_hashes (bfd)) + +#define bfd_xcoff_dynamic_reloc_howto(a) \ + ((xcoff_backend(a)->_xcoff_dynamic_reloc)) + +#define bfd_xcoff_create_csect_from_smclas(a, b, c) \ + ((xcoff_backend(a)->_xcoff_create_csect_from_smclas((a), (b), (c)))) + +#define bfd_xcoff_is_lineno_count_overflow(a, b) \ + ((xcoff_backend(a)->_xcoff_is_lineno_count_overflow((a), (b)))) + +#define bfd_xcoff_is_reloc_count_overflow(a, b) \ + ((xcoff_backend(a)->_xcoff_is_reloc_count_overflow((a), (b)))) + +#define bfd_xcoff_loader_symbol_offset(a, b) \ + ((xcoff_backend(a)->_xcoff_loader_symbol_offset((a), (b)))) + +#define bfd_xcoff_loader_reloc_offset(a, b) \ + ((xcoff_backend(a)->_xcoff_loader_reloc_offset((a), (b)))) + +#define bfd_xcoff_glink_code(a, b) ((xcoff_backend(a)->_xcoff_glink_code[(b)])) +#define bfd_xcoff_glink_code_size(a) ((xcoff_backend(a)->_xcoff_glink_size)) + +#define bfd_xcoff_is_xcoff64(a) (0x01EF == (bfd_xcoff_magic_number(a))) +#define bfd_xcoff_is_xcoff32(a) (0x01DF == (bfd_xcoff_magic_number(a))) + +/* Functions in xcofflink.c. */ + +extern long _bfd_xcoff_get_dynamic_symtab_upper_bound PARAMS ((bfd *)); +extern long _bfd_xcoff_canonicalize_dynamic_symtab + PARAMS ((bfd *, asymbol **)); +extern long _bfd_xcoff_get_dynamic_reloc_upper_bound PARAMS ((bfd *)); +extern long _bfd_xcoff_canonicalize_dynamic_reloc + PARAMS ((bfd *, arelent **, asymbol **)); +extern struct bfd_link_hash_table *_bfd_xcoff_bfd_link_hash_table_create + PARAMS ((bfd *)); +extern boolean _bfd_xcoff_bfd_link_add_symbols + PARAMS ((bfd *, struct bfd_link_info *)); +extern boolean _bfd_xcoff_bfd_final_link + PARAMS ((bfd *, struct bfd_link_info *)); +extern boolean _bfd_xcoff_slurp_symbol_table + PARAMS ((bfd *)); +extern long _bfd_xcoff_get_symbol_table + PARAMS ((bfd *, asymbol **)); +extern asymbol *_bfd_xcoff_make_empty_symbol + PARAMS ((bfd *)); +extern long _bfd_xcoff_get_symbol_table_upper_bound + PARAMS ((bfd *)); +extern void _bfd_xcoff_print_symbol + PARAMS ((bfd *, PTR, asymbol *, bfd_print_symbol_type)); +extern void _bfd_xcoff_get_symbol_info + PARAMS ((bfd *, asymbol *, symbol_info *)); +extern long _bfd_xcoff_canonicalize_reloc + PARAMS((bfd *, sec_ptr, arelent **, asymbol **)); +extern reloc_howto_type *_bfd_xcoff_rtype_to_howto + PARAMS ((bfd *, asection *, struct internal_reloc *, + struct coff_link_hash_entry *, struct internal_syment *, + bfd_vma *)); +extern boolean _bfd_xcoff_set_section_contents + PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type)); +boolean _bfd_xcoff_write_object_contents PARAMS ((bfd *)); + + +/* XCOFF support routines for the linker. */ + +extern boolean bfd_xcoff_link_record_set + PARAMS ((bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, + bfd_size_type)); +extern boolean bfd_xcoff_import_symbol + PARAMS ((bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, + bfd_vma, const char *, const char *, const char *)); +extern boolean bfd_xcoff_export_symbol + PARAMS ((bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, + boolean)); +extern boolean bfd_xcoff_link_count_reloc + PARAMS ((bfd *, struct bfd_link_info *, const char *)); +extern boolean bfd_xcoff_record_link_assignment + PARAMS ((bfd *, struct bfd_link_info *, const char *)); +extern boolean bfd_xcoff_size_dynamic_sections + PARAMS ((bfd *, struct bfd_link_info *, const char *, const char *, + unsigned long, unsigned long, unsigned long, boolean, + int, boolean, boolean, struct sec **)); +extern boolean xcoff_slurp_reloc_table + PARAMS ((bfd *, asection *, asymbol **)); + +#endif /* LIBXCOFF_H */ diff -uprN binutils-2.11.90.0.8/bfd/po/Make-in binutils-2.11.90.0.15/bfd/po/Make-in --- binutils-2.11.90.0.8/bfd/po/Make-in Fri Mar 23 13:53:12 2001 +++ binutils-2.11.90.0.15/bfd/po/Make-in Sun Jun 10 10:55:09 2001 @@ -206,7 +206,7 @@ clean: mostlyclean distclean: clean rm -f Makefile Makefile.in *.mo *.msg *.cat *.cat.m rm -f SRC-POTFILES BLD-POTFILES SRC-POTFILES.in BLD-POTFILES.in - + maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." diff -uprN binutils-2.11.90.0.8/bfd/po/bfd.pot binutils-2.11.90.0.15/bfd/po/bfd.pot --- binutils-2.11.90.0.8/bfd/po/bfd.pot Fri Apr 27 13:49:17 2001 +++ binutils-2.11.90.0.15/bfd/po/bfd.pot Fri Jun 1 20:48:11 2001 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2001-04-27 18:06+0100\n" +"POT-Creation-Date: 2001-05-23 19:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,22 +34,22 @@ msgstr "" msgid "%s: Bad relocation record imported: %d" msgstr "" -#: aoutx.h:1260 aoutx.h:1674 +#: aoutx.h:1261 aoutx.h:1675 #, c-format msgid "%s: can not represent section `%s' in a.out object file format" msgstr "" -#: aoutx.h:1644 +#: aoutx.h:1645 #, c-format msgid "" "%s: can not represent section for symbol `%s' in a.out object file format" msgstr "" -#: aoutx.h:1646 +#: aoutx.h:1647 msgid "*unknown*" msgstr "" -#: aoutx.h:3683 +#: aoutx.h:3684 #, c-format msgid "%s: relocateable link from %s to %s not supported" msgstr "" @@ -286,7 +286,7 @@ msgstr "" msgid "private flags = %x:" msgstr "" -#: coff-arm.c:2300 elf32-arm.h:2222 +#: coff-arm.c:2300 elf32-arm.h:2234 msgid " [floats passed in float registers]" msgstr "" @@ -294,7 +294,7 @@ msgstr "" msgid " [floats passed in integer registers]" msgstr "" -#: coff-arm.c:2305 elf32-arm.h:2225 +#: coff-arm.c:2305 elf32-arm.h:2237 msgid " [position independent]" msgstr "" @@ -380,7 +380,7 @@ msgstr "" msgid "uncertain calling convention for non-COFF symbol" msgstr "" -#: cofflink.c:527 elflink.h:1652 +#: cofflink.c:527 elflink.h:1651 #, c-format msgid "Warning: type of symbol `%s' changed from %d to %d in %s" msgstr "" @@ -434,7 +434,8 @@ msgstr "" #: dwarf2.c:442 #, c-format -msgid "Dwarf Error: Abbrev offset (%u) bigger than abbrev size (%u)." +msgid "" +"Dwarf Error: Abbrev offset (%u) greater than or equal to abbrev size (%u)." msgstr "" #: dwarf2.c:625 @@ -452,7 +453,7 @@ msgstr "" #: dwarf2.c:807 #, c-format -msgid "Dwarf Error: Line offset (%u) bigger than line size (%u)." +msgid "Dwarf Error: Line offset (%u) greater than or equal to line size (%u)." msgstr "" #: dwarf2.c:974 @@ -483,255 +484,255 @@ msgstr "" msgid "Dwarf Error: Bad abbrev number: %d." msgstr "" -#: ecoff.c:1329 +#: ecoff.c:1331 #, c-format msgid "Unknown basic type %d" msgstr "" -#: ecoff.c:1598 +#: ecoff.c:1600 #, c-format msgid "" "\n" " End+1 symbol: %ld" msgstr "" -#: ecoff.c:1605 ecoff.c:1608 +#: ecoff.c:1607 ecoff.c:1610 #, c-format msgid "" "\n" " First symbol: %ld" msgstr "" -#: ecoff.c:1620 +#: ecoff.c:1622 #, c-format msgid "" "\n" " End+1 symbol: %-7ld Type: %s" msgstr "" -#: ecoff.c:1627 +#: ecoff.c:1629 #, c-format msgid "" "\n" " Local symbol: %ld" msgstr "" -#: ecoff.c:1635 +#: ecoff.c:1637 #, c-format msgid "" "\n" " struct; End+1 symbol: %ld" msgstr "" -#: ecoff.c:1640 +#: ecoff.c:1642 #, c-format msgid "" "\n" " union; End+1 symbol: %ld" msgstr "" -#: ecoff.c:1645 +#: ecoff.c:1647 #, c-format msgid "" "\n" " enum; End+1 symbol: %ld" msgstr "" -#: ecoff.c:1651 +#: ecoff.c:1653 #, c-format msgid "" "\n" " Type: %s" msgstr "" -#: elf32-arm.h:1179 +#: elf32-arm.h:1191 #, c-format msgid "%s: Warning: Arm BLX instruction targets Arm function '%s'." msgstr "" -#: elf32-arm.h:1375 +#: elf32-arm.h:1387 #, c-format msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'." msgstr "" -#: elf-hppa.h:1369 elf-hppa.h:1402 elf32-arm.h:1865 elf32-i386.c:1456 -#: elf32-ppc.c:3093 elf32-s390.c:1442 elf32-sh.c:2997 elf64-s390.c:1431 -#: elf64-x86-64.c:1290 +#: elf-hppa.h:1369 elf-hppa.h:1402 elf32-arm.h:1877 elf32-i386.c:1456 +#: elf32-ppc.c:3093 elf32-s390.c:1442 elf32-sh.c:3107 elf64-s390.c:1431 +#: elf64-x86-64.c:1289 #, c-format msgid "" "%s: warning: unresolvable relocation against symbol `%s' from %s section" msgstr "" -#: elf-m10200.c:451 elf-m10300.c:663 elf32-arm.h:1939 elf32-avr.c:842 +#: elf-m10200.c:451 elf-m10300.c:663 elf32-arm.h:1951 elf32-avr.c:842 #: elf32-cris.c:1335 elf32-d10v.c:478 elf32-fr30.c:648 elf32-i860.c:1049 #: elf32-m32r.c:1266 elf32-openrisc.c:449 elf32-v850.c:1681 msgid "internal error: out of range error" msgstr "" -#: elf-m10200.c:455 elf-m10300.c:667 elf32-arm.h:1943 elf32-avr.c:846 +#: elf-m10200.c:455 elf-m10300.c:667 elf32-arm.h:1955 elf32-avr.c:846 #: elf32-cris.c:1339 elf32-d10v.c:482 elf32-fr30.c:652 elf32-i860.c:1053 -#: elf32-m32r.c:1270 elf32-mips.c:7046 elf32-openrisc.c:453 elf32-v850.c:1685 +#: elf32-m32r.c:1270 elf32-mips.c:7048 elf32-openrisc.c:453 elf32-v850.c:1685 msgid "internal error: unsupported relocation error" msgstr "" -#: elf-m10200.c:459 elf-m10300.c:671 elf32-arm.h:1947 elf32-d10v.c:486 +#: elf-m10200.c:459 elf-m10300.c:671 elf32-arm.h:1959 elf32-d10v.c:486 #: elf32-m32r.c:1274 msgid "internal error: dangerous error" msgstr "" -#: elf-m10200.c:463 elf-m10300.c:675 elf32-arm.h:1951 elf32-avr.c:854 +#: elf-m10200.c:463 elf-m10300.c:675 elf32-arm.h:1963 elf32-avr.c:854 #: elf32-cris.c:1347 elf32-d10v.c:490 elf32-fr30.c:660 elf32-i860.c:1061 #: elf32-m32r.c:1278 elf32-openrisc.c:461 elf32-v850.c:1705 msgid "internal error: unknown error" msgstr "" -#: elf32-arm.h:1979 +#: elf32-arm.h:1991 #, c-format msgid "" "Warning: Not setting interwork flag of %s since it has already been " "specified as non-interworking" msgstr "" -#: elf32-arm.h:1983 +#: elf32-arm.h:1995 #, c-format msgid "Warning: Clearing the interwork flag of %s due to outside request" msgstr "" -#: elf32-arm.h:2031 +#: elf32-arm.h:2043 #, c-format msgid "" "Warning: Clearing the interwork flag in %s because non-interworking code in " "%s has been linked with it" msgstr "" -#: elf32-arm.h:2125 +#: elf32-arm.h:2137 #, c-format msgid "" "Error: %s compiled for EABI version %d, whereas %s is compiled for version %d" msgstr "" -#: elf32-arm.h:2139 +#: elf32-arm.h:2151 #, c-format msgid "Error: %s compiled for APCS-%d, whereas %s is compiled for APCS-%d" msgstr "" -#: elf32-arm.h:2150 +#: elf32-arm.h:2162 #, c-format msgid "" "Error: %s passes floats in %s registers, whereas %s passes them in %s " "registers" msgstr "" -#: elf32-arm.h:2153 elf32-arm.h:2155 +#: elf32-arm.h:2165 elf32-arm.h:2167 msgid "float" msgstr "" -#: elf32-arm.h:2153 elf32-arm.h:2155 +#: elf32-arm.h:2165 elf32-arm.h:2167 msgid "integer" msgstr "" -#: elf32-arm.h:2162 +#: elf32-arm.h:2174 #, c-format msgid "Error: %s uses %s floating point, whereas %s uses %s floating point" msgstr "" -#: elf32-arm.h:2165 elf32-arm.h:2167 +#: elf32-arm.h:2177 elf32-arm.h:2179 msgid "soft" msgstr "" -#: elf32-arm.h:2165 elf32-arm.h:2167 +#: elf32-arm.h:2177 elf32-arm.h:2179 msgid "hard" msgstr "" -#: elf32-arm.h:2174 +#: elf32-arm.h:2186 #, c-format msgid "Warning: %s %s interworking, whereas %s %s" msgstr "" -#: elf32-arm.h:2177 +#: elf32-arm.h:2189 msgid "supports" msgstr "" -#: elf32-arm.h:2177 +#: elf32-arm.h:2189 msgid "does not support" msgstr "" -#: elf32-arm.h:2179 +#: elf32-arm.h:2191 msgid "does" msgstr "" -#: elf32-arm.h:2179 +#: elf32-arm.h:2191 msgid "does not" msgstr "" #. Ignore init flag - it may not be set, despite the flags field #. containing valid data. -#: elf32-arm.h:2205 elf32-cris.c:2968 elf32-m68k.c:430 elf32-mips.c:2718 +#: elf32-arm.h:2217 elf32-cris.c:2968 elf32-m68k.c:430 elf32-mips.c:2720 #, c-format msgid "private flags = %lx:" msgstr "" -#: elf32-arm.h:2214 +#: elf32-arm.h:2226 msgid " [interworking enabled]" msgstr "" -#: elf32-arm.h:2217 +#: elf32-arm.h:2229 msgid " [APCS-26]" msgstr "" -#: elf32-arm.h:2219 +#: elf32-arm.h:2231 msgid " [APCS-32]" msgstr "" -#: elf32-arm.h:2228 +#: elf32-arm.h:2240 msgid " [new ABI]" msgstr "" -#: elf32-arm.h:2231 +#: elf32-arm.h:2243 msgid " [old ABI]" msgstr "" -#: elf32-arm.h:2234 +#: elf32-arm.h:2246 msgid " [software FP]" msgstr "" -#: elf32-arm.h:2241 +#: elf32-arm.h:2253 msgid " [Version1 EABI]" msgstr "" -#: elf32-arm.h:2244 elf32-arm.h:2255 +#: elf32-arm.h:2256 elf32-arm.h:2267 msgid " [sorted symbol table]" msgstr "" -#: elf32-arm.h:2246 elf32-arm.h:2257 +#: elf32-arm.h:2258 elf32-arm.h:2269 msgid " [unsorted symbol table]" msgstr "" -#: elf32-arm.h:2252 +#: elf32-arm.h:2264 msgid " [Version2 EABI]" msgstr "" -#: elf32-arm.h:2260 +#: elf32-arm.h:2272 msgid " [dynamic symbols use segment index]" msgstr "" -#: elf32-arm.h:2263 +#: elf32-arm.h:2275 msgid " [mapping symbols precede others]" msgstr "" -#: elf32-arm.h:2270 +#: elf32-arm.h:2282 msgid " " msgstr "" -#: elf32-arm.h:2277 +#: elf32-arm.h:2289 msgid " [relocatable executable]" msgstr "" -#: elf32-arm.h:2280 +#: elf32-arm.h:2292 msgid " [has entry point]" msgstr "" -#: elf32-arm.h:2285 +#: elf32-arm.h:2297 msgid "" msgstr "" @@ -837,46 +838,46 @@ msgstr "" msgid "%s(%s+0x%lx): cannot relocate %s, recompile with -ffunction-sections" msgstr "" -#: elf32-hppa.c:896 elf32-hppa.c:1592 +#: elf32-hppa.c:896 elf32-hppa.c:1593 #, c-format msgid "Could not find relocation section for %s" msgstr "" -#: elf32-hppa.c:1035 elf32-hppa.c:3430 +#: elf32-hppa.c:1036 elf32-hppa.c:3441 #, c-format msgid "%s(%s+0x%lx): cannot reach %s, recompile with -ffunction-sections" msgstr "" -#: elf32-hppa.c:1347 +#: elf32-hppa.c:1348 #, c-format msgid "" "%s: relocation %s can not be used when making a shared object; recompile " "with -fPIC" msgstr "" -#: elf32-hppa.c:1367 +#: elf32-hppa.c:1368 #, c-format msgid "" "%s: relocation %s should not be used when making a shared object; recompile " "with -fPIC" msgstr "" -#: elf32-hppa.c:2733 +#: elf32-hppa.c:2741 #, c-format msgid "%s: duplicate export stub %s" msgstr "" -#: elf32-hppa.c:3314 +#: elf32-hppa.c:3325 #, c-format msgid "%s(%s+0x%lx): fixing %s" msgstr "" -#: elf32-hppa.c:3933 +#: elf32-hppa.c:3944 #, c-format msgid "%s(%s+0x%lx): cannot handle %s for %s" msgstr "" -#: elf32-hppa.c:4251 +#: elf32-hppa.c:4262 msgid ".got section not immediately after .plt section" msgstr "" @@ -909,7 +910,7 @@ msgstr "" msgid "SDA relocation when _SDA_BASE_ not defined" msgstr "" -#: elf32-ia64.c:3402 elf32-m32r.c:1001 elf32-ppc.c:2960 elf64-ia64.c:3402 +#: elf32-ia64.c:3417 elf32-m32r.c:1001 elf32-ppc.c:2960 elf64-ia64.c:3417 #, c-format msgid "%s: unknown relocation type %d" msgstr "" @@ -960,132 +961,132 @@ msgstr "" msgid "Linking mips16 objects into %s format is not supported" msgstr "" -#: elf32-mips.c:2605 +#: elf32-mips.c:2607 #, c-format msgid "%s: linking PIC files with non-PIC files" msgstr "" -#: elf32-mips.c:2615 +#: elf32-mips.c:2617 #, c-format msgid "%s: linking abicalls files with non-abicalls files" msgstr "" -#: elf32-mips.c:2644 +#: elf32-mips.c:2646 #, c-format msgid "%s: ISA mismatch (-mips%d) with previous modules (-mips%d)" msgstr "" -#: elf32-mips.c:2653 +#: elf32-mips.c:2655 #, c-format msgid "%s: ISA mismatch (%d) with previous modules (%d)" msgstr "" -#: elf32-mips.c:2676 +#: elf32-mips.c:2678 #, c-format msgid "%s: ABI mismatch: linking %s module with previous %s modules" msgstr "" -#: elf32-mips.c:2690 elf32-ppc.c:1478 elf64-sparc.c:2998 +#: elf32-mips.c:2692 elf32-ppc.c:1478 elf64-sparc.c:2996 #, c-format msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" msgstr "" -#: elf32-mips.c:2721 +#: elf32-mips.c:2723 msgid " [abi=O32]" msgstr "" -#: elf32-mips.c:2723 +#: elf32-mips.c:2725 msgid " [abi=O64]" msgstr "" -#: elf32-mips.c:2725 +#: elf32-mips.c:2727 msgid " [abi=EABI32]" msgstr "" -#: elf32-mips.c:2727 +#: elf32-mips.c:2729 msgid " [abi=EABI64]" msgstr "" -#: elf32-mips.c:2729 +#: elf32-mips.c:2731 msgid " [abi unknown]" msgstr "" -#: elf32-mips.c:2731 +#: elf32-mips.c:2733 msgid " [abi=N32]" msgstr "" -#: elf32-mips.c:2733 +#: elf32-mips.c:2735 msgid " [abi=64]" msgstr "" -#: elf32-mips.c:2735 +#: elf32-mips.c:2737 msgid " [no abi set]" msgstr "" -#: elf32-mips.c:2738 +#: elf32-mips.c:2740 msgid " [mips1]" msgstr "" -#: elf32-mips.c:2740 +#: elf32-mips.c:2742 msgid " [mips2]" msgstr "" -#: elf32-mips.c:2742 +#: elf32-mips.c:2744 msgid " [mips3]" msgstr "" -#: elf32-mips.c:2744 +#: elf32-mips.c:2746 msgid " [mips4]" msgstr "" -#: elf32-mips.c:2746 +#: elf32-mips.c:2748 msgid " [mips5]" msgstr "" -#: elf32-mips.c:2748 +#: elf32-mips.c:2750 msgid " [mips32]" msgstr "" -#: elf32-mips.c:2750 +#: elf32-mips.c:2752 msgid " [mips64]" msgstr "" -#: elf32-mips.c:2752 +#: elf32-mips.c:2754 msgid " [unknown ISA]" msgstr "" -#: elf32-mips.c:2755 +#: elf32-mips.c:2757 msgid " [32bitmode]" msgstr "" -#: elf32-mips.c:2757 +#: elf32-mips.c:2759 msgid " [not 32bitmode]" msgstr "" -#: elf32-mips.c:4424 +#: elf32-mips.c:4427 msgid "static procedure (no name)" msgstr "" -#: elf32-mips.c:5041 elf64-alpha.c:4418 +#: elf32-mips.c:5044 elf64-alpha.c:4418 #, c-format msgid "%s: illegal section name `%s'" msgstr "" -#: elf32-mips.c:5606 +#: elf32-mips.c:5609 msgid "not enough GOT space for local GOT entries" msgstr "" -#: elf32-mips.c:6722 +#: elf32-mips.c:6725 #, c-format msgid "%s: %s+0x%lx: jump to stub routine which is not jal" msgstr "" -#: elf32-mips.c:7712 +#: elf32-mips.c:7714 #, c-format msgid "Malformed reloc detected for section %s" msgstr "" -#: elf32-mips.c:7789 +#: elf32-mips.c:7791 #, c-format msgid "%s: CALL16 reloc at 0x%lx not against global symbol" msgstr "" @@ -1168,12 +1169,12 @@ msgstr "" msgid "%s: 0x%lx: fatal: reloc overflow while relaxing" msgstr "" -#: elf32-sh.c:3061 +#: elf32-sh.c:3171 #, c-format msgid "%s: 0x%lx: fatal: unaligned branch target for relax-support relocation" msgstr "" -#: elf32-sparc.c:1512 elf64-sparc.c:2264 +#: elf32-sparc.c:1512 elf64-sparc.c:2262 #, c-format msgid "%s: probably compiled without -fPIC?" msgstr "" @@ -1269,32 +1270,32 @@ msgstr "" msgid "stub entry for %s cannot load .plt, dp offset = %ld" msgstr "" -#: elf64-sparc.c:1249 +#: elf64-sparc.c:1248 #, c-format msgid "%s: check_relocs: unhandled reloc type %d" msgstr "" -#: elf64-sparc.c:1286 +#: elf64-sparc.c:1285 msgid "%s: Only registers %%g[2367] can be declared using STT_REGISTER" msgstr "" -#: elf64-sparc.c:1306 +#: elf64-sparc.c:1305 msgid "" "Register %%g%d used incompatibly: previously declared in %s to %s, in %s " "redefined to %s" msgstr "" -#: elf64-sparc.c:1329 +#: elf64-sparc.c:1328 #, c-format msgid "Symbol `%s' has differing types: previously %s, REGISTER in %s" msgstr "" -#: elf64-sparc.c:1375 +#: elf64-sparc.c:1374 #, c-format msgid "Symbol `%s' has differing types: REGISTER in %s, %s in %s" msgstr "" -#: elf64-sparc.c:2979 +#: elf64-sparc.c:2977 #, c-format msgid "%s: linking UltraSPARC specific with HAL specific code" msgstr "" @@ -1304,95 +1305,95 @@ msgstr "" msgid "%s: invalid string offset %u >= %lu for section `%s'" msgstr "" -#: elf.c:578 +#: elf.c:590 msgid "" "\n" "Program Header:\n" msgstr "" -#: elf.c:626 +#: elf.c:638 msgid "" "\n" "Dynamic Section:\n" msgstr "" -#: elf.c:755 +#: elf.c:767 msgid "" "\n" "Version definitions:\n" msgstr "" -#: elf.c:778 +#: elf.c:790 msgid "" "\n" "Version References:\n" msgstr "" -#: elf.c:783 +#: elf.c:795 #, c-format msgid " required from %s:\n" msgstr "" -#: elf.c:1372 +#: elf.c:1385 #, c-format msgid "%s: invalid link %lu for reloc section %s (index %u)" msgstr "" -#: elf.c:2133 +#: elf.c:2146 #, c-format msgid "" "creating section symbol, name = %s, value = 0x%.8lx, index = %d, section = " "0x%.8lx\n" msgstr "" -#: elf.c:2736 +#: elf.c:2749 #, c-format msgid "%s: Not enough room for program headers (allocated %u, need %u)" msgstr "" -#: elf.c:2835 +#: elf.c:2848 #, c-format msgid "%s: Not enough room for program headers, try linking with -N" msgstr "" -#: elf.c:2961 +#: elf.c:2974 #, c-format msgid "Error: First section in segment (%s) starts at 0x%x" msgstr "" -#: elf.c:2964 +#: elf.c:2977 #, c-format msgid " whereas segment starts at 0x%x" msgstr "" -#: elf.c:3237 +#: elf.c:3250 #, c-format msgid "%s: warning: allocated section `%s' not in segment" msgstr "" -#: elf.c:3642 +#: elf.c:3655 #, c-format msgid "%s: symbol `%s' required but not present" msgstr "" -#: elf.c:3651 +#: elf.c:3664 #, c-format msgid "" "elf_symbol_from_bfd_symbol 0x%.8lx, name = %s, sym num = %d, flags = " "0x%.8lx%s\n" msgstr "" -#: elf.c:3892 +#: elf.c:3905 #, c-format msgid "%s: warning: Empty loadable segment detected\n" msgstr "" -#: elf.c:5272 +#: elf.c:5285 #, c-format msgid "%s: unsupported relocation type %s" msgstr "" -#: elfcode.h:1084 +#: elfcode.h:1085 #, c-format msgid "%s: version count (%ld) does not match symbol count (%ld)" msgstr "" @@ -1402,42 +1403,42 @@ msgstr "" msgid "%s: Section %s is already to large to put hole of %ld bytes in" msgstr "" -#: elflink.h:1469 +#: elflink.h:1468 #, c-format msgid "%s: %s: invalid version %u (max %d)" msgstr "" -#: elflink.h:1510 +#: elflink.h:1509 #, c-format msgid "%s: %s: invalid needed version %d" msgstr "" -#: elflink.h:1630 +#: elflink.h:1629 #, c-format msgid "Warning: size of symbol `%s' changed from %lu to %lu in %s" msgstr "" -#: elflink.h:1876 +#: elflink.h:1875 #, c-format msgid "%s: warning: unexpected redefinition of `%s'" msgstr "" -#: elflink.h:3675 +#: elflink.h:3676 #, c-format msgid "warning: type and size of dynamic symbol `%s' are not defined" msgstr "" -#: elflink.h:3947 +#: elflink.h:3948 #, c-format msgid "%s: undefined versioned symbol name %s" msgstr "" -#: elflink.h:5234 +#: elflink.h:5233 #, c-format msgid "%s: could not find output section %s for input section %s" msgstr "" -#: elflink.h:5620 +#: elflink.h:5619 #, c-format msgid "%s: invalid section symbol index 0x%x (%s) ingored" msgstr "" @@ -1556,12 +1557,17 @@ msgstr "" msgid "%s: compiled for a little endian system and target is big endian" msgstr "" -#: linker.c:2684 +#: linker.c:1808 +#, c-format +msgid "%s: indirect symbol `%s' to `%s' is a loop" +msgstr "" + +#: linker.c:2693 #, c-format msgid "Attempt to do relocateable link with %s input and %s output" msgstr "" -#: merge.c:566 +#: merge.c:883 #, c-format msgid "%s: access beyond end of merged section (%ld + %ld)" msgstr "" @@ -2027,69 +2033,69 @@ msgstr "" msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry" msgstr "" -#: elf32-ia64.c:2035 elf64-ia64.c:2035 +#: elf32-ia64.c:2050 elf64-ia64.c:2050 msgid "@pltoff reloc against local symbol" msgstr "" -#: elf32-ia64.c:2095 elf64-ia64.c:2095 +#: elf32-ia64.c:2110 elf64-ia64.c:2110 msgid "non-zero addend in @fptr reloc" msgstr "" -#: elf32-ia64.c:3280 elf64-ia64.c:3280 +#: elf32-ia64.c:3295 elf64-ia64.c:3295 #, c-format msgid "%s: short data segment overflowed (0x%lx >= 0x400000)" msgstr "" -#: elf32-ia64.c:3291 elf64-ia64.c:3291 +#: elf32-ia64.c:3306 elf64-ia64.c:3306 #, c-format msgid "%s: __gp does not cover short data segment" msgstr "" -#: elf32-ia64.c:3563 elf64-ia64.c:3563 +#: elf32-ia64.c:3578 elf64-ia64.c:3578 #, c-format msgid "%s: linking non-pic code in a shared library" msgstr "" -#: elf32-ia64.c:3596 elf64-ia64.c:3596 +#: elf32-ia64.c:3611 elf64-ia64.c:3611 #, c-format msgid "%s: @gprel relocation against dynamic symbol %s" msgstr "" -#: elf32-ia64.c:3732 elf64-ia64.c:3732 +#: elf32-ia64.c:3747 elf64-ia64.c:3747 #, c-format msgid "%s: dynamic relocation against speculation fixup" msgstr "" -#: elf32-ia64.c:3740 elf64-ia64.c:3740 +#: elf32-ia64.c:3755 elf64-ia64.c:3755 #, c-format msgid "%s: speculation fixup against undefined weak symbol" msgstr "" -#: elf32-ia64.c:3923 elf64-ia64.c:3923 +#: elf32-ia64.c:3938 elf64-ia64.c:3938 msgid "unsupported reloc" msgstr "" -#: elf32-ia64.c:4220 elf64-ia64.c:4220 +#: elf32-ia64.c:4235 elf64-ia64.c:4235 #, c-format msgid "%s: linking trap-on-NULL-dereference with non-trapping files" msgstr "" -#: elf32-ia64.c:4229 elf64-ia64.c:4229 +#: elf32-ia64.c:4244 elf64-ia64.c:4244 #, c-format msgid "%s: linking big-endian files with little-endian files" msgstr "" -#: elf32-ia64.c:4238 elf64-ia64.c:4238 +#: elf32-ia64.c:4253 elf64-ia64.c:4253 #, c-format msgid "%s: linking 64-bit files with 32-bit files" msgstr "" -#: elf32-ia64.c:4247 elf64-ia64.c:4247 +#: elf32-ia64.c:4262 elf64-ia64.c:4262 #, c-format msgid "%s: linking constant-gp files with non-constant-gp files" msgstr "" -#: elf32-ia64.c:4257 elf64-ia64.c:4257 +#: elf32-ia64.c:4272 elf64-ia64.c:4272 #, c-format msgid "%s: linking auto-pic files with non-auto-pic files" msgstr "" diff -uprN binutils-2.11.90.0.8/bfd/reloc.c binutils-2.11.90.0.15/bfd/reloc.c --- binutils-2.11.90.0.8/bfd/reloc.c Sat May 12 00:57:58 2001 +++ binutils-2.11.90.0.15/bfd/reloc.c Fri Jun 1 21:47:15 2001 @@ -1800,7 +1800,11 @@ ENUMX ENUMX BFD_RELOC_SPARC_RELATIVE ENUMX + BFD_RELOC_SPARC_UA16 +ENUMX BFD_RELOC_SPARC_UA32 +ENUMX + BFD_RELOC_SPARC_UA64 ENUMDOC SPARC ELF relocations. There is probably some overlap with other relocation types already defined. @@ -2037,6 +2041,28 @@ ENUMX BFD_RELOC_MIPS_GOT_OFST ENUMX BFD_RELOC_MIPS_GOT_DISP +ENUMX + BFD_RELOC_MIPS_SHIFT5 +ENUMX + BFD_RELOC_MIPS_SHIFT6 +ENUMX + BFD_RELOC_MIPS_INSERT_A +ENUMX + BFD_RELOC_MIPS_INSERT_B +ENUMX + BFD_RELOC_MIPS_DELETE +ENUMX + BFD_RELOC_MIPS_HIGHEST +ENUMX + BFD_RELOC_MIPS_HIGHER +ENUMX + BFD_RELOC_MIPS_SCN_DISP +ENUMX + BFD_RELOC_MIPS_REL16 +ENUMX + BFD_RELOC_MIPS_RELGOT +ENUMX + BFD_RELOC_MIPS_JALR COMMENT ENUMDOC MIPS ELF relocations. diff -uprN binutils-2.11.90.0.8/bfd/section.c binutils-2.11.90.0.15/bfd/section.c --- binutils-2.11.90.0.8/bfd/section.c Sat Apr 14 12:52:17 2001 +++ binutils-2.11.90.0.15/bfd/section.c Sun Jun 3 16:58:25 2001 @@ -372,6 +372,10 @@ CODE_FRAGMENT . {* A mark flag used by some of the linker backends. *} . unsigned int linker_mark : 1; . +. {* Another mark flag used by some of the linker backends. Set for +. output sections that have a input section. *} +. unsigned int linker_has_input : 1; +. . {* A mark flag used by some linker backends for garbage collection. *} . unsigned int gc_mark : 1; . @@ -578,11 +582,14 @@ static const asymbol global_syms[] = /* name, id, index, next, flags, user_set_vma, reloc_done, */ \ { NAME, IDX, 0, NULL, FLAGS, 0, 0, \ \ - /* linker_mark, gc_mark, segment_mark, vma, lma, _cooked_size, */ \ - 0, 1, 0, 0, 0, 0, \ + /* linker_mark, linker_has_input, gc_mark, segment_mark, */ \ + 0, 0, 1, 0, \ + \ + /* vma, lma, _cooked_size, _raw_size, */ \ + 0, 0, 0, 0, \ \ - /* _raw_size, output_offset, output_section, alignment_power, */ \ - 0, 0, (struct sec *) &SEC, 0, \ + /* output_offset, output_section, alignment_power, */ \ + 0, (struct sec *) &SEC, 0, \ \ /* relocation, orelocation, reloc_count, filepos, rel_filepos, */ \ NULL, NULL, 0, 0, 0, \ @@ -1217,6 +1224,11 @@ _bfd_strip_section_from_output (info, s) orders have not yet been set up. So why are we checking them? -- Ian */ os = s->output_section; + + /* Handle a section that wasn't output. */ + if (os == NULL) + return; + for (p = os->link_order_head, pp = NULL; p != NULL; pp = p, p = p->next) if (p->type == bfd_indirect_link_order && p->u.indirect.section == s) diff -uprN binutils-2.11.90.0.8/bfd/xcofflink.c binutils-2.11.90.0.15/bfd/xcofflink.c --- binutils-2.11.90.0.8/bfd/xcofflink.c Fri Mar 9 11:38:01 2001 +++ binutils-2.11.90.0.15/bfd/xcofflink.c Thu May 24 23:17:03 2001 @@ -24,186 +24,19 @@ Foundation, Inc., 59 Temple Place - Suit #include "bfdlink.h" #include "libbfd.h" #include "coff/internal.h" +#include "coff/xcoff.h" #include "libcoff.h" +#include "libxcoff.h" /* This file holds the XCOFF linker code. */ #define STRING_SIZE_SIZE (4) -/* Get the XCOFF hash table entries for a BFD. */ -#define obj_xcoff_sym_hashes(bfd) \ - ((struct xcoff_link_hash_entry **) obj_coff_sym_hashes (bfd)) - -/* XCOFF relocation types. These probably belong in a header file - somewhere. The relocations are described in the function - _bfd_ppc_xcoff_relocate_section in this file. */ - -#define R_POS (0x00) -#define R_NEG (0x01) -#define R_REL (0x02) -#define R_TOC (0x03) -#define R_RTB (0x04) -#define R_GL (0x05) -#define R_TCL (0x06) -#define R_BA (0x08) -#define R_BR (0x0a) -#define R_RL (0x0c) -#define R_RLA (0x0d) -#define R_REF (0x0f) -#define R_TRL (0x12) -#define R_TRLA (0x13) -#define R_RRTBI (0x14) -#define R_RRTBA (0x15) -#define R_CAI (0x16) -#define R_CREL (0x17) -#define R_RBA (0x18) -#define R_RBAC (0x19) -#define R_RBR (0x1a) -#define R_RBRC (0x1b) - -/* The first word of global linkage code. This must be modified by - filling in the correct TOC offset. */ - -#define XCOFF_GLINK_FIRST (0x81820000) /* lwz r12,0(r2) */ - -/* The remaining words of global linkage code. */ - -static unsigned long xcoff_glink_code[] = { - 0x90410014, /* stw r2,20(r1) */ - 0x800c0000, /* lwz r0,0(r12) */ - 0x804c0004, /* lwz r2,4(r12) */ - 0x7c0903a6, /* mtctr r0 */ - 0x4e800420, /* bctr */ - 0x0, /* start of traceback table */ - 0x000c8000, /* traceback table */ - 0x0 /* traceback table */ -}; - -#define XCOFF_GLINK_SIZE \ - (((sizeof xcoff_glink_code / sizeof xcoff_glink_code[0]) * 4) + 4) - /* We reuse the SEC_ROM flag as a mark flag for garbage collection. This flag will only be used on input sections. */ #define SEC_MARK (SEC_ROM) -/* The ldhdr structure. This appears at the start of the .loader - section. */ - -struct internal_ldhdr { - /* The version number: currently always 1. */ - unsigned long l_version; - /* The number of symbol table entries. */ - bfd_size_type l_nsyms; - /* The number of relocation table entries. */ - bfd_size_type l_nreloc; - /* The length of the import file string table. */ - bfd_size_type l_istlen; - /* The number of import files. */ - bfd_size_type l_nimpid; - /* The offset from the start of the .loader section to the first - entry in the import file table. */ - bfd_size_type l_impoff; - /* The length of the string table. */ - bfd_size_type l_stlen; - /* The offset from the start of the .loader section to the first - entry in the string table. */ - bfd_size_type l_stoff; -}; - -struct external_ldhdr { - bfd_byte l_version[4]; - bfd_byte l_nsyms[4]; - bfd_byte l_nreloc[4]; - bfd_byte l_istlen[4]; - bfd_byte l_nimpid[4]; - bfd_byte l_impoff[4]; - bfd_byte l_stlen[4]; - bfd_byte l_stoff[4]; -}; - -#define LDHDRSZ (8 * 4) - -/* The ldsym structure. This is used to represent a symbol in the - .loader section. */ - -struct internal_ldsym { - union { - /* The symbol name if <= SYMNMLEN characters. */ - char _l_name[SYMNMLEN]; - struct { - /* Zero if the symbol name is more than SYMNMLEN characters. */ - long _l_zeroes; - /* The offset in the string table if the symbol name is more - than SYMNMLEN characters. */ - long _l_offset; - } _l_l; - } _l; - /* The symbol value. */ - bfd_vma l_value; - /* The symbol section number. */ - short l_scnum; - /* The symbol type and flags. */ - char l_smtype; - /* The symbol storage class. */ - char l_smclas; - /* The import file ID. */ - bfd_size_type l_ifile; - /* Offset to the parameter type check string. */ - bfd_size_type l_parm; -}; - -struct external_ldsym { - union { - bfd_byte _l_name[SYMNMLEN]; - struct { - bfd_byte _l_zeroes[4]; - bfd_byte _l_offset[4]; - } _l_l; - } _l; - bfd_byte l_value[4]; - bfd_byte l_scnum[2]; - bfd_byte l_smtype[1]; - bfd_byte l_smclas[1]; - bfd_byte l_ifile[4]; - bfd_byte l_parm[4]; -}; - -#define LDSYMSZ (8 + 3 * 4 + 2 + 2) - -/* These flags are for the l_smtype field (the lower three bits are an - XTY_* value). */ - -/* Imported symbol. */ -#define L_IMPORT (0x40) -/* Entry point. */ -#define L_ENTRY (0x20) -/* Exported symbol. */ -#define L_EXPORT (0x10) - -/* The ldrel structure. This is used to represent a reloc in the - .loader section. */ - -struct internal_ldrel { - /* The reloc address. */ - bfd_vma l_vaddr; - /* The symbol table index in the .loader section symbol table. */ - bfd_size_type l_symndx; - /* The relocation type and size. */ - short l_rtype; - /* The section number this relocation applies to. */ - short l_rsecnm; -}; - -struct external_ldrel { - bfd_byte l_vaddr[4]; - bfd_byte l_symndx[4]; - bfd_byte l_rtype[2]; - bfd_byte l_rsecnm[2]; -}; - -#define LDRELSZ (2 * 4 + 2 * 2) - /* The list of import files. */ struct xcoff_import_file { @@ -217,134 +50,6 @@ struct xcoff_import_file { const char *member; }; -/* An entry in the XCOFF linker hash table. */ - -struct xcoff_link_hash_entry { - struct bfd_link_hash_entry root; - - /* Symbol index in output file. Set to -1 initially. Set to -2 if - there is a reloc against this symbol. */ - long indx; - - /* If we have created a TOC entry for this symbol, this is the .tc - section which holds it. */ - asection *toc_section; - - union { - /* If we have created a TOC entry (the XCOFF_SET_TOC flag is set), - this is the offset in toc_section. */ - bfd_vma toc_offset; - /* If the TOC entry comes from an input file, this is set to the - symbol index of the C_HIDEXT XMC_TC or XMC_TD symbol. */ - long toc_indx; - } u; - - /* If this symbol is a function entry point which is called, this - field holds a pointer to the function descriptor. If this symbol - is a function descriptor, this field holds a pointer to the - function entry point. */ - struct xcoff_link_hash_entry *descriptor; - - /* The .loader symbol table entry, if there is one. */ - struct internal_ldsym *ldsym; - - /* If XCOFF_BUILT_LDSYM is set, this is the .loader symbol table - index. If XCOFF_BUILD_LDSYM is clear, and XCOFF_IMPORT is set, - this is the l_ifile value. */ - long ldindx; - - /* Some linker flags. */ - unsigned short flags; - /* Symbol is referenced by a regular object. */ -#define XCOFF_REF_REGULAR (01) - /* Symbol is defined by a regular object. */ -#define XCOFF_DEF_REGULAR (02) - /* Symbol is defined by a dynamic object. */ -#define XCOFF_DEF_DYNAMIC (04) - /* Symbol is used in a reloc being copied into the .loader section. */ -#define XCOFF_LDREL (010) - /* Symbol is the entry point. */ -#define XCOFF_ENTRY (020) - /* Symbol is called; this is, it appears in a R_BR reloc. */ -#define XCOFF_CALLED (040) - /* Symbol needs the TOC entry filled in. */ -#define XCOFF_SET_TOC (0100) - /* Symbol is explicitly imported. */ -#define XCOFF_IMPORT (0200) - /* Symbol is explicitly exported. */ -#define XCOFF_EXPORT (0400) - /* Symbol has been processed by xcoff_build_ldsyms. */ -#define XCOFF_BUILT_LDSYM (01000) - /* Symbol is mentioned by a section which was not garbage collected. */ -#define XCOFF_MARK (02000) - /* Symbol size is recorded in size_list list from hash table. */ -#define XCOFF_HAS_SIZE (04000) - /* Symbol is a function descriptor. */ -#define XCOFF_DESCRIPTOR (010000) - /* Multiple definitions have been for the symbol. */ -#define XCOFF_MULTIPLY_DEFINED (020000) - - /* The storage mapping class. */ - unsigned char smclas; -}; - -/* The XCOFF linker hash table. */ - -struct xcoff_link_hash_table { - struct bfd_link_hash_table root; - - /* The .debug string hash table. We need to compute this while - reading the input files, so that we know how large the .debug - section will be before we assign section positions. */ - struct bfd_strtab_hash *debug_strtab; - - /* The .debug section we will use for the final output. */ - asection *debug_section; - - /* The .loader section we will use for the final output. */ - asection *loader_section; - - /* A count of non TOC relative relocs which will need to be - allocated in the .loader section. */ - size_t ldrel_count; - - /* The .loader section header. */ - struct internal_ldhdr ldhdr; - - /* The .gl section we use to hold global linkage code. */ - asection *linkage_section; - - /* The .tc section we use to hold toc entries we build for global - linkage code. */ - asection *toc_section; - - /* The .ds section we use to hold function descriptors which we - create for exported symbols. */ - asection *descriptor_section; - - /* The list of import files. */ - struct xcoff_import_file *imports; - - /* Required alignment of sections within the output file. */ - unsigned long file_align; - - /* Whether the .text section must be read-only. */ - boolean textro; - - /* Whether garbage collection was done. */ - boolean gc; - - /* A linked list of symbols for which we have size information. */ - struct xcoff_link_size_list { - struct xcoff_link_size_list *next; - struct xcoff_link_hash_entry *h; - bfd_size_type size; - } *size_list; - - /* Magic sections: _text, _etext, _data, _edata, _end, end. */ - asection *special_sections[6]; -}; - /* Information we keep for each section in the output file during the final link phase. */ @@ -384,9 +89,9 @@ struct xcoff_final_link_info { /* Symbol index of TOC symbol. */ long toc_symindx; /* Start of .loader symbols. */ - struct external_ldsym *ldsym; + bfd_byte *ldsym; /* Next .loader reloc to swap out. */ - struct external_ldrel *ldrel; + bfd_byte *ldrel; /* File position of start of line numbers. */ file_ptr line_filepos; /* Buffer large enough to hold swapped symbols of any input file. */ @@ -405,18 +110,6 @@ struct xcoff_final_link_info { bfd_byte *external_relocs; }; -static void xcoff_swap_ldhdr_in - PARAMS ((bfd *, const struct external_ldhdr *, struct internal_ldhdr *)); -static void xcoff_swap_ldhdr_out - PARAMS ((bfd *, const struct internal_ldhdr *, struct external_ldhdr *)); -static void xcoff_swap_ldsym_in - PARAMS ((bfd *, const struct external_ldsym *, struct internal_ldsym *)); -static void xcoff_swap_ldsym_out - PARAMS ((bfd *, const struct internal_ldsym *, struct external_ldsym *)); -static void xcoff_swap_ldrel_in - PARAMS ((bfd *, const struct external_ldrel *, struct internal_ldrel *)); -static void xcoff_swap_ldrel_out - PARAMS ((bfd *, const struct internal_ldrel *, struct external_ldrel *)); static struct bfd_hash_entry *xcoff_link_hash_newfunc PARAMS ((struct bfd_hash_entry *, struct bfd_hash_table *, const char *)); static boolean xcoff_get_section_contents PARAMS ((bfd *, asection *)); @@ -451,121 +144,7 @@ static boolean xcoff_reloc_link_order struct bfd_link_order *)); static int xcoff_sort_relocs PARAMS ((const PTR, const PTR)); -/* Routines to swap information in the XCOFF .loader section. If we - ever need to write an XCOFF loader, this stuff will need to be - moved to another file shared by the linker (which XCOFF calls the - ``binder'') and the loader. */ - -/* Swap in the ldhdr structure. */ - -static void -xcoff_swap_ldhdr_in (abfd, src, dst) - bfd *abfd; - const struct external_ldhdr *src; - struct internal_ldhdr *dst; -{ - dst->l_version = bfd_get_32 (abfd, src->l_version); - dst->l_nsyms = bfd_get_32 (abfd, src->l_nsyms); - dst->l_nreloc = bfd_get_32 (abfd, src->l_nreloc); - dst->l_istlen = bfd_get_32 (abfd, src->l_istlen); - dst->l_nimpid = bfd_get_32 (abfd, src->l_nimpid); - dst->l_impoff = bfd_get_32 (abfd, src->l_impoff); - dst->l_stlen = bfd_get_32 (abfd, src->l_stlen); - dst->l_stoff = bfd_get_32 (abfd, src->l_stoff); -} - -/* Swap out the ldhdr structure. */ - -static void -xcoff_swap_ldhdr_out (abfd, src, dst) - bfd *abfd; - const struct internal_ldhdr *src; - struct external_ldhdr *dst; -{ - bfd_put_32 (abfd, src->l_version, dst->l_version); - bfd_put_32 (abfd, src->l_nsyms, dst->l_nsyms); - bfd_put_32 (abfd, src->l_nreloc, dst->l_nreloc); - bfd_put_32 (abfd, src->l_istlen, dst->l_istlen); - bfd_put_32 (abfd, src->l_nimpid, dst->l_nimpid); - bfd_put_32 (abfd, src->l_impoff, dst->l_impoff); - bfd_put_32 (abfd, src->l_stlen, dst->l_stlen); - bfd_put_32 (abfd, src->l_stoff, dst->l_stoff); -} - -/* Swap in the ldsym structure. */ - -static void -xcoff_swap_ldsym_in (abfd, src, dst) - bfd *abfd; - const struct external_ldsym *src; - struct internal_ldsym *dst; -{ - if (bfd_get_32 (abfd, src->_l._l_l._l_zeroes) != 0) - memcpy (dst->_l._l_name, src->_l._l_name, SYMNMLEN); - else - { - dst->_l._l_l._l_zeroes = 0; - dst->_l._l_l._l_offset = bfd_get_32 (abfd, src->_l._l_l._l_offset); - } - dst->l_value = bfd_get_32 (abfd, src->l_value); - dst->l_scnum = bfd_get_16 (abfd, src->l_scnum); - dst->l_smtype = bfd_get_8 (abfd, src->l_smtype); - dst->l_smclas = bfd_get_8 (abfd, src->l_smclas); - dst->l_ifile = bfd_get_32 (abfd, src->l_ifile); - dst->l_parm = bfd_get_32 (abfd, src->l_parm); -} - -/* Swap out the ldsym structure. */ - -static void -xcoff_swap_ldsym_out (abfd, src, dst) - bfd *abfd; - const struct internal_ldsym *src; - struct external_ldsym *dst; -{ - if (src->_l._l_l._l_zeroes != 0) - memcpy (dst->_l._l_name, src->_l._l_name, SYMNMLEN); - else - { - bfd_put_32 (abfd, 0, dst->_l._l_l._l_zeroes); - bfd_put_32 (abfd, src->_l._l_l._l_offset, dst->_l._l_l._l_offset); - } - bfd_put_32 (abfd, src->l_value, dst->l_value); - bfd_put_16 (abfd, src->l_scnum, dst->l_scnum); - bfd_put_8 (abfd, src->l_smtype, dst->l_smtype); - bfd_put_8 (abfd, src->l_smclas, dst->l_smclas); - bfd_put_32 (abfd, src->l_ifile, dst->l_ifile); - bfd_put_32 (abfd, src->l_parm, dst->l_parm); -} - -/* Swap in the ldrel structure. */ - -static void -xcoff_swap_ldrel_in (abfd, src, dst) - bfd *abfd; - const struct external_ldrel *src; - struct internal_ldrel *dst; -{ - dst->l_vaddr = bfd_get_32 (abfd, src->l_vaddr); - dst->l_symndx = bfd_get_32 (abfd, src->l_symndx); - dst->l_rtype = bfd_get_16 (abfd, src->l_rtype); - dst->l_rsecnm = bfd_get_16 (abfd, src->l_rsecnm); -} - -/* Swap out the ldrel structure. */ -static void -xcoff_swap_ldrel_out (abfd, src, dst) - bfd *abfd; - const struct internal_ldrel *src; - struct external_ldrel *dst; -{ - bfd_put_32 (abfd, src->l_vaddr, dst->l_vaddr); - bfd_put_32 (abfd, src->l_symndx, dst->l_symndx); - bfd_put_16 (abfd, src->l_rtype, dst->l_rtype); - bfd_put_16 (abfd, src->l_rsecnm, dst->l_rsecnm); -} - /* Routines to read XCOFF dynamic information. This don't really belong here, but we already have the ldsym manipulation routines here. */ @@ -577,6 +156,7 @@ xcoff_get_section_contents (abfd, sec) bfd *abfd; asection *sec; { + if (coff_section_data (abfd, sec) == NULL) { sec->used_by_bfd = bfd_zalloc (abfd, @@ -628,7 +208,7 @@ _bfd_xcoff_get_dynamic_symtab_upper_boun return -1; contents = coff_section_data (abfd, lsec)->contents; - xcoff_swap_ldhdr_in (abfd, (struct external_ldhdr *) contents, &ldhdr); + bfd_xcoff_swap_ldhdr_in (abfd, (PTR) contents, &ldhdr); return (ldhdr.l_nsyms + 1) * sizeof (asymbol *); } @@ -644,7 +224,7 @@ _bfd_xcoff_canonicalize_dynamic_symtab ( bfd_byte *contents; struct internal_ldhdr ldhdr; const char *strings; - struct external_ldsym *elsym, *elsymend; + bfd_byte *elsym, *elsymend; coff_symbol_type *symbuf; if ((abfd->flags & DYNAMIC) == 0) @@ -666,7 +246,7 @@ _bfd_xcoff_canonicalize_dynamic_symtab ( coff_section_data (abfd, lsec)->keep_contents = true; - xcoff_swap_ldhdr_in (abfd, (struct external_ldhdr *) contents, &ldhdr); + bfd_xcoff_swap_ldhdr_in (abfd, contents, &ldhdr); strings = (char *) contents + ldhdr.l_stoff; @@ -675,13 +255,14 @@ _bfd_xcoff_canonicalize_dynamic_symtab ( if (symbuf == NULL) return -1; - elsym = (struct external_ldsym *) (contents + LDHDRSZ); - elsymend = elsym + ldhdr.l_nsyms; - for (; elsym < elsymend; elsym++, symbuf++, psyms++) + elsym = contents + bfd_xcoff_loader_symbol_offset(abfd, &ldhdr); + + elsymend = elsym + ldhdr.l_nsyms * bfd_xcoff_ldsymsz(abfd); + for (; elsym < elsymend; elsym += bfd_xcoff_ldsymsz(abfd), symbuf++, psyms++) { struct internal_ldsym ldsym; - xcoff_swap_ldsym_in (abfd, elsym, &ldsym); + bfd_xcoff_swap_ldsym_in (abfd, elsym, &ldsym); symbuf->symbol.the_bfd = abfd; @@ -689,24 +270,14 @@ _bfd_xcoff_canonicalize_dynamic_symtab ( symbuf->symbol.name = strings + ldsym._l._l_l._l_offset; else { - int i; - - for (i = 0; i < SYMNMLEN; i++) - if (ldsym._l._l_name[i] == '\0') - break; - if (i < SYMNMLEN) - symbuf->symbol.name = (char *) elsym->_l._l_name; - else - { - char *c; + char *c; - c = bfd_alloc (abfd, SYMNMLEN + 1); - if (c == NULL) - return -1; - memcpy (c, ldsym._l._l_name, SYMNMLEN); - c[SYMNMLEN] = '\0'; - symbuf->symbol.name = c; - } + c = bfd_alloc (abfd, SYMNMLEN + 1); + if (c == NULL) + return -1; + memcpy (c, ldsym._l._l_name, SYMNMLEN); + c[SYMNMLEN] = '\0'; + symbuf->symbol.name = c; } if (ldsym.l_smclas == XMC_XO) @@ -758,28 +329,11 @@ _bfd_xcoff_get_dynamic_reloc_upper_bound return -1; contents = coff_section_data (abfd, lsec)->contents; - xcoff_swap_ldhdr_in (abfd, (struct external_ldhdr *) contents, &ldhdr); + bfd_xcoff_swap_ldhdr_in (abfd, (struct external_ldhdr *) contents, &ldhdr); return (ldhdr.l_nreloc + 1) * sizeof (arelent *); } -/* The typical dynamic reloc. */ - -static reloc_howto_type xcoff_dynamic_reloc = - HOWTO (0, /* type */ - 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ - 32, /* bitsize */ - false, /* pc_relative */ - 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ - 0, /* special_function */ - "R_POS", /* name */ - true, /* partial_inplace */ - 0xffffffff, /* src_mask */ - 0xffffffff, /* dst_mask */ - false); /* pcrel_offset */ - /* Get the dynamic relocs. */ long @@ -792,7 +346,7 @@ _bfd_xcoff_canonicalize_dynamic_reloc (a bfd_byte *contents; struct internal_ldhdr ldhdr; arelent *relbuf; - struct external_ldrel *elrel, *elrelend; + bfd_byte *elrel, *elrelend; if ((abfd->flags & DYNAMIC) == 0) { @@ -811,20 +365,21 @@ _bfd_xcoff_canonicalize_dynamic_reloc (a return -1; contents = coff_section_data (abfd, lsec)->contents; - xcoff_swap_ldhdr_in (abfd, (struct external_ldhdr *) contents, &ldhdr); + bfd_xcoff_swap_ldhdr_in (abfd, contents, &ldhdr); relbuf = (arelent *) bfd_alloc (abfd, ldhdr.l_nreloc * sizeof (arelent)); if (relbuf == NULL) return -1; - elrel = ((struct external_ldrel *) - (contents + LDHDRSZ + ldhdr.l_nsyms * LDSYMSZ)); - elrelend = elrel + ldhdr.l_nreloc; - for (; elrel < elrelend; elrel++, relbuf++, prelocs++) + elrel = contents + bfd_xcoff_loader_reloc_offset(abfd, &ldhdr); + + elrelend = elrel + ldhdr.l_nreloc * bfd_xcoff_ldrelsz(abfd); + for (; elrel < elrelend; elrel += bfd_xcoff_ldrelsz(abfd), relbuf++, + prelocs++) { struct internal_ldrel ldrel; - xcoff_swap_ldrel_in (abfd, elrel, &ldrel); + bfd_xcoff_swap_ldrel_in (abfd, elrel, &ldrel); if (ldrel.l_symndx >= 3) relbuf->sym_ptr_ptr = syms + (ldrel.l_symndx - 3); @@ -865,7 +420,7 @@ _bfd_xcoff_canonicalize_dynamic_reloc (a /* Most dynamic relocs have the same type. FIXME: This is only correct if ldrel.l_rtype == 0. In other cases, we should use a different howto. */ - relbuf->howto = &xcoff_dynamic_reloc; + relbuf->howto = bfd_xcoff_dynamic_reloc_howto(abfd); /* FIXME: We have no way to record the l_rsecnm field. */ @@ -955,25 +510,6 @@ _bfd_xcoff_bfd_link_hash_table_create (a return &ret->root; } -/* Look up an entry in an XCOFF link hash table. */ - -#define xcoff_link_hash_lookup(table, string, create, copy, follow) \ - ((struct xcoff_link_hash_entry *) \ - bfd_link_hash_lookup (&(table)->root, (string), (create), (copy),\ - (follow))) - -/* Traverse an XCOFF link hash table. */ - -#define xcoff_link_hash_traverse(table, func, info) \ - (bfd_link_hash_traverse \ - (&(table)->root, \ - (boolean (*) PARAMS ((struct bfd_link_hash_entry *, PTR))) (func), \ - (info))) - -/* Get the XCOFF link hash table from the info structure. This is - just a cast. */ - -#define xcoff_hash_table(p) ((struct xcoff_link_hash_table *) ((p)->hash)) /* Read internal relocs for an XCOFF csect. This is a wrapper around _bfd_coff_read_internal_relocs which tries to take advantage of any @@ -989,6 +525,7 @@ xcoff_read_internal_relocs (abfd, sec, c boolean require_internal; struct internal_reloc *internal_relocs; { + if (coff_section_data (abfd, sec) != NULL && coff_section_data (abfd, sec)->relocs == NULL && xcoff_section_data (abfd, sec) != NULL) @@ -1018,6 +555,7 @@ xcoff_read_internal_relocs (abfd, sec, c off = ((sec->rel_filepos - enclosing->rel_filepos) / bfd_coff_relsz (abfd)); + if (! require_internal) return coff_section_data (abfd, enclosing)->relocs + off; memcpy (internal_relocs, @@ -1039,6 +577,7 @@ _bfd_xcoff_bfd_link_add_symbols (abfd, i bfd *abfd; struct bfd_link_info *info; { + switch (bfd_get_format (abfd)) { case bfd_object: @@ -1095,6 +634,7 @@ xcoff_link_add_object_symbols (abfd, inf bfd *abfd; struct bfd_link_info *info; { + if (! _bfd_coff_get_external_symbols (abfd)) return false; if (! xcoff_link_add_symbols (abfd, info)) @@ -1118,6 +658,7 @@ xcoff_link_check_archive_element (abfd, struct bfd_link_info *info; boolean *pneeded; { + if (! _bfd_coff_get_external_symbols (abfd)) return false; @@ -1178,6 +719,7 @@ xcoff_link_check_ar_symbols (abfd, info, object file. */ name = _bfd_coff_internal_syment_name (abfd, &sym, buf); + if (name == NULL) return false; h = bfd_link_hash_lookup (info->hash, name, false, false, true); @@ -1189,7 +731,7 @@ xcoff_link_check_ar_symbols (abfd, info, undefined references in shared objects. */ if (h != (struct bfd_link_hash_entry *) NULL && h->type == bfd_link_hash_undefined - && (info->hash->creator != abfd->xvec + && (info->hash->creator != abfd->xvec || (((struct xcoff_link_hash_entry *) h)->flags & XCOFF_DEF_DYNAMIC) == 0)) { @@ -1218,10 +760,10 @@ xcoff_link_check_dynamic_ar_symbols (abf boolean *pneeded; { asection *lsec; - bfd_byte *buf; + bfd_byte *contents; struct internal_ldhdr ldhdr; const char *strings; - struct external_ldsym *elsym, *elsymend; + bfd_byte *elsym, *elsymend; *pneeded = false; @@ -1234,22 +776,23 @@ xcoff_link_check_dynamic_ar_symbols (abf if (! xcoff_get_section_contents (abfd, lsec)) return false; - buf = coff_section_data (abfd, lsec)->contents; + contents = coff_section_data (abfd, lsec)->contents; + + bfd_xcoff_swap_ldhdr_in (abfd, contents, &ldhdr); - xcoff_swap_ldhdr_in (abfd, (struct external_ldhdr *) buf, &ldhdr); + strings = (char *) contents + ldhdr.l_stoff; - strings = (char *) buf + ldhdr.l_stoff; + elsym = contents + bfd_xcoff_loader_symbol_offset(abfd, &ldhdr); - elsym = (struct external_ldsym *) (buf + LDHDRSZ); - elsymend = elsym + ldhdr.l_nsyms; - for (; elsym < elsymend; elsym++) + elsymend = elsym + ldhdr.l_nsyms * bfd_xcoff_ldsymsz(abfd); + for (; elsym < elsymend; elsym += bfd_xcoff_ldsymsz(abfd)) { struct internal_ldsym ldsym; char nambuf[SYMNMLEN + 1]; const char *name; struct bfd_link_hash_entry *h; - xcoff_swap_ldsym_in (abfd, elsym, &ldsym); + bfd_xcoff_swap_ldsym_in (abfd, elsym, &ldsym); /* We are only interested in exported symbols. */ if ((ldsym.l_smtype & L_EXPORT) == 0) @@ -1283,7 +826,7 @@ xcoff_link_check_dynamic_ar_symbols (abf /* We do not need this shared object. */ - if (buf != NULL && ! coff_section_data (abfd, lsec)->keep_contents) + if (contents != NULL && ! coff_section_data (abfd, lsec)->keep_contents) { free (coff_section_data (abfd, lsec)->contents); coff_section_data (abfd, lsec)->contents = NULL; @@ -1342,6 +885,100 @@ xcoff_find_reloc (relocs, count, address return min; } + +/* + * xcoff_link_create_extra_sections + * + * Takes care of creating the .loader, .gl, .ds, .debug and sections + */ +static boolean +xcoff_link_create_extra_sections(bfd * abfd, struct bfd_link_info *info) { + + boolean return_value = false; + + if (info->hash->creator == abfd->xvec) { + + /* We need to build a .loader section, so we do it here. This + won't work if we're producing an XCOFF output file with no + XCOFF input files. FIXME. */ + + if (xcoff_hash_table (info)->loader_section == NULL) { + asection *lsec; + + lsec = bfd_make_section_anyway (abfd, ".loader"); + if (lsec == NULL) { + goto end_return; + } + xcoff_hash_table (info)->loader_section = lsec; + lsec->flags |= SEC_HAS_CONTENTS | SEC_IN_MEMORY; + } + + /* Likewise for the linkage section. */ + if (xcoff_hash_table (info)->linkage_section == NULL) { + asection *lsec; + + lsec = bfd_make_section_anyway (abfd, ".gl"); + if (lsec == NULL) { + goto end_return; + } + + xcoff_hash_table (info)->linkage_section = lsec; + lsec->flags |= (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS + | SEC_IN_MEMORY); + lsec->alignment_power = 2; + } + + /* Likewise for the TOC section. */ + if (xcoff_hash_table (info)->toc_section == NULL) { + asection *tsec; + + tsec = bfd_make_section_anyway (abfd, ".tc"); + if (tsec == NULL) { + goto end_return; + } + + xcoff_hash_table (info)->toc_section = tsec; + tsec->flags |= (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS + | SEC_IN_MEMORY); + tsec->alignment_power = 2; + } + + /* Likewise for the descriptor section. */ + if (xcoff_hash_table (info)->descriptor_section == NULL) { + asection *dsec; + + dsec = bfd_make_section_anyway (abfd, ".ds"); + if (dsec == NULL) { + goto end_return; + } + + xcoff_hash_table (info)->descriptor_section = dsec; + dsec->flags |= (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS + | SEC_IN_MEMORY); + dsec->alignment_power = 2; + } + + /* Likewise for the .debug section. */ + if (xcoff_hash_table (info)->debug_section == NULL + && info->strip != strip_all) { + asection *dsec; + + dsec = bfd_make_section_anyway (abfd, ".debug"); + if (dsec == NULL) { + goto end_return; + } + xcoff_hash_table (info)->debug_section = dsec; + dsec->flags |= SEC_HAS_CONTENTS | SEC_IN_MEMORY; + } + } + + return_value = true; + + end_return: + + return return_value; +} + /* Add all the symbols from an object file to the hash table. XCOFF is a weird format. A normal XCOFF .o files will have three @@ -1381,89 +1018,26 @@ xcoff_link_add_symbols (abfd, info) bfd_size_type symesz; bfd_byte *esym; bfd_byte *esym_end; - struct reloc_info_struct - { - struct internal_reloc *relocs; - asection **csects; - bfd_byte *linenos; - } *reloc_info = NULL; + struct reloc_info_struct + { + struct internal_reloc *relocs; + asection **csects; + bfd_byte *linenos; + } *reloc_info = NULL; keep_syms = obj_coff_keep_syms (abfd); if ((abfd->flags & DYNAMIC) != 0 - && ! info->static_link) - { - if (! xcoff_link_add_dynamic_symbols (abfd, info)) - return false; + && ! info->static_link) { + if (! xcoff_link_add_dynamic_symbols (abfd, info)) { + return false; } + } - if (info->hash->creator == abfd->xvec) - { - /* We need to build a .loader section, so we do it here. This - won't work if we're producing an XCOFF output file with no - XCOFF input files. FIXME. */ - if (xcoff_hash_table (info)->loader_section == NULL) - { - asection *lsec; - - lsec = bfd_make_section_anyway (abfd, ".loader"); - if (lsec == NULL) - goto error_return; - xcoff_hash_table (info)->loader_section = lsec; - lsec->flags |= SEC_HAS_CONTENTS | SEC_IN_MEMORY; - } - /* Likewise for the linkage section. */ - if (xcoff_hash_table (info)->linkage_section == NULL) - { - asection *lsec; - - lsec = bfd_make_section_anyway (abfd, ".gl"); - if (lsec == NULL) - goto error_return; - xcoff_hash_table (info)->linkage_section = lsec; - lsec->flags |= (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS - | SEC_IN_MEMORY); - lsec->alignment_power = 2; - } - /* Likewise for the TOC section. */ - if (xcoff_hash_table (info)->toc_section == NULL) - { - asection *tsec; - - tsec = bfd_make_section_anyway (abfd, ".tc"); - if (tsec == NULL) - goto error_return; - xcoff_hash_table (info)->toc_section = tsec; - tsec->flags |= (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS - | SEC_IN_MEMORY); - tsec->alignment_power = 2; - } - /* Likewise for the descriptor section. */ - if (xcoff_hash_table (info)->descriptor_section == NULL) - { - asection *dsec; - - dsec = bfd_make_section_anyway (abfd, ".ds"); - if (dsec == NULL) - goto error_return; - xcoff_hash_table (info)->descriptor_section = dsec; - dsec->flags |= (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS - | SEC_IN_MEMORY); - dsec->alignment_power = 2; - } - /* Likewise for the .debug section. */ - if (xcoff_hash_table (info)->debug_section == NULL - && info->strip != strip_all) - { - asection *dsec; - - dsec = bfd_make_section_anyway (abfd, ".debug"); - if (dsec == NULL) - goto error_return; - xcoff_hash_table (info)->debug_section = dsec; - dsec->flags |= SEC_HAS_CONTENTS | SEC_IN_MEMORY; - } - } + /* create the loader, toc, gl, ds and debug sections, if needed */ + if (false == xcoff_link_create_extra_sections(abfd, info)) { + goto error_return; + } if ((abfd->flags & DYNAMIC) != 0 && ! info->static_link) @@ -1481,7 +1055,7 @@ xcoff_link_add_symbols (abfd, info) else default_copy = true; - symcount = obj_raw_syment_count (abfd); + symcount = obj_raw_syment_count (abfd); /* We keep a list of the linker hash table entries that correspond to each external symbol. */ @@ -1521,37 +1095,40 @@ xcoff_link_add_symbols (abfd, info) /* Read in the relocs and line numbers for each section. */ linesz = bfd_coff_linesz (abfd); last_real = NULL; - for (o = abfd->sections; o != NULL; o = o->next) - { - last_real = o; - if ((o->flags & SEC_RELOC) != 0) - { - reloc_info[o->target_index].relocs = - xcoff_read_internal_relocs (abfd, o, true, (bfd_byte *) NULL, - false, (struct internal_reloc *) NULL); - reloc_info[o->target_index].csects = - (asection **) bfd_malloc (o->reloc_count * sizeof (asection *)); - if (reloc_info[o->target_index].csects == NULL) - goto error_return; - memset (reloc_info[o->target_index].csects, 0, - o->reloc_count * sizeof (asection *)); - } + for (o = abfd->sections; o != NULL; o = o->next) { - if ((info->strip == strip_none || info->strip == strip_some) - && o->lineno_count > 0) - { - bfd_byte *linenos; + last_real = o; + if ((o->flags & SEC_RELOC) != 0) { - linenos = (bfd_byte *) bfd_malloc (o->lineno_count * linesz); - if (linenos == NULL) - goto error_return; - reloc_info[o->target_index].linenos = linenos; - if (bfd_seek (abfd, o->line_filepos, SEEK_SET) != 0 - || (bfd_read (linenos, linesz, o->lineno_count, abfd) - != linesz * o->lineno_count)) - goto error_return; - } + reloc_info[o->target_index].relocs = + xcoff_read_internal_relocs (abfd, o, true, (bfd_byte *) NULL, + false, (struct internal_reloc *) NULL); + reloc_info[o->target_index].csects = + (asection **) bfd_malloc (o->reloc_count * sizeof (asection *)); + if (reloc_info[o->target_index].csects == NULL) + goto error_return; + memset (reloc_info[o->target_index].csects, 0, + o->reloc_count * sizeof (asection *)); + + } + + if ((info->strip == strip_none || info->strip == strip_some) + && o->lineno_count > 0) { + + bfd_byte *linenos; + + linenos = (bfd_byte *) bfd_malloc (o->lineno_count * linesz); + if (linenos == NULL) + goto error_return; + reloc_info[o->target_index].linenos = linenos; + if (bfd_seek (abfd, o->line_filepos, SEEK_SET) != 0 + || (bfd_read (linenos, linesz, o->lineno_count, abfd) + != linesz * o->lineno_count)) + goto error_return; + } + } + /* Don't let the linker relocation routines discard the symbols. */ obj_coff_keep_syms (abfd) = true; @@ -1564,48 +1141,57 @@ xcoff_link_add_symbols (abfd, info) BFD_ASSERT (symesz == bfd_coff_auxesz (abfd)); esym = (bfd_byte *) obj_coff_external_syms (abfd); esym_end = esym + symcount * symesz; - while (esym < esym_end) - { - struct internal_syment sym; - union internal_auxent aux; - const char *name; - char buf[SYMNMLEN + 1]; - int smtyp; - flagword flags; - asection *section; - bfd_vma value; - struct xcoff_link_hash_entry *set_toc; - bfd_coff_swap_sym_in (abfd, (PTR) esym, (PTR) &sym); + while (esym < esym_end) { + struct internal_syment sym; + union internal_auxent aux; + const char *name; + char buf[SYMNMLEN + 1]; + int smtyp; + flagword flags; + asection *section; + bfd_vma value; + struct xcoff_link_hash_entry *set_toc; + + bfd_coff_swap_sym_in (abfd, (PTR) esym, (PTR) &sym); + + /* In this pass we are only interested in symbols with csect + information. */ + if (sym.n_sclass != C_EXT && sym.n_sclass != C_HIDEXT) { + + /* + * Set csect_cache, + * Normally csect is a .pr, .rw etc. created in the loop + * If C_FILE or first time, handle special + * + * Advance esym, sym_hash, csect_hash ptr's + * Keep track of the last_symndx for the current file + */ + if (sym.n_sclass == C_FILE && csect != NULL) { + xcoff_section_data (abfd, csect)->last_symndx = + ((esym + - (bfd_byte *) obj_coff_external_syms (abfd)) + / symesz); + csect = NULL; + } - /* In this pass we are only interested in symbols with csect - information. */ - if (sym.n_sclass != C_EXT && sym.n_sclass != C_HIDEXT) - { - if (sym.n_sclass == C_FILE && csect != NULL) - { - xcoff_section_data (abfd, csect)->last_symndx = - ((esym - - (bfd_byte *) obj_coff_external_syms (abfd)) - / symesz); - csect = NULL; - } + if (csect != NULL) + *csect_cache = csect; + else if (first_csect == NULL || sym.n_sclass == C_FILE) + *csect_cache = coff_section_from_bfd_index (abfd, sym.n_scnum); + else + *csect_cache = NULL; + esym += (sym.n_numaux + 1) * symesz; + sym_hash += sym.n_numaux + 1; + csect_cache += sym.n_numaux + 1; + + continue; + } - if (csect != NULL) - *csect_cache = csect; - else if (first_csect == NULL || sym.n_sclass == C_FILE) - *csect_cache = coff_section_from_bfd_index (abfd, sym.n_scnum); - else - *csect_cache = NULL; - esym += (sym.n_numaux + 1) * symesz; - sym_hash += sym.n_numaux + 1; - csect_cache += sym.n_numaux + 1; - continue; - } + name = _bfd_coff_internal_syment_name (abfd, &sym, buf); - name = _bfd_coff_internal_syment_name (abfd, &sym, buf); - if (name == NULL) - goto error_return; + if (name == NULL) + goto error_return; /* If this symbol has line number information attached to it, and we're not stripping it, count the number of entries and @@ -1613,86 +1199,80 @@ xcoff_link_add_symbols (abfd, info) we are going to attach line number information by symbol, rather than by section, in order to more easily handle garbage collection. */ - if ((info->strip == strip_none || info->strip == strip_some) - && sym.n_numaux > 1 - && csect != NULL - && ISFCN (sym.n_type)) - { - union internal_auxent auxlin; - - bfd_coff_swap_aux_in (abfd, (PTR) (esym + symesz), - sym.n_type, sym.n_sclass, - 0, sym.n_numaux, (PTR) &auxlin); - if (auxlin.x_sym.x_fcnary.x_fcn.x_lnnoptr != 0) - { - asection *enclosing; - bfd_size_type linoff; + if ((info->strip == strip_none || info->strip == strip_some) && + (sym.n_numaux > 1) && + (csect != NULL) && + (ISFCN (sym.n_type))) { - enclosing = xcoff_section_data (abfd, csect)->enclosing; - if (enclosing == NULL) - { - (*_bfd_error_handler) - (_("%s: `%s' has line numbers but no enclosing section"), - bfd_get_filename (abfd), name); - bfd_set_error (bfd_error_bad_value); - goto error_return; - } - linoff = (auxlin.x_sym.x_fcnary.x_fcn.x_lnnoptr - - enclosing->line_filepos); - if (linoff < enclosing->lineno_count * linesz) - { - struct internal_lineno lin; - bfd_byte *linpstart; + union internal_auxent auxlin; - linpstart = (reloc_info[enclosing->target_index].linenos - + linoff); - bfd_coff_swap_lineno_in (abfd, (PTR) linpstart, (PTR) &lin); - if (lin.l_lnno == 0 - && ((bfd_size_type) lin.l_addr.l_symndx - == ((esym - - (bfd_byte *) obj_coff_external_syms (abfd)) - / symesz))) - { - bfd_byte *linpend, *linp; + bfd_coff_swap_aux_in (abfd, (PTR) (esym + symesz), + sym.n_type, sym.n_sclass, + 0, sym.n_numaux, (PTR) &auxlin); - linpend = (reloc_info[enclosing->target_index].linenos - + enclosing->lineno_count * linesz); - for (linp = linpstart + linesz; - linp < linpend; - linp += linesz) - { - bfd_coff_swap_lineno_in (abfd, (PTR) linp, - (PTR) &lin); - if (lin.l_lnno == 0) - break; - } - csect->lineno_count += (linp - linpstart) / linesz; - /* The setting of line_filepos will only be - useful if all the line number entries for a - csect are contiguous; this only matters for - error reporting. */ - if (csect->line_filepos == 0) - csect->line_filepos = - auxlin.x_sym.x_fcnary.x_fcn.x_lnnoptr; - } - } - } + if (auxlin.x_sym.x_fcnary.x_fcn.x_lnnoptr != 0) { + asection *enclosing; + bfd_signed_vma linoff; + + enclosing = xcoff_section_data (abfd, csect)->enclosing; + if (enclosing == NULL) { + (*_bfd_error_handler) + (_("%s: `%s' has line numbers but no enclosing section"), + bfd_get_filename (abfd), name); + bfd_set_error (bfd_error_bad_value); + goto error_return; } + linoff = (auxlin.x_sym.x_fcnary.x_fcn.x_lnnoptr + - enclosing->line_filepos); + /* explict cast to bfd_signed_vma for compiler */ + if (linoff < (bfd_signed_vma)(enclosing->lineno_count * linesz)) { + struct internal_lineno lin; + bfd_byte *linpstart; + + linpstart = (reloc_info[enclosing->target_index].linenos + + linoff); + bfd_coff_swap_lineno_in (abfd, (PTR) linpstart, (PTR) &lin); + if (lin.l_lnno == 0 + && ((bfd_size_type) lin.l_addr.l_symndx + == ((esym + - (bfd_byte *) obj_coff_external_syms (abfd)) + / symesz))) { + bfd_byte *linpend, *linp; + + linpend = (reloc_info[enclosing->target_index].linenos + + enclosing->lineno_count * linesz); + for (linp = linpstart + linesz; linp < linpend; linp += linesz) { + bfd_coff_swap_lineno_in (abfd, (PTR) linp, + (PTR) &lin); + if (lin.l_lnno == 0) + break; + } + csect->lineno_count += (linp - linpstart) / linesz; + /* The setting of line_filepos will only be + useful if all the line number entries for a + csect are contiguous; this only matters for + error reporting. */ + if (csect->line_filepos == 0) + csect->line_filepos = + auxlin.x_sym.x_fcnary.x_fcn.x_lnnoptr; + } + } + } + } - /* Pick up the csect auxiliary information. */ + /* Pick up the csect auxiliary information. */ - if (sym.n_numaux == 0) - { - (*_bfd_error_handler) - (_("%s: class %d symbol `%s' has no aux entries"), - bfd_get_filename (abfd), sym.n_sclass, name); - bfd_set_error (bfd_error_bad_value); - goto error_return; - } + if (sym.n_numaux == 0) { + (*_bfd_error_handler) + (_("%s: class %d symbol `%s' has no aux entries"), + bfd_get_filename (abfd), sym.n_sclass, name); + bfd_set_error (bfd_error_bad_value); + goto error_return; + } - bfd_coff_swap_aux_in (abfd, - (PTR) (esym + symesz * sym.n_numaux), - sym.n_type, sym.n_sclass, + bfd_coff_swap_aux_in (abfd, + (PTR) (esym + symesz * sym.n_numaux), + sym.n_type, sym.n_sclass, sym.n_numaux - 1, sym.n_numaux, (PTR) &aux); @@ -1739,7 +1319,6 @@ xcoff_link_add_symbols (abfd, info) case XTY_SD: /* This is a csect definition. */ - if (csect != NULL) { xcoff_section_data (abfd, csect)->last_symndx = @@ -1767,144 +1346,155 @@ xcoff_link_add_symbols (abfd, info) xcoff_data (abfd)->toc = sym.n_value; } - /* We must merge TOC entries for the same symbol. We can - merge two TOC entries if they are both C_HIDEXT, they - both have the same name, they are both 4 bytes long, and - they both have a relocation table entry for an external - symbol with the same name. Unfortunately, this means - that we must look through the relocations. Ick. */ - if (aux.x_csect.x_smclas == XMC_TC - && sym.n_sclass == C_HIDEXT - && aux.x_csect.x_scnlen.l == 4 - && info->hash->creator == abfd->xvec) - { - asection *enclosing; - struct internal_reloc *relocs; - bfd_size_type relindx; - struct internal_reloc *rel; - - enclosing = coff_section_from_bfd_index (abfd, sym.n_scnum); - if (enclosing == NULL) - goto error_return; - - relocs = reloc_info[enclosing->target_index].relocs; - relindx = xcoff_find_reloc (relocs, enclosing->reloc_count, - sym.n_value); - rel = relocs + relindx; - if (relindx < enclosing->reloc_count - && rel->r_vaddr == (bfd_vma) sym.n_value - && rel->r_size == 31 - && rel->r_type == R_POS) - { - bfd_byte *erelsym; - struct internal_syment relsym; - - erelsym = ((bfd_byte *) obj_coff_external_syms (abfd) - + rel->r_symndx * symesz); - bfd_coff_swap_sym_in (abfd, (PTR) erelsym, (PTR) &relsym); - if (relsym.n_sclass == C_EXT) - { - const char *relname; - char relbuf[SYMNMLEN + 1]; - boolean copy; - struct xcoff_link_hash_entry *h; - - /* At this point we know that the TOC entry is - for an externally visible symbol. */ - relname = _bfd_coff_internal_syment_name (abfd, &relsym, - relbuf); - if (relname == NULL) - goto error_return; - - /* We only merge TOC entries if the TC name is - the same as the symbol name. This handles - the normal case, but not common cases like - SYM.P4 which gcc generates to store SYM + 4 - in the TOC. FIXME. */ - if (strcmp (name, relname) == 0) - { - copy = (! info->keep_memory - || relsym._n._n_n._n_zeroes != 0 - || relsym._n._n_n._n_offset == 0); - h = xcoff_link_hash_lookup (xcoff_hash_table (info), - relname, true, copy, - false); - if (h == NULL) - goto error_return; - - /* At this point h->root.type could be - bfd_link_hash_new. That should be OK, - since we know for sure that we will come - across this symbol as we step through the - file. */ - - /* We store h in *sym_hash for the - convenience of the relocate_section - function. */ - *sym_hash = h; + /* + * We must merge TOC entries for the same symbol. We can + * merge two TOC entries if they are both C_HIDEXT, they + * both have the same name, they are both 4 or 8 bytes long, and + * they both have a relocation table entry for an external + * symbol with the same name. Unfortunately, this means + * that we must look through the relocations. Ick. + * + * Logic for 32 bit vs 64 bit. + * 32 bit has a csect length of 4 for TOC + * 64 bit has a csect length of 8 for TOC + * + * The conditions to get past the if-check are not that bad. + * They are what is used to create the TOC csects in the first + * place + */ + if ((aux.x_csect.x_smclas == XMC_TC) && + (sym.n_sclass == C_HIDEXT) && + (info->hash->creator == abfd->xvec) && + (((bfd_xcoff_is_xcoff32(abfd)) && + (aux.x_csect.x_scnlen.l == 4)) || + ((bfd_xcoff_is_xcoff64(abfd)) && + (aux.x_csect.x_scnlen.l == 8)))) { - if (h->toc_section != NULL) - { - asection **rel_csects; + asection *enclosing; + struct internal_reloc *relocs; + bfd_size_type relindx; + struct internal_reloc *rel; - /* We already have a TOC entry for this - symbol, so we can just ignore this - one. */ - rel_csects = - reloc_info[enclosing->target_index].csects; - rel_csects[relindx] = bfd_und_section_ptr; - break; - } + enclosing = coff_section_from_bfd_index (abfd, sym.n_scnum); + if (enclosing == NULL) + goto error_return; - /* We are about to create a TOC entry for - this symbol. */ - set_toc = h; - } - } - } - } + relocs = reloc_info[enclosing->target_index].relocs; + relindx = xcoff_find_reloc (relocs, enclosing->reloc_count, + sym.n_value); + rel = relocs + relindx; + + /* + * 32 bit R_POS r_size is 31 + * 64 bit R_POS r_size is 63 + */ + if ((relindx < enclosing->reloc_count) && + (rel->r_vaddr == (bfd_vma) sym.n_value) && + (rel->r_type == R_POS) && + (((bfd_xcoff_is_xcoff32(abfd)) && + (rel->r_size == 31)) || + ((bfd_xcoff_is_xcoff64(abfd)) && + (rel->r_size == 63)))) { + + bfd_byte *erelsym; + + struct internal_syment relsym; + + erelsym = ((bfd_byte *) obj_coff_external_syms (abfd) + + rel->r_symndx * symesz); + bfd_coff_swap_sym_in (abfd, (PTR) erelsym, (PTR) &relsym); + if (relsym.n_sclass == C_EXT) { + const char *relname; + char relbuf[SYMNMLEN + 1]; + boolean copy; + struct xcoff_link_hash_entry *h; + + /* At this point we know that the TOC entry is + for an externally visible symbol. */ + + relname = _bfd_coff_internal_syment_name (abfd, &relsym, + relbuf); + if (relname == NULL) + goto error_return; + + /* We only merge TOC entries if the TC name is + the same as the symbol name. This handles + the normal case, but not common cases like + SYM.P4 which gcc generates to store SYM + 4 + in the TOC. FIXME. */ + + if (strcmp (name, relname) == 0) { + copy = (! info->keep_memory + || relsym._n._n_n._n_zeroes != 0 + || relsym._n._n_n._n_offset == 0); + h = xcoff_link_hash_lookup (xcoff_hash_table (info), + relname, true, copy, + false); + if (h == NULL) + goto error_return; + + /* At this point h->root.type could be + bfd_link_hash_new. That should be OK, + since we know for sure that we will come + across this symbol as we step through the + file. */ + + /* We store h in *sym_hash for the + convenience of the relocate_section + function. */ + *sym_hash = h; + + if (h->toc_section != NULL) { + asection **rel_csects; + + /* We already have a TOC entry for this + symbol, so we can just ignore this + one. */ + rel_csects = + reloc_info[enclosing->target_index].csects; + rel_csects[relindx] = bfd_und_section_ptr; + break; + } + + /* We are about to create a TOC entry for + this symbol. */ + set_toc = h; + } /* merge toc reloc */ + } /* c_ext */ + } /* reloc */ + } /* merge toc */ - /* We need to create a new section. We get the name from - the csect storage mapping class, so that the linker can - accumulate similar csects together. */ { - static const char *csect_name_by_class[] = { - ".pr", ".ro", ".db", ".tc", ".ua", ".rw", ".gl", ".xo", - ".sv", ".bs", ".ds", ".uc", ".ti", ".tb", NULL, ".tc0", - ".td" - }; - const char *csect_name; + asection *enclosing; - if ((aux.x_csect.x_smclas >= - sizeof csect_name_by_class / sizeof csect_name_by_class[0]) - || csect_name_by_class[aux.x_csect.x_smclas] == NULL) - { - (*_bfd_error_handler) - (_("%s: symbol `%s' has unrecognized smclas %d"), - bfd_get_filename (abfd), name, aux.x_csect.x_smclas); - bfd_set_error (bfd_error_bad_value); - goto error_return; - } + /* We need to create a new section. We get the name from + the csect storage mapping class, so that the linker can + accumulate similar csects together. */ - csect_name = csect_name_by_class[aux.x_csect.x_smclas]; - csect = bfd_make_section_anyway (abfd, csect_name); - if (csect == NULL) + csect = bfd_xcoff_create_csect_from_smclas(abfd, &aux, name); + if (NULL == csect) { goto error_return; + } + + /* + * The enclosing section is the main section : .data, .text + * or .bss that the csect is coming from + */ enclosing = coff_section_from_bfd_index (abfd, sym.n_scnum); if (enclosing == NULL) goto error_return; - if (! bfd_is_abs_section (enclosing) - && ((bfd_vma) sym.n_value < enclosing->vma - || ((bfd_vma) sym.n_value + aux.x_csect.x_scnlen.l - > enclosing->vma + enclosing->_raw_size))) - { - (*_bfd_error_handler) - (_("%s: csect `%s' not in enclosing section"), - bfd_get_filename (abfd), name); - bfd_set_error (bfd_error_bad_value); - goto error_return; - } + + if (! bfd_is_abs_section (enclosing) && + ((bfd_vma) sym.n_value < enclosing->vma || + ((bfd_vma) sym.n_value + aux.x_csect.x_scnlen.l + > enclosing->vma + enclosing->_raw_size))) { + (*_bfd_error_handler) + (_("%s: csect `%s' not in enclosing section"), + bfd_get_filename (abfd), name); + bfd_set_error (bfd_error_bad_value); + goto error_return; + } csect->vma = sym.n_value; csect->filepos = (enclosing->filepos + sym.n_value @@ -1927,33 +1517,34 @@ xcoff_link_add_symbols (abfd, info) xcoff_section_data (abfd, csect)->lineno_count = enclosing->lineno_count; - if (enclosing->owner == abfd) - { - struct internal_reloc *relocs; - bfd_size_type relindx; - struct internal_reloc *rel; - asection **rel_csect; - - relocs = reloc_info[enclosing->target_index].relocs; - relindx = xcoff_find_reloc (relocs, enclosing->reloc_count, - csect->vma); - rel = relocs + relindx; - rel_csect = (reloc_info[enclosing->target_index].csects - + relindx); - csect->rel_filepos = (enclosing->rel_filepos - + relindx * bfd_coff_relsz (abfd)); - while (relindx < enclosing->reloc_count - && *rel_csect == NULL - && rel->r_vaddr < csect->vma + csect->_raw_size) - { - *rel_csect = csect; - csect->flags |= SEC_RELOC; - ++csect->reloc_count; - ++relindx; - ++rel; - ++rel_csect; - } + if (enclosing->owner == abfd) { + struct internal_reloc *relocs; + bfd_size_type relindx; + struct internal_reloc *rel; + asection **rel_csect; + + relocs = reloc_info[enclosing->target_index].relocs; + relindx = xcoff_find_reloc (relocs, enclosing->reloc_count, + csect->vma); + + rel = relocs + relindx; + rel_csect = (reloc_info[enclosing->target_index].csects + + relindx); + + csect->rel_filepos = (enclosing->rel_filepos + + relindx * bfd_coff_relsz (abfd)); + while (relindx < enclosing->reloc_count && + *rel_csect == NULL && + rel->r_vaddr < csect->vma + csect->_raw_size) { + + *rel_csect = csect; + csect->flags |= SEC_RELOC; + ++csect->reloc_count; + ++relindx; + ++rel; + ++rel_csect; } + } /* There are a number of other fields and section flags which we do not bother to set. */ @@ -2030,10 +1621,16 @@ xcoff_link_add_symbols (abfd, info) / symesz); } - if (aux.x_csect.x_smclas == XMC_TD) - csect = bfd_make_section_anyway (abfd, ".tocbss"); - else + if (aux.x_csect.x_smclas == XMC_TD) { + /* + * The linker script puts the .td section in the data + * section after the .tc section + */ + csect = bfd_make_section_anyway (abfd, ".td"); + + } else { csect = bfd_make_section_anyway (abfd, ".bss"); + } if (csect == NULL) goto error_return; csect->vma = sym.n_value; @@ -2072,32 +1669,31 @@ xcoff_link_add_symbols (abfd, info) } /* Check for magic symbol names. */ - if ((smtyp == XTY_SD || smtyp == XTY_CM) - && aux.x_csect.x_smclas != XMC_TC - && aux.x_csect.x_smclas != XMC_TD) - { - int i; - - i = -1; - if (name[0] == '_') - { - if (strcmp (name, "_text") == 0) - i = 0; - else if (strcmp (name, "_etext") == 0) - i = 1; - else if (strcmp (name, "_data") == 0) - i = 2; - else if (strcmp (name, "_edata") == 0) - i = 3; - else if (strcmp (name, "_end") == 0) - i = 4; - } - else if (name[0] == 'e' && strcmp (name, "end") == 0) - i = 5; - - if (i != -1) - xcoff_hash_table (info)->special_sections[i] = csect; - } + if ((smtyp == XTY_SD || smtyp == XTY_CM) && + (aux.x_csect.x_smclas != XMC_TC) && + (aux.x_csect.x_smclas != XMC_TD)) { + + int i = -1; + + if (name[0] == '_') { + if (strcmp (name, "_text") == 0) + i = XCOFF_SPECIAL_SECTION_TEXT; + else if (strcmp (name, "_etext") == 0) + i = XCOFF_SPECIAL_SECTION_ETEXT; + else if (strcmp (name, "_data") == 0) + i = XCOFF_SPECIAL_SECTION_DATA; + else if (strcmp (name, "_edata") == 0) + i = XCOFF_SPECIAL_SECTION_EDATA; + else if (strcmp (name, "_end") == 0) + i = XCOFF_SPECIAL_SECTION_END; + } else if (name[0] == 'e' && strcmp (name, "end") == 0) { + i = XCOFF_SPECIAL_SECTION_END2; + } + + if (i != -1) { + xcoff_hash_table (info)->special_sections[i] = csect; + } + } /* Now we have enough information to add the symbol to the linker hash table. */ @@ -2140,7 +1736,7 @@ xcoff_link_add_symbols (abfd, info) shared object, which will cause symbol redefinitions, although this is an easier case to detect. */ - if (info->hash->creator == abfd->xvec) + if (info->hash->creator == abfd->xvec) { if (! bfd_is_und_section (section)) *sym_hash = xcoff_link_hash_lookup (xcoff_hash_table (info), @@ -2262,11 +1858,11 @@ xcoff_link_add_symbols (abfd, info) else { (*sym_hash)->root.u.c.p->alignment_power - = csect->alignment_power; + = csect->alignment_power; } } - if (info->hash->creator == abfd->xvec) + if (info->hash->creator == abfd->xvec) { int flag; @@ -2310,8 +1906,10 @@ xcoff_link_add_symbols (abfd, info) rel = reloc_info[o->target_index].relocs; rel_csect = reloc_info[o->target_index].csects; + for (i = 0; i < o->reloc_count; i++, rel++, rel_csect++) { + if (*rel_csect == NULL) { (*_bfd_error_handler) @@ -2324,7 +1922,7 @@ xcoff_link_add_symbols (abfd, info) /* We identify all symbols which are called, so that we can create glue code for calls to functions imported from dynamic objects. */ - if (info->hash->creator == abfd->xvec + if (info->hash->creator == abfd->xvec && *rel_csect != bfd_und_section_ptr && (rel->r_type == R_BR || rel->r_type == R_RBR) @@ -2377,7 +1975,7 @@ xcoff_link_add_symbols (abfd, info) /* Reset SEC_RELOC and the reloc_count, since the reloc information is now attached to the csects. */ - o->flags &= ~SEC_RELOC; + o->flags &=~ SEC_RELOC; o->reloc_count = 0; /* If we are not keeping memory, free the reloc information. */ @@ -2434,10 +2032,10 @@ xcoff_link_add_dynamic_symbols (abfd, in struct bfd_link_info *info; { asection *lsec; - bfd_byte *buf; + bfd_byte *contents; struct internal_ldhdr ldhdr; const char *strings; - struct external_ldsym *elsym, *elsymend; + bfd_byte *elsym, *elsymend; struct xcoff_import_file *n; const char *bname; const char *mname; @@ -2447,15 +2045,15 @@ xcoff_link_add_dynamic_symbols (abfd, in /* We can only handle a dynamic object if we are generating an XCOFF output file. */ - if (info->hash->creator != abfd->xvec) + if (info->hash->creator != abfd->xvec) { (*_bfd_error_handler) (_("%s: XCOFF shared object when not producing XCOFF output"), bfd_get_filename (abfd)); - bfd_set_error (bfd_error_invalid_operation); + bfd_set_error (bfd_error_invalid_operation); return false; } - + /* The symbols we use from a dynamic object are not the symbols in the normal symbol table, but, rather, the symbols in the export table. If there is a global symbol in a dynamic object which is @@ -2477,29 +2075,31 @@ xcoff_link_add_dynamic_symbols (abfd, in return false; } + if (! xcoff_get_section_contents (abfd, lsec)) return false; - buf = coff_section_data (abfd, lsec)->contents; + contents = coff_section_data (abfd, lsec)->contents; /* Remove the sections from this object, so that they do not get included in the link. */ abfd->sections = NULL; - xcoff_swap_ldhdr_in (abfd, (struct external_ldhdr *) buf, &ldhdr); + bfd_xcoff_swap_ldhdr_in (abfd, contents, &ldhdr); + + strings = (char *) contents + ldhdr.l_stoff; + + elsym = contents + bfd_xcoff_loader_symbol_offset(abfd, &ldhdr); - strings = (char *) buf + ldhdr.l_stoff; + elsymend = elsym + ldhdr.l_nsyms * bfd_xcoff_ldsymsz(abfd); - elsym = (struct external_ldsym *) (buf + LDHDRSZ); - elsymend = elsym + ldhdr.l_nsyms; - BFD_ASSERT (sizeof (struct external_ldsym) == LDSYMSZ); - for (; elsym < elsymend; elsym++) + for (; elsym < elsymend; elsym += bfd_xcoff_ldsymsz(abfd)) { struct internal_ldsym ldsym; char nambuf[SYMNMLEN + 1]; const char *name; struct xcoff_link_hash_entry *h; - xcoff_swap_ldsym_in (abfd, elsym, &ldsym); + bfd_xcoff_swap_ldsym_in (abfd, elsym, &ldsym); /* We are only interested in exported symbols. */ if ((ldsym.l_smtype & L_EXPORT) == 0) @@ -2618,7 +2218,7 @@ xcoff_link_add_dynamic_symbols (abfd, in } } - if (buf != NULL && ! coff_section_data (abfd, lsec)->keep_contents) + if (contents != NULL && ! coff_section_data (abfd, lsec)->keep_contents) { free (coff_section_data (abfd, lsec)->contents); coff_section_data (abfd, lsec)->contents = NULL; @@ -2676,6 +2276,7 @@ xcoff_mark_symbol (info, h) struct bfd_link_info *info; struct xcoff_link_hash_entry *h; { + if ((h->flags & XCOFF_MARK) != 0) return true; @@ -3150,28 +2751,6 @@ bfd_xcoff_record_link_assignment (output return true; } -/* This structure is used to pass information through - xcoff_link_hash_traverse. */ - -struct xcoff_loader_info { - /* Set if a problem occurred. */ - boolean failed; - /* Output BFD. */ - bfd *output_bfd; - /* Link information structure. */ - struct bfd_link_info *info; - /* Whether all defined symbols should be exported. */ - boolean export_defineds; - /* Number of ldsym structures. */ - size_t ldsym_count; - /* Size of string table. */ - size_t string_size; - /* String table. */ - bfd_byte *strings; - /* Allocated size of string table. */ - size_t string_alc; -}; - /* Build the .loader section. This is called by the XCOFF linker emulation before_allocation routine. We must set the size of the .loader section before the linker lays out the output file. @@ -3221,12 +2800,12 @@ bfd_xcoff_size_dynamic_sections (output_ struct bfd_strtab_hash *debug_strtab; bfd_byte *debug_contents = NULL; - if (bfd_get_flavour (output_bfd) != bfd_target_xcoff_flavour) - { - for (i = 0; i < 6; i++) - special_sections[i] = NULL; - return true; - } + if (bfd_get_flavour (output_bfd) != bfd_target_xcoff_flavour) { + + for (i = 0; i < XCOFF_NUMBER_OF_SPECIAL_SECTIONS; i++) + special_sections[i] = NULL; + return true; + } ldinfo.failed = false; ldinfo.output_bfd = output_bfd; @@ -3244,16 +2823,79 @@ bfd_xcoff_size_dynamic_sections (output_ xcoff_hash_table (info)->file_align = file_align; xcoff_hash_table (info)->textro = textro; - if (entry == NULL) + if (entry == NULL) { hentry = NULL; - else - { - hentry = xcoff_link_hash_lookup (xcoff_hash_table (info), entry, - false, false, true); - if (hentry != NULL) - hentry->flags |= XCOFF_ENTRY; + } else { + hentry = xcoff_link_hash_lookup (xcoff_hash_table (info), entry, + false, false, true); + if (hentry != NULL) + hentry->flags |= XCOFF_ENTRY; + } + + /* __rtinit */ + if (info->init_function || info->fini_function) { + struct xcoff_link_hash_entry *hrtinit; + struct internal_ldsym *ldsym; + + hrtinit = xcoff_link_hash_lookup (xcoff_hash_table (info), + "__rtinit", + false, false, true); + if (hrtinit != NULL) { + xcoff_mark_symbol (info, hrtinit); + hrtinit->flags |= (XCOFF_DEF_REGULAR | XCOFF_RTINIT); + } else { + (*_bfd_error_handler) + (_("error: undefined symbol __rtinit")); + + return false; + } + + /* + * + * __rtinit initalized here + * Some information, like the location of the .initfini seciton will + * be filled in later + * + * name or offset taken case of below with bfd_xcoff_put_ldsymbol_name + */ + ldsym = (struct internal_ldsym *) + bfd_malloc(sizeof (struct internal_ldsym)); + + ldsym->l_value = 0; /* will be filled in later */ + ldsym->l_scnum = 2; /* data section */ + ldsym->l_smtype = XTY_SD; /* csect section definition */ + ldsym->l_smclas = 5; /* .rw */ + ldsym->l_ifile = 0; /* special system loader symbol */ + ldsym->l_parm = 0; /* NA */ + + /* + * Force __rtinit to be the first symbol in the loader symbol table + * See xcoff_build_ldsyms + * + * The first 3 symbol table indices are reserved to indicate the data, + * text and bss sections. + */ + BFD_ASSERT (0 == ldinfo.ldsym_count); + + hrtinit->ldindx = 3; + ldinfo.ldsym_count = 1; + hrtinit->ldsym = ldsym; + + if (false == bfd_xcoff_put_ldsymbol_name (ldinfo.output_bfd, &ldinfo, + hrtinit->ldsym, + hrtinit->root.root.string)) { + return false; } + /* + * This symbol is written out by xcoff_write_global_symbol + * Set stuff up so xcoff_write_global_symbol logic works. + */ + hrtinit->flags |= XCOFF_DEF_REGULAR | XCOFF_MARK; + hrtinit->root.type = bfd_link_hash_defined; + hrtinit->root.u.def.value = 0; + } + /* Garbage collect unused sections. */ if (info->relocateable || ! gc @@ -3289,23 +2931,22 @@ bfd_xcoff_size_dynamic_sections (output_ } /* Return special sections to the caller. */ - for (i = 0; i < 6; i++) - { - asection *sec; - - sec = xcoff_hash_table (info)->special_sections[i]; - if (sec != NULL - && gc - && (sec->flags & SEC_MARK) == 0) - sec = NULL; - special_sections[i] = sec; + for (i = 0; i < XCOFF_NUMBER_OF_SPECIAL_SECTIONS; i++) { + asection *sec; + + sec = xcoff_hash_table (info)->special_sections[i]; + + if ((sec != NULL) && + (gc && (sec->flags & SEC_MARK) == 0)) { + sec = NULL; } + special_sections[i] = sec; + } - if (info->input_bfds == NULL) - { - /* I'm not sure what to do in this bizarre case. */ - return true; - } + if (info->input_bfds == NULL) { + /* I'm not sure what to do in this bizarre case. */ + return true; + } xcoff_link_hash_traverse (xcoff_hash_table (info), xcoff_build_ldsyms, (PTR) &ldinfo); @@ -3331,14 +2972,14 @@ bfd_xcoff_size_dynamic_sections (output_ /* Set up the .loader section header. */ ldhdr = &xcoff_hash_table (info)->ldhdr; - ldhdr->l_version = 1; + ldhdr->l_version = bfd_xcoff_ldhdr_version(output_bfd); ldhdr->l_nsyms = ldinfo.ldsym_count; ldhdr->l_nreloc = xcoff_hash_table (info)->ldrel_count; ldhdr->l_istlen = impsize; ldhdr->l_nimpid = impcount; - ldhdr->l_impoff = (LDHDRSZ - + ldhdr->l_nsyms * LDSYMSZ - + ldhdr->l_nreloc * LDRELSZ); + ldhdr->l_impoff = (bfd_xcoff_ldhdrsz(output_bfd) + + ldhdr->l_nsyms * bfd_xcoff_ldsymsz(output_bfd) + + ldhdr->l_nreloc * bfd_xcoff_ldrelsz(output_bfd)); ldhdr->l_stlen = ldinfo.string_size; stoff = ldhdr->l_impoff + impsize; if (ldinfo.string_size == 0) @@ -3346,6 +2987,15 @@ bfd_xcoff_size_dynamic_sections (output_ else ldhdr->l_stoff = stoff; + /* + * 64 bit elements to ldhdr + * The swap out routine for 32 bit will ignore them. + * Nothing fancy, symbols come after the header and relocs come after symbols + */ + ldhdr->l_symoff = bfd_xcoff_ldhdrsz(output_bfd); + ldhdr->l_rldoff = bfd_xcoff_ldhdrsz(output_bfd) + + (ldhdr->l_nsyms * bfd_xcoff_ldsymsz(output_bfd)); + /* We now know the final size of the .loader section. Allocate space for it. */ lsec = xcoff_hash_table (info)->loader_section; @@ -3355,8 +3005,7 @@ bfd_xcoff_size_dynamic_sections (output_ goto error_return; /* Set up the header. */ - xcoff_swap_ldhdr_out (output_bfd, ldhdr, - (struct external_ldhdr *) lsec->contents); + bfd_xcoff_swap_ldhdr_out (output_bfd, ldhdr, lsec->contents); /* Set up the import file names. */ out = (char *) lsec->contents + ldhdr->l_impoff; @@ -3395,7 +3044,8 @@ bfd_xcoff_size_dynamic_sections (output_ symbols are written out in xcoff_link_input_bfd or xcoff_write_global_symbol. The .loader relocs are written out when the corresponding normal relocs are handled in - xcoff_link_input_bfd. */ + xcoff_link_input_bfd. + */ /* Allocate space for the magic sections. */ sec = xcoff_hash_table (info)->linkage_section; @@ -3540,7 +3190,15 @@ xcoff_build_ldsyms (h, p) PTR p; { struct xcoff_loader_info *ldinfo = (struct xcoff_loader_info *) p; - size_t len; + + /* + * __rtinit + * Special handling of this symbol to make is the first symbol in the + * loader symbol table. Make sure this pass through does not undo it + */ + if (h->flags & XCOFF_RTINIT) { + return true; + } /* If this is a final link, and the symbol was defined as a common symbol in a regular object file, and there was no definition in @@ -3638,7 +3296,7 @@ xcoff_build_ldsyms (h, p) h->root.u.def.value = sec->_raw_size; h->smclas = XMC_GL; h->flags |= XCOFF_DEF_REGULAR; - sec->_raw_size += XCOFF_GLINK_SIZE; + sec->_raw_size += bfd_xcoff_glink_code_size(ldinfo->output_bfd); /* The global linkage code requires a TOC entry for the descriptor. */ @@ -3647,20 +3305,36 @@ xcoff_build_ldsyms (h, p) || hds->root.type == bfd_link_hash_undefweak) && (hds->flags & XCOFF_DEF_REGULAR) == 0); hds->flags |= XCOFF_MARK; - if (hds->toc_section == NULL) - { - hds->toc_section = xcoff_hash_table (ldinfo->info)->toc_section; - hds->u.toc_offset = hds->toc_section->_raw_size; - hds->toc_section->_raw_size += 4; - ++xcoff_hash_table (ldinfo->info)->ldrel_count; - ++hds->toc_section->reloc_count; - hds->indx = -2; - hds->flags |= XCOFF_SET_TOC | XCOFF_LDREL; - - /* We need to call xcoff_build_ldsyms recursively here, - because we may already have passed hds on the traversal. */ - xcoff_build_ldsyms (hds, p); + if (hds->toc_section == NULL) { + int byte_size; + + /* + * 32 vs 64 + * xcoff32 uses 4 bytes in the toc + * xcoff64 uses 8 bytes in the toc + */ + if (bfd_xcoff_is_xcoff64(ldinfo->output_bfd)) { + byte_size = 8; + } else if (bfd_xcoff_is_xcoff32(ldinfo->output_bfd)) { + byte_size = 4; + } else { + return false; } + + hds->toc_section = xcoff_hash_table (ldinfo->info)->toc_section; + hds->u.toc_offset = hds->toc_section->_raw_size; + hds->toc_section->_raw_size += byte_size; + ++xcoff_hash_table (ldinfo->info)->ldrel_count; + ++hds->toc_section->reloc_count; + hds->indx = -2; + hds->flags |= XCOFF_SET_TOC | XCOFF_LDREL; + + /* + * We need to call xcoff_build_ldsyms recursively here, + * because we may already have passed hds on the traversal. + */ + xcoff_build_ldsyms (hds, p); + } } /* If this symbol is exported, but not defined, we need to try to @@ -3689,15 +3363,25 @@ xcoff_build_ldsyms (h, p) h->root.u.def.value = sec->_raw_size; h->smclas = XMC_DS; h->flags |= XCOFF_DEF_REGULAR; - sec->_raw_size += 12; - /* A function descriptor uses two relocs: one for the - associated code, and one for the TOC address. */ + /* + * The size of the function descriptor depends if this is an + * xcoff32 (12) or xcoff64 (24) + */ + sec->_raw_size += + bfd_xcoff_function_descriptor_size(ldinfo->output_bfd); + + /* + * A function descriptor uses two relocs: one for the + * associated code, and one for the TOC address. + */ xcoff_hash_table (ldinfo->info)->ldrel_count += 2; sec->reloc_count += 2; - /* We handle writing out the contents of the descriptor in - xcoff_write_global_symbol. */ + /* + * We handle writing out the contents of the descriptor in + * xcoff_write_global_symbol. + */ } else { @@ -3766,46 +3450,19 @@ xcoff_build_ldsyms (h, p) if ((h->flags & XCOFF_IMPORT) != 0) h->ldsym->l_ifile = h->ldindx; - /* The first 3 symbol table indices are reserved to indicate the - sections. */ + /* + * The first 3 symbol table indices are reserved to indicate the data, + * text and bss sections. + */ h->ldindx = ldinfo->ldsym_count + 3; ++ldinfo->ldsym_count; - len = strlen (h->root.root.string); - if (len <= SYMNMLEN) - strncpy (h->ldsym->_l._l_name, h->root.root.string, SYMNMLEN); - else - { - if (ldinfo->string_size + len + 3 > ldinfo->string_alc) - { - size_t newalc; - bfd_byte *newstrings; - - newalc = ldinfo->string_alc * 2; - if (newalc == 0) - newalc = 32; - while (ldinfo->string_size + len + 3 > newalc) - newalc *= 2; - - newstrings = ((bfd_byte *) - bfd_realloc ((PTR) ldinfo->strings, newalc)); - if (newstrings == NULL) - { - ldinfo->failed = true; - return false; - } - ldinfo->string_alc = newalc; - ldinfo->strings = newstrings; - } - - bfd_put_16 (ldinfo->output_bfd, len + 1, - ldinfo->strings + ldinfo->string_size); - strcpy (ldinfo->strings + ldinfo->string_size + 2, h->root.root.string); - h->ldsym->_l._l_l._l_zeroes = 0; - h->ldsym->_l._l_l._l_offset = ldinfo->string_size + 2; - ldinfo->string_size += len + 3; - } + if (false == bfd_xcoff_put_ldsymbol_name (ldinfo->output_bfd, ldinfo, + h->ldsym, + h->root.root.string)) { + return false; + } h->flags |= XCOFF_BUILT_LDSYM; @@ -3854,13 +3511,11 @@ _bfd_xcoff_bfd_final_link (abfd, info) finfo.contents = NULL; finfo.external_relocs = NULL; - finfo.ldsym = ((struct external_ldsym *) - (xcoff_hash_table (info)->loader_section->contents - + LDHDRSZ)); - finfo.ldrel = ((struct external_ldrel *) - (xcoff_hash_table (info)->loader_section->contents - + LDHDRSZ - + xcoff_hash_table (info)->ldhdr.l_nsyms * LDSYMSZ)); + finfo.ldsym = xcoff_hash_table (info)->loader_section->contents + + bfd_xcoff_ldhdrsz(abfd); + finfo.ldrel = xcoff_hash_table (info)->loader_section->contents + + bfd_xcoff_ldhdrsz(abfd) + + xcoff_hash_table (info)->ldhdr.l_nsyms * bfd_xcoff_ldsymsz(abfd); xcoff_data (abfd)->coff.link_info = info; @@ -3980,10 +3635,16 @@ _bfd_xcoff_bfd_final_link (abfd, info) sofar = bfd_coff_filhsz (abfd); sofar += bfd_coff_aoutsz (abfd); sofar += abfd->section_count * bfd_coff_scnhsz (abfd); - for (o = abfd->sections; o != NULL; o = o->next) - if (o->reloc_count >= 0xffff || o->lineno_count >= 0xffff) - sofar += bfd_coff_scnhsz (abfd); + for (o = abfd->sections; o != NULL; o = o->next) { + if ((true == + bfd_xcoff_is_reloc_count_overflow(abfd, o->reloc_count)) || + (true == + bfd_xcoff_is_lineno_count_overflow(abfd, o->lineno_count))) { + /* 64 does not overflow, need to check if 32 does */ + sofar += bfd_coff_scnhsz (abfd); + } + } for (o = abfd->sections; o != NULL; o = o->next) { if (strcmp (o->name, ".pad") == 0) @@ -4125,6 +3786,7 @@ _bfd_xcoff_bfd_final_link (abfd, info) finfo.internal_syms = ((struct internal_syment *) bfd_malloc (max_sym_count * sizeof (struct internal_syment))); + finfo.sym_indices = (long *) bfd_malloc (max_sym_count * sizeof (long)); finfo.outsyms = ((bfd_byte *) bfd_malloc ((size_t) ((max_sym_count + 1) * symesz))); @@ -4177,48 +3839,53 @@ _bfd_xcoff_bfd_final_link (abfd, info) } } + /* Free up the buffers used by xcoff_link_input_bfd. */ - if (finfo.internal_syms != NULL) - { - free (finfo.internal_syms); - finfo.internal_syms = NULL; - } - if (finfo.sym_indices != NULL) - { - free (finfo.sym_indices); - finfo.sym_indices = NULL; - } - if (finfo.linenos != NULL) - { - free (finfo.linenos); - finfo.linenos = NULL; - } - if (finfo.contents != NULL) - { - free (finfo.contents); - finfo.contents = NULL; - } - if (finfo.external_relocs != NULL) - { - free (finfo.external_relocs); - finfo.external_relocs = NULL; - } + if (finfo.internal_syms != NULL) { + free (finfo.internal_syms); + finfo.internal_syms = NULL; + } + if (finfo.sym_indices != NULL) { + free (finfo.sym_indices); + finfo.sym_indices = NULL; + } + if (finfo.linenos != NULL) { + free (finfo.linenos); + finfo.linenos = NULL; + } + if (finfo.contents != NULL) { + free (finfo.contents); + finfo.contents = NULL; + } + if (finfo.external_relocs != NULL) { + free (finfo.external_relocs); + finfo.external_relocs = NULL; + } /* The value of the last C_FILE symbol is supposed to be -1. Write it out again. */ - if (finfo.last_file_index != -1) - { - finfo.last_file.n_value = -1; - bfd_coff_swap_sym_out (abfd, (PTR) &finfo.last_file, - (PTR) finfo.outsyms); - if (bfd_seek (abfd, - (obj_sym_filepos (abfd) - + finfo.last_file_index * symesz), - SEEK_SET) != 0 - || bfd_write (finfo.outsyms, symesz, 1, abfd) != symesz) - goto error_return; - } + if (finfo.last_file_index != -1) { + finfo.last_file.n_value = -1; + bfd_coff_swap_sym_out (abfd, (PTR) &finfo.last_file, + (PTR) finfo.outsyms); + if (bfd_seek (abfd, + (obj_sym_filepos (abfd) + + finfo.last_file_index * symesz), + SEEK_SET) != 0 + || bfd_write (finfo.outsyms, symesz, 1, abfd) != symesz) + goto error_return; + } + + /* init-fini */ + if (info->init_function || info->fini_function) { + struct xcoff_link_hash_entry *hrtinit; + + hrtinit = xcoff_link_hash_lookup (xcoff_hash_table (info), + "__rtinit", + false, false, true); + } + /* Write out all the global symbols which do not come from XCOFF input files. */ @@ -4239,100 +3906,90 @@ _bfd_xcoff_bfd_final_link (abfd, info) if (external_relocs == NULL && max_output_reloc_count != 0) goto error_return; - for (o = abfd->sections; o != NULL; o = o->next) - { - struct internal_reloc *irel; - struct internal_reloc *irelend; - struct xcoff_link_hash_entry **rel_hash; - struct xcoff_toc_rel_hash *toc_rel_hash; - bfd_byte *erel; - - /* A stripped file has no relocs. */ - if (info->strip == strip_all) - { - o->reloc_count = 0; - continue; - } - - if (o->reloc_count == 0) - continue; - - irel = finfo.section_info[o->target_index].relocs; - irelend = irel + o->reloc_count; - rel_hash = finfo.section_info[o->target_index].rel_hashes; - for (; irel < irelend; irel++, rel_hash++, erel += relsz) - { - if (*rel_hash != NULL) - { - if ((*rel_hash)->indx < 0) - { - if (! ((*info->callbacks->unattached_reloc) - (info, (*rel_hash)->root.root.string, - (bfd *) NULL, o, irel->r_vaddr))) - goto error_return; - (*rel_hash)->indx = 0; - } - irel->r_symndx = (*rel_hash)->indx; - } - } - - for (toc_rel_hash = finfo.section_info[o->target_index].toc_rel_hashes; - toc_rel_hash != NULL; - toc_rel_hash = toc_rel_hash->next) - { - if (toc_rel_hash->h->u.toc_indx < 0) - { - if (! ((*info->callbacks->unattached_reloc) - (info, toc_rel_hash->h->root.root.string, - (bfd *) NULL, o, toc_rel_hash->rel->r_vaddr))) - goto error_return; - toc_rel_hash->h->u.toc_indx = 0; - } - toc_rel_hash->rel->r_symndx = toc_rel_hash->h->u.toc_indx; + for (o = abfd->sections; o != NULL; o = o->next) { + struct internal_reloc *irel; + struct internal_reloc *irelend; + struct xcoff_link_hash_entry **rel_hash; + struct xcoff_toc_rel_hash *toc_rel_hash; + bfd_byte *erel; + + /* A stripped file has no relocs. */ + if (info->strip == strip_all) { + o->reloc_count = 0; + continue; + } + + if (o->reloc_count == 0) + continue; + + irel = finfo.section_info[o->target_index].relocs; + irelend = irel + o->reloc_count; + rel_hash = finfo.section_info[o->target_index].rel_hashes; + for (; irel < irelend; irel++, rel_hash++, erel += relsz) { + if (*rel_hash != NULL) { + if ((*rel_hash)->indx < 0) { + if (! ((*info->callbacks->unattached_reloc) + (info, (*rel_hash)->root.root.string, + (bfd *) NULL, o, irel->r_vaddr))) + goto error_return; + (*rel_hash)->indx = 0; } - - /* XCOFF requires that the relocs be sorted by address. We tend - to produce them in the order in which their containing csects - appear in the symbol table, which is not necessarily by - address. So we sort them here. There may be a better way to - do this. */ - qsort ((PTR) finfo.section_info[o->target_index].relocs, - o->reloc_count, sizeof (struct internal_reloc), - xcoff_sort_relocs); - - irel = finfo.section_info[o->target_index].relocs; - irelend = irel + o->reloc_count; - erel = external_relocs; - for (; irel < irelend; irel++, rel_hash++, erel += relsz) - bfd_coff_swap_reloc_out (abfd, (PTR) irel, (PTR) erel); - - if (bfd_seek (abfd, o->rel_filepos, SEEK_SET) != 0 - || bfd_write ((PTR) external_relocs, relsz, o->reloc_count, - abfd) != relsz * o->reloc_count) - goto error_return; + irel->r_symndx = (*rel_hash)->indx; + } } - if (external_relocs != NULL) - { - free (external_relocs); - external_relocs = NULL; + for (toc_rel_hash = finfo.section_info[o->target_index].toc_rel_hashes; + toc_rel_hash != NULL; + toc_rel_hash = toc_rel_hash->next) { + if (toc_rel_hash->h->u.toc_indx < 0) { + if (! ((*info->callbacks->unattached_reloc) + (info, toc_rel_hash->h->root.root.string, + (bfd *) NULL, o, toc_rel_hash->rel->r_vaddr))) + goto error_return; + toc_rel_hash->h->u.toc_indx = 0; + } + toc_rel_hash->rel->r_symndx = toc_rel_hash->h->u.toc_indx; } + /* XCOFF requires that the relocs be sorted by address. We tend + to produce them in the order in which their containing csects + appear in the symbol table, which is not necessarily by + address. So we sort them here. There may be a better way to + do this. */ + qsort ((PTR) finfo.section_info[o->target_index].relocs, + o->reloc_count, sizeof (struct internal_reloc), + xcoff_sort_relocs); + + irel = finfo.section_info[o->target_index].relocs; + irelend = irel + o->reloc_count; + erel = external_relocs; + for (; irel < irelend; irel++, rel_hash++, erel += relsz) + bfd_coff_swap_reloc_out (abfd, (PTR) irel, (PTR) erel); + + if (bfd_seek (abfd, o->rel_filepos, SEEK_SET) != 0 + || bfd_write ((PTR) external_relocs, relsz, o->reloc_count, + abfd) != relsz * o->reloc_count) + goto error_return; + } + + if (external_relocs != NULL) { + free (external_relocs); + external_relocs = NULL; + } + /* Free up the section information. */ - if (finfo.section_info != NULL) - { - unsigned int i; + if (finfo.section_info != NULL) { + unsigned int i; - for (i = 0; i < abfd->section_count; i++) - { - if (finfo.section_info[i].relocs != NULL) - free (finfo.section_info[i].relocs); - if (finfo.section_info[i].rel_hashes != NULL) - free (finfo.section_info[i].rel_hashes); - } - free (finfo.section_info); - finfo.section_info = NULL; + for (i = 0; i < abfd->section_count; i++) { + if (finfo.section_info[i].relocs != NULL) + free (finfo.section_info[i].relocs); + if (finfo.section_info[i].rel_hashes != NULL) + free (finfo.section_info[i].rel_hashes); } + free (finfo.section_info); + finfo.section_info = NULL; + } /* Write out the loader section contents. */ BFD_ASSERT ((bfd_byte *) finfo.ldrel @@ -4379,43 +4036,42 @@ _bfd_xcoff_bfd_final_link (abfd, info) /* Write out the debugging string table. */ o = xcoff_hash_table (info)->debug_section; - if (o != NULL) - { - struct bfd_strtab_hash *debug_strtab; - - debug_strtab = xcoff_hash_table (info)->debug_strtab; - BFD_ASSERT (o->output_section->_raw_size - o->output_offset - >= _bfd_stringtab_size (debug_strtab)); - if (bfd_seek (abfd, - o->output_section->filepos + o->output_offset, - SEEK_SET) != 0) - goto error_return; - if (! _bfd_stringtab_emit (abfd, debug_strtab)) - goto error_return; - } - + if (o != NULL) { + struct bfd_strtab_hash *debug_strtab; + + debug_strtab = xcoff_hash_table (info)->debug_strtab; + BFD_ASSERT (o->output_section->_raw_size - o->output_offset + >= _bfd_stringtab_size (debug_strtab)); + if (bfd_seek (abfd, + o->output_section->filepos + o->output_offset, + SEEK_SET) != 0) + goto error_return; + if (! _bfd_stringtab_emit (abfd, debug_strtab)) + goto error_return; + } + /* Setting bfd_get_symcount to 0 will cause write_object_contents to not try to write out the symbols. */ bfd_get_symcount (abfd) = 0; - + return true; error_return: if (finfo.strtab != NULL) _bfd_stringtab_free (finfo.strtab); - if (finfo.section_info != NULL) - { - unsigned int i; - - for (i = 0; i < abfd->section_count; i++) - { - if (finfo.section_info[i].relocs != NULL) - free (finfo.section_info[i].relocs); - if (finfo.section_info[i].rel_hashes != NULL) - free (finfo.section_info[i].rel_hashes); - } - free (finfo.section_info); + + if (finfo.section_info != NULL) { + unsigned int i; + + for (i = 0; i < abfd->section_count; i++) { + if (finfo.section_info[i].relocs != NULL) + free (finfo.section_info[i].relocs); + if (finfo.section_info[i].rel_hashes != NULL) + free (finfo.section_info[i].rel_hashes); } + free (finfo.section_info); + } + if (finfo.internal_syms != NULL) free (finfo.internal_syms); if (finfo.sym_indices != NULL) @@ -4510,6 +4166,7 @@ xcoff_link_input_bfd (finfo, input_bfd) while (esym < esym_end) { + struct internal_syment isym; union internal_auxent aux; int smtyp = 0; @@ -4529,6 +4186,7 @@ xcoff_link_input_bfd (finfo, input_bfd) isymp->n_type, isymp->n_sclass, isymp->n_numaux - 1, isymp->n_numaux, (PTR) &aux); + smtyp = SMTYP_SMTYP (aux.x_csect.x_smtyp); } @@ -4613,17 +4271,18 @@ xcoff_link_input_bfd (finfo, input_bfd) ldsym->l_parm = 0; BFD_ASSERT (h->ldindx >= 0); - BFD_ASSERT (LDSYMSZ == sizeof (struct external_ldsym)); - xcoff_swap_ldsym_out (finfo->output_bfd, ldsym, - finfo->ldsym + h->ldindx - 3); + bfd_xcoff_swap_ldsym_out (finfo->output_bfd, ldsym, + finfo->ldsym + (h->ldindx - 3) * + bfd_xcoff_ldsymsz(finfo->output_bfd)); h->ldsym = NULL; /* Fill in snentry now that we know the target_index. */ - if ((h->flags & XCOFF_ENTRY) != 0 - && (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak)) + if ((h->flags & XCOFF_ENTRY) != 0 && + (h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak)) { xcoff_data (output_bfd)->snentry = h->root.u.def.section->output_section->target_index; + } } *indexp = -1; @@ -4716,6 +4375,7 @@ xcoff_link_input_bfd (finfo, input_bfd) xcoff_data (finfo->output_bfd)->sntoc = (*csectpp)->output_section->target_index; require = true; + } } @@ -4771,6 +4431,7 @@ xcoff_link_input_bfd (finfo, input_bfd) char buf[SYMNMLEN + 1]; name = _bfd_coff_internal_syment_name (input_bfd, &isym, buf); + if (name == NULL) return false; @@ -4811,6 +4472,7 @@ xcoff_link_input_bfd (finfo, input_bfd) name = _bfd_coff_internal_syment_name (input_bfd, &isym, (char *) NULL); + if (name == NULL) return false; indx = _bfd_stringtab_add (finfo->strtab, name, hash, copy); @@ -4839,7 +4501,7 @@ xcoff_link_input_bfd (finfo, input_bfd) if (isym.n_sclass == C_FILE) { if (finfo->last_file_index != -1 - && finfo->last_file.n_value != (long) output_index) + && finfo->last_file.n_value != (bfd_vma) output_index) { /* We must correct the value of the last C_FILE entry. */ finfo->last_file.n_value = output_index; @@ -4956,7 +4618,8 @@ xcoff_link_input_bfd (finfo, input_bfd) if (isymp->n_sclass == C_BSTAT) { struct internal_syment isym; - unsigned long indx; + + bfd_vma indx; /* The value of a C_BSTAT symbol is the symbol table index of the containing csect. */ @@ -5018,6 +4681,7 @@ xcoff_link_input_bfd (finfo, input_bfd) || isymp->n_sclass == C_HIDEXT) && i + 1 == isymp->n_numaux) { + /* We don't support type checking. I don't know if anybody does. */ aux.x_csect.x_parmhash = 0; @@ -5025,20 +4689,23 @@ xcoff_link_input_bfd (finfo, input_bfd) better clobber them just in case. */ aux.x_csect.x_stab = 0; aux.x_csect.x_snstab = 0; + if (SMTYP_SMTYP (aux.x_csect.x_smtyp) == XTY_LD) { - unsigned long indx; + bfd_signed_vma indx; + - indx = aux.x_csect.x_scnlen.l; + indx = aux.x_csect.x_scnlen.l; if (indx < obj_raw_syment_count (input_bfd)) { long symindx; symindx = finfo->sym_indices[indx]; - if (symindx < 0) - aux.x_sym.x_tagndx.l = 0; - else - aux.x_sym.x_tagndx.l = symindx; + if (symindx < 0) { + aux.x_csect.x_scnlen.l = 0; + } else { + aux.x_csect.x_scnlen.l = symindx; + } } } } @@ -5067,6 +4734,7 @@ xcoff_link_input_bfd (finfo, input_bfd) else indx = finfo->sym_indices[indx]; aux.x_sym.x_fcnary.x_fcn.x_endndx.l = indx; + } } @@ -5081,6 +4749,7 @@ xcoff_link_input_bfd (finfo, input_bfd) else aux.x_sym.x_tagndx.l = symindx; } + } /* Copy over the line numbers, unless we are stripping @@ -5100,7 +4769,7 @@ xcoff_link_input_bfd (finfo, input_bfd) { asection *enclosing; unsigned int enc_count; - bfd_size_type linoff; + bfd_signed_vma linoff; struct internal_lineno lin; o = *csectpp; @@ -5199,7 +4868,7 @@ xcoff_link_input_bfd (finfo, input_bfd) && (iisp->n_sclass == C_BINCL || iisp->n_sclass == C_EINCL) && ((bfd_size_type) iisp->n_value - >= enclosing->line_filepos + linoff) + >= (bfd_size_type)(enclosing->line_filepos + linoff)) && ((bfd_size_type) iisp->n_value < (enclosing->line_filepos + enc_count * linesz))) @@ -5281,319 +4950,318 @@ xcoff_link_input_bfd (finfo, input_bfd) obj_coff_keep_syms (input_bfd) = true; /* Relocate the contents of each section. */ - for (o = input_bfd->sections; o != NULL; o = o->next) - { - bfd_byte *contents; - - if (! o->linker_mark) - { - /* This section was omitted from the link. */ - continue; - } + for (o = input_bfd->sections; o != NULL; o = o->next) { + + bfd_byte *contents; + + if (! o->linker_mark){ + /* This section was omitted from the link. */ + continue; + } + + if ((o->flags & SEC_HAS_CONTENTS) == 0 + || o->_raw_size == 0 + || (o->flags & SEC_IN_MEMORY) != 0) + continue; + + /* We have set filepos correctly for the sections we created to + represent csects, so bfd_get_section_contents should work. */ + if (coff_section_data (input_bfd, o) != NULL + && coff_section_data (input_bfd, o)->contents != NULL) + contents = coff_section_data (input_bfd, o)->contents; + else { + if (! bfd_get_section_contents (input_bfd, o, finfo->contents, + (file_ptr) 0, o->_raw_size)) + return false; + contents = finfo->contents; + } - if ((o->flags & SEC_HAS_CONTENTS) == 0 - || o->_raw_size == 0 - || (o->flags & SEC_IN_MEMORY) != 0) - continue; + if ((o->flags & SEC_RELOC) != 0) { + int target_index; + struct internal_reloc *internal_relocs; + struct internal_reloc *irel; + bfd_vma offset; + struct internal_reloc *irelend; + struct xcoff_link_hash_entry **rel_hash; + long r_symndx; + + /* Read in the relocs. */ + target_index = o->output_section->target_index; + internal_relocs = (xcoff_read_internal_relocs + (input_bfd, o, false, finfo->external_relocs, + true, + (finfo->section_info[target_index].relocs + + o->output_section->reloc_count))); + if (internal_relocs == NULL) + return false; - /* We have set filepos correctly for the sections we created to - represent csects, so bfd_get_section_contents should work. */ - if (coff_section_data (input_bfd, o) != NULL - && coff_section_data (input_bfd, o)->contents != NULL) - contents = coff_section_data (input_bfd, o)->contents; - else - { - if (! bfd_get_section_contents (input_bfd, o, finfo->contents, - (file_ptr) 0, o->_raw_size)) - return false; - contents = finfo->contents; - } + /* Call processor specific code to relocate the section + contents. */ + if (! bfd_coff_relocate_section (output_bfd, finfo->info, + input_bfd, o, + contents, + internal_relocs, + finfo->internal_syms, + xcoff_data (input_bfd)->csects)) + return false; - if ((o->flags & SEC_RELOC) != 0) - { - int target_index; - struct internal_reloc *internal_relocs; - struct internal_reloc *irel; - bfd_vma offset; - struct internal_reloc *irelend; - struct xcoff_link_hash_entry **rel_hash; - long r_symndx; - - /* Read in the relocs. */ - target_index = o->output_section->target_index; - internal_relocs = (xcoff_read_internal_relocs - (input_bfd, o, false, finfo->external_relocs, - true, - (finfo->section_info[target_index].relocs - + o->output_section->reloc_count))); - if (internal_relocs == NULL) - return false; + offset = o->output_section->vma + o->output_offset - o->vma; + irel = internal_relocs; + irelend = irel + o->reloc_count; + rel_hash = (finfo->section_info[target_index].rel_hashes + + o->output_section->reloc_count); + for (; irel < irelend; irel++, rel_hash++) { + struct xcoff_link_hash_entry *h = NULL; + struct internal_ldrel ldrel; + boolean quiet; - /* Call processor specific code to relocate the section - contents. */ - if (! bfd_coff_relocate_section (output_bfd, finfo->info, - input_bfd, o, - contents, - internal_relocs, - finfo->internal_syms, - xcoff_data (input_bfd)->csects)) - return false; + *rel_hash = NULL; - offset = o->output_section->vma + o->output_offset - o->vma; - irel = internal_relocs; - irelend = irel + o->reloc_count; - rel_hash = (finfo->section_info[target_index].rel_hashes - + o->output_section->reloc_count); - for (; irel < irelend; irel++, rel_hash++) - { - struct xcoff_link_hash_entry *h = NULL; - struct internal_ldrel ldrel; - boolean quiet; + /* Adjust the reloc address and symbol index. */ - *rel_hash = NULL; + irel->r_vaddr += offset; - /* Adjust the reloc address and symbol index. */ + r_symndx = irel->r_symndx; - irel->r_vaddr += offset; + if (r_symndx == -1) + h = NULL; + else + h = obj_xcoff_sym_hashes (input_bfd)[r_symndx]; - r_symndx = irel->r_symndx; + if (r_symndx != -1 && finfo->info->strip != strip_all) + { + if (h != NULL + && h->smclas != XMC_TD + && (irel->r_type == R_TOC + || irel->r_type == R_GL + || irel->r_type == R_TCL + || irel->r_type == R_TRL + || irel->r_type == R_TRLA)) + { + /* This is a TOC relative reloc with a symbol + attached. The symbol should be the one which + this reloc is for. We want to make this + reloc against the TOC address of the symbol, + not the symbol itself. */ + BFD_ASSERT (h->toc_section != NULL); + BFD_ASSERT ((h->flags & XCOFF_SET_TOC) == 0); + if (h->u.toc_indx != -1) + irel->r_symndx = h->u.toc_indx; + else + { + struct xcoff_toc_rel_hash *n; + struct xcoff_link_section_info *si; - if (r_symndx == -1) - h = NULL; - else - h = obj_xcoff_sym_hashes (input_bfd)[r_symndx]; + n = ((struct xcoff_toc_rel_hash *) + bfd_alloc (finfo->output_bfd, + sizeof (struct xcoff_toc_rel_hash))); + if (n == NULL) + return false; + si = finfo->section_info + target_index; + n->next = si->toc_rel_hashes; + n->h = h; + n->rel = irel; + si->toc_rel_hashes = n; + } + } + else if (h != NULL) + { + /* This is a global symbol. */ + if (h->indx >= 0) + irel->r_symndx = h->indx; + else + { + /* This symbol is being written at the end + of the file, and we do not yet know the + symbol index. We save the pointer to the + hash table entry in the rel_hash list. + We set the indx field to -2 to indicate + that this symbol must not be stripped. */ + *rel_hash = h; + h->indx = -2; + } + } + else + { + long indx; - if (r_symndx != -1 && finfo->info->strip != strip_all) - { - if (h != NULL - && h->smclas != XMC_TD - && (irel->r_type == R_TOC - || irel->r_type == R_GL - || irel->r_type == R_TCL - || irel->r_type == R_TRL - || irel->r_type == R_TRLA)) - { - /* This is a TOC relative reloc with a symbol - attached. The symbol should be the one which - this reloc is for. We want to make this - reloc against the TOC address of the symbol, - not the symbol itself. */ - BFD_ASSERT (h->toc_section != NULL); - BFD_ASSERT ((h->flags & XCOFF_SET_TOC) == 0); - if (h->u.toc_indx != -1) - irel->r_symndx = h->u.toc_indx; - else - { - struct xcoff_toc_rel_hash *n; - struct xcoff_link_section_info *si; + indx = finfo->sym_indices[r_symndx]; - n = ((struct xcoff_toc_rel_hash *) - bfd_alloc (finfo->output_bfd, - sizeof (struct xcoff_toc_rel_hash))); - if (n == NULL) - return false; - si = finfo->section_info + target_index; - n->next = si->toc_rel_hashes; - n->h = h; - n->rel = irel; - si->toc_rel_hashes = n; - } - } - else if (h != NULL) - { - /* This is a global symbol. */ - if (h->indx >= 0) - irel->r_symndx = h->indx; - else - { - /* This symbol is being written at the end - of the file, and we do not yet know the - symbol index. We save the pointer to the - hash table entry in the rel_hash list. - We set the indx field to -2 to indicate - that this symbol must not be stripped. */ - *rel_hash = h; - h->indx = -2; - } - } - else - { - long indx; + if (indx == -1) + { + struct internal_syment *is; - indx = finfo->sym_indices[r_symndx]; + /* Relocations against a TC0 TOC anchor are + automatically transformed to be against + the TOC anchor in the output file. */ + is = finfo->internal_syms + r_symndx; + if (is->n_sclass == C_HIDEXT + && is->n_numaux > 0) + { + PTR auxptr; + union internal_auxent aux; - if (indx == -1) - { - struct internal_syment *is; + auxptr = ((PTR) + (((bfd_byte *) + obj_coff_external_syms (input_bfd)) + + ((r_symndx + is->n_numaux) + * isymesz))); + bfd_coff_swap_aux_in (input_bfd, auxptr, + is->n_type, is->n_sclass, + is->n_numaux - 1, + is->n_numaux, + (PTR) &aux); + if (SMTYP_SMTYP (aux.x_csect.x_smtyp) == XTY_SD + && aux.x_csect.x_smclas == XMC_TC0) + indx = finfo->toc_symindx; + } + } - /* Relocations against a TC0 TOC anchor are - automatically transformed to be against - the TOC anchor in the output file. */ - is = finfo->internal_syms + r_symndx; - if (is->n_sclass == C_HIDEXT - && is->n_numaux > 0) - { - PTR auxptr; - union internal_auxent aux; + if (indx != -1) + irel->r_symndx = indx; + else + { - auxptr = ((PTR) - (((bfd_byte *) - obj_coff_external_syms (input_bfd)) - + ((r_symndx + is->n_numaux) - * isymesz))); - bfd_coff_swap_aux_in (input_bfd, auxptr, - is->n_type, is->n_sclass, - is->n_numaux - 1, - is->n_numaux, - (PTR) &aux); - if (SMTYP_SMTYP (aux.x_csect.x_smtyp) == XTY_SD - && aux.x_csect.x_smclas == XMC_TC0) - indx = finfo->toc_symindx; - } - } + struct internal_syment *is; - if (indx != -1) - irel->r_symndx = indx; - else - { - struct internal_syment *is; - const char *name; - char buf[SYMNMLEN + 1]; - - /* This reloc is against a symbol we are - stripping. It would be possible to handle - this case, but I don't think it's worth it. */ - is = finfo->internal_syms + r_symndx; - - name = (_bfd_coff_internal_syment_name - (input_bfd, is, buf)); - if (name == NULL) - return false; + const char *name; + char buf[SYMNMLEN + 1]; - if (! ((*finfo->info->callbacks->unattached_reloc) - (finfo->info, name, input_bfd, o, - irel->r_vaddr))) - return false; - } - } - } + /* This reloc is against a symbol we are + stripping. It would be possible to handle + this case, but I don't think it's worth it. */ + is = finfo->internal_syms + r_symndx; - quiet = false; - switch (irel->r_type) - { - default: - if (h == NULL - || h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak - || h->root.type == bfd_link_hash_common) - break; - /* Fall through. */ - case R_POS: - case R_NEG: - case R_RL: - case R_RLA: - /* This reloc needs to be copied into the .loader - section. */ - ldrel.l_vaddr = irel->r_vaddr; - if (r_symndx == -1) - ldrel.l_symndx = -1; - else if (h == NULL - || (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak - || h->root.type == bfd_link_hash_common)) - { - asection *sec; + name = (_bfd_coff_internal_syment_name + (input_bfd, is, buf)); - if (h == NULL) - sec = xcoff_data (input_bfd)->csects[r_symndx]; - else if (h->root.type == bfd_link_hash_common) - sec = h->root.u.c.p->section; - else - sec = h->root.u.def.section; - sec = sec->output_section; + if (name == NULL) + return false; - if (strcmp (sec->name, ".text") == 0) - ldrel.l_symndx = 0; - else if (strcmp (sec->name, ".data") == 0) - ldrel.l_symndx = 1; - else if (strcmp (sec->name, ".bss") == 0) - ldrel.l_symndx = 2; - else - { - (*_bfd_error_handler) - (_("%s: loader reloc in unrecognized section `%s'"), - bfd_get_filename (input_bfd), - sec->name); - bfd_set_error (bfd_error_nonrepresentable_section); - return false; - } - } - else - { - if (! finfo->info->relocateable - && (h->flags & XCOFF_DEF_DYNAMIC) == 0 - && (h->flags & XCOFF_IMPORT) == 0) - { - /* We already called the undefined_symbol - callback for this relocation, in - _bfd_ppc_xcoff_relocate_section. Don't - issue any more warnings. */ - quiet = true; - } - if (h->ldindx < 0 && ! quiet) - { - (*_bfd_error_handler) - (_("%s: `%s' in loader reloc but not loader sym"), - bfd_get_filename (input_bfd), - h->root.root.string); - bfd_set_error (bfd_error_bad_value); - return false; - } - ldrel.l_symndx = h->ldindx; - } - ldrel.l_rtype = (irel->r_size << 8) | irel->r_type; - ldrel.l_rsecnm = o->output_section->target_index; - if (xcoff_hash_table (finfo->info)->textro - && strcmp (o->output_section->name, ".text") == 0 - && ! quiet) - { - (*_bfd_error_handler) - (_("%s: loader reloc in read-only section %s"), - bfd_get_filename (input_bfd), - bfd_get_section_name (finfo->output_bfd, - o->output_section)); - bfd_set_error (bfd_error_invalid_operation); + if (! ((*finfo->info->callbacks->unattached_reloc) + (finfo->info, name, input_bfd, o, + irel->r_vaddr))) return false; - } - xcoff_swap_ldrel_out (output_bfd, &ldrel, - finfo->ldrel); - BFD_ASSERT (sizeof (struct external_ldrel) == LDRELSZ); - ++finfo->ldrel; - break; + } + } + } - case R_TOC: - case R_GL: - case R_TCL: - case R_TRL: - case R_TRLA: - /* We should never need a .loader reloc for a TOC - relative reloc. */ - break; - } - } + quiet = false; + switch (irel->r_type) + { + default: + if (h == NULL + || h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak + || h->root.type == bfd_link_hash_common) + break; + /* Fall through. */ + case R_POS: + case R_NEG: + case R_RL: + case R_RLA: + /* This reloc needs to be copied into the .loader + section. */ + ldrel.l_vaddr = irel->r_vaddr; + if (r_symndx == -1) + ldrel.l_symndx = -1; + else if (h == NULL + || (h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak + || h->root.type == bfd_link_hash_common)) + { + asection *sec; - o->output_section->reloc_count += o->reloc_count; - } + if (h == NULL) + sec = xcoff_data (input_bfd)->csects[r_symndx]; + else if (h->root.type == bfd_link_hash_common) + sec = h->root.u.c.p->section; + else + sec = h->root.u.def.section; + sec = sec->output_section; + + if (strcmp (sec->name, ".text") == 0) + ldrel.l_symndx = 0; + else if (strcmp (sec->name, ".data") == 0) + ldrel.l_symndx = 1; + else if (strcmp (sec->name, ".bss") == 0) + ldrel.l_symndx = 2; + else + { + (*_bfd_error_handler) + (_("%s: loader reloc in unrecognized section `%s'"), + bfd_get_filename (input_bfd), + sec->name); + bfd_set_error (bfd_error_nonrepresentable_section); + return false; + } + } + else + { + if (! finfo->info->relocateable + && (h->flags & XCOFF_DEF_DYNAMIC) == 0 + && (h->flags & XCOFF_IMPORT) == 0) + { + /* We already called the undefined_symbol + callback for this relocation, in + _bfd_ppc_xcoff_relocate_section. Don't + issue any more warnings. */ + quiet = true; + } + if (h->ldindx < 0 && ! quiet) + { + (*_bfd_error_handler) + (_("%s: `%s' in loader reloc but not loader sym"), + bfd_get_filename (input_bfd), + h->root.root.string); + bfd_set_error (bfd_error_bad_value); + return false; + } + ldrel.l_symndx = h->ldindx; + } + ldrel.l_rtype = (irel->r_size << 8) | irel->r_type; + ldrel.l_rsecnm = o->output_section->target_index; + if (xcoff_hash_table (finfo->info)->textro + && strcmp (o->output_section->name, ".text") == 0 + && ! quiet) + { + (*_bfd_error_handler) + (_("%s: loader reloc in read-only section %s"), + bfd_get_filename (input_bfd), + bfd_get_section_name (finfo->output_bfd, + o->output_section)); + bfd_set_error (bfd_error_invalid_operation); + return false; + } + bfd_xcoff_swap_ldrel_out (output_bfd, &ldrel, + finfo->ldrel); - /* Write out the modified section contents. */ - if (! bfd_set_section_contents (output_bfd, o->output_section, - contents, o->output_offset, - (o->_cooked_size != 0 - ? o->_cooked_size - : o->_raw_size))) - return false; + finfo->ldrel += bfd_xcoff_ldrelsz(output_bfd); + break; + + case R_TOC: + case R_GL: + case R_TCL: + case R_TRL: + case R_TRLA: + /* We should never need a .loader reloc for a TOC + relative reloc. */ + break; + } + } + + o->output_section->reloc_count += o->reloc_count; } + /* Write out the modified section contents. */ + if (! bfd_set_section_contents (output_bfd, o->output_section, + contents, o->output_offset, + (o->_cooked_size != 0 + ? o->_cooked_size + : o->_raw_size))) + return false; + } + obj_coff_keep_syms (input_bfd) = keep_syms; if (! finfo->info->keep_memory) @@ -5610,6 +5278,7 @@ xcoff_link_input_bfd (finfo, input_bfd) /* Write out a non-XCOFF global symbol. */ + static boolean xcoff_write_global_symbol (h, p) struct xcoff_link_hash_entry *h; @@ -5620,6 +5289,7 @@ xcoff_write_global_symbol (h, p) bfd_byte *outsym; struct internal_syment isym; union internal_auxent aux; + boolean result; output_bfd = finfo->output_bfd; outsym = finfo->outsyms; @@ -5630,97 +5300,123 @@ xcoff_write_global_symbol (h, p) return true; /* If we need a .loader section entry, write it out. */ - if (h->ldsym != NULL) - { - struct internal_ldsym *ldsym; - bfd *impbfd; + if (h->ldsym != NULL) { + struct internal_ldsym *ldsym; + bfd *impbfd; + + ldsym = h->ldsym; + + if (h->root.type == bfd_link_hash_undefined || + h->root.type == bfd_link_hash_undefweak) { + + ldsym->l_value = 0; + ldsym->l_scnum = N_UNDEF; + ldsym->l_smtype = XTY_ER; + impbfd = h->root.u.undef.abfd; - ldsym = h->ldsym; + } else if (h->root.type == bfd_link_hash_defined || + h->root.type == bfd_link_hash_defweak) { - if (h->root.type == bfd_link_hash_undefined - || h->root.type == bfd_link_hash_undefweak) - { - ldsym->l_value = 0; - ldsym->l_scnum = N_UNDEF; - ldsym->l_smtype = XTY_ER; - impbfd = h->root.u.undef.abfd; - } - else if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - asection *sec; - - sec = h->root.u.def.section; - ldsym->l_value = (sec->output_section->vma - + sec->output_offset - + h->root.u.def.value); - ldsym->l_scnum = sec->output_section->target_index; - ldsym->l_smtype = XTY_SD; - impbfd = sec->owner; - } - else - abort (); + asection *sec; + + sec = h->root.u.def.section; + ldsym->l_value = (sec->output_section->vma + + sec->output_offset + + h->root.u.def.value); + ldsym->l_scnum = sec->output_section->target_index; + ldsym->l_smtype = XTY_SD; + impbfd = sec->owner; - if (((h->flags & XCOFF_DEF_REGULAR) == 0 - && (h->flags & XCOFF_DEF_DYNAMIC) != 0) - || (h->flags & XCOFF_IMPORT) != 0) - ldsym->l_smtype |= L_IMPORT; - if (((h->flags & XCOFF_DEF_REGULAR) != 0 - && (h->flags & XCOFF_DEF_DYNAMIC) != 0) - || (h->flags & XCOFF_EXPORT) != 0) - ldsym->l_smtype |= L_EXPORT; - if ((h->flags & XCOFF_ENTRY) != 0) - ldsym->l_smtype |= L_ENTRY; + } else { + abort (); + } - ldsym->l_smclas = h->smclas; + if (((h->flags & XCOFF_DEF_REGULAR) == 0 && + (h->flags & XCOFF_DEF_DYNAMIC) != 0) || + (h->flags & XCOFF_IMPORT) != 0) { + ldsym->l_smtype |= L_IMPORT; + } - if (ldsym->l_ifile == (bfd_size_type) -1) - ldsym->l_ifile = 0; - else if (ldsym->l_ifile == 0) - { - if ((ldsym->l_smtype & L_IMPORT) == 0) - ldsym->l_ifile = 0; - else if (impbfd == NULL) - ldsym->l_ifile = 0; - else - { - BFD_ASSERT (impbfd->xvec == output_bfd->xvec); - ldsym->l_ifile = xcoff_data (impbfd)->import_file_id; - } - } + if (((h->flags & XCOFF_DEF_REGULAR) != 0 && + (h->flags & XCOFF_DEF_DYNAMIC) != 0) || + (h->flags & XCOFF_EXPORT) != 0) { + ldsym->l_smtype |= L_EXPORT; + } - ldsym->l_parm = 0; + if ((h->flags & XCOFF_ENTRY) != 0) { + ldsym->l_smtype |= L_ENTRY; + } - BFD_ASSERT (h->ldindx >= 0); - BFD_ASSERT (LDSYMSZ == sizeof (struct external_ldsym)); - xcoff_swap_ldsym_out (output_bfd, ldsym, finfo->ldsym + h->ldindx - 3); - h->ldsym = NULL; + if ((h->flags & XCOFF_RTINIT) != 0) { + ldsym->l_smtype = XTY_SD; } + ldsym->l_smclas = h->smclas; + + if (ldsym->l_ifile == (bfd_size_type) -1) { + ldsym->l_ifile = 0; + + } else if (ldsym->l_ifile == 0) { + if ((ldsym->l_smtype & L_IMPORT) == 0) { + ldsym->l_ifile = 0; + } else if (impbfd == NULL) { + ldsym->l_ifile = 0; + } else { + BFD_ASSERT (impbfd->xvec == output_bfd->xvec); + ldsym->l_ifile = xcoff_data (impbfd)->import_file_id; + } + } + + ldsym->l_parm = 0; + + BFD_ASSERT (h->ldindx >= 0); + + bfd_xcoff_swap_ldsym_out (output_bfd, ldsym, finfo->ldsym + + (h->ldindx - 3) * + bfd_xcoff_ldsymsz(finfo->output_bfd)); + h->ldsym = NULL; + } + /* If this symbol needs global linkage code, write it out. */ - if (h->root.type == bfd_link_hash_defined - && (h->root.u.def.section - == xcoff_hash_table (finfo->info)->linkage_section)) - { - bfd_byte *p; - bfd_vma tocoff; - unsigned int i; + if (h->root.type == bfd_link_hash_defined && + (h->root.u.def.section == + xcoff_hash_table (finfo->info)->linkage_section)) { - p = h->root.u.def.section->contents + h->root.u.def.value; + bfd_byte *p; + bfd_vma tocoff; + unsigned int i; + + p = h->root.u.def.section->contents + h->root.u.def.value; - /* The first instruction in the global linkage code loads a - specific TOC element. */ - tocoff = (h->descriptor->toc_section->output_section->vma - + h->descriptor->toc_section->output_offset - - xcoff_data (output_bfd)->toc); - if ((h->descriptor->flags & XCOFF_SET_TOC) != 0) - tocoff += h->descriptor->u.toc_offset; - bfd_put_32 (output_bfd, XCOFF_GLINK_FIRST | (tocoff & 0xffff), p); - for (i = 0, p += 4; - i < sizeof xcoff_glink_code / sizeof xcoff_glink_code[0]; - i++, p += 4) - bfd_put_32 (output_bfd, xcoff_glink_code[i], p); + /* The first instruction in the global linkage code loads a + specific TOC element. */ + tocoff = (h->descriptor->toc_section->output_section->vma + + h->descriptor->toc_section->output_offset + - xcoff_data (output_bfd)->toc); + + if ((h->descriptor->flags & XCOFF_SET_TOC) != 0) { + tocoff += h->descriptor->u.toc_offset; + } + + + /* + * The first instruction in the glink code needs to be cooked to + * to hold the correct offset in the toc. The rest are just outputted + * raw. + */ + bfd_put_32 (output_bfd, + bfd_xcoff_glink_code(output_bfd, 0) | (tocoff & 0xffff), p); + + /* + * Start with i == 1 to get past the first instruction done above + * The /4 is because the glink code is in bytes and we are going 4 + * at a pop + */ + for (i = 1; i < bfd_xcoff_glink_code_size(output_bfd) / 4; i++) { + bfd_put_32 (output_bfd, bfd_xcoff_glink_code(output_bfd, i), + &p[4 * i]); } + } /* If we created a TOC entry for this symbol, write out the required relocs. */ @@ -5741,69 +5437,82 @@ xcoff_write_global_symbol (h, p) irel->r_vaddr = (osec->vma + tocsec->output_offset + h->u.toc_offset); - if (h->indx >= 0) + + + if (h->indx >= 0) { irel->r_symndx = h->indx; - else - { - h->indx = -2; - irel->r_symndx = obj_raw_syment_count (output_bfd); - } + } else { + h->indx = -2; + irel->r_symndx = obj_raw_syment_count (output_bfd); + } + + BFD_ASSERT (h->ldindx >= 0); + + /* + * Initialize the aux union here instead of closer to when it is + * written out below because the length of the csect depends on + * whether the output is 32 or 64 bit + */ + memset (&iraux, 0, sizeof iraux); + iraux.x_csect.x_smtyp = XTY_SD; + /* iraux.x_csect.x_scnlen.l = 4 or 8, see below */ + iraux.x_csect.x_smclas = XMC_TC; + + + /* + * 32 bit uses a 32 bit R_POS to do the relocations + * 64 bit uses a 64 bit R_POS to do the relocations + * + * Also needs to change the csect size : 4 for 32 bit, 8 for 64 bit + * + * Which one is determined by the backend + */ + if (bfd_xcoff_is_xcoff64(output_bfd)) { + irel->r_size = 63; + iraux.x_csect.x_scnlen.l = 8; + } else if (bfd_xcoff_is_xcoff32(output_bfd)) { + irel->r_size = 31; + iraux.x_csect.x_scnlen.l = 4; + } else { + return false; + } irel->r_type = R_POS; - irel->r_size = 31; finfo->section_info[oindx].rel_hashes[osec->reloc_count] = NULL; ++osec->reloc_count; - BFD_ASSERT (h->ldindx >= 0); ldrel.l_vaddr = irel->r_vaddr; ldrel.l_symndx = h->ldindx; - ldrel.l_rtype = (31 << 8) | R_POS; + ldrel.l_rtype = (irel->r_size << 8) | R_POS; ldrel.l_rsecnm = oindx; - xcoff_swap_ldrel_out (output_bfd, &ldrel, finfo->ldrel); - ++finfo->ldrel; + bfd_xcoff_swap_ldrel_out (output_bfd, &ldrel, finfo->ldrel); + finfo->ldrel += bfd_xcoff_ldrelsz(output_bfd); - /* We need to emit a symbol to define a csect which holds the - reloc. */ - if (finfo->info->strip != strip_all) - { - if (strlen (h->root.root.string) <= SYMNMLEN) - strncpy (irsym._n._n_name, h->root.root.string, SYMNMLEN); - else - { - boolean hash; - bfd_size_type indx; + /* We need to emit a symbol to define a csect which holds the reloc. */ + if (finfo->info->strip != strip_all) { - hash = true; - if ((output_bfd->flags & BFD_TRADITIONAL_FORMAT) != 0) - hash = false; - indx = _bfd_stringtab_add (finfo->strtab, h->root.root.string, - hash, false); - if (indx == (bfd_size_type) -1) - return false; - irsym._n._n_n._n_zeroes = 0; - irsym._n._n_n._n_offset = STRING_SIZE_SIZE + indx; - } - - irsym.n_value = irel->r_vaddr; - irsym.n_scnum = osec->target_index; - irsym.n_sclass = C_HIDEXT; - irsym.n_type = T_NULL; - irsym.n_numaux = 1; - - bfd_coff_swap_sym_out (output_bfd, (PTR) &irsym, (PTR) outsym); - outsym += bfd_coff_symesz (output_bfd); - - memset (&iraux, 0, sizeof iraux); - iraux.x_csect.x_smtyp = XTY_SD; - iraux.x_csect.x_scnlen.l = 4; - iraux.x_csect.x_smclas = XMC_TC; + result = bfd_xcoff_put_symbol_name (output_bfd, finfo->strtab, &irsym, + h->root.root.string); + if (false == result) { + return false; + } - bfd_coff_swap_aux_out (output_bfd, (PTR) &iraux, T_NULL, C_HIDEXT, - 0, 1, (PTR) outsym); - outsym += bfd_coff_auxesz (output_bfd); + irsym.n_value = irel->r_vaddr; + irsym.n_scnum = osec->target_index; + irsym.n_sclass = C_HIDEXT; + irsym.n_type = T_NULL; + irsym.n_numaux = 1; + + bfd_coff_swap_sym_out (output_bfd, (PTR) &irsym, (PTR) outsym); + outsym += bfd_coff_symesz (output_bfd); + + /* note : iraux is initialized above */ + bfd_coff_swap_aux_out (output_bfd, (PTR) &iraux, T_NULL, C_HIDEXT, + 0, 1, (PTR) outsym); + outsym += bfd_coff_auxesz (output_bfd); - if (h->indx >= 0) - { - /* We aren't going to write out the symbols below, so we + if (h->indx >= 0) + { + /* We aren't going to write out the symbols below, so we need to write them out now. */ if (bfd_seek (output_bfd, (obj_sym_filepos (output_bfd) @@ -5822,10 +5531,18 @@ xcoff_write_global_symbol (h, p) } } - /* If this symbol is a specially defined function descriptor, write - it out. The first word is the address of the function code - itself, the second word is the address of the TOC, and the third - word is zero. */ + /* + * If this symbol is a specially defined function descriptor, write + * it out. The first word is the address of the function code + * itself, the second word is the address of the TOC, and the third + * word is zero. + * + * 32 bit vs 64 bit + * The addresses for the 32 bit will take 4 bytes and the addresses + * for 64 bit will take 8 bytes. Similar for the relocs. This type + * of logic was also done above to create a TOC entry in + * xcoff_write_global_symbol + */ if ((h->flags & XCOFF_DESCRIPTOR) != 0 && h->root.type == bfd_link_hash_defined && (h->root.u.def.section @@ -5840,6 +5557,17 @@ xcoff_write_global_symbol (h, p) struct internal_reloc *irel; struct internal_ldrel ldrel; asection *tsec; + unsigned int reloc_size, byte_size; + + if (bfd_xcoff_is_xcoff64(output_bfd)) { + reloc_size = 63; + byte_size = 8; + } else if (bfd_xcoff_is_xcoff32(output_bfd)) { + reloc_size = 31; + byte_size = 4; + } else { + return false; + } sec = h->root.u.def.section; osec = sec->output_section; @@ -5851,11 +5579,6 @@ xcoff_write_global_symbol (h, p) && (hentry->root.type == bfd_link_hash_defined || hentry->root.type == bfd_link_hash_defweak)); esec = hentry->root.u.def.section; - bfd_put_32 (output_bfd, - (esec->output_section->vma - + esec->output_offset - + hentry->root.u.def.value), - p); irel = finfo->section_info[oindx].relocs + osec->reloc_count; irel->r_vaddr = (osec->vma @@ -5863,7 +5586,7 @@ xcoff_write_global_symbol (h, p) + h->root.u.def.value); irel->r_symndx = esec->output_section->target_index; irel->r_type = R_POS; - irel->r_size = 31; + irel->r_size = reloc_size; finfo->section_info[oindx].rel_hashes[osec->reloc_count] = NULL; ++osec->reloc_count; @@ -5883,13 +5606,38 @@ xcoff_write_global_symbol (h, p) bfd_set_error (bfd_error_nonrepresentable_section); return false; } - ldrel.l_rtype = (31 << 8) | R_POS; + ldrel.l_rtype = (reloc_size << 8) | R_POS; ldrel.l_rsecnm = oindx; - xcoff_swap_ldrel_out (output_bfd, &ldrel, finfo->ldrel); - ++finfo->ldrel; - - bfd_put_32 (output_bfd, xcoff_data (output_bfd)->toc, p + 4); + bfd_xcoff_swap_ldrel_out (output_bfd, &ldrel, finfo->ldrel); + finfo->ldrel += bfd_xcoff_ldrelsz(output_bfd); + /* + * There are three items to write out, + * the address of the code + * the address of the toc anchor + * the environment pointer. + * We are ignoring the environment pointer. So set it to zero + */ + if (bfd_xcoff_is_xcoff64(output_bfd)) { + bfd_put_64 (output_bfd, (esec->output_section->vma + + esec->output_offset + + hentry->root.u.def.value), p); + bfd_put_64 (output_bfd, xcoff_data (output_bfd)->toc, p + 8); + bfd_put_64 (output_bfd, 0, p + 16); + } else { + /* + * 32 bit backend + * + * This logic was already called above so the error case where + * the backend is neither has already been checked + */ + bfd_put_32 (output_bfd, (esec->output_section->vma + + esec->output_offset + + hentry->root.u.def.value), p); + bfd_put_32 (output_bfd, xcoff_data (output_bfd)->toc, p + 4); + bfd_put_32 (output_bfd, 0, p + 8); + } + tsec = coff_section_from_bfd_index (output_bfd, xcoff_data (output_bfd)->sntoc); @@ -5897,10 +5645,10 @@ xcoff_write_global_symbol (h, p) irel->r_vaddr = (osec->vma + sec->output_offset + h->root.u.def.value - + 4); + + byte_size); irel->r_symndx = tsec->output_section->target_index; irel->r_type = R_POS; - irel->r_size = 31; + irel->r_size = reloc_size; finfo->section_info[oindx].rel_hashes[osec->reloc_count] = NULL; ++osec->reloc_count; @@ -5920,10 +5668,10 @@ xcoff_write_global_symbol (h, p) bfd_set_error (bfd_error_nonrepresentable_section); return false; } - ldrel.l_rtype = (31 << 8) | R_POS; + ldrel.l_rtype = (reloc_size << 8) | R_POS; ldrel.l_rsecnm = oindx; - xcoff_swap_ldrel_out (output_bfd, &ldrel, finfo->ldrel); - ++finfo->ldrel; + bfd_xcoff_swap_ldrel_out (output_bfd, &ldrel, finfo->ldrel); + finfo->ldrel += bfd_xcoff_ldrelsz(output_bfd); } if (h->indx >= 0 || finfo->info->strip == strip_all) @@ -5954,23 +5702,11 @@ xcoff_write_global_symbol (h, p) h->indx = obj_raw_syment_count (output_bfd); - if (strlen (h->root.root.string) <= SYMNMLEN) - strncpy (isym._n._n_name, h->root.root.string, SYMNMLEN); - else - { - boolean hash; - bfd_size_type indx; - - hash = true; - if ((output_bfd->flags & BFD_TRADITIONAL_FORMAT) != 0) - hash = false; - indx = _bfd_stringtab_add (finfo->strtab, h->root.root.string, hash, - false); - if (indx == (bfd_size_type) -1) - return false; - isym._n._n_n._n_zeroes = 0; - isym._n._n_n._n_offset = STRING_SIZE_SIZE + indx; - } + result = bfd_xcoff_put_symbol_name (output_bfd, finfo->strtab, &isym, + h->root.root.string); + if (false == result) { + return false; + } if (h->root.type == bfd_link_hash_undefined || h->root.type == bfd_link_hash_undefweak) @@ -6035,7 +5771,6 @@ xcoff_write_global_symbol (h, p) outsym += bfd_coff_symesz (output_bfd); aux.x_csect.x_smclas = h->smclas; - bfd_coff_swap_aux_out (output_bfd, (PTR) &aux, T_NULL, isym.n_sclass, 0, 1, (PTR) outsym); outsym += bfd_coff_auxesz (output_bfd); @@ -6054,7 +5789,6 @@ xcoff_write_global_symbol (h, p) aux.x_csect.x_smtyp = XTY_LD; aux.x_csect.x_scnlen.l = obj_raw_syment_count (output_bfd); - bfd_coff_swap_aux_out (output_bfd, (PTR) &aux, T_NULL, C_EXT, 0, 1, (PTR) outsym); outsym += bfd_coff_auxesz (output_bfd); @@ -6253,8 +5987,8 @@ xcoff_reloc_link_order (output_bfd, finf ldrel.l_rtype = (irel->r_size << 8) | irel->r_type; ldrel.l_rsecnm = output_section->target_index; - xcoff_swap_ldrel_out (output_bfd, &ldrel, finfo->ldrel); - ++finfo->ldrel; + bfd_xcoff_swap_ldrel_out (output_bfd, &ldrel, finfo->ldrel); + finfo->ldrel += bfd_xcoff_ldrelsz(output_bfd); return true; } @@ -6277,355 +6011,6 @@ xcoff_sort_relocs (p1, p2) return 0; } -/* This is the relocation function for the RS/6000/POWER/PowerPC. - This is currently the only processor which uses XCOFF; I hope that - will never change. */ -boolean -_bfd_ppc_xcoff_relocate_section (output_bfd, info, input_bfd, - input_section, contents, relocs, syms, - sections) - bfd *output_bfd; - struct bfd_link_info *info; - bfd *input_bfd; - asection *input_section; - bfd_byte *contents; - struct internal_reloc *relocs; - struct internal_syment *syms; - asection **sections; -{ - struct internal_reloc *rel; - struct internal_reloc *relend; - rel = relocs; - relend = rel + input_section->reloc_count; - for (; rel < relend; rel++) - { - long symndx; - struct xcoff_link_hash_entry *h; - struct internal_syment *sym; - bfd_vma addend; - bfd_vma val; - struct reloc_howto_struct howto; - bfd_reloc_status_type rstat; - - /* Relocation type R_REF is a special relocation type which is - merely used to prevent garbage collection from occurring for - the csect including the symbol which it references. */ - if (rel->r_type == R_REF) - continue; - symndx = rel->r_symndx; - - if (symndx == -1) - { - h = NULL; - sym = NULL; - addend = 0; - } - else - { - h = obj_xcoff_sym_hashes (input_bfd)[symndx]; - sym = syms + symndx; - addend = - sym->n_value; - } - - /* We build the howto information on the fly. */ - - howto.type = rel->r_type; - howto.rightshift = 0; - howto.size = 2; - howto.bitsize = (rel->r_size & 0x1f) + 1; - howto.pc_relative = false; - howto.bitpos = 0; - if ((rel->r_size & 0x80) != 0) - howto.complain_on_overflow = complain_overflow_signed; - else - howto.complain_on_overflow = complain_overflow_bitfield; - howto.special_function = NULL; - howto.name = "internal"; - howto.partial_inplace = true; - if (howto.bitsize == 32) - howto.src_mask = howto.dst_mask = 0xffffffff; - else - { - howto.src_mask = howto.dst_mask = (1 << howto.bitsize) - 1; - if (howto.bitsize == 16) - howto.size = 1; - } - howto.pcrel_offset = false; - - val = 0; - - if (h == NULL) - { - asection *sec; - - if (symndx == -1) - { - sec = bfd_abs_section_ptr; - val = 0; - } - else - { - sec = sections[symndx]; - /* Hack to make sure we use the right TOC anchor value - if this reloc is against the TOC anchor. */ - if (sec->name[3] == '0' - && strcmp (sec->name, ".tc0") == 0) - val = xcoff_data (output_bfd)->toc; - else - val = (sec->output_section->vma - + sec->output_offset - + sym->n_value - - sec->vma); - } - } - else - { - if (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - { - asection *sec; - - sec = h->root.u.def.section; - val = (h->root.u.def.value - + sec->output_section->vma - + sec->output_offset); - } - else if (h->root.type == bfd_link_hash_common) - { - asection *sec; - - sec = h->root.u.c.p->section; - val = (sec->output_section->vma - + sec->output_offset); - } - else if ((h->flags & XCOFF_DEF_DYNAMIC) != 0 - || (h->flags & XCOFF_IMPORT) != 0) - { - /* Every symbol in a shared object is defined somewhere. */ - val = 0; - } - else if (! info->relocateable) - { - if (! ((*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, input_section, - rel->r_vaddr - input_section->vma, true))) - return false; - - /* Don't try to process the reloc. It can't help, and - it may generate another error. */ - continue; - } - } - - /* I took the relocation type definitions from two documents: - the PowerPC AIX Version 4 Application Binary Interface, First - Edition (April 1992), and the PowerOpen ABI, Big-Endian - 32-Bit Hardware Implementation (June 30, 1994). Differences - between the documents are noted below. */ - - switch (rel->r_type) - { - case R_RTB: - case R_RRTBI: - case R_RRTBA: - /* These relocs are defined by the PowerPC ABI to be - relative branches which use half of the difference - between the symbol and the program counter. I can't - quite figure out when this is useful. These relocs are - not defined by the PowerOpen ABI. */ - default: - (*_bfd_error_handler) - (_("%s: unsupported relocation type 0x%02x"), - bfd_get_filename (input_bfd), (unsigned int) rel->r_type); - bfd_set_error (bfd_error_bad_value); - return false; - case R_POS: - /* Simple positive relocation. */ - break; - case R_NEG: - /* Simple negative relocation. */ - val = - val; - break; - case R_REL: - /* Simple PC relative relocation. */ - howto.pc_relative = true; - break; - case R_TOC: - /* TOC relative relocation. The value in the instruction in - the input file is the offset from the input file TOC to - the desired location. We want the offset from the final - TOC to the desired location. We have: - isym = iTOC + in - iinsn = in + o - osym = oTOC + on - oinsn = on + o - so we must change insn by on - in. - */ - case R_GL: - /* Global linkage relocation. The value of this relocation - is the address of the entry in the TOC section. */ - case R_TCL: - /* Local object TOC address. I can't figure out the - difference between this and case R_GL. */ - case R_TRL: - /* TOC relative relocation. A TOC relative load instruction - which may be changed to a load address instruction. - FIXME: We don't currently implement this optimization. */ - case R_TRLA: - /* TOC relative relocation. This is a TOC relative load - address instruction which may be changed to a load - instruction. FIXME: I don't know if this is the correct - implementation. */ - if (h != NULL && h->smclas != XMC_TD) - { - if (h->toc_section == NULL) - { - (*_bfd_error_handler) - (_("%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry"), - bfd_get_filename (input_bfd), rel->r_vaddr, - h->root.root.string); - bfd_set_error (bfd_error_bad_value); - return false; - } - - BFD_ASSERT ((h->flags & XCOFF_SET_TOC) == 0); - val = (h->toc_section->output_section->vma - + h->toc_section->output_offset); - } - - val = ((val - xcoff_data (output_bfd)->toc) - - (sym->n_value - xcoff_data (input_bfd)->toc)); - addend = 0; - break; - case R_BA: - /* Absolute branch. We don't want to mess with the lower - two bits of the instruction. */ - case R_CAI: - /* The PowerPC ABI defines this as an absolute call which - may be modified to become a relative call. The PowerOpen - ABI does not define this relocation type. */ - case R_RBA: - /* Absolute branch which may be modified to become a - relative branch. */ - case R_RBAC: - /* The PowerPC ABI defines this as an absolute branch to a - fixed address which may be modified to an absolute branch - to a symbol. The PowerOpen ABI does not define this - relocation type. */ - case R_RBRC: - /* The PowerPC ABI defines this as an absolute branch to a - fixed address which may be modified to a relative branch. - The PowerOpen ABI does not define this relocation type. */ - howto.src_mask &= ~3; - howto.dst_mask = howto.src_mask; - break; - case R_BR: - /* Relative branch. We don't want to mess with the lower - two bits of the instruction. */ - case R_CREL: - /* The PowerPC ABI defines this as a relative call which may - be modified to become an absolute call. The PowerOpen - ABI does not define this relocation type. */ - case R_RBR: - /* A relative branch which may be modified to become an - absolute branch. FIXME: We don't implement this, - although we should for symbols of storage mapping class - XMC_XO. */ - howto.pc_relative = true; - howto.src_mask &= ~3; - howto.dst_mask = howto.src_mask; - break; - case R_RL: - /* The PowerPC AIX ABI describes this as a load which may be - changed to a load address. The PowerOpen ABI says this - is the same as case R_POS. */ - break; - case R_RLA: - /* The PowerPC AIX ABI describes this as a load address - which may be changed to a load. The PowerOpen ABI says - this is the same as R_POS. */ - break; - } - - /* If we see an R_BR or R_RBR reloc which is jumping to global - linkage code, and it is followed by an appropriate cror nop - instruction, we replace the cror with lwz r2,20(r1). This - restores the TOC after the glink code. Contrariwise, if the - call is followed by a lwz r2,20(r1), but the call is not - going to global linkage code, we can replace the load with a - cror. */ - if ((rel->r_type == R_BR || rel->r_type == R_RBR) - && h != NULL - && h->root.type == bfd_link_hash_defined - && (rel->r_vaddr - input_section->vma + 8 - <= input_section->_cooked_size)) - { - bfd_byte *pnext; - unsigned long next; - - pnext = contents + (rel->r_vaddr - input_section->vma) + 4; - next = bfd_get_32 (input_bfd, pnext); - - /* The _ptrgl function is magic. It is used by the AIX - compiler to call a function through a pointer. */ - if (h->smclas == XMC_GL - || strcmp (h->root.root.string, "._ptrgl") == 0) - { - if (next == 0x4def7b82 /* cror 15,15,15 */ - || next == 0x4ffffb82 /* cror 31,31,31 */ - || next == 0x60000000) /* ori r0,r0,0 */ - bfd_put_32 (input_bfd, 0x80410014, pnext); /* lwz r1,20(r1) */ - } - else - { - if (next == 0x80410014) /* lwz r1,20(r1) */ - bfd_put_32 (input_bfd, 0x60000000, pnext); /* ori r0,r0,0 */ - } - } - - /* A PC relative reloc includes the section address. */ - if (howto.pc_relative) - addend += input_section->vma; - - rstat = _bfd_final_link_relocate (&howto, input_bfd, input_section, - contents, - rel->r_vaddr - input_section->vma, - val, addend); - - switch (rstat) - { - default: - abort (); - case bfd_reloc_ok: - break; - case bfd_reloc_overflow: - { - const char *name; - char buf[SYMNMLEN + 1]; - char howto_name[10]; - - if (symndx == -1) - name = "*ABS*"; - else if (h != NULL) - name = h->root.root.string; - else - { - name = _bfd_coff_internal_syment_name (input_bfd, sym, buf); - if (name == NULL) - return false; - } - sprintf (howto_name, "0x%02x", rel->r_type); - - if (! ((*info->callbacks->reloc_overflow) - (info, name, howto_name, (bfd_vma) 0, input_bfd, - input_section, rel->r_vaddr - input_section->vma))) - return false; - } - } - } - - return true; -} diff -uprN binutils-2.11.90.0.8/binutils/ChangeLog binutils-2.11.90.0.15/binutils/ChangeLog --- binutils-2.11.90.0.8/binutils/ChangeLog Sat May 12 00:04:24 2001 +++ binutils-2.11.90.0.15/binutils/ChangeLog Sat Jun 9 00:13:01 2001 @@ -1,3 +1,49 @@ +2001-06-09 Alan Modra + + * NEWS: Fix a typo. Mention hppa64-elf. Add binutils-2.11 marker. + +2001-06-01 Alan Modra + + * MAINTAINERS: Update my email address. + +2001-05-30 Honda Hiroki + + * objcopy.c: Add new switches: --keep-global-symbol, + --keep-symbols, --localize-symbols, --keep-global-symbols and + --weaken-symbols. + * binutils.texi: Document new switches. + * objcopy.1: Regenerate. + * NEWS: Announce new feature. + +2001-05-28 Andreas Jaeger + + * readelf.c (display_debug_frames): Fix warnings: Remove unused + variables, fix format strings. + +2001-05-28 Nick Clifton + + * objdump.c (disassemble_bytes): Remove section VMA adjustment + when computing the address of the line to show. + +2001-05-16 Richard Henderson + + * readelf.c (do_debug_frames_interp): New. + (byte_get_little_endian): If BFD64, always read entire 8-byte fields. + (byte_get_big_endian): Likewise. + (parse_args) ['F']: Set do_debug_frames_interp. + (Frame_Chunk): Make data_factor signed, add fde_encoding. + (frame_display_row): Don't trunc pc_begin to int. + (size_of_encoded_value): New. + (display_debug_frames): Handle 64-bit targets. Print raw data + unless do_debug_frames_interp. + (debug_displays): Remove duplicate .debug_frame. + +2001-05-15 Ralf Baechle + + * readelf.c: Replace uses of EM_MIPS_RS4_BE with EM_MIPS_RS3_LE. + The former constant was never in active use and is used otherwise + by the ABI. + 2001-05-11 Jakub Jelinek * readelf.c (process_unwind): Print all unwind sections, not just @@ -302,7 +348,7 @@ Mon Dec 11 14:30:21 MET 2000 Jan Hubick 2000-11-28 Hans-Peter Nilsson - * MAINTAINERS: Add Jvrn Rennecke and self as SH maintainers. + * MAINTAINERS: Add Jrn Rennecke and self as SH maintainers. Change sourceware.cygnus.com to sources.redhat.com. Fix typo for "amongst". diff -uprN binutils-2.11.90.0.8/binutils/ChangeLog-9197 binutils-2.11.90.0.15/binutils/ChangeLog-9197 --- binutils-2.11.90.0.8/binutils/ChangeLog-9197 Thu Mar 15 14:51:41 2001 +++ binutils-2.11.90.0.15/binutils/ChangeLog-9197 Fri Jun 1 20:46:19 2001 @@ -159,7 +159,7 @@ Wed Sep 24 11:34:05 1997 Ian Lance Tayl * binutils.texi (size): The object file argument is optional. From Marty Leisner . - * acloal.m4: Rebuild with new libtool. + * aclocal.m4: Rebuild with new libtool. * configure: Rebuild. Tue Aug 26 17:48:34 1997 Ian Lance Taylor diff -uprN binutils-2.11.90.0.8/binutils/MAINTAINERS binutils-2.11.90.0.15/binutils/MAINTAINERS --- binutils-2.11.90.0.8/binutils/MAINTAINERS Fri Apr 13 11:17:45 2001 +++ binutils-2.11.90.0.15/binutils/MAINTAINERS Fri Jun 1 20:46:19 2001 @@ -17,7 +17,7 @@ Ian Taylor Jeff Law Jim Wilson DJ Delorie -Alan Modra +Alan Modra Michael Meissner --------- Maintainers --------- @@ -36,10 +36,10 @@ other maintainers. ARM Nick Clifton AVR Denis Chertykov CRIS Hans-Peter Nilsson -HPPA elf32 Alan Modra +HPPA elf32 Alan Modra IA64 Jim Wilson i860 Jason Eckhardt -ix86 Alan Modra +ix86 Alan Modra ix86 COFF,PE DJ Delorie ix86 H.J.Lu ix86 INTEL MODE Diego Novillo diff -uprN binutils-2.11.90.0.8/binutils/NEWS binutils-2.11.90.0.15/binutils/NEWS --- binutils-2.11.90.0.8/binutils/NEWS Fri Apr 27 13:48:07 2001 +++ binutils-2.11.90.0.15/binutils/NEWS Sat Jun 9 00:13:01 2001 @@ -1,14 +1,20 @@ -*- text -*- +* New command line switches added to objcopy to allow symbols to be kept as + global symbols, and also to specify files containing lists of such symbols. + by Honda Hiroki. + * Support for OpenRISC by Johan Rydberg. * New command line switch to objcopy -B (or --binary-architecture) which sets - the archiceture of the output file to the given argument. This option only + the architecture of the output file to the given argument. This option only makes sense, if the input target is binary. Otherwise it is ignored. By Stefan Geuken. * Support for PDP-11 by Lars Brinkhoff. +Changes in binutils 2.11: + * Add support for ARM v5t and v5te architectures and Intel's XScale ARM extenstions. @@ -22,6 +28,8 @@ * Support for CRIS (Axis Communications ETRAX series). Changes in binutils 2.10: + +* Support for 64-bit ELF on HPPA. * New command line switch to objdump --file-start-context which shows the entire file contents up to the source line first encountered for a given diff -uprN binutils-2.11.90.0.8/binutils/addr2line.1 binutils-2.11.90.0.15/binutils/addr2line.1 --- binutils-2.11.90.0.8/binutils/addr2line.1 Tue Mar 27 08:46:30 2001 +++ binutils-2.11.90.0.15/binutils/addr2line.1 Sat Jun 9 00:19:00 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 Jun 9 00:19:00 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.13" "2001-06-09" "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.8/binutils/ar.1 binutils-2.11.90.0.15/binutils/ar.1 --- binutils-2.11.90.0.8/binutils/ar.1 Tue Mar 27 08:46:30 2001 +++ binutils-2.11.90.0.15/binutils/ar.1 Sat Jun 9 00:19:01 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 Jun 9 00:19:01 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.13" "2001-06-09" "GNU" +.UC .SH "NAME" ar \- create, modify, and extract from archives .SH "SYNOPSIS" +.IX Header "SYNOPSIS" ar [\-X32_64] [\-]\fIp\fR[\fImod\fR [\fIrelpos\fR] [\fIcount\fR]] \fIarchive\fR [\fImember\fR...] .SH "DESCRIPTION" -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.8/binutils/binutils.texi binutils-2.11.90.0.15/binutils/binutils.texi --- binutils-2.11.90.0.8/binutils/binutils.texi Tue Mar 27 08:55:04 2001 +++ binutils-2.11.90.0.15/binutils/binutils.texi Fri Jun 1 21:47:17 2001 @@ -923,6 +923,7 @@ objcopy [ -F @var{bfdname} | --target=@v [ -S | --strip-all ] [ -g | --strip-debug ] [ -K @var{symbolname} | --keep-symbol=@var{symbolname} ] [ -N @var{symbolname} | --strip-symbol=@var{symbolname} ] + [ -G @var{symbolname} | --keep-global-symbol=@var{symbolname}] [ -L @var{symbolname} | --localize-symbol=@var{symbolname} ] [ -W @var{symbolname} | --weaken-symbol=@var{symbolname} ] [ -x | --discard-all ] [ -X | --discard-locals ] @@ -943,6 +944,11 @@ objcopy [ -F @var{bfdname} | --target=@v [ --change-leading-char ] [ --remove-leading-char ] [ --srec-len=@var{ival} ] [ --srec-forceS3 ] [ --redefine-sym @var{old}=@var{new} ] [ --weaken ] + [ --keep-symbols=@var{filename} ] + [ --strip-symbols=@var{filename} ] + [ --keep-global-symbols=@var{filename} ] + [ --localize-symbols=@var{filename} ] + [ --weaken-symbols=@var{filename} ] [ -v | --verbose ] [ -V | --version ] [ --help ] @var{infile} [@var{outfile}] @c man end @@ -1056,6 +1062,12 @@ be given more than once. Do not copy symbol @var{symbolname} from the source file. This option may be given more than once. +@item -G @var{symbolname} +@itemx --keep-global-symbol=@var{symbolname} +Keep only symbol @var{symbolname} global. Make all other symbols local +to the file, so that they are not visible externally. This option may +be given more than once. + @item -L @var{symbolname} @itemx --localize-symbol=@var{symbolname} Make symbol @var{symbolname} local to the file, so that it is not @@ -1238,6 +1250,36 @@ Change all global symbols in the file to when building an object which will be linked against other objects using the @code{-R} option to the linker. This option is only effective when using an object file format which supports weak symbols. + +@item --keep-symbols=@var{filename} +Apply @samp{--keep-symbol} option to each symbol listed in the file +@var{filename}. @var{filename} is simply a flat file, with one symbol +name per line. Line comments may be introduced by the hash character. +This option may be given more than once. + +@item --strip-symbols=@var{filename} +Apply @samp{--strip-symbol} option to each symbol listed in the file +@var{filename}. @var{filename} is simply a flat file, with one symbol +name per line. Line comments may be introduced by the hash character. +This option may be given more than once. + +@item --keep-global-symbols=@var{filename} +Apply @samp{--keep-global-symbol} option to each symbol listed in the +file @var{filename}. @var{filename} is simply a flat file, with one +symbol name per line. Line comments may be introduced by the hash +character. This option may be given more than once. + +@item --localize-symbols=@var{filename} +Apply @samp{--localize-symbol} option to each symbol listed in the file +@var{filename}. @var{filename} is simply a flat file, with one symbol +name per line. Line comments may be introduced by the hash character. +This option may be given more than once. + +@item --weaken-symbols=@var{filename} +Apply @samp{--weaken-symbol} option to each symbol listed in the file +@var{filename}. @var{filename} is simply a flat file, with one symbol +name per line. Line comments may be introduced by the hash character. +This option may be given more than once. @item -V @itemx --version diff -uprN binutils-2.11.90.0.8/binutils/configure binutils-2.11.90.0.15/binutils/configure --- binutils-2.11.90.0.8/binutils/configure Tue Feb 27 10:48:47 2001 +++ binutils-2.11.90.0.15/binutils/configure Mon May 21 11:39:50 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 - alpha* | i*86 | powerpc* | sparc* | ia64* ) + case $host_cpu in + alpha* | hppa* | 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' @@ -1578,14 +1595,18 @@ solaris*) lt_cv_file_magic_test_file=/lib/libc.so ;; +sysv5uw[78]* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + 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 +1619,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:1623: 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:1629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -1624,7 +1645,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:1649: 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 +1655,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:1659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -1663,15 +1684,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:1692: 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 +1708,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 +1750,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:1754: 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 +1770,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 +1821,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:1825: 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 +1853,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:1857: 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 +1888,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:1892: 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 +1920,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:1924: 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 +1958,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 +1984,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 1991 "configure"' > conftest.$ac_ext + if { (eval echo configure:1992: \"$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 +2009,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:2013: 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 +2022,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:2033: \"$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 +2139,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtoo # clobbered by the next message. exec 5>>./config.log - @@ -2182,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:2186: 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 @@ -2212,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:2216: 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 @@ -2263,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:2267: 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 @@ -2295,7 +2315,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:2299: 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. @@ -2306,12 +2326,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 2310 "configure" +#line 2330 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:2315: \"$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 @@ -2337,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:2341: 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:2346: 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 @@ -2351,7 +2371,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2355: \"$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 @@ -2370,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:2374: 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 @@ -2407,7 +2427,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:2411: checking for $ac_word" >&5 +echo "configure:2431: 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 @@ -2438,7 +2458,7 @@ done test -n "$YACC" || YACC="yacc" echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:2442: checking how to run the C preprocessor" >&5 +echo "configure:2462: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -2453,13 +2473,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:2463: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2483: \"$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 : @@ -2470,13 +2490,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:2480: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2500: \"$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 : @@ -2487,13 +2507,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:2497: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2517: \"$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 : @@ -2523,7 +2543,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:2527: checking for $ac_word" >&5 +echo "configure:2547: 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 @@ -2556,7 +2576,7 @@ test -n "$LEX" || LEX="$missing_dir/miss # 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:2560: checking for $ac_word" >&5 +echo "configure:2580: 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 @@ -2590,7 +2610,7 @@ then *) ac_lib=l ;; esac echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 -echo "configure:2594: checking for yywrap in -l$ac_lib" >&5 +echo "configure:2614: 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 @@ -2598,7 +2618,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:2633: \"$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 @@ -2632,7 +2652,7 @@ fi fi echo $ac_n "checking lex output file root""... $ac_c" 1>&6 -echo "configure:2636: checking lex output file root" >&5 +echo "configure:2656: 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 @@ -2653,7 +2673,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:2657: checking whether yytext is a pointer" >&5 +echo "configure:2677: 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 @@ -2665,14 +2685,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:2696: \"$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 @@ -2698,7 +2718,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:2702: checking for $ac_word" >&5 +echo "configure:2722: 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 @@ -2726,12 +2746,12 @@ else fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2730: checking for ANSI C header files" >&5 +echo "configure:2750: 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 @@ -2739,7 +2759,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2743: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2763: \"$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* @@ -2756,7 +2776,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 @@ -2774,7 +2794,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 @@ -2795,7 +2815,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2806,7 +2826,7 @@ if (XOR (islower (i), ISLOWER (i)) || to exit (0); } EOF -if { (eval echo configure:2810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2830: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2830,12 +2850,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2834: checking for working const" >&5 +echo "configure:2854: 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:2908: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2905,21 +2925,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2909: checking for inline" >&5 +echo "configure:2929: 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:2943: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2945,12 +2965,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2949: checking for off_t" >&5 +echo "configure:2969: 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 @@ -2978,12 +2998,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2982: checking for size_t" >&5 +echo "configure:3002: 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 @@ -3013,19 +3033,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:3017: checking for working alloca.h" >&5 +echo "configure:3037: 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:3029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3049: \"$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 @@ -3046,12 +3066,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:3050: checking for alloca" >&5 +echo "configure:3070: 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:3103: \"$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 @@ -3111,12 +3131,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:3115: checking whether alloca needs Cray hooks" >&5 +echo "configure:3135: 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:3145: checking for $ac_func" >&5 +echo "configure:3165: 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:3193: \"$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 +3216,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:3200: checking stack direction for C alloca" >&5 +echo "configure:3220: 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 @@ -3204,7 +3224,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:3247: \"$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 @@ -3248,17 +3268,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:3252: checking for $ac_hdr" >&5 +echo "configure:3272: 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:3262: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3282: \"$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* @@ -3287,12 +3307,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3291: checking for $ac_func" >&5 +echo "configure:3311: 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:3339: \"$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 @@ -3340,7 +3360,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:3344: checking for working mmap" >&5 +echo "configure:3364: 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 @@ -3348,7 +3368,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:3512: \"$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 @@ -3516,17 +3536,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:3520: checking for $ac_hdr" >&5 +echo "configure:3540: 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:3530: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3550: \"$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* @@ -3556,12 +3576,12 @@ done __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3560: checking for $ac_func" >&5 +echo "configure:3580: 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:3608: \"$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 @@ -3613,12 +3633,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3617: checking for $ac_func" >&5 +echo "configure:3637: 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:3665: \"$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 @@ -3675,19 +3695,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3679: checking for LC_MESSAGES" >&5 +echo "configure:3699: 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:3691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3711: \"$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 @@ -3708,7 +3728,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3712: checking whether NLS is requested" >&5 +echo "configure:3732: 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" @@ -3728,7 +3748,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3732: checking whether included gettext is requested" >&5 +echo "configure:3752: 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" @@ -3747,17 +3767,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3751: checking for libintl.h" >&5 +echo "configure:3771: 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:3761: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3781: \"$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* @@ -3774,19 +3794,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:3778: checking for gettext in libc" >&5 +echo "configure:3798: 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:3790: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3810: \"$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 @@ -3802,7 +3822,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:3806: checking for bindtextdomain in -lintl" >&5 +echo "configure:3826: 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 @@ -3810,7 +3830,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:3845: \"$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 @@ -3837,19 +3857,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:3841: checking for gettext in libintl" >&5 +echo "configure:3861: 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:3873: \"$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 @@ -3877,7 +3897,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:3881: checking for $ac_word" >&5 +echo "configure:3901: 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 @@ -3911,12 +3931,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3915: checking for $ac_func" >&5 +echo "configure:3935: 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:3963: \"$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 @@ -3966,7 +3986,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:3970: checking for $ac_word" >&5 +echo "configure:3990: 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 @@ -4002,7 +4022,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:4006: checking for $ac_word" >&5 +echo "configure:4026: 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 @@ -4034,7 +4054,7 @@ else fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -4074,7 +4094,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:4078: checking for $ac_word" >&5 +echo "configure:4098: 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 @@ -4108,7 +4128,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:4112: checking for $ac_word" >&5 +echo "configure:4132: 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 @@ -4144,7 +4164,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:4148: checking for $ac_word" >&5 +echo "configure:4168: 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 @@ -4234,7 +4254,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4238: checking for catalogs to be installed" >&5 +echo "configure:4258: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4262,17 +4282,17 @@ echo "configure:4238: 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:4266: checking for linux/version.h" >&5 +echo "configure:4286: 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:4276: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4296: \"$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* @@ -4335,7 +4355,7 @@ fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:4339: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:4359: 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" @@ -4360,7 +4380,7 @@ fi echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:4364: checking for executable suffix" >&5 +echo "configure:4384: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4370,7 +4390,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:4374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:4394: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -4413,7 +4433,7 @@ AR=${AR-ar} # 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:4417: checking for $ac_word" >&5 +echo "configure:4437: 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 @@ -4452,7 +4472,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:4456: checking for a BSD compatible install" >&5 +echo "configure:4476: 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 @@ -4519,7 +4539,7 @@ if test "x$cross_compiling" = "xno"; the EXEEXT_FOR_BUILD='$(EXEEXT)' else echo $ac_n "checking for build system executable suffix""... $ac_c" 1>&6 -echo "configure:4523: checking for build system executable suffix" >&5 +echo "configure:4543: checking for build system executable suffix" >&5 if eval "test \"`echo '$''{'bfd_cv_build_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4554,17 +4574,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:4558: checking for $ac_hdr" >&5 +echo "configure:4578: 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:4568: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4588: \"$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* @@ -4591,12 +4611,12 @@ fi done echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:4595: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:4615: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -4612,7 +4632,7 @@ wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:4616: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4636: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -4635,19 +4655,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:4639: checking for working alloca.h" >&5 +echo "configure:4659: 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:4651: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4671: \"$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 @@ -4668,12 +4688,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:4672: checking for alloca" >&5 +echo "configure:4692: 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:4725: \"$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 @@ -4733,12 +4753,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:4737: checking whether alloca needs Cray hooks" >&5 +echo "configure:4757: 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:4767: checking for $ac_func" >&5 +echo "configure:4787: 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:4815: \"$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 @@ -4818,7 +4838,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:4822: checking stack direction for C alloca" >&5 +echo "configure:4842: 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 @@ -4826,7 +4846,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:4869: \"$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 @@ -4869,12 +4889,12 @@ fi for ac_func in sbrk utimes setmode do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4873: checking for $ac_func" >&5 +echo "configure:4893: 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:4921: \"$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 @@ -4925,14 +4945,14 @@ done # Some systems have frexp only in -lm, not in -lc. echo $ac_n "checking for library containing frexp""... $ac_c" 1>&6 -echo "configure:4929: checking for library containing frexp" >&5 +echo "configure:4949: checking for library containing frexp" >&5 if eval "test \"`echo '$''{'ac_cv_search_frexp'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_frexp="no" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_frexp="none required" else @@ -4954,7 +4974,7 @@ rm -f conftest* test "$ac_cv_search_frexp" = "no" && for i in m; 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:4989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_frexp="-l$i" break @@ -4987,12 +5007,12 @@ else : fi echo $ac_n "checking whether weak symbol works""... $ac_c" 1>&6 -echo "configure:4991: checking whether weak symbol works" >&5 +echo "configure:5011: 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:5025: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libiberty_cv_have_weak_symbol=no else @@ -5025,14 +5045,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:5029: checking for library containing dlopen" >&5 +echo "configure:5049: 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:5067: \"$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 @@ -5054,7 +5074,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:5089: \"$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 @@ -5094,19 +5114,19 @@ EOF fi echo $ac_n "checking for time_t in time.h""... $ac_c" 1>&6 -echo "configure:5098: checking for time_t in time.h" >&5 +echo "configure:5118: checking for time_t in time.h" >&5 if eval "test \"`echo '$''{'bu_cv_decl_time_t_time_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { time_t i; ; return 0; } EOF -if { (eval echo configure:5110: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5130: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bu_cv_decl_time_t_time_h=yes else @@ -5127,19 +5147,19 @@ EOF fi echo $ac_n "checking for time_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:5131: checking for time_t in sys/types.h" >&5 +echo "configure:5151: checking for time_t in sys/types.h" >&5 if eval "test \"`echo '$''{'bu_cv_decl_time_t_types_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { time_t i; ; return 0; } EOF -if { (eval echo configure:5143: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5163: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bu_cv_decl_time_t_types_h=yes else @@ -5162,12 +5182,12 @@ fi # Under Next 3.2 apparently does not define struct utimbuf # by default. echo $ac_n "checking for utime.h""... $ac_c" 1>&6 -echo "configure:5166: checking for utime.h" >&5 +echo "configure:5186: checking for utime.h" >&5 if eval "test \"`echo '$''{'bu_cv_header_utime_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #ifdef HAVE_TIME_H @@ -5178,7 +5198,7 @@ int main() { struct utimbuf s; ; return 0; } EOF -if { (eval echo configure:5182: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5202: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bu_cv_header_utime_h=yes else @@ -5199,12 +5219,12 @@ EOF fi echo $ac_n "checking whether fprintf must be declared""... $ac_c" 1>&6 -echo "configure:5203: checking whether fprintf must be declared" >&5 +echo "configure:5223: checking whether fprintf must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_fprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -5225,7 +5245,7 @@ int main() { char *(*pfn) = (char *(*)) fprintf ; return 0; } EOF -if { (eval echo configure:5229: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5249: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_fprintf=no else @@ -5246,12 +5266,12 @@ EOF fi echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6 -echo "configure:5250: checking whether strstr must be declared" >&5 +echo "configure:5270: 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 < @@ -5272,7 +5292,7 @@ int main() { char *(*pfn) = (char *(*)) strstr ; return 0; } EOF -if { (eval echo configure:5276: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5296: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_strstr=no else @@ -5293,12 +5313,12 @@ EOF fi echo $ac_n "checking whether sbrk must be declared""... $ac_c" 1>&6 -echo "configure:5297: checking whether sbrk must be declared" >&5 +echo "configure:5317: 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 < @@ -5319,7 +5339,7 @@ int main() { char *(*pfn) = (char *(*)) sbrk ; return 0; } EOF -if { (eval echo configure:5323: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_sbrk=no else @@ -5340,12 +5360,12 @@ EOF fi echo $ac_n "checking whether getenv must be declared""... $ac_c" 1>&6 -echo "configure:5344: checking whether getenv must be declared" >&5 +echo "configure:5364: 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 < @@ -5366,7 +5386,7 @@ int main() { char *(*pfn) = (char *(*)) getenv ; return 0; } EOF -if { (eval echo configure:5370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5390: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_getenv=no else @@ -5387,12 +5407,12 @@ EOF fi echo $ac_n "checking whether environ must be declared""... $ac_c" 1>&6 -echo "configure:5391: checking whether environ must be declared" >&5 +echo "configure:5411: 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 < @@ -5413,7 +5433,7 @@ int main() { char *(*pfn) = (char *(*)) environ ; return 0; } EOF -if { (eval echo configure:5417: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5437: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_environ=no else diff -uprN binutils-2.11.90.0.8/binutils/cxxfilt.man binutils-2.11.90.0.15/binutils/cxxfilt.man --- binutils-2.11.90.0.8/binutils/cxxfilt.man Tue Mar 27 08:46:33 2001 +++ binutils-2.11.90.0.15/binutils/cxxfilt.man Sat Jun 9 00:19:06 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 Jun 9 00:19:06 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.13" "2001-06-09" "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.8/binutils/dlltool.1 binutils-2.11.90.0.15/binutils/dlltool.1 --- binutils-2.11.90.0.8/binutils/dlltool.1 Tue Mar 27 08:46:38 2001 +++ binutils-2.11.90.0.15/binutils/dlltool.1 Sat Jun 9 00:19:01 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 Jun 9 00:19:01 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.13" "2001-06-09" "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.8/binutils/nlmconv.1 binutils-2.11.90.0.15/binutils/nlmconv.1 --- binutils-2.11.90.0.8/binutils/nlmconv.1 Tue Mar 27 08:46:34 2001 +++ binutils-2.11.90.0.15/binutils/nlmconv.1 Sat Jun 9 00:19:02 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 Jun 9 00:19:02 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.13" "2001-06-09" "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.8/binutils/nm.1 binutils-2.11.90.0.15/binutils/nm.1 --- binutils-2.11.90.0.8/binutils/nm.1 Tue Mar 27 08:46:34 2001 +++ binutils-2.11.90.0.15/binutils/nm.1 Sat Jun 9 00:19:02 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 Jun 9 00:19:02 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.13" "2001-06-09" "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.8/binutils/objcopy.1 binutils-2.11.90.0.15/binutils/objcopy.1 --- binutils-2.11.90.0.8/binutils/objcopy.1 Tue Mar 27 08:46:34 2001 +++ binutils-2.11.90.0.15/binutils/objcopy.1 Sat Jun 9 00:19:03 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 Jun 9 00:19:02 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,135 @@ .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.13" "2001-06-09" "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 ] + [ \-G \fIsymbolname\fR | \-\-keep-global-symbol=\fIsymbolname\fR] + [ \-L \fIsymbolname\fR | \-\-localize-symbol=\fIsymbolname\fR ] + [ \-W \fIsymbolname\fR | \-\-weaken-symbol=\fIsymbolname\fR ] + [ \-x | \-\-discard-all ] [ \-X | \-\-discard-locals ] + [ \-b \fIbyte\fR | \-\-byte=\fIbyte\fR ] + [ \-i \fIinterleave\fR | \-\-interleave=\fIinterleave\fR ] + [ \-j \fIsectionname\fR | \-\-only-section=\fIsectionname\fR ] + [ \-R \fIsectionname\fR | \-\-remove-section=\fIsectionname\fR ] + [ \-p | \-\-preserve-dates ] [ \-\-debugging ] + [ \-\-gap-fill=\fIval\fR ] [ \-\-pad-to=\fIaddress\fR ] + [ \-\-set-start=\fIval\fR ] [ \-\-adjust-start=\fIincr\fR ] + [ \-\-change-addresses=\fIincr\fR ] + [ \-\-change-section-address \fIsection\fR{=,+,\-}\fIval\fR ] + [ \-\-change-section-lma \fIsection\fR{=,+,\-}\fIval\fR ] + [ \-\-change-section-vma \fIsection\fR{=,+,\-}\fIval\fR ] + [ \-\-change-warnings ] [ \-\-no-change-warnings ] + [ \-\-set-section-flags \fIsection\fR=\fIflags\fR ] + [ \-\-add-section \fIsectionname\fR=\fIfilename\fR ] + [ \-\-change-leading-char ] [ \-\-remove-leading-char ] + [ \-\-srec-len=\fIival\fR ] [ \-\-srec-forceS3 ] + [ \-\-redefine-sym \fIold\fR=\fInew\fR ] [ \-\-weaken ] + [ \-\-keep-symbols=\fIfilename\fR ] + [ \-\-strip-symbols=\fIfilename\fR ] + [ \-\-keep-global-symbols=\fIfilename\fR ] + [ \-\-localize-symbols=\fIfilename\fR ] + [ \-\-weaken-symbols=\fIfilename\fR ] + [ \-v | \-\-verbose ] [ \-V | \-\-version ] [ \-\-help ] \fIinfile\fR [\fIoutfile\fR] .SH "DESCRIPTION" -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 +254,295 @@ 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`\-G \f(CIsymbolname\f(CW\*(C'\fR" 4 +.IX Item "-G symbolname" +.Ip "\f(CW\*(C`\-\-keep\-global\-symbol=\f(CIsymbolname\f(CW\*(C'\fR" 4 +.IX Item "--keep-global-symbol=symbolname" +Keep only symbol \fIsymbolname\fR global. Make all other symbols local +to the file, so that they are not visible externally. This option may +be given more than once. +.Ip "\f(CW\*(C`\-L \f(CIsymbolname\f(CW\*(C'\fR" 4 +.IX Item "-L symbolname" +.Ip "\f(CW\*(C`\-\-localize\-symbol=\f(CIsymbolname\f(CW\*(C'\fR" 4 +.IX Item "--localize-symbol=symbolname" Make symbol \fIsymbolname\fR local to the file, so that it is not visible externally. This option may be given more than once. -.Ip "\f(CW-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`\-\-keep\-symbols=\f(CIfilename\f(CW\*(C'\fR" 4 +.IX Item "--keep-symbols=filename" +Apply \fB\*(--keep-symbol\fR option to each symbol listed in the file +\&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol +name per line. Line comments may be introduced by the hash character. +This option may be given more than once. +.Ip "\f(CW\*(C`\-\-strip\-symbols=\f(CIfilename\f(CW\*(C'\fR" 4 +.IX Item "--strip-symbols=filename" +Apply \fB\*(--strip-symbol\fR option to each symbol listed in the file +\&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol +name per line. Line comments may be introduced by the hash character. +This option may be given more than once. +.Ip "\f(CW\*(C`\-\-keep\-global\-symbols=\f(CIfilename\f(CW\*(C'\fR" 4 +.IX Item "--keep-global-symbols=filename" +Apply \fB\*(--keep-global-symbol\fR option to each symbol listed in the +file \fIfilename\fR. \fIfilename\fR is simply a flat file, with one +symbol name per line. Line comments may be introduced by the hash +character. This option may be given more than once. +.Ip "\f(CW\*(C`\-\-localize\-symbols=\f(CIfilename\f(CW\*(C'\fR" 4 +.IX Item "--localize-symbols=filename" +Apply \fB\*(--localize-symbol\fR option to each symbol listed in the file +\&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol +name per line. Line comments may be introduced by the hash character. +This option may be given more than once. +.Ip "\f(CW\*(C`\-\-weaken\-symbols=\f(CIfilename\f(CW\*(C'\fR" 4 +.IX Item "--weaken-symbols=filename" +Apply \fB\*(--weaken-symbol\fR option to each symbol listed in the file +\&\fIfilename\fR. \fIfilename\fR is simply a flat file, with one symbol +name per line. Line comments may be introduced by the hash character. +This option may be given more than once. +.Ip "\f(CW\*(C`\-V\*(C'\fR" 4 +.IX Item "-V" +.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 +.IX Item "--version" +Show the version number of \f(CW\*(C`objcopy\*(C'\fR. +.Ip "\f(CW\*(C`\-v\*(C'\fR" 4 +.IX Item "-v" +.Ip "\f(CW\*(C`\-\-verbose\*(C'\fR" 4 +.IX Item "--verbose" Verbose output: list all object files modified. In the case of archives, \fBobjcopy \-V\fR lists all members of the archive. -.Ip "\f(CW--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.8/binutils/objcopy.c binutils-2.11.90.0.15/binutils/objcopy.c --- binutils-2.11.90.0.8/binutils/objcopy.c Sat Mar 17 12:47:58 2001 +++ binutils-2.11.90.0.15/binutils/objcopy.c Fri Jun 1 21:47:18 2001 @@ -57,6 +57,7 @@ static void copy_section PARAMS ((bfd *, static void get_sections PARAMS ((bfd *, asection *, PTR)); static int compare_section_lma PARAMS ((const PTR, const PTR)); static void add_specific_symbol PARAMS ((const char *, struct symlist **)); +static void add_specific_symbols PARAMS ((const char *, struct symlist **)); static boolean is_specified_symbol PARAMS ((const char *, struct symlist *)); static boolean is_strip_section PARAMS ((bfd *, asection *)); static unsigned int filter_symbols @@ -184,11 +185,13 @@ static boolean change_leading_char = fal static boolean remove_leading_char = false; -/* List of symbols to strip, keep, localize, weaken, or redefine. */ +/* List of symbols to strip, keep, localize, keep-global, weaken, + or redefine. */ static struct symlist *strip_specific_list = NULL; static struct symlist *keep_specific_list = NULL; static struct symlist *localize_specific_list = NULL; +static struct symlist *keepglobal_specific_list = NULL; static struct symlist *weaken_specific_list = NULL; static struct redefine_node *redefine_sym_list = NULL; @@ -218,6 +221,11 @@ static boolean weaken = false; #define OPTION_REDEFINE_SYM (OPTION_WEAKEN + 1) #define OPTION_SREC_LEN (OPTION_REDEFINE_SYM + 1) #define OPTION_SREC_FORCES3 (OPTION_SREC_LEN + 1) +#define OPTION_STRIP_SYMBOLS (OPTION_SREC_FORCES3 + 1) +#define OPTION_KEEP_SYMBOLS (OPTION_STRIP_SYMBOLS + 1) +#define OPTION_LOCALIZE_SYMBOLS (OPTION_KEEP_SYMBOLS + 1) +#define OPTION_KEEPGLOBAL_SYMBOLS (OPTION_LOCALIZE_SYMBOLS + 1) +#define OPTION_WEAKEN_SYMBOLS (OPTION_KEEPGLOBAL_SYMBOLS + 1) /* Options to handle if running as "strip". */ @@ -280,6 +288,7 @@ static struct option copy_options[] = {"pad-to", required_argument, 0, OPTION_PAD_TO}, {"preserve-dates", no_argument, 0, 'p'}, {"localize-symbol", required_argument, 0, 'L'}, + {"keep-global-symbol", required_argument, 0, 'G'}, {"remove-leading-char", no_argument, 0, OPTION_REMOVE_LEADING_CHAR}, {"remove-section", required_argument, 0, 'R'}, {"set-section-flags", required_argument, 0, OPTION_SET_SECTION_FLAGS}, @@ -296,6 +305,11 @@ static struct option copy_options[] = {"redefine-sym", required_argument, 0, OPTION_REDEFINE_SYM}, {"srec-len", required_argument, 0, OPTION_SREC_LEN}, {"srec-forceS3", no_argument, 0, OPTION_SREC_FORCES3}, + {"keep-symbols", required_argument, 0, OPTION_KEEP_SYMBOLS}, + {"strip-symbols", required_argument, 0, OPTION_STRIP_SYMBOLS}, + {"keep-global-symbols", required_argument, 0, OPTION_KEEPGLOBAL_SYMBOLS}, + {"localize-symbols", required_argument, 0, OPTION_LOCALIZE_SYMBOLS}, + {"weaken-symbols", required_argument, 0, OPTION_WEAKEN_SYMBOLS}, {0, no_argument, 0, 0} }; @@ -341,6 +355,7 @@ copy_usage (stream, exit_status) -N --strip-symbol Do not copy symbol \n\ -K --keep-symbol Only copy symbol \n\ -L --localize-symbol Force symbol to be marked as a local\n\ + -G --keep-global-symbol Localize all symbols except \n\ -W --weaken-symbol Force symbol to be marked as a weak\n\ --weaken Force all global symbols to be marked as weak\n\ -x --discard-all Remove all non-global symbols\n\ @@ -370,6 +385,11 @@ copy_usage (stream, exit_status) --redefine-sym = Redefine symbol name to \n\ --srec-len Restrict the length of generated Srecords\n\ --srec-forceS3 Restrict the type of generated Srecords to S3\n\ + --strip-symbols -N for all symbols listed in \n\ + --keep-symbols -K for all symbols listed in \n\ + --localize-symbols -L for all symbols listed in \n\ + --keep-global-symbols -G for all symbols listed in \n\ + --weaken-symbols -W for all symbols listed in \n\ -v --verbose List all object files modified\n\ -V --version Display this program's version number\n\ -h --help Display this output\n\ @@ -518,6 +538,122 @@ add_specific_symbol (name, list) *list = tmp_list; } +/* Add symbols listed in `filename' to strip_specific_list. */ + +#define IS_WHITESPACE(c) ((c) == ' ' || (c) == '\t') +#define IS_LINE_TERMINATOR(c) ((c) == '\n' || (c) == '\r' || (c) == '\0') + +static void +add_specific_symbols (filename, list) + const char *filename; + struct symlist **list; +{ + struct stat st; + FILE * f; + char * line; + char * buffer; + unsigned int line_count; + + if (stat (filename, & st) < 0) + fatal (_("cannot stat: %s: %s"), filename, strerror (errno)); + if (st.st_size == 0) + return; + + buffer = (char *) xmalloc (st.st_size + 2); + f = fopen (filename, FOPEN_RT); + if (f == NULL) + fatal (_("cannot open: %s: %s"), filename, strerror (errno)); + + if (fread (buffer, 1, st.st_size, f) == 0 || ferror (f)) + fatal (_("%s: fread failed"), filename); + + fclose (f); + buffer [st.st_size] = '\n'; + buffer [st.st_size + 1] = '\0'; + + line_count = 1; + + for (line = buffer; * line != '\0'; line ++) + { + char * eol; + char * name; + char * name_end; + int finished = false; + + for (eol = line;; eol ++) + { + switch (* eol) + { + case '\n': + * eol = '\0'; + /* Cope with \n\r. */ + if (eol[1] == '\r') + ++ eol; + finished = true; + break; + + case '\r': + * eol = '\0'; + /* Cope with \r\n. */ + if (eol[1] == '\n') + ++ eol; + finished = true; + break; + + case 0: + finished = true; + break; + + case '#': + /* Line comment, Terminate the line here, in case a + name is present and then allow the rest of the + loop to find the real end of the line. */ + * eol = '\0'; + break; + + default: + break; + } + + if (finished) + break; + } + + /* A name may now exist somewhere between 'line' and 'eol'. + Strip off leading whitespace and trailing whitespace, + then add it to the list. */ + for (name = line; IS_WHITESPACE (* name); name ++) + ; + for (name_end = name; + (! IS_WHITESPACE (* name_end)) + && (! IS_LINE_TERMINATOR (* name_end)); + name_end ++) + ; + + if (! IS_LINE_TERMINATOR (* name_end)) + { + char * extra; + + for (extra = name_end + 1; IS_WHITESPACE (* extra); extra ++) + ; + + if (! IS_LINE_TERMINATOR (* extra)) + non_fatal (_("Ignoring rubbish found on line %d of %s"), + line_count, filename); + } + + * name_end = '\0'; + + if (name_end > name) + add_specific_symbol (name, list); + + /* Advance line pointer to end of line. The 'eol ++' in the for + loop above will then advance us to the start of the next line. */ + line = eol; + line_count ++; + } +} + /* See whether a symbol should be stripped or kept based on strip_specific_list and keep_symbols. */ @@ -636,6 +772,12 @@ filter_symbols (abfd, obfd, osyms, isyms else if (relocatable /* Relocatable file. */ && (flags & (BSF_GLOBAL | BSF_WEAK)) != 0) keep = 1; + else if (bfd_decode_symclass (sym) == 'I') + /* Global symbols in $idata sections need to be retained + even if relocatable is false. External users of the + library containing the $idata section may reference these + symbols. */ + keep = 1; else if ((flags & BSF_GLOBAL) != 0 /* Global symbol. */ || (flags & BSF_WEAK) != 0 || bfd_is_und_section (bfd_get_section (sym)) @@ -665,7 +807,9 @@ filter_symbols (abfd, obfd, osyms, isyms sym->flags |= BSF_WEAK; } if (keep && (flags & (BSF_GLOBAL | BSF_WEAK)) - && is_specified_symbol (name, localize_specific_list)) + && (is_specified_symbol (name, localize_specific_list) + || (keepglobal_specific_list != NULL + && ! is_specified_symbol (name, keepglobal_specific_list)))) { sym->flags &= ~(BSF_GLOBAL | BSF_WEAK); sym->flags |= BSF_LOCAL; @@ -977,6 +1121,7 @@ copy_object (ibfd, obfd) || strip_specific_list != NULL || keep_specific_list != NULL || localize_specific_list != NULL + || keepglobal_specific_list != NULL || weaken_specific_list != NULL || sections_removed || sections_copied @@ -1695,7 +1840,7 @@ strip_main (argc, argv) struct section_list *p; char *output_file = NULL; - while ((c = getopt_long (argc, argv, "I:O:F:K:N:R:o:sSpdgxXVv", + while ((c = getopt_long (argc, argv, "b:i:I:j:K:N:s:O:d:F:L:G:R:SpgxXVvW:", strip_options, (int *) 0)) != EOF) { switch (c) @@ -1903,6 +2048,10 @@ copy_main (argc, argv) add_specific_symbol (optarg, &localize_specific_list); break; + case 'G': + add_specific_symbol (optarg, &keepglobal_specific_list); + break; + case 'W': add_specific_symbol (optarg, &weaken_specific_list); break; @@ -2168,6 +2317,26 @@ copy_main (argc, argv) case OPTION_SREC_FORCES3: S3Forced = true; break; + + case OPTION_STRIP_SYMBOLS: + add_specific_symbols (optarg, &strip_specific_list); + break; + + case OPTION_KEEP_SYMBOLS: + add_specific_symbols (optarg, &keep_specific_list); + break; + + case OPTION_LOCALIZE_SYMBOLS: + add_specific_symbols (optarg, &localize_specific_list); + break; + + case OPTION_KEEPGLOBAL_SYMBOLS: + add_specific_symbols (optarg, &keepglobal_specific_list); + break; + + case OPTION_WEAKEN_SYMBOLS: + add_specific_symbols (optarg, &weaken_specific_list); + break; case 0: break; /* we've been given a long option */ diff -uprN binutils-2.11.90.0.8/binutils/objdump.1 binutils-2.11.90.0.15/binutils/objdump.1 --- binutils-2.11.90.0.8/binutils/objdump.1 Tue Mar 27 08:46:35 2001 +++ binutils-2.11.90.0.15/binutils/objdump.1 Sat Jun 9 00:19:03 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 Jun 9 00:19:03 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.13" "2001-06-09" "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.8/binutils/objdump.c binutils-2.11.90.0.15/binutils/objdump.c --- binutils-2.11.90.0.8/binutils/objdump.c Sat Mar 17 12:47:58 2001 +++ binutils-2.11.90.0.15/binutils/objdump.c Fri Jun 1 21:47:18 2001 @@ -1330,7 +1330,10 @@ disassemble_bytes (info, disassemble_fn, done_dot = false; if (with_line_numbers || with_source_code) - show_line (aux->abfd, section, addr_offset); + /* The line number tables will refer to unadjusted + section VMAs, so we must undo any VMA modifications + when calling show_line. */ + show_line (aux->abfd, section, addr_offset - adjust_section_vma); if (! prefix_addresses) { diff -uprN binutils-2.11.90.0.8/binutils/po/binutils.pot binutils-2.11.90.0.15/binutils/po/binutils.pot --- binutils-2.11.90.0.8/binutils/po/binutils.pot Thu Mar 15 14:51:55 2001 +++ binutils-2.11.90.0.15/binutils/po/binutils.pot Fri Jun 1 20:46:33 2001 @@ -1,13 +1,12 @@ # SOME DESCRIPTIVE TITLE. -# Copyright 1998, 2000, 2001 Free Software Foundation, Inc. -# (C) YEAR +# Copyright (C) YEAR Free Software Foundation, Inc. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2001-02-28 15:31-0800\n" +"POT-Creation-Date: 2001-05-30 12:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +22,8 @@ msgid "" " [--basenames] [--functions] [addr addr ...]\n" msgstr "" -#: addr2line.c:83 ar.c:288 nlmconv.c:1119 objcopy.c:373 objcopy.c:405 -#: readelf.c:2009 size.c:91 strings.c:530 windres.c:737 +#: addr2line.c:83 ar.c:288 nlmconv.c:1119 objcopy.c:399 objcopy.c:431 +#: readelf.c:2017 size.c:91 strings.c:533 windres.c:737 #, c-format msgid "Report bugs to %s\n" msgstr "" @@ -34,7 +33,7 @@ msgstr "" msgid "%s: can not get addresses from archive" msgstr "" -#: addr2line.c:310 nm.c:436 objdump.c:2857 +#: addr2line.c:310 nm.c:437 objdump.c:2861 #, c-format msgid "unknown demangling style `%s'" msgstr "" @@ -186,7 +185,7 @@ msgstr "" msgid "internal error -- this option not implemented" msgstr "" -#: ar.c:824 ar.c:876 ar.c:1322 objcopy.c:1131 +#: ar.c:824 ar.c:876 ar.c:1322 objcopy.c:1266 #, c-format msgid "internal stat error on %s" msgstr "" @@ -323,12 +322,12 @@ msgstr "" msgid "%s: Print a human readable interpretation of a SYSROFF object file\n" msgstr "" -#: coffdump.c:498 srconv.c:1941 sysdump.c:755 +#: coffdump.c:498 srconv.c:1942 sysdump.c:755 #, c-format msgid "GNU %s version %s\n" msgstr "" -#: coffdump.c:516 srconv.c:1975 sysdump.c:775 +#: coffdump.c:516 srconv.c:1976 sysdump.c:775 msgid "no input file specified" msgstr "" @@ -429,325 +428,325 @@ msgstr "" msgid "debug_write_type: illegal type encountered" msgstr "" -#: dlltool.c:737 dlltool.c:762 dlltool.c:788 +#: dlltool.c:743 dlltool.c:768 dlltool.c:794 #, c-format msgid "Internal error: Unknown machine type: %d" msgstr "" -#: dlltool.c:825 +#: dlltool.c:831 #, c-format msgid "Can't open def file: %s" msgstr "" -#: dlltool.c:830 +#: dlltool.c:836 #, c-format msgid "Processing def file: %s" msgstr "" -#: dlltool.c:834 +#: dlltool.c:840 msgid "Processed def file" msgstr "" -#: dlltool.c:859 +#: dlltool.c:866 #, c-format msgid "Syntax error in def file %s:%d" msgstr "" -#: dlltool.c:892 +#: dlltool.c:905 #, c-format msgid "NAME: %s base: %x" msgstr "" -#: dlltool.c:895 dlltool.c:914 +#: dlltool.c:908 dlltool.c:927 msgid "Can't have LIBRARY and NAME" msgstr "" -#: dlltool.c:911 +#: dlltool.c:924 #, c-format msgid "LIBRARY: %s base: %x" msgstr "" -#: dlltool.c:1169 resrc.c:271 +#: dlltool.c:1182 resrc.c:271 #, c-format msgid "wait: %s" msgstr "" -#: dlltool.c:1174 dllwrap.c:456 resrc.c:276 +#: dlltool.c:1187 dllwrap.c:456 resrc.c:276 #, c-format msgid "subprocess got fatal signal %d" msgstr "" -#: dlltool.c:1180 dllwrap.c:463 resrc.c:283 +#: dlltool.c:1193 dllwrap.c:463 resrc.c:283 #, c-format msgid "%s exited with status %d" msgstr "" -#: dlltool.c:1212 +#: dlltool.c:1225 #, c-format msgid "Sucking in info from %s section in %s" msgstr "" -#: dlltool.c:1336 +#: dlltool.c:1349 #, c-format msgid "Excluding symbol: %s" msgstr "" -#: dlltool.c:1431 dlltool.c:1442 nm.c:946 nm.c:957 objdump.c:443 objdump.c:460 +#: dlltool.c:1444 dlltool.c:1455 nm.c:947 nm.c:958 objdump.c:444 objdump.c:461 #, c-format msgid "%s: no symbols" msgstr "" #. FIXME: we ought to read in and block out the base relocations -#: dlltool.c:1469 +#: dlltool.c:1482 #, c-format msgid "Done reading %s" msgstr "" -#: dlltool.c:1480 +#: dlltool.c:1493 #, c-format msgid "Unable to open object file: %s" msgstr "" -#: dlltool.c:1483 +#: dlltool.c:1496 #, c-format msgid "Scanning object file %s" msgstr "" -#: dlltool.c:1498 +#: dlltool.c:1511 #, c-format msgid "Cannot produce mcore-elf dll from archive file: %s" msgstr "" -#: dlltool.c:1590 +#: dlltool.c:1603 msgid "Adding exports to output file" msgstr "" -#: dlltool.c:1635 +#: dlltool.c:1648 msgid "Added exports to output file" msgstr "" -#: dlltool.c:1759 +#: dlltool.c:1772 #, c-format msgid "Generating export file: %s" msgstr "" -#: dlltool.c:1764 +#: dlltool.c:1777 #, c-format msgid "Unable to open temporary assembler file: %s" msgstr "" -#: dlltool.c:1767 +#: dlltool.c:1780 #, c-format msgid "Opened temporary file: %s" msgstr "" -#: dlltool.c:1981 +#: dlltool.c:2004 msgid "Generated exports file" msgstr "" -#: dlltool.c:2236 +#: dlltool.c:2266 #, c-format msgid "bfd_open failed open stub file: %s" msgstr "" -#: dlltool.c:2239 +#: dlltool.c:2269 #, c-format msgid "Creating stub file: %s" msgstr "" -#: dlltool.c:2626 +#: dlltool.c:2658 #, c-format msgid "failed to open temporary head file: %s" msgstr "" -#: dlltool.c:2685 +#: dlltool.c:2717 #, c-format msgid "failed to open temporary tail file: %s" msgstr "" -#: dlltool.c:2753 +#: dlltool.c:2785 #, c-format msgid "Can't open .lib file: %s" msgstr "" -#: dlltool.c:2756 +#: dlltool.c:2788 #, c-format msgid "Creating library file: %s" msgstr "" -#: dlltool.c:2815 +#: dlltool.c:2847 #, c-format msgid "cannot delete %s: %s" msgstr "" -#: dlltool.c:2819 +#: dlltool.c:2851 msgid "Created lib file" msgstr "" -#: dlltool.c:2924 +#: dlltool.c:2956 #, c-format msgid "Warning, ignoring duplicate EXPORT %s %d,%d" msgstr "" -#: dlltool.c:2930 +#: dlltool.c:2962 #, c-format msgid "Error, duplicate EXPORT with oridinals: %s" msgstr "" -#: dlltool.c:3057 +#: dlltool.c:3089 msgid "Processing definitions" msgstr "" -#: dlltool.c:3095 +#: dlltool.c:3127 msgid "Processed definitions" msgstr "" #. xgetext:c-format -#: dlltool.c:3106 dllwrap.c:520 +#: dlltool.c:3138 dllwrap.c:520 #, c-format msgid "Usage %s \n" msgstr "" #. xgetext:c-format -#: dlltool.c:3108 +#: dlltool.c:3140 #, c-format msgid "" " -m --machine Create as DLL for . [default: %s]\n" msgstr "" -#: dlltool.c:3109 +#: dlltool.c:3141 msgid "" " possible : arm[_interwork], i386, mcore[-elf]{-le|-be}, " "ppc, thumb\n" msgstr "" -#: dlltool.c:3110 +#: dlltool.c:3142 msgid " -e --output-exp Generate an export file.\n" msgstr "" -#: dlltool.c:3111 +#: dlltool.c:3143 msgid " -l --output-lib Generate an interface library.\n" msgstr "" -#: dlltool.c:3112 +#: dlltool.c:3144 msgid " -a --add-indirect Add dll indirects to export file.\n" msgstr "" -#: dlltool.c:3113 +#: dlltool.c:3145 msgid "" " -D --dllname Name of input dll to put into interface lib.\n" msgstr "" -#: dlltool.c:3114 +#: dlltool.c:3146 msgid " -d --input-def Name of .def file to be read in.\n" msgstr "" -#: dlltool.c:3115 +#: dlltool.c:3147 msgid " -z --output-def Name of .def file to be created.\n" msgstr "" -#: dlltool.c:3116 +#: dlltool.c:3148 msgid " --export-all-symbols Export all symbols to .def\n" msgstr "" -#: dlltool.c:3117 +#: dlltool.c:3149 msgid " --no-export-all-symbols Only export listed symbols\n" msgstr "" -#: dlltool.c:3118 +#: dlltool.c:3150 msgid " --exclude-symbols Don't export \n" msgstr "" -#: dlltool.c:3119 +#: dlltool.c:3151 msgid " --no-default-excludes Clear default exclude symbols\n" msgstr "" -#: dlltool.c:3120 +#: dlltool.c:3152 msgid " -b --base-file Read linker generated base file.\n" msgstr "" -#: dlltool.c:3121 +#: dlltool.c:3153 msgid " -x --no-idata4 Don't generate idata$4 section.\n" msgstr "" -#: dlltool.c:3122 +#: dlltool.c:3154 msgid " -c --no-idata5 Don't generate idata$5 section.\n" msgstr "" -#: dlltool.c:3123 +#: dlltool.c:3155 msgid "" " -U --add-underscore Add underscores to symbols in interface " "library.\n" msgstr "" -#: dlltool.c:3124 +#: dlltool.c:3156 msgid " -k --kill-at Kill @ from exported names.\n" msgstr "" -#: dlltool.c:3125 +#: dlltool.c:3157 msgid " -A --add-stdcall-alias Add aliases without @.\n" msgstr "" -#: dlltool.c:3126 +#: dlltool.c:3158 msgid " -S --as Use for assembler.\n" msgstr "" -#: dlltool.c:3127 +#: dlltool.c:3159 msgid " -f --as-flags Pass to the assembler.\n" msgstr "" -#: dlltool.c:3128 +#: dlltool.c:3160 msgid "" " -C --compat-implib Create backward compatible import library.\n" msgstr "" -#: dlltool.c:3129 +#: dlltool.c:3161 msgid "" " -n --no-delete Keep temp files (repeat for extra " "preservation).\n" msgstr "" -#: dlltool.c:3130 +#: dlltool.c:3162 msgid " -v --verbose Be verbose.\n" msgstr "" -#: dlltool.c:3131 +#: dlltool.c:3163 msgid " -V --version Display the program version.\n" msgstr "" -#: dlltool.c:3132 +#: dlltool.c:3164 msgid " -h --help Display this information.\n" msgstr "" -#: dlltool.c:3134 +#: dlltool.c:3166 msgid "" " -M --mcore-elf Process mcore-elf object files into .\n" msgstr "" -#: dlltool.c:3135 +#: dlltool.c:3167 msgid " -L --linker Use as the linker.\n" msgstr "" -#: dlltool.c:3136 +#: dlltool.c:3168 msgid " -F --linker-flags Pass to the linker.\n" msgstr "" -#: dlltool.c:3280 +#: dlltool.c:3312 #, c-format msgid "Unable to open base-file: %s" msgstr "" -#: dlltool.c:3309 +#: dlltool.c:3341 #, c-format msgid "Machine '%s' not supported" msgstr "" -#: dlltool.c:3412 dllwrap.c:241 +#: dlltool.c:3444 dllwrap.c:241 #, c-format msgid "Tried file: %s" msgstr "" -#: dlltool.c:3419 dllwrap.c:248 +#: dlltool.c:3451 dllwrap.c:248 #, c-format msgid "Using file: %s" msgstr "" @@ -1190,7 +1189,7 @@ msgstr "" msgid "IEEE unsupported complex type size %u\n" msgstr "" -#: nlmconv.c:275 srconv.c:1966 +#: nlmconv.c:275 srconv.c:1967 msgid "input and output files must be different" msgstr "" @@ -1369,16 +1368,16 @@ msgstr "" msgid "Execution of %s failed" msgstr "" -#: nm.c:294 +#: nm.c:295 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "" -#: nm.c:295 +#: nm.c:296 msgid "List symbols from FILEs (a.out by default).\n" msgstr "" -#: nm.c:296 +#: nm.c:297 msgid "" "\n" " -a, --debug-syms Display debugger-only symbols\n" @@ -1416,31 +1415,31 @@ msgid "" "\n" msgstr "" -#: nm.c:328 objdump.c:274 +#: nm.c:329 objdump.c:275 #, c-format msgid "Report bugs to %s.\n" msgstr "" -#: nm.c:361 +#: nm.c:362 #, c-format msgid "%s: invalid radix" msgstr "" -#: nm.c:386 +#: nm.c:387 #, c-format msgid "%s: invalid output format" msgstr "" -#: nm.c:493 +#: nm.c:494 msgid "Only -X 32_64 is supported" msgstr "" -#: nm.c:535 +#: nm.c:536 #, c-format msgid "data size %ld" msgstr "" -#: nm.c:1325 +#: nm.c:1326 #, c-format msgid "" "\n" @@ -1449,7 +1448,7 @@ msgid "" "\n" msgstr "" -#: nm.c:1327 +#: nm.c:1328 #, c-format msgid "" "\n" @@ -1458,14 +1457,14 @@ msgid "" "\n" msgstr "" -#: nm.c:1328 nm.c:1382 +#: nm.c:1329 nm.c:1383 msgid "" "Name Value Class Type Size Line " "Section\n" "\n" msgstr "" -#: nm.c:1379 +#: nm.c:1380 #, c-format msgid "" "\n" @@ -1474,7 +1473,7 @@ msgid "" "\n" msgstr "" -#: nm.c:1381 +#: nm.c:1382 #, c-format msgid "" "\n" @@ -1489,20 +1488,22 @@ msgid "" "Archive index:\n" msgstr "" -#: objcopy.c:322 +#: objcopy.c:341 #, c-format msgid "Usage: %s in-file [out-file]\n" msgstr "" -#: objcopy.c:323 objcopy.c:383 +#: objcopy.c:342 objcopy.c:409 msgid " The switches are:\n" msgstr "" -#: objcopy.c:324 +#: objcopy.c:343 msgid "" " -I --input-target Assume input file is in format \n" " -O --output-target Create an output file in format " "\n" +" -B --binary-architecture Set arch of output file, when input is " +"binary\n" " -F --target Set both input and output format to " "\n" " --debugging Convert debugging information, if " @@ -1520,6 +1521,7 @@ msgid "" " -K --keep-symbol Only copy symbol \n" " -L --localize-symbol Force symbol to be marked as a " "local\n" +" -G --keep-global-symbol Localize all symbols except \n" " -W --weaken-symbol Force symbol to be marked as a " "weak\n" " --weaken Force all global symbols to be marked as " @@ -1564,17 +1566,22 @@ msgid "" "Srecords\n" " --srec-forceS3 Restrict the type of generated Srecords " "to S3\n" +" --strip-symbols -N for all symbols listed in \n" +" --keep-symbols -K for all symbols listed in \n" +" --localize-symbols -L for all symbols listed in \n" +" --keep-global-symbols -G for all symbols listed in \n" +" --weaken-symbols -W for all symbols listed in \n" " -v --verbose List all object files modified\n" " -V --version Display this program's version number\n" " -h --help Display this output\n" msgstr "" -#: objcopy.c:382 +#: objcopy.c:408 #, c-format msgid "Usage: %s in-file(s)\n" msgstr "" -#: objcopy.c:384 +#: objcopy.c:410 msgid "" " -I --input-target Assume input file is in format \n" " -O --output-target Create an output file in format " @@ -1599,182 +1606,197 @@ msgid "" " -o Place stripped output into \n" msgstr "" -#: objcopy.c:454 +#: objcopy.c:480 #, c-format msgid "unrecognized section flag `%s'" msgstr "" -#: objcopy.c:455 +#: objcopy.c:481 #, c-format msgid "supported flags: %s" msgstr "" -#: objcopy.c:712 +#: objcopy.c:556 objcopy.c:2082 +#, c-format +msgid "cannot stat: %s: %s" +msgstr "" + +#: objcopy.c:563 objcopy.c:2100 +#, c-format +msgid "cannot open: %s: %s" +msgstr "" + +#: objcopy.c:566 objcopy.c:2104 +#, c-format +msgid "%s: fread failed" +msgstr "" + +#: objcopy.c:846 #, c-format msgid "%s: Multiple redefinition of symbol \"%s\"" msgstr "" -#: objcopy.c:719 +#: objcopy.c:853 #, c-format msgid "%s: Symbol \"%s\" is target of more than one redefinition" msgstr "" -#: objcopy.c:772 +#: objcopy.c:906 msgid "Unable to change endianness of input file(s)" msgstr "" -#: objcopy.c:780 +#: objcopy.c:914 #, c-format msgid "copy from %s(%s) to %s(%s)\n" msgstr "" -#: objcopy.c:799 +#: objcopy.c:933 #, c-format msgid "Warning: Output file cannot represent architecture %s" msgstr "" -#: objcopy.c:826 +#: objcopy.c:960 #, c-format msgid "can't create section `%s': %s" msgstr "" -#: objcopy.c:912 +#: objcopy.c:1046 #, c-format msgid "Can't fill gap after %s: %s" msgstr "" -#: objcopy.c:937 +#: objcopy.c:1071 #, c-format msgid "Can't add padding to %s: %s" msgstr "" -#: objcopy.c:1075 +#: objcopy.c:1210 #, c-format msgid "%s: error copying private BFD data: %s" msgstr "" -#: objcopy.c:1109 +#: objcopy.c:1244 #, c-format msgid "cannot mkdir %s for archive copying (error: %s)" msgstr "" -#: objcopy.c:1298 +#: objcopy.c:1433 msgid "making" msgstr "" -#: objcopy.c:1307 +#: objcopy.c:1442 msgid "size" msgstr "" -#: objcopy.c:1321 +#: objcopy.c:1456 msgid "vma" msgstr "" -#: objcopy.c:1347 +#: objcopy.c:1482 msgid "alignment" msgstr "" -#: objcopy.c:1356 +#: objcopy.c:1491 msgid "flags" msgstr "" -#: objcopy.c:1370 +#: objcopy.c:1505 msgid "private data" msgstr "" -#: objcopy.c:1378 +#: objcopy.c:1513 #, c-format msgid "%s: section `%s': error in %s: %s" msgstr "" -#: objcopy.c:1652 +#: objcopy.c:1787 #, c-format msgid "%s: can't create debugging section: %s" msgstr "" -#: objcopy.c:1667 +#: objcopy.c:1802 #, c-format msgid "%s: can't set debugging section contents: %s" msgstr "" -#: objcopy.c:1676 +#: objcopy.c:1811 #, c-format msgid "%s: don't know how to write debugging information for %s" msgstr "" -#: objcopy.c:1782 +#: objcopy.c:1917 #, c-format msgid "%s: cannot stat: %s" msgstr "" -#: objcopy.c:1832 +#: objcopy.c:1968 msgid "byte number must be non-negative" msgstr "" -#: objcopy.c:1838 +#: objcopy.c:1978 msgid "interleave must be positive" msgstr "" -#: objcopy.c:1858 objcopy.c:1866 +#: objcopy.c:1998 objcopy.c:2006 #, c-format msgid "%s both copied and removed" msgstr "" -#: objcopy.c:1935 objcopy.c:2005 objcopy.c:2106 objcopy.c:2134 +#: objcopy.c:2079 objcopy.c:2149 objcopy.c:2250 objcopy.c:2278 #, c-format msgid "bad format for %s" msgstr "" -#: objcopy.c:1938 +#: objcopy.c:2218 #, c-format -msgid "cannot stat: %s: %s" +msgid "Warning: truncating gap-fill from 0x%s to 0x%x" msgstr "" -#: objcopy.c:1956 -#, c-format -msgid "cannot open: %s: %s" +#: objcopy.c:2340 +msgid "byte number must be less than interleave" msgstr "" -#: objcopy.c:1960 +#: objcopy.c:2367 #, c-format -msgid "%s: fread failed" +msgid "architecture %s unknown" msgstr "" -#: objcopy.c:2074 -#, c-format -msgid "Warning: truncating gap-fill from 0x%s to 0x%x" +#: objcopy.c:2371 +msgid "" +"Warning: input target 'binary' required for binary architecture parameter." msgstr "" -#: objcopy.c:2176 -msgid "byte number must be less than interleave" +#: objcopy.c:2372 +#, c-format +msgid " Argument %s ignored" msgstr "" -#: objcopy.c:2195 +#: objcopy.c:2378 #, c-format msgid "Cannot stat: %s: %s" msgstr "" -#: objcopy.c:2235 objcopy.c:2249 +#: objcopy.c:2417 objcopy.c:2431 #, c-format msgid "%s %s%c0x%s never used" msgstr "" -#: objdump.c:223 +#: objdump.c:224 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "" -#: objdump.c:224 +#: objdump.c:225 msgid "Display information from object FILE.\n" msgstr "" -#: objdump.c:225 +#: objdump.c:226 msgid "" "\n" " At least one of the following switches must be given:\n" msgstr "" -#: objdump.c:226 +#: objdump.c:227 msgid "" " -a, --archive-headers Display archive header information\n" " -f, --file-headers Display the contents of the overall file header\n" @@ -1800,13 +1822,13 @@ msgid "" " -H, --help Display this information\n" msgstr "" -#: objdump.c:248 +#: objdump.c:249 msgid "" "\n" " The following switches are optional:\n" msgstr "" -#: objdump.c:249 +#: objdump.c:250 msgid "" " -b, --target=BFDNAME Specify the target object format as " "BFDNAME\n" @@ -1839,130 +1861,130 @@ msgid "" "\n" msgstr "" -#: objdump.c:419 +#: objdump.c:420 msgid "Sections:\n" msgstr "" -#: objdump.c:422 +#: objdump.c:423 msgid "Idx Name Size VMA LMA File off Algn" msgstr "" -#: objdump.c:424 +#: objdump.c:425 msgid "" "Idx Name Size VMA LMA File off " "Algn" msgstr "" -#: objdump.c:428 +#: objdump.c:429 msgid " Flags" msgstr "" -#: objdump.c:478 +#: objdump.c:479 #, c-format msgid "%s: not a dynamic object" msgstr "" -#: objdump.c:494 +#: objdump.c:495 #, c-format msgid "%s: No dynamic symbols" msgstr "" -#: objdump.c:1197 +#: objdump.c:1198 msgid "Out of virtual memory" msgstr "" -#: objdump.c:1616 +#: objdump.c:1620 #, c-format msgid "Can't use supplied machine %s" msgstr "" -#: objdump.c:1634 +#: objdump.c:1638 #, c-format msgid "Can't disassemble for architecture %s\n" msgstr "" -#: objdump.c:1716 +#: objdump.c:1720 #, c-format msgid "Disassembly of section %s:\n" msgstr "" -#: objdump.c:1890 +#: objdump.c:1894 #, c-format msgid "" "No %s section present\n" "\n" msgstr "" -#: objdump.c:1897 +#: objdump.c:1901 #, c-format msgid "%s has no %s section" msgstr "" -#: objdump.c:1911 +#: objdump.c:1915 #, c-format msgid "Reading %s section of %s failed: %s" msgstr "" -#: objdump.c:1923 +#: objdump.c:1927 #, c-format msgid "Reading %s section of %s failed: %s\n" msgstr "" -#: objdump.c:1966 +#: objdump.c:1970 #, c-format msgid "" "Contents of %s section:\n" "\n" msgstr "" -#: objdump.c:2066 +#: objdump.c:2070 #, c-format msgid "architecture: %s, " msgstr "" -#: objdump.c:2069 +#: objdump.c:2073 #, c-format msgid "flags 0x%08x:\n" msgstr "" -#: objdump.c:2082 +#: objdump.c:2086 msgid "" "\n" "start address 0x" msgstr "" -#: objdump.c:2114 +#: objdump.c:2118 #, c-format msgid "" "\n" "%s: file format %s\n" msgstr "" -#: objdump.c:2156 +#: objdump.c:2160 #, c-format msgid "%s: printing debugging information failed" msgstr "" -#: objdump.c:2233 +#: objdump.c:2237 #, c-format msgid "In archive %s:\n" msgstr "" -#: objdump.c:2285 +#: objdump.c:2289 #, c-format msgid "Contents of section %s:\n" msgstr "" -#: objdump.c:2798 +#: objdump.c:2802 #, c-format msgid "BFD header file version %s\n" msgstr "" -#: objdump.c:2882 +#: objdump.c:2886 msgid "unrecognized -E option" msgstr "" -#: objdump.c:2893 +#: objdump.c:2897 #, c-format msgid "unrecognized --endian type `%s'" msgstr "" @@ -2001,1010 +2023,991 @@ msgstr "" msgid "Last stabs entries before error:\n" msgstr "" -#: readelf.c:271 -#, c-format -msgid "Unable to seek to start of %s at %x\n" -msgstr "" - -#: readelf.c:279 -#, c-format -msgid "Out of memory allocating %d bytes for %s\n" -msgstr "" - -#: readelf.c:285 -#, c-format -msgid "Unable to read in %d bytes of %s\n" -msgstr "" - -#: readelf.c:295 -#, c-format -msgid "Unable to seek to %x for %s\n" -msgstr "" - -#: readelf.c:300 -#, c-format -msgid "Unable to read data at %x for %s\n" -msgstr "" - -#: readelf.c:315 readelf.c:341 +#: readelf.c:316 readelf.c:342 #, c-format msgid "%s: Error: " msgstr "" -#: readelf.c:327 readelf.c:356 +#: readelf.c:328 readelf.c:357 #, c-format msgid "%s: Warning: " msgstr "" -#: readelf.c:406 readelf.c:544 +#: readelf.c:410 readelf.c:549 #, c-format msgid "Unhandled data length: %d\n" msgstr "" -#: readelf.c:609 +#: readelf.c:615 msgid "Don't know about relocations on this machine architecture\n" msgstr "" -#: readelf.c:640 readelf.c:667 readelf.c:710 readelf.c:735 +#: readelf.c:646 readelf.c:673 readelf.c:716 readelf.c:741 msgid "out of memory parsing relocs" msgstr "" -#: readelf.c:784 +#: readelf.c:790 msgid "" " Offset Info Type Symbol's Value Symbol's Name " "Addend\n" msgstr "" -#: readelf.c:787 +#: readelf.c:793 msgid " Offset Info Type Symbol's Value Symbol's Name\n" msgstr "" -#: readelf.c:951 readelf.c:953 +#: readelf.c:958 readelf.c:960 #, c-format msgid "unrecognised: %-7lx" msgstr "" -#: readelf.c:978 +#: readelf.c:985 #, c-format msgid "" msgstr "" -#: readelf.c:1194 +#: readelf.c:1201 #, c-format msgid "Processor Specific: %lx" msgstr "" -#: readelf.c:1213 +#: readelf.c:1220 #, c-format msgid "Operating System specific: %lx" msgstr "" -#: readelf.c:1216 readelf.c:1791 +#: readelf.c:1223 readelf.c:1799 #, c-format msgid ": %lx" msgstr "" -#: readelf.c:1230 +#: readelf.c:1237 msgid "NONE (None)" msgstr "" -#: readelf.c:1231 +#: readelf.c:1238 msgid "REL (Relocatable file)" msgstr "" -#: readelf.c:1232 +#: readelf.c:1239 msgid "EXEC (Executable file)" msgstr "" -#: readelf.c:1233 +#: readelf.c:1240 msgid "DYN (Shared object file)" msgstr "" -#: readelf.c:1234 +#: readelf.c:1241 msgid "CORE (Core file)" msgstr "" -#: readelf.c:1238 +#: readelf.c:1245 #, c-format msgid "Processor Specific: (%x)" msgstr "" -#: readelf.c:1240 +#: readelf.c:1247 #, c-format msgid "OS Specific: (%x)" msgstr "" -#: readelf.c:1242 readelf.c:1329 readelf.c:1942 +#: readelf.c:1249 readelf.c:1337 readelf.c:1950 #, c-format msgid ": %x" msgstr "" -#: readelf.c:1255 +#: readelf.c:1262 msgid "None" msgstr "" -#: readelf.c:1981 +#: readelf.c:1989 msgid "Usage: readelf {options} elf-file(s)\n" msgstr "" -#: readelf.c:1982 +#: readelf.c:1990 msgid " Options are:\n" msgstr "" -#: readelf.c:1983 +#: readelf.c:1991 msgid " -a or --all Equivalent to: -h -l -S -s -r -d -V -A -I\n" msgstr "" -#: readelf.c:1984 +#: readelf.c:1992 msgid " -h or --file-header Display the ELF file header\n" msgstr "" -#: readelf.c:1985 +#: readelf.c:1993 msgid " -l or --program-headers or --segments\n" msgstr "" -#: readelf.c:1986 +#: readelf.c:1994 msgid " Display the program headers\n" msgstr "" -#: readelf.c:1987 +#: readelf.c:1995 msgid " -S or --section-headers or --sections\n" msgstr "" -#: readelf.c:1988 +#: readelf.c:1996 msgid " Display the sections' header\n" msgstr "" -#: readelf.c:1989 +#: readelf.c:1997 msgid " -e or --headers Equivalent to: -h -l -S\n" msgstr "" -#: readelf.c:1990 +#: readelf.c:1998 msgid " -s or --syms or --symbols Display the symbol table\n" msgstr "" -#: readelf.c:1991 +#: readelf.c:1999 msgid " -n or --notes Display the core notes (if present)\n" msgstr "" -#: readelf.c:1992 +#: readelf.c:2000 msgid " -r or --relocs Display the relocations (if present)\n" msgstr "" -#: readelf.c:1993 +#: readelf.c:2001 msgid " -u or --unwind Display the unwind info (if present)\n" msgstr "" -#: readelf.c:1994 +#: readelf.c:2002 msgid " -d or --dynamic Display the dynamic segment (if present)\n" msgstr "" -#: readelf.c:1995 +#: readelf.c:2003 msgid " -V or --version-info Display the version sections (if present)\n" msgstr "" -#: readelf.c:1996 +#: readelf.c:2004 msgid "" " -A or --arch-specific Display architecture specific information (if " "any).\n" msgstr "" -#: readelf.c:1997 +#: readelf.c:2005 msgid "" " -D or --use-dynamic Use the dynamic section info when displaying " "symbols\n" msgstr "" -#: readelf.c:1998 +#: readelf.c:2006 msgid " -x or --hex-dump=\n" msgstr "" -#: readelf.c:1999 +#: readelf.c:2007 msgid " Dump the contents of section \n" msgstr "" -#: readelf.c:2000 +#: readelf.c:2008 msgid "" " -w[liaprf] or --debug-dump[=line,=info,=abbrev,=pubnames,=ranges,=frames]\n" msgstr "" -#: readelf.c:2001 +#: readelf.c:2009 msgid "" " Display the contents of DWARF2 debug sections\n" msgstr "" -#: readelf.c:2003 +#: readelf.c:2011 msgid " -i or --instruction-dump=\n" msgstr "" -#: readelf.c:2004 +#: readelf.c:2012 msgid "" " Disassemble the contents of section \n" msgstr "" -#: readelf.c:2006 +#: readelf.c:2014 msgid " -I or --histogram Display histogram of bucket list lengths\n" msgstr "" -#: readelf.c:2007 +#: readelf.c:2015 msgid " -v or --version Display the version number of readelf\n" msgstr "" -#: readelf.c:2008 +#: readelf.c:2016 msgid " -H or --help Display this information\n" msgstr "" -#: readelf.c:2026 +#: readelf.c:2034 msgid "Out of memory allocating dump request table." msgstr "" -#: readelf.c:2170 +#: readelf.c:2179 #, c-format msgid "Unrecognised debug option '%s'\n" msgstr "" -#: readelf.c:2195 +#: readelf.c:2204 #, c-format msgid "Invalid option '-%c'\n" msgstr "" -#: readelf.c:2208 +#: readelf.c:2217 msgid "Nothing to do.\n" msgstr "" -#: readelf.c:2221 readelf.c:2238 readelf.c:4234 +#: readelf.c:2230 readelf.c:2247 readelf.c:4310 msgid "none" msgstr "" -#: readelf.c:2222 +#: readelf.c:2231 msgid "ELF32" msgstr "" -#: readelf.c:2223 +#: readelf.c:2232 msgid "ELF64" msgstr "" -#: readelf.c:2225 readelf.c:2242 readelf.c:2270 +#: readelf.c:2234 readelf.c:2251 readelf.c:2279 #, c-format msgid "" msgstr "" -#: readelf.c:2239 +#: readelf.c:2248 msgid "2's complement, little endian" msgstr "" -#: readelf.c:2240 +#: readelf.c:2249 msgid "2's complement, big endian" msgstr "" -#: readelf.c:2255 +#: readelf.c:2264 msgid "UNIX - System V" msgstr "" -#: readelf.c:2256 +#: readelf.c:2265 msgid "UNIX - HP-UX" msgstr "" -#: readelf.c:2257 +#: readelf.c:2266 msgid "UNIX - NetBSD" msgstr "" -#: readelf.c:2258 +#: readelf.c:2267 msgid "UNIX - Linux" msgstr "" -#: readelf.c:2259 +#: readelf.c:2268 msgid "GNU/Hurd" msgstr "" -#: readelf.c:2260 +#: readelf.c:2269 msgid "UNIX - Solaris" msgstr "" -#: readelf.c:2261 +#: readelf.c:2270 msgid "UNIX - AIX" msgstr "" -#: readelf.c:2262 +#: readelf.c:2271 msgid "UNIX - IRIX" msgstr "" -#: readelf.c:2263 +#: readelf.c:2272 msgid "UNIX - FreeBSD" msgstr "" -#: readelf.c:2264 +#: readelf.c:2273 msgid "UNIX - TRU64" msgstr "" -#: readelf.c:2265 +#: readelf.c:2274 msgid "Novell - Modesto" msgstr "" -#: readelf.c:2266 +#: readelf.c:2275 msgid "UNIX - OpenBSD" msgstr "" -#: readelf.c:2267 +#: readelf.c:2276 msgid "Standalone App" msgstr "" -#: readelf.c:2268 +#: readelf.c:2277 msgid "ARM" msgstr "" -#: readelf.c:2285 +#: readelf.c:2294 msgid "Not an ELF file - it has the wrong magic bytes at the start\n" msgstr "" -#: readelf.c:2293 +#: readelf.c:2302 msgid "ELF Header:\n" msgstr "" -#: readelf.c:2294 +#: readelf.c:2303 msgid " Magic: " msgstr "" -#: readelf.c:2298 +#: readelf.c:2307 #, c-format msgid " Class: %s\n" msgstr "" -#: readelf.c:2300 +#: readelf.c:2309 #, c-format msgid " Data: %s\n" msgstr "" -#: readelf.c:2302 +#: readelf.c:2311 #, c-format msgid " Version: %d %s\n" msgstr "" -#: readelf.c:2309 +#: readelf.c:2318 #, c-format msgid " OS/ABI: %s\n" msgstr "" -#: readelf.c:2311 +#: readelf.c:2320 #, c-format msgid " ABI Version: %d\n" msgstr "" -#: readelf.c:2313 +#: readelf.c:2322 #, c-format msgid " Type: %s\n" msgstr "" -#: readelf.c:2315 +#: readelf.c:2324 #, c-format msgid " Machine: %s\n" msgstr "" -#: readelf.c:2317 +#: readelf.c:2326 #, c-format msgid " Version: 0x%lx\n" msgstr "" -#: readelf.c:2320 +#: readelf.c:2329 msgid " Entry point address: " msgstr "" -#: readelf.c:2322 +#: readelf.c:2331 msgid "" "\n" " Start of program headers: " msgstr "" -#: readelf.c:2324 +#: readelf.c:2333 msgid "" " (bytes into file)\n" " Start of section headers: " msgstr "" -#: readelf.c:2326 +#: readelf.c:2335 msgid " (bytes into file)\n" msgstr "" -#: readelf.c:2328 +#: readelf.c:2337 #, c-format msgid " Flags: 0x%lx%s\n" msgstr "" -#: readelf.c:2331 +#: readelf.c:2340 #, c-format msgid " Size of this header: %ld (bytes)\n" msgstr "" -#: readelf.c:2333 +#: readelf.c:2342 #, c-format msgid " Size of program headers: %ld (bytes)\n" msgstr "" -#: readelf.c:2335 +#: readelf.c:2344 #, c-format msgid " Number of program headers: %ld\n" msgstr "" -#: readelf.c:2337 +#: readelf.c:2346 #, c-format msgid " Size of section headers: %ld (bytes)\n" msgstr "" -#: readelf.c:2339 +#: readelf.c:2348 #, c-format msgid " Number of section headers: %ld\n" msgstr "" -#: readelf.c:2341 +#: readelf.c:2350 #, c-format msgid " Section header string table index: %ld\n" msgstr "" -#: readelf.c:2426 +#: readelf.c:2435 msgid "" "\n" "There are no program headers in this file.\n" msgstr "" -#: readelf.c:2432 +#: readelf.c:2441 #, c-format msgid "" "\n" "Elf file type is %s\n" msgstr "" -#: readelf.c:2433 +#: readelf.c:2442 msgid "Entry point " msgstr "" -#: readelf.c:2435 +#: readelf.c:2444 #, c-format msgid "" "\n" "There are %d program headers, starting at offset " msgstr "" -#: readelf.c:2446 readelf.c:2622 readelf.c:2664 readelf.c:2707 readelf.c:2748 -#: readelf.c:3627 readelf.c:3668 readelf.c:3844 readelf.c:4765 readelf.c:4779 -#: readelf.c:8150 readelf.c:8190 +#: readelf.c:2455 readelf.c:2631 readelf.c:2673 readelf.c:2716 readelf.c:2757 +#: readelf.c:3703 readelf.c:3744 readelf.c:3920 readelf.c:4841 readelf.c:4855 +#: readelf.c:8294 readelf.c:8334 msgid "Out of memory\n" msgstr "" -#: readelf.c:2464 +#: readelf.c:2473 #, c-format msgid "" "\n" "Program Header%s:\n" msgstr "" -#: readelf.c:2468 +#: readelf.c:2477 msgid "" " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" msgstr "" -#: readelf.c:2472 +#: readelf.c:2481 msgid " Type Offset VirtAddr PhysAddr\n" msgstr "" -#: readelf.c:2474 +#: readelf.c:2483 msgid " FileSiz MemSiz Flags Align\n" msgstr "" -#: readelf.c:2532 +#: readelf.c:2541 msgid "more than one dynamic segment\n" msgstr "" -#: readelf.c:2540 +#: readelf.c:2549 msgid "Unable to find program interpreter name\n" msgstr "" -#: readelf.c:2547 +#: readelf.c:2556 #, c-format msgid "" "\n" " [Requesting program interpreter: %s]" msgstr "" -#: readelf.c:2565 +#: readelf.c:2574 msgid "" "\n" " Section to Segment mapping:\n" msgstr "" -#: readelf.c:2566 +#: readelf.c:2575 msgid " Segment Sections...\n" msgstr "" -#: readelf.c:2830 +#: readelf.c:2839 msgid "" "\n" "There are no sections in this file.\n" msgstr "" -#: readelf.c:2836 +#: readelf.c:2845 #, c-format msgid "There are %d section headers, starting at offset 0x%lx:\n" msgstr "" -#: readelf.c:2874 +#: readelf.c:2883 msgid "File contains multiple dynamic symbol tables\n" msgstr "" -#: readelf.c:2887 +#: readelf.c:2896 msgid "File contains multiple dynamic string tables\n" msgstr "" -#: readelf.c:2921 +#: readelf.c:2931 #, c-format msgid "" "\n" "Section Header%s:\n" msgstr "" -#: readelf.c:2925 +#: readelf.c:2935 msgid "" " [Nr] Name Type Addr Off Size ES Flg Lk " "Inf Al\n" msgstr "" -#: readelf.c:2928 +#: readelf.c:2938 msgid " [Nr] Name Type Address Offset\n" msgstr "" -#: readelf.c:2929 +#: readelf.c:2939 msgid " Size EntSize Flags Link Info Align\n" msgstr "" -#: readelf.c:2976 +#: readelf.c:2986 msgid "Key to Flags:\n" msgstr "" -#: readelf.c:2977 +#: readelf.c:2987 msgid " W (write), A (alloc), X (execute), M (merge), S (strings)\n" msgstr "" -#: readelf.c:2978 +#: readelf.c:2988 msgid " I (info), L (link order), G (group), x (unknown)\n" msgstr "" -#: readelf.c:2979 +#: readelf.c:2989 msgid "" " O (extra OS processing required) o (OS specific), p (processor specific)\n" msgstr "" -#: readelf.c:3037 +#: readelf.c:3047 #, c-format msgid "" "\n" "Relocation section at offset 0x%lx contains %ld bytes:\n" msgstr "" -#: readelf.c:3044 +#: readelf.c:3054 msgid "" "\n" "There are no dynamic relocations in this file.\n" msgstr "" -#: readelf.c:3072 +#: readelf.c:3082 msgid "" "\n" "Relocation section " msgstr "" -#: readelf.c:3079 readelf.c:3450 +#: readelf.c:3089 readelf.c:3523 #, c-format msgid " at offset 0x%lx contains %lu entries:\n" msgstr "" -#: readelf.c:3107 +#: readelf.c:3117 msgid "" "\n" "There are no relocations in this file.\n" msgstr "" -#: readelf.c:3351 readelf.c:3363 +#: readelf.c:3361 readelf.c:3373 #, c-format msgid "Skipping unexpected symbol type %u" msgstr "" -#: readelf.c:3371 +#: readelf.c:3381 #, c-format msgid "Skipping unexpected relocation type %s" msgstr "" -#: readelf.c:3443 +#: readelf.c:3426 readelf.c:3451 msgid "" "\n" -"Unwind section " +"There are no unwind sections in this file.\n" msgstr "" -#: readelf.c:3459 +#: readelf.c:3502 msgid "" "\n" -"There are no unwind sections in this file.\n" +"Could not find unwind info section for " +msgstr "" + +#: readelf.c:3516 +msgid "" +"\n" +"Unwind section " msgstr "" -#: readelf.c:3721 +#: readelf.c:3797 msgid "" "\n" "There is no dynamic segment in this file.\n" msgstr "" -#: readelf.c:3755 +#: readelf.c:3831 msgid "Unable to seek to end of file!" msgstr "" -#: readelf.c:3764 +#: readelf.c:3840 msgid "Unable to determine the number of symbols to load\n" msgstr "" -#: readelf.c:3794 +#: readelf.c:3870 msgid "Unable to seek to end of file\n" msgstr "" -#: readelf.c:3800 +#: readelf.c:3876 msgid "Unable to determine the length of the dynamic string table\n" msgstr "" -#: readelf.c:3861 +#: readelf.c:3937 #, c-format msgid "" "\n" "Dynamic segment at offset 0x%x contains %ld entries:\n" msgstr "" -#: readelf.c:3864 +#: readelf.c:3940 msgid " Tag Type Name/Value\n" msgstr "" -#: readelf.c:3900 +#: readelf.c:3976 msgid "Auxiliary library" msgstr "" -#: readelf.c:3904 +#: readelf.c:3980 msgid "Filter library" msgstr "" -#: readelf.c:3908 +#: readelf.c:3984 msgid "Configuration file" msgstr "" -#: readelf.c:3912 +#: readelf.c:3988 msgid "Dependency audit library" msgstr "" -#: readelf.c:3916 +#: readelf.c:3992 msgid "Audit library" msgstr "" -#: readelf.c:3934 readelf.c:3960 readelf.c:3986 +#: readelf.c:4010 readelf.c:4036 readelf.c:4062 msgid "Flags:" msgstr "" -#: readelf.c:3936 readelf.c:3962 readelf.c:3988 +#: readelf.c:4012 readelf.c:4038 readelf.c:4064 msgid " None\n" msgstr "" -#: readelf.c:4107 +#: readelf.c:4183 #, c-format msgid "Shared library: [%s]" msgstr "" -#: readelf.c:4110 +#: readelf.c:4186 msgid " program interpreter" msgstr "" -#: readelf.c:4114 +#: readelf.c:4190 #, c-format msgid "Library soname: [%s]" msgstr "" -#: readelf.c:4118 +#: readelf.c:4194 #, c-format msgid "Library rpath: [%s]" msgstr "" -#: readelf.c:4122 +#: readelf.c:4198 #, c-format msgid "Library runpath: [%s]" msgstr "" -#: readelf.c:4183 +#: readelf.c:4259 #, c-format msgid "Not needed object: [%s]\n" msgstr "" -#: readelf.c:4280 +#: readelf.c:4356 #, c-format msgid "" "\n" "Version definition section '%s' contains %ld entries:\n" msgstr "" -#: readelf.c:4283 +#: readelf.c:4359 msgid " Addr: 0x" msgstr "" -#: readelf.c:4285 readelf.c:4473 +#: readelf.c:4361 readelf.c:4549 #, c-format msgid " Offset: %#08lx Link: %lx (%s)\n" msgstr "" -#: readelf.c:4315 +#: readelf.c:4391 #, c-format msgid " %#06x: Rev: %d Flags: %s" msgstr "" -#: readelf.c:4318 +#: readelf.c:4394 #, c-format msgid " Index: %d Cnt: %d " msgstr "" -#: readelf.c:4329 +#: readelf.c:4405 #, c-format msgid "Name: %s\n" msgstr "" -#: readelf.c:4331 +#: readelf.c:4407 #, c-format msgid "Name index: %ld\n" msgstr "" -#: readelf.c:4346 +#: readelf.c:4422 #, c-format msgid " %#06x: Parent %d: %s\n" msgstr "" -#: readelf.c:4349 +#: readelf.c:4425 #, c-format msgid " %#06x: Parent %d, name index: %ld\n" msgstr "" -#: readelf.c:4368 +#: readelf.c:4444 #, c-format msgid "" "\n" "Version needs section '%s' contains %ld entries:\n" msgstr "" -#: readelf.c:4371 +#: readelf.c:4447 msgid " Addr: 0x" msgstr "" -#: readelf.c:4373 +#: readelf.c:4449 #, c-format msgid " Offset: %#08lx Link to section: %ld (%s)\n" msgstr "" -#: readelf.c:4399 +#: readelf.c:4475 #, c-format msgid " %#06x: Version: %d" msgstr "" -#: readelf.c:4402 +#: readelf.c:4478 #, c-format msgid " File: %s" msgstr "" -#: readelf.c:4404 +#: readelf.c:4480 #, c-format msgid " File: %lx" msgstr "" -#: readelf.c:4406 +#: readelf.c:4482 #, c-format msgid " Cnt: %d\n" msgstr "" -#: readelf.c:4424 +#: readelf.c:4500 #, c-format msgid " %#06x: Name: %s" msgstr "" -#: readelf.c:4427 +#: readelf.c:4503 #, c-format msgid " %#06x: Name index: %lx" msgstr "" -#: readelf.c:4430 +#: readelf.c:4506 #, c-format msgid " Flags: %s Version: %d\n" msgstr "" -#: readelf.c:4468 +#: readelf.c:4544 #, c-format msgid "" "\n" "Version symbols section '%s' contains %d entries:\n" msgstr "" -#: readelf.c:4471 +#: readelf.c:4547 msgid " Addr: " msgstr "" -#: readelf.c:4502 +#: readelf.c:4578 msgid " 0 (*local*) " msgstr "" -#: readelf.c:4506 +#: readelf.c:4582 msgid " 1 (*global*) " msgstr "" -#: readelf.c:4640 +#: readelf.c:4716 msgid "" "\n" "No version information found in this file.\n" msgstr "" -#: readelf.c:4658 readelf.c:4693 +#: readelf.c:4734 readelf.c:4769 #, c-format msgid ": %d" msgstr "" -#: readelf.c:4660 readelf.c:4705 +#: readelf.c:4736 readelf.c:4781 #, c-format msgid ": %d" msgstr "" -#: readelf.c:4662 readelf.c:4708 +#: readelf.c:4738 readelf.c:4784 #, c-format msgid ": %d" msgstr "" -#: readelf.c:4771 +#: readelf.c:4847 msgid "Unable to read in dynamic data\n" msgstr "" -#: readelf.c:4813 +#: readelf.c:4889 msgid "Unable to seek to start of dynamic information" msgstr "" -#: readelf.c:4819 +#: readelf.c:4895 msgid "Failed to read in number of buckets\n" msgstr "" -#: readelf.c:4825 +#: readelf.c:4901 msgid "Failed to read in number of chains\n" msgstr "" -#: readelf.c:4845 +#: readelf.c:4921 msgid "" "\n" "Symbol table for image:\n" msgstr "" -#: readelf.c:4847 +#: readelf.c:4923 msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:4849 +#: readelf.c:4925 msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:4893 +#: readelf.c:4969 #, c-format msgid "" "\n" "Symbol table '%s' contains %lu entries:\n" msgstr "" -#: readelf.c:4897 +#: readelf.c:4973 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:4899 +#: readelf.c:4975 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:5009 +#: readelf.c:5085 msgid "bad dynamic symbol" msgstr "" -#: readelf.c:5069 +#: readelf.c:5145 msgid "" "\n" "Dynamic symbol information is not available for displaying symbols.\n" msgstr "" -#: readelf.c:5081 +#: readelf.c:5157 #, c-format msgid "" "\n" "Histogram for bucket list length (total of %d buckets):\n" msgstr "" -#: readelf.c:5083 +#: readelf.c:5159 msgid " Length Number %% of total Coverage\n" msgstr "" -#: readelf.c:5088 readelf.c:5107 readelf.c:7832 readelf.c:8025 +#: readelf.c:5164 readelf.c:5183 readelf.c:7976 readelf.c:8169 msgid "Out of memory" msgstr "" -#: readelf.c:5156 +#: readelf.c:5232 #, c-format msgid "" "\n" "Dynamic info segment at offset 0x%lx contains %d entries:\n" msgstr "" -#: readelf.c:5159 +#: readelf.c:5235 msgid " Num: Name BoundTo Flags\n" msgstr "" -#: readelf.c:5207 +#: readelf.c:5283 #, c-format msgid "" "\n" "Assembly dump of section %s\n" msgstr "" -#: readelf.c:5230 +#: readelf.c:5306 #, c-format msgid "" "\n" "Section '%s' has no data to dump.\n" msgstr "" -#: readelf.c:5235 +#: readelf.c:5311 #, c-format msgid "" "\n" "Hex dump of section '%s':\n" msgstr "" -#: readelf.c:5387 +#: readelf.c:5463 msgid "badly formed extended line op encountered!" msgstr "" -#: readelf.c:5394 +#: readelf.c:5470 #, c-format msgid " Extended opcode %d: " msgstr "" -#: readelf.c:5399 +#: readelf.c:5475 msgid "" "End of Sequence\n" "\n" msgstr "" -#: readelf.c:5405 +#: readelf.c:5481 #, c-format msgid "set Address to 0x%lx\n" msgstr "" -#: readelf.c:5410 +#: readelf.c:5486 msgid " define new File Table entry\n" msgstr "" -#: readelf.c:5411 readelf.c:5533 +#: readelf.c:5487 readelf.c:5609 msgid " Entry\tDir\tTime\tSize\tName\n" msgstr "" -#: readelf.c:5413 +#: readelf.c:5489 #, c-format msgid " %d\t" msgstr "" -#: readelf.c:5416 readelf.c:5418 readelf.c:5420 readelf.c:5545 readelf.c:5547 -#: readelf.c:5549 +#: readelf.c:5492 readelf.c:5494 readelf.c:5496 readelf.c:5621 readelf.c:5623 +#: readelf.c:5625 #, c-format msgid "%lu\t" msgstr "" -#: readelf.c:5421 +#: readelf.c:5497 #, c-format msgid "" "%s\n" "\n" msgstr "" -#: readelf.c:5425 +#: readelf.c:5501 #, c-format msgid "UNKNOWN: length %d\n" msgstr "" -#: readelf.c:5451 +#: readelf.c:5527 #, c-format msgid "" "\n" @@ -3012,503 +3015,503 @@ msgid "" "\n" msgstr "" -#: readelf.c:5463 +#: readelf.c:5539 msgid "The line info appears to be corrupt - the section is too small\n" msgstr "" -#: readelf.c:5471 +#: readelf.c:5547 msgid "Only DWARF version 2 line info is currently supported.\n" msgstr "" -#: readelf.c:5486 +#: readelf.c:5562 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:5487 +#: readelf.c:5563 #, c-format msgid " DWARF Version: %d\n" msgstr "" -#: readelf.c:5488 +#: readelf.c:5564 #, c-format -msgid " Prolgue Length: %d\n" +msgid " Prologue Length: %d\n" msgstr "" -#: readelf.c:5489 +#: readelf.c:5565 #, c-format msgid " Minimum Instruction Length: %d\n" msgstr "" -#: readelf.c:5490 +#: readelf.c:5566 #, c-format msgid " Initial value of 'is_stmt': %d\n" msgstr "" -#: readelf.c:5491 +#: readelf.c:5567 #, c-format msgid " Line Base: %d\n" msgstr "" -#: readelf.c:5492 +#: readelf.c:5568 #, c-format msgid " Line Range: %d\n" msgstr "" -#: readelf.c:5493 +#: readelf.c:5569 #, c-format msgid " Opcode Base: %d\n" msgstr "" -#: readelf.c:5502 +#: readelf.c:5578 msgid "" "\n" " Opcodes:\n" msgstr "" -#: readelf.c:5505 +#: readelf.c:5581 #, c-format msgid " Opcode %d has %d args\n" msgstr "" -#: readelf.c:5511 +#: readelf.c:5587 msgid "" "\n" " The Directory Table is empty.\n" msgstr "" -#: readelf.c:5514 +#: readelf.c:5590 msgid "" "\n" " The Directory Table:\n" msgstr "" -#: readelf.c:5518 +#: readelf.c:5594 #, c-format msgid " %s\n" msgstr "" -#: readelf.c:5529 +#: readelf.c:5605 msgid "" "\n" " The File Name Table is empty.\n" msgstr "" -#: readelf.c:5532 +#: readelf.c:5608 msgid "" "\n" " The File Name Table:\n" msgstr "" -#: readelf.c:5540 +#: readelf.c:5616 #, c-format msgid " %d\t" msgstr "" -#: readelf.c:5551 +#: readelf.c:5627 #, c-format msgid "%s\n" msgstr "" #. Now display the statements. -#: readelf.c:5559 +#: readelf.c:5635 msgid "" "\n" " Line Number Statements:\n" msgstr "" -#: readelf.c:5578 +#: readelf.c:5654 msgid " Copy\n" msgstr "" -#: readelf.c:5585 +#: readelf.c:5661 #, c-format msgid " Advance PC by %d to %lx\n" msgstr "" -#: readelf.c:5593 +#: readelf.c:5669 #, c-format msgid " Advance Line by %d to %d\n" msgstr "" -#: readelf.c:5600 +#: readelf.c:5676 #, c-format msgid " Set File Name to entry %d in the File Name Table\n" msgstr "" -#: readelf.c:5608 +#: readelf.c:5684 #, c-format msgid " Set column to %d\n" msgstr "" -#: readelf.c:5615 +#: readelf.c:5691 #, c-format msgid " Set is_stmt to %d\n" msgstr "" -#: readelf.c:5620 +#: readelf.c:5696 msgid " Set basic block\n" msgstr "" -#: readelf.c:5628 +#: readelf.c:5704 #, c-format msgid " Advance PC by constant %d to 0x%lx\n" msgstr "" -#: readelf.c:5636 +#: readelf.c:5712 #, c-format msgid " Advance PC by fixed size amount %d to 0x%lx\n" msgstr "" -#: readelf.c:5644 +#: readelf.c:5720 #, c-format msgid " Special opcode %d: advance Address by %d to 0x%lx" msgstr "" -#: readelf.c:5648 +#: readelf.c:5724 #, c-format msgid " and Line by %d to %d\n" msgstr "" -#: readelf.c:5671 readelf.c:6100 +#: readelf.c:5747 readelf.c:6176 #, c-format msgid "" "Contents of the %s section:\n" "\n" msgstr "" -#: readelf.c:5694 +#: readelf.c:5770 msgid "Only DWARF 2 pubnames are currently supported\n" msgstr "" -#: readelf.c:5701 +#: readelf.c:5777 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:5703 +#: readelf.c:5779 #, c-format msgid " Version: %d\n" msgstr "" -#: readelf.c:5705 +#: readelf.c:5781 #, c-format msgid " Offset into .debug_info section: %ld\n" msgstr "" -#: readelf.c:5707 +#: readelf.c:5783 #, c-format msgid " Size of area in .debug_info section: %ld\n" msgstr "" -#: readelf.c:5710 +#: readelf.c:5786 msgid "" "\n" " Offset\tName\n" msgstr "" -#: readelf.c:5792 +#: readelf.c:5868 #, c-format msgid "Unknown TAG value: %lx" msgstr "" -#: readelf.c:5887 +#: readelf.c:5963 #, c-format msgid "Unknown AT value: %lx" msgstr "" -#: readelf.c:5924 +#: readelf.c:6000 #, c-format msgid "Unknown FORM value: %lx" msgstr "" -#: readelf.c:6106 +#: readelf.c:6182 msgid " Number TAG\n" msgstr "" -#: readelf.c:6112 +#: readelf.c:6188 #, c-format msgid " %ld %s [%s]\n" msgstr "" -#: readelf.c:6115 +#: readelf.c:6191 msgid "has children" msgstr "" -#: readelf.c:6115 +#: readelf.c:6191 msgid "no children" msgstr "" -#: readelf.c:6119 +#: readelf.c:6195 #, c-format msgid " %-18s %s\n" msgstr "" -#: readelf.c:6138 +#: readelf.c:6214 #, c-format msgid " %lu byte block: " msgstr "" -#: readelf.c:6445 +#: readelf.c:6521 msgid "(User defined location op)" msgstr "" -#: readelf.c:6447 +#: readelf.c:6523 msgid "(Unknown location op)" msgstr "" -#: readelf.c:6574 +#: readelf.c:6650 #, c-format msgid "Unable to handle FORM: %d" msgstr "" -#: readelf.c:6578 +#: readelf.c:6654 #, c-format msgid "Unrecognised form: %d" msgstr "" -#: readelf.c:6591 +#: readelf.c:6667 msgid "(not inlined)" msgstr "" -#: readelf.c:6592 +#: readelf.c:6668 msgid "(inlined)" msgstr "" -#: readelf.c:6593 +#: readelf.c:6669 msgid "(declared as inline but ignored)" msgstr "" -#: readelf.c:6594 +#: readelf.c:6670 msgid "(declared as inline and inlined)" msgstr "" -#: readelf.c:6595 +#: readelf.c:6671 #, c-format msgid " (Unknown inline attribute value: %lx)" msgstr "" -#: readelf.c:6724 readelf.c:6850 +#: readelf.c:6800 readelf.c:6926 #, c-format msgid "" "The section %s contains:\n" "\n" msgstr "" -#: readelf.c:6746 +#: readelf.c:6822 #, c-format msgid " Compilation Unit @ %lx:\n" msgstr "" -#: readelf.c:6747 +#: readelf.c:6823 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:6748 +#: readelf.c:6824 #, c-format msgid " Version: %d\n" msgstr "" -#: readelf.c:6749 +#: readelf.c:6825 #, c-format msgid " Abbrev Offset: %ld\n" msgstr "" -#: readelf.c:6750 +#: readelf.c:6826 #, c-format msgid " Pointer Size: %d\n" msgstr "" -#: readelf.c:6754 +#: readelf.c:6830 msgid "Only version 2 DWARF debug information is currently supported.\n" msgstr "" -#: readelf.c:6776 +#: readelf.c:6852 msgid "Unable to locate .debug_abbrev section!\n" msgstr "" -#: readelf.c:6816 +#: readelf.c:6892 #, c-format msgid "Unable to locate entry %lu in the abbreviation table\n" msgstr "" -#: readelf.c:6821 +#: readelf.c:6897 #, c-format msgid " <%d><%x>: Abbrev Number: %lu (%s)\n" msgstr "" -#: readelf.c:6871 +#: readelf.c:6947 msgid "Only DWARF 2 aranges are currently supported.\n" msgstr "" -#: readelf.c:6875 +#: readelf.c:6951 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:6876 +#: readelf.c:6952 #, c-format msgid " Version: %d\n" msgstr "" -#: readelf.c:6877 +#: readelf.c:6953 #, c-format msgid " Offset into .debug_info: %lx\n" msgstr "" -#: readelf.c:6878 +#: readelf.c:6954 #, c-format msgid " Pointer Size: %d\n" msgstr "" -#: readelf.c:6879 +#: readelf.c:6955 #, c-format msgid " Segment Size: %d\n" msgstr "" -#: readelf.c:6881 +#: readelf.c:6957 msgid "" "\n" " Address Length\n" msgstr "" -#: readelf.c:7043 +#: readelf.c:7135 #, c-format msgid "The section %s contains:\n" msgstr "" -#: readelf.c:7518 +#: readelf.c:7663 #, c-format msgid "Displaying the debug contents of section %s is not yet supported.\n" msgstr "" -#: readelf.c:7582 +#: readelf.c:7726 #, c-format msgid "" "\n" "Section '%s' has no debugging data.\n" msgstr "" -#: readelf.c:7601 +#: readelf.c:7745 #, c-format msgid "Unrecognised debug section: %s\n" msgstr "" -#: readelf.c:7673 +#: readelf.c:7817 msgid "Some sections were not dumped because they do not exist!\n" msgstr "" -#: readelf.c:7856 +#: readelf.c:8000 #, c-format msgid "" "\n" "Section '%s' contains %d entries:\n" msgstr "" -#: readelf.c:8018 +#: readelf.c:8162 msgid "conflict list with without table" msgstr "" -#: readelf.c:8046 +#: readelf.c:8190 #, c-format msgid "" "\n" "Section '.conflict' contains %d entries:\n" msgstr "" -#: readelf.c:8047 +#: readelf.c:8191 msgid " Num: Index Value Name" msgstr "" -#: readelf.c:8072 +#: readelf.c:8216 msgid "NT_PRSTATUS (prstatus structure)" msgstr "" -#: readelf.c:8073 +#: readelf.c:8217 msgid "NT_FPREGSET (floating point registers)" msgstr "" -#: readelf.c:8074 +#: readelf.c:8218 msgid "NT_PRPSINFO (prpsinfo structure)" msgstr "" -#: readelf.c:8075 +#: readelf.c:8219 msgid "NT_TASKSTRUCT (task structure)" msgstr "" -#: readelf.c:8076 +#: readelf.c:8220 msgid "NT_PRXFPREG (user_xfpregs structure)" msgstr "" -#: readelf.c:8077 +#: readelf.c:8221 msgid "NT_PSTATUS (pstatus structure)" msgstr "" -#: readelf.c:8078 +#: readelf.c:8222 msgid "NT_FPREGS (floating point registers)" msgstr "" -#: readelf.c:8079 +#: readelf.c:8223 msgid "NT_PSINFO (psinfo structure)" msgstr "" -#: readelf.c:8080 +#: readelf.c:8224 msgid "NT_LWPSTATUS (lwpstatus_t structure)" msgstr "" -#: readelf.c:8081 +#: readelf.c:8225 msgid "NT_LWPSINFO (lwpsinfo_t structure)" msgstr "" -#: readelf.c:8082 +#: readelf.c:8226 msgid "NT_WIN32PSTATUS (win32_pstatus strcuture)" msgstr "" -#: readelf.c:8084 +#: readelf.c:8228 #, c-format msgid "Unknown note type: (0x%08x)" msgstr "" -#: readelf.c:8122 +#: readelf.c:8266 #, c-format msgid "" "\n" "Notes at offset 0x%08lx with length 0x%08lx:\n" msgstr "" -#: readelf.c:8124 +#: readelf.c:8268 msgid " Owner\t\tData size\tDescription\n" msgstr "" -#: readelf.c:8235 +#: readelf.c:8379 msgid "No note segments present in the core file.\n" msgstr "" -#: readelf.c:8313 +#: readelf.c:8457 msgid "This instance of readelf has been built without support for a\n" msgstr "" -#: readelf.c:8314 +#: readelf.c:8458 msgid "64 bit data type and so it cannot read 64 bit ELF files.\n" msgstr "" -#: readelf.c:8349 +#: readelf.c:8493 #, c-format msgid "Cannot stat input file %s.\n" msgstr "" -#: readelf.c:8356 +#: readelf.c:8500 #, c-format msgid "Input file %s not found.\n" msgstr "" -#: readelf.c:8362 +#: readelf.c:8506 #, c-format msgid "%s: Failed to read file header\n" msgstr "" -#: readelf.c:8376 +#: readelf.c:8520 #, c-format msgid "" "\n" @@ -3923,17 +3926,17 @@ msgstr "" msgid "Invalid radix: %s\n" msgstr "" -#: srconv.c:1880 +#: srconv.c:1881 #, c-format msgid "Usage: %s [-dhVq] in-file [out-file]\n" msgstr "" -#: srconv.c:1887 +#: srconv.c:1888 #, c-format msgid "%s: Convert a COFF object file into a SYSROFF object file\n" msgstr "" -#: srconv.c:2020 +#: srconv.c:2021 #, c-format msgid "unable to open output file %s" msgstr "" @@ -4033,17 +4036,17 @@ msgstr "" msgid "no argument types in mangled string\n" msgstr "" -#: strings.c:177 +#: strings.c:180 #, c-format msgid "invalid number %s" msgstr "" -#: strings.c:513 +#: strings.c:516 #, c-format msgid "invalid integer argument %s" msgstr "" -#: strings.c:523 +#: strings.c:526 #, c-format msgid "" "Usage: %s [-afov] [-n min-len] [-min-len] [-t {o,x,d}] [-]\n" @@ -4061,11 +4064,11 @@ msgstr "" msgid "cannot open input file %s" msgstr "" -#: version.c:39 +#: version.c:40 msgid "Copyright 1997, 98, 99, 2000, 2001 Free Software Foundation, Inc.\n" msgstr "" -#: version.c:40 +#: version.c:41 msgid "" "This program is free software; you may redistribute it under the terms of\n" "the GNU General Public License. This program has absolutely no warranty.\n" diff -uprN binutils-2.11.90.0.8/binutils/ranlib.1 binutils-2.11.90.0.15/binutils/ranlib.1 --- binutils-2.11.90.0.8/binutils/ranlib.1 Tue Mar 27 08:46:35 2001 +++ binutils-2.11.90.0.15/binutils/ranlib.1 Sat Jun 9 00:19:03 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 Jun 9 00:19:03 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.13" "2001-06-09" "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.8/binutils/readelf.1 binutils-2.11.90.0.15/binutils/readelf.1 --- binutils-2.11.90.0.8/binutils/readelf.1 Tue Mar 27 08:46:38 2001 +++ binutils-2.11.90.0.15/binutils/readelf.1 Sat Jun 9 00:19:04 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 Jun 9 00:19:04 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.13" "2001-06-09" "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.8/binutils/readelf.c binutils-2.11.90.0.15/binutils/readelf.c --- binutils-2.11.90.0.8/binutils/readelf.c Sat May 12 00:58:01 2001 +++ binutils-2.11.90.0.15/binutils/readelf.c Fri Jun 1 21:47:18 2001 @@ -79,37 +79,37 @@ #include "bucomm.h" #include "getopt.h" -char * program_name = "readelf"; -unsigned int dynamic_addr; -bfd_size_type dynamic_size; -unsigned int rela_addr; -unsigned int rela_size; -char * dynamic_strings; +char * program_name = "readelf"; +unsigned int dynamic_addr; +bfd_size_type dynamic_size; +unsigned int rela_addr; +unsigned int rela_size; +char * dynamic_strings; char * string_table; unsigned long string_table_length; unsigned long num_dynamic_syms; -Elf_Internal_Sym * dynamic_symbols; +Elf_Internal_Sym * dynamic_symbols; Elf_Internal_Syminfo * dynamic_syminfo; -unsigned long dynamic_syminfo_offset; +unsigned long dynamic_syminfo_offset; unsigned int dynamic_syminfo_nent; -char program_interpreter [64]; -int dynamic_info[DT_JMPREL + 1]; -int version_info[16]; -int loadaddr = 0; +char program_interpreter [64]; +int dynamic_info[DT_JMPREL + 1]; +int version_info[16]; +int loadaddr = 0; Elf_Internal_Ehdr elf_header; Elf_Internal_Shdr * section_headers; Elf_Internal_Dyn * dynamic_segment; -int show_name; -int do_dynamic; -int do_syms; -int do_reloc; -int do_sections; -int do_segments; +int show_name; +int do_dynamic; +int do_syms; +int do_reloc; +int do_sections; +int do_segments; int do_unwind; -int do_using_dynamic; -int do_header; -int do_dump; -int do_version; +int do_using_dynamic; +int do_header; +int do_dump; +int do_version; int do_histogram; int do_debugging; int do_debug_info; @@ -118,6 +118,7 @@ int do_debug_lines; int do_debug_pubnames; int do_debug_aranges; int do_debug_frames; +int do_debug_frames_interp; int do_arch; int do_notes; int is_32bit_elf; @@ -152,8 +153,8 @@ static const char * get_mips_dynam static const char * get_sparc64_dynamic_type PARAMS ((unsigned long)); static const char * get_parisc_dynamic_type PARAMS ((unsigned long)); static const char * get_dynamic_type PARAMS ((unsigned long)); -static int slurp_rela_relocs PARAMS ((FILE *, unsigned long, unsigned long, Elf_Internal_Rela **, unsigned long *)); -static int slurp_rel_relocs PARAMS ((FILE *, unsigned long, unsigned long, Elf_Internal_Rel **, unsigned long *)); +static int slurp_rela_relocs PARAMS ((FILE *, unsigned long, unsigned long, Elf_Internal_Rela **, unsigned long *)); +static int slurp_rel_relocs PARAMS ((FILE *, unsigned long, unsigned long, Elf_Internal_Rel **, unsigned long *)); static int dump_relocations PARAMS ((FILE *, unsigned long, unsigned long, Elf_Internal_Sym *, unsigned long, char *, int)); static char * get_file_type PARAMS ((unsigned)); static char * get_machine_name PARAMS ((unsigned)); @@ -171,7 +172,7 @@ static const char * get_symbol_bin static const char * get_symbol_type PARAMS ((unsigned int)); static const char * get_symbol_visibility PARAMS ((unsigned int)); static const char * get_symbol_index_type PARAMS ((unsigned int)); -static const char * get_dynamic_flags PARAMS ((bfd_vma)); +static const char * get_dynamic_flags PARAMS ((bfd_vma)); static void usage PARAMS ((void)); static void parse_args PARAMS ((int, char **)); static int process_file_header PARAMS ((void)); @@ -199,10 +200,10 @@ static int * get_dynamic_da static int get_32bit_dynamic_segment PARAMS ((FILE *)); static int get_64bit_dynamic_segment PARAMS ((FILE *)); #ifdef SUPPORT_DISASSEMBLY -static int disassemble_section PARAMS ((Elf32_Internal_Shdr *, FILE *)); +static int disassemble_section PARAMS ((Elf32_Internal_Shdr *, FILE *)); #endif -static int dump_section PARAMS ((Elf32_Internal_Shdr *, FILE *)); -static int display_debug_section PARAMS ((Elf32_Internal_Shdr *, FILE *)); +static int dump_section PARAMS ((Elf32_Internal_Shdr *, FILE *)); +static int display_debug_section PARAMS ((Elf32_Internal_Shdr *, FILE *)); static int display_debug_info PARAMS ((Elf32_Internal_Shdr *, unsigned char *, FILE *)); static int display_debug_not_supported PARAMS ((Elf32_Internal_Shdr *, unsigned char *, FILE *)); static int display_debug_lines PARAMS ((Elf32_Internal_Shdr *, unsigned char *, FILE *)); @@ -227,11 +228,11 @@ static const char * get_elf_class static const char * get_data_encoding PARAMS ((unsigned char)); static const char * get_osabi_name PARAMS ((unsigned char)); static int guess_is_rela PARAMS ((unsigned long)); -static char * get_note_type PARAMS ((unsigned int)); +static char * get_note_type PARAMS ((unsigned int)); static int process_note PARAMS ((Elf32_Internal_Note *)); static int process_corefile_note_segment PARAMS ((FILE *, bfd_vma, bfd_vma)); static int process_corefile_note_segments PARAMS ((FILE *)); -static int process_corefile_contents PARAMS ((FILE *)); +static int process_corefile_contents PARAMS ((FILE *)); typedef int Elf32_Word; @@ -241,13 +242,13 @@ typedef int Elf32_Word; #endif #define UNKNOWN -1 -#define SECTION_NAME(X) ((X) == NULL ? "" : \ +#define SECTION_NAME(X) ((X) == NULL ? "" : \ ((X)->sh_name >= string_table_length \ ? "" : string_table + (X)->sh_name)) #define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag)) /* Reverse order! */ -#define BYTE_GET(field) byte_get (field, sizeof (field)) +#define BYTE_GET(field) byte_get (field, sizeof (field)) /* If we can support a 64 bit data type then BFD64 should be defined and sizeof (bfd_vma) == 8. In this case when translating from an @@ -258,12 +259,12 @@ typedef int Elf32_Word; equivalent of the 8 byte wide external counterparts, and so we must truncate the data. */ #ifdef BFD64 -#define BYTE_GET8(field) byte_get (field, -8) +#define BYTE_GET8(field) byte_get (field, -8) #else -#define BYTE_GET8(field) byte_get (field, 8) +#define BYTE_GET8(field) byte_get (field, 8) #endif -#define NUM_ELEM(array) (sizeof (array) / sizeof ((array)[0])) +#define NUM_ELEM(array) (sizeof (array) / sizeof ((array)[0])) #define GET_DATA_ALLOC(offset, size, var, type, reason) \ if (fseek (file, offset, SEEK_SET)) \ @@ -278,20 +279,20 @@ typedef int Elf32_Word; { \ error (_("Out of memory allocating %d bytes for %s\n"), size, reason); \ return 0; \ - } \ - \ - if (fread (var, size, 1, file) != 1) \ - { \ - error (_("Unable to read in %d bytes of %s\n"), size, reason); \ - free (var); \ + } \ + \ + if (fread (var, size, 1, file) != 1) \ + { \ + error (_("Unable to read in %d bytes of %s\n"), size, reason); \ + free (var); \ var = NULL; \ - return 0; \ + return 0; \ } -#define GET_DATA(offset, var, reason) \ +#define GET_DATA(offset, var, reason) \ if (fseek (file, offset, SEEK_SET)) \ - { \ + { \ error (_("Unable to seek to %x for %s\n"), offset, reason); \ return 0; \ } \ @@ -376,11 +377,13 @@ byte_get_little_endian (field, size) return ((unsigned int) (field [0])) | (((unsigned int) (field [1])) << 8); +#ifndef BFD64 case 8: /* We want to extract data from an 8 byte wide field and place it into a 4 byte wide field. Since this is a little endian source we can juts use the 4 byte extraction code. */ /* Fall through. */ +#endif case 4: return ((unsigned long) (field [0])) | (((unsigned long) (field [1])) << 8) @@ -388,6 +391,7 @@ byte_get_little_endian (field, size) | (((unsigned long) (field [3])) << 24); #ifdef BFD64 + case 8: case -8: /* This is a special case, generated by the BYTE_GET8 macro. It means that we are loading an 8 byte value from a field @@ -516,6 +520,7 @@ byte_get_big_endian (field, size) | (((unsigned long) (field [1])) << 16) | (((unsigned long) (field [0])) << 24); +#ifndef BFD64 case 8: /* Although we are extracing data from an 8 byte wide field, we are returning only 4 bytes of data. */ @@ -523,8 +528,8 @@ byte_get_big_endian (field, size) | (((unsigned long) (field [6])) << 8) | (((unsigned long) (field [5])) << 16) | (((unsigned long) (field [4])) << 24); - -#ifdef BFD64 +#else + case 8: case -8: /* This is a special case, generated by the BYTE_GET8 macro. It means that we are loading an 8 byte value from a field @@ -562,7 +567,7 @@ guess_is_rela (e_machine) case EM_CYGNUS_M32R: case EM_CYGNUS_D10V: case EM_MIPS: - case EM_MIPS_RS4_BE: + case EM_MIPS_RS3_LE: return FALSE; /* Targets that use RELA relocations. */ @@ -902,7 +907,7 @@ dump_relocations (file, rel_offset, rel_ break; case EM_MIPS: - case EM_MIPS_RS4_BE: + case EM_MIPS_RS3_LE: rtype = elf_mips_reloc_type (type); break; @@ -1179,7 +1184,7 @@ get_dynamic_type (type) switch (elf_header.e_machine) { case EM_MIPS: - case EM_MIPS_RS4_BE: + case EM_MIPS_RS3_LE: result = get_mips_dynamic_type (type); break; case EM_SPARCV9: @@ -1254,32 +1259,32 @@ get_machine_name (e_machine) switch (e_machine) { - case EM_NONE: return _("None"); - case EM_M32: return "WE32100"; - case EM_SPARC: return "Sparc"; - case EM_386: return "Intel 80386"; - case EM_68K: return "MC68000"; - case EM_88K: return "MC88000"; - case EM_486: return "Intel 80486"; - case EM_860: return "Intel 80860"; - case EM_MIPS: return "MIPS R3000"; - case EM_S370: return "IBM System/370"; - case EM_MIPS_RS4_BE: return "MIPS R4000 big-endian"; + case EM_NONE: return _("None"); + case EM_M32: return "WE32100"; + case EM_SPARC: return "Sparc"; + case EM_386: return "Intel 80386"; + case EM_68K: return "MC68000"; + case EM_88K: return "MC88000"; + case EM_486: return "Intel 80486"; + case EM_860: return "Intel 80860"; + case EM_MIPS: return "MIPS R3000"; + case EM_S370: return "IBM System/370"; + case EM_MIPS_RS3_LE: return "MIPS R4000 big-endian"; case EM_OLD_SPARCV9: return "Sparc v9 (old)"; - case EM_PARISC: return "HPPA"; + case EM_PARISC: return "HPPA"; case EM_PPC_OLD: return "Power PC (old)"; - case EM_SPARC32PLUS: return "Sparc v8+" ; - case EM_960: return "Intel 90860"; - case EM_PPC: return "PowerPC"; - case EM_V800: return "NEC V800"; - case EM_FR20: return "Fujitsu FR20"; - case EM_RH32: return "TRW RH32"; + case EM_SPARC32PLUS: return "Sparc v8+" ; + case EM_960: return "Intel 90860"; + case EM_PPC: return "PowerPC"; + case EM_V800: return "NEC V800"; + case EM_FR20: return "Fujitsu FR20"; + case EM_RH32: return "TRW RH32"; case EM_MCORE: return "MCORE"; - case EM_ARM: return "ARM"; - case EM_OLD_ALPHA: return "Digital Alpha (old)"; - case EM_SH: return "Hitachi SH"; - case EM_SPARCV9: return "Sparc v9"; - case EM_TRICORE: return "Siemens Tricore"; + case EM_ARM: return "ARM"; + case EM_OLD_ALPHA: return "Digital Alpha (old)"; + case EM_SH: return "Hitachi SH"; + case EM_SPARCV9: return "Sparc v9"; + case EM_TRICORE: return "Siemens Tricore"; case EM_ARC: return "ARC"; case EM_H8_300: return "Hitachi H8/300"; case EM_H8_300H: return "Hitachi H8/300H"; @@ -1289,7 +1294,7 @@ get_machine_name (e_machine) case EM_MIPS_X: return "Stanford MIPS-X"; case EM_COLDFIRE: return "Motorola Coldfire"; case EM_68HC12: return "Motorola M68HC12"; - case EM_ALPHA: return "Alpha"; + case EM_ALPHA: return "Alpha"; case EM_CYGNUS_D10V: return "d10v"; case EM_CYGNUS_D30V: return "d30v"; case EM_CYGNUS_ARC: return "ARC"; @@ -1299,32 +1304,32 @@ get_machine_name (e_machine) case EM_CYGNUS_MN10200: return "mn10200"; case EM_CYGNUS_FR30: return "Fujitsu FR30"; case EM_PJ: return "picoJava"; - case EM_MMA: return "Fujitsu Multimedia Accelerator"; - case EM_PCP: return "Siemens PCP"; - case EM_NCPU: return "Sony nCPU embedded RISC processor"; - case EM_NDR1: return "Denso NDR1 microprocesspr"; - case EM_STARCORE: return "Motorola Star*Core processor"; - case EM_ME16: return "Toyota ME16 processor"; - case EM_ST100: return "STMicroelectronics ST100 processor"; - case EM_TINYJ: return "Advanced Logic Corp. TinyJ embedded processor"; - case EM_FX66: return "Siemens FX66 microcontroller"; - case EM_ST9PLUS: return "STMicroelectronics ST9+ 8/16 bit microcontroller"; - case EM_ST7: return "STMicroelectronics ST7 8-bit microcontroller"; - case EM_68HC16: return "Motorola MC68HC16 Microcontroller"; - case EM_68HC11: return "Motorola MC68HC11 Microcontroller"; - case EM_68HC08: return "Motorola MC68HC08 Microcontroller"; - case EM_68HC05: return "Motorola MC68HC05 Microcontroller"; - case EM_SVX: return "Silicon Graphics SVx"; - case EM_ST19: return "STMicroelectronics ST19 8-bit microcontroller"; - case EM_VAX: return "Digital VAX"; + case EM_MMA: return "Fujitsu Multimedia Accelerator"; + case EM_PCP: return "Siemens PCP"; + case EM_NCPU: return "Sony nCPU embedded RISC processor"; + case EM_NDR1: return "Denso NDR1 microprocesspr"; + case EM_STARCORE: return "Motorola Star*Core processor"; + case EM_ME16: return "Toyota ME16 processor"; + case EM_ST100: return "STMicroelectronics ST100 processor"; + case EM_TINYJ: return "Advanced Logic Corp. TinyJ embedded processor"; + case EM_FX66: return "Siemens FX66 microcontroller"; + case EM_ST9PLUS: return "STMicroelectronics ST9+ 8/16 bit microcontroller"; + case EM_ST7: return "STMicroelectronics ST7 8-bit microcontroller"; + case EM_68HC16: return "Motorola MC68HC16 Microcontroller"; + case EM_68HC11: return "Motorola MC68HC11 Microcontroller"; + case EM_68HC08: return "Motorola MC68HC08 Microcontroller"; + case EM_68HC05: return "Motorola MC68HC05 Microcontroller"; + case EM_SVX: return "Silicon Graphics SVx"; + case EM_ST19: return "STMicroelectronics ST19 8-bit microcontroller"; + case EM_VAX: return "Digital VAX"; case EM_AVR: return "Atmel AVR 8-bit microcontroller"; case EM_CRIS: return "Axis Communications 32-bit embedded processor"; - case EM_JAVELIN: return "Infineon Technologies 32-bit embedded cpu"; - case EM_FIREPATH: return "Element 14 64-bit DSP processor"; - case EM_ZSP: return "LSI Logic's 16-bit DSP processor"; + case EM_JAVELIN: return "Infineon Technologies 32-bit embedded cpu"; + case EM_FIREPATH: return "Element 14 64-bit DSP processor"; + case EM_ZSP: return "LSI Logic's 16-bit DSP processor"; case EM_MMIX: return "Donald Knuth's educational 64-bit processor"; - case EM_HUANY: return "Harvard Universitys's machine-independent object format"; - case EM_PRISM: return "SiTera Prism"; + case EM_HUANY: return "Harvard Universitys's machine-independent object format"; + case EM_PRISM: return "SiTera Prism"; case EM_X86_64: return "Advanced Micro Devices X86-64"; case EM_S390_OLD: case EM_S390: return "IBM S/390"; @@ -1537,7 +1542,7 @@ get_machine_flags (e_flags, e_machine) break; case EM_MIPS: - case EM_MIPS_RS4_BE: + case EM_MIPS_RS3_LE: if (e_flags & EF_MIPS_NOREORDER) strcat (buf, ", noreorder"); @@ -1752,7 +1757,7 @@ get_segment_type (p_type) switch (elf_header.e_machine) { case EM_MIPS: - case EM_MIPS_RS4_BE: + case EM_MIPS_RS3_LE: result = get_mips_segment_type (p_type); break; case EM_PARISC: @@ -1918,7 +1923,7 @@ get_section_type_name (sh_type) switch (elf_header.e_machine) { case EM_MIPS: - case EM_MIPS_RS4_BE: + case EM_MIPS_RS3_LE: result = get_mips_section_type_name (sh_type); break; case EM_PARISC: @@ -2164,8 +2169,9 @@ parse_args (argc, argv) do_debug_aranges = 1; break; - case 'f': case 'F': + do_debug_frames_interp = 1; + case 'f': do_debug_frames = 1; break; @@ -2895,7 +2901,8 @@ process_section_headers (file) dynamic_strings, char *, "dynamic strings"); } else if ((do_debugging || do_debug_info || do_debug_abbrevs - || do_debug_lines || do_debug_pubnames || do_debug_aranges || do_debug_frames) + || do_debug_lines || do_debug_pubnames || do_debug_aranges + || do_debug_frames) && strncmp (name, ".debug_", 7) == 0) { name += 7; @@ -3049,8 +3056,8 @@ process_relocs (file) else { Elf32_Internal_Shdr * section; - unsigned long i; - int found = 0; + unsigned long i; + int found = 0; for (i = 0, section = section_headers; i < elf_header.e_shnum; @@ -3195,7 +3202,7 @@ dump_ia64_unwind (aux) bfd_vma addr_size; struct unw_table_entry * tp; int in_body; - + addr_size = is_32bit_elf ? 4 : 8; for (tp = aux->table; tp < aux->table + aux->table_len; ++tp) @@ -4273,7 +4280,7 @@ process_dynamic_segment (file) switch (elf_header.e_machine) { case EM_MIPS: - case EM_MIPS_RS4_BE: + case EM_MIPS_RS3_LE: dynamic_segment_mips_val (entry); break; case EM_PARISC: @@ -4513,12 +4520,12 @@ process_version_sections (file) case SHT_GNU_versym: { Elf32_Internal_Shdr * link_section; - int total; - int cnt; - unsigned char * edata; - unsigned short * data; - char * strtab; - Elf_Internal_Sym * symbols; + int total; + int cnt; + unsigned char * edata; + unsigned short * data; + char * strtab; + Elf_Internal_Sym * symbols; Elf32_Internal_Shdr * string_sec; link_section = section_headers + section->sh_link; @@ -6991,12 +6998,13 @@ typedef struct Frame_Chunk int * col_offset; char * augmentation; unsigned int code_factor; - unsigned int data_factor; + int data_factor; unsigned long pc_begin; unsigned long pc_range; int cfa_reg; int cfa_offset; int ra; + unsigned char fde_encoding; } Frame_Chunk; @@ -7058,7 +7066,7 @@ frame_display_row (fc, need_col_headers, printf ("\n"); } - printf ("%08x ", (unsigned int) fc->pc_begin); + printf ("%08lx ", fc->pc_begin); sprintf (tmp, "r%d%+d", fc->cfa_reg, fc->cfa_offset); printf ("%-8s ", tmp); @@ -7090,6 +7098,20 @@ frame_display_row (fc, need_col_headers, printf ("\n"); } +static int +size_of_encoded_value (encoding) + int encoding; +{ + switch (encoding & 0x7) + { + default: /* ??? */ + case 0: return is_32bit_elf ? 4 : 8; + case 2: return 2; + case 3: return 4; + case 4: return 8; + } +} + #define GET(N) byte_get (start, N); start += N #define LEB() read_leb128 (start, & length_return, 0); start += length_return #define SLEB() read_leb128 (start, & length_return, 1); start += length_return @@ -7108,6 +7130,7 @@ display_debug_frames (section, start, fi int is_eh = (strcmp (SECTION_NAME (section), ".eh_frame") == 0); int length_return; int max_regs = 0; + int addr_size = is_32bit_elf ? 4 : 8; printf (_("The section %s contains:\n"), SECTION_NAME (section)); @@ -7120,6 +7143,9 @@ display_debug_frames (section, start, fi Frame_Chunk * fc; Frame_Chunk * cie; int need_col_headers = 1; + unsigned char * augmentation_data = NULL; + unsigned long augmentation_data_len = 0; + int encoded_ptr_size = addr_size; saved_start = start; length = byte_get (start, 4); start += 4; @@ -7130,10 +7156,10 @@ display_debug_frames (section, start, fi block_end = saved_start + length + 4; cie_id = byte_get (start, 4); start += 4; - printf ("\n%08x %08lx %08lx ", saved_start - section_start, length, cie_id); - if (is_eh ? (cie_id == 0) : (cie_id == DW_CIE_ID)) { + int version; + fc = (Frame_Chunk *) xmalloc (sizeof (Frame_Chunk)); memset (fc, 0, sizeof (Frame_Chunk)); @@ -7145,27 +7171,23 @@ display_debug_frames (section, start, fi fc->col_offset = (int *) xmalloc (sizeof (int)); frame_need_space (fc, max_regs-1); - start ++; /* version */ - fc->augmentation = start; + version = *start++; - while (* start) - start++; - - start++; /* skip past NUL */ + fc->augmentation = start; + start = strchr (start, '\0') + 1; if (fc->augmentation[0] == 'z') { - int xtra; fc->code_factor = LEB (); fc->data_factor = SLEB (); fc->ra = byte_get (start, 1); start += 1; - xtra = LEB (); - printf ("skipping %d extra bytes\n", xtra); - start += xtra; + augmentation_data_len = LEB (); + augmentation_data = start; + start += augmentation_data_len; } else if (strcmp (fc->augmentation, "eh") == 0) { - start += 4; + start += addr_size; fc->code_factor = LEB (); fc->data_factor = SLEB (); fc->ra = byte_get (start, 1); start += 1; @@ -7177,8 +7199,55 @@ display_debug_frames (section, start, fi fc->ra = byte_get (start, 1); start += 1; } cie = fc; - printf ("CIE \"%s\" cf=%d df=%d ra=%d\n", - fc->augmentation, fc->code_factor, fc->data_factor, fc->ra); + + if (do_debug_frames_interp) + printf ("\n%08lx %08lx %08lx CIE \"%s\" cf=%d df=%d ra=%d\n", + (unsigned long)(saved_start - section_start), length, cie_id, + fc->augmentation, fc->code_factor, fc->data_factor, + fc->ra); + else + { + printf ("\n%08lx %08lx %08lx CIE\n", + (unsigned long)(saved_start - section_start), length, cie_id); + printf (" Version: %d\n", version); + printf (" Augmentation: \"%s\"\n", fc->augmentation); + printf (" Code alignment factor: %u\n", fc->code_factor); + printf (" Data alignment factor: %d\n", fc->data_factor); + printf (" Return address column: %d\n", fc->ra); + + if (augmentation_data_len) + { + unsigned long i; + printf (" Augmentation data: "); + for (i = 0; i < augmentation_data_len; ++i) + printf (" %02x", augmentation_data[i]); + putchar ('\n'); + } + putchar ('\n'); + } + + if (augmentation_data_len) + { + unsigned char *p, *q; + p = fc->augmentation + 1; + q = augmentation_data; + + while (1) + { + if (*p == 'L') + q++; + else if (*p == 'P') + q += 1 + size_of_encoded_value (*q); + else if (*p == 'R') + fc->fde_encoding = *q++; + else + break; + p++; + } + + if (fc->fde_encoding) + encoded_ptr_size = size_of_encoded_value (fc->fde_encoding); + } frame_need_space (fc, fc->ra); } @@ -7190,15 +7259,16 @@ display_debug_frames (section, start, fi fc = & fde_fc; memset (fc, 0, sizeof (Frame_Chunk)); - look_for = is_eh ? start-4-cie_id : (unsigned char *) cie_id; + look_for = is_eh ? start - 4 - cie_id : section_start + cie_id; - fc->pc_begin = byte_get (start, 4); start += 4; - fc->pc_range = byte_get (start, 4); start += 4; + for (cie=chunks; cie ; cie = cie->next) + if (cie->chunk_start == look_for) + break; - for (cie=chunks; cie && (cie->chunk_start != look_for); cie = cie->next); if (!cie) { - warn ("Invalid CIE pointer %08x in FDE at %08x\n", cie_id, saved_start); + warn ("Invalid CIE pointer %08lx in FDE at %08lx\n", + cie_id, saved_start); start = block_end; fc->ncols = 0; fc->col_type = (short int *) xmalloc (sizeof (short int)); @@ -7206,6 +7276,7 @@ display_debug_frames (section, start, fi frame_need_space (fc, max_regs - 1); cie = fc; fc->augmentation = ""; + fc->fde_encoding = 0; } else { @@ -7221,25 +7292,43 @@ display_debug_frames (section, start, fi fc->cfa_offset = cie->cfa_offset; fc->ra = cie->ra; frame_need_space (fc, max_regs-1); + fc->fde_encoding = cie->fde_encoding; } + if (fc->fde_encoding) + encoded_ptr_size = size_of_encoded_value (fc->fde_encoding); + + fc->pc_begin = byte_get (start, encoded_ptr_size); + start += encoded_ptr_size; + fc->pc_range = byte_get (start, encoded_ptr_size); + start += encoded_ptr_size; + if (cie->augmentation[0] == 'z') { - unsigned long l = LEB (); - start += l; + augmentation_data_len = LEB (); + augmentation_data = start; + start += augmentation_data_len; } - printf ("FDE cie=%08x pc=%08lx..%08lx\n", - cie->chunk_start-section_start, fc->pc_begin, + printf ("\n%08lx %08lx %08lx FDE cie=%08x pc=%08lx..%08lx\n", + (unsigned long)(saved_start - section_start), length, cie_id, + cie->chunk_start - section_start, fc->pc_begin, fc->pc_begin + fc->pc_range); + if (! do_debug_frames_interp && augmentation_data_len) + { + unsigned long i; + printf (" Augmentation data: "); + for (i = 0; i < augmentation_data_len; ++i) + printf (" %02x", augmentation_data[i]); + putchar ('\n'); + putchar ('\n'); + } } /* At this point, fc is the current chunk, cie (if any) is set, and we're about to interpret instructions for the chunk. */ - /* This exists for readelf maintainers. */ -#define FDEBUG 0 - + if (do_debug_frames_interp) { /* Start by making a pass over the chunk, allocating storage and taking note of what registers are used. */ @@ -7249,13 +7338,12 @@ display_debug_frames (section, start, fi { unsigned op, opa; unsigned long reg; - bfd_vma vma; - + op = * start ++; opa = op & 0x3f; if (op & 0xc0) op &= 0xc0; - + /* Warning: if you add any more cases to this switch, be sure to add them to the corresponding switch below. */ switch (op) @@ -7272,7 +7360,7 @@ display_debug_frames (section, start, fi fc->col_type[opa] = DW_CFA_undefined; break; case DW_CFA_set_loc: - start += sizeof (vma); + start += encoded_ptr_size; break; case DW_CFA_advance_loc1: start += 1; @@ -7322,15 +7410,15 @@ display_debug_frames (section, start, fi #endif case DW_CFA_GNU_args_size: LEB (); - break; + break; #ifndef DW_CFA_GNU_negative_offset_extended #define DW_CFA_GNU_negative_offset_extended 0x2f #endif case DW_CFA_GNU_negative_offset_extended: - reg = LEB (); LEB (); + reg = LEB (); LEB (); frame_need_space (fc, reg); fc->col_type[reg] = DW_CFA_undefined; - + default: break; } @@ -7358,103 +7446,104 @@ display_debug_frames (section, start, fi switch (op) { case DW_CFA_advance_loc: - frame_display_row (fc, &need_col_headers, &max_regs); -#if FDEBUG - printf (" DW_CFA_advance_loc: %08x = %08x + %d*%d\n", - fc->pc_begin + opa * fc->code_factor, fc->pc_begin, opa, fc->code_factor); -#endif + if (do_debug_frames_interp) + frame_display_row (fc, &need_col_headers, &max_regs); + else + printf (" DW_CFA_advance_loc: %d to %08lx\n", + opa * fc->code_factor, + fc->pc_begin + opa * fc->code_factor); fc->pc_begin += opa * fc->code_factor; break; case DW_CFA_offset: roffs = LEB (); -#if FDEBUG - printf (" DW_CFA_offset: r%d = cfa[%d*%d]\n", opa, roffs, fc->data_factor); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_offset: r%d at cfa%+ld\n", + opa, roffs * fc->data_factor); fc->col_type[opa] = DW_CFA_offset; fc->col_offset[opa] = roffs * fc->data_factor; break; case DW_CFA_restore: -#if FDEBUG - printf (" DW_CFA_restore: r%d\n", opa); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_restore: r%d\n", opa); fc->col_type[opa] = cie->col_type[opa]; fc->col_offset[opa] = cie->col_offset[opa]; break; case DW_CFA_set_loc: - frame_display_row (fc, &need_col_headers, &max_regs); - vma = byte_get (start, sizeof (vma)); start += sizeof (vma); -#if FDEBUG - printf (" DW_CFA_set_loc: %08x\n", vma); -#endif + vma = byte_get (start, encoded_ptr_size); + start += encoded_ptr_size; + if (do_debug_frames_interp) + frame_display_row (fc, &need_col_headers, &max_regs); + else + printf (" DW_CFA_set_loc: %08lx\n", (unsigned long)vma); fc->pc_begin = vma; break; case DW_CFA_advance_loc1: - frame_display_row (fc, &need_col_headers, &max_regs); ofs = byte_get (start, 1); start += 1; -#if FDEBUG - printf (" DW_CFA_advance_loc1: %08x = %08x + %d*%d\n", - fc->pc_begin + ofs * fc->code_factor, fc->pc_begin, ofs, fc->code_factor); -#endif + if (do_debug_frames_interp) + frame_display_row (fc, &need_col_headers, &max_regs); + else + printf (" DW_CFA_advance_loc1: %ld to %08lx\n", + ofs * fc->code_factor, + fc->pc_begin + ofs * fc->code_factor); fc->pc_begin += ofs * fc->code_factor; break; case DW_CFA_advance_loc2: - frame_display_row (fc, &need_col_headers, &max_regs); ofs = byte_get (start, 2); start += 2; -#if FDEBUG - printf (" DW_CFA_advance_loc2: %08x = %08x + %d*%d\n", - fc->pc_begin + ofs * fc->code_factor, fc->pc_begin, ofs, fc->code_factor); -#endif + if (do_debug_frames_interp) + frame_display_row (fc, &need_col_headers, &max_regs); + else + printf (" DW_CFA_advance_loc2: %ld to %08lx\n", + ofs * fc->code_factor, + fc->pc_begin + ofs * fc->code_factor); fc->pc_begin += ofs * fc->code_factor; break; case DW_CFA_advance_loc4: - frame_display_row (fc, &need_col_headers, &max_regs); ofs = byte_get (start, 4); start += 4; -#if FDEBUG - printf (" DW_CFA_advance_loc4: %08x = %08x + %d*%d\n", - fc->pc_begin + ofs * fc->code_factor, fc->pc_begin, ofs, fc->code_factor); -#endif + if (do_debug_frames_interp) + frame_display_row (fc, &need_col_headers, &max_regs); + else + printf (" DW_CFA_advance_loc4: %ld to %08lx\n", + ofs * fc->code_factor, + fc->pc_begin + ofs * fc->code_factor); fc->pc_begin += ofs * fc->code_factor; break; case DW_CFA_offset_extended: reg = LEB (); roffs = LEB (); -#if FDEBUG - printf (" DW_CFA_offset_extended: r%d = cfa[%d*%d]\n", reg, roffs, fc->data_factor); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_offset_extended: r%ld at cfa%+ld\n", + reg, roffs * fc->data_factor); fc->col_type[reg] = DW_CFA_offset; fc->col_offset[reg] = roffs * fc->data_factor; break; case DW_CFA_restore_extended: reg = LEB (); -#if FDEBUG - printf (" DW_CFA_restore_extended: r%d\n", reg); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_restore_extended: r%ld\n", reg); fc->col_type[reg] = cie->col_type[reg]; fc->col_offset[reg] = cie->col_offset[reg]; break; case DW_CFA_undefined: reg = LEB (); -#if FDEBUG - printf (" DW_CFA_undefined: r%d\n", reg); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_undefined: r%ld\n", reg); fc->col_type[reg] = DW_CFA_undefined; fc->col_offset[reg] = 0; break; case DW_CFA_same_value: reg = LEB (); -#if FDEBUG - printf (" DW_CFA_same_value: r%d\n", reg); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_same_value: r%ld\n", reg); fc->col_type[reg] = DW_CFA_same_value; fc->col_offset[reg] = 0; break; @@ -7462,17 +7551,15 @@ display_debug_frames (section, start, fi case DW_CFA_register: reg = LEB (); roffs = LEB (); -#if FDEBUG - printf (" DW_CFA_register: r%d\n", reg); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_register: r%ld\n", reg); fc->col_type[reg] = DW_CFA_register; fc->col_offset[reg] = roffs; break; case DW_CFA_remember_state: -#if FDEBUG - printf (" DW_CFA_remember_state\n"); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_remember_state\n"); rs = (Frame_Chunk *) xmalloc (sizeof (Frame_Chunk)); rs->ncols = fc->ncols; rs->col_type = (short int *) xmalloc (rs->ncols * sizeof (short int)); @@ -7484,9 +7571,8 @@ display_debug_frames (section, start, fi break; case DW_CFA_restore_state: -#if FDEBUG - printf (" DW_CFA_restore_state\n"); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_restore_state\n"); rs = remembered_state; remembered_state = rs->next; frame_need_space (fc, rs->ncols-1); @@ -7500,60 +7586,49 @@ display_debug_frames (section, start, fi case DW_CFA_def_cfa: fc->cfa_reg = LEB (); fc->cfa_offset = LEB (); -#if FDEBUG - printf (" DW_CFA_def_cfa: reg %d ofs %d\n", fc->cfa_reg, fc->cfa_offset); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_def_cfa: r%d ofs %d\n", + fc->cfa_reg, fc->cfa_offset); break; case DW_CFA_def_cfa_register: fc->cfa_reg = LEB (); -#if FDEBUG - printf (" DW_CFA_def_cfa_reg: %d\n", fc->cfa_reg); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_def_cfa_reg: r%d\n", fc->cfa_reg); break; case DW_CFA_def_cfa_offset: fc->cfa_offset = LEB (); -#if FDEBUG - printf (" DW_CFA_def_cfa_offset: %d\n", fc->cfa_offset); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_def_cfa_offset: %d\n", fc->cfa_offset); break; case DW_CFA_nop: -#if FDEBUG - printf (" DW_CFA_nop\n"); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_nop\n"); break; #ifndef DW_CFA_GNU_window_save #define DW_CFA_GNU_window_save 0x2d #endif case DW_CFA_GNU_window_save: -#if FDEBUG - printf (" DW_CFA_GNU_window_save\n"); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_GNU_window_save\n"); break; -#ifndef DW_CFA_GNU_args_size -#define DW_CFA_GNU_args_size 0x2e -#endif case DW_CFA_GNU_args_size: ul = LEB (); -#if FDEBUG - printf (" DW_CFA_GNU_args_size: %d\n", ul); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_GNU_args_size: %ld\n", ul); break; -#ifndef DW_CFA_GNU_negative_offset_extended -#define DW_CFA_GNU_negative_offset_extended 0x2f -#endif case DW_CFA_GNU_negative_offset_extended: reg = LEB (); l = - LEB (); frame_need_space (fc, reg); -#if FDEBUG - printf (" DW_CFA_GNU_negative_offset_extended: r%d = cfa[%d*%d]\n", reg, l, fc->data_factor); -#endif + if (! do_debug_frames_interp) + printf (" DW_CFA_GNU_negative_offset_extended: r%ld at cfa%+ld\n", + reg, l * fc->data_factor); fc->col_type[reg] = DW_CFA_offset; fc->col_offset[reg] = l * fc->data_factor; break; @@ -7564,7 +7639,8 @@ display_debug_frames (section, start, fi } } - frame_display_row (fc, &need_col_headers, &max_regs); + if (do_debug_frames_interp) + frame_display_row (fc, &need_col_headers, &max_regs); start = block_end; } @@ -7627,7 +7703,6 @@ debug_displays[] = { ".debug_frame", display_debug_frames, NULL }, { ".eh_frame", display_debug_frames, NULL }, { ".debug_macinfo", display_debug_not_supported, NULL }, - { ".debug_frame", display_debug_not_supported, NULL }, { ".debug_str", display_debug_not_supported, NULL }, { ".debug_static_func", display_debug_not_supported, NULL }, { ".debug_static_vars", display_debug_not_supported, NULL }, @@ -7657,7 +7732,7 @@ display_debug_section (section, file) /* See if we know how to display the contents of this section. */ if (strncmp (name, ".gnu.linkonce.wi.", 17) == 0) - name = ".debug_info"; + name = ".debug_info"; for (i = NUM_ELEM (debug_displays); i--;) if (strcmp (debug_displays[i].name, name) == 0) @@ -7684,7 +7759,7 @@ process_section_contents (file) FILE * file; { Elf32_Internal_Shdr * section; - unsigned int i; + unsigned int i; if (! do_dump) return 1; @@ -8166,7 +8241,7 @@ process_note (pnote) { printf (" %s\t\t0x%08lx\t%s\n", pnote->namesz ? pnote->namedata : "(NONE)", - pnote->descsz, get_note_type (pnote->type)); + pnote->descsz, get_note_type (pnote->type)); return 1; } @@ -8318,7 +8393,7 @@ process_arch_specific (file) switch (elf_header.e_machine) { case EM_MIPS: - case EM_MIPS_RS4_BE: + case EM_MIPS_RS3_LE: return process_mips_specific (file); break; default: diff -uprN binutils-2.11.90.0.8/binutils/size.1 binutils-2.11.90.0.15/binutils/size.1 --- binutils-2.11.90.0.8/binutils/size.1 Tue Mar 27 08:46:37 2001 +++ binutils-2.11.90.0.15/binutils/size.1 Sat Jun 9 00:19:04 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 Jun 9 00:19:04 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.13" "2001-06-09" "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.8/binutils/strings.1 binutils-2.11.90.0.15/binutils/strings.1 --- binutils-2.11.90.0.8/binutils/strings.1 Tue Mar 27 08:46:38 2001 +++ binutils-2.11.90.0.15/binutils/strings.1 Sat Jun 9 00:19:04 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 Jun 9 00:19:04 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.13" "2001-06-09" "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.8/binutils/strip.1 binutils-2.11.90.0.15/binutils/strip.1 --- binutils-2.11.90.0.8/binutils/strip.1 Tue Mar 27 08:46:38 2001 +++ binutils-2.11.90.0.15/binutils/strip.1 Sat Jun 9 00:19:05 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 Jun 9 00:19:05 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.13" "2001-06-09" "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.8/binutils/testsuite/ChangeLog binutils-2.11.90.0.15/binutils/testsuite/ChangeLog --- binutils-2.11.90.0.8/binutils/testsuite/ChangeLog Fri Mar 30 22:40:32 2001 +++ binutils-2.11.90.0.15/binutils/testsuite/ChangeLog Sat Jun 9 00:13:01 2001 @@ -1,3 +1,27 @@ +2001-06-07 H.J. Lu + + * binutils-all/readelf.ss-mips: Support stabs. + * binutils-all/readelf.ss-tmips: Likewise. + +2001-05-25 H.J. Lu + + * binutils-all/readelf.exp (readelf_test): Set target_machine + to tmips for traditional mips. + + * binutils-all/readelf.s: Support traditional mips. + + * binutils-all/readelf.ss-tmips: New for traditional mips. + +2001-05-25 Alan Modra + + * binutils-all/readelf.exp: Replace linuxoldld with linux*oldld + and linuxaout with linux*aout. + * binutils-all/objcopy.exp: Remove xfail for linuxaout. + +2001-05-24 H.J. Lu + + * binutils-all/objdump.exp (cpus_expected): Add s390. + 2001-03-30 H.J. Lu * binutils-all/readelf.exp: Run on more ELF targets. diff -uprN binutils-2.11.90.0.8/binutils/testsuite/binutils-all/objcopy.exp binutils-2.11.90.0.15/binutils/testsuite/binutils-all/objcopy.exp --- binutils-2.11.90.0.8/binutils/testsuite/binutils-all/objcopy.exp Sat Mar 17 12:48:00 2001 +++ binutils-2.11.90.0.15/binutils/testsuite/binutils-all/objcopy.exp Fri May 25 12:17:57 2001 @@ -73,7 +73,7 @@ if ![string match "" $got] then { setup_xfail "sh-*-coff" "sh-*-hms" setup_xfail "m68*-*-hpux*" "m68*-*-sunos*" "m68*-*-coff" "m68*-*-vxworks*" setup_xfail "m68*-ericsson-ose" "m68k*-motorola-sysv*" - setup_xfail "i*86-*-linuxaout*" "i*86-*-aout*" + setup_xfail "i*86-*-aout*" setup_xfail "i*86-*-sysv3" "i*86-*-isc*" "i*86-*-sco*" "i*86-*-coff" setup_xfail "i*86-*-aix*" "i*86-*-go32*" "i*86-*-msdos*" setup_xfail "a29k-*-udi" "a29k-*-coff" "a29k-*-vxworks*" diff -uprN binutils-2.11.90.0.8/binutils/testsuite/binutils-all/objdump.exp binutils-2.11.90.0.15/binutils/testsuite/binutils-all/objdump.exp --- binutils-2.11.90.0.8/binutils/testsuite/binutils-all/objdump.exp Thu Mar 15 14:51:57 2001 +++ binutils-2.11.90.0.15/binutils/testsuite/binutils-all/objdump.exp Thu May 24 21:22:10 2001 @@ -39,7 +39,7 @@ lappend cpus_expected a29k alliant alpha lappend cpus_expected d10v d30v fr30 h8 hppa i386 i860 i960 lappend cpus_expected m32r m68hc11 m68hc12 m68k m88k MCore lappend cpus_expected mips mn10200 mn10300 ns32k pj powerpc pyramid -lappend cpus_expected romp rs6000 sh sparc tahoe tic54x tms320c54x v850 +lappend cpus_expected romp rs6000 s390 sh sparc tahoe tic54x tms320c54x v850 lappend cpus_expected vax we32k z8k z8001 z8002 # Make sure the target CPU shows up in the list. diff -uprN binutils-2.11.90.0.8/binutils/testsuite/binutils-all/readelf.exp binutils-2.11.90.0.15/binutils/testsuite/binutils-all/readelf.exp --- binutils-2.11.90.0.8/binutils/testsuite/binutils-all/readelf.exp Fri Mar 30 22:40:33 2001 +++ binutils-2.11.90.0.15/binutils/testsuite/binutils-all/readelf.exp Fri May 25 12:04:01 2001 @@ -192,7 +192,11 @@ proc readelf_test { options binary_file set target_machine "" if [istarget "mips*-*-*"] then { - set target_machine mips + if { [istarget mips*el-*-*] || [istarget "mips*-*-*linux*"] } then { + set target_machine tmips + } else { + set target_machine mips + } } if { $target_machine != "" && [file exists $srcdir/$subdir/$regexp_file-$readelf_size-$target_machine] } then { @@ -230,8 +234,8 @@ if { ![istarget *-*-elf*] \ return } -if { [istarget *-*-linuxoldld*] \ - || [istarget *-*-linuxaout*] } { +if { [istarget *-*-linux*oldld*] \ + || [istarget *-*-linux*aout*] } { verbose "$READELF is only intended for ELF targets" 2 return } diff -uprN binutils-2.11.90.0.8/binutils/testsuite/binutils-all/readelf.s binutils-2.11.90.0.15/binutils/testsuite/binutils-all/readelf.s --- binutils-2.11.90.0.8/binutils/testsuite/binutils-all/readelf.s Mon Dec 4 16:33:06 2000 +++ binutils-2.11.90.0.15/binutils/testsuite/binutils-all/readelf.s Fri May 25 12:04:01 2001 @@ -3,12 +3,14 @@ There are .* section headers, starting a Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 +0 +0 +0 - \[ 1\] .text PROGBITS 00000000 000034 000008 00 +AX +0 +0 +. +# On the normal MIPS systems, sections must be aligned to 16 byte +# boundaries. + \[ 1\] .text PROGBITS 00000000 0000(34|40) 0000(08|10) 00 +AX +0 +0 +(.|..) \[ 2\] .rel.+text +REL. +0+ 0+.* 00000. 0. +. +1 +4 # MIPS targets put .rela.text here. #... - \[ .\] .data PROGBITS 00000000 00003c 000004 00 WA +0 +0 +. - \[ .\] .bss NOBITS 00000000 000040 000000 00 WA +0 +0 +. + \[ .\] .data PROGBITS 00000000 0000(3c|50) 0000(04|10) 00 WA +0 +0 +(.|..) + \[ .\] .bss NOBITS 00000000 0000(4|6)0 000000 00 WA +0 +0 +(.|..) # MIPS targets put .reginfo and .mdebug here. # v850 targets put .call_table_data and .call_table_text here. #... diff -uprN binutils-2.11.90.0.8/binutils/testsuite/binutils-all/readelf.ss-mips binutils-2.11.90.0.15/binutils/testsuite/binutils-all/readelf.ss-mips --- binutils-2.11.90.0.8/binutils/testsuite/binutils-all/readelf.ss-mips Tue Nov 7 16:29:52 2000 +++ binutils-2.11.90.0.15/binutils/testsuite/binutils-all/readelf.ss-mips Sat Jun 9 00:13:01 2001 @@ -12,4 +12,4 @@ Symbol table '.symtab' contains 12 entri 8: 00000000 0 NOTYPE GLOBAL DEFAULT UND external_symbol 9: 00000000 0 OBJECT GLOBAL DEFAULT 4 data_symbol 10: 00000000 0 NOTYPE LOCAL DEFAULT 4 static_data_symbol - 11: 00000004 4 OBJECT GLOBAL DEFAULT PRC common_symbol + 11: 00000004 4 OBJECT GLOBAL DEFAULT (PRC|COM) common_symbol diff -uprN binutils-2.11.90.0.8/binutils/testsuite/binutils-all/readelf.ss-tmips binutils-2.11.90.0.15/binutils/testsuite/binutils-all/readelf.ss-tmips --- binutils-2.11.90.0.8/binutils/testsuite/binutils-all/readelf.ss-tmips Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/binutils/testsuite/binutils-all/readelf.ss-tmips Sat Jun 9 00:13:01 2001 @@ -0,0 +1,15 @@ + +Symbol table '.symtab' contains 12 entries: + Num: Value Size Type Bind Vis Ndx Name + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 00000000 0 SECTION LOCAL DEFAULT 1 + 2: 00000000 0 SECTION LOCAL DEFAULT 4 + 3: 00000000 0 SECTION LOCAL DEFAULT 5 + 4: 00000000 0 NOTYPE LOCAL DEFAULT 1 static_text_symbol + 5: 00000000 0 NOTYPE LOCAL DEFAULT 4 static_data_symbol + 6: 00000000 0 SECTION LOCAL DEFAULT 6 + 7: 00000000 0 SECTION LOCAL DEFAULT 7 + 8: 00000000 0 OBJECT GLOBAL DEFAULT 1 text_symbol + 9: 00000000 0 NOTYPE GLOBAL DEFAULT UND external_symbol + 10: 00000000 0 OBJECT GLOBAL DEFAULT 4 data_symbol + 11: 00000004 4 OBJECT GLOBAL DEFAULT (PRC|COM) common_symbol diff -uprN binutils-2.11.90.0.8/binutils/windres.1 binutils-2.11.90.0.15/binutils/windres.1 --- binutils-2.11.90.0.8/binutils/windres.1 Tue Mar 27 08:46:38 2001 +++ binutils-2.11.90.0.15/binutils/windres.1 Sat Jun 9 00:19:05 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 Jun 9 00:19:05 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.13" "2001-06-09" "GNU" +.UC .SH "NAME" windres \- manipulate Windows resources. .SH "SYNOPSIS" +.IX Header "SYNOPSIS" windres [options] [input-file] [output-file] .SH "DESCRIPTION" -\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.8/binutils.spec binutils-2.11.90.0.15/binutils.spec --- binutils-2.11.90.0.8/binutils.spec Sat May 12 08:08:43 2001 +++ binutils-2.11.90.0.15/binutils.spec Sun Jun 10 11:36:19 2001 @@ -1,17 +1,12 @@ -# Define `COFF' as 1 if you want to add i386-coff instead of i386-pe -# for Linux/ELF/ia32. +# Define `COFF' as 1 if you want to add i386-coff instead of i386-pe. %define COFF 0 +%{?ENABLE_COFF:%define COFF 1} +%define ALL_TARGETS 0 +%{?ENABLE_ALL_TARGETS:%define ALL_TARGETS 1} + Summary: A GNU collection of binary utilities. Name: binutils -%ifarch i386 i486 i586 i686 -%if %{COFF} -Version: 2.11.90.0.8.coff -%else -Version: 2.11.90.0.8 -%endif -%else -Version: 2.11.90.0.8 -%endif +Version: 2.11.90.0.15 Release: 1 Copyright: GPL Group: Development/Tools @@ -51,15 +46,21 @@ echo "MAKE=make -j $NRPROC" > makefile echo "include Makefile" >> makefile ADDITIONAL_TARGETS="" %ifos linux -%ifarch i386 i486 i586 i686 -%if %{COFF} -ADDITIONAL_TARGETS="--enable-targets=i386-linuxaout,i386-coff" +%if %{ALL_TARGETS} +ADDITIONAL_TARGETS="--enable-targets=alpha-linux,arm-linux,cris-linux,hppa-linux,i386-linux,ia64-linux,m68k-linux,mips-linux,mips64-linux,mips64el-linux,mipsel-linux,ppc-linux,s390-linux,s390x-linux,sh-linux,sparc-linux,sparc64-linux,i386-linuxaout" %else -ADDITIONAL_TARGETS="--enable-targets=i386-linuxaout,i386-pe" +%ifarch %{ix86} +ADDITIONAL_TARGETS="--enable-targets=i386-linuxaout" %endif -%else %ifarch sparc ADDITIONAL_TARGETS="--enable-targets=sparc64-linux" +%endif +%endif +%ifarch %{ix86} +%if %{COFF} +ADDITIONAL_TARGETS="${ADDITIONAL_TARGETS},i386-coff" +%else +ADDITIONAL_TARGETS="${ADDITIONAL_TARGETS},i386-pe" %endif %endif %endif diff -uprN binutils-2.11.90.0.8/binutils.spec.in binutils-2.11.90.0.15/binutils.spec.in --- binutils-2.11.90.0.8/binutils.spec.in Wed Apr 25 11:08:29 2001 +++ binutils-2.11.90.0.15/binutils.spec.in Sat Jun 9 00:57:29 2001 @@ -1,17 +1,12 @@ -# Define `COFF' as 1 if you want to add i386-coff instead of i386-pe -# for Linux/ELF/ia32. +# Define `COFF' as 1 if you want to add i386-coff instead of i386-pe. %define COFF 0 +%{?ENABLE_COFF:%define COFF 1} +%define ALL_TARGETS 0 +%{?ENABLE_ALL_TARGETS:%define ALL_TARGETS 1} + Summary: A GNU collection of binary utilities. Name: binutils -%ifarch i386 i486 i586 i686 -%if %{COFF} -Version: @VERSION@.coff -%else Version: @VERSION@ -%endif -%else -Version: @VERSION@ -%endif Release: 1 Copyright: GPL Group: Development/Tools @@ -51,15 +46,21 @@ echo "MAKE=make -j $NRPROC" > makefile echo "include Makefile" >> makefile ADDITIONAL_TARGETS="" %ifos linux -%ifarch i386 i486 i586 i686 -%if %{COFF} -ADDITIONAL_TARGETS="--enable-targets=i386-linuxaout,i386-coff" +%if %{ALL_TARGETS} +ADDITIONAL_TARGETS="--enable-targets=alpha-linux,arm-linux,cris-linux,hppa-linux,i386-linux,ia64-linux,m68k-linux,mips-linux,mips64-linux,mips64el-linux,mipsel-linux,ppc-linux,s390-linux,s390x-linux,sh-linux,sparc-linux,sparc64-linux,i386-linuxaout" %else -ADDITIONAL_TARGETS="--enable-targets=i386-linuxaout,i386-pe" +%ifarch %{ix86} +ADDITIONAL_TARGETS="--enable-targets=i386-linuxaout" %endif -%else %ifarch sparc ADDITIONAL_TARGETS="--enable-targets=sparc64-linux" +%endif +%endif +%ifarch %{ix86} +%if %{COFF} +ADDITIONAL_TARGETS="${ADDITIONAL_TARGETS},i386-coff" +%else +ADDITIONAL_TARGETS="${ADDITIONAL_TARGETS},i386-pe" %endif %endif %endif diff -uprN binutils-2.11.90.0.8/config.if binutils-2.11.90.0.15/config.if --- binutils-2.11.90.0.8/config.if Thu Jul 27 17:55:18 2000 +++ binutils-2.11.90.0.15/config.if Mon May 14 09:49:19 2001 @@ -82,8 +82,8 @@ EOF exit 1 fi else - # Cross compiling. Assume glibc 2.1. - libc_interface=-libc6.1- + # Cross compiling. Assume glibc 2.2. + libc_interface=-libc6.2- fi ;; *) diff -uprN binutils-2.11.90.0.8/configure.in binutils-2.11.90.0.15/configure.in --- binutils-2.11.90.0.8/configure.in Sat May 12 00:57:46 2001 +++ binutils-2.11.90.0.15/configure.in Thu May 24 23:16:54 2001 @@ -814,12 +814,7 @@ case "${target}" in ;; powerpc-*-aix*) # copied from rs6000-*-* entry - # The configure and build of ld are currently disabled because - # GNU ld is known to be broken for AIX 4.2 and 4.3 (at least) - # The symptom is that GDBtk 4.18 fails at startup with a segfault - # if linked by GNU ld, but not if linked by the native ld. - noconfigdirs="$noconfigdirs gprof cvssrc target-libgloss target-libffi ld" - use_gnu_ld=no + use_gnu_ld=yes ;; powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe) target_configdirs="$target_configdirs target-winsup" @@ -844,12 +839,8 @@ case "${target}" in noconfigdirs="$noconfigdirs target-newlib gprof cvssrc target-libffi" ;; rs6000-*-aix*) - # The configure and build of ld are currently disabled because - # GNU ld is known to be broken for AIX 4.2 and 4.3 (at least) - # The symptom is that GDBtk 4.18 fails at startup with a segfault - # if linked by GNU ld, but not if linked by the native ld. - noconfigdirs="$noconfigdirs gprof target-libffi ld" - use_gnu_ld=no + noconfigdirs="$noconfigdirs gprof target-libffi" + use_gnu_ld=yes ;; rs6000-*-*) noconfigdirs="$noconfigdirs gprof target-libffi" diff -uprN binutils-2.11.90.0.8/gas/ChangeLog binutils-2.11.90.0.15/gas/ChangeLog --- binutils-2.11.90.0.8/gas/ChangeLog Sat May 12 08:22:16 2001 +++ binutils-2.11.90.0.15/gas/ChangeLog Sun Jun 10 10:55:09 2001 @@ -1,3 +1,270 @@ +2001-06-10 Alan Modra + + * config/obj-coff.c (obj_coff_section): Formatting fix. + + * config/tc-i386.c (md_assemble): Accept branch hints as ",pt" and + ",pn". + +2001-06-08 H.J. Lu + + * config/tc-mips.c (warn_nops): New variable. Set to 0 to + disable warning about all NOPS that the assembler generates. + (macro): Warn NOPS generated only if warn_nops is not 0. + (md_shortopts): Add `n'. + (md_parse_option): Set warn_nops to 1 for `n'. + +2001-06-08 H.J. Lu + + * config/tc-mips.c (mips_ip): Properly handle illegal operands. + +2001-06-08 H.J. Lu + + * config/tc-mips.c (md_apply_fix): Don't adjust common + extern/weak symbols for ELF. + (md_estimate_size_before_relax): Treat weak like extern for + ELF. + (mips_fix_adjustable): Don't adjust extern/weak symbols for + ELF. + +2001-06-08 Alan Modra + + * Makefile.am: 'som' is not wrongly spelled 'some'. + * Makefile.in: Regenerate. + + * config/tc-mips.c (mips16_mark_labels): Reduce number of calls to + S_GET_VALUE by using a temp. + (append_insn): Likewise, and for S_SET_VALUE too. + (mips_emit_delays): Likewise. + (my_getExpression): Likewise. + (md_apply_fix): Likewise. Use "valueT" rather than "long" for "value". + (mips16_extended_frag): Remove code concerned with avoiding + locking in a frag address now that symbols are not finalized until + relaxation is complete. Cater for first relaxation pass having + bogus addresses. Use relax_marker to reliably determine whether a + symbol frag has been reached on the current pass. + +2001-06-07 H.J. Lu + + * configure.in: Move "mips-*-linux-gnu*" before "mips-*-gnu*". + * configure: Regenerate. + +2001-06-07 H.J. Lu + + * configure.in: Use MIPS_STABS_ELF for Linux/mips and remove + ecoff emulation. + * configure: Regenerate. + +2001-06-07 H.J. Lu + + * config/tc-mips.c (mips_pseudo_table): Add "extern" if + MIPS_STABS_ELF is defined. + +2001-06-06 Nick Clifton + + * as.c (show_usage): Remove L from listing options. It is not a + generic option. + +2001-06-06 Christian Groessler + + * config/tc-z8k.c: Removed many warnings by removing unused + variables and tagging unused parameters as such. + (md_begin): Fixed a typo (","instead of ";"). + (struct ctrl_table): Add parentheses to initialize array + correctly. + (struct flag_table): Likewise. + (struct intr_table): Likewise. + (struct table): Likewise. + (check_operand): "#if 0"'ed since it doesn't seem to be used. + +2001-06-06 Peter Jakubek + + * gas/config/tc-m68k.c (md_show_usage): Add all supported ColdFire + options to list (e.g. m5206e, m5307, m5407). + +2001-06-06 Martin Schwidefsky + + * config/tc-s390.h (TC_FORCE_RELOCATION): Always emit relocations + BFD_RELOC_VTABLE_INHERIT and BFD_RELOC_VTABLE_ENTRY. + +2001-06-06 Alan Modra + + * config/tc-i386.c (md_assemble): Handle Pentium4 branch hints. + : Remove dead code. + +2001-06-06 Tracy Kuhrt + + * as.c (parse_args): Correct option name "listing-lhs-width2". + +2001-06-05 Nick Clifton + + * symbols.c (S_SET_EXTERNAL): Do not override a section symbol's + status. + +2001-05-30 Richard Henderson + + * read.c (emit_leb128_expr): Call md_cons_align. + +2001-05-28 Jeff Sturm + + * config/tc-sparc.c (md_apply_fix3): Handle BFD_RELOC_SPARC_UA16, + BFD_RELOC_SPARC_UA32 and BFD_RELOC_SPARC_UA64. + (tc_gen_reloc): Likewise. + (sparc_cons_align): Don't clear sparc_no_align_cons. + (cons_fix_new_sparc): Substitute BFD_RELOC_SPARC_UA{16|32|64} for + BFD_RELOC_{16|32|64} iff sparc_no_align_cons is set. + +2001-05-27 Alan Modra + + * write.c (relax_segment ): Check the section of a + symbol to determine whether it is absolute rather than comparing + its frag against zero_address_frag as listings play tricks with + frags. + + * config/tc-m68k.c (md_assemble): Ensure variable part of frag is + allocated in the same chunk as the fixed part. + +2001-05-26 Alan Modra + + * write.c (relax_segment ): Calculate growth using + addresses before stretch. Prevent repeated error messages. + From Peter Jakubek + Use as_bad_where and as_warn_where to pinpoint errors. + +2001-05-25 Alan Modra + + * symbols.c (resolve_symbol_value): Always set segment, even when + not finalizing symbol value. + + * config/obj-ieee.c (write_object_file): Set finalize_syms. + * config/obj-coff.c (write_object_file): Likewise. + * (size_section): Remove rs_space assert as fr_symbol is no longer + removed. + (fill_section): Likewise. + + * configure.in: Replace linuxoldld with linux*oldld. + * configure: Regenerate. + + From 2.11 branch 2001-03-30 Richard Henderson + * config/tc-i386.c (md_convert_frag): Don't die on local symbols + that have been finalized. + + * symbols.c (resolve_symbol_value): Clear sy_resolving before + taking exit_dont_set_value. + + * write.c (relax_segment ): Don't zap fr_symbol when + relaxing. + +2000-05-24 Tom Rix + + * config/obj-coff.c (add_lineno): xcoff allows negative line + numbers + * config/tc-ppc.c (ppc_stabx): fix generated symbol + +2001-05-24 Alan Modra + + * write.c (write_object_file): Set finalize_syms = 1 before + size_seg is called. + +2001-05-23 Thiemo Seufer + + * config/tc-mips.c (ISA_HAS_64BIT_REGS): Add ISA_MIPS64 as 64 bit + architecture, remove erraneous ISA_MIPS32. + (md_show_usage): Add MIPS r12k support. + (mips_cpu_info_table): Add MIPS r12k support. + +2001-05-22 Alan Modra + + * config/tc-arc.c (md_assemble): Use is_end_of_line instead of + testing for NULs. + + * symbols.c (resolve_symbol_value): Remove "finalize" param, + instead use finalize_syms directly. Don't treat expressions + specially with regard to finalize_syms. Update calls to self. + (resolve_local_symbol): Update call to resolve_symbol_value. + (S_GET_VALUE): Likewise. Return resolve_symbol_value if + !finalize_syms. + * symbols.h (resolve_symbol_value): Update prototype. + * config/obj-aout.c (obj_crawl_symbol_chain): Update call + to resolve_symbol_value. + * config/obj-bout.c (obj_crawl_symbol_chain): Likewise. + * config/obj-coff.c (do_relocs_for): Likewise. + (yank_symbols): Likewise. + (fixup_segment): Likewise. + * config/obj-vms.c (obj_crawl_symbol_chain): Likewise. + * config/tc-mips.c (md_convert_frag): Likewise. + * config/tc-ppc.c (ppc_frob_symbol): Likewise. + (ppc_fix_adjustable): Likewise. + * dwarf2dbg.c (dwarf2dbg_estimate_size_before_relax): Likewise. + (dwarf2dbg_convert_frag): Likewise. + * ehopt.c (eh_frame_estimate_size_before_relax): Likewise. + (eh_frame_convert_frag): Likewise. + * expr.c (make_expr_symbol): Likewise. + * write.c (adjust_reloc_syms): Likewise. + (write_object_file): Likewise. + (relax_segment): Likewise. + (fixup_segment): Likewise. + (finalize_syms): Init to zero, and update comment. + (write_object_file): Set finalize_syms to 1 rather than 2. + * doc/internals.texi (sy_value): Mention finalize_syms. + (S_GET_VALUE): Remove restriction on when S_GET_VALUE can be called. + + * config/tc-m68k.c (relaxable_symbol): Only treat external symbols + as relaxable if embedded system, make weak syms non-relaxable. + Move definition.. + (tc_m68k_fix_adjustable): ..so it can be used here. + (md_apply_fix_2): Sign extend without conditional. + + * config/tc-v850.c: Update copyright. + +2001-05-16 Jeff Johnston + + * cgen.c (gas_cgen_tc_gen_reloc): Changed error message when + howto entry is not found. + +2001-05-15 Alexandre Oliva + + * config/tc-mn10300.c (mn10300_force_relocation): Don't + optimize differences between symbols in code sections to + constants. + (mn10300_fix_adjustable): Don't adjust to section+offset + relocations pointing at symbols in code sections. + +2001-05-16 Alan Modra + + * config/tc-arc.c (md_assemble): Correct dwarf2_emit_insn param + for 8 byte insns. + * config/tc-i386.c (md_assemble): Call dwarf2_emit_insn before + opcodes are output rather than after. Delete insn_size. + * config/tc-v850.c (md_assemble): Similarly, but delete + total_insn_size. + +2001-05-14 Richard Henderson + + * ehopt.c (eh_frame_convert_frag): Fix missed subtype adjustment + last change. + +2001-05-14 Richard Henderson + + * ehopt.c (get_cie_info): Rename from eh_frame_code_alignment; + also collect whether to expect an FDE augmentation. + (check_eh_frame): Rewrite as a state machine. Track where in + an FDE we are located, skip any augmentation. + (eh_frame_estimate_size_before_relax): Get code alignment from + the fragment subtype. + (eh_frame_relax_frag, eh_frame_convert_frag): Likewise. + * read.c (emit_leb128_expr): Call check_eh_frame. + +2001-05-14 Alexandre Oliva + + * config/tc-mn10300.c (md_assemble): Anchor dwarf2 line info + before a relaxable insns. + +2001-05-13 Alexandre Oliva + + * config/tc-mn10300.c (tc_gen_reloc): Don't reject differences + between symbols if the base symbol is in the current section; + emit a PC-relative relocation instead. + 2001-05-12 Peter Targett * config/tc-arc.c: Update copyright and tidy source comments. @@ -13,7 +280,6 @@ (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 @@ -26,7 +292,7 @@ 2001-05-11 Nick Clifton - * config/tc-arm.c (arm_handle_align): When truncating an aligned + * config/tc-arm.c (arm_handle_align): When truncating an aligned block, ensure that the low order bits of the alignment are preserved. @@ -673,7 +939,7 @@ 2001-02-16 matthew green - * gas/cgen.c (gas_cgen_md_apply_fix3): Support BFD_RELOC_64. + * cgen.c (gas_cgen_md_apply_fix3): Support BFD_RELOC_64. 2001-02-13 Jim Wilson diff -uprN binutils-2.11.90.0.8/gas/ChangeLog-9899 binutils-2.11.90.0.15/gas/ChangeLog-9899 --- binutils-2.11.90.0.8/gas/ChangeLog-9899 Thu Mar 15 14:53:22 2001 +++ binutils-2.11.90.0.15/gas/ChangeLog-9899 Mon May 21 10:35:36 2001 @@ -1,3 +1,9 @@ +1999-12-27 Alan Modra + + * config/tc-i386.c (MATCH): Relax JumpAbsolute check. Emit a + warning for absolute jump/call without `*' in non-intel mode. No + need to set i.types[0] JumpAbsolute in intel mode. + 1999-12-22 Philip Blundell * config/tc-arm.c (arm_s_text): If OBJ_ELF, call the appropriate diff -uprN binutils-2.11.90.0.8/gas/ChangeLog.linux binutils-2.11.90.0.15/gas/ChangeLog.linux --- binutils-2.11.90.0.8/gas/ChangeLog.linux Thu Mar 29 23:25:59 2001 +++ binutils-2.11.90.0.15/gas/ChangeLog.linux Wed Dec 31 16:00:00 1969 @@ -1,8 +0,0 @@ -1999-08-12 Ralf Baechle - - * config/obj-elf.c (obj_elf_ident): Make it extern. - - * config/obj-elf.h (obj_elf_ident): Add prototype. - - * config/tc-mips.c (s_ident): New. - (mips_pseudo_table): Add "ident". diff -uprN binutils-2.11.90.0.8/gas/Makefile.am binutils-2.11.90.0.15/gas/Makefile.am --- binutils-2.11.90.0.8/gas/Makefile.am Wed May 2 23:45:32 2001 +++ binutils-2.11.90.0.15/gas/Makefile.am Sat Jun 9 00:13:01 2001 @@ -80,7 +80,7 @@ CPU_TYPES = \ z8k # Object format types. This is only used for dependency information. -# We deliberately omit some, since it does not work as a cross assembler. +# We deliberately omit SOM, since it does not work as a cross assembler. OBJ_FORMATS = \ aout \ diff -uprN binutils-2.11.90.0.8/gas/Makefile.in binutils-2.11.90.0.15/gas/Makefile.in --- binutils-2.11.90.0.8/gas/Makefile.in Wed May 2 23:45:32 2001 +++ binutils-2.11.90.0.15/gas/Makefile.in Sat Jun 9 00:13:01 2001 @@ -192,7 +192,7 @@ CPU_TYPES = \ # Object format types. This is only used for dependency information. -# We deliberately omit some, since it does not work as a cross assembler. +# We deliberately omit SOM, since it does not work as a cross assembler. OBJ_FORMATS = \ aout \ diff -uprN binutils-2.11.90.0.8/gas/as.c binutils-2.11.90.0.15/gas/as.c --- binutils-2.11.90.0.8/gas/as.c Fri Mar 9 11:38:12 2001 +++ binutils-2.11.90.0.15/gas/as.c Sat Jun 9 00:13:01 2001 @@ -232,7 +232,6 @@ Options:\n\ m include macro expansions\n\ n omit forms processing\n\ s include symbols\n\ - L include line debug statistics (if applicable)\n\ =FILE list to FILE (must be last sub-option)\n")); fprintf (stream, _("\ @@ -402,7 +401,7 @@ parse_args (pargc, pargv) #define OPTION_LISTING_LHS_WIDTH (OPTION_STD_BASE + 9) {"listing-lhs-width", required_argument, NULL, OPTION_LISTING_LHS_WIDTH}, #define OPTION_LISTING_LHS_WIDTH2 (OPTION_STD_BASE + 10) - {"listing-lhs-width", required_argument, NULL, OPTION_LISTING_LHS_WIDTH2}, + {"listing-lhs-width2", required_argument, NULL, OPTION_LISTING_LHS_WIDTH2}, #define OPTION_LISTING_RHS_WIDTH (OPTION_STD_BASE + 11) {"listing-rhs-width", required_argument, NULL, OPTION_LISTING_RHS_WIDTH}, #define OPTION_LISTING_CONT_LINES (OPTION_STD_BASE + 12) diff -uprN binutils-2.11.90.0.8/gas/cgen.c binutils-2.11.90.0.15/gas/cgen.c --- binutils-2.11.90.0.8/gas/cgen.c Sat Mar 17 12:51:03 2001 +++ binutils-2.11.90.0.15/gas/cgen.c Mon May 21 10:35:39 2001 @@ -669,8 +669,7 @@ gas_cgen_tc_gen_reloc (section, fixP) if (reloc->howto == (reloc_howto_type *) NULL) { as_bad_where (fixP->fx_file, fixP->fx_line, - _("internal error: can't export reloc type %d (`%s')"), - fixP->fx_r_type, bfd_get_reloc_code_name (fixP->fx_r_type)); + _("relocation is not supported")); return NULL; } diff -uprN binutils-2.11.90.0.8/gas/config/obj-aout.c binutils-2.11.90.0.15/gas/config/obj-aout.c --- binutils-2.11.90.0.8/gas/config/obj-aout.c Thu Mar 29 23:37:34 2001 +++ binutils-2.11.90.0.15/gas/config/obj-aout.c Wed May 23 11:36:05 2001 @@ -466,7 +466,7 @@ obj_crawl_symbol_chain (headers) S_SET_SEGMENT (symbolP, SEG_TEXT); } /* if pusing data into text */ - resolve_symbol_value (symbolP, finalize_syms); + resolve_symbol_value (symbolP); /* Skip symbols which were equated to undefined or common symbols. */ diff -uprN binutils-2.11.90.0.8/gas/config/obj-bout.c binutils-2.11.90.0.15/gas/config/obj-bout.c --- binutils-2.11.90.0.8/gas/config/obj-bout.c Thu Mar 29 23:28:44 2001 +++ binutils-2.11.90.0.15/gas/config/obj-bout.c Wed May 23 10:55:08 2001 @@ -260,7 +260,7 @@ obj_crawl_symbol_chain (headers) S_SET_SEGMENT (symbolP, SEG_TEXT); } /* if pusing data into text */ - resolve_symbol_value (symbolP, finalize_syms); + resolve_symbol_value (symbolP); /* Skip symbols which were equated to undefined or common symbols. */ diff -uprN binutils-2.11.90.0.8/gas/config/obj-coff.c binutils-2.11.90.0.15/gas/config/obj-coff.c --- binutils-2.11.90.0.8/gas/config/obj-coff.c Wed Apr 25 16:06:50 2001 +++ binutils-2.11.90.0.15/gas/config/obj-coff.c Sun Jun 10 10:55:09 2001 @@ -446,12 +446,17 @@ add_lineno (frag, offset, num) { abort (); } + +#ifndef OBJ_XCOFF + /* The native aix assembler accepts negative line number */ + if (num <= 0) { /* Zero is used as an end marker in the file. */ as_warn (_("Line numbers must be positive integers\n")); num = 1; } +#endif /* OBJ_XCOFF */ new_line->next = line_nos; new_line->frag = frag; new_line->l.line_number = num; @@ -1488,8 +1493,8 @@ obj_coff_section (ignore) { /* This section's attributes have already been set. Warn if the attributes don't match. */ - flagword matchflags = SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_CODE - | SEC_DATA | SEC_SHARED | SEC_NEVER_LOAD; + flagword matchflags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_CODE + | SEC_DATA | SEC_SHARED | SEC_NEVER_LOAD); if ((flags ^ oldflags) & matchflags) as_warn (_("Ignoring changed section attributes for %s"), name); } @@ -1819,7 +1824,6 @@ size_section (abfd, idx) break; #endif case rs_space: - assert (frag->fr_symbol == 0); case rs_fill: case rs_org: size += frag->fr_fix; @@ -1972,7 +1976,7 @@ do_relocs_for (abfd, h, file_cursor) /* Turn the segment of the symbol into an offset. */ if (symbol_ptr) { - resolve_symbol_value (symbol_ptr, finalize_syms); + resolve_symbol_value (symbol_ptr); if (! symbol_ptr->sy_resolved) { char *file; @@ -2133,7 +2137,6 @@ fill_section (abfd, h, file_cursor) break; case rs_space: - assert (frag->fr_symbol == 0); case rs_fill: case rs_align: case rs_align_code: @@ -2953,7 +2956,7 @@ yank_symbols () S_SET_SEGMENT (symbolP, SEG_E0); } /* push data into text */ - resolve_symbol_value (symbolP, finalize_syms); + resolve_symbol_value (symbolP); if (S_GET_STORAGE_CLASS (symbolP) == C_NULL) { @@ -3468,6 +3471,9 @@ write_object_file () relax_segment (segment_info[i].frchainP->frch_root, i); } + /* Relaxation has completed. Freeze all syms. */ + finalize_syms = 1; + H_SET_NUMBER_OF_SECTIONS (&headers, 0); /* Find out how big the sections are, and set the addresses. */ @@ -4186,7 +4192,7 @@ fixup_segment (segP, this_segment_type) /* Make sure the symbols have been resolved; this may not have happened if these are expression symbols. */ if (add_symbolP != NULL && ! add_symbolP->sy_resolved) - resolve_symbol_value (add_symbolP, finalize_syms); + resolve_symbol_value (add_symbolP); if (add_symbolP != NULL) { @@ -4216,7 +4222,7 @@ fixup_segment (segP, this_segment_type) } if (sub_symbolP != NULL && ! sub_symbolP->sy_resolved) - resolve_symbol_value (sub_symbolP, finalize_syms); + resolve_symbol_value (sub_symbolP); if (add_symbolP != NULL && add_symbolP->sy_mri_common) diff -uprN binutils-2.11.90.0.8/gas/config/obj-elf.c binutils-2.11.90.0.15/gas/config/obj-elf.c --- binutils-2.11.90.0.8/gas/config/obj-elf.c Fri Apr 13 11:47:28 2001 +++ binutils-2.11.90.0.15/gas/config/obj-elf.c Sun Jun 10 10:55:09 2001 @@ -70,6 +70,7 @@ static void obj_elf_line PARAMS ((int)); void obj_elf_version PARAMS ((int)); static void obj_elf_size PARAMS ((int)); static void obj_elf_type PARAMS ((int)); +static void obj_elf_ident PARAMS ((int)); static void obj_elf_weak PARAMS ((int)); static void obj_elf_local PARAMS ((int)); static void obj_elf_visibility PARAMS ((int)); @@ -1509,7 +1510,7 @@ obj_elf_type (ignore) demand_empty_rest_of_line (); } -void +static void obj_elf_ident (ignore) int ignore ATTRIBUTE_UNUSED; { diff -uprN binutils-2.11.90.0.8/gas/config/obj-elf.h binutils-2.11.90.0.15/gas/config/obj-elf.h --- binutils-2.11.90.0.8/gas/config/obj-elf.h Fri Mar 9 11:38:15 2001 +++ binutils-2.11.90.0.15/gas/config/obj-elf.h Sun Jun 10 10:55:09 2001 @@ -165,7 +165,6 @@ extern void obj_elf_data PARAMS ((int)); extern void obj_elf_text PARAMS ((int)); extern struct fix *obj_elf_vtable_inherit PARAMS ((int)); extern struct fix *obj_elf_vtable_entry PARAMS ((int)); -extern void obj_elf_ident PARAMS ((int)); /* BFD wants to write the udata field, which is a no-no for the globally defined sections. */ diff -uprN binutils-2.11.90.0.8/gas/config/obj-ieee.c binutils-2.11.90.0.15/gas/config/obj-ieee.c --- binutils-2.11.90.0.8/gas/config/obj-ieee.c Fri Mar 9 11:16:48 2001 +++ binutils-2.11.90.0.15/gas/config/obj-ieee.c Fri May 25 12:05:58 2001 @@ -558,6 +558,9 @@ write_object_file () for (i = SEG_E0; i < SEG_UNKNOWN; i++) relax_segment (segment_info[i].frag_root, i); + /* Relaxation has completed. Freeze all syms. */ + finalize_syms = 1; + /* Now the addresses of the frags are correct within the segment. */ bfd_as_write_hook (); diff -uprN binutils-2.11.90.0.8/gas/config/obj-vms.c binutils-2.11.90.0.15/gas/config/obj-vms.c --- binutils-2.11.90.0.8/gas/config/obj-vms.c Sat May 12 00:06:25 2001 +++ binutils-2.11.90.0.15/gas/config/obj-vms.c Wed May 23 10:55:11 2001 @@ -532,7 +532,7 @@ obj_crawl_symbol_chain (headers) symbolPP = &symbol_rootP; /* -> last symbol chain link. */ while ((symbolP = *symbolPP) != NULL) { - resolve_symbol_value (symbolP, finalize_syms); + resolve_symbol_value (symbolP); /* OK, here is how we decide which symbols go out into the brave new symtab. Symbols that do are: diff -uprN binutils-2.11.90.0.8/gas/config/tc-arc.c binutils-2.11.90.0.15/gas/config/tc-arc.c --- binutils-2.11.90.0.8/gas/config/tc-arc.c Sat May 12 08:22:37 2001 +++ binutils-2.11.90.0.15/gas/config/tc-arc.c Wed May 23 10:55:12 2001 @@ -631,7 +631,7 @@ md_assemble (str) /* Is there anything left to parse? We don't check for this at the top because we want to parse any trailing fake arguments in the syntax string. */ - if (*str == '\0') + if (is_end_of_line[(unsigned char) *str]) break; /* Parse the operand. */ @@ -739,7 +739,7 @@ md_assemble (str) while (isspace (*str)) ++str; - if (*str != '\0') + if (!is_end_of_line[(unsigned char) *str]) as_bad ("junk at end of line: `%s'", str); /* Is there a limm value? */ @@ -806,6 +806,7 @@ md_assemble (str) f = frag_more (8); md_number_to_chars (f, insn, 4); md_number_to_chars (f + 4, limm, 4); + dwarf2_emit_insn (8); } else if (limm_reloc_p) { @@ -816,6 +817,7 @@ md_assemble (str) { f = frag_more (4); md_number_to_chars (f, insn, 4); + dwarf2_emit_insn (4); } /* Create any fixups. */ @@ -869,8 +871,6 @@ md_assemble (str) (operand->flags & ARC_OPERAND_RELATIVE_BRANCH) != 0, (bfd_reloc_code_real_type) reloc_type); } - - dwarf2_emit_insn (4); /* All done. */ return; diff -uprN binutils-2.11.90.0.8/gas/config/tc-i386.c binutils-2.11.90.0.15/gas/config/tc-i386.c --- binutils-2.11.90.0.8/gas/config/tc-i386.c Wed May 2 23:45:35 2001 +++ binutils-2.11.90.0.15/gas/config/tc-i386.c Sun Jun 10 10:55:09 2001 @@ -1231,10 +1231,6 @@ md_assemble (line) /* Points to template once we've found it. */ const template *t; - /* Count the size of the instruction generated. Does not include - variable part of jump insns before relax. */ - int insn_size = 0; - int j; char mnemonic[MAX_MNEM_SIZE]; @@ -1273,7 +1269,8 @@ md_assemble (line) } if (!is_space_char (*l) && *l != END_OF_INSN - && *l != PREFIX_SEPARATOR) + && *l != PREFIX_SEPARATOR + && *l != ',') { as_bad (_("invalid character %s in mnemonic"), output_invalid (*l)); @@ -1364,6 +1361,38 @@ md_assemble (line) } } + if (current_templates->start->opcode_modifier & (Jump | JumpByte)) + { + /* Check for a branch hint. We allow ",pt" and ",pn" for + predict taken and predict not taken respectively. + I'm not sure that branch hints actually do anything on loop + and jcxz insns (JumpByte) for current Pentium4 chips. They + may work in the future and it doesn't hurt to accept them + now. */ + if (l[0] == ',' && l[1] == 'p') + { + if (l[2] == 't') + { + if (! add_prefix (DS_PREFIX_OPCODE)) + return; + l += 3; + } + else if (l[2] == 'n') + { + if (! add_prefix (CS_PREFIX_OPCODE)) + return; + l += 3; + } + } + } + /* Any other comma loses. */ + if (*l == ',') + { + as_bad (_("invalid character %s in mnemonic"), + output_invalid (*l)); + return; + } + /* Check if instruction is supported on specified architecture. */ if (cpu_arch_flags != 0) { @@ -2702,6 +2731,11 @@ md_assemble (line) { register char *p; + /* Tie dwarf2 debug info to the address at the start of the insn. + We can't do this after the insn has been output as the current + frag may have been closed off. eg. by frag_var. */ + dwarf2_emit_insn (0); + /* Output jumps. */ if (i.tm.opcode_modifier & Jump) { @@ -2719,6 +2753,13 @@ md_assemble (line) i.prefixes -= 1; code16 ^= CODE16; } + /* Pentium4 branch hints. */ + if (i.prefix[SEG_PREFIX] == CS_PREFIX_OPCODE /* not taken */ + || i.prefix[SEG_PREFIX] == DS_PREFIX_OPCODE /* taken */) + { + prefix++; + i.prefixes--; + } if (i.prefix[REX_PREFIX]) { prefix++; @@ -2734,11 +2775,13 @@ md_assemble (line) bytes for the opcode and room for the prefix and largest displacement. */ frag_grow (prefix + 2 + 4); - insn_size += prefix + 1; /* Prefix and 1 opcode byte go in fr_fix. */ p = frag_more (prefix + 1); if (i.prefix[DATA_PREFIX]) *p++ = DATA_PREFIX_OPCODE; + if (i.prefix[SEG_PREFIX] == CS_PREFIX_OPCODE + || i.prefix[SEG_PREFIX] == DS_PREFIX_OPCODE) + *p++ = i.prefix[SEG_PREFIX]; if (i.prefix[REX_PREFIX]) *p++ = i.prefix[REX_PREFIX]; *p = i.tm.base_opcode; @@ -2766,10 +2809,16 @@ md_assemble (line) size = 1; if (i.prefix[ADDR_PREFIX]) { - insn_size += 1; FRAG_APPEND_1_CHAR (ADDR_PREFIX_OPCODE); i.prefixes -= 1; } + /* Pentium4 branch hints. */ + if (i.prefix[SEG_PREFIX] == CS_PREFIX_OPCODE /* not taken */ + || i.prefix[SEG_PREFIX] == DS_PREFIX_OPCODE /* taken */) + { + FRAG_APPEND_1_CHAR (i.prefix[SEG_PREFIX]); + i.prefixes--; + } } else { @@ -2781,7 +2830,6 @@ md_assemble (line) if (i.prefix[DATA_PREFIX]) { - insn_size += 1; FRAG_APPEND_1_CHAR (DATA_PREFIX_OPCODE); i.prefixes -= 1; code16 ^= CODE16; @@ -2795,26 +2843,14 @@ md_assemble (line) if (i.prefix[REX_PREFIX]) { FRAG_APPEND_1_CHAR (i.prefix[REX_PREFIX]); - insn_size++; i.prefixes -= 1; } if (i.prefixes != 0 && !intel_syntax) as_warn (_("skipping prefixes on this instruction")); - if (fits_in_unsigned_byte (i.tm.base_opcode)) - { - insn_size += 1 + size; - p = frag_more (1 + size); - } - else - { - /* Opcode can be at most two bytes. */ - insn_size += 2 + size; - p = frag_more (2 + size); - *p++ = (i.tm.base_opcode >> 8) & 0xff; - } - *p++ = i.tm.base_opcode & 0xff; + p = frag_more (1 + size); + *p++ = i.tm.base_opcode; fix_new_exp (frag_now, p - frag_now->fr_literal, size, i.op[0].disps, 1, reloc (size, 1, 1, i.reloc[0])); @@ -2850,7 +2886,6 @@ md_assemble (line) as_warn (_("skipping prefixes on this instruction")); /* 1 opcode; 2 segment; offset */ - insn_size += prefix + 1 + 2 + size; p = frag_more (prefix + 1 + 2 + size); if (i.prefix[DATA_PREFIX]) @@ -2898,7 +2933,6 @@ md_assemble (line) { if (*q) { - insn_size += 1; p = frag_more (1); md_number_to_chars (p, (valueT) *q, 1); } @@ -2907,12 +2941,10 @@ md_assemble (line) /* Now the opcode; be careful about word order here! */ if (fits_in_unsigned_byte (i.tm.base_opcode)) { - insn_size += 1; FRAG_APPEND_1_CHAR (i.tm.base_opcode); } else { - insn_size += 2; p = frag_more (2); /* Put out high byte first: can't use md_number_to_chars! */ *p++ = (i.tm.base_opcode >> 8) & 0xff; @@ -2922,7 +2954,6 @@ md_assemble (line) /* Now the modrm byte and sib byte (if present). */ if (i.tm.opcode_modifier & Modrm) { - insn_size += 1; p = frag_more (1); md_number_to_chars (p, (valueT) (i.rm.regmem << 0 @@ -2937,7 +2968,6 @@ md_assemble (line) && i.rm.mode != 3 && !(i.base_reg && (i.base_reg->reg_type & Reg16) != 0)) { - insn_size += 1; p = frag_more (1); md_number_to_chars (p, (valueT) (i.sib.base << 0 @@ -2971,7 +3001,6 @@ md_assemble (line) } val = offset_in_range (i.op[n].disps->X_add_number, size); - insn_size += size; p = frag_more (size); md_number_to_chars (p, val, size); } @@ -3018,7 +3047,6 @@ md_assemble (line) size = 8; } - insn_size += size; p = frag_more (size); fix_new_exp (frag_now, p - frag_now->fr_literal, size, i.op[n].disps, pcrel, @@ -3053,7 +3081,6 @@ md_assemble (line) } val = offset_in_range (i.op[n].imms->X_add_number, size); - insn_size += size; p = frag_more (size); md_number_to_chars (p, val, size); } @@ -3079,7 +3106,6 @@ md_assemble (line) size = 8; } - insn_size += size; p = frag_more (size); reloc_type = reloc (size, 0, sign, i.reloc[n]); #ifdef BFD_ASSEMBLER @@ -3107,8 +3133,6 @@ md_assemble (line) } } - dwarf2_emit_insn (insn_size); - #ifdef DEBUG386 if (flag_debug) { @@ -4066,7 +4090,12 @@ md_convert_frag (abfd, sec, fragP) target_address = S_GET_VALUE (fragP->fr_symbol) + fragP->fr_offset; #ifdef BFD_ASSEMBLER /* Not needed otherwise? */ - target_address += symbol_get_frag (fragP->fr_symbol)->fr_address; + { + /* Local symbols which have already been resolved have a NULL frag. */ + fragS *sym_frag = symbol_get_frag (fragP->fr_symbol); + if (sym_frag) + target_address += sym_frag->fr_address; + } #endif /* Address opcode resides at in file space. */ diff -uprN binutils-2.11.90.0.8/gas/config/tc-m68k.c binutils-2.11.90.0.15/gas/config/tc-m68k.c --- binutils-2.11.90.0.8/gas/config/tc-m68k.c Sat May 12 00:06:38 2001 +++ binutils-2.11.90.0.15/gas/config/tc-m68k.c Sat Jun 9 00:13:01 2001 @@ -714,6 +714,19 @@ tc_coff_fix2rtype (fixP) #ifdef OBJ_ELF +/* Return zero if the reference to SYMBOL from within the same segment may + be relaxed. */ + +/* On an ELF system, we can't relax an externally visible symbol, + because it may be overridden by a shared library. However, if + TARGET_OS is "elf", then we presume that we are assembling for an + embedded system, in which case we don't have to worry about shared + libraries, and we can relax any external sym. */ + +#define relaxable_symbol(symbol) \ + (!((S_IS_EXTERNAL (symbol) && strcmp (TARGET_OS, "elf") != 0) \ + || S_IS_WEAK (symbol))) + /* Compute the relocation code for a fixup of SIZE bytes, using pc relative relocation if PCREL is non-zero. PIC says whether a special pic relocation was requested. */ @@ -832,8 +845,7 @@ tc_m68k_fix_adjustable (fixP) fixS *fixP; { /* Prevent all adjustments to global symbols. */ - if (S_IS_EXTERNAL (fixP->fx_addsy) - || S_IS_WEAK (fixP->fx_addsy)) + if (! relaxable_symbol (fixP->fx_addsy)) return 0; /* adjust_reloc_syms doesn't know about the GOT */ @@ -866,6 +878,8 @@ tc_m68k_fix_adjustable (fixP) #define get_reloc_code(SIZE,PCREL,OTHER) NO_RELOC +#define relaxable_symbol(symbol) 1 + #endif /* OBJ_ELF */ #ifdef BFD_ASSEMBLER @@ -983,27 +997,6 @@ tc_gen_reloc (section, fixp) #endif /* BFD_ASSEMBLER */ -/* Return zero if the reference to SYMBOL from within the same segment may - be relaxed. */ -#ifdef OBJ_ELF - -/* On an ELF system, we can't relax an externally visible symbol, - because it may be overridden by a shared library. However, if - TARGET_OS is "elf", then we presume that we are assembling for an - embedded system, in which case we don't have to worry about shared - libraries, and we can relax anything. */ - -#define relaxable_symbol(symbol) \ - (strcmp (TARGET_OS, "elf") == 0 \ - || (! S_IS_EXTERNAL (symbol) \ - && ! S_IS_WEAK (symbol))) - -#else - -#define relaxable_symbol(symbol) 1 - -#endif - /* Handle of the OPCODE hash table. NULL means any use before m68k_ip_begin() will crash. */ static struct hash_control *op_hash; @@ -3671,6 +3664,21 @@ md_assemble (str) } /* There's some frag hacking */ + { + /* Calculate the max frag size. */ + int wid; + + wid = 2 * the_ins.fragb[0].fragoff; + for (n = 1; n < the_ins.nfrag; n++) + wid += 2 * (the_ins.numo - the_ins.fragb[n - 1].fragoff); + /* frag_var part. */ + wid += 10; + /* Make sure the whole insn fits in one chunk, in particular that + the var part is attached, as we access one byte before the + variable frag for byte branches. */ + frag_grow (wid); + } + for (n = 0, fromP = &the_ins.opcode[0]; n < the_ins.nfrag; n++) { int wid; @@ -4226,10 +4234,7 @@ md_apply_fix_2 (fixP, val) buf += fixP->fx_where; /* end ibm compiler workaround */ - if (val & 0x80000000) - val |= ~(addressT)0x7fffffff; - else - val &= 0x7fffffff; + val = ((val & 0xffffffff) ^ 0x80000000) - 0x80000000; #ifdef OBJ_ELF if (fixP->fx_addsy) @@ -6882,9 +6887,9 @@ md_show_usage (stream) fprintf (stream, _("\ 680X0 options:\n\ -l use 1 word for refs to undefined symbols [default 2]\n\ --m68000 | -m68008 | -m68010 | -m68020 | -m68030 | -m68040 | -m68060\n\ - | -m68302 | -m68331 | -m68332 | -m68333 | -m68340 | -m68360\n\ - | -mcpu32 | -m5200\n\ +-m68000 | -m68008 | -m68010 | -m68020 | -m68030 | -m68040 | -m68060 |\n\ +-m68302 | -m68331 | -m68332 | -m68333 | -m68340 | -m68360 | -mcpu32 |\n\ +-m5200 | -m5202 | -m5204 | -m5206 | -m5206e | -m5307 | -m5407\n\ specify variant of 680X0 architecture [default 68020]\n\ -m68881 | -m68882 | -mno-68881 | -mno-68882\n\ target has/lacks floating-point coprocessor\n\ diff -uprN binutils-2.11.90.0.8/gas/config/tc-mips.c binutils-2.11.90.0.15/gas/config/tc-mips.c --- binutils-2.11.90.0.8/gas/config/tc-mips.c Wed May 2 15:25:12 2001 +++ binutils-2.11.90.0.15/gas/config/tc-mips.c Sun Jun 10 10:55:09 2001 @@ -241,7 +241,7 @@ static int mips_gp32 = 0; (ISA) == ISA_MIPS3 \ || (ISA) == ISA_MIPS4 \ || (ISA) == ISA_MIPS5 \ - || (ISA) == ISA_MIPS32 \ + || (ISA) == ISA_MIPS64 \ ) /* Whether the processor uses hardware interlocks to protect @@ -313,6 +313,9 @@ enum mips_pic_level static enum mips_pic_level mips_pic; +/* Warn about all NOPS that the assembler generates. */ +static int warn_nops = 0; + /* 1 if we should generate 32 bit offsets from the GP register in SVR4_PIC mode. Currently has no meaning in other modes. */ static int mips_big_got; @@ -692,7 +695,6 @@ static void mips_align PARAMS ((int to, static void s_align PARAMS ((int)); static void s_change_sec PARAMS ((int)); static void s_cons PARAMS ((int)); -static void s_ident PARAMS ((int)); static void s_float_cons PARAMS ((int)); static void s_mips_globl PARAMS ((int)); static void s_option PARAMS ((int)); @@ -785,7 +787,6 @@ static const pseudo_typeS mips_pseudo_ta {"globl", s_mips_globl, 0}, {"global", s_mips_globl, 0}, {"hword", s_cons, 1}, - {"ident", s_ident, 1}, {"int", s_cons, 2}, {"long", s_cons, 2}, {"octa", s_cons, 4}, @@ -795,6 +796,11 @@ static const pseudo_typeS mips_pseudo_ta {"stabn", s_mips_stab, 'n'}, {"text", s_change_sec, 't'}, {"word", s_cons, 2}, + +#ifdef MIPS_STABS_ELF + { "extern", ecoff_directive_extern, 0}, +#endif + { NULL, NULL, 0 }, }; @@ -1381,6 +1387,7 @@ mips16_mark_labels () if (mips_opts.mips16) { struct insn_label_list *l; + valueT val; for (l = insn_labels; l != NULL; l = l->next) { @@ -1388,8 +1395,9 @@ mips16_mark_labels () if (OUTPUT_FLAVOR == bfd_target_elf_flavour) S_SET_OTHER (l->label, STO_MIPS16); #endif - if ((S_GET_VALUE (l->label) & 1) == 0) - S_SET_VALUE (l->label, S_GET_VALUE (l->label) + 1); + val = S_GET_VALUE (l->label); + if ((val & 1) == 0) + S_SET_VALUE (l->label, val + 1); } } } @@ -1700,12 +1708,15 @@ append_insn (place, ip, address_expr, re for (l = insn_labels; l != NULL; l = l->next) { + valueT val; + assert (S_GET_SEGMENT (l->label) == now_seg); symbol_set_frag (l->label, frag_now); - S_SET_VALUE (l->label, (valueT) frag_now_fix ()); + val = (valueT) frag_now_fix (); /* mips16 text labels are stored as odd. */ if (mips_opts.mips16) - S_SET_VALUE (l->label, S_GET_VALUE (l->label) + 1); + val += 1; + S_SET_VALUE (l->label, val); } #ifndef NO_ECOFF_DEBUGGING @@ -2403,12 +2414,15 @@ mips_emit_delays (insns) for (l = insn_labels; l != NULL; l = l->next) { + valueT val; + assert (S_GET_SEGMENT (l->label) == now_seg); symbol_set_frag (l->label, frag_now); - S_SET_VALUE (l->label, (valueT) frag_now_fix ()); + val = (valueT) frag_now_fix (); /* mips16 text labels are stored as odd. */ if (mips_opts.mips16) - S_SET_VALUE (l->label, S_GET_VALUE (l->label) + 1); + val += 1; + S_SET_VALUE (l->label, val); } } } @@ -3615,12 +3629,16 @@ macro (ip) /* result is always false */ if (! likely) { - as_warn (_("Branch %s is always false (nop)"), ip->insn_mo->name); + if (warn_nops) + as_warn (_("Branch %s is always false (nop)"), + ip->insn_mo->name); macro_build ((char *) NULL, &icnt, NULL, "nop", "", 0); } else { - as_warn (_("Branch likely %s is always false"), ip->insn_mo->name); + if (warn_nops) + as_warn (_("Branch likely %s is always false"), + ip->insn_mo->name); macro_build ((char *) NULL, &icnt, &offset_expr, "bnel", "s,t,p", 0, 0); } @@ -7087,19 +7105,25 @@ mips_ip (str, ip) } else { - static char buf[100]; - sprintf (buf, - _("opcode not supported on this processor: %s (%s)"), - mips_cpu_to_str (mips_cpu), - mips_isa_to_str (mips_opts.isa)); + if (!insn_error) + { + static char buf[100]; + sprintf (buf, + _("opcode not supported on this processor: %s (%s)"), + mips_cpu_to_str (mips_cpu), + mips_isa_to_str (mips_opts.isa)); - insn_error = buf; + insn_error = buf; + } + if (save_c) + *(--s) = save_c; return; } } ip->insn_mo = insn; ip->insn_opcode = insn->match; + insn_error = NULL; for (args = insn->args;; ++args) { if (*s == ' ') @@ -7940,8 +7964,11 @@ mips_ip (str, ip) { ++insn; s = argsStart; + insn_error = _("illegal operands"); continue; } + if (save_c) + *(--s) = save_c; insn_error = _("illegal operands"); return; } @@ -8756,6 +8783,7 @@ my_getExpression (ep, str) char *str; { char *save_in; + valueT val; save_in = input_line_pointer; input_line_pointer = str; @@ -8773,8 +8801,8 @@ my_getExpression (ep, str) && S_GET_SEGMENT (ep->X_add_symbol) == now_seg && symbol_get_frag (ep->X_add_symbol) == frag_now && symbol_constant_p (ep->X_add_symbol) - && S_GET_VALUE (ep->X_add_symbol) == frag_now_fix ()) - S_SET_VALUE (ep->X_add_symbol, S_GET_VALUE (ep->X_add_symbol) + 1); + && (val = S_GET_VALUE (ep->X_add_symbol)) == frag_now_fix ()) + S_SET_VALUE (ep->X_add_symbol, val + 1); } /* Turn a string in input_line_pointer into a floating point constant @@ -8846,7 +8874,7 @@ md_number_to_chars (buf, val, n) number_to_chars_littleendian (buf, val, n); } -CONST char *md_shortopts = "O::g::G:"; +CONST char *md_shortopts = "nO::g::G:"; struct option md_longopts[] = { @@ -8963,6 +8991,10 @@ md_parse_option (c, arg) target_big_endian = 0; break; + case 'n': + warn_nops = 1; + break; + case 'O': if (arg && arg[1] == '0') mips_optimize = 1; @@ -9275,6 +9307,7 @@ MIPS options:\n\ show (stream, "6000", &column, &first); show (stream, "8000", &column, &first); show (stream, "10000", &column, &first); + show (stream, "12000", &column, &first); show (stream, "mips32-4k", &column, &first); show (stream, "sb-1", &column, &first); fputc ('\n', stream); @@ -9508,7 +9541,8 @@ md_apply_fix (fixP, valueP) valueT *valueP; { unsigned char *buf; - long insn, value; + long insn; + valueT value; assert (fixP->fx_size == 4 || fixP->fx_r_type == BFD_RELOC_16 @@ -9523,27 +9557,30 @@ md_apply_fix (fixP, valueP) #ifdef OBJ_ELF if (fixP->fx_addsy != NULL && OUTPUT_FLAVOR == bfd_target_elf_flavour) { - if (S_GET_OTHER (fixP->fx_addsy) == STO_MIPS16 - || S_IS_WEAK (fixP->fx_addsy) - || (symbol_used_in_reloc_p (fixP->fx_addsy) - && (((bfd_get_section_flags (stdoutput, - S_GET_SEGMENT (fixP->fx_addsy)) - & SEC_LINK_ONCE) != 0) - || !strncmp (segment_name (S_GET_SEGMENT (fixP->fx_addsy)), - ".gnu.linkonce", - sizeof (".gnu.linkonce") - 1)))) - - { - value -= S_GET_VALUE (fixP->fx_addsy); - if (value != 0 && ! fixP->fx_pcrel) - { - /* In this case, the bfd_install_relocation routine will - incorrectly add the symbol value back in. We just want - the addend to appear in the object file. - FIXME: If this makes VALUE zero, we're toast. */ - value -= S_GET_VALUE (fixP->fx_addsy); - } - } + if (S_GET_OTHER (fixP->fx_addsy) == STO_MIPS16 + || ((S_IS_WEAK (fixP->fx_addsy) + || S_IS_EXTERN (fixP->fx_addsy)) + && !S_IS_COMMON (fixP->fx_addsy)) + || (symbol_used_in_reloc_p (fixP->fx_addsy) + && (((bfd_get_section_flags (stdoutput, + S_GET_SEGMENT (fixP->fx_addsy)) + & SEC_LINK_ONCE) != 0) + || !strncmp (segment_name (S_GET_SEGMENT (fixP->fx_addsy)), + ".gnu.linkonce", + sizeof (".gnu.linkonce") - 1)))) + + { + valueT symval = S_GET_VALUE (fixP->fx_addsy); + value -= symval; + if (value != 0 && ! fixP->fx_pcrel) + { + /* In this case, the bfd_install_relocation routine will + incorrectly add the symbol value back in. We just want + the addend to appear in the object file. + FIXME: If this makes VALUE zero, we're toast. */ + value -= symval; + } + } /* This code was generated using trial and error and so is fragile and not trustworthy. If you change it, you should @@ -9693,7 +9730,7 @@ md_apply_fix (fixP, valueP) up deleting a LO16 reloc. See the 'o' case in mips_ip. */ if (fixP->fx_done) { - if (value < -0x8000 || value > 0x7fff) + if (value + 0x8000 > 0xffff) as_bad_where (fixP->fx_file, fixP->fx_line, _("relocation overflow")); buf = (unsigned char *) fixP->fx_frag->fr_literal + fixP->fx_where; @@ -9711,7 +9748,7 @@ md_apply_fix (fixP, valueP) */ if ((value & 0x3) != 0) as_bad_where (fixP->fx_file, fixP->fx_line, - _("Branch to odd address (%lx)"), value); + _("Branch to odd address (%lx)"), (long) value); if (!fixP->fx_done && value != 0) break; @@ -9721,7 +9758,7 @@ md_apply_fix (fixP, valueP) if (!fixP->fx_done) value -= fixP->fx_frag->fr_address + fixP->fx_where; - value >>= 2; + value = (offsetT) value >> 2; /* update old instruction data */ buf = (unsigned char *) (fixP->fx_where + fixP->fx_frag->fr_literal); @@ -9730,7 +9767,7 @@ md_apply_fix (fixP, valueP) else insn = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0]; - if (value >= -0x8000 && value < 0x8000) + if (value + 0x8000 <= 0xffff) insn |= value & 0xffff; else { @@ -10068,14 +10105,6 @@ mips_enable_auto_align () } static void -s_ident (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - mips_emit_delays (true); - obj_elf_ident(0); -} - -static void s_cons (log_size) int log_size; { @@ -10755,6 +10784,7 @@ mips16_extended_frag (fragp, sec, stretc offsetT val; int mintiny, maxtiny; segT symsec; + fragS *sym_frag; if (RELAX_MIPS16_USER_SMALL (fragp->fr_subtype)) return 0; @@ -10788,29 +10818,9 @@ mips16_extended_frag (fragp, sec, stretc maxtiny = (1 << (op->nbits - 1)) - 1; } - /* We can't always call S_GET_VALUE here, because we don't want to - lock in a particular frag address. */ - if (symbol_constant_p (fragp->fr_symbol)) - { - val = (S_GET_VALUE (fragp->fr_symbol) - + symbol_get_frag (fragp->fr_symbol)->fr_address); - symsec = S_GET_SEGMENT (fragp->fr_symbol); - } - else if (symbol_equated_p (fragp->fr_symbol) - && (symbol_constant_p - (symbol_get_value_expression (fragp->fr_symbol)->X_add_symbol))) - { - symbolS *eqsym; - - eqsym = symbol_get_value_expression (fragp->fr_symbol)->X_add_symbol; - val = (S_GET_VALUE (eqsym) - + symbol_get_frag (eqsym)->fr_address - + symbol_get_value_expression (fragp->fr_symbol)->X_add_number - + symbol_get_frag (fragp->fr_symbol)->fr_address); - symsec = S_GET_SEGMENT (eqsym); - } - else - return 1; + sym_frag = symbol_get_frag (fragp->fr_symbol); + val = S_GET_VALUE (fragp->fr_symbol) + sym_frag->fr_address; + symsec = S_GET_SEGMENT (fragp->fr_symbol); if (op->pcrel) { @@ -10829,6 +10839,7 @@ mips16_extended_frag (fragp, sec, stretc } else { + /* Must have been called from md_estimate_size_before_relax. */ if (symsec != sec) { fragp->fr_subtype = @@ -10841,16 +10852,22 @@ mips16_extended_frag (fragp, sec, stretc return 1; } + if (fragp != sym_frag && sym_frag->fr_address == 0) + /* Assume non-extended on the first relaxation pass. + The address we have calculated will be bogus if this is + a forward branch to another frag, as the forward frag + will have fr_address == 0. */ + return 0; } /* In this case, we know for sure that the symbol fragment is in - the same section. If the fr_address of the symbol fragment - is greater then the address of this fragment we want to add + the same section. If the relax_marker of the symbol fragment + differs from the relax_marker of this fragment, we have not + yet adjusted the symbol fragment fr_address. We want to add in STRETCH in order to get a better estimate of the address. This particularly matters because of the shift bits. */ if (stretch != 0 - && (symbol_get_frag (fragp->fr_symbol)->fr_address - >= fragp->fr_address)) + && sym_frag->relax_marker != fragp->relax_marker) { fragS *f; @@ -10860,9 +10877,7 @@ mips16_extended_frag (fragp, sec, stretc This doesn't handle the fr_subtype field, which specifies a maximum number of bytes to skip when doing an alignment. */ - for (f = fragp; - f != NULL && f != symbol_get_frag (fragp->fr_symbol); - f = f->fr_next) + for (f = fragp; f != NULL && f != sym_frag; f = f->fr_next) { if (f->fr_type == rs_align || f->fr_type == rs_align_code) { @@ -11031,8 +11046,8 @@ md_estimate_size_before_relax (fragp, se && ! bfd_is_com_section (symsec) && !linkonce #ifdef OBJ_ELF - /* A weak symbol is treated as external. */ - && ! S_IS_WEAK (sym) + /* A global or weak symbol is treated as external. */ + && ! (S_IS_EXTERN (sym) || S_IS_WEAK (sym)) #endif ); } @@ -11070,6 +11085,11 @@ int mips_fix_adjustable (fixp) fixS *fixp; { +#ifdef OBJ_ELF + /* Prevent all adjustments to global symbols. */ + if (S_IS_EXTERN (fixp->fx_addsy) || S_IS_WEAK (fixp->fx_addsy)) + return 0; +#endif if (fixp->fx_r_type == BFD_RELOC_MIPS16_JMP) return 0; if (fixp->fx_r_type == BFD_RELOC_VTABLE_INHERIT @@ -11366,7 +11386,7 @@ md_convert_frag (abfd, asec, fragp) ext = false; } - resolve_symbol_value (fragp->fr_symbol, finalize_syms); + resolve_symbol_value (fragp->fr_symbol); val = S_GET_VALUE (fragp->fr_symbol); if (op->pcrel) { @@ -12047,6 +12067,12 @@ static const struct mips_cpu_info mips_c { "10000", 0, ISA_MIPS4, CPU_R10000, }, { "10k", 0, ISA_MIPS4, CPU_R10000, }, { "r10k", 0, ISA_MIPS4, CPU_R10000, }, + + /* R12000 CPU */ + { "R12000", 0, ISA_MIPS4, CPU_R12000, }, + { "12000", 0, ISA_MIPS4, CPU_R12000, }, + { "12k", 0, ISA_MIPS4, CPU_R12000, }, + { "r12k", 0, ISA_MIPS4, CPU_R12000, }, /* VR4100 CPU */ { "VR4100", 0, ISA_MIPS3, CPU_VR4100, }, diff -uprN binutils-2.11.90.0.8/gas/config/tc-mn10300.c binutils-2.11.90.0.15/gas/config/tc-mn10300.c --- binutils-2.11.90.0.8/gas/config/tc-mn10300.c Sat May 12 00:06:41 2001 +++ binutils-2.11.90.0.15/gas/config/tc-mn10300.c Mon May 21 10:36:15 2001 @@ -1517,6 +1517,13 @@ keep_going: { int type; + /* We want to anchor the line info to the previous frag (if + there isn't one, create it), so that, when the insn is + resized, we still get the right address for the beginning of + the region. */ + f = frag_more (0); + dwarf2_emit_insn (0); + /* bCC */ if (size == 2) { @@ -1770,9 +1777,9 @@ keep_going: fixP->fx_offset += offset; } } - } - dwarf2_emit_insn (size); + dwarf2_emit_insn (size); + } } /* If while processing a fixup, a reloc really needs to be created @@ -1798,6 +1805,45 @@ tc_gen_reloc (seg, fixp) if (fixp->fx_addsy && fixp->fx_subsy) { + /* If we got a difference between two symbols, and the + subtracted symbol is in the current section, use a + PC-relative relocation. If both symbols are in the same + section, the difference would have already been simplified + to a constant. */ + if (S_GET_SEGMENT (fixp->fx_subsy) == seg) + { + reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *)); + *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy); + reloc->addend = (reloc->address - S_GET_VALUE (fixp->fx_subsy) + + fixp->fx_offset); + + switch (fixp->fx_r_type) + { + case BFD_RELOC_8: + reloc->howto = bfd_reloc_type_lookup (stdoutput, + BFD_RELOC_8_PCREL); + return reloc; + + case BFD_RELOC_16: + reloc->howto = bfd_reloc_type_lookup (stdoutput, + BFD_RELOC_16_PCREL); + return reloc; + + case BFD_RELOC_24: + reloc->howto = bfd_reloc_type_lookup (stdoutput, + BFD_RELOC_24_PCREL); + return reloc; + + case BFD_RELOC_32: + reloc->howto = bfd_reloc_type_lookup (stdoutput, + BFD_RELOC_32_PCREL); + return reloc; + + default: + /* Try to compute the absolute value below. */ + break; + } + } if ((S_GET_SEGMENT (fixp->fx_addsy) != S_GET_SEGMENT (fixp->fx_subsy)) || S_GET_SEGMENT (fixp->fx_addsy) == undefined_section) @@ -1947,6 +1993,15 @@ mn10300_force_relocation (fixp) || fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY) return 1; + /* Do not adjust relocations involving symbols in code sections, + because it breaks linker relaxations. This could be fixed in the + linker, but this fix is simpler, and it pretty much only affects + object size a little bit. */ + if ((S_GET_SEGMENT (fixp->fx_addsy)->flags & SEC_CODE) + && fixp->fx_subsy + && S_GET_SEGMENT (fixp->fx_addsy) == S_GET_SEGMENT (fixp->fx_subsy)) + return 1; + return 0; } @@ -1963,6 +2018,13 @@ mn10300_fix_adjustable (fixp) if (fixp->fx_r_type == BFD_RELOC_VTABLE_INHERIT || fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY) + return 0; + + /* Do not adjust relocations involving symbols in code sections, + because it breaks linker relaxations. This could be fixed in the + linker, but this fix is simpler, and it pretty much only affects + object size a little bit. */ + if (S_GET_SEGMENT (fixp->fx_addsy)->flags & SEC_CODE) return 0; return 1; diff -uprN binutils-2.11.90.0.8/gas/config/tc-ppc.c binutils-2.11.90.0.15/gas/config/tc-ppc.c --- binutils-2.11.90.0.8/gas/config/tc-ppc.c Thu Mar 29 23:28:58 2001 +++ binutils-2.11.90.0.15/gas/config/tc-ppc.c Fri Jun 1 20:49:11 2001 @@ -2845,9 +2845,29 @@ ppc_stabx (ignore) symbol_get_tc (sym)->output = 1; - if (S_GET_STORAGE_CLASS (sym) == C_STSYM) + if (S_GET_STORAGE_CLASS (sym) == C_STSYM) { + symbol_get_tc (sym)->within = ppc_current_block; + /* In this case : + + .bs name + .stabx "z",arrays_,133,0 + .es + + .comm arrays_,13768,3 + + resolve_symbol_value will copy the exp's "within" into sym's when the + offset is 0. Since this seems to be corner case problem, + only do the correction for storage class C_STSYM. A better solution + would be to have the tc field updated in ppc_symbol_new_hook. */ + + if (exp.X_op == O_symbol) + { + symbol_get_tc (exp.X_add_symbol)->within = ppc_current_block; + } + } + if (exp.X_op != O_symbol || ! S_IS_EXTERNAL (exp.X_add_symbol) || S_GET_SEGMENT (exp.X_add_symbol) != bss_section) @@ -4221,7 +4241,7 @@ ppc_frob_symbol (sym) ppc_last_function = sym; if (symbol_get_tc (sym)->size != (symbolS *) NULL) { - resolve_symbol_value (symbol_get_tc (sym)->size, finalize_syms); + resolve_symbol_value (symbol_get_tc (sym)->size); SA_SET_SYM_FSIZE (sym, (long) S_GET_VALUE (symbol_get_tc (sym)->size)); } @@ -4281,7 +4301,7 @@ ppc_frob_symbol (sym) - S_GET_VALUE (sym)); else { - resolve_symbol_value (symbol_get_tc (sym)->next, finalize_syms); + resolve_symbol_value (symbol_get_tc (sym)->next); a->x_csect.x_scnlen.l = (S_GET_VALUE (symbol_get_tc (sym)->next) - S_GET_VALUE (sym)); } @@ -4334,7 +4354,7 @@ ppc_frob_symbol (sym) } else { - resolve_symbol_value (next, finalize_syms); + resolve_symbol_value (next); a->x_csect.x_scnlen.l = (S_GET_VALUE (next) - S_GET_VALUE (sym)); } @@ -4365,8 +4385,7 @@ ppc_frob_symbol (sym) { while (symbol_get_tc (csect)->next != (symbolS *) NULL) { - resolve_symbol_value (symbol_get_tc (csect)->next, - finalize_syms); + resolve_symbol_value (symbol_get_tc (csect)->next); if (S_GET_VALUE (symbol_get_tc (csect)->next) > S_GET_VALUE (sym)) break; @@ -4412,7 +4431,7 @@ ppc_frob_symbol (sym) /* The value is the offset from the enclosing csect. */ block = symbol_get_tc (sym)->within; csect = symbol_get_tc (block)->within; - resolve_symbol_value (csect, finalize_syms); + resolve_symbol_value (csect); S_SET_VALUE (sym, S_GET_VALUE (sym) - S_GET_VALUE (csect)); } else if (S_GET_STORAGE_CLASS (sym) == C_BINCL @@ -4629,7 +4648,7 @@ ppc_fix_adjustable (fix) { valueT val; - resolve_symbol_value (fix->fx_addsy, finalize_syms); + resolve_symbol_value (fix->fx_addsy); val = S_GET_VALUE (fix->fx_addsy); if (ppc_toc_csect != (symbolS *) NULL && fix->fx_addsy != (symbolS *) NULL @@ -4649,7 +4668,7 @@ ppc_fix_adjustable (fix) continue; if (symbol_get_tc (sy)->class != XMC_TC) break; - resolve_symbol_value (sy, finalize_syms); + resolve_symbol_value (sy); if (val == S_GET_VALUE (sy)) { fix->fx_addsy = sy; @@ -4733,8 +4752,7 @@ ppc_fix_adjustable (fix) && S_GET_SEGMENT (fix->fx_addsy) == bss_section && ! S_IS_EXTERNAL (fix->fx_addsy)) { - resolve_symbol_value (symbol_get_frag (fix->fx_addsy)->fr_symbol, - finalize_syms); + resolve_symbol_value (symbol_get_frag (fix->fx_addsy)->fr_symbol); fix->fx_offset += (S_GET_VALUE (fix->fx_addsy) - S_GET_VALUE (symbol_get_frag (fix->fx_addsy)->fr_symbol)); diff -uprN binutils-2.11.90.0.8/gas/config/tc-s390.h binutils-2.11.90.0.15/gas/config/tc-s390.h --- binutils-2.11.90.0.8/gas/config/tc-s390.h Tue Mar 27 08:48:25 2001 +++ binutils-2.11.90.0.15/gas/config/tc-s390.h Sat Jun 9 00:13:01 2001 @@ -44,6 +44,10 @@ struct fix; && S_IS_DEFINED ((FIX)->fx_addsy) \ && ! S_IS_COMMON ((FIX)->fx_addsy)))) +#define TC_FORCE_RELOCATION(FIXP) \ + ((FIXP)->fx_r_type == BFD_RELOC_VTABLE_INHERIT \ + || (FIXP)->fx_r_type == BFD_RELOC_VTABLE_ENTRY) + #define tc_fix_adjustable(X) tc_s390_fix_adjustable(X) extern int tc_s390_fix_adjustable PARAMS ((struct fix *)); diff -uprN binutils-2.11.90.0.8/gas/config/tc-sparc.c binutils-2.11.90.0.15/gas/config/tc-sparc.c --- binutils-2.11.90.0.8/gas/config/tc-sparc.c Fri Mar 9 11:38:17 2001 +++ binutils-2.11.90.0.15/gas/config/tc-sparc.c Fri Jun 1 21:47:23 2001 @@ -2971,16 +2971,19 @@ md_apply_fix3 (fixP, value, segment) /* If this is a data relocation, just output VAL. */ - if (fixP->fx_r_type == BFD_RELOC_16) + if (fixP->fx_r_type == BFD_RELOC_16 + || fixP->fx_r_type == BFD_RELOC_SPARC_UA16) { md_number_to_chars (buf, val, 2); } else if (fixP->fx_r_type == BFD_RELOC_32 + || fixP->fx_r_type == BFD_RELOC_SPARC_UA32 || fixP->fx_r_type == BFD_RELOC_SPARC_REV32) { md_number_to_chars (buf, val, 4); } - else if (fixP->fx_r_type == BFD_RELOC_64) + else if (fixP->fx_r_type == BFD_RELOC_64 + || fixP->fx_r_type == BFD_RELOC_SPARC_UA64) { md_number_to_chars (buf, val, 8); } @@ -3316,6 +3319,9 @@ tc_gen_reloc (section, fixp) case BFD_RELOC_SPARC_LOX10: case BFD_RELOC_SPARC_REV32: case BFD_RELOC_SPARC_OLO10: + case BFD_RELOC_SPARC_UA16: + case BFD_RELOC_SPARC_UA32: + case BFD_RELOC_SPARC_UA64: case BFD_RELOC_VTABLE_ENTRY: case BFD_RELOC_VTABLE_INHERIT: code = fixp->fx_r_type; @@ -4066,12 +4072,9 @@ sparc_cons_align (nbytes) if (! enforce_aligned_data) return; + /* Don't align if this is an unaligned pseudo-op. */ if (sparc_no_align_cons) - { - /* This is an unaligned pseudo-op. */ - sparc_no_align_cons = 0; - return; - } + return; nalign = log2 (nbytes); if (nalign == 0) @@ -4196,9 +4199,23 @@ cons_fix_new_sparc (frag, where, nbytes, (nbytes == 2 ? BFD_RELOC_16 : (nbytes == 4 ? BFD_RELOC_32 : BFD_RELOC_64))); - if (target_little_endian_data && nbytes == 4 + if (target_little_endian_data + && nbytes == 4 && now_seg->flags & SEC_ALLOC) r = BFD_RELOC_SPARC_REV32; + + if (sparc_no_align_cons) + { + switch (nbytes) + { + case 2: r = BFD_RELOC_SPARC_UA16; break; + case 4: r = BFD_RELOC_SPARC_UA32; break; + case 8: r = BFD_RELOC_SPARC_UA64; break; + default: abort (); + } + sparc_no_align_cons = 0; + } + fix_new_exp (frag, where, (int) nbytes, exp, 0, r); } diff -uprN binutils-2.11.90.0.8/gas/config/tc-v850.c binutils-2.11.90.0.15/gas/config/tc-v850.c --- binutils-2.11.90.0.8/gas/config/tc-v850.c Sat May 12 00:06:45 2001 +++ binutils-2.11.90.0.15/gas/config/tc-v850.c Wed May 23 10:55:28 2001 @@ -1,5 +1,6 @@ /* tc-v850.c -- Assembler code for the NEC V850 - Copyright 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright 1996, 1997, 1998, 1999, 2000, 2001 + Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -1699,7 +1700,6 @@ md_assemble (str) int relaxable = 0; unsigned long insn; unsigned long insn_size; - unsigned long total_insn_size = 0; char *f; int i; int match; @@ -2150,6 +2150,11 @@ md_assemble (str) input_line_pointer = str; + /* Tie dwarf2 debug info to the address at the start of the insn. + We can't do this after the insn has been output as the current + frag may have been closed off. eg. by frag_var. */ + dwarf2_emit_insn (0); + /* Write out the instruction. */ if (relaxable && fc > 0) @@ -2175,7 +2180,6 @@ md_assemble (str) md_number_to_chars (f, insn, insn_size); md_number_to_chars (f + 2, 0, 4); } - total_insn_size = insn_size; } else { @@ -2190,15 +2194,11 @@ md_assemble (str) insn_size = 2; f = frag_more (insn_size); - total_insn_size = insn_size; - md_number_to_chars (f, insn, insn_size); if (extra_data_after_insn) { f = frag_more (extra_data_len); - total_insn_size += extra_data_len; - md_number_to_chars (f, extra_data, extra_data_len); extra_data_after_insn = false; @@ -2271,8 +2271,6 @@ md_assemble (str) } input_line_pointer = saved_input_line_pointer; - - dwarf2_emit_insn (total_insn_size); } /* If while processing a fixup, a reloc really needs to be created diff -uprN binutils-2.11.90.0.8/gas/config/tc-z8k.c binutils-2.11.90.0.15/gas/config/tc-z8k.c --- binutils-2.11.90.0.8/gas/config/tc-z8k.c Tue Apr 24 09:13:06 2001 +++ binutils-2.11.90.0.15/gas/config/tc-z8k.c Sat Jun 9 00:13:01 2001 @@ -159,8 +159,6 @@ md_begin () for (opcode = z8k_table; opcode->name; opcode++) { /* Only enter unique codes into the table. */ - char *src = opcode->name; - if (strcmp (opcode->name, prev_name)) { hash_insert (opcode_hash_control, opcode->name, (char *) opcode); @@ -178,8 +176,8 @@ md_begin () { opcode_entry_type *fake_opcode; fake_opcode = (opcode_entry_type *) malloc (sizeof (opcode_entry_type)); - fake_opcode->name = md_pseudo_table[idx].poc_name, - fake_opcode->func = (void *) (md_pseudo_table + idx); + fake_opcode->name = md_pseudo_table[idx].poc_name; + fake_opcode->func = (void *) (md_pseudo_table + idx); fake_opcode->opcode = 250; hash_insert (opcode_hash_control, fake_opcode->name, fake_opcode); } @@ -404,25 +402,24 @@ struct ctrl_names { }; struct ctrl_names ctrl_table[] = { - 0x2, "fcw", - 0X3, "refresh", - 0x4, "psapseg", - 0x5, "psapoff", - 0x5, "psap", - 0x6, "nspseg", - 0x7, "nspoff", - 0x7, "nsp", - 0 , 0 + { 0x2, "fcw" }, + { 0x3, "refresh" }, + { 0x4, "psapseg" }, + { 0x5, "psapoff" }, + { 0x5, "psap" }, + { 0x6, "nspseg" }, + { 0x7, "nspoff" }, + { 0x7, "nsp" }, + { 0 , 0 } }; static void get_ctrl_operand (ptr, mode, dst) char **ptr; struct z8k_op *mode; - unsigned int dst; + unsigned int dst ATTRIBUTE_UNUSED; { char *src = *ptr; - int r; int i; while (*src == ' ') @@ -455,23 +452,22 @@ struct flag_names { }; struct flag_names flag_table[] = { - 0x1, "p", - 0x1, "v", - 0x2, "s", - 0x4, "z", - 0x8, "c", - 0x0, "+", - 0, 0 + { 0x1, "p" }, + { 0x1, "v" }, + { 0x2, "s" }, + { 0x4, "z" }, + { 0x8, "c" }, + { 0x0, "+" }, + { 0, 0 } }; static void get_flags_operand (ptr, mode, dst) char **ptr; struct z8k_op *mode; - unsigned int dst; + unsigned int dst ATTRIBUTE_UNUSED; { char *src = *ptr; - int r; int i; int j; @@ -508,21 +504,20 @@ struct interrupt_names { }; struct interrupt_names intr_table[] = { - 0x1, "nvi", - 0x2, "vi", - 0x3, "both", - 0x3, "all", - 0, 0 + { 0x1, "nvi" }, + { 0x2, "vi" }, + { 0x3, "both" }, + { 0x3, "all" }, + { 0, 0 } }; static void get_interrupt_operand (ptr, mode, dst) char **ptr; struct z8k_op *mode; - unsigned int dst; + unsigned int dst ATTRIBUTE_UNUSED; { char *src = *ptr; - int r; int i; while (*src == ' ') @@ -555,39 +550,38 @@ struct cc_names { }; struct cc_names table[] = { - 0x0, "f", - 0x1, "lt", - 0x2, "le", - 0x3, "ule", - 0x4, "ov", - 0x4, "pe", - 0x5, "mi", - 0x6, "eq", - 0x6, "z", - 0x7, "c", - 0x7, "ult", - 0x8, "t", - 0x9, "ge", - 0xa, "gt", - 0xb, "ugt", - 0xc, "nov", - 0xc, "po", - 0xd, "pl", - 0xe, "ne", - 0xe, "nz", - 0xf, "nc", - 0xf, "uge", - 0 , 0 + { 0x0, "f" }, + { 0x1, "lt" }, + { 0x2, "le" }, + { 0x3, "ule" }, + { 0x4, "ov" }, + { 0x4, "pe" }, + { 0x5, "mi" }, + { 0x6, "eq" }, + { 0x6, "z" }, + { 0x7, "c" }, + { 0x7, "ult" }, + { 0x8, "t" }, + { 0x9, "ge" }, + { 0xa, "gt" }, + { 0xb, "ugt" }, + { 0xc, "nov" }, + { 0xc, "po" }, + { 0xd, "pl" }, + { 0xe, "ne" }, + { 0xe, "nz" }, + { 0xf, "nc" }, + { 0xf, "uge" }, + { 0 , 0 } }; static void get_cc_operand (ptr, mode, dst) char **ptr; struct z8k_op *mode; - unsigned int dst; + unsigned int dst ATTRIBUTE_UNUSED; { char *src = *ptr; - int r; int i; while (*src == ' ') @@ -616,13 +610,10 @@ static void get_operand (ptr, mode, dst) char **ptr; struct z8k_op *mode; - unsigned int dst; + unsigned int dst ATTRIBUTE_UNUSED; { char *src = *ptr; char *end; - unsigned int num; - unsigned int len; - unsigned int size; mode->mode = 0; @@ -774,7 +765,7 @@ get_operands (opcode, op_end, operand) ptr = savptr; get_operand (&ptr, operand + 0, 0); if (ptr == 0) - return; + return NULL; if (*ptr == ',') ptr++; get_ctrl_operand (&ptr, operand + 1, 1); @@ -786,7 +777,7 @@ get_operands (opcode, op_end, operand) get_operand (&ptr, operand + 0, 0); } if (ptr == 0) - return; + return NULL; if (*ptr == ',') ptr++; get_operand (&ptr, operand + 1, 1); @@ -838,8 +829,7 @@ get_specific (opcode, operands) int found = 0; unsigned int noperands = opcode->noperands; - unsigned int dispreg; - unsigned int this_index = opcode->idx; + int this_index = opcode->idx; while (this_index == opcode->idx && !found) { @@ -848,7 +838,7 @@ get_specific (opcode, operands) this_try = opcode++; for (i = 0; i < noperands; i++) { - int mode = operands[i].mode; + unsigned int mode = operands[i].mode; if ((mode & CLASS_MASK) != (this_try->arg_info[i] & CLASS_MASK)) { @@ -912,6 +902,7 @@ get_specific (opcode, operands) return 0; } +#if 0 /* Not used. */ static void check_operand (operand, width, string) struct z8k_op *operand; @@ -935,6 +926,7 @@ check_operand (operand, width, string) } } +#endif static char buffer[20]; @@ -966,17 +958,15 @@ apply_fix (ptr, type, operand, size) { int n = operand->X_add_number; - operand->X_add_number = n; newfix ((ptr - buffer) / 2, type, operand); -#if 1 switch (size) { - case 8: /* 8 nibbles == 32 bits */ + case 8: /* 8 nibbles == 32 bits. */ *ptr++ = n >> 28; *ptr++ = n >> 24; *ptr++ = n >> 20; *ptr++ = n >> 16; - case 4: /* 4 niblles == 16 bits */ + case 4: /* 4 nibbles == 16 bits. */ *ptr++ = n >> 12; *ptr++ = n >> 8; case 2: @@ -985,9 +975,7 @@ apply_fix (ptr, type, operand, size) *ptr++ = n >> 0; break; } -#endif return ptr; - } /* Now we know what sort of opcodes it is. Let's build the bytes. */ @@ -997,16 +985,10 @@ apply_fix (ptr, type, operand, size) static void build_bytes (this_try, operand) opcode_entry_type *this_try; - struct z8k_op *operand; + struct z8k_op *operand ATTRIBUTE_UNUSED; { - unsigned int i; - - int length; - char *output; char *output_ptr = buffer; - char part; int c; - char high; int nib; int nibble; unsigned int *class_ptr; @@ -1017,8 +999,7 @@ build_bytes (this_try, operand) memset (buffer, 20, 0); class_ptr = this_try->byte_info; - top: - for (nibble = 0; c = *class_ptr++; nibble++) + for (nibble = 0; (c = *class_ptr++); nibble++) { switch (c & CLASS_MASK) @@ -1030,7 +1011,7 @@ build_bytes (this_try, operand) /* Direct address, we don't cope with the SS mode right now. */ if (segmented_mode) { - da_operand->X_add_number |= 0x80000000; + /* da_operand->X_add_number |= 0x80000000; -- Now set at relocation time. */ output_ptr = apply_fix (output_ptr, R_IMM32, da_operand, 8); } else @@ -1113,11 +1094,11 @@ build_bytes (this_try, operand) output_ptr = apply_fix (output_ptr, R_CALLR, da_operand, 4); break; case ARG_DISP16: - output_ptr = apply_fix (output_ptr, R_REL16, da_operand, 4); - break; - default: - output_ptr = apply_fix (output_ptr, R_IMM16, da_operand, 4); - } + output_ptr = apply_fix (output_ptr, R_REL16, da_operand, 4); + break; + default: + output_ptr = apply_fix (output_ptr, R_IMM16, da_operand, 4); + } da_operand = 0; break; @@ -1180,16 +1161,13 @@ void md_assemble (str) char *str; { + char c; char *op_start; char *op_end; - unsigned int i; struct z8k_op operand[3]; opcode_entry_type *opcode; opcode_entry_type *prev_opcode; - char *dot = 0; - char c; - /* Drop leading whitespace. */ while (*str == ' ') str++; @@ -1263,21 +1241,21 @@ md_assemble (str) void tc_crawl_symbol_chain (headers) - object_headers *headers; + object_headers *headers ATTRIBUTE_UNUSED; { printf (_("call to tc_crawl_symbol_chain \n")); } symbolS * md_undefined_symbol (name) - char *name; + char *name ATTRIBUTE_UNUSED; { return 0; } void tc_headers_hook (headers) - object_headers *headers; + object_headers *headers ATTRIBUTE_UNUSED; { printf (_("call to tc_headers_hook \n")); } @@ -1399,9 +1377,9 @@ tc_aout_fix_to_chars () void md_convert_frag (headers, seg, fragP) - object_headers *headers; - segT seg; - fragS *fragP; + object_headers *headers ATTRIBUTE_UNUSED; + segT seg ATTRIBUTE_UNUSED; + fragS *fragP ATTRIBUTE_UNUSED; { printf (_("call to md_convert_frag \n")); abort (); @@ -1481,8 +1459,8 @@ md_apply_fix (fixP, val) int md_estimate_size_before_relax (fragP, segment_type) - register fragS *fragP; - register segT segment_type; + register fragS *fragP ATTRIBUTE_UNUSED; + register segT segment_type ATTRIBUTE_UNUSED; { printf (_("call tomd_estimate_size_before_relax \n")); abort (); @@ -1501,14 +1479,14 @@ md_number_to_chars (ptr, use, nbytes) long md_pcrel_from (fixP) - fixS *fixP; + fixS *fixP ATTRIBUTE_UNUSED; { abort (); } void tc_coff_symbol_emit_hook (s) - symbolS *s; + symbolS *s ATTRIBUTE_UNUSED; { } diff -uprN binutils-2.11.90.0.8/gas/configure binutils-2.11.90.0.15/gas/configure --- binutils-2.11.90.0.8/gas/configure Wed May 2 23:45:33 2001 +++ binutils-2.11.90.0.15/gas/configure Sat Jun 9 00:13:01 2001 @@ -55,7 +55,6 @@ program_suffix=NONE program_transform_name=s,x,x, silent= site= -sitefile= srcdir= target=NONE verbose= @@ -170,7 +169,6 @@ 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 @@ -341,11 +339,6 @@ 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=*) @@ -511,16 +504,12 @@ fi srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. -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 +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 -else - CONFIG_SITE="$sitefile" fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then @@ -559,12 +548,12 @@ else fi echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:563: checking for Cygwin environment" >&5 +echo "configure:552: 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:568: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_cygwin=yes else @@ -592,19 +581,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:596: checking for mingw32 environment" >&5 +echo "configure:585: 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:597: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_mingw32=yes else @@ -669,7 +658,7 @@ else { echo "configure: error: can not r fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:673: checking host system type" >&5 +echo "configure:662: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -690,7 +679,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:694: checking target system type" >&5 +echo "configure:683: checking target system type" >&5 target_alias=$target case "$target_alias" in @@ -708,7 +697,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:712: checking build system type" >&5 +echo "configure:701: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -733,7 +722,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:737: checking for $ac_word" >&5 +echo "configure:726: 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 @@ -763,7 +752,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:767: checking for $ac_word" >&5 +echo "configure:756: 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 @@ -814,7 +803,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:818: checking for $ac_word" >&5 +echo "configure:807: 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 @@ -846,7 +835,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:850: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:839: 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. @@ -857,12 +846,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 861 "configure" +#line 850 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:855: \"$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 @@ -888,12 +877,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:892: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:881: 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:897: checking whether we are using GNU C" >&5 +echo "configure:886: 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 @@ -902,7 +891,7 @@ else yes; #endif EOF -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 +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 ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -921,7 +910,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:925: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:914: 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 @@ -953,7 +942,7 @@ else fi echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:957: checking for POSIXized ISC" >&5 +echo "configure:946: 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 @@ -987,7 +976,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:991: checking for a BSD compatible install" >&5 +echo "configure:980: 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 @@ -1040,7 +1029,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:1044: checking whether build environment is sane" >&5 +echo "configure:1033: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -1097,7 +1086,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:1101: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1090: 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 @@ -1143,7 +1132,7 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:1147: checking for working aclocal" >&5 +echo "configure:1136: 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. @@ -1156,7 +1145,7 @@ else fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:1160: checking for working autoconf" >&5 +echo "configure:1149: 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. @@ -1169,7 +1158,7 @@ else fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:1173: checking for working automake" >&5 +echo "configure:1162: 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. @@ -1182,7 +1171,7 @@ else fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:1186: checking for working autoheader" >&5 +echo "configure:1175: 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. @@ -1195,7 +1184,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:1199: checking for working makeinfo" >&5 +echo "configure:1188: 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. @@ -1290,7 +1279,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:1294: checking for ld used by GCC" >&5 +echo "configure:1283: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -1320,10 +1309,10 @@ echo "configure:1294: 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:1324: checking for GNU ld" >&5 +echo "configure:1313: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1327: checking for non-GNU ld" >&5 +echo "configure:1316: 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 @@ -1358,7 +1347,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:1362: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:1351: 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 @@ -1375,7 +1364,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:1379: checking for $LD option to reload object files" >&5 +echo "configure:1368: 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 @@ -1387,7 +1376,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:1391: checking for BSD-compatible nm" >&5 +echo "configure:1380: 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 @@ -1425,7 +1414,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:1429: checking whether ln -s works" >&5 +echo "configure:1418: 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 @@ -1446,7 +1435,7 @@ else fi echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 -echo "configure:1450: checking how to recognise dependant libraries" >&5 +echo "configure:1439: 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 @@ -1547,7 +1536,7 @@ irix5* | irix6*) # This must be Linux ELF. linux-gnu*) case $host_cpu in - alpha* | i*86 | powerpc* | sparc* | ia64* ) + alpha* | hppa* | 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 @@ -1586,6 +1575,10 @@ solaris*) lt_cv_file_magic_test_file=/lib/libc.so ;; +sysv5uw[78]* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) case $host_vendor in ncr) @@ -1606,13 +1599,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:1610: checking for object suffix" >&5 +echo "configure:1603: 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:1616: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1609: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -1632,7 +1625,7 @@ ac_objext=$ac_cv_objext echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1636: checking for executable suffix" >&5 +echo "configure:1629: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1642,10 +1635,10 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:1646: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:1639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in - *.c | *.o | *.obj | *.ilk | *.pdb) ;; + *.c | *.o | *.obj) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done @@ -1675,7 +1668,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:1679: checking for ${ac_tool_prefix}file" >&5 +echo "configure:1672: 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 @@ -1737,7 +1730,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:1741: checking for file" >&5 +echo "configure:1734: 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 @@ -1808,7 +1801,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:1812: checking for $ac_word" >&5 +echo "configure:1805: 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 @@ -1840,7 +1833,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:1844: checking for $ac_word" >&5 +echo "configure:1837: 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 @@ -1875,7 +1868,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:1879: checking for $ac_word" >&5 +echo "configure:1872: 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 @@ -1907,7 +1900,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:1911: checking for $ac_word" >&5 +echo "configure:1904: 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 @@ -1974,8 +1967,8 @@ test x"$pic_mode" = xno && libtool_flags case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 1978 "configure"' > conftest.$ac_ext - if { (eval echo configure:1979: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 1971 "configure"' > conftest.$ac_ext + if { (eval echo configure:1972: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" @@ -1996,7 +1989,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:2000: checking whether the C compiler needs -belf" >&5 +echo "configure:1993: 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 @@ -2009,14 +2002,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:2013: \"$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 @@ -2376,7 +2369,7 @@ for this_target in $target $canon_target i386-*-netbsd0.8) fmt=aout em=386bsd ;; i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;; i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;; - i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;; + i386-*-linux*aout* | i386-*-linux*oldld) fmt=aout em=linux ;; i386-*-linux*coff*) fmt=coff em=linux ;; i386-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;; x86_64-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;; @@ -2481,7 +2474,14 @@ EOF mips-*-irix*) fmt=ecoff ;; mips-*-lnews*) fmt=ecoff em=lnews ;; mips-*-riscos*) fmt=ecoff ;; - mips-*-sysv4*MP* | mips-*-linux-gnu* | mips-*-gnu*) + mips-*-linux-gnu*) + fmt=elf em=tmips + cat >> confdefs.h <<\EOF +#define MIPS_STABS_ELF 1 +EOF + + ;; + mips-*-sysv4*MP* | mips-*-gnu*) fmt=elf em=tmips ;; mips-*-sysv*) fmt=ecoff ;; mips-*-elf* | mips-*-rtems* | mips-*-openbsd*) @@ -2752,8 +2752,8 @@ EOF case ${generic_target}-${fmt} in mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;; mips-*-linux-gnu*-*) case "$endian" in - big) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;; - *) emulation="mipslelf mipsbelf mipself mipslecoff mipsbecoff mipsecoff" ;; + big) emulation="mipsbelf mipslelf mipself" ;; + *) emulation="mipslelf mipsbelf mipself" ;; esac ;; mips-*-lnews*-ecoff) ;; mips-*-*-ecoff) case "$endian" in @@ -5288,7 +5288,7 @@ else 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 | *.ilk | *.pdb) ;; + *.c | *.o | *.obj) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done diff -uprN binutils-2.11.90.0.8/gas/configure.in binutils-2.11.90.0.15/gas/configure.in --- binutils-2.11.90.0.8/gas/configure.in Wed May 2 23:45:34 2001 +++ binutils-2.11.90.0.15/gas/configure.in Sat Jun 9 00:13:01 2001 @@ -244,7 +244,7 @@ changequote([,])dnl i386-*-netbsd0.8) fmt=aout em=386bsd ;; i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;; i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;; - i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;; + i386-*-linux*aout* | i386-*-linux*oldld) fmt=aout em=linux ;; i386-*-linux*coff*) fmt=coff em=linux ;; i386-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;; x86_64-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;; @@ -346,7 +346,12 @@ changequote([,])dnl mips-*-irix*) fmt=ecoff ;; mips-*-lnews*) fmt=ecoff em=lnews ;; mips-*-riscos*) fmt=ecoff ;; - mips-*-sysv4*MP* | mips-*-linux-gnu* | mips-*-gnu*) + mips-*-linux-gnu*) + fmt=elf em=tmips + AC_DEFINE(MIPS_STABS_ELF, 1, + [Use ELF stabs for MIPS, not ECOFF stabs]) + ;; + mips-*-sysv4*MP* | mips-*-gnu*) fmt=elf em=tmips ;; mips-*-sysv*) fmt=ecoff ;; mips-*-elf* | mips-*-rtems* | mips-*-openbsd*) @@ -602,8 +607,8 @@ changequote([,])dnl case ${generic_target}-${fmt} in mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;; mips-*-linux-gnu*-*) case "$endian" in - big) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;; - *) emulation="mipslelf mipsbelf mipself mipslecoff mipsbecoff mipsecoff" ;; + big) emulation="mipsbelf mipslelf mipself" ;; + *) emulation="mipslelf mipsbelf mipself" ;; esac ;; mips-*-lnews*-ecoff) ;; mips-*-*-ecoff) case "$endian" in diff -uprN binutils-2.11.90.0.8/gas/doc/internals.texi binutils-2.11.90.0.15/gas/doc/internals.texi --- binutils-2.11.90.0.8/gas/doc/internals.texi Fri Mar 9 11:17:15 2001 +++ binutils-2.11.90.0.15/gas/doc/internals.texi Wed May 23 10:55:34 2001 @@ -130,11 +130,12 @@ Symbol structures contain the following @item sy_value This is an @code{expressionS} that describes the value of the symbol. It might refer to one or more other symbols; if so, its true value may not be known -until @code{resolve_symbol_value} is called in @code{write_object_file}. +until @code{resolve_symbol_value} is called with @var{finalize_syms} non-zero +in @code{write_object_file}. The expression is often simply a constant. Before @code{resolve_symbol_value} -is called, the value is the offset from the frag (@pxref{Frags}). Afterward, -the frag address has been added in. +is called with @var{finalize_syms} set, the value is the offset from the frag +(@pxref{Frags}). Afterward, the frag address has been added in. @item sy_resolved This field is non-zero if the symbol's value has been completely resolved. It @@ -208,9 +209,7 @@ Set the symbol's value. @item S_GET_VALUE @cindex S_GET_VALUE Get the symbol's value. This will cause @code{resolve_symbol_value} to be -called if necessary, so @code{S_GET_VALUE} should only be called when it is -safe to resolve symbols (i.e., after the entire input file has been read and -all symbols have been defined). +called if necessary. @item S_SET_SEGMENT @cindex S_SET_SEGMENT diff -uprN binutils-2.11.90.0.8/gas/dwarf2dbg.c binutils-2.11.90.0.15/gas/dwarf2dbg.c --- binutils-2.11.90.0.8/gas/dwarf2dbg.c Fri Apr 13 11:47:27 2001 +++ binutils-2.11.90.0.15/gas/dwarf2dbg.c Wed May 23 11:36:04 2001 @@ -772,7 +772,7 @@ dwarf2dbg_estimate_size_before_relax (fr offsetT addr_delta; int size; - addr_delta = resolve_symbol_value (frag->fr_symbol, 0); + addr_delta = resolve_symbol_value (frag->fr_symbol); size = size_inc_line_addr (frag->fr_offset, addr_delta); frag->fr_subtype = size; @@ -806,7 +806,7 @@ dwarf2dbg_convert_frag (frag) { offsetT addr_diff; - addr_diff = resolve_symbol_value (frag->fr_symbol, finalize_syms); + addr_diff = resolve_symbol_value (frag->fr_symbol); /* fr_var carries the max_chars that we created the fragment with. fr_subtype carries the current expected length. We must, of diff -uprN binutils-2.11.90.0.8/gas/ehopt.c binutils-2.11.90.0.15/gas/ehopt.c --- binutils-2.11.90.0.8/gas/ehopt.c Thu Mar 29 23:28:39 2001 +++ binutils-2.11.90.0.15/gas/ehopt.c Wed May 23 10:55:03 2001 @@ -88,30 +88,27 @@ __FRAME_BEGIN__: not know this value, it always uses four bytes. We will know the value at the end of assembly, so we can do better. */ -static int eh_frame_code_alignment PARAMS ((int)); +struct cie_info +{ + unsigned code_alignment; + int z_augmentation; +}; + +static int get_cie_info PARAMS ((struct cie_info *)); -/* Get the code alignment factor from the CIE. */ +/* Extract information from the CIE. */ static int -eh_frame_code_alignment (in_seg) - int in_seg; +get_cie_info (info) + struct cie_info *info; { - /* ??? Assume .eh_frame and .debug_frame have the same alignment. */ - static int code_alignment; - fragS *f; fixS *fix; int offset; char CIE_id; char augmentation[10]; int iaug; - - if (code_alignment != 0) - return code_alignment; - - /* Can't find the alignment if we've changed sections. */ - if (! in_seg) - return -1; + int code_alignment = 0; /* We should find the CIE at the start of the section. */ @@ -147,10 +144,7 @@ eh_frame_code_alignment (in_seg) || f->fr_literal[offset + 1] != CIE_id || f->fr_literal[offset + 2] != CIE_id || f->fr_literal[offset + 3] != CIE_id) - { - code_alignment = -1; - return -1; - } + return 0; /* Next make sure the CIE version number is 1. */ @@ -163,10 +157,7 @@ eh_frame_code_alignment (in_seg) if (f == NULL || f->fr_fix - offset < 1 || f->fr_literal[offset] != 1) - { - code_alignment = -1; - return -1; - } + return 0; /* Skip the augmentation (a null terminated string). */ @@ -180,10 +171,8 @@ eh_frame_code_alignment (in_seg) f = f->fr_next; } if (f == NULL) - { - code_alignment = -1; - return -1; - } + return 0; + while (offset < f->fr_fix && f->fr_literal[offset] != '\0') { if ((size_t) iaug < (sizeof augmentation) - 1) @@ -203,10 +192,7 @@ eh_frame_code_alignment (in_seg) f = f->fr_next; } if (f == NULL) - { - code_alignment = -1; - return -1; - } + return 0; augmentation[iaug] = '\0'; if (augmentation[0] == '\0') @@ -230,28 +216,22 @@ eh_frame_code_alignment (in_seg) f = f->fr_next; } if (f == NULL) - { - code_alignment = -1; - return -1; - } - } - else - { - code_alignment = -1; - return -1; + return 0; } + else if (augmentation[0] != 'z') + return 0; /* We're now at the code alignment factor, which is a ULEB128. If it isn't a single byte, forget it. */ code_alignment = f->fr_literal[offset] & 0xff; - if ((code_alignment & 0x80) != 0 || code_alignment == 0) - { - code_alignment = -1; - return -1; - } + if ((code_alignment & 0x80) != 0) + code_alignment = 0; + + info->code_alignment = code_alignment; + info->z_augmentation = (augmentation[0] == 'z'); - return code_alignment; + return 1; } /* This function is called from emit_expr. It looks for cases which @@ -274,11 +254,28 @@ check_eh_frame (exp, pnbytes) { struct frame_data { + enum frame_state + { + state_idle, + state_saw_size, + state_saw_cie_offset, + state_saw_pc_begin, + state_seeing_aug_size, + state_skipping_aug, + state_wait_loc4, + state_saw_loc4, + state_error, + } state; + + int cie_info_ok; + struct cie_info cie_info; + symbolS *size_end_sym; fragS *loc4_frag; - int saw_size; - int saw_advance_loc4; int loc4_fix; + + int aug_size; + int aug_shift; }; static struct frame_data eh_frame_data; @@ -297,123 +294,177 @@ check_eh_frame (exp, pnbytes) else return 0; - if (d->saw_size && S_IS_DEFINED (d->size_end_sym)) + if (d->state >= state_saw_size && S_IS_DEFINED (d->size_end_sym)) { /* We have come to the end of the CIE or FDE. See below where we set saw_size. We must check this first because we may now be looking at the next size. */ - d->saw_size = 0; - d->saw_advance_loc4 = 0; + d->state = state_idle; } - if (! d->saw_size - && *pnbytes == 4) + switch (d->state) { - /* This might be the size of the CIE or FDE. We want to know - the size so that we don't accidentally optimize across an FDE - boundary. We recognize the size in one of two forms: a - symbol which will later be defined as a difference, or a - subtraction of two symbols. Either way, we can tell when we - are at the end of the FDE because the symbol becomes defined - (in the case of a subtraction, the end symbol, from which the - start symbol is being subtracted). Other ways of describing - the size will not be optimized. */ - if ((exp->X_op == O_symbol || exp->X_op == O_subtract) - && ! S_IS_DEFINED (exp->X_add_symbol)) + case state_idle: + if (*pnbytes == 4) { - d->saw_size = 1; - d->size_end_sym = exp->X_add_symbol; + /* This might be the size of the CIE or FDE. We want to know + the size so that we don't accidentally optimize across an FDE + boundary. We recognize the size in one of two forms: a + symbol which will later be defined as a difference, or a + subtraction of two symbols. Either way, we can tell when we + are at the end of the FDE because the symbol becomes defined + (in the case of a subtraction, the end symbol, from which the + start symbol is being subtracted). Other ways of describing + the size will not be optimized. */ + if ((exp->X_op == O_symbol || exp->X_op == O_subtract) + && ! S_IS_DEFINED (exp->X_add_symbol)) + { + d->state = state_saw_size; + d->size_end_sym = exp->X_add_symbol; + } } - } - else if (d->saw_size - && *pnbytes == 1 - && exp->X_op == O_constant - && exp->X_add_number == DW_CFA_advance_loc4) - { - /* This might be a DW_CFA_advance_loc4. Record the frag and the - position within the frag, so that we can change it later. */ - d->saw_advance_loc4 = 1; - frag_grow (1); - d->loc4_frag = frag_now; - d->loc4_fix = frag_now_fix (); - } - else if (d->saw_advance_loc4 - && *pnbytes == 4 - && exp->X_op == O_constant) - { - int ca; - - /* This is a case which we can optimize. The two symbols being - subtracted were in the same frag and the expression was - reduced to a constant. We can do the optimization entirely - in this function. */ + break; - d->saw_advance_loc4 = 0; + case state_saw_size: + case state_saw_cie_offset: + /* Assume whatever form it appears in, it appears atomically. */ + d->state += 1; + break; + + case state_saw_pc_begin: + /* Decide whether we should see an augmentation. */ + if (! d->cie_info_ok + && ! (d->cie_info_ok = get_cie_info (&d->cie_info))) + d->state = state_error; + else if (d->cie_info.z_augmentation) + { + d->state = state_seeing_aug_size; + d->aug_size = 0; + d->aug_shift = 0; + } + else + d->state = state_wait_loc4; + break; - ca = eh_frame_code_alignment (1); - if (ca < 0) + case state_seeing_aug_size: + /* Bytes == -1 means this comes from an leb128 directive. */ + if ((int)*pnbytes == -1 && exp->X_op == O_constant) { - /* Don't optimize. */ + d->aug_size = exp->X_add_number; + d->state = state_skipping_aug; } - else if (exp->X_add_number % ca == 0 - && exp->X_add_number / ca < 0x40) + else if (*pnbytes == 1 && exp->X_op == O_constant) { - d->loc4_frag->fr_literal[d->loc4_fix] - = DW_CFA_advance_loc | (exp->X_add_number / ca); - /* No more bytes needed. */ - return 1; + unsigned char byte = exp->X_add_number; + d->aug_size |= (byte & 0x7f) << d->aug_shift; + d->aug_shift += 7; + if ((byte & 0x80) == 0) + d->state = state_skipping_aug; } - else if (exp->X_add_number < 0x100) + else + d->state = state_error; + break; + + case state_skipping_aug: + if ((int)*pnbytes < 0) + d->state = state_error; + else { - d->loc4_frag->fr_literal[d->loc4_fix] = DW_CFA_advance_loc1; - *pnbytes = 1; + int left = (d->aug_size -= *pnbytes); + if (left == 0) + d->state = state_wait_loc4; + else if (left < 0) + d->state = state_error; } - else if (exp->X_add_number < 0x10000) + break; + + case state_wait_loc4: + if (*pnbytes == 1 + && exp->X_op == O_constant + && exp->X_add_number == DW_CFA_advance_loc4) { - d->loc4_frag->fr_literal[d->loc4_fix] = DW_CFA_advance_loc2; - *pnbytes = 2; + /* This might be a DW_CFA_advance_loc4. Record the frag and the + position within the frag, so that we can change it later. */ + frag_grow (1); + d->state = state_saw_loc4; + d->loc4_frag = frag_now; + d->loc4_fix = frag_now_fix (); } - } - else if (d->saw_advance_loc4 - && *pnbytes == 4 - && exp->X_op == O_subtract) - { - /* This is a case we can optimize. The expression was not - reduced, so we can not finish the optimization until the end - of the assembly. We set up a variant frag which we handle - later. */ + break; - d->saw_advance_loc4 = 0; + case state_saw_loc4: + d->state = state_wait_loc4; + if (*pnbytes != 4) + break; + if (exp->X_op == O_constant) + { + /* This is a case which we can optimize. The two symbols being + subtracted were in the same frag and the expression was + reduced to a constant. We can do the optimization entirely + in this function. */ + if (d->cie_info.code_alignment > 0 + && exp->X_add_number % d->cie_info.code_alignment == 0 + && exp->X_add_number / d->cie_info.code_alignment < 0x40) + { + d->loc4_frag->fr_literal[d->loc4_fix] + = DW_CFA_advance_loc + | (exp->X_add_number / d->cie_info.code_alignment); + /* No more bytes needed. */ + return 1; + } + else if (exp->X_add_number < 0x100) + { + d->loc4_frag->fr_literal[d->loc4_fix] = DW_CFA_advance_loc1; + *pnbytes = 1; + } + else if (exp->X_add_number < 0x10000) + { + d->loc4_frag->fr_literal[d->loc4_fix] = DW_CFA_advance_loc2; + *pnbytes = 2; + } + } + else if (exp->X_op == O_subtract) + { + /* This is a case we can optimize. The expression was not + reduced, so we can not finish the optimization until the end + of the assembly. We set up a variant frag which we handle + later. */ + int fr_subtype; + + if (d->cie_info.code_alignment > 0) + fr_subtype = d->cie_info.code_alignment << 3; + else + fr_subtype = 0; - frag_var (rs_cfa, 4, 0, 0, make_expr_symbol (exp), - d->loc4_fix, (char *) d->loc4_frag); + frag_var (rs_cfa, 4, 0, fr_subtype, make_expr_symbol (exp), + d->loc4_fix, (char *) d->loc4_frag); + return 1; + } + break; - return 1; + case state_error: + /* Just skipping everything. */ + break; } - else - d->saw_advance_loc4 = 0; return 0; } /* The function estimates the size of a rs_cfa variant frag based on the current values of the symbols. It is called before the - relaxation loop. We set fr_subtype to the expected length. */ + relaxation loop. We set fr_subtype{0:2} to the expected length. */ int eh_frame_estimate_size_before_relax (frag) fragS *frag; { - int ca; offsetT diff; + int ca = frag->fr_subtype >> 3; int ret; - ca = eh_frame_code_alignment (0); - diff = resolve_symbol_value (frag->fr_symbol, 0); + diff = resolve_symbol_value (frag->fr_symbol); - if (ca < 0) - ret = 4; - else if (diff % ca == 0 && diff / ca < 0x40) + if (ca > 0 && diff % ca == 0 && diff / ca < 0x40) ret = 0; else if (diff < 0x100) ret = 1; @@ -422,14 +473,14 @@ eh_frame_estimate_size_before_relax (fra else ret = 4; - frag->fr_subtype = ret; + frag->fr_subtype = (frag->fr_subtype & ~7) | ret; return ret; } /* This function relaxes a rs_cfa variant frag based on the current - values of the symbols. fr_subtype is the current length of the - frag. This returns the change in frag length. */ + values of the symbols. fr_subtype{0:2} is the current length of + the frag. This returns the change in frag length. */ int eh_frame_relax_frag (frag) @@ -437,14 +488,14 @@ eh_frame_relax_frag (frag) { int oldsize, newsize; - oldsize = frag->fr_subtype; + oldsize = frag->fr_subtype & 7; newsize = eh_frame_estimate_size_before_relax (frag); return newsize - oldsize; } /* This function converts a rs_cfa variant frag into a normal fill frag. This is called after all relaxation has been done. - fr_subtype will be the desired length of the frag. */ + fr_subtype{0:2} will be the desired length of the frag. */ void eh_frame_convert_frag (frag) @@ -457,32 +508,37 @@ eh_frame_convert_frag (frag) loc4_frag = (fragS *) frag->fr_opcode; loc4_fix = (int) frag->fr_offset; - diff = resolve_symbol_value (frag->fr_symbol, finalize_syms); + diff = resolve_symbol_value (frag->fr_symbol); - if (frag->fr_subtype == 0) + switch (frag->fr_subtype & 7) { - int ca; + case 0: + { + int ca = frag->fr_subtype >> 3; + assert (ca > 0 && diff % ca == 0 && diff / ca < 0x40); + loc4_frag->fr_literal[loc4_fix] = DW_CFA_advance_loc | (diff / ca); + } + break; - ca = eh_frame_code_alignment (0); - assert (ca > 0 && diff % ca == 0 && diff / ca < 0x40); - loc4_frag->fr_literal[loc4_fix] = DW_CFA_advance_loc | (diff / ca); - } - else if (frag->fr_subtype == 1) - { + case 1: assert (diff < 0x100); loc4_frag->fr_literal[loc4_fix] = DW_CFA_advance_loc1; frag->fr_literal[frag->fr_fix] = diff; - } - else if (frag->fr_subtype == 2) - { + break; + + case 2: assert (diff < 0x10000); loc4_frag->fr_literal[loc4_fix] = DW_CFA_advance_loc2; md_number_to_chars (frag->fr_literal + frag->fr_fix, diff, 2); + break; + + default: + md_number_to_chars (frag->fr_literal + frag->fr_fix, diff, 4); + break; } - else - md_number_to_chars (frag->fr_literal + frag->fr_fix, diff, 4); - frag->fr_fix += frag->fr_subtype; + frag->fr_fix += frag->fr_subtype & 7; frag->fr_type = rs_fill; + frag->fr_subtype = 0; frag->fr_offset = 0; } diff -uprN binutils-2.11.90.0.8/gas/expr.c binutils-2.11.90.0.15/gas/expr.c --- binutils-2.11.90.0.8/gas/expr.c Fri Apr 13 11:19:27 2001 +++ binutils-2.11.90.0.15/gas/expr.c Wed May 23 10:55:03 2001 @@ -105,7 +105,7 @@ make_expr_symbol (expressionP) symbol_set_value_expression (symbolP, expressionP); if (expressionP->X_op == O_constant) - resolve_symbol_value (symbolP, finalize_syms); + resolve_symbol_value (symbolP); n = (struct expr_symbol_line *) xmalloc (sizeof *n); n->sym = symbolP; diff -uprN binutils-2.11.90.0.8/gas/read.c binutils-2.11.90.0.15/gas/read.c --- binutils-2.11.90.0.8/gas/read.c Wed Mar 28 10:05:54 2001 +++ binutils-2.11.90.0.15/gas/read.c Fri Jun 1 21:47:20 2001 @@ -4393,6 +4393,7 @@ emit_leb128_expr (exp, sign) int sign; { operatorT op = exp->X_op; + int nbytes; if (op == O_absent || op == O_illegal) { @@ -4411,6 +4412,17 @@ emit_leb128_expr (exp, sign) as_warn (_("register value used as expression")); op = O_constant; } + + /* Let check_eh_frame know that data is being emitted. nbytes == -1 is + a signal that this is leb128 data. It shouldn't optimize this away. */ + nbytes = -1; + if (check_eh_frame (exp, &nbytes)) + abort (); + + /* Let the backend know that subsequent data may be byte aligned. */ +#ifdef md_cons_align + md_cons_align (1); +#endif if (op == O_constant) { diff -uprN binutils-2.11.90.0.8/gas/symbols.c binutils-2.11.90.0.15/gas/symbols.c --- binutils-2.11.90.0.8/gas/symbols.c Sat Apr 14 12:52:22 2001 +++ binutils-2.11.90.0.15/gas/symbols.c Sat Jun 9 00:13:01 2001 @@ -831,9 +831,8 @@ verify_symbol_chain_2 (sym) values. */ valueT -resolve_symbol_value (symp, finalize) +resolve_symbol_value (symp) symbolS *symp; - int finalize; { int resolved; valueT final_val; @@ -850,7 +849,7 @@ resolve_symbol_value (symp, finalize) final_val = (local_symbol_get_frag (locsym)->fr_address + locsym->lsy_offset) / bfd_octets_per_byte (stdoutput); - if (finalize) + if (finalize_syms) { locsym->lsy_offset = final_val; local_symbol_mark_resolved (locsym); @@ -870,14 +869,10 @@ resolve_symbol_value (symp, finalize) resolved = 0; final_seg = S_GET_SEGMENT (symp); - /* Expressions aren't really symbols, so don't finalize their values - until relaxation is complete. */ - if (final_seg == expr_section && finalize != 2) - finalize = 0; if (symp->sy_resolving) { - if (finalize) + if (finalize_syms) as_bad (_("Symbol definition loop encountered at %s"), S_GET_NAME (symp)); final_val = 0; @@ -917,7 +912,7 @@ resolve_symbol_value (symp, finalize) case O_symbol: case O_symbol_rva: - left = resolve_symbol_value (add_symbol, finalize); + left = resolve_symbol_value (add_symbol); do_symbol: if (symp->sy_mri_common) @@ -929,7 +924,7 @@ resolve_symbol_value (symp, finalize) break; } - if (finalize && final_val == 0) + if (finalize_syms && final_val == 0) { if (LOCAL_SYMBOL_CHECK (add_symbol)) add_symbol = local_symbol_convert ((struct local_symbol *) @@ -945,15 +940,16 @@ resolve_symbol_value (symp, finalize) is equated. */ if (! S_IS_DEFINED (add_symbol) || S_IS_COMMON (add_symbol)) { - if (finalize) + if (finalize_syms) { - S_SET_SEGMENT (symp, S_GET_SEGMENT (add_symbol)); + final_seg = S_GET_SEGMENT (add_symbol); symp->sy_value.X_op = O_symbol; symp->sy_value.X_add_symbol = add_symbol; symp->sy_value.X_add_number = final_val; } final_val = 0; resolved = symbol_resolved_p (add_symbol); + symp->sy_resolving = 0; goto exit_dont_set_value; } else @@ -969,7 +965,7 @@ resolve_symbol_value (symp, finalize) case O_uminus: case O_bit_not: case O_logical_not: - left = resolve_symbol_value (add_symbol, finalize); + left = resolve_symbol_value (add_symbol); if (op == O_uminus) left = -left; @@ -1004,8 +1000,8 @@ resolve_symbol_value (symp, finalize) case O_gt: case O_logical_and: case O_logical_or: - left = resolve_symbol_value (add_symbol, finalize); - right = resolve_symbol_value (op_symbol, finalize); + left = resolve_symbol_value (add_symbol); + right = resolve_symbol_value (op_symbol); seg_left = S_GET_SEGMENT (add_symbol); seg_right = S_GET_SEGMENT (op_symbol); @@ -1047,7 +1043,7 @@ resolve_symbol_value (symp, finalize) && (op != O_subtract || seg_left != seg_right || seg_left == undefined_section) - && finalize) + && finalize_syms) { char *file; unsigned int line; @@ -1089,7 +1085,7 @@ resolve_symbol_value (symp, finalize) { /* If seg_right is not absolute_section, then we've already issued a warning about using a bad symbol. */ - if (seg_right == absolute_section && finalize) + if (seg_right == absolute_section && finalize_syms) { char *file; unsigned int line; @@ -1149,21 +1145,21 @@ resolve_symbol_value (symp, finalize) symp->sy_resolving = 0; } - if (finalize) - { - S_SET_VALUE (symp, final_val); + if (finalize_syms) + S_SET_VALUE (symp, final_val); +exit_dont_set_value: + /* Always set the segment, even if not finalizing the value. + The segment is used to determine whether a symbol is defined. */ #if defined (OBJ_AOUT) && ! defined (BFD_ASSEMBLER) - /* The old a.out backend does not handle S_SET_SEGMENT correctly - for a stab symbol, so we use this bad hack. */ - if (final_seg != S_GET_SEGMENT (symp)) + /* The old a.out backend does not handle S_SET_SEGMENT correctly + for a stab symbol, so we use this bad hack. */ + if (final_seg != S_GET_SEGMENT (symp)) #endif - S_SET_SEGMENT (symp, final_seg); - } + S_SET_SEGMENT (symp, final_seg); -exit_dont_set_value: /* Don't worry if we can't resolve an expr_section symbol. */ - if (finalize) + if (finalize_syms) { if (resolved) symp->sy_resolved = 1; @@ -1190,7 +1186,7 @@ resolve_local_symbol (key, value) PTR value; { if (value != NULL) - resolve_symbol_value (value, finalize_syms); + resolve_symbol_value (value); } #endif @@ -1583,8 +1579,8 @@ S_GET_VALUE (s) if (!s->sy_resolved && s->sy_value.X_op != O_constant) { - valueT val = resolve_symbol_value (s, finalize_syms); - if (finalize_syms != 2 && S_GET_SEGMENT (s) == expr_section) + valueT val = resolve_symbol_value (s); + if (!finalize_syms) return val; } if (s->sy_value.X_op != O_constant) @@ -1826,6 +1822,17 @@ S_SET_EXTERNAL (s) if ((s->bsym->flags & BSF_WEAK) != 0) { /* Let .weak override .global. */ + return; + } + if (s->bsym->flags & BSF_SECTION_SYM) + { + char * file; + unsigned int line; + + /* Do not reassign section symbols. */ + as_where (& file, & line); + as_warn_where (file, line, + _("Section symbols are already global")); return; } s->bsym->flags |= BSF_GLOBAL; diff -uprN binutils-2.11.90.0.8/gas/symbols.h binutils-2.11.90.0.15/gas/symbols.h --- binutils-2.11.90.0.8/gas/symbols.h Fri Mar 9 11:38:13 2001 +++ binutils-2.11.90.0.15/gas/symbols.h Wed May 23 11:36:05 2001 @@ -1,5 +1,5 @@ /* symbols.h - - Copyright 1987, 1990, 1992, 1993, 1994, 1995, 1997, 1999, 2000 + Copyright 1987, 1990, 1992, 1993, 1994, 1995, 1997, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -61,7 +61,7 @@ void local_colon PARAMS ((int n)); void symbol_begin PARAMS ((void)); void symbol_print_statistics PARAMS ((FILE *)); void symbol_table_insert PARAMS ((symbolS * symbolP)); -valueT resolve_symbol_value PARAMS ((symbolS *, int)); +valueT resolve_symbol_value PARAMS ((symbolS *)); void resolve_local_symbol_values PARAMS ((void)); void print_symbol_value PARAMS ((symbolS *)); diff -uprN binutils-2.11.90.0.8/gas/testsuite/ChangeLog binutils-2.11.90.0.15/gas/testsuite/ChangeLog --- binutils-2.11.90.0.8/gas/testsuite/ChangeLog Sat May 12 08:23:03 2001 +++ binutils-2.11.90.0.15/gas/testsuite/ChangeLog Sun Jun 10 11:45:11 2001 @@ -1,3 +1,260 @@ +2001-06-10 H.J. Lu + + * gas/elf/section2.e: Support 64bit BFD. + * gas/elf/section2.e-mips: Likewise. + +2001-06-08 H.J. Lu + + * gas/mips/elfel-rel3.s: Moved to ... + * gas/mips/elf-rel3.s: Here. + + * gas/mips/elf-rel3.d: Updated. + + * gas/mips/elfel-rel3.d: Updated. + + * gas/mips/relax.d: New file. + * gas/mips/relax.s: Likewise. + + * gas/mips/mips.exp: Run relax and set xfail. + +2001-06-08 H.J. Lu + + * gas/mips/illegal.s: New file. + * gas/mips/illegal.l: Likewise. + + * gas/elf/elf.exp (run_list_test): New. + Run illegal with run_list_test. + +2001-06-08 H.J. Lu + + * gas/mips/elf-jal.d: New file. + + * gas/mips/mips.exp: Run "elf-jal" instead of "jal" for ELF. + +2001-06-08 Alan Modra + + * gas/elf/elf.exp (run_list_test): Undo $readelf change in 2001-06-07. + +2001-06-07 H.J. Lu + + * gas/elf/section2.e-mips: New file. + + * gas/elf/elf.exp (run_list_test): Add suffix. + Pass -mips as suffix to run_list_test for mips. + +2001-06-07 H.J. Lu + + * gas/elf/section2.l: Match ".*GAS.*" instead of + "GAS LISTING .*". + +2001-06-07 H.J. Lu + + * gas/mips/mips.exp: Set xfail for "lineno" on Linux/mips. + +2001-06-07 H.J. Lu + + * gas/mips/empic.d: Support stabs. + * gas/mips/mips16-e.d: Likewise. + * gas/mips/mips16-f.d: Likewise. + * gas/mips/mipsel16-f.d: Likewise. + * gas/mips/telempic.d: Likewise. + * gas/mips/tempic.d: Likewise. + * gas/mips/tmips16-e.d: Likewise. + * gas/mips/tmipsel16-e.d: Likewise. + +2001-06-06 H.J. Lu + + * gas/mips/elf-rel3.s: New file. + * gas/mips/elf-rel3.d: Likewise. + * gas/mips/elfel-rel3.s: Likewise. + * gas/mips/elfel-rel3.d: Likewise. + + * gas/mips/mips.exp: Run elf-rel3/elfel-rel3. + +2001-06-06 H.J. Lu + + * gas/elf/elf.exp (run_list_test): New. + Run section2 with run_list_test. + + * gas/elf/section2.e: New file. + * gas/elf/section2.l: Likewise. + * gas/elf/section2.s: Likewise. + +2001-06-04 H.J. Lu + + * gas/mips/mips4010.s: Add the missing ".end". + * gas/mips/mips4100.s: Likewise. + * gas/mips/mips4650.s: Likewise. + * gas/mips/sync.s: Likewise. + +2001-06-02 H.J. Lu + + * gas/sparc/unalign.d: Support Sparc V9. + +2001-05-28 Jeff Sturm + + * gas/sparc/unalign.s: New test. Check unaligned relocs. + * gas/sparc/unalign.d: New expected test results. + * gas/sparc/sparc.exp: Run new test. + +2001-05-27 Hans-Peter Nilsson + + * gas/cris/addi.d: Tweak for 64-bit BFD. + * gas/cris/binop-cmpmove.d: Ditto. + * gas/cris/binop-cmpmovx.d: Ditto. + * gas/cris/binop-extx.d: Ditto. + * gas/cris/binop.d: Ditto. + * gas/cris/bork.d: Ditto. + * gas/cris/branch.d: Ditto. + * gas/cris/break.d: Ditto. + * gas/cris/brokw-1.d: Ditto. + * gas/cris/brokw-2.d: Ditto. + * gas/cris/brokw-3.d: Ditto. + * gas/cris/ccr.d: Ditto. + * gas/cris/clear.d: Ditto. + * gas/cris/continue.d: Ditto. + * gas/cris/fragtest.d: Ditto. + * gas/cris/jump-type.d: Ditto. + * gas/cris/labfloat.d: Ditto. + * gas/cris/macroat.d: Ditto. + * gas/cris/movem-to-reg.d: Ditto. + * gas/cris/nosep.d: Ditto. + * gas/cris/oneop-type.d: Ditto. + * gas/cris/prefix.d: Ditto. + * gas/cris/pushpop-byte-sreg.d: Ditto. + * gas/cris/pushpop-dword-sreg.d: Ditto. + * gas/cris/pushpop-word-sreg.d: Ditto. + * gas/cris/pushpop.d: Ditto. + * gas/cris/quick-s6.d: Ditto. + * gas/cris/quick-u5.d: Ditto. + * gas/cris/quick-u6.d: Ditto. + * gas/cris/range-err-1.s: Ditto. + * gas/cris/rd-pic-1.d: Ditto. + * gas/cris/rd-regprefix-1.d: Ditto. + * gas/cris/rd-regprefix-1b.d: Ditto. + * gas/cris/reg-to-mem.d: Ditto. + * gas/cris/regreg.d: Ditto. + * gas/cris/return.d: Ditto. + * gas/cris/scc.d: Ditto. + * gas/cris/separator.d: Ditto. + * gas/cris/shexpr-1.d: Ditto. + * gas/cris/sreg-to-x.d: Ditto. + * gas/cris/test.d: Ditto. + * gas/cris/unimplemented.d: Ditto. + * gas/cris/unop-mem.d: Ditto. + * gas/cris/x-to-byte-sreg.d: Ditto. + * gas/cris/x-to-dcr1-sreg.d: Ditto. + * gas/cris/x-to-dword-sreg.d: Ditto. + * gas/cris/x-to-word-sreg.d: Ditto. + * gas/cris/shexpr-1.d: Ditto. Correct format. + +2001-05-25 H.J. Lu + + * gas/mips/e32el-rel2.d: New for little endian mips. + * gas/mips/elfel-rel2.d: Likewise. + * gas/mips/elfel-rel.d: Likewise. + * gas/mips/mipsel16-f.d: Likewise. + * gas/mips/telempic.d: Likewise. + * gas/mips/tmipsel16-e.d: Likewise. + + * gas/mips/tempic.d: New for traditional mips. + * gas/mips/tmips16-e.d: Likewise. + + * gas/mips/elf-rel.d: Handle alignment padding. + * gas/mips/elf-rel2.d: Likewise. + + * gas/mips/mips.exp: Support little endian and traditional + mips. + +2001-05-24 H.J. Lu + + * gas/m68k/pcrel.d: Support 64bit BFD. + +2001-05-24 H.J. Lu + + * gas/arm/adrl.d: Support 64bit BFD. + * gas/arm/arm7t.d: Likewise. + * gas/arm/inst.d: Likewise. + * gas/arm/pic.d: Likewise. + * gas/arm/xscale.d: Likewise. + +2001-05-23 Alan Modra + + * gas/elf/ehopt0.d: Tweak for bigendian targets. + +2001-05-15 Thiemo Seufer + + * gas/mips/abs.d: Remove $ before register names, per latest + disassembler. + * gas/mips/add.d: Ditto. + * gas/mips/and.d: Ditto. + * gas/mips/beq.d: Ditto. + * gas/mips/bge.d: Ditto. + * gas/mips/bgeu.d: Ditto. + * gas/mips/blt.d: Ditto. + * gas/mips/bltu.d: Ditto. + * gas/mips/delay.d: Ditto. + * gas/mips/div-ilocks.d: Ditto. + * gas/mips/div.d: Ditto. + * gas/mips/dli.d: Ditto. + * gas/mips/elf_e_flags1.d: Ditto. + * gas/mips/elf_e_flags2.d: Ditto. + * gas/mips/elf_e_flags3.d: Ditto. + * gas/mips/elf_e_flags4.d: Ditto. + * gas/mips/jal-empic.d: Ditto. + * gas/mips/jal-svr4pic.d: Ditto. + * gas/mips/jal-xgot.d: Ditto. + * gas/mips/jal.d: Ditto. + * gas/mips/la-empic.d: Ditto. + * gas/mips/la-svr4pic.d: Ditto. + * gas/mips/la-xgot.d: Ditto. + * gas/mips/la.d: Ditto. + * gas/mips/lb-empic.d: Ditto. + * gas/mips/lb-svr4pic.d: Ditto. + * gas/mips/lb-xgot-ilocks.d: Ditto. + * gas/mips/lb-xgot.d: Ditto. + * gas/mips/lb.d: Ditto. + * gas/mips/ld-empic.d: Ditto. + * gas/mips/ld-ilocks-addr32.d: Ditto. + * gas/mips/ld-ilocks.d: Ditto. + * gas/mips/ld-svr4pic.d: Ditto. + * gas/mips/ld-xgot.d: Ditto. + * gas/mips/ld.d: Ditto. + * gas/mips/li.d: Ditto. + * gas/mips/lif-empic.d: Ditto. + * gas/mips/lif-svr4pic.d: Ditto. + * gas/mips/lif-xgot.d: Ditto. + * gas/mips/lifloat.d: Ditto. + * gas/mips/mips16.d: Ditto. + * gas/mips/mips32.d: Ditto. + * gas/mips/mips4.d: Ditto. + * gas/mips/mips4010.d: Ditto. + * gas/mips/mips4100.d: Ditto. + * gas/mips/mips4650.d: Ditto. + * gas/mips/mips64.d: Ditto. + * gas/mips/mul-ilocks.d: Ditto. + * gas/mips/mul.d: Ditto. + * gas/mips/nodelay.d: Ditto. + * gas/mips/rol.d: Ditto. + * gas/mips/sb.d: Ditto. + * gas/mips/trap20.d: Ditto. + * gas/mips/trunc.d: Ditto. + * gas/mips/uld.d: Ditto. + * gas/mips/ulh-empic.d: Ditto. + * gas/mips/ulh-svr4pic.d: Ditto. + * gas/mips/ulh-xgot.d: Ditto. + * gas/mips/ulh.d: Ditto. + * gas/mips/ulw.d: Ditto. + * gas/mips/usd.d: Ditto. + * gas/mips/ush.d: Ditto. + * gas/mips/usw.d: Ditto. + +2001-05-14 Richard Henderson + + * gas/elf/ehopt0.s: New. + * gas/elf/ehopt0.d: New. + * gas/elf/elf.exp: Run it. + 2001-05-12 Peter Targett * gas/arc/st.s: Add test case @h30 fixup. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/arm/adrl.d binutils-2.11.90.0.15/gas/testsuite/gas/arm/adrl.d --- binutils-2.11.90.0.8/gas/testsuite/gas/arm/adrl.d Tue Jan 23 11:00:17 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/arm/adrl.d Thu May 24 21:24:31 2001 @@ -7,12 +7,12 @@ Disassembly of section .text: ... -00002000 <.*> e24f0008 sub r0, pc, #8 ; 0x8 -00002004 <.*> e2400c20 sub r0, r0, #8192 ; 0x2000 -00002008 <.*> e28f0018 add r0, pc, #24 ; 0x18 -0000200c <.*> e2800c20 add r0, r0, #8192 ; 0x2000 -00002010 <.*> e24f0018 sub r0, pc, #24 ; 0x18 -00002014 <.*> e1a00000 nop \(mov r0,r0\) -00002018 <.*> e28f0000 add r0, pc, #0 ; 0x0 -0000201c <.*> e1a00000 nop \(mov r0,r0\) +0+2000 <.*> e24f0008 sub r0, pc, #8 ; 0x8 +0+2004 <.*> e2400c20 sub r0, r0, #8192 ; 0x2000 +0+2008 <.*> e28f0018 add r0, pc, #24 ; 0x18 +0+200c <.*> e2800c20 add r0, r0, #8192 ; 0x2000 +0+2010 <.*> e24f0018 sub r0, pc, #24 ; 0x18 +0+2014 <.*> e1a00000 nop \(mov r0,r0\) +0+2018 <.*> e28f0000 add r0, pc, #0 ; 0x0 +0+201c <.*> e1a00000 nop \(mov r0,r0\) ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/arm/arm7t.d binutils-2.11.90.0.15/gas/testsuite/gas/arm/arm7t.d --- binutils-2.11.90.0.8/gas/testsuite/gas/arm/arm7t.d Mon Nov 1 14:31:31 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/arm/arm7t.d Thu May 24 21:24:32 2001 @@ -7,62 +7,62 @@ .*: +file format .*arm.* Disassembly of section .text: -00000000 <[^>]*> e1d100b0 ? ldrh r0, \[r1\] -00000004 <[^>]*> e1f100b0 ? ldrh r0, \[r1\]! -00000008 <[^>]*> e19100b2 ? ldrh r0, \[r1, r2\] -0000000c <[^>]*> e1b100b2 ? ldrh r0, \[r1, r2\]! -00000010 <[^>]*> e1d100bc ? ldrh r0, \[r1, #12\] -00000014 <[^>]*> e1f100bc ? ldrh r0, \[r1, #12\]! -00000018 <[^>]*> e15100bc ? ldrh r0, \[r1, -#12\] -0000001c <[^>]*> e09100b2 ? ldrh r0, \[r1\], r2 -00000020 <[^>]*> e3a00cff ? mov r0, #65280 ; 0xff00 -00000024 <[^>]*> e1df0bb4 ? ldrh r0, \[pc, #b4\] ; 000000e0 <[^>]*> -00000028 <[^>]*> e1df0abc ? ldrh r0, \[pc, #ac\] ; 000000dc <[^>]*> -0000002c <[^>]*> e1c100b0 ? strh r0, \[r1\] -00000030 <[^>]*> e1e100b0 ? strh r0, \[r1\]! -00000034 <[^>]*> e18100b2 ? strh r0, \[r1, r2\] -00000038 <[^>]*> e1a100b2 ? strh r0, \[r1, r2\]! -0000003c <[^>]*> e1c100bc ? strh r0, \[r1, #12\] -00000040 <[^>]*> e1e100bc ? strh r0, \[r1, #12\]! -00000044 <[^>]*> e14100bc ? strh r0, \[r1, -#12\] -00000048 <[^>]*> e08100b2 ? strh r0, \[r1\], r2 -0000004c <[^>]*> e1cf08b8 ? strh r0, \[pc, #88\] ; 000000dc <[^>]*> -00000050 <[^>]*> e1d100d0 ? ldrsb r0, \[r1\] -00000054 <[^>]*> e1f100d0 ? ldrsb r0, \[r1\]! -00000058 <[^>]*> e19100d2 ? ldrsb r0, \[r1, r2\] -0000005c <[^>]*> e1b100d2 ? ldrsb r0, \[r1, r2\]! -00000060 <[^>]*> e1d100dc ? ldrsb r0, \[r1, #12\] -00000064 <[^>]*> e1f100dc ? ldrsb r0, \[r1, #12\]! -00000068 <[^>]*> e15100dc ? ldrsb r0, \[r1, -#12\] -0000006c <[^>]*> e09100d2 ? ldrsb r0, \[r1\], r2 -00000070 <[^>]*> e3a000de ? mov r0, #222 ; 0xde -00000074 <[^>]*> e1df06d0 ? ldrsb r0, \[pc, #60\] ; 000000dc <[^>]*> -00000078 <[^>]*> e1d100f0 ? ldrsh r0, \[r1\] -0000007c <[^>]*> e1f100f0 ? ldrsh r0, \[r1\]! -00000080 <[^>]*> e19100f2 ? ldrsh r0, \[r1, r2\] -00000084 <[^>]*> e1b100f2 ? ldrsh r0, \[r1, r2\]! -00000088 <[^>]*> e1d100fc ? ldrsh r0, \[r1, #12\] -0000008c <[^>]*> e1f100fc ? ldrsh r0, \[r1, #12\]! -00000090 <[^>]*> e15100fc ? ldrsh r0, \[r1, -#12\] -00000094 <[^>]*> e09100f2 ? ldrsh r0, \[r1\], r2 -00000098 <[^>]*> e3a00cff ? mov r0, #65280 ; 0xff00 -0000009c <[^>]*> e1df03fc ? ldrsh r0, \[pc, #3c\] ; 000000e0 <[^>]*> -000000a0 <[^>]*> e1df03f4 ? ldrsh r0, \[pc, #34\] ; 000000dc <[^>]*> -000000a4 <[^>]*> e19100b2 ? ldrh r0, \[r1, r2\] -000000a8 <[^>]*> 119100b2 ? ldrneh r0, \[r1, r2\] -000000ac <[^>]*> 819100b2 ? ldrhih r0, \[r1, r2\] -000000b0 <[^>]*> b19100b2 ? ldrlth r0, \[r1, r2\] -000000b4 <[^>]*> e19100f2 ? ldrsh r0, \[r1, r2\] -000000b8 <[^>]*> 119100f2 ? ldrnesh r0, \[r1, r2\] -000000bc <[^>]*> 819100f2 ? ldrhish r0, \[r1, r2\] -000000c0 <[^>]*> b19100f2 ? ldrltsh r0, \[r1, r2\] -000000c4 <[^>]*> e19100d2 ? ldrsb r0, \[r1, r2\] -000000c8 <[^>]*> 119100d2 ? ldrnesb r0, \[r1, r2\] -000000cc <[^>]*> 819100d2 ? ldrhisb r0, \[r1, r2\] -000000d0 <[^>]*> b19100d2 ? ldrltsb r0, \[r1, r2\] -000000d4 <[^>]*> e1df00f4 ? ldrsh r0, \[pc, #4\] ; 000000e0 <[^>]*> -000000d8 <[^>]*> e1df00f4 ? ldrsh r0, \[pc, #4\] ; 000000e4 <[^>]*> -000000dc <[^>]*> 00000000 ? andeq r0, r0, r0 +0+00 <[^>]*> e1d100b0 ? ldrh r0, \[r1\] +0+04 <[^>]*> e1f100b0 ? ldrh r0, \[r1\]! +0+08 <[^>]*> e19100b2 ? ldrh r0, \[r1, r2\] +0+0c <[^>]*> e1b100b2 ? ldrh r0, \[r1, r2\]! +0+10 <[^>]*> e1d100bc ? ldrh r0, \[r1, #12\] +0+14 <[^>]*> e1f100bc ? ldrh r0, \[r1, #12\]! +0+18 <[^>]*> e15100bc ? ldrh r0, \[r1, -#12\] +0+1c <[^>]*> e09100b2 ? ldrh r0, \[r1\], r2 +0+20 <[^>]*> e3a00cff ? mov r0, #65280 ; 0xff00 +0+24 <[^>]*> e1df0bb4 ? ldrh r0, \[pc, #b4\] ; 0+e0 <[^>]*> +0+28 <[^>]*> e1df0abc ? ldrh r0, \[pc, #ac\] ; 0+dc <[^>]*> +0+2c <[^>]*> e1c100b0 ? strh r0, \[r1\] +0+30 <[^>]*> e1e100b0 ? strh r0, \[r1\]! +0+34 <[^>]*> e18100b2 ? strh r0, \[r1, r2\] +0+38 <[^>]*> e1a100b2 ? strh r0, \[r1, r2\]! +0+3c <[^>]*> e1c100bc ? strh r0, \[r1, #12\] +0+40 <[^>]*> e1e100bc ? strh r0, \[r1, #12\]! +0+44 <[^>]*> e14100bc ? strh r0, \[r1, -#12\] +0+48 <[^>]*> e08100b2 ? strh r0, \[r1\], r2 +0+4c <[^>]*> e1cf08b8 ? strh r0, \[pc, #88\] ; 0+dc <[^>]*> +0+50 <[^>]*> e1d100d0 ? ldrsb r0, \[r1\] +0+54 <[^>]*> e1f100d0 ? ldrsb r0, \[r1\]! +0+58 <[^>]*> e19100d2 ? ldrsb r0, \[r1, r2\] +0+5c <[^>]*> e1b100d2 ? ldrsb r0, \[r1, r2\]! +0+60 <[^>]*> e1d100dc ? ldrsb r0, \[r1, #12\] +0+64 <[^>]*> e1f100dc ? ldrsb r0, \[r1, #12\]! +0+68 <[^>]*> e15100dc ? ldrsb r0, \[r1, -#12\] +0+6c <[^>]*> e09100d2 ? ldrsb r0, \[r1\], r2 +0+70 <[^>]*> e3a000de ? mov r0, #222 ; 0xde +0+74 <[^>]*> e1df06d0 ? ldrsb r0, \[pc, #60\] ; 0+dc <[^>]*> +0+78 <[^>]*> e1d100f0 ? ldrsh r0, \[r1\] +0+7c <[^>]*> e1f100f0 ? ldrsh r0, \[r1\]! +0+80 <[^>]*> e19100f2 ? ldrsh r0, \[r1, r2\] +0+84 <[^>]*> e1b100f2 ? ldrsh r0, \[r1, r2\]! +0+88 <[^>]*> e1d100fc ? ldrsh r0, \[r1, #12\] +0+8c <[^>]*> e1f100fc ? ldrsh r0, \[r1, #12\]! +0+90 <[^>]*> e15100fc ? ldrsh r0, \[r1, -#12\] +0+94 <[^>]*> e09100f2 ? ldrsh r0, \[r1\], r2 +0+98 <[^>]*> e3a00cff ? mov r0, #65280 ; 0xff00 +0+9c <[^>]*> e1df03fc ? ldrsh r0, \[pc, #3c\] ; 0+e0 <[^>]*> +0+a0 <[^>]*> e1df03f4 ? ldrsh r0, \[pc, #34\] ; 0+dc <[^>]*> +0+a4 <[^>]*> e19100b2 ? ldrh r0, \[r1, r2\] +0+a8 <[^>]*> 119100b2 ? ldrneh r0, \[r1, r2\] +0+ac <[^>]*> 819100b2 ? ldrhih r0, \[r1, r2\] +0+b0 <[^>]*> b19100b2 ? ldrlth r0, \[r1, r2\] +0+b4 <[^>]*> e19100f2 ? ldrsh r0, \[r1, r2\] +0+b8 <[^>]*> 119100f2 ? ldrnesh r0, \[r1, r2\] +0+bc <[^>]*> 819100f2 ? ldrhish r0, \[r1, r2\] +0+c0 <[^>]*> b19100f2 ? ldrltsh r0, \[r1, r2\] +0+c4 <[^>]*> e19100d2 ? ldrsb r0, \[r1, r2\] +0+c8 <[^>]*> 119100d2 ? ldrnesb r0, \[r1, r2\] +0+cc <[^>]*> 819100d2 ? ldrhisb r0, \[r1, r2\] +0+d0 <[^>]*> b19100d2 ? ldrltsb r0, \[r1, r2\] +0+d4 <[^>]*> e1df00f4 ? ldrsh r0, \[pc, #4\] ; 0+e0 <[^>]*> +0+d8 <[^>]*> e1df00f4 ? ldrsh r0, \[pc, #4\] ; 0+e4 <[^>]*> +0+dc <[^>]*> 00000000 ? andeq r0, r0, r0 [ ]*dc:.*fred -000000e0 <[^>]*> 0000c0de ? .* -000000e4 <[^>]*> 0000dead ? .* +0+e0 <[^>]*> 0000c0de ? .* +0+e4 <[^>]*> 0000dead ? .* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/arm/inst.d binutils-2.11.90.0.15/gas/testsuite/gas/arm/inst.d --- binutils-2.11.90.0.8/gas/testsuite/gas/arm/inst.d Tue Jan 23 11:00:17 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/arm/inst.d Thu May 24 21:24:32 2001 @@ -7,195 +7,195 @@ .*: +file format .*arm.* Disassembly of section .text: -00000000 <[^>]*> e3a00000 ? mov r0, #0 ; 0x0 -00000004 <[^>]*> e1a01002 ? mov r1, r2 -00000008 <[^>]*> e1a03184 ? mov r3, r4, lsl #3 -0000000c <[^>]*> e1a05736 ? mov r5, r6, lsr r7 -00000010 <[^>]*> e1a08a59 ? mov r8, r9, asr sl -00000014 <[^>]*> e1a0bd1c ? mov fp, ip, lsl sp -00000018 <[^>]*> e1a0e06f ? mov lr, pc, rrx -0000001c <[^>]*> e1a01002 ? mov r1, r2 -00000020 <[^>]*> 01a02003 ? moveq r2, r3 -00000024 <[^>]*> 11a04005 ? movne r4, r5 -00000028 <[^>]*> b1a06007 ? movlt r6, r7 -0000002c <[^>]*> a1a08009 ? movge r8, r9 -00000030 <[^>]*> d1a0a00b ? movle sl, fp -00000034 <[^>]*> c1a0c00d ? movgt ip, sp -00000038 <[^>]*> 31a01002 ? movcc r1, r2 -0000003c <[^>]*> 21a01003 ? movcs r1, r3 -00000040 <[^>]*> 41a03006 ? movmi r3, r6 -00000044 <[^>]*> 51a07009 ? movpl r7, r9 -00000048 <[^>]*> 61a01008 ? movvs r1, r8 -0000004c <[^>]*> 71a09fa1 ? movvc r9, r1, lsr #31 -00000050 <[^>]*> 81a0800f ? movhi r8, pc -00000054 <[^>]*> 91a0f00e ? movls pc, lr -00000058 <[^>]*> 21a09008 ? movcs r9, r8 -0000005c <[^>]*> 31a01003 ? movcc r1, r3 -00000060 <[^>]*> e1b00008 ? movs r0, r8 -00000064 <[^>]*> 31b00007 ? movccs r0, r7 -00000068 <[^>]*> e281000a ? add r0, r1, #10 ; 0xa -0000006c <[^>]*> e0832004 ? add r2, r3, r4 -00000070 <[^>]*> e0865287 ? add r5, r6, r7, lsl #5 -00000074 <[^>]*> e0821113 ? add r1, r2, r3, lsl r1 -00000078 <[^>]*> e201000a ? and r0, r1, #10 ; 0xa -0000007c <[^>]*> e0032004 ? and r2, r3, r4 -00000080 <[^>]*> e0065287 ? and r5, r6, r7, lsl #5 -00000084 <[^>]*> e0021113 ? and r1, r2, r3, lsl r1 -00000088 <[^>]*> e221000a ? eor r0, r1, #10 ; 0xa -0000008c <[^>]*> e0232004 ? eor r2, r3, r4 -00000090 <[^>]*> e0265287 ? eor r5, r6, r7, lsl #5 -00000094 <[^>]*> e0221113 ? eor r1, r2, r3, lsl r1 -00000098 <[^>]*> e241000a ? sub r0, r1, #10 ; 0xa -0000009c <[^>]*> e0432004 ? sub r2, r3, r4 -000000a0 <[^>]*> e0465287 ? sub r5, r6, r7, lsl #5 -000000a4 <[^>]*> e0421113 ? sub r1, r2, r3, lsl r1 -000000a8 <[^>]*> e2a1000a ? adc r0, r1, #10 ; 0xa -000000ac <[^>]*> e0a32004 ? adc r2, r3, r4 -000000b0 <[^>]*> e0a65287 ? adc r5, r6, r7, lsl #5 -000000b4 <[^>]*> e0a21113 ? adc r1, r2, r3, lsl r1 -000000b8 <[^>]*> e2c1000a ? sbc r0, r1, #10 ; 0xa -000000bc <[^>]*> e0c32004 ? sbc r2, r3, r4 -000000c0 <[^>]*> e0c65287 ? sbc r5, r6, r7, lsl #5 -000000c4 <[^>]*> e0c21113 ? sbc r1, r2, r3, lsl r1 -000000c8 <[^>]*> e261000a ? rsb r0, r1, #10 ; 0xa -000000cc <[^>]*> e0632004 ? rsb r2, r3, r4 -000000d0 <[^>]*> e0665287 ? rsb r5, r6, r7, lsl #5 -000000d4 <[^>]*> e0621113 ? rsb r1, r2, r3, lsl r1 -000000d8 <[^>]*> e2e1000a ? rsc r0, r1, #10 ; 0xa -000000dc <[^>]*> e0e32004 ? rsc r2, r3, r4 -000000e0 <[^>]*> e0e65287 ? rsc r5, r6, r7, lsl #5 -000000e4 <[^>]*> e0e21113 ? rsc r1, r2, r3, lsl r1 -000000e8 <[^>]*> e381000a ? orr r0, r1, #10 ; 0xa -000000ec <[^>]*> e1832004 ? orr r2, r3, r4 -000000f0 <[^>]*> e1865287 ? orr r5, r6, r7, lsl #5 -000000f4 <[^>]*> e1821113 ? orr r1, r2, r3, lsl r1 -000000f8 <[^>]*> e3c1000a ? bic r0, r1, #10 ; 0xa -000000fc <[^>]*> e1c32004 ? bic r2, r3, r4 -00000100 <[^>]*> e1c65287 ? bic r5, r6, r7, lsl #5 -00000104 <[^>]*> e1c21113 ? bic r1, r2, r3, lsl r1 -00000108 <[^>]*> e3e0000a ? mvn r0, #10 ; 0xa -0000010c <[^>]*> e1e02004 ? mvn r2, r4 -00000110 <[^>]*> e1e05287 ? mvn r5, r7, lsl #5 -00000114 <[^>]*> e1e01113 ? mvn r1, r3, lsl r1 -00000118 <[^>]*> e310000a ? tst r0, #10 ; 0xa -0000011c <[^>]*> e1120004 ? tst r2, r4 -00000120 <[^>]*> e1150287 ? tst r5, r7, lsl #5 -00000124 <[^>]*> e1110113 ? tst r1, r3, lsl r1 -00000128 <[^>]*> e330000a ? teq r0, #10 ; 0xa -0000012c <[^>]*> e1320004 ? teq r2, r4 -00000130 <[^>]*> e1350287 ? teq r5, r7, lsl #5 -00000134 <[^>]*> e1310113 ? teq r1, r3, lsl r1 -00000138 <[^>]*> e350000a ? cmp r0, #10 ; 0xa -0000013c <[^>]*> e1520004 ? cmp r2, r4 -00000140 <[^>]*> e1550287 ? cmp r5, r7, lsl #5 -00000144 <[^>]*> e1510113 ? cmp r1, r3, lsl r1 -00000148 <[^>]*> e370000a ? cmn r0, #10 ; 0xa -0000014c <[^>]*> e1720004 ? cmn r2, r4 -00000150 <[^>]*> e1750287 ? cmn r5, r7, lsl #5 -00000154 <[^>]*> e1710113 ? cmn r1, r3, lsl r1 -00000158 <[^>]*> e330f00a ? teqp r0, #10 ; 0xa -0000015c <[^>]*> e132f004 ? teqp r2, r4 -00000160 <[^>]*> e135f287 ? teqp r5, r7, lsl #5 -00000164 <[^>]*> e131f113 ? teqp r1, r3, lsl r1 -00000168 <[^>]*> e370f00a ? cmnp r0, #10 ; 0xa -0000016c <[^>]*> e172f004 ? cmnp r2, r4 -00000170 <[^>]*> e175f287 ? cmnp r5, r7, lsl #5 -00000174 <[^>]*> e171f113 ? cmnp r1, r3, lsl r1 -00000178 <[^>]*> e350f00a ? cmpp r0, #10 ; 0xa -0000017c <[^>]*> e152f004 ? cmpp r2, r4 -00000180 <[^>]*> e155f287 ? cmpp r5, r7, lsl #5 -00000184 <[^>]*> e151f113 ? cmpp r1, r3, lsl r1 -00000188 <[^>]*> e310f00a ? tstp r0, #10 ; 0xa -0000018c <[^>]*> e112f004 ? tstp r2, r4 -00000190 <[^>]*> e115f287 ? tstp r5, r7, lsl #5 -00000194 <[^>]*> e111f113 ? tstp r1, r3, lsl r1 -00000198 <[^>]*> e0000291 ? mul r0, r1, r2 -0000019c <[^>]*> e0110392 ? muls r1, r2, r3 -000001a0 <[^>]*> 10000091 ? mulne r0, r1, r0 -000001a4 <[^>]*> 90190798 ? mullss r9, r8, r7 -000001a8 <[^>]*> e021ba99 ? mla r1, r9, sl, fp -000001ac <[^>]*> e033c994 ? mlas r3, r4, r9, ip -000001b0 <[^>]*> b029d798 ? mlalt r9, r8, r7, sp -000001b4 <[^>]*> a034e391 ? mlages r4, r1, r3, lr -000001b8 <[^>]*> e5910000 ? ldr r0, \[r1\] -000001bc <[^>]*> e7911002 ? ldr r1, \[r1, r2\] -000001c0 <[^>]*> e7b32004 ? ldr r2, \[r3, r4\]! -000001c4 <[^>]*> e5922020 ? ldr r2, \[r2, #32\] -000001c8 <[^>]*> e7932424 ? ldr r2, \[r3, r4, lsr #8\] -000001cc <[^>]*> 07b54484 ? ldreq r4, \[r5, r4, lsl #9\]! -000001d0 <[^>]*> 14954006 ? ldrne r4, \[r5\], #6 -000001d4 <[^>]*> e6b21003 ? ldrt r1, \[r2\], r3 -000001d8 <[^>]*> e6942425 ? ldr r2, \[r4\], r5, lsr #8 -000001dc <[^>]*> e51f0008 ? ldr r0, \[pc, #fffffff8\] ; 000001dc <[^>]*> -000001e0 <[^>]*> e5d43000 ? ldrb r3, \[r4\] -000001e4 <[^>]*> 14f85000 ? ldrnebt r5, \[r8\] -000001e8 <[^>]*> e5810000 ? str r0, \[r1\] -000001ec <[^>]*> e7811002 ? str r1, \[r1, r2\] -000001f0 <[^>]*> e7a43003 ? str r3, \[r4, r3\]! -000001f4 <[^>]*> e5822020 ? str r2, \[r2, #32\] -000001f8 <[^>]*> e7832424 ? str r2, \[r3, r4, lsr #8\] -000001fc <[^>]*> 07a54484 ? streq r4, \[r5, r4, lsl #9\]! -00000200 <[^>]*> 14854006 ? strne r4, \[r5\], #6 -00000204 <[^>]*> e6821003 ? str r1, \[r2\], r3 -00000208 <[^>]*> e6a42425 ? strt r2, \[r4\], r5, lsr #8 -0000020c <[^>]*> e50f1004 ? str r1, \[pc, #fffffffc\] ; 00000210 <[^>]*> -00000210 <[^>]*> e5c71000 ? strb r1, \[r7\] -00000214 <[^>]*> e4e02000 ? strbt r2, \[r0\] -00000218 <[^>]*> e8900002 ? ldmia r0, {r1} -0000021c <[^>]*> 09920038 ? ldmeqib r2, {r3, r4, r5} -00000220 <[^>]*> e853ffff ? ldmda r3, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr, pc}\^ -00000224 <[^>]*> e93b05ff ? ldmdb fp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, sl} -00000228 <[^>]*> e99100f7 ? ldmib r1, {r0, r1, r2, r4, r5, r6, r7} -0000022c <[^>]*> e89201f8 ? ldmia r2, {r3, r4, r5, r6, r7, r8} -00000230 <[^>]*> e9130003 ? ldmdb r3, {r0, r1} -00000234 <[^>]*> e8740300 ? ldmda r4!, {r8, r9}\^ -00000238 <[^>]*> e8800002 ? stmia r0, {r1} -0000023c <[^>]*> 09820038 ? stmeqib r2, {r3, r4, r5} -00000240 <[^>]*> e843ffff ? stmda r3, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr, pc}\^ -00000244 <[^>]*> e92a05ff ? stmdb sl!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, sl} -00000248 <[^>]*> e8010007 ? stmda r1, {r0, r1, r2} -0000024c <[^>]*> e9020018 ? stmdb r2, {r3, r4} -00000250 <[^>]*> e8830003 ? stmia r3, {r0, r1} -00000254 <[^>]*> e9e40300 ? stmib r4!, {r8, r9}\^ -00000258 <[^>]*> ef123456 ? swi 0x00123456 -0000025c <[^>]*> 2f000033 ? swics 0x00000033 -00000260 <[^>]*> ebfffffe ? bl 00000000 <[^>]*> +0+000 <[^>]*> e3a00000 ? mov r0, #0 ; 0x0 +0+004 <[^>]*> e1a01002 ? mov r1, r2 +0+008 <[^>]*> e1a03184 ? mov r3, r4, lsl #3 +0+00c <[^>]*> e1a05736 ? mov r5, r6, lsr r7 +0+010 <[^>]*> e1a08a59 ? mov r8, r9, asr sl +0+014 <[^>]*> e1a0bd1c ? mov fp, ip, lsl sp +0+018 <[^>]*> e1a0e06f ? mov lr, pc, rrx +0+01c <[^>]*> e1a01002 ? mov r1, r2 +0+020 <[^>]*> 01a02003 ? moveq r2, r3 +0+024 <[^>]*> 11a04005 ? movne r4, r5 +0+028 <[^>]*> b1a06007 ? movlt r6, r7 +0+02c <[^>]*> a1a08009 ? movge r8, r9 +0+030 <[^>]*> d1a0a00b ? movle sl, fp +0+034 <[^>]*> c1a0c00d ? movgt ip, sp +0+038 <[^>]*> 31a01002 ? movcc r1, r2 +0+03c <[^>]*> 21a01003 ? movcs r1, r3 +0+040 <[^>]*> 41a03006 ? movmi r3, r6 +0+044 <[^>]*> 51a07009 ? movpl r7, r9 +0+048 <[^>]*> 61a01008 ? movvs r1, r8 +0+04c <[^>]*> 71a09fa1 ? movvc r9, r1, lsr #31 +0+050 <[^>]*> 81a0800f ? movhi r8, pc +0+054 <[^>]*> 91a0f00e ? movls pc, lr +0+058 <[^>]*> 21a09008 ? movcs r9, r8 +0+05c <[^>]*> 31a01003 ? movcc r1, r3 +0+060 <[^>]*> e1b00008 ? movs r0, r8 +0+064 <[^>]*> 31b00007 ? movccs r0, r7 +0+068 <[^>]*> e281000a ? add r0, r1, #10 ; 0xa +0+06c <[^>]*> e0832004 ? add r2, r3, r4 +0+070 <[^>]*> e0865287 ? add r5, r6, r7, lsl #5 +0+074 <[^>]*> e0821113 ? add r1, r2, r3, lsl r1 +0+078 <[^>]*> e201000a ? and r0, r1, #10 ; 0xa +0+07c <[^>]*> e0032004 ? and r2, r3, r4 +0+080 <[^>]*> e0065287 ? and r5, r6, r7, lsl #5 +0+084 <[^>]*> e0021113 ? and r1, r2, r3, lsl r1 +0+088 <[^>]*> e221000a ? eor r0, r1, #10 ; 0xa +0+08c <[^>]*> e0232004 ? eor r2, r3, r4 +0+090 <[^>]*> e0265287 ? eor r5, r6, r7, lsl #5 +0+094 <[^>]*> e0221113 ? eor r1, r2, r3, lsl r1 +0+098 <[^>]*> e241000a ? sub r0, r1, #10 ; 0xa +0+09c <[^>]*> e0432004 ? sub r2, r3, r4 +0+0a0 <[^>]*> e0465287 ? sub r5, r6, r7, lsl #5 +0+0a4 <[^>]*> e0421113 ? sub r1, r2, r3, lsl r1 +0+0a8 <[^>]*> e2a1000a ? adc r0, r1, #10 ; 0xa +0+0ac <[^>]*> e0a32004 ? adc r2, r3, r4 +0+0b0 <[^>]*> e0a65287 ? adc r5, r6, r7, lsl #5 +0+0b4 <[^>]*> e0a21113 ? adc r1, r2, r3, lsl r1 +0+0b8 <[^>]*> e2c1000a ? sbc r0, r1, #10 ; 0xa +0+0bc <[^>]*> e0c32004 ? sbc r2, r3, r4 +0+0c0 <[^>]*> e0c65287 ? sbc r5, r6, r7, lsl #5 +0+0c4 <[^>]*> e0c21113 ? sbc r1, r2, r3, lsl r1 +0+0c8 <[^>]*> e261000a ? rsb r0, r1, #10 ; 0xa +0+0cc <[^>]*> e0632004 ? rsb r2, r3, r4 +0+0d0 <[^>]*> e0665287 ? rsb r5, r6, r7, lsl #5 +0+0d4 <[^>]*> e0621113 ? rsb r1, r2, r3, lsl r1 +0+0d8 <[^>]*> e2e1000a ? rsc r0, r1, #10 ; 0xa +0+0dc <[^>]*> e0e32004 ? rsc r2, r3, r4 +0+0e0 <[^>]*> e0e65287 ? rsc r5, r6, r7, lsl #5 +0+0e4 <[^>]*> e0e21113 ? rsc r1, r2, r3, lsl r1 +0+0e8 <[^>]*> e381000a ? orr r0, r1, #10 ; 0xa +0+0ec <[^>]*> e1832004 ? orr r2, r3, r4 +0+0f0 <[^>]*> e1865287 ? orr r5, r6, r7, lsl #5 +0+0f4 <[^>]*> e1821113 ? orr r1, r2, r3, lsl r1 +0+0f8 <[^>]*> e3c1000a ? bic r0, r1, #10 ; 0xa +0+0fc <[^>]*> e1c32004 ? bic r2, r3, r4 +0+100 <[^>]*> e1c65287 ? bic r5, r6, r7, lsl #5 +0+104 <[^>]*> e1c21113 ? bic r1, r2, r3, lsl r1 +0+108 <[^>]*> e3e0000a ? mvn r0, #10 ; 0xa +0+10c <[^>]*> e1e02004 ? mvn r2, r4 +0+110 <[^>]*> e1e05287 ? mvn r5, r7, lsl #5 +0+114 <[^>]*> e1e01113 ? mvn r1, r3, lsl r1 +0+118 <[^>]*> e310000a ? tst r0, #10 ; 0xa +0+11c <[^>]*> e1120004 ? tst r2, r4 +0+120 <[^>]*> e1150287 ? tst r5, r7, lsl #5 +0+124 <[^>]*> e1110113 ? tst r1, r3, lsl r1 +0+128 <[^>]*> e330000a ? teq r0, #10 ; 0xa +0+12c <[^>]*> e1320004 ? teq r2, r4 +0+130 <[^>]*> e1350287 ? teq r5, r7, lsl #5 +0+134 <[^>]*> e1310113 ? teq r1, r3, lsl r1 +0+138 <[^>]*> e350000a ? cmp r0, #10 ; 0xa +0+13c <[^>]*> e1520004 ? cmp r2, r4 +0+140 <[^>]*> e1550287 ? cmp r5, r7, lsl #5 +0+144 <[^>]*> e1510113 ? cmp r1, r3, lsl r1 +0+148 <[^>]*> e370000a ? cmn r0, #10 ; 0xa +0+14c <[^>]*> e1720004 ? cmn r2, r4 +0+150 <[^>]*> e1750287 ? cmn r5, r7, lsl #5 +0+154 <[^>]*> e1710113 ? cmn r1, r3, lsl r1 +0+158 <[^>]*> e330f00a ? teqp r0, #10 ; 0xa +0+15c <[^>]*> e132f004 ? teqp r2, r4 +0+160 <[^>]*> e135f287 ? teqp r5, r7, lsl #5 +0+164 <[^>]*> e131f113 ? teqp r1, r3, lsl r1 +0+168 <[^>]*> e370f00a ? cmnp r0, #10 ; 0xa +0+16c <[^>]*> e172f004 ? cmnp r2, r4 +0+170 <[^>]*> e175f287 ? cmnp r5, r7, lsl #5 +0+174 <[^>]*> e171f113 ? cmnp r1, r3, lsl r1 +0+178 <[^>]*> e350f00a ? cmpp r0, #10 ; 0xa +0+17c <[^>]*> e152f004 ? cmpp r2, r4 +0+180 <[^>]*> e155f287 ? cmpp r5, r7, lsl #5 +0+184 <[^>]*> e151f113 ? cmpp r1, r3, lsl r1 +0+188 <[^>]*> e310f00a ? tstp r0, #10 ; 0xa +0+18c <[^>]*> e112f004 ? tstp r2, r4 +0+190 <[^>]*> e115f287 ? tstp r5, r7, lsl #5 +0+194 <[^>]*> e111f113 ? tstp r1, r3, lsl r1 +0+198 <[^>]*> e0000291 ? mul r0, r1, r2 +0+19c <[^>]*> e0110392 ? muls r1, r2, r3 +0+1a0 <[^>]*> 10000091 ? mulne r0, r1, r0 +0+1a4 <[^>]*> 90190798 ? mullss r9, r8, r7 +0+1a8 <[^>]*> e021ba99 ? mla r1, r9, sl, fp +0+1ac <[^>]*> e033c994 ? mlas r3, r4, r9, ip +0+1b0 <[^>]*> b029d798 ? mlalt r9, r8, r7, sp +0+1b4 <[^>]*> a034e391 ? mlages r4, r1, r3, lr +0+1b8 <[^>]*> e5910000 ? ldr r0, \[r1\] +0+1bc <[^>]*> e7911002 ? ldr r1, \[r1, r2\] +0+1c0 <[^>]*> e7b32004 ? ldr r2, \[r3, r4\]! +0+1c4 <[^>]*> e5922020 ? ldr r2, \[r2, #32\] +0+1c8 <[^>]*> e7932424 ? ldr r2, \[r3, r4, lsr #8\] +0+1cc <[^>]*> 07b54484 ? ldreq r4, \[r5, r4, lsl #9\]! +0+1d0 <[^>]*> 14954006 ? ldrne r4, \[r5\], #6 +0+1d4 <[^>]*> e6b21003 ? ldrt r1, \[r2\], r3 +0+1d8 <[^>]*> e6942425 ? ldr r2, \[r4\], r5, lsr #8 +0+1dc <[^>]*> e51f0008 ? ldr r0, \[pc, #fffffff8\] ; 0+1dc <[^>]*> +0+1e0 <[^>]*> e5d43000 ? ldrb r3, \[r4\] +0+1e4 <[^>]*> 14f85000 ? ldrnebt r5, \[r8\] +0+1e8 <[^>]*> e5810000 ? str r0, \[r1\] +0+1ec <[^>]*> e7811002 ? str r1, \[r1, r2\] +0+1f0 <[^>]*> e7a43003 ? str r3, \[r4, r3\]! +0+1f4 <[^>]*> e5822020 ? str r2, \[r2, #32\] +0+1f8 <[^>]*> e7832424 ? str r2, \[r3, r4, lsr #8\] +0+1fc <[^>]*> 07a54484 ? streq r4, \[r5, r4, lsl #9\]! +0+200 <[^>]*> 14854006 ? strne r4, \[r5\], #6 +0+204 <[^>]*> e6821003 ? str r1, \[r2\], r3 +0+208 <[^>]*> e6a42425 ? strt r2, \[r4\], r5, lsr #8 +0+20c <[^>]*> e50f1004 ? str r1, \[pc, #fffffffc\] ; 0+210 <[^>]*> +0+210 <[^>]*> e5c71000 ? strb r1, \[r7\] +0+214 <[^>]*> e4e02000 ? strbt r2, \[r0\] +0+218 <[^>]*> e8900002 ? ldmia r0, {r1} +0+21c <[^>]*> 09920038 ? ldmeqib r2, {r3, r4, r5} +0+220 <[^>]*> e853ffff ? ldmda r3, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr, pc}\^ +0+224 <[^>]*> e93b05ff ? ldmdb fp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, sl} +0+228 <[^>]*> e99100f7 ? ldmib r1, {r0, r1, r2, r4, r5, r6, r7} +0+22c <[^>]*> e89201f8 ? ldmia r2, {r3, r4, r5, r6, r7, r8} +0+230 <[^>]*> e9130003 ? ldmdb r3, {r0, r1} +0+234 <[^>]*> e8740300 ? ldmda r4!, {r8, r9}\^ +0+238 <[^>]*> e8800002 ? stmia r0, {r1} +0+23c <[^>]*> 09820038 ? stmeqib r2, {r3, r4, r5} +0+240 <[^>]*> e843ffff ? stmda r3, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr, pc}\^ +0+244 <[^>]*> e92a05ff ? stmdb sl!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, sl} +0+248 <[^>]*> e8010007 ? stmda r1, {r0, r1, r2} +0+24c <[^>]*> e9020018 ? stmdb r2, {r3, r4} +0+250 <[^>]*> e8830003 ? stmia r3, {r0, r1} +0+254 <[^>]*> e9e40300 ? stmib r4!, {r8, r9}\^ +0+258 <[^>]*> ef123456 ? swi 0x00123456 +0+25c <[^>]*> 2f000033 ? swics 0x00000033 +0+260 <[^>]*> ebfffffe ? bl 0+0 <[^>]*> [ ]*260:.*_wombat.* -00000264 <[^>]*> 5bfffffe ? blpl 00000000 <[^>]*> +0+264 <[^>]*> 5bfffffe ? blpl 0+0 <[^>]*> [ ]*264:.*ARM.*hohum -00000268 <[^>]*> eafffffe ? b 00000000 <[^>]*> +0+268 <[^>]*> eafffffe ? b 0+0 <[^>]*> [ ]*268:.*_wibble.* -0000026c <[^>]*> dafffffe ? ble 00000000 <[^>]*> +0+26c <[^>]*> dafffffe ? ble 0+0 <[^>]*> [ ]*26c:.*testerfunc.* -00000270 <[^>]*> e1a01102 ? mov r1, r2, lsl #2 -00000274 <[^>]*> e1a01002 ? mov r1, r2 -00000278 <[^>]*> e1a01f82 ? mov r1, r2, lsl #31 -0000027c <[^>]*> e1a01312 ? mov r1, r2, lsl r3 -00000280 <[^>]*> e1a01122 ? mov r1, r2, lsr #2 -00000284 <[^>]*> e1a01fa2 ? mov r1, r2, lsr #31 -00000288 <[^>]*> e1a01022 ? mov r1, r2, lsr #32 -0000028c <[^>]*> e1a01332 ? mov r1, r2, lsr r3 -00000290 <[^>]*> e1a01142 ? mov r1, r2, asr #2 -00000294 <[^>]*> e1a01fc2 ? mov r1, r2, asr #31 -00000298 <[^>]*> e1a01042 ? mov r1, r2, asr #32 -0000029c <[^>]*> e1a01352 ? mov r1, r2, asr r3 -000002a0 <[^>]*> e1a01162 ? mov r1, r2, ror #2 -000002a4 <[^>]*> e1a01fe2 ? mov r1, r2, ror #31 -000002a8 <[^>]*> e1a01372 ? mov r1, r2, ror r3 -000002ac <[^>]*> e1a01062 ? mov r1, r2, rrx -000002b0 <[^>]*> e1a01102 ? mov r1, r2, lsl #2 -000002b4 <[^>]*> e1a01002 ? mov r1, r2 -000002b8 <[^>]*> e1a01f82 ? mov r1, r2, lsl #31 -000002bc <[^>]*> e1a01312 ? mov r1, r2, lsl r3 -000002c0 <[^>]*> e1a01122 ? mov r1, r2, lsr #2 -000002c4 <[^>]*> e1a01fa2 ? mov r1, r2, lsr #31 -000002c8 <[^>]*> e1a01022 ? mov r1, r2, lsr #32 -000002cc <[^>]*> e1a01332 ? mov r1, r2, lsr r3 -000002d0 <[^>]*> e1a01142 ? mov r1, r2, asr #2 -000002d4 <[^>]*> e1a01fc2 ? mov r1, r2, asr #31 -000002d8 <[^>]*> e1a01042 ? mov r1, r2, asr #32 -000002dc <[^>]*> e1a01352 ? mov r1, r2, asr r3 -000002e0 <[^>]*> e1a01162 ? mov r1, r2, ror #2 -000002e4 <[^>]*> e1a01fe2 ? mov r1, r2, ror #31 -000002e8 <[^>]*> e1a01372 ? mov r1, r2, ror r3 -000002ec <[^>]*> e1a01062 ? mov r1, r2, rrx +0+270 <[^>]*> e1a01102 ? mov r1, r2, lsl #2 +0+274 <[^>]*> e1a01002 ? mov r1, r2 +0+278 <[^>]*> e1a01f82 ? mov r1, r2, lsl #31 +0+27c <[^>]*> e1a01312 ? mov r1, r2, lsl r3 +0+280 <[^>]*> e1a01122 ? mov r1, r2, lsr #2 +0+284 <[^>]*> e1a01fa2 ? mov r1, r2, lsr #31 +0+288 <[^>]*> e1a01022 ? mov r1, r2, lsr #32 +0+28c <[^>]*> e1a01332 ? mov r1, r2, lsr r3 +0+290 <[^>]*> e1a01142 ? mov r1, r2, asr #2 +0+294 <[^>]*> e1a01fc2 ? mov r1, r2, asr #31 +0+298 <[^>]*> e1a01042 ? mov r1, r2, asr #32 +0+29c <[^>]*> e1a01352 ? mov r1, r2, asr r3 +0+2a0 <[^>]*> e1a01162 ? mov r1, r2, ror #2 +0+2a4 <[^>]*> e1a01fe2 ? mov r1, r2, ror #31 +0+2a8 <[^>]*> e1a01372 ? mov r1, r2, ror r3 +0+2ac <[^>]*> e1a01062 ? mov r1, r2, rrx +0+2b0 <[^>]*> e1a01102 ? mov r1, r2, lsl #2 +0+2b4 <[^>]*> e1a01002 ? mov r1, r2 +0+2b8 <[^>]*> e1a01f82 ? mov r1, r2, lsl #31 +0+2bc <[^>]*> e1a01312 ? mov r1, r2, lsl r3 +0+2c0 <[^>]*> e1a01122 ? mov r1, r2, lsr #2 +0+2c4 <[^>]*> e1a01fa2 ? mov r1, r2, lsr #31 +0+2c8 <[^>]*> e1a01022 ? mov r1, r2, lsr #32 +0+2cc <[^>]*> e1a01332 ? mov r1, r2, lsr r3 +0+2d0 <[^>]*> e1a01142 ? mov r1, r2, asr #2 +0+2d4 <[^>]*> e1a01fc2 ? mov r1, r2, asr #31 +0+2d8 <[^>]*> e1a01042 ? mov r1, r2, asr #32 +0+2dc <[^>]*> e1a01352 ? mov r1, r2, asr r3 +0+2e0 <[^>]*> e1a01162 ? mov r1, r2, ror #2 +0+2e4 <[^>]*> e1a01fe2 ? mov r1, r2, ror #31 +0+2e8 <[^>]*> e1a01372 ? mov r1, r2, ror r3 +0+2ec <[^>]*> e1a01062 ? mov r1, r2, rrx diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/arm/pic.d binutils-2.11.90.0.15/gas/testsuite/gas/arm/pic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/arm/pic.d Tue Jan 23 11:00:17 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/arm/pic.d Thu May 24 21:24:32 2001 @@ -6,9 +6,9 @@ .*: +file format .*arm.* Disassembly of section .text: -0x00000000 ebfffffe bl 0x00000000 +0x0+0 ebfffffe bl 0x0+0 0: R_ARM_PC24 foo -0x00000004 ebfffffe bl 0x00000000 +0x0+4 ebfffffe bl 0x0+0 4: R_ARM_PLT32 foo \.\.\. 8: R_ARM_ABS32 sym diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/arm/xscale.d binutils-2.11.90.0.15/gas/testsuite/gas/arm/xscale.d --- binutils-2.11.90.0.8/gas/testsuite/gas/arm/xscale.d Mon Dec 11 11:24:17 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/arm/xscale.d Thu May 24 21:24:32 2001 @@ -7,32 +7,32 @@ .*: +file format .*arm.* Disassembly of section .text: -00000000 ee201010 mia acc0, r0, r1 -00000004 <[^>]*> be20d01e mialt acc0, lr, sp -00000008 <[^>]*> ee284012 miaph acc0, r2, r4 -0000000c <[^>]*> 1e286015 miaphne acc0, r5, r6 -00000010 <[^>]*> ee2c8017 miaBB acc0, r7, r8 -00000014 <[^>]*> ee2da019 miaBT acc0, r9, sl -00000018 <[^>]*> ee2eb01c miaTB acc0, ip, fp -0000001c <[^>]*> ee2f0010 miaTT acc0, r0, r0 -00000020 <[^>]*> ec411000 mar acc0, r1, r1 -00000024 <[^>]*> cc4c2000 margt acc0, r2, ip -00000028 <[^>]*> ec543000 mra r3, r4, acc0 -0000002c <[^>]*> ec585000 mra r5, r8, acc0 -00000030 <[^>]*> f5d0f000 pld \[r0\] -00000034 <[^>]*> f5d1f789 pld \[r1, #1929\] -00000038 <[^>]*> f7d2f003 pld \[r2, r3\] -0000003c <[^>]*> f754f285 pld \[r4, -r5, lsl #5\] -00000040 <[^>]*> f456f456 pld \[r6\], -#1110 -00000044 <[^>]*> f6d7f008 pld \[r7\], r8 -00000048 <[^>]*> f659f06a pld \[r9\], -sl, rrx -0000004c <[^>]*> e1c100d0 ldrd r0, \[r1\] -00000050 <[^>]*> 01c327d8 ldreqd r2, \[r3, #120\] -00000054 <[^>]*> b10540d6 ldrltd r4, \[r5, -r6\] -00000058 <[^>]*> e16a88f9 strd r8, \[sl, -#137\]! -0000005c <[^>]*> e1ac00fd strd r0, \[ip, sp\]! -00000060 <[^>]*> 30ce21f0 strccd r2, \[lr\], #16 -00000064 <[^>]*> 708640f8 strvcd r4, \[r6\], r8 -00000068 <[^>]*> e5910000 ldr r0, \[r1\] -0000006c <[^>]*> e5832000 str r2, \[r3\] -00000070 <[^>]*> e321f011 msr CPSR_c, #17 ; 0x11 +0+00 ee201010 mia acc0, r0, r1 +0+04 <[^>]*> be20d01e mialt acc0, lr, sp +0+08 <[^>]*> ee284012 miaph acc0, r2, r4 +0+0c <[^>]*> 1e286015 miaphne acc0, r5, r6 +0+10 <[^>]*> ee2c8017 miaBB acc0, r7, r8 +0+14 <[^>]*> ee2da019 miaBT acc0, r9, sl +0+18 <[^>]*> ee2eb01c miaTB acc0, ip, fp +0+1c <[^>]*> ee2f0010 miaTT acc0, r0, r0 +0+20 <[^>]*> ec411000 mar acc0, r1, r1 +0+24 <[^>]*> cc4c2000 margt acc0, r2, ip +0+28 <[^>]*> ec543000 mra r3, r4, acc0 +0+2c <[^>]*> ec585000 mra r5, r8, acc0 +0+30 <[^>]*> f5d0f000 pld \[r0\] +0+34 <[^>]*> f5d1f789 pld \[r1, #1929\] +0+38 <[^>]*> f7d2f003 pld \[r2, r3\] +0+3c <[^>]*> f754f285 pld \[r4, -r5, lsl #5\] +0+40 <[^>]*> f456f456 pld \[r6\], -#1110 +0+44 <[^>]*> f6d7f008 pld \[r7\], r8 +0+48 <[^>]*> f659f06a pld \[r9\], -sl, rrx +0+4c <[^>]*> e1c100d0 ldrd r0, \[r1\] +0+50 <[^>]*> 01c327d8 ldreqd r2, \[r3, #120\] +0+54 <[^>]*> b10540d6 ldrltd r4, \[r5, -r6\] +0+58 <[^>]*> e16a88f9 strd r8, \[sl, -#137\]! +0+5c <[^>]*> e1ac00fd strd r0, \[ip, sp\]! +0+60 <[^>]*> 30ce21f0 strccd r2, \[lr\], #16 +0+64 <[^>]*> 708640f8 strvcd r4, \[r6\], r8 +0+68 <[^>]*> e5910000 ldr r0, \[r1\] +0+6c <[^>]*> e5832000 str r2, \[r3\] +0+70 <[^>]*> e321f011 msr CPSR_c, #17 ; 0x11 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/addi.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/addi.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/addi.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/addi.d Sun May 27 11:35:14 2001 @@ -4,7 +4,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+0105[ ]+addi[ ]+r0.b,r1 [ ]+2:[ ]+1105[ ]+addi[ ]+r0.w,r1 [ ]+4:[ ]+2105[ ]+addi[ ]+r0.d,r1 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/binop-cmpmove.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/binop-cmpmove.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/binop-cmpmove.d Fri Apr 6 15:33:22 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/binop-cmpmove.d Sun May 27 11:35:14 2001 @@ -6,11 +6,11 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : 0: 0000[ ]+ bcc ( 0x2|\.\+2) \.\.\. -00000004 : +0+4 : [ ]+4:[ ]+@IR+4356@[ ]+@OC@\.b r3,r5 [ ]+6:[ ]+@IR+55d6@[ ]+@OC@\.w r5,r13 [ ]+8:[ ]+@IR+6a16@[ ]+@OC@\.d r10,r1 @@ -77,8 +77,8 @@ Disassembly of section \.text: [ ]+fc:[ ]+@IM+6f1e@ 9822 0000[ ]+@OC@\.d (0x2298|2298 ),r1 [ ]+102:[ ]+@IM+6f1e@ ac72 2a00[ ]+@OC@\.d (0x2a72ac|2a72ac ),r1 [ ]+108:[ ]+@IM+6f1e@ d5c5 d6ff[ ]+@OC@\.d 0xffd6c5d5,r1 -[ ]+10e:[ ]+@IM+6f1e@ acce c09e[ ]+@OC@\.d (0x9ec0ceac|9ec0ceac ),r1 -[ ]+114:[ ]+@IM+6f1e@ 5331 3f81[ ]+@OC@\.d (0x813f3153|813f3153 ),r1 +[ ]+10e:[ ]+@IM+6f1e@ acce c09e[ ]+@OC@\.d [^,]+,r1 +[ ]+114:[ ]+@IM+6f1e@ 5331 3f81[ ]+@OC@\.d [^,]+,r1 [ ]+11a:[ ]+@IM+6f1e@ b5af 982e[ ]+@OC@\.d (0x2e98afb5|2e98afb5 ),r1 [ ]+120:[ ]+@IM+6f1e@ 2b45 941b[ ]+@OC@\.d (0x1b94452b|1b94452b ),r1 [ ]+126:[ ]+@IM+6fde@ 2a00 0000[ ]+@OC@\.d (0x2a|2a ),r13 @@ -184,10 +184,10 @@ Disassembly of section \.text: [ ]+2f4:[ ]+6f2d 0180 0000 @IM+5dda@[ ]+@OC@\.w \[r2\+(32769|8001 )\],r13 [ ]+2fc:[ ]+5f2d 0180 @IM+5dda@[ ]+@OC@\.w \[r2-32767\],r13 [ ]+302:[ ]+5f2d 0080 @IM+5dda@[ ]+@OC@\.w \[r2-32768\],r13 -[ ]+308:[ ]+6f2d ff7f ffff @IM+555a@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+308:[ ]+6f2d ff7f ffff @IM+555a@[ ]+@OC@\.w \[r2\+[^]]+\],r5 [ ]+310:[ ]+5f2d 0180 @IM+5dda@[ ]+@OC@\.w \[r2-32767\],r13 [ ]+316:[ ]+5f2d 0080 @IM+5dda@[ ]+@OC@\.w \[r2-32768\],r13 -[ ]+31c:[ ]+6f2d ff7f ffff @IM+555a@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+31c:[ ]+6f2d ff7f ffff @IM+555a@[ ]+@OC@\.w \[r2\+[^]]+\],r5 [ ]+324:[ ]+6f2d ffff 0000 @IM+555a@[ ]+@OC@\.w \[r2\+(65535|ffff )\],r5 [ ]+32c:[ ]+6f2d 0000 0000 @IM+555a@[ ]+@OC@\.w \[r2\+0( )?\],r5 [ ]+32e:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -211,10 +211,10 @@ Disassembly of section \.text: [ ]+388:[ ]+5f2d 68dd @IM+611a@[ ]+@OC@\.d \[r2-8856\],r1 [ ]+38e:[ ]+5f2d 9822 @IM+611a@[ ]+@OC@\.d \[r2\+8856\],r1 [ ]+394:[ ]+6f2d ac72 2a00 @IM+611a@[ ]+@OC@\.d \[r2\+(2781868|2a72ac )\],r1 -[ ]+39c:[ ]+6f2d d5c5 d6ff @IM+611a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\],r1 -[ ]+3a4:[ ]+6f2d acce c09e @IM+611a@[ ]+@OC@\.d \[r2\+(0x9ec0ceac|9ec0ceac )\],r1 -[ ]+3ac:[ ]+6f2d 5331 3f81 @IM+611a@[ ]+@OC@\.d \[r2\+(0x813f3153|813f3153 )\],r1 -[ ]+3b4:[ ]+6f2d 5331 3f81 @IM+611a@[ ]+@OC@\.d \[r2\+(0x813f3153|813f3153 )\],r1 +[ ]+39c:[ ]+6f2d d5c5 d6ff @IM+611a@[ ]+@OC@\.d \[r2\+[^]]+\],r1 +[ ]+3a4:[ ]+6f2d acce c09e @IM+611a@[ ]+@OC@\.d \[r2\+[^]]+\],r1 +[ ]+3ac:[ ]+6f2d 5331 3f81 @IM+611a@[ ]+@OC@\.d \[r2\+[^]]+\],r1 +[ ]+3b4:[ ]+6f2d 5331 3f81 @IM+611a@[ ]+@OC@\.d \[r2\+[^]]+\],r1 [ ]+3bc:[ ]+6f2d b5af 982e @IM+611a@[ ]+@OC@\.d \[r2\+(0x2e98afb5|2e98afb5 )\],r1 [ ]+3c4:[ ]+6f2d 2b45 941b @IM+611a@[ ]+@OC@\.d \[r2\+(0x1b94452b|1b94452b )\],r1 [ ]+3cc:[ ]+2a21 @IM+6dda@[ ]+@OC@\.d \[r2\+42\],r13 @@ -231,15 +231,15 @@ Disassembly of section \.text: [ ]+3fe:[ ]+6f2d 0180 0000 @IM+655a@[ ]+@OC@\.d \[r2\+(32769|8001 )\],r5 [ ]+406:[ ]+5f2d 0180 @IM+655a@[ ]+@OC@\.d \[r2-32767\],r5 [ ]+40c:[ ]+5f2d 0080 @IM+6dda@[ ]+@OC@\.d \[r2-32768\],r13 -[ ]+412:[ ]+6f2d ff7f ffff @IM+6dda@[ ]+@OC@\.d \[r2\+(0xffff7fff|ffff7fff )\],r13 +[ ]+412:[ ]+6f2d ff7f ffff @IM+6dda@[ ]+@OC@\.d \[r2\+[^]]+\],r13 [ ]+41a:[ ]+5f2d 0180 @IM+655a@[ ]+@OC@\.d \[r2-32767\],r5 [ ]+420:[ ]+5f2d 0080 @IM+6dda@[ ]+@OC@\.d \[r2-32768\],r13 -[ ]+426:[ ]+6f2d ff7f ffff @IM+6dda@[ ]+@OC@\.d \[r2\+(0xffff7fff|ffff7fff )\],r13 +[ ]+426:[ ]+6f2d ff7f ffff @IM+6dda@[ ]+@OC@\.d \[r2\+[^]]+\],r13 [ ]+42e:[ ]+6f2d ffff 0000 @IM+655a@[ ]+@OC@\.d \[r2\+(65535|ffff )\],r5 [ ]+436:[ ]+6f2d 0000 0100 @IM+6dda@[ ]+@OC@\.d \[r2\+(65536|10000 )\],r13 [ ]+43e:[ ]+6f2d 2b3a 2900 @IM+655a@[ ]+@OC@\.d \[r2\+(2701867|293a2b )\],r5 -[ ]+446:[ ]+6f2d d5c5 d6ff @IM+655a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\],r5 -[ ]+44e:[ ]+6f2d d5c5 d6ff @IM+655a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\],r5 +[ ]+446:[ ]+6f2d d5c5 d6ff @IM+655a@[ ]+@OC@\.d \[r2\+[^]]+\],r5 +[ ]+44e:[ ]+6f2d d5c5 d6ff @IM+655a@[ ]+@OC@\.d \[r2\+[^]]+\],r5 [ ]+456:[ ]+6f2d 0000 0000 @IM+655a@[ ]+@OC@\.d \[r2\+0( )?\],r5 [ ]+458:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+45e:[ ]+4205 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+r0.b\],r5 @@ -327,10 +327,10 @@ Disassembly of section \.text: [ ]+5c6:[ ]+6f2d 0180 0000 @IM+5cde@[ ]+@OC@.w \[r12=r2\+(32769|8001 )\],r13 [ ]+5ce:[ ]+5f2d 0180 @IM+5cde@[ ]+@OC@.w \[r12=r2-32767\],r13 [ ]+5d4:[ ]+5f2d 0080 @IM+5cde@[ ]+@OC@.w \[r12=r2-32768\],r13 -[ ]+5da:[ ]+6f2d ff7f ffff @IM+5c5e@[ ]+@OC@.w \[r12=r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+5da:[ ]+6f2d ff7f ffff @IM+5c5e@[ ]+@OC@.w \[r12=r2\+[^]]+\],r5 [ ]+5e2:[ ]+5f2d 0180 @IM+5cde@[ ]+@OC@.w \[r12=r2-32767\],r13 [ ]+5e8:[ ]+5f2d 0080 @IM+5cde@[ ]+@OC@.w \[r12=r2-32768\],r13 -[ ]+5ee:[ ]+6f2d ff7f ffff @IM+5c5e@[ ]+@OC@.w \[r12=r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+5ee:[ ]+6f2d ff7f ffff @IM+5c5e@[ ]+@OC@.w \[r12=r2\+[^]]+\],r5 [ ]+5f6:[ ]+6f2d ffff 0000 @IM+5c5e@[ ]+@OC@.w \[r12=r2\+(65535|ffff )\],r5 [ ]+5fe:[ ]+6f2d 0000 0000 @IM+5c5e@[ ]+@OC@.w \[r12=r2\+0( )?\],r5 [ ]+600:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -354,10 +354,10 @@ Disassembly of section \.text: [ ]+65a:[ ]+5f2d 68dd @IM+6c1e@[ ]+@OC@.d \[r12=r2-8856\],r1 [ ]+660:[ ]+5f2d 9822 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+8856\],r1 [ ]+666:[ ]+6f2d ac72 2a00 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(2781868|2a72ac )\],r1 -[ ]+66e:[ ]+6f2d d5c5 d6ff @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\],r1 -[ ]+676:[ ]+6f2d acce c09e @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(0x9ec0ceac|9ec0ceac )\],r1 -[ ]+67e:[ ]+6f2d 5331 3f81 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(0x813f3153|813f3153 )\],r1 -[ ]+686:[ ]+6f2d 5331 3f81 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(0x813f3153|813f3153 )\],r1 +[ ]+66e:[ ]+6f2d d5c5 d6ff @IM+6c1e@[ ]+@OC@.d \[r12=r2\+[^]]+\],r1 +[ ]+676:[ ]+6f2d acce c09e @IM+6c1e@[ ]+@OC@.d \[r12=r2\+[^]]+\],r1 +[ ]+67e:[ ]+6f2d 5331 3f81 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+[^]]+\],r1 +[ ]+686:[ ]+6f2d 5331 3f81 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+[^]]+\],r1 [ ]+68e:[ ]+6f2d b5af 982e @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(0x2e98afb5|2e98afb5 )\],r1 [ ]+696:[ ]+6f2d 2b45 941b @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(0x1b94452b|1b94452b )\],r1 [ ]+69e:[ ]+2a21 @IM+6cde@[ ]+@OC@.d \[r12=r2\+42\],r13 @@ -374,15 +374,15 @@ Disassembly of section \.text: [ ]+6d0:[ ]+6f2d 0180 0000 @IM+6c5e@[ ]+@OC@.d \[r12=r2\+(32769|8001 )\],r5 [ ]+6d8:[ ]+5f2d 0180 @IM+6c5e@[ ]+@OC@.d \[r12=r2-32767\],r5 [ ]+6de:[ ]+5f2d 0080 @IM+6cde@[ ]+@OC@.d \[r12=r2-32768\],r13 -[ ]+6e4:[ ]+6f2d ff7f ffff @IM+6cde@[ ]+@OC@.d \[r12=r2\+(0xffff7fff|ffff7fff )\],r13 +[ ]+6e4:[ ]+6f2d ff7f ffff @IM+6cde@[ ]+@OC@.d \[r12=r2\+[^]]+\],r13 [ ]+6ec:[ ]+5f2d 0180 @IM+6c5e@[ ]+@OC@.d \[r12=r2-32767\],r5 [ ]+6f2:[ ]+5f2d 0080 @IM+6cde@[ ]+@OC@.d \[r12=r2-32768\],r13 -[ ]+6f8:[ ]+6f2d ff7f ffff @IM+6cde@[ ]+@OC@.d \[r12=r2\+(0xffff7fff|ffff7fff )\],r13 +[ ]+6f8:[ ]+6f2d ff7f ffff @IM+6cde@[ ]+@OC@.d \[r12=r2\+[^]]+\],r13 [ ]+700:[ ]+6f2d ffff 0000 @IM+6c5e@[ ]+@OC@.d \[r12=r2\+(65535|ffff )\],r5 [ ]+708:[ ]+6f2d 0000 0100 @IM+6cde@[ ]+@OC@.d \[r12=r2\+(65536|10000 )\],r13 [ ]+710:[ ]+6f2d 2b3a 2900 @IM+6c5e@[ ]+@OC@.d \[r12=r2\+(2701867|293a2b )\],r5 -[ ]+718:[ ]+6f2d d5c5 d6ff @IM+6c5e@[ ]+@OC@.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\],r5 -[ ]+720:[ ]+6f2d d5c5 d6ff @IM+6c5e@[ ]+@OC@.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\],r5 +[ ]+718:[ ]+6f2d d5c5 d6ff @IM+6c5e@[ ]+@OC@.d \[r12=r2\+[^]]+\],r5 +[ ]+720:[ ]+6f2d d5c5 d6ff @IM+6c5e@[ ]+@OC@.d \[r12=r2\+[^]]+\],r5 [ ]+728:[ ]+6f2d 0000 0000 @IM+6c5e@[ ]+@OC@.d \[r12=r2\+0( )?\],r5 [ ]+72a:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+730:[ ]+7309 @IM+455a@[ ]+@OC@.b \[\[r3\]\],r5 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/binop-cmpmovx.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/binop-cmpmovx.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/binop-cmpmovx.d Fri Apr 6 15:33:22 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/binop-cmpmovx.d Sun May 27 11:35:14 2001 @@ -6,11 +6,11 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : 0: 0000[ ]+ bcc ( 0x2|\.\+2) \.\.\. -00000004 : +0+4 : [ ]+4:[ ]+@IM+4058@[ ]+@OC@\.b \[r0\],r5 [ ]+6:[ ]+@IM+55d8@[ ]+@OC@\.w \[r5\],r13 [ ]+8:[ ]+@IM+405c@[ ]+@OC@\.b \[r0\+\],r5 @@ -131,10 +131,10 @@ Disassembly of section \.text: [ ]+1e8:[ ]+6f2d 0180 0000 @IM+5dd8@[ ]+@OC@\.w \[r2\+(32769|8001 )\],r13 [ ]+1f0:[ ]+5f2d 0180 @IM+5dd8@[ ]+@OC@\.w \[r2-32767\],r13 [ ]+1f6:[ ]+5f2d 0080 @IM+5dd8@[ ]+@OC@\.w \[r2-32768\],r13 -[ ]+1fc:[ ]+6f2d ff7f ffff @IM+5558@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+1fc:[ ]+6f2d ff7f ffff @IM+5558@[ ]+@OC@\.w \[r2\+[^]]+\],r5 [ ]+204:[ ]+5f2d 0180 @IM+5dd8@[ ]+@OC@\.w \[r2-32767\],r13 [ ]+20a:[ ]+5f2d 0080 @IM+5dd8@[ ]+@OC@\.w \[r2-32768\],r13 -[ ]+210:[ ]+6f2d ff7f ffff @IM+5558@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+210:[ ]+6f2d ff7f ffff @IM+5558@[ ]+@OC@\.w \[r2\+[^]]+\],r5 [ ]+218:[ ]+6f2d ffff 0000 @IM+5558@[ ]+@OC@\.w \[r2\+(65535|ffff )\],r5 [ ]+220:[ ]+6f2d 0000 0000 @IM+5558@[ ]+@OC@\.w \[r2\+0( )?\],r5 [ ]+222:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -211,10 +211,10 @@ Disassembly of section \.text: [ ]+360:[ ]+6f2d 0180 0000 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+(32769|8001 )\],r13 [ ]+368:[ ]+5f2d 0180 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-32767\],r13 [ ]+36e:[ ]+5f2d 0080 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-32768\],r13 -[ ]+374:[ ]+6f2d ff7f ffff @IM+5c5c@[ ]+@OC@\.w \[r12=r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+374:[ ]+6f2d ff7f ffff @IM+5c5c@[ ]+@OC@\.w \[r12=r2\+[^]]+\],r5 [ ]+37c:[ ]+5f2d 0180 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-32767\],r13 [ ]+382:[ ]+5f2d 0080 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-32768\],r13 -[ ]+388:[ ]+6f2d ff7f ffff @IM+5c5c@[ ]+@OC@\.w \[r12=r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+388:[ ]+6f2d ff7f ffff @IM+5c5c@[ ]+@OC@\.w \[r12=r2\+[^]]+\],r5 [ ]+390:[ ]+6f2d ffff 0000 @IM+5c5c@[ ]+@OC@\.w \[r12=r2\+(65535|ffff )\],r5 [ ]+398:[ ]+6f2d 0000 0000 @IM+5c5c@[ ]+@OC@\.w \[r12=r2\+0( )?\],r5 [ ]+39a:[ ]+(R_CRIS_)?32[ ]+externalsym diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/binop-extx.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/binop-extx.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/binop-extx.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/binop-extx.d Sun May 27 11:35:14 2001 @@ -7,11 +7,11 @@ .*:[ ]+file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0: 0000[ ]+ bcc ( 0x2|\.\+2) \.\.\. -00000004 : +0+4 : [ ]+4:[ ]+@IR+0354@[ ]+@OC@\.b r3,r5 [ ]+6:[ ]+@IR+15d4@[ ]+@OC@\.w r5,r13 [ ]+8:[ ]+@IM+0058@[ ]+@OC@\.b \[r0\],r5 @@ -134,10 +134,10 @@ Disassembly of section \.text: [ ]+1ec:[ ]+6f2d 0180 0000 @IM+1dd8@[ ]+@OC@\.w \[r2\+(32769|8001 )\],r13 [ ]+1f4:[ ]+5f2d 0180 @IM+1dd8@[ ]+@OC@\.w \[r2-32767\],r13 [ ]+1fa:[ ]+5f2d 0080 @IM+1dd8@[ ]+@OC@\.w \[r2-32768\],r13 -[ ]+200:[ ]+6f2d ff7f ffff @IM+1558@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+200:[ ]+6f2d ff7f ffff @IM+1558@[ ]+@OC@\.w \[r2\+[^]]+\],r5 [ ]+208:[ ]+5f2d 0180 @IM+1dd8@[ ]+@OC@\.w \[r2-32767\],r13 [ ]+20e:[ ]+5f2d 0080 @IM+1dd8@[ ]+@OC@\.w \[r2-32768\],r13 -[ ]+214:[ ]+6f2d ff7f ffff @IM+1558@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+214:[ ]+6f2d ff7f ffff @IM+1558@[ ]+@OC@\.w \[r2\+[^]]+\],r5 [ ]+21c:[ ]+6f2d ffff 0000 @IM+1558@[ ]+@OC@\.w \[r2\+(65535|ffff )\],r5 [ ]+224:[ ]+6f2d 0000 0000 @IM+1558@[ ]+@OC@\.w \[r2\+0( )?\],r5 [ ]+226:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -214,10 +214,10 @@ Disassembly of section \.text: [ ]+364:[ ]+6f2d 0180 0000 @IM+18d8@[ ]+@OC@\.w \[r2\+(32769|8001 )\],r13,r8 [ ]+36c:[ ]+5f2d 0180 @IM+18d8@[ ]+@OC@\.w \[r2-32767\],r13,r8 [ ]+372:[ ]+5f2d 0080 @IM+18d8@[ ]+@OC@\.w \[r2-32768\],r13,r8 -[ ]+378:[ ]+6f2d ff7f ffff @IM+1858@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff )\],r5,r8 +[ ]+378:[ ]+6f2d ff7f ffff @IM+1858@[ ]+@OC@\.w \[r2\+[^]]+\],r5,r8 [ ]+380:[ ]+5f2d 0180 @IM+18d8@[ ]+@OC@\.w \[r2-32767\],r13,r8 [ ]+386:[ ]+5f2d 0080 @IM+18d8@[ ]+@OC@\.w \[r2-32768\],r13,r8 -[ ]+38c:[ ]+6f2d ff7f ffff @IM+1858@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff )\],r5,r8 +[ ]+38c:[ ]+6f2d ff7f ffff @IM+1858@[ ]+@OC@\.w \[r2\+[^]]+\],r5,r8 [ ]+394:[ ]+6f2d ffff 0000 @IM+1858@[ ]+@OC@\.w \[r2\+(65535|ffff )\],r5,r8 [ ]+39c:[ ]+6f2d 0000 0000 @IM+1858@[ ]+@OC@\.w \[r2\+0( )?\],r5,r8 [ ]+39e:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -294,10 +294,10 @@ Disassembly of section \.text: [ ]+4dc:[ ]+6f2d 0180 0000 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+(32769|8001 )\],r13 [ ]+4e4:[ ]+5f2d 0180 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-32767\],r13 [ ]+4ea:[ ]+5f2d 0080 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-32768\],r13 -[ ]+4f0:[ ]+6f2d ff7f ffff @IM+1c5c@[ ]+@OC@\.w \[r12=r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+4f0:[ ]+6f2d ff7f ffff @IM+1c5c@[ ]+@OC@\.w \[r12=r2\+[^]]+\],r5 [ ]+4f8:[ ]+5f2d 0180 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-32767\],r13 [ ]+4fe:[ ]+5f2d 0080 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-32768\],r13 -[ ]+504:[ ]+6f2d ff7f ffff @IM+1c5c@[ ]+@OC@\.w \[r12=r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+504:[ ]+6f2d ff7f ffff @IM+1c5c@[ ]+@OC@\.w \[r12=r2\+[^]]+\],r5 [ ]+50c:[ ]+6f2d ffff 0000 @IM+1c5c@[ ]+@OC@\.w \[r12=r2\+(65535|ffff )\],r5 [ ]+514:[ ]+6f2d 0000 0000 @IM+1c5c@[ ]+@OC@\.w \[r12=r2\+0( )?\],r5 [ ]+516:[ ]+(R_CRIS_)?32[ ]+externalsym diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/binop.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/binop.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/binop.d Fri Apr 6 15:33:22 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/binop.d Sun May 27 11:35:15 2001 @@ -6,11 +6,11 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : 0: 0000[ ]+ bcc ( 0x2|\.\+2) \.\.\. -00000004 : +0+4 : [ ]+4:[ ]+@IR+0356@[ ]+@OC@\.b r3,r5 [ ]+6:[ ]+@IR+15d6@[ ]+@OC@\.w r5,r13 [ ]+8:[ ]+@IR+2a16@[ ]+@OC@\.d r10,r1 @@ -77,8 +77,8 @@ Disassembly of section \.text: [ ]+fc:[ ]+@IM+2f1e@ 9822 0000[ ]+@OC@\.d (0x2298|2298 ),r1 [ ]+102:[ ]+@IM+2f1e@ ac72 2a00[ ]+@OC@\.d (0x2a72ac|2a72ac ),r1 [ ]+108:[ ]+@IM+2f1e@ d5c5 d6ff[ ]+@OC@\.d 0xffd6c5d5,r1 -[ ]+10e:[ ]+@IM+2f1e@ acce c09e[ ]+@OC@\.d (0x9ec0ceac|9ec0ceac ),r1 -[ ]+114:[ ]+@IM+2f1e@ 5331 3f81[ ]+@OC@\.d (0x813f3153|813f3153 ),r1 +[ ]+10e:[ ]+@IM+2f1e@ acce c09e[ ]+@OC@\.d [^,]+,r1 +[ ]+114:[ ]+@IM+2f1e@ 5331 3f81[ ]+@OC@\.d [^,]+,r1 [ ]+11a:[ ]+@IM+2f1e@ b5af 982e[ ]+@OC@\.d (0x2e98afb5|2e98afb5 ),r1 [ ]+120:[ ]+@IM+2f1e@ 2b45 941b[ ]+@OC@\.d (0x1b94452b|1b94452b ),r1 [ ]+126:[ ]+@IM+2fde@ 2a00 0000[ ]+@OC@\.d (0x2a|2a ),r13 @@ -184,10 +184,10 @@ Disassembly of section \.text: [ ]+2f4:[ ]+6f2d 0180 0000 @IM+1dda@[ ]+@OC@\.w \[r2\+(32769|8001 )\],r13 [ ]+2fc:[ ]+5f2d 0180 @IM+1dda@[ ]+@OC@\.w \[r2-32767\],r13 [ ]+302:[ ]+5f2d 0080 @IM+1dda@[ ]+@OC@\.w \[r2-32768\],r13 -[ ]+308:[ ]+6f2d ff7f ffff @IM+155a@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+308:[ ]+6f2d ff7f ffff @IM+155a@[ ]+@OC@\.w \[r2\+[^]]+\],r5 [ ]+310:[ ]+5f2d 0180 @IM+1dda@[ ]+@OC@\.w \[r2-32767\],r13 [ ]+316:[ ]+5f2d 0080 @IM+1dda@[ ]+@OC@\.w \[r2-32768\],r13 -[ ]+31c:[ ]+6f2d ff7f ffff @IM+155a@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+31c:[ ]+6f2d ff7f ffff @IM+155a@[ ]+@OC@\.w \[r2\+[^]]+\],r5 [ ]+324:[ ]+6f2d ffff 0000 @IM+155a@[ ]+@OC@\.w \[r2\+(65535|ffff )\],r5 [ ]+32c:[ ]+6f2d 0000 0000 @IM+155a@[ ]+@OC@\.w \[r2\+0( )?\],r5 [ ]+32e:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -211,10 +211,10 @@ Disassembly of section \.text: [ ]+388:[ ]+5f2d 68dd @IM+211a@[ ]+@OC@\.d \[r2-8856\],r1 [ ]+38e:[ ]+5f2d 9822 @IM+211a@[ ]+@OC@\.d \[r2\+8856\],r1 [ ]+394:[ ]+6f2d ac72 2a00 @IM+211a@[ ]+@OC@\.d \[r2\+(2781868|2a72ac )\],r1 -[ ]+39c:[ ]+6f2d d5c5 d6ff @IM+211a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\],r1 -[ ]+3a4:[ ]+6f2d acce c09e @IM+211a@[ ]+@OC@\.d \[r2\+(0x9ec0ceac|9ec0ceac )\],r1 -[ ]+3ac:[ ]+6f2d 5331 3f81 @IM+211a@[ ]+@OC@\.d \[r2\+(0x813f3153|813f3153 )\],r1 -[ ]+3b4:[ ]+6f2d 5331 3f81 @IM+211a@[ ]+@OC@\.d \[r2\+(0x813f3153|813f3153 )\],r1 +[ ]+39c:[ ]+6f2d d5c5 d6ff @IM+211a@[ ]+@OC@\.d \[r2\+[^]]+\],r1 +[ ]+3a4:[ ]+6f2d acce c09e @IM+211a@[ ]+@OC@\.d \[r2\+[^]]+\],r1 +[ ]+3ac:[ ]+6f2d 5331 3f81 @IM+211a@[ ]+@OC@\.d \[r2\+[^]]+\],r1 +[ ]+3b4:[ ]+6f2d 5331 3f81 @IM+211a@[ ]+@OC@\.d \[r2\+[^]]+\],r1 [ ]+3bc:[ ]+6f2d b5af 982e @IM+211a@[ ]+@OC@\.d \[r2\+(0x2e98afb5|2e98afb5 )\],r1 [ ]+3c4:[ ]+6f2d 2b45 941b @IM+211a@[ ]+@OC@\.d \[r2\+(0x1b94452b|1b94452b )\],r1 [ ]+3cc:[ ]+2a21 @IM+2dda@[ ]+@OC@\.d \[r2\+42\],r13 @@ -231,15 +231,15 @@ Disassembly of section \.text: [ ]+3fe:[ ]+6f2d 0180 0000 @IM+255a@[ ]+@OC@\.d \[r2\+(32769|8001 )\],r5 [ ]+406:[ ]+5f2d 0180 @IM+255a@[ ]+@OC@\.d \[r2-32767\],r5 [ ]+40c:[ ]+5f2d 0080 @IM+2dda@[ ]+@OC@\.d \[r2-32768\],r13 -[ ]+412:[ ]+6f2d ff7f ffff @IM+2dda@[ ]+@OC@\.d \[r2\+(0xffff7fff|ffff7fff )\],r13 +[ ]+412:[ ]+6f2d ff7f ffff @IM+2dda@[ ]+@OC@\.d \[r2\+[^]]+\],r13 [ ]+41a:[ ]+5f2d 0180 @IM+255a@[ ]+@OC@\.d \[r2-32767\],r5 [ ]+420:[ ]+5f2d 0080 @IM+2dda@[ ]+@OC@\.d \[r2-32768\],r13 -[ ]+426:[ ]+6f2d ff7f ffff @IM+2dda@[ ]+@OC@\.d \[r2\+(0xffff7fff|ffff7fff )\],r13 +[ ]+426:[ ]+6f2d ff7f ffff @IM+2dda@[ ]+@OC@\.d \[r2\+[^]]+\],r13 [ ]+42e:[ ]+6f2d ffff 0000 @IM+255a@[ ]+@OC@\.d \[r2\+(65535|ffff )\],r5 [ ]+436:[ ]+6f2d 0000 0100 @IM+2dda@[ ]+@OC@\.d \[r2\+(65536|10000 )\],r13 [ ]+43e:[ ]+6f2d 2b3a 2900 @IM+255a@[ ]+@OC@\.d \[r2\+(2701867|293a2b )\],r5 -[ ]+446:[ ]+6f2d d5c5 d6ff @IM+255a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\],r5 -[ ]+44e:[ ]+6f2d d5c5 d6ff @IM+255a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\],r5 +[ ]+446:[ ]+6f2d d5c5 d6ff @IM+255a@[ ]+@OC@\.d \[r2\+[^]]+\],r5 +[ ]+44e:[ ]+6f2d d5c5 d6ff @IM+255a@[ ]+@OC@\.d \[r2\+[^]]+\],r5 [ ]+456:[ ]+6f2d 0000 0000 @IM+255a@[ ]+@OC@\.d \[r2\+0( )?\],r5 [ ]+458:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+45e:[ ]+4205 @IM+085a@[ ]+@OC@\.b \[r2\+r0\.b\],r5,r8 @@ -327,10 +327,10 @@ Disassembly of section \.text: [ ]+5c6:[ ]+6f2d 0180 0000 @IM+18da@[ ]+@OC@\.w \[r2\+(32769|8001 )\],r13,r8 [ ]+5ce:[ ]+5f2d 0180 @IM+18da@[ ]+@OC@\.w \[r2-32767\],r13,r8 [ ]+5d4:[ ]+5f2d 0080 @IM+18da@[ ]+@OC@\.w \[r2-32768\],r13,r8 -[ ]+5da:[ ]+6f2d ff7f ffff @IM+185a@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff )\],r5,r8 +[ ]+5da:[ ]+6f2d ff7f ffff @IM+185a@[ ]+@OC@\.w \[r2\+[^]]+\],r5,r8 [ ]+5e2:[ ]+5f2d 0180 @IM+18da@[ ]+@OC@\.w \[r2-32767\],r13,r8 [ ]+5e8:[ ]+5f2d 0080 @IM+18da@[ ]+@OC@\.w \[r2-32768\],r13,r8 -[ ]+5ee:[ ]+6f2d ff7f ffff @IM+185a@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff )\],r5,r8 +[ ]+5ee:[ ]+6f2d ff7f ffff @IM+185a@[ ]+@OC@\.w \[r2\+[^]]+\],r5,r8 [ ]+5f6:[ ]+6f2d ffff 0000 @IM+185a@[ ]+@OC@\.w \[r2\+(65535|ffff )\],r5,r8 [ ]+5fe:[ ]+6f2d 0000 0000 @IM+185a@[ ]+@OC@\.w \[r2\+0( )?\],r5,r8 [ ]+600:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -354,10 +354,10 @@ Disassembly of section \.text: [ ]+65a:[ ]+5f2d 68dd @IM+281a@[ ]+@OC@\.d \[r2-8856\],r1,r8 [ ]+660:[ ]+5f2d 9822 @IM+281a@[ ]+@OC@\.d \[r2\+8856\],r1,r8 [ ]+666:[ ]+6f2d ac72 2a00 @IM+281a@[ ]+@OC@\.d \[r2\+(2781868|2a72ac )\],r1,r8 -[ ]+66e:[ ]+6f2d d5c5 d6ff @IM+281a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\],r1,r8 -[ ]+676:[ ]+6f2d acce c09e @IM+281a@[ ]+@OC@\.d \[r2\+(0x9ec0ceac|9ec0ceac )\],r1,r8 -[ ]+67e:[ ]+6f2d 5331 3f81 @IM+281a@[ ]+@OC@\.d \[r2\+(0x813f3153|813f3153 )\],r1,r8 -[ ]+686:[ ]+6f2d 5331 3f81 @IM+281a@[ ]+@OC@\.d \[r2\+(0x813f3153|813f3153 )\],r1,r8 +[ ]+66e:[ ]+6f2d d5c5 d6ff @IM+281a@[ ]+@OC@\.d \[r2\+[^]]+\],r1,r8 +[ ]+676:[ ]+6f2d acce c09e @IM+281a@[ ]+@OC@\.d \[r2\+[^]]+\],r1,r8 +[ ]+67e:[ ]+6f2d 5331 3f81 @IM+281a@[ ]+@OC@\.d \[r2\+[^]]+\],r1,r8 +[ ]+686:[ ]+6f2d 5331 3f81 @IM+281a@[ ]+@OC@\.d \[r2\+[^]]+\],r1,r8 [ ]+68e:[ ]+6f2d b5af 982e @IM+281a@[ ]+@OC@\.d \[r2\+(0x2e98afb5|2e98afb5 )\],r1,r8 [ ]+696:[ ]+6f2d 2b45 941b @IM+281a@[ ]+@OC@\.d \[r2\+(0x1b94452b|1b94452b )\],r1,r8 [ ]+69e:[ ]+2a21 @IM+28da@[ ]+@OC@\.d \[r2\+42\],r13,r8 @@ -374,15 +374,15 @@ Disassembly of section \.text: [ ]+6d0:[ ]+6f2d 0180 0000 @IM+285a@[ ]+@OC@\.d \[r2\+(32769|8001 )\],r5,r8 [ ]+6d8:[ ]+5f2d 0180 @IM+285a@[ ]+@OC@\.d \[r2-32767\],r5,r8 [ ]+6de:[ ]+5f2d 0080 @IM+28da@[ ]+@OC@\.d \[r2-32768\],r13,r8 -[ ]+6e4:[ ]+6f2d ff7f ffff @IM+28da@[ ]+@OC@\.d \[r2\+(0xffff7fff|ffff7fff )\],r13,r8 +[ ]+6e4:[ ]+6f2d ff7f ffff @IM+28da@[ ]+@OC@\.d \[r2\+[^]]+\],r13,r8 [ ]+6ec:[ ]+5f2d 0180 @IM+285a@[ ]+@OC@\.d \[r2-32767\],r5,r8 [ ]+6f2:[ ]+5f2d 0080 @IM+28da@[ ]+@OC@\.d \[r2-32768\],r13,r8 -[ ]+6f8:[ ]+6f2d ff7f ffff @IM+28da@[ ]+@OC@\.d \[r2\+(0xffff7fff|ffff7fff )\],r13,r8 +[ ]+6f8:[ ]+6f2d ff7f ffff @IM+28da@[ ]+@OC@\.d \[r2\+[^]]+\],r13,r8 [ ]+700:[ ]+6f2d ffff 0000 @IM+285a@[ ]+@OC@\.d \[r2\+(65535|ffff )\],r5,r8 [ ]+708:[ ]+6f2d 0000 0100 @IM+28da@[ ]+@OC@\.d \[r2\+(65536|10000 )\],r13,r8 [ ]+710:[ ]+6f2d 2b3a 2900 @IM+285a@[ ]+@OC@\.d \[r2\+(2701867|293a2b )\],r5,r8 -[ ]+718:[ ]+6f2d d5c5 d6ff @IM+285a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\],r5,r8 -[ ]+720:[ ]+6f2d d5c5 d6ff @IM+285a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\],r5,r8 +[ ]+718:[ ]+6f2d d5c5 d6ff @IM+285a@[ ]+@OC@\.d \[r2\+[^]]+\],r5,r8 +[ ]+720:[ ]+6f2d d5c5 d6ff @IM+285a@[ ]+@OC@\.d \[r2\+[^]]+\],r5,r8 [ ]+728:[ ]+6f2d 0000 0000 @IM+285a@[ ]+@OC@\.d \[r2\+0( )?\],r5,r8 [ ]+72a:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+730:[ ]+4205 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+r0\.b\],r5 @@ -470,10 +470,10 @@ Disassembly of section \.text: [ ]+898:[ ]+6f2d 0180 0000 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+(32769|8001 )\],r13 [ ]+8a0:[ ]+5f2d 0180 @IM+1cde@[ ]+@OC@\.w \[r12=r2-32767\],r13 [ ]+8a6:[ ]+5f2d 0080 @IM+1cde@[ ]+@OC@\.w \[r12=r2-32768\],r13 -[ ]+8ac:[ ]+6f2d ff7f ffff @IM+1c5e@[ ]+@OC@\.w \[r12=r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+8ac:[ ]+6f2d ff7f ffff @IM+1c5e@[ ]+@OC@\.w \[r12=r2\+[^]]+\],r5 [ ]+8b4:[ ]+5f2d 0180 @IM+1cde@[ ]+@OC@\.w \[r12=r2-32767\],r13 [ ]+8ba:[ ]+5f2d 0080 @IM+1cde@[ ]+@OC@\.w \[r12=r2-32768\],r13 -[ ]+8c0:[ ]+6f2d ff7f ffff @IM+1c5e@[ ]+@OC@\.w \[r12=r2\+(0xffff7fff|ffff7fff )\],r5 +[ ]+8c0:[ ]+6f2d ff7f ffff @IM+1c5e@[ ]+@OC@\.w \[r12=r2\+[^]]+\],r5 [ ]+8c8:[ ]+6f2d ffff 0000 @IM+1c5e@[ ]+@OC@\.w \[r12=r2\+(65535|ffff )\],r5 [ ]+8d0:[ ]+6f2d 0000 0000 @IM+1c5e@[ ]+@OC@\.w \[r12=r2\+0( )?\],r5 [ ]+8d2:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -497,10 +497,10 @@ Disassembly of section \.text: [ ]+92c:[ ]+5f2d 68dd @IM+2c1e@[ ]+@OC@\.d \[r12=r2-8856\],r1 [ ]+932:[ ]+5f2d 9822 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+8856\],r1 [ ]+938:[ ]+6f2d ac72 2a00 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(2781868|2a72ac )\],r1 -[ ]+940:[ ]+6f2d d5c5 d6ff @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\],r1 -[ ]+948:[ ]+6f2d acce c09e @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(0x9ec0ceac|9ec0ceac )\],r1 -[ ]+950:[ ]+6f2d 5331 3f81 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(0x813f3153|813f3153 )\],r1 -[ ]+958:[ ]+6f2d 5331 3f81 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(0x813f3153|813f3153 )\],r1 +[ ]+940:[ ]+6f2d d5c5 d6ff @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+[^]]+\],r1 +[ ]+948:[ ]+6f2d acce c09e @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+[^]]+\],r1 +[ ]+950:[ ]+6f2d 5331 3f81 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+[^]]+\],r1 +[ ]+958:[ ]+6f2d 5331 3f81 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+[^]]+\],r1 [ ]+960:[ ]+6f2d b5af 982e @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(0x2e98afb5|2e98afb5 )\],r1 [ ]+968:[ ]+6f2d 2b45 941b @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(0x1b94452b|1b94452b )\],r1 [ ]+970:[ ]+2a21 @IM+2cde@[ ]+@OC@\.d \[r12=r2\+42\],r13 @@ -517,15 +517,15 @@ Disassembly of section \.text: [ ]+9a2:[ ]+6f2d 0180 0000 @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+(32769|8001 )\],r5 [ ]+9aa:[ ]+5f2d 0180 @IM+2c5e@[ ]+@OC@\.d \[r12=r2-32767\],r5 [ ]+9b0:[ ]+5f2d 0080 @IM+2cde@[ ]+@OC@\.d \[r12=r2-32768\],r13 -[ ]+9b6:[ ]+6f2d ff7f ffff @IM+2cde@[ ]+@OC@\.d \[r12=r2\+(0xffff7fff|ffff7fff )\],r13 +[ ]+9b6:[ ]+6f2d ff7f ffff @IM+2cde@[ ]+@OC@\.d \[r12=r2\+[^]]+\],r13 [ ]+9be:[ ]+5f2d 0180 @IM+2c5e@[ ]+@OC@\.d \[r12=r2-32767\],r5 [ ]+9c4:[ ]+5f2d 0080 @IM+2cde@[ ]+@OC@\.d \[r12=r2-32768\],r13 -[ ]+9ca:[ ]+6f2d ff7f ffff @IM+2cde@[ ]+@OC@\.d \[r12=r2\+(0xffff7fff|ffff7fff )\],r13 +[ ]+9ca:[ ]+6f2d ff7f ffff @IM+2cde@[ ]+@OC@\.d \[r12=r2\+[^]]+\],r13 [ ]+9d2:[ ]+6f2d ffff 0000 @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+(65535|ffff )\],r5 [ ]+9da:[ ]+6f2d 0000 0100 @IM+2cde@[ ]+@OC@\.d \[r12=r2\+(65536|10000 )\],r13 [ ]+9e2:[ ]+6f2d 2b3a 2900 @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+(2701867|293a2b )\],r5 -[ ]+9ea:[ ]+6f2d d5c5 d6ff @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\],r5 -[ ]+9f2:[ ]+6f2d d5c5 d6ff @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\],r5 +[ ]+9ea:[ ]+6f2d d5c5 d6ff @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+[^]]+\],r5 +[ ]+9f2:[ ]+6f2d d5c5 d6ff @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+[^]]+\],r5 [ ]+9fa:[ ]+6f2d 0000 0000 @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+0( )?\],r5 [ ]+9fc:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+a02:[ ]+7309 @IM+055a@[ ]+@OC@\.b \[\[r3\]\],r5 @@ -565,5 +565,5 @@ Disassembly of section \.text: [ ]+a8a:[ ]+7f0d 0000 0000 @IM+297a@[ ]+@OC@\.d \[(0x0|0 )\],r7,r9 [ ]+a8c:[ ]+(R_CRIS_)?32[ ]+\.text -00000a92 : +0+a92 : \.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/bork.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/bork.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/bork.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/bork.d Sun May 27 11:35:15 2001 @@ -5,6 +5,6 @@ Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+0f05[ ]+nop[ ]* [ ]+\.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/branch.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/branch.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/branch.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/branch.d Sun May 27 11:35:15 2001 @@ -4,15 +4,15 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+0f05[ ]+nop[ ]* -00000002 : +0+2 : [ ]+2:[ ]+0f05[ ]+nop[ ]* ^[ ]+\.\.\. -00007e6a : +0+7e6a : [ ]+7e6a:[ ]+0f05[ ]+nop[ ]* ^[ ]+\.\.\. -00007f2e : +0+7f2e : [ ]+7f2e:[ ]+0f05[ ]+nop[ ]* [ ]+7f30:[ ]+fde0[ ]+ba[ ]+(0x7f2e|7f2e ) [ ]+7f32:[ ]+fb00[ ]+bcc[ ]+(0x7f2e|7f2e ) @@ -34,7 +34,7 @@ Disassembly of section \.text: [ ]+7f52:[ ]+db60[ ]+bpl[ ]+(0x7f2e|7f2e ) [ ]+7f54:[ ]+d940[ ]+bvc[ ]+(0x7f2e|7f2e ) [ ]+7f56:[ ]+d750[ ]+bvs[ ]+(0x7f2e|7f2e ) -00007f58 : +0+7f58 : [ ]+7f58:[ ]+0f05[ ]+nop[ ]* [ ]+7f5a:[ ]+0fe0[ ]+ba[ ]+(0x7e6a|7e6a ) [ ]+7f5c:[ ]+0d00[ ]+bcc[ ]+(0x7e6a|7e6a ) @@ -56,7 +56,7 @@ Disassembly of section \.text: [ ]+7f8e:[ ]+ff6d d8fe[ ]+bpl (0x7e6a|7e6a ) [ ]+7f92:[ ]+ff4d d4fe[ ]+bvc (0x7e6a|7e6a ) [ ]+7f96:[ ]+ff5d d0fe[ ]+bvs (0x7e6a|7e6a ) -00007f9a : +0+7f9a : [ ]+7f9a:[ ]+0f05[ ]+nop[ ]* [ ]+7f9c:[ ]+ffed cafe[ ]+ba (0x7e6a|7e6a ) [ ]+7fa0:[ ]+ff0d c6fe[ ]+bhs (0x7e6a|7e6a ) @@ -78,7 +78,7 @@ Disassembly of section \.text: [ ]+7fe0:[ ]+ff6d 86fe[ ]+bpl (0x7e6a|7e6a ) [ ]+7fe4:[ ]+ff4d 82fe[ ]+bvc (0x7e6a|7e6a ) [ ]+7fe8:[ ]+ff5d 7efe[ ]+bvs (0x7e6a|7e6a ) -00007fec : +0+7fec : [ ]+7fec:[ ]+0f05[ ]+nop[ ]* [ ]+7fee:[ ]+ffed 1080[ ]+ba (0x2|2 ) [ ]+7ff2:[ ]+ff0d 0c80[ ]+bhs (0x2|2 ) @@ -160,7 +160,7 @@ Disassembly of section \.text: [ ]+80ae:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 ) [ ]+80b0:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2 [ ]+80b4:[ ]+f950[ ]+bvs[ ]+(0x80ae|80ae ) -000080b6 : +0+80b6 : [ ]+80b6:[ ]+0f05[ ]+nop[ ]* [ ]+80b8:[ ]+08e0[ ]+ba[ ]+(0x80c2|80c2 ) [ ]+80ba:[ ]+0f05[ ]+nop[ ]* @@ -262,7 +262,7 @@ Disassembly of section \.text: [ ]+81a0:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 ) [ ]+81a2:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2 [ ]+81a6:[ ]+f950[ ]+bvs[ ]+(0x81a0|81a0 ) -000081a8 : +0+81a8 : [ ]+81a8:[ ]+0f05[ ]+nop[ ]* [ ]+81aa:[ ]+08e0[ ]+ba[ ]+(0x81b4|81b4 ) [ ]+81ac:[ ]+0f05[ ]+nop[ ]* @@ -364,7 +364,7 @@ Disassembly of section \.text: [ ]+8292:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 ) [ ]+8294:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344 [ ]+8298:[ ]+f950[ ]+bvs[ ]+(0x8292|8292 ) -0000829a : +0+829a : [ ]+829a:[ ]+0f05[ ]+nop[ ]* [ ]+829c:[ ]+08e0[ ]+ba[ ]+(0x82a6|82a6 ) [ ]+829e:[ ]+0f05[ ]+nop[ ]* @@ -442,7 +442,7 @@ Disassembly of section \.text: [ ]+8350:[ ]+ff6d f07f[ ]+bpl (0x[0]*10344|10344 ) [ ]+8354:[ ]+ff4d ec7f[ ]+bvc (0x[0]*10344|10344 ) [ ]+8358:[ ]+ff5d e87f[ ]+bvs (0x[0]*10344|10344 ) -0000835c : +0+835c : [ ]+835c:[ ]+0f05[ ]+nop[ ]* [ ]+835e:[ ]+ffed 7a01[ ]+ba (0x84dc|84dc ) [ ]+8362:[ ]+ff0d 7601[ ]+bhs (0x84dc|84dc ) @@ -464,7 +464,7 @@ Disassembly of section \.text: [ ]+83a2:[ ]+ff6d 3601[ ]+bpl (0x84dc|84dc ) [ ]+83a6:[ ]+ff4d 3201[ ]+bvc (0x84dc|84dc ) [ ]+83aa:[ ]+ff5d 2e01[ ]+bvs (0x84dc|84dc ) -000083ae : +0+83ae : [ ]+83ae:[ ]+0f05[ ]+nop[ ]* [ ]+83b0:[ ]+ffed 2801[ ]+ba (0x84dc|84dc ) [ ]+83b4:[ ]+ff0d 2401[ ]+bhs (0x84dc|84dc ) @@ -486,7 +486,7 @@ Disassembly of section \.text: [ ]+83e8:[ ]+f260[ ]+bpl[ ]+(0x84dc|84dc ) [ ]+83ea:[ ]+f040[ ]+bvc[ ]+(0x84dc|84dc ) [ ]+83ec:[ ]+ee50[ ]+bvs[ ]+(0x84dc|84dc ) -000083ee : +0+83ee : [ ]+83ee:[ ]+28e0[ ]+ba[ ]+(0x8418|8418 ) [ ]+83f0:[ ]+2600[ ]+bcc[ ]+(0x8418|8418 ) [ ]+83f2:[ ]+2410[ ]+bcs[ ]+(0x8418|8418 ) @@ -508,12 +508,12 @@ Disassembly of section \.text: [ ]+8412:[ ]+0440[ ]+bvc[ ]+(0x8418|8418 ) [ ]+8414:[ ]+0250[ ]+bvs[ ]+(0x8418|8418 ) [ ]+8416:[ ]+0f05[ ]+nop[ ]* -00008418 : +0+8418 : [ ]+8418:[ ]+0f05[ ]+nop[ ]* ^[ ]+\.\.\. -000084dc : +0+84dc : [ ]+84dc:[ ]+0f05[ ]+nop[ ]* ^[ ]+\.\.\. -00010344 : +0+10344 : [ ]+10344:[ ]+0f05[ ]+nop[ ]* ^[ ]+\.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/break.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/break.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/break.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/break.d Sun May 27 11:35:15 2001 @@ -4,7 +4,7 @@ .*:[ ]+file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+32e9[ ]+break[ ]+2 [ ]+2:[ ]+30e9[ ]+break[ ]+0 [ ]+4:[ ]+31e9[ ]+break[ ]+1 @@ -23,5 +23,5 @@ Disassembly of section \.text: [ ]+1e:[ ]+3ee9[ ]+break[ ]+14 [ ]+20:[ ]+3fe9[ ]+break[ ]+15 -00000022 : +0+22 : \.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/brokw-1.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/brokw-1.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/brokw-1.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/brokw-1.d Sun May 27 11:35:15 2001 @@ -4,7 +4,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+4002[ ]+moveq[ ]+0,r0 [ ]+2:[ ]+0c00[ ]+bcc[ ]+(0x10|10 ) [ ]+4:[ ]+4102[ ]+moveq[ ]+1,r0 @@ -13,8 +13,8 @@ Disassembly of section \.text: [ ]+a:[ ]+0f05[ ]+nop[ ]* [ ]+c:[ ]+3f0d 1280 0000[ ]+jump[ ]+(0x8012|8012 ) [ ]+e:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8012 -00000012 : +0+12 : [ ]+12:[ ]+4202[ ]+moveq[ ]+2,r0 ^[ ]+\.\.\. -00008012 : +0+8012 : [ ]+8012:[ ]+4302[ ]+moveq[ ]+3,r0 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/brokw-2.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/brokw-2.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/brokw-2.d Fri Apr 6 15:33:22 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/brokw-2.d Sun May 27 11:35:15 2001 @@ -3,7 +3,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+4002[ ]+moveq[ ]+0,r0 [ ]+2:[ ]+1400[ ]+bcc[ ]+(0x18|18 ) [ ]+4:[ ]+0e00[ ]+bcc[ ]+(0x14|14 ) @@ -15,11 +15,11 @@ Disassembly of section \.text: [ ]+10:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*801c [ ]+14:[ ]+3f0d 1a80 0000[ ]+jump[ ]+(0x801a|801a ) [ ]+16:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*801a -0000001a : +0+1a : [ ]+1a:[ ]+4202[ ]+moveq[ ]+2,r0 ^[ ]+\.\.\. -0000801a : +0+801a : [ ]+801a:[ ]+4302[ ]+moveq[ ]+3,r0 -0000801c : +0+801c : [ ]+801c:[ ]+4402[ ]+moveq[ ]+4,r0 ^[ ]+\.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/brokw-3.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/brokw-3.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/brokw-3.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/brokw-3.d Sun May 27 11:35:15 2001 @@ -3,12 +3,12 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+4002[ ]+moveq[ ]+0,r0 [ ]+2:[ ]+af0c 5700[ ]+subs\.b 87,r0 [ ]+6:[ ]+cf0d 2900[ ]+bound\.b 0x29,r0 [ ]+a:[ ]+5f05 3ff8[ ]+adds\.w \[pc\+r0\.w\],pc -0000000e : +0+e : [ ]+e:[ ]+6201[ ]+case 87: -> (0x)?170( <.*)? [ ]+10:[ ]+5c01[ ]+case 88: -> (0x)?16a( <.*)? [ ]+12:[ ]+5601[ ]+case 89: -> (0x)?164( <.*)? @@ -139,90 +139,90 @@ Disassembly of section \.text: [ ]+16c:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*817a [ ]+170:[ ]+3f0d 7881 0000[ ]+jump[ ]+(0x8178|8178 ) [ ]+172:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8178 -00000176 : +0+176 : [ ]+176:[ ]+4202[ ]+moveq[ ]+2,r0 ^[ ]+\.\.\. -00008178 : +0+8178 : [ ]+8178:[ ]+7d02[ ]+moveq[ ]+-3,r0 -0000817a : +0+817a : [ ]+817a:[ ]+4302[ ]+moveq[ ]+3,r0 -0000817c : +0+817c : [ ]+817c:[ ]+4402[ ]+moveq[ ]+4,r0 -0000817e : +0+817e : [ ]+817e:[ ]+4502[ ]+moveq[ ]+5,r0 -00008180 : +0+8180 : [ ]+8180:[ ]+4602[ ]+moveq[ ]+6,r0 -00008182 : +0+8182 : [ ]+8182:[ ]+4702[ ]+moveq[ ]+7,r0 -00008184 : +0+8184 : [ ]+8184:[ ]+4802[ ]+moveq[ ]+8,r0 -00008186 : +0+8186 : [ ]+8186:[ ]+4902[ ]+moveq[ ]+9,r0 -00008188 : +0+8188 : [ ]+8188:[ ]+4a02[ ]+moveq[ ]+10,r0 -0000818a : +0+818a : [ ]+818a:[ ]+4b02[ ]+moveq[ ]+11,r0 -0000818c : +0+818c : [ ]+818c:[ ]+4c02[ ]+moveq[ ]+12,r0 -0000818e : +0+818e : [ ]+818e:[ ]+4d02[ ]+moveq[ ]+13,r0 -00008190 : +0+8190 : [ ]+8190:[ ]+4e02[ ]+moveq[ ]+14,r0 -00008192 : +0+8192 : [ ]+8192:[ ]+4f02[ ]+moveq[ ]+15,r0 -00008194 : +0+8194 : [ ]+8194:[ ]+5002[ ]+moveq[ ]+16,r0 -00008196 : +0+8196 : [ ]+8196:[ ]+5102[ ]+moveq[ ]+17,r0 -00008198 : +0+8198 : [ ]+8198:[ ]+5202[ ]+moveq[ ]+18,r0 -0000819a : +0+819a : [ ]+819a:[ ]+5302[ ]+moveq[ ]+19,r0 -0000819c : +0+819c : [ ]+819c:[ ]+5402[ ]+moveq[ ]+20,r0 -0000819e : +0+819e : [ ]+819e:[ ]+5502[ ]+moveq[ ]+21,r0 -000081a0 : +0+81a0 : [ ]+81a0:[ ]+5602[ ]+moveq[ ]+22,r0 -000081a2 : +0+81a2 : [ ]+81a2:[ ]+5702[ ]+moveq[ ]+23,r0 -000081a4 : +0+81a4 : [ ]+81a4:[ ]+5802[ ]+moveq[ ]+24,r0 -000081a6 : +0+81a6 : [ ]+81a6:[ ]+5902[ ]+moveq[ ]+25,r0 -000081a8 : +0+81a8 : [ ]+81a8:[ ]+5a02[ ]+moveq[ ]+26,r0 -000081aa : +0+81aa : [ ]+81aa:[ ]+5b02[ ]+moveq[ ]+27,r0 -000081ac : +0+81ac : [ ]+81ac:[ ]+5c02[ ]+moveq[ ]+28,r0 -000081ae : +0+81ae : [ ]+81ae:[ ]+5d02[ ]+moveq[ ]+29,r0 -000081b0 : +0+81b0 : [ ]+81b0:[ ]+5e02[ ]+moveq[ ]+30,r0 -000081b2 : +0+81b2 : [ ]+81b2:[ ]+5f02[ ]+moveq[ ]+31,r0 -000081b4 : +0+81b4 : [ ]+81b4:[ ]+6002[ ]+moveq[ ]+-32,r0 -000081b6 : +0+81b6 : [ ]+81b6:[ ]+6102[ ]+moveq[ ]+-31,r0 -000081b8 : +0+81b8 : [ ]+81b8:[ ]+6202[ ]+moveq[ ]+-30,r0 -000081ba : +0+81ba : [ ]+81ba:[ ]+6302[ ]+moveq[ ]+-29,r0 -000081bc : +0+81bc : [ ]+81bc:[ ]+6402[ ]+moveq[ ]+-28,r0 -000081be : +0+81be : [ ]+81be:[ ]+6502[ ]+moveq[ ]+-27,r0 -000081c0 : +0+81c0 : [ ]+81c0:[ ]+6602[ ]+moveq[ ]+-26,r0 -000081c2 : +0+81c2 : [ ]+81c2:[ ]+6702[ ]+moveq[ ]+-25,r0 -000081c4 : +0+81c4 : [ ]+81c4:[ ]+6802[ ]+moveq[ ]+-24,r0 -000081c6 : +0+81c6 : [ ]+81c6:[ ]+6902[ ]+moveq[ ]+-23,r0 -000081c8 : +0+81c8 : [ ]+81c8:[ ]+6a02[ ]+moveq[ ]+-22,r0 -000081ca : +0+81ca : [ ]+81ca:[ ]+6b02[ ]+moveq[ ]+-21,r0 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/ccr.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/ccr.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/ccr.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/ccr.d Sun May 27 11:35:15 2001 @@ -4,7 +4,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+0f05[ ]+nop[ ]* [ ]+2:[ ]+b015[ ]+ax[ ]* [ ]+4:[ ]+bff5[ ]+setf[ ]+cvznxi[be][dm] diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/clear.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/clear.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/clear.d Fri Apr 6 15:33:24 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/clear.d Sun May 27 11:35:15 2001 @@ -6,11 +6,11 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0: 0000[ ]+ bcc ( 0x2|\.\+2) \.\.\. -00000004 : +0+4 : [ ]+4:[ ]+7306[ ]+clear\.b r3 [ ]+6:[ ]+7546[ ]+clear\.w r5 [ ]+8:[ ]+7a86[ ]+clear\.d r10 @@ -99,10 +99,10 @@ Disassembly of section \.text: [ ]+166:[ ]+6f2d 0180 0000 704a[ ]+clear\.w \[r2\+(32769|8001 )\] [ ]+16e:[ ]+5f2d 0180 704a[ ]+clear\.w \[r2-32767\] [ ]+174:[ ]+5f2d 0080 704a[ ]+clear\.w \[r2-32768\] -[ ]+17a:[ ]+6f2d ff7f ffff 704a[ ]+clear\.w \[r2\+(0xffff7fff|ffff7fff )\] +[ ]+17a:[ ]+6f2d ff7f ffff 704a[ ]+clear\.w \[r2\+[^]]+\] [ ]+182:[ ]+5f2d 0180 704a[ ]+clear\.w \[r2-32767\] [ ]+188:[ ]+5f2d 0080 704a[ ]+clear\.w \[r2-32768\] -[ ]+18e:[ ]+6f2d ff7f ffff 704a[ ]+clear\.w \[r2\+(0xffff7fff|ffff7fff )\] +[ ]+18e:[ ]+6f2d ff7f ffff 704a[ ]+clear\.w \[r2\+[^]]+\] [ ]+196:[ ]+6f2d ffff 0000 704a[ ]+clear\.w \[r2\+(65535|ffff )\] [ ]+19e:[ ]+6f2d 0000 0000 704a[ ]+clear\.w \[r2\+0( )?\] [ ]+1a0:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -126,10 +126,10 @@ Disassembly of section \.text: [ ]+1fa:[ ]+5f2d 68dd 708a[ ]+clear\.d \[r2-8856\] [ ]+200:[ ]+5f2d 9822 708a[ ]+clear\.d \[r2\+8856\] [ ]+206:[ ]+6f2d ac72 2a00 708a[ ]+clear\.d \[r2\+(2781868|2a72ac )\] -[ ]+20e:[ ]+6f2d d5c5 d6ff 708a[ ]+clear\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+216:[ ]+6f2d acce c09e 708a[ ]+clear\.d \[r2\+(0x9ec0ceac|9ec0ceac )\] -[ ]+21e:[ ]+6f2d 5331 3f81 708a[ ]+clear\.d \[r2\+(0x813f3153|813f3153 )\] -[ ]+226:[ ]+6f2d 5331 3f81 708a[ ]+clear\.d \[r2\+(0x813f3153|813f3153 )\] +[ ]+20e:[ ]+6f2d d5c5 d6ff 708a[ ]+clear\.d \[r2\+[^]]+\] +[ ]+216:[ ]+6f2d acce c09e 708a[ ]+clear\.d \[r2\+[^]]+\] +[ ]+21e:[ ]+6f2d 5331 3f81 708a[ ]+clear\.d \[r2\+[^]]+\] +[ ]+226:[ ]+6f2d 5331 3f81 708a[ ]+clear\.d \[r2\+[^]]+\] [ ]+22e:[ ]+6f2d b5af 982e 708a[ ]+clear\.d \[r2\+(0x2e98afb5|2e98afb5 )\] [ ]+236:[ ]+6f2d 2b45 941b 708a[ ]+clear\.d \[r2\+(0x1b94452b|1b94452b )\] [ ]+23e:[ ]+2a21 708a[ ]+clear\.d \[r2\+42\] @@ -146,15 +146,15 @@ Disassembly of section \.text: [ ]+270:[ ]+6f2d 0180 0000 708a[ ]+clear\.d \[r2\+(32769|8001 )\] [ ]+278:[ ]+5f2d 0180 708a[ ]+clear\.d \[r2-32767\] [ ]+27e:[ ]+5f2d 0080 708a[ ]+clear\.d \[r2-32768\] -[ ]+284:[ ]+6f2d ff7f ffff 708a[ ]+clear\.d \[r2\+(0xffff7fff|ffff7fff )\] +[ ]+284:[ ]+6f2d ff7f ffff 708a[ ]+clear\.d \[r2\+[^]]+\] [ ]+28c:[ ]+5f2d 0180 708a[ ]+clear\.d \[r2-32767\] [ ]+292:[ ]+5f2d 0080 708a[ ]+clear\.d \[r2-32768\] -[ ]+298:[ ]+6f2d ff7f ffff 708a[ ]+clear\.d \[r2\+(0xffff7fff|ffff7fff )\] +[ ]+298:[ ]+6f2d ff7f ffff 708a[ ]+clear\.d \[r2\+[^]]+\] [ ]+2a0:[ ]+6f2d ffff 0000 708a[ ]+clear\.d \[r2\+(65535|ffff )\] [ ]+2a8:[ ]+6f2d 0000 0100 708a[ ]+clear\.d \[r2\+(65536|10000 )\] [ ]+2b0:[ ]+6f2d 2b3a 2900 708a[ ]+clear\.d \[r2\+(2701867|293a2b )\] -[ ]+2b8:[ ]+6f2d d5c5 d6ff 708a[ ]+clear\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+2c0:[ ]+6f2d d5c5 d6ff 708a[ ]+clear\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\] +[ ]+2b8:[ ]+6f2d d5c5 d6ff 708a[ ]+clear\.d \[r2\+[^]]+\] +[ ]+2c0:[ ]+6f2d d5c5 d6ff 708a[ ]+clear\.d \[r2\+[^]]+\] [ ]+2c8:[ ]+6f2d 0000 0000 708a[ ]+clear\.d \[r2\+0( )?\] [ ]+2ca:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+2d0:[ ]+4205 7c0e[ ]+clear\.b \[r12=r2\+r0\.b\] @@ -242,10 +242,10 @@ Disassembly of section \.text: [ ]+438:[ ]+6f2d 0180 0000 7c4e[ ]+clear\.w \[r12=r2\+(32769|8001 )\] [ ]+440:[ ]+5f2d 0180 7c4e[ ]+clear\.w \[r12=r2-32767\] [ ]+446:[ ]+5f2d 0080 7c4e[ ]+clear\.w \[r12=r2-32768\] -[ ]+44c:[ ]+6f2d ff7f ffff 7c4e[ ]+clear\.w \[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+44c:[ ]+6f2d ff7f ffff 7c4e[ ]+clear\.w \[r12=r2\+[^]]+\] [ ]+454:[ ]+5f2d 0180 7c4e[ ]+clear\.w \[r12=r2-32767\] [ ]+45a:[ ]+5f2d 0080 7c4e[ ]+clear\.w \[r12=r2-32768\] -[ ]+460:[ ]+6f2d ff7f ffff 7c4e[ ]+clear\.w \[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+460:[ ]+6f2d ff7f ffff 7c4e[ ]+clear\.w \[r12=r2\+[^]]+\] [ ]+468:[ ]+6f2d ffff 0000 7c4e[ ]+clear\.w \[r12=r2\+(65535|ffff )\] [ ]+470:[ ]+6f2d 0000 0000 7c4e[ ]+clear\.w \[r12=r2\+0( )?\] [ ]+472:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -269,10 +269,10 @@ Disassembly of section \.text: [ ]+4cc:[ ]+5f2d 68dd 7c8e[ ]+clear\.d \[r12=r2-8856\] [ ]+4d2:[ ]+5f2d 9822 7c8e[ ]+clear\.d \[r12=r2\+8856\] [ ]+4d8:[ ]+6f2d ac72 2a00 7c8e[ ]+clear\.d \[r12=r2\+(2781868|2a72ac )\] -[ ]+4e0:[ ]+6f2d d5c5 d6ff 7c8e[ ]+clear\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+4e8:[ ]+6f2d acce c09e 7c8e[ ]+clear\.d \[r12=r2\+(0x9ec0ceac|9ec0ceac )\] -[ ]+4f0:[ ]+6f2d 5331 3f81 7c8e[ ]+clear\.d \[r12=r2\+(0x813f3153|813f3153 )\] -[ ]+4f8:[ ]+6f2d 5331 3f81 7c8e[ ]+clear\.d \[r12=r2\+(0x813f3153|813f3153 )\] +[ ]+4e0:[ ]+6f2d d5c5 d6ff 7c8e[ ]+clear\.d \[r12=r2\+[^]]+\] +[ ]+4e8:[ ]+6f2d acce c09e 7c8e[ ]+clear\.d \[r12=r2\+[^]]+\] +[ ]+4f0:[ ]+6f2d 5331 3f81 7c8e[ ]+clear\.d \[r12=r2\+[^]]+\] +[ ]+4f8:[ ]+6f2d 5331 3f81 7c8e[ ]+clear\.d \[r12=r2\+[^]]+\] [ ]+500:[ ]+6f2d b5af 982e 7c8e[ ]+clear\.d \[r12=r2\+(0x2e98afb5|2e98afb5 )\] [ ]+508:[ ]+6f2d 2b45 941b 7c8e[ ]+clear\.d \[r12=r2\+(0x1b94452b|1b94452b )\] [ ]+510:[ ]+2a21 7c8e[ ]+clear\.d \[r12=r2\+42\] @@ -289,15 +289,15 @@ Disassembly of section \.text: [ ]+542:[ ]+6f2d 0180 0000 7c8e[ ]+clear\.d \[r12=r2\+(32769|8001 )\] [ ]+54a:[ ]+5f2d 0180 7c8e[ ]+clear\.d \[r12=r2-32767\] [ ]+550:[ ]+5f2d 0080 7c8e[ ]+clear\.d \[r12=r2-32768\] -[ ]+556:[ ]+6f2d ff7f ffff 7c8e[ ]+clear\.d \[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+556:[ ]+6f2d ff7f ffff 7c8e[ ]+clear\.d \[r12=r2\+[^]]+\] [ ]+55e:[ ]+5f2d 0180 7c8e[ ]+clear\.d \[r12=r2-32767\] [ ]+564:[ ]+5f2d 0080 7c8e[ ]+clear\.d \[r12=r2-32768\] -[ ]+56a:[ ]+6f2d ff7f ffff 7c8e[ ]+clear\.d \[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+56a:[ ]+6f2d ff7f ffff 7c8e[ ]+clear\.d \[r12=r2\+[^]]+\] [ ]+572:[ ]+6f2d ffff 0000 7c8e[ ]+clear\.d \[r12=r2\+(65535|ffff )\] [ ]+57a:[ ]+6f2d 0000 0100 7c8e[ ]+clear\.d \[r12=r2\+(65536|10000 )\] [ ]+582:[ ]+6f2d 2b3a 2900 7c8e[ ]+clear\.d \[r12=r2\+(2701867|293a2b )\] -[ ]+58a:[ ]+6f2d d5c5 d6ff 7c8e[ ]+clear\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+592:[ ]+6f2d d5c5 d6ff 7c8e[ ]+clear\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] +[ ]+58a:[ ]+6f2d d5c5 d6ff 7c8e[ ]+clear\.d \[r12=r2\+[^]]+\] +[ ]+592:[ ]+6f2d d5c5 d6ff 7c8e[ ]+clear\.d \[r12=r2\+[^]]+\] [ ]+59a:[ ]+6f2d 0000 0000 7c8e[ ]+clear\.d \[r12=r2\+0( )?\] [ ]+59c:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+5a2:[ ]+7309 700a[ ]+clear\.b \[\[r3\]\] @@ -319,5 +319,5 @@ Disassembly of section \.text: [ ]+5e2:[ ]+7f0d 0000 0000 708a[ ]+clear\.d \[(0x0|0 )\] [ ]+5e4:[ ]+(R_CRIS_)?32[ ]+\.text -000005ea : +0+5ea : \.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/continue.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/continue.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/continue.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/continue.d Sun May 27 11:35:16 2001 @@ -5,6 +5,6 @@ Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+e87b[ ]+move.d r7,\[r8\] [ ]+2:[ ]+e89b[ ]+move.d r9,\[r8\] diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/fragtest.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/fragtest.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/fragtest.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/fragtest.d Sun May 27 11:35:16 2001 @@ -3,25 +3,25 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+fee0[ ]+ba[ ]+(0x[0]?100|100 ) [ ]+2:[ ]+0f05[ ]+nop[ ]* ^[ ]+\.\.\. [ ]+80:[ ]+e2e0[ ]+ba[ ]+(0x[0]?164|164 ) ^[ ]+82:[ ]+0f05[ ]+nop[ ]* ^[ ]+\.\.\. -00000100 : +0+100 : ^[ ]+\.\.\. -00000164 : +0+164 : [ ]+164:[ ]+ffed 0001[ ]+ba (0x[0]?268|268 ) [ ]+168:[ ]+0f05[ ]+nop[ ]* ^[ ]+\.\.\. [ ]+1e6:[ ]+ffed 6604[ ]+ba (0x[0]?650|650 ) [ ]+1ea:[ ]+0f05[ ]+nop[ ]* ^[ ]+\.\.\. -00000268 : +0+268 : ^[ ]+\.\.\. -00000650 : +0+650 : [ ]+650:[ ]+ffed 0801[ ]+ba (0x[0]?75c|75c ) [ ]+654:[ ]+0f05[ ]+nop[ ]* ^[ ]+\.\.\. @@ -32,9 +32,9 @@ Disassembly of section \.text: [ ]+6dc:[ ]+f9e0[ ]+ba[ ]+(0x[0]?6d6|6d6 ) [ ]+6de:[ ]+0f05[ ]+nop[ ]* ^[ ]+\.\.\. -0000075c : +0+75c : ^[ ]+\.\.\. -00008844 : +0+8844 : ^[ ]+\.\.\. [ ]+88c0:[ ]+fee0[ ]+ba[ ]+(0x89c0|89c0 ) [ ]+88c2:[ ]+0f05[ ]+nop[ ]* @@ -43,7 +43,7 @@ Disassembly of section \.text: [ ]+8942:[ ]+01e0[ ]+ba[ ]+(0x8844|8844 ) [ ]+8944:[ ]+0f05[ ]+nop[ ]* ^[ ]+\.\.\. -000089c0 : +0+89c0 : ^[ ]+\.\.\. [ ]+8a3c:[ ]+ffed 0201[ ]+ba (0x8b42|8b42 ) [ ]+8a40:[ ]+0f05[ ]+nop[ ]* @@ -52,7 +52,7 @@ Disassembly of section \.text: [ ]+8ac0:[ ]+ffed fcfe[ ]+ba (0x89c0|89c0 ) [ ]+8ac4:[ ]+0f05[ ]+nop[ ]* ^[ ]+\.\.\. -00008b42 : +0+8b42 : ^[ ]+\.\.\. [ ]+8bbe:[ ]+0000[ ]+bcc[ ]+.* [ ]+8bc0:[ ]+ffed 0001[ ]+ba (0x8cc4|8cc4 ) diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/jump-type.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/jump-type.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/jump-type.d Fri Apr 6 15:33:24 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/jump-type.d Sun May 27 11:35:16 2001 @@ -6,11 +6,11 @@ .*:[ ]+file format .*-cris Disassembly of section \.text: -00000000 : +0+ : 0: 0000[ ]+ bcc ( 0x2|\.\+2) \.\.\. -00000004 : +0+4 : [ ]+4:[ ]+@IM+b7b9@[ ]+@OC@[ ]+r7 [ ]+6:[ ]+@IM+b6b9@[ ]+@OC@[ ]+r6 [ ]+8:[ ]+@IM+30b9@[ ]+@OC@[ ]+\[r0\] @@ -55,10 +55,10 @@ Disassembly of section \.text: [ ]+ac:[ ]+5f2d 68dd @IM+30b9@[ ]+@OC@[ ]+\[r2-8856\] [ ]+b2:[ ]+5f2d 9822 @IM+30b9@[ ]+@OC@[ ]+\[r2\+8856\] [ ]+b8:[ ]+6f2d ac72 2a00 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(2781868|2a72ac )\] -[ ]+c0:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+c8:[ ]+6f2d acce c09e @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x9ec0ceac|9ec0ceac )\] -[ ]+d0:[ ]+6f2d 5331 3f81 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 )\] -[ ]+d8:[ ]+6f2d 5331 3f81 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 )\] +[ ]+c0:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+c8:[ ]+6f2d acce c09e @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+d0:[ ]+6f2d 5331 3f81 @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+d8:[ ]+6f2d 5331 3f81 @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+e0:[ ]+6f2d b5af 982e @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x2e98afb5|2e98afb5 )\] [ ]+e8:[ ]+6f2d 2b45 941b @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x1b94452b|1b94452b )\] [ ]+f0:[ ]+2a21 @IM+30b9@[ ]+@OC@[ ]+\[r2\+42\] @@ -75,15 +75,15 @@ Disassembly of section \.text: [ ]+122:[ ]+6f2d 0180 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(32769|8001 )\] [ ]+12a:[ ]+5f2d 0180 @IM+30b9@[ ]+@OC@[ ]+\[r2-32767\] [ ]+130:[ ]+5f2d 0080 @IM+30b9@[ ]+@OC@[ ]+\[r2-32768\] -[ ]+136:[ ]+6f2d ff7f ffff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff )\] +[ ]+136:[ ]+6f2d ff7f ffff @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+13e:[ ]+5f2d 0180 @IM+30b9@[ ]+@OC@[ ]+\[r2-32767\] [ ]+144:[ ]+5f2d 0080 @IM+30b9@[ ]+@OC@[ ]+\[r2-32768\] -[ ]+14a:[ ]+6f2d ff7f ffff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff )\] +[ ]+14a:[ ]+6f2d ff7f ffff @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+152:[ ]+6f2d ffff 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(65535|ffff )\] [ ]+15a:[ ]+6f2d 0000 0100 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(65536|10000 )\] [ ]+162:[ ]+6f2d 2b3a 2900 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(2701867|293a2b )\] -[ ]+16a:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+172:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\] +[ ]+16a:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+172:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+17a:[ ]+6f2d 0000 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+0( )?\] [ ]+17c:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+182:[ ]+0021 @IM+30b9@[ ]+@OC@[ ]+\[r2\+0\] @@ -106,10 +106,10 @@ Disassembly of section \.text: [ ]+1d6:[ ]+5f2d 68dd @IM+30b9@[ ]+@OC@[ ]+\[r2-8856\] [ ]+1dc:[ ]+5f2d 9822 @IM+30b9@[ ]+@OC@[ ]+\[r2\+8856\] [ ]+1e2:[ ]+6f2d ac72 2a00 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(2781868|2a72ac )\] -[ ]+1ea:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+1f2:[ ]+6f2d acce c09e @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x9ec0ceac|9ec0ceac )\] -[ ]+1fa:[ ]+6f2d 5331 3f81 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 )\] -[ ]+202:[ ]+6f2d 5331 3f81 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 )\] +[ ]+1ea:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+1f2:[ ]+6f2d acce c09e @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+1fa:[ ]+6f2d 5331 3f81 @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+202:[ ]+6f2d 5331 3f81 @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+20a:[ ]+6f2d b5af 982e @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x2e98afb5|2e98afb5 )\] [ ]+212:[ ]+6f2d 2b45 941b @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x1b94452b|1b94452b )\] [ ]+21a:[ ]+2a21 @IM+30b9@[ ]+@OC@[ ]+\[r2\+42\] @@ -126,15 +126,15 @@ Disassembly of section \.text: [ ]+24c:[ ]+6f2d 0180 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(32769|8001 )\] [ ]+254:[ ]+5f2d 0180 @IM+30b9@[ ]+@OC@[ ]+\[r2-32767\] [ ]+25a:[ ]+5f2d 0080 @IM+30b9@[ ]+@OC@[ ]+\[r2-32768\] -[ ]+260:[ ]+6f2d ff7f ffff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff )\] +[ ]+260:[ ]+6f2d ff7f ffff @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+268:[ ]+5f2d 0180 @IM+30b9@[ ]+@OC@[ ]+\[r2-32767\] [ ]+26e:[ ]+5f2d 0080 @IM+30b9@[ ]+@OC@[ ]+\[r2-32768\] -[ ]+274:[ ]+6f2d ff7f ffff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff )\] +[ ]+274:[ ]+6f2d ff7f ffff @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+27c:[ ]+6f2d ffff 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(65535|ffff )\] [ ]+284:[ ]+6f2d 0000 0100 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(65536|10000 )\] [ ]+28c:[ ]+6f2d 2b3a 2900 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(2701867|293a2b )\] -[ ]+294:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+29c:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\] +[ ]+294:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+29c:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+2a4:[ ]+6f2d 0000 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+0( )?\] [ ]+2a6:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+2ac:[ ]+4235 @IM+31bd@[ ]+@OC@[ ]+\[r1=r2\+r3\.b\] @@ -175,10 +175,10 @@ Disassembly of section \.text: [ ]+348:[ ]+5f2d 68dd @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-8856\] [ ]+34e:[ ]+5f2d 9822 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+8856\] [ ]+354:[ ]+6f2d ac72 2a00 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(2781868|2a72ac )\] -[ ]+35c:[ ]+6f2d d5c5 d6ff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+364:[ ]+6f2d acce c09e @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0x9ec0ceac|9ec0ceac )\] -[ ]+36c:[ ]+6f2d 5331 3f81 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0x813f3153|813f3153 )\] -[ ]+374:[ ]+6f2d 5331 3f81 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0x813f3153|813f3153 )\] +[ ]+35c:[ ]+6f2d d5c5 d6ff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] +[ ]+364:[ ]+6f2d acce c09e @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] +[ ]+36c:[ ]+6f2d 5331 3f81 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] +[ ]+374:[ ]+6f2d 5331 3f81 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] [ ]+37c:[ ]+6f2d b5af 982e @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0x2e98afb5|2e98afb5 )\] [ ]+384:[ ]+6f2d 2b45 941b @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0x1b94452b|1b94452b )\] [ ]+38c:[ ]+2a21 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+42\] @@ -195,15 +195,15 @@ Disassembly of section \.text: [ ]+3be:[ ]+6f2d 0180 0000 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(32769|8001 )\] [ ]+3c6:[ ]+5f2d 0180 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-32767\] [ ]+3cc:[ ]+5f2d 0080 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-32768\] -[ ]+3d2:[ ]+6f2d ff7f ffff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+3d2:[ ]+6f2d ff7f ffff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] [ ]+3da:[ ]+5f2d 0180 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-32767\] [ ]+3e0:[ ]+5f2d 0080 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-32768\] -[ ]+3e6:[ ]+6f2d ff7f ffff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+3e6:[ ]+6f2d ff7f ffff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] [ ]+3ee:[ ]+6f2d ffff 0000 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(65535|ffff )\] [ ]+3f6:[ ]+6f2d 0000 0100 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(65536|10000 )\] [ ]+3fe:[ ]+6f2d 2b3a 2900 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(2701867|293a2b )\] -[ ]+406:[ ]+6f2d d5c5 d6ff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+40e:[ ]+6f2d d5c5 d6ff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] +[ ]+406:[ ]+6f2d d5c5 d6ff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] +[ ]+40e:[ ]+6f2d d5c5 d6ff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] [ ]+416:[ ]+6f2d 0000 0000 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+0( )?\] [ ]+418:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+41e:[ ]+7209 @IM+30b9@[ ]+@OC@[ ]+\[\[r2\]\] @@ -215,5 +215,5 @@ Disassembly of section \.text: [ ]+436:[ ]+7f0d 0000 0000 @IM+30b9@[ ]+@OC@[ ]+\[(0x0|0 )\] [ ]+438:[ ]+(R_CRIS_)?32[ ]+\.text -0000043e : +0+43e : \.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/labfloat.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/labfloat.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/labfloat.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/labfloat.d Sun May 27 11:35:16 2001 @@ -5,7 +5,7 @@ Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+6f4e 0600 0000[ ]+move.d 6 ,r4 [ ]+2:[ ]+(R_CRIS_)?32[ ]+\.text\+0x6 [ ]+6:[ ]+ef4e 0600 0000[ ]+cmp\.d 6 ,r4 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/macroat.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/macroat.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/macroat.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/macroat.d Sun May 27 11:35:16 2001 @@ -5,10 +5,10 @@ Disassembly of section .text: -00000000 : +0+ : [ ]+0:[ ]+ef0e 0500 0000[ ]+cmp.d 0x5,r0 [ ]+6:[ ]+0230[ ]+beq 0xa -[ ]+8:[ ]+0f05[ ]+nop +[ ]+8:[ ]+0f05[ ]+nop[ ]* -0000000a : -[ ]+a:[ ]+0f05[ ]+nop +0+a : +[ ]+a:[ ]+0f05[ ]+nop[ ]* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/movem-to-reg.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/movem-to-reg.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/movem-to-reg.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/movem-to-reg.d Sun May 27 11:35:16 2001 @@ -6,11 +6,11 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0: 0000[ ]+ bcc ( 0x2|\.\+2) \.\.\. -00000004 : +0+4 : [ ]+4:[ ]+b5db[ ]+movem[ ]+\[r5\],r13 [ ]+6:[ ]+ba1b[ ]+movem[ ]+\[r10\],r1 [ ]+8:[ ]+b5df[ ]+movem[ ]+\[r5\+\],r13 @@ -51,10 +51,10 @@ Disassembly of section \.text: [ ]+a0:[ ]+5f2d 68dd b11b[ ]+movem[ ]+\[r2-8856\],r1 [ ]+a6:[ ]+5f2d 9822 b11b[ ]+movem[ ]+\[r2\+8856\],r1 [ ]+ac:[ ]+6f2d ac72 2a00 b11b[ ]+movem[ ]+\[r2\+(2781868|2a72ac )\],r1 -[ ]+b4:[ ]+6f2d d5c5 d6ff b11b[ ]+movem[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\],r1 -[ ]+bc:[ ]+6f2d acce c09e b11b[ ]+movem[ ]+\[r2\+(0x9ec0ceac|9ec0ceac )\],r1 -[ ]+c4:[ ]+6f2d 5331 3f81 b11b[ ]+movem[ ]+\[r2\+(0x813f3153|813f3153 )\],r1 -[ ]+cc:[ ]+6f2d 5331 3f81 b11b[ ]+movem[ ]+\[r2\+(0x813f3153|813f3153 )\],r1 +[ ]+b4:[ ]+6f2d d5c5 d6ff b11b[ ]+movem[ ]+\[r2\+[^]]+\],r1 +[ ]+bc:[ ]+6f2d acce c09e b11b[ ]+movem[ ]+\[r2\+[^]]+\],r1 +[ ]+c4:[ ]+6f2d 5331 3f81 b11b[ ]+movem[ ]+\[r2\+[^]]+\],r1 +[ ]+cc:[ ]+6f2d 5331 3f81 b11b[ ]+movem[ ]+\[r2\+[^]]+\],r1 [ ]+d4:[ ]+6f2d b5af 982e b11b[ ]+movem[ ]+\[r2\+(0x2e98afb5|2e98afb5 )\],r1 [ ]+dc:[ ]+6f2d 2b45 941b b11b[ ]+movem[ ]+\[r2\+(0x1b94452b|1b94452b )\],r1 [ ]+e4:[ ]+2a21 bddb[ ]+movem[ ]+\[r2\+42\],r13 @@ -71,15 +71,15 @@ Disassembly of section \.text: [ ]+116:[ ]+6f2d 0180 0000 b55b[ ]+movem[ ]+\[r2\+(32769|8001 )\],r5 [ ]+11e:[ ]+5f2d 0180 b55b[ ]+movem[ ]+\[r2-32767\],r5 [ ]+124:[ ]+5f2d 0080 bddb[ ]+movem[ ]+\[r2-32768\],r13 -[ ]+12a:[ ]+6f2d ff7f ffff bddb[ ]+movem[ ]+\[r2\+(0xffff7fff|ffff7fff )\],r13 +[ ]+12a:[ ]+6f2d ff7f ffff bddb[ ]+movem[ ]+\[r2\+[^]]+\],r13 [ ]+132:[ ]+5f2d 0180 b55b[ ]+movem[ ]+\[r2-32767\],r5 [ ]+138:[ ]+5f2d 0080 bddb[ ]+movem[ ]+\[r2-32768\],r13 -[ ]+13e:[ ]+6f2d ff7f ffff bddb[ ]+movem[ ]+\[r2\+(0xffff7fff|ffff7fff )\],r13 +[ ]+13e:[ ]+6f2d ff7f ffff bddb[ ]+movem[ ]+\[r2\+[^]]+\],r13 [ ]+146:[ ]+6f2d ffff 0000 b55b[ ]+movem[ ]+\[r2\+(65535|ffff )\],r5 [ ]+14e:[ ]+6f2d 0000 0100 bddb[ ]+movem[ ]+\[r2\+(65536|10000 )\],r13 [ ]+156:[ ]+6f2d 2b3a 2900 b55b[ ]+movem[ ]+\[r2\+(2701867|293a2b )\],r5 -[ ]+15e:[ ]+6f2d d5c5 d6ff b55b[ ]+movem[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\],r5 -[ ]+166:[ ]+6f2d d5c5 d6ff b55b[ ]+movem[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\],r5 +[ ]+15e:[ ]+6f2d d5c5 d6ff b55b[ ]+movem[ ]+\[r2\+[^]]+\],r5 +[ ]+166:[ ]+6f2d d5c5 d6ff b55b[ ]+movem[ ]+\[r2\+[^]]+\],r5 [ ]+16e:[ ]+6f2d 0000 0000 b55b[ ]+movem[ ]+\[r2\+0( )?\],r5 [ ]+170:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+176:[ ]+4255 bcdf[ ]+movem[ ]+\[r12=r2\+r5\.b\],r13 @@ -120,10 +120,10 @@ Disassembly of section \.text: [ ]+212:[ ]+5f2d 68dd bc1f[ ]+movem[ ]+\[r12=r2-8856\],r1 [ ]+218:[ ]+5f2d 9822 bc1f[ ]+movem[ ]+\[r12=r2\+8856\],r1 [ ]+21e:[ ]+6f2d ac72 2a00 bc1f[ ]+movem[ ]+\[r12=r2\+(2781868|2a72ac )\],r1 -[ ]+226:[ ]+6f2d d5c5 d6ff bc1f[ ]+movem[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\],r1 -[ ]+22e:[ ]+6f2d acce c09e bc1f[ ]+movem[ ]+\[r12=r2\+(0x9ec0ceac|9ec0ceac )\],r1 -[ ]+236:[ ]+6f2d 5331 3f81 bc1f[ ]+movem[ ]+\[r12=r2\+(0x813f3153|813f3153 )\],r1 -[ ]+23e:[ ]+6f2d 5331 3f81 bc1f[ ]+movem[ ]+\[r12=r2\+(0x813f3153|813f3153 )\],r1 +[ ]+226:[ ]+6f2d d5c5 d6ff bc1f[ ]+movem[ ]+\[r12=r2\+[^]]+\],r1 +[ ]+22e:[ ]+6f2d acce c09e bc1f[ ]+movem[ ]+\[r12=r2\+[^]]+\],r1 +[ ]+236:[ ]+6f2d 5331 3f81 bc1f[ ]+movem[ ]+\[r12=r2\+[^]]+\],r1 +[ ]+23e:[ ]+6f2d 5331 3f81 bc1f[ ]+movem[ ]+\[r12=r2\+[^]]+\],r1 [ ]+246:[ ]+6f2d b5af 982e bc1f[ ]+movem[ ]+\[r12=r2\+(0x2e98afb5|2e98afb5 )\],r1 [ ]+24e:[ ]+6f2d 2b45 941b bc1f[ ]+movem[ ]+\[r12=r2\+(0x1b94452b|1b94452b )\],r1 [ ]+256:[ ]+2a21 bcdf[ ]+movem[ ]+\[r12=r2\+42\],r13 @@ -140,15 +140,15 @@ Disassembly of section \.text: [ ]+288:[ ]+6f2d 0180 0000 bc5f[ ]+movem[ ]+\[r12=r2\+(32769|8001 )\],r5 [ ]+290:[ ]+5f2d 0180 bc5f[ ]+movem[ ]+\[r12=r2-32767\],r5 [ ]+296:[ ]+5f2d 0080 bcdf[ ]+movem[ ]+\[r12=r2-32768\],r13 -[ ]+29c:[ ]+6f2d ff7f ffff bcdf[ ]+movem[ ]+\[r12=r2\+(0xffff7fff|ffff7fff )\],r13 +[ ]+29c:[ ]+6f2d ff7f ffff bcdf[ ]+movem[ ]+\[r12=r2\+[^]]+\],r13 [ ]+2a4:[ ]+5f2d 0180 bc5f[ ]+movem[ ]+\[r12=r2-32767\],r5 [ ]+2aa:[ ]+5f2d 0080 bcdf[ ]+movem[ ]+\[r12=r2-32768\],r13 -[ ]+2b0:[ ]+6f2d ff7f ffff bcdf[ ]+movem[ ]+\[r12=r2\+(0xffff7fff|ffff7fff )\],r13 +[ ]+2b0:[ ]+6f2d ff7f ffff bcdf[ ]+movem[ ]+\[r12=r2\+[^]]+\],r13 [ ]+2b8:[ ]+6f2d ffff 0000 bc5f[ ]+movem[ ]+\[r12=r2\+(65535|ffff )\],r5 [ ]+2c0:[ ]+6f2d 0000 0100 bcdf[ ]+movem[ ]+\[r12=r2\+(65536|10000 )\],r13 [ ]+2c8:[ ]+6f2d 2b3a 2900 bc5f[ ]+movem[ ]+\[r12=r2\+(2701867|293a2b )\],r5 -[ ]+2d0:[ ]+6f2d d5c5 d6ff bc5f[ ]+movem[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\],r5 -[ ]+2d8:[ ]+6f2d d5c5 d6ff bc5f[ ]+movem[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\],r5 +[ ]+2d0:[ ]+6f2d d5c5 d6ff bc5f[ ]+movem[ ]+\[r12=r2\+[^]]+\],r5 +[ ]+2d8:[ ]+6f2d d5c5 d6ff bc5f[ ]+movem[ ]+\[r12=r2\+[^]]+\],r5 [ ]+2e0:[ ]+6f2d 0000 0000 bc5f[ ]+movem[ ]+\[r12=r2\+0( )?\],r5 [ ]+2e2:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+2e8:[ ]+7209 b44b[ ]+movem[ ]+\[\[r2\]\],r4 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/nosep.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/nosep.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/nosep.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/nosep.d Sun May 27 11:35:16 2001 @@ -5,6 +5,6 @@ Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+4022[ ]+moveq[ ]+0,r2 [ ]+2:[ ]+f025[ ]+di[ ]* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/oneop-type.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/oneop-type.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/oneop-type.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/oneop-type.d Sun May 27 11:35:16 2001 @@ -6,7 +6,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+@IR+7187@[ ]+@OR@[ ]+r1 [ ]+2:[ ]+@IR+7087@[ ]+@OR@[ ]+r0 [ ]+4:[ ]+@IR+7087@[ ]+@OR@[ ]+r0 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/prefix.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/prefix.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/prefix.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/prefix.d Sun May 27 11:35:16 2001 @@ -4,7 +4,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+0001 454a[ ]+move\.b \[r0\+0\],r4 [ ]+4:[ ]+0031 564e[ ]+move\.w \[r6=r3\+0\],r4 [ ]+8:[ ]+ff11 454a[ ]+move\.b \[r1-1\],r4 @@ -29,18 +29,18 @@ Disassembly of section \.text: [ ]+6e:[ ]+5f6d ff7f 555e[ ]+move\.w \[r5=r6\+32767\],r5 [ ]+74:[ ]+6f4d 0000 0000 679e[ ]+move\.d \[r7=r4\+0( )?\],r9 [ ]+7c:[ ]+6f5d 0100 0000 454a[ ]+move\.b \[r5\+1( )?\],r4 -[ ]+84:[ ]+6f6d ffff ffff 679e[ ]+move\.d \[r7=r6\+(0xffffffff|ffffffff )\],r9 -[ ]+8c:[ ]+6f6d 80ff ffff 679a[ ]+move\.d \[r6\+(0xffffff80|ffffff80 )\],r9 +[ ]+84:[ ]+6f6d ffff ffff 679e[ ]+move\.d \[r7=r6\+[^]]+\],r9 +[ ]+8c:[ ]+6f6d 80ff ffff 679a[ ]+move\.d \[r6\+[^]]+\],r9 [ ]+94:[ ]+6f6d 7f00 0000 564e[ ]+move\.w \[r6=r6\+(127|7f )\],r4 -[ ]+9c:[ ]+6f6d 7fff ffff 679a[ ]+move\.d \[r6\+(0xffffff7f|ffffff7f )\],r9 +[ ]+9c:[ ]+6f6d 7fff ffff 679a[ ]+move\.d \[r6\+[^]]+\],r9 [ ]+a4:[ ]+6f6d 8000 0000 679a[ ]+move\.d \[r6\+(128|80 )\],r9 -[ ]+ac:[ ]+6f6d 0080 ffff 454a[ ]+move\.b \[r6\+(0xffff8000|ffff8000 )\],r4 +[ ]+ac:[ ]+6f6d 0080 ffff 454a[ ]+move\.b \[r6\+[^]]+\],r4 [ ]+b4:[ ]+6f6d ff7f 0000 555e[ ]+move\.w \[r5=r6\+(32767|7fff )\],r5 -[ ]+bc:[ ]+6f6d ff7f ffff 564e[ ]+move\.w \[r6=r6\+(0xffff7fff|ffff7fff )\],r4 +[ ]+bc:[ ]+6f6d ff7f ffff 564e[ ]+move\.w \[r6=r6\+[^]]+\],r4 [ ]+c4:[ ]+6f6d 0080 0000 564a[ ]+move\.w \[r6\+(32768|8000 )\],r4 -[ ]+cc:[ ]+6f6d 0000 fbff 454a[ ]+move\.b \[r6\+(0xfffb0000|fffb0000 )\],r4 +[ ]+cc:[ ]+6f6d 0000 fbff 454a[ ]+move\.b \[r6\+[^]]+\],r4 [ ]+d4:[ ]+6f6d f5ad 4701 555e[ ]+move\.w \[r5=r6\+(0x[0]?147adf5|147adf5 )\],r5 -[ ]+dc:[ ]+6f6d 0000 0080 679a[ ]+move\.d \[r6\+(0x80000000|80000000 )\],r9 +[ ]+dc:[ ]+6f6d 0000 0080 679a[ ]+move\.d \[r6\+[^]]+\],r9 [ ]+e4:[ ]+6f6d ffff ff7f 454a[ ]+move\.b \[r6\+(0x7fffffff|7fffffff )\],r4 [ ]+ec:[ ]+6f6d 0000 0000 555e[ ]+move\.w \[r5=r6\+0( )?\],r5 [ ]+ee:[ ]+(R_CRIS_)?32[ ]+external_symbol diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/pushpop-byte-sreg.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/pushpop-byte-sreg.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/pushpop-byte-sreg.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/pushpop-byte-sreg.d Sun May 27 11:35:16 2001 @@ -4,7 +4,7 @@ .*:[ ]+file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+ffe1 @IM+7e0e@[ ]+push[ ]+[a-z].* [ ]+4:[ ]+ffe1 @IM+7e0e@[ ]+push[ ]+[a-z].* [ ]+8:[ ]+ffe1 @IM+7e0e@[ ]+push[ ]+[a-z].* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/pushpop-dword-sreg.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/pushpop-dword-sreg.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/pushpop-dword-sreg.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/pushpop-dword-sreg.d Sun May 27 11:35:16 2001 @@ -4,7 +4,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : ^[ ]+0:[ ]+fce1 @IM+7e0e@[ ]+push[ ]+[a-z].* ^[ ]+4:[ ]+fce1 @IM+7e0e@[ ]+push[ ]+[a-z].* ^[ ]+8:[ ]+fce1 @IM+7e0e@[ ]+push[ ]+[a-z].* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/pushpop-word-sreg.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/pushpop-word-sreg.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/pushpop-word-sreg.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/pushpop-word-sreg.d Sun May 27 11:35:16 2001 @@ -4,7 +4,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : ^[ ]+0:[ ]+fee1 @IM+7e0e@[ ]+push[ ]+[a-z].* ^[ ]+4:[ ]+fee1 @IM+7e0e@[ ]+push[ ]+[a-z].* ^[ ]+8:[ ]+fee1 @IM+7e0e@[ ]+push[ ]+[a-z].* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/pushpop.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/pushpop.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/pushpop.d Fri Apr 6 15:33:24 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/pushpop.d Sun May 27 11:35:16 2001 @@ -4,7 +4,7 @@ .*:[ ]+file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+fce1 ee1f[ ]+push[ ]+r1 [ ]+4:[ ]+fce1 ee0f[ ]+push[ ]+r0 [ ]+8:[ ]+fce1 ee4f[ ]+push[ ]+r4 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/quick-s6.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/quick-s6.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/quick-s6.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/quick-s6.d Sun May 27 11:35:16 2001 @@ -6,7 +6,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+@IR+5632@[ ]+@OC@[ ]+22,r3 [ ]+2:[ ]+@IR+4b52@[ ]+@OC@[ ]+11,r5 [ ]+4:[ ]+@IR+40a2@[ ]+@OC@[ ]+0,r10 @@ -15,7 +15,7 @@ Disassembly of section \.text: [ ]+a:[ ]+@IR+40b2@[ ]+@OC@[ ]+0,r11 [ ]+c:[ ]+@IR+4ab2@[ ]+@OC@[ ]+10,r11 [ ]+e:[ ]+@IR+40c2@[ ]+@OC@[ ]+0,r12 -00000010 : +0+10 : [ ]+10:[ ]+@IR+6132@[ ]+@OC@[ ]+-31,r3 [ ]+12:[ ]+@IR+6a32@[ ]+@OC@[ ]+-22,r3 [ ]+14:[ ]+@IR+6232@[ ]+@OC@[ ]+-30,r3 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/quick-u5.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/quick-u5.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/quick-u5.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/quick-u5.d Sun May 27 11:35:16 2001 @@ -6,7 +6,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+@IR+9633@[ ]+@OC@[ ]+22,r3 [ ]+2:[ ]+@IR+8b53@[ ]+@OC@[ ]+11,r5 [ ]+4:[ ]+@IR+80a3@[ ]+@OC@[ ]+0,r10 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/quick-u6.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/quick-u6.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/quick-u6.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/quick-u6.d Sun May 27 11:35:16 2001 @@ -6,7 +6,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+@IR+1632@[ ]+@OC@[ ]+22,r3 [ ]+2:[ ]+@IR+0b52@[ ]+@OC@[ ]+11,r5 [ ]+4:[ ]+@IR+00a2@[ ]+@OC@[ ]+0,r10 @@ -15,7 +15,7 @@ Disassembly of section \.text: [ ]+a:[ ]+@IR+00b2@[ ]+@OC@[ ]+0,r11 [ ]+c:[ ]+@IR+0ab2@[ ]+@OC@[ ]+10,r11 [ ]+e:[ ]+@IR+00c2@[ ]+@OC@[ ]+0,r12 -00000010 : +0+10 : [ ]+10:[ ]+@IR+2c32@[ ]+@OC@[ ]+44,r3 [ ]+12:[ ]+@IR+3952@[ ]+@OC@[ ]+57,r5 [ ]+14:[ ]+@IR+00a2@[ ]+@OC@[ ]+0,r10 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/range-err-1.s binutils-2.11.90.0.15/gas/testsuite/gas/cris/range-err-1.s --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/range-err-1.s Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/range-err-1.s Sun May 27 11:35:16 2001 @@ -25,7 +25,7 @@ start: movs.b -129,r0 ; { dg-error "Immediate value not in 8 bit range: -129" } movs.b 128,r0 ; { dg-error "Immediate value not in 8 bit range: 128" "" { xfail *-*-* } } movs.b -32769,r0 ; { dg-error "Immediate value not in (8|16) bit range: -32769" } - movs.b 0xffffffff,r0 ; { dg-error "Immediate value not in 8 bit range: 4294967295" "" { xfail *-*-* } } + movs.b 0xffffffff,r0 ; { dg-error "Immediate value not in (8|16) bit range: (4294967295|-1)" "" { xfail *-*-* } } movs.w 32768,r0 ; { dg-error "Immediate value not in 16 bit range: 32768" "" { xfail *-*-* } } movs.w 0x8000,r0 ; { dg-error "Immediate value not in 16 bit range: 32768" "" { xfail *-*-* } } @@ -34,7 +34,7 @@ start: movs.w -32769,r0 ; { dg-error "Immediate value not in 16 bit range: -32769" } movs.w 65536,r0 ; { dg-error "Immediate value not in 16 bit range: 65536" } movs.w -32769,r0 ; { dg-error "Immediate value not in 16 bit range: -32769" } - movs.w 0xffffffff,r0 ; { dg-error "Immediate value not in 16 bit range: 4294967295" "" { xfail *-*-* } } + movs.w 0xffffffff,r0 ; { dg-error "Immediate value not in 16 bit range: (4294967295|-1)" "" { xfail *-*-* } } movu.b 256,r0 ; { dg-error "Immediate value not in 8 bit range: 256" } movu.b 0x100,r0 ; { dg-error "Immediate value not in 8 bit range: 256" } @@ -46,7 +46,7 @@ start: movu.w 65536,r0 ; { dg-error "Immediate value not in 16 bit range: 65536" } movu.w -32769,r0 ; { dg-error "Immediate value not in 16 bit range: -32769" } movu.w -1,r0 ; { dg-error "Immediate value not in 16 bit unsigned range: -1" "" { xfail *-*-* } } - movu.w 0xffffffff,r0 ; { dg-error "Immediate value not in 16 bit unsigned range: 4294967295" "" { xfail *-*-* } } + movu.w 0xffffffff,r0 ; { dg-error "Immediate value not in 16 bit (unsigned )?range: (4294967295|-1)" "" { xfail *-*-* } } add.b -129,r5 ; { dg-error "Immediate value not in 8 bit range: -129" } add.b -255,r5 ; { dg-error "Immediate value not in 8 bit range: -255" } diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/rd-pic-1.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/rd-pic-1.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/rd-pic-1.d Fri Mar 23 13:54:17 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/rd-pic-1.d Sun May 27 11:35:19 2001 @@ -6,7 +6,7 @@ Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+af1e 0000 0000[ ]+sub\.d 0 ,r1 [ ]+2:[ ]+R_CRIS_32_GOTREL \.text [ ]+6:[ ]+6f3d 0000 0000 6aaa[ ]+move\.d \[r3\+0 \],r10 @@ -28,31 +28,31 @@ Disassembly of section \.text: [ ]+3a:[ ]+af9e 0000 0000[ ]+sub\.d 0 ,r9 [ ]+3c:[ ]+R_CRIS_32_GOTREL extsym4\+0x2a [ ]+40:[ ]+af3e 0000 0000[ ]+sub\.d 0 ,r3 -[ ]+42:[ ]+R_CRIS_32_GOTREL extsym4\+0xffffffa0 +[ ]+42:[ ]+R_CRIS_32_GOTREL extsym4\+0x[f]+fffffa0 [ ]+46:[ ]+6fad 0000 0000 287a[ ]+add\.d \[r10\+0 \],r7,r8 [ ]+48:[ ]+R_CRIS_32_GOT extsym3\+0x38 [ ]+4e:[ ]+6f5d 0000 0000 611a[ ]+move\.d \[r5\+0 \],r1 [ ]+50:[ ]+R_CRIS_32_GOT extsym6\+0xa [ ]+56:[ ]+6fad 0000 0000 284a[ ]+add\.d \[r10\+0 \],r4,r8 -[ ]+58:[ ]+R_CRIS_32_GOT extsym3\+0xfffffdd0 +[ ]+58:[ ]+R_CRIS_32_GOT extsym3\+0x[f]+ffffdd0 [ ]+5e:[ ]+6f5d 0000 0000 6cca[ ]+move\.d \[r5\+0 \],r12 -[ ]+60:[ ]+R_CRIS_32_GOT extsym6\+0xffffff92 +[ ]+60:[ ]+R_CRIS_32_GOT extsym6\+0x[f]+fffff92 [ ]+66:[ ]+6f5d 0000 0000 69ce[ ]+move\.d \[r9=r5\+0 \],r12 -[ ]+68:[ ]+R_CRIS_32_GOT extsym6\+0xffffff24 +[ ]+68:[ ]+R_CRIS_32_GOT extsym6\+0x[f]+fffff24 [ ]+6e:[ ]+6f3d 0000 0000 67de[ ]+move\.d \[r7=r3\+0 \],r13 -[ ]+70:[ ]+R_CRIS_32_GOTREL extsym10\+0xfffffeb6 +[ ]+70:[ ]+R_CRIS_32_GOTREL extsym10\+0x[f]+ffffeb6 [ ]+76:[ ]+6f5e 0000 0000[ ]+move\.d 0 ,r5 [ ]+78:[ ]+R_CRIS_32_PLT_PCREL extsym7\+0x4 [ ]+7c:[ ]+6f9e 0000 0000[ ]+move\.d 0 ,r9 -[ ]+7e:[ ]+R_CRIS_32_PLT_PCREL extsym7\+0xffffffd8 +[ ]+7e:[ ]+R_CRIS_32_PLT_PCREL extsym7\+0x[f]+fffffd8 [ ]+82:[ ]+6f5e 0000 0000[ ]+move\.d 0 ,r5 [ ]+84:[ ]+R_CRIS_32_PLT_GOTREL extsym11\+0x10 [ ]+88:[ ]+6f9e 0000 0000[ ]+move\.d 0 ,r9 -[ ]+8a:[ ]+R_CRIS_32_PLT_GOTREL extsym12\+0xffffffc4 +[ ]+8a:[ ]+R_CRIS_32_PLT_GOTREL extsym12\+0x[f]+fffffc4 [ ]+8e:[ ]+5fcd 0000 a89a[ ]+sub\.d \[r12\+0\],r9,r8 -[ ]+90:[ ]+R_CRIS_16_GOT extsym3\+0xffffff64 +[ ]+90:[ ]+R_CRIS_16_GOT extsym3\+0x[f]+fffff64 [ ]+94:[ ]+5fbd 0000 699a[ ]+move\.d \[r11\+0\],r9 -[ ]+96:[ ]+R_CRIS_16_GOTPLT extsym14\+0xffffff00 +[ ]+96:[ ]+R_CRIS_16_GOTPLT extsym14\+0x[f]+fffff00 [ ]+9a:[ ]+6fad 0000 0000 287a[ ]+add\.d \[r10\+0 \],r7,r8 [ ]+9c:[ ]+R_CRIS_32_GOTPLT extsym3\+0x38 [ ]+\.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/rd-regprefix-1.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/rd-regprefix-1.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/rd-regprefix-1.d Sat Sep 30 08:54:38 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/rd-regprefix-1.d Sun May 27 11:35:16 2001 @@ -4,7 +4,7 @@ .*:[ ]+file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+6556[ ]+test\.d[ ]+r5 [ ]+2:[ ]+3496[ ]+move[ ]+r4,ibr [ ]+4:[ ]+01a1 e44b[ ]+move\.d[ ]+r4,\[r10\+1\] diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/rd-regprefix-1b.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/rd-regprefix-1b.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/rd-regprefix-1b.d Sat Sep 30 08:54:38 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/rd-regprefix-1b.d Sun May 27 11:35:18 2001 @@ -9,7 +9,7 @@ .*:[ ]+file format elf32-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+6f5e 0000 0000[ ]+move\.d[ ]+0[ ]+,\$r5 [ ]+2:[ ]+(R_CRIS_)?32[ ]+r5 [ ]+6:[ ]+3f9e 0000 0000[ ]+move[ ]+0[ ]+,\$ibr diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/reg-to-mem.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/reg-to-mem.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/reg-to-mem.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/reg-to-mem.d Sun May 27 11:35:18 2001 @@ -6,11 +6,11 @@ .*:[ ]+file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0: 0000[ ]+ bcc ( 0x2|\.\+2) \.\.\. -00000004 : +0+4 : [ ]+4:[ ]+@IM+c5db@[ ]+@OC@[ ]+r13,\[r5\] [ ]+6:[ ]+@IM+ca1b@[ ]+@OC@[ ]+r1,\[r10\] [ ]+8:[ ]+@IM+c5df@[ ]+@OC@[ ]+r13,\[r5\+\] @@ -51,10 +51,10 @@ Disassembly of section \.text: [ ]+a0:[ ]+5f2d 68dd @IM+c11b@[ ]+@OC@[ ]+r1,\[r2-8856\] [ ]+a6:[ ]+5f2d 9822 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+8856\] [ ]+ac:[ ]+6f2d ac72 2a00 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(2781868|2a72ac )\] -[ ]+b4:[ ]+6f2d d5c5 d6ff @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+bc:[ ]+6f2d acce c09e @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(0x9ec0ceac|9ec0ceac )\] -[ ]+c4:[ ]+6f2d 5331 3f81 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(0x813f3153|813f3153 )\] -[ ]+cc:[ ]+6f2d 5331 3f81 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(0x813f3153|813f3153 )\] +[ ]+b4:[ ]+6f2d d5c5 d6ff @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+[^]]+\] +[ ]+bc:[ ]+6f2d acce c09e @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+[^]]+\] +[ ]+c4:[ ]+6f2d 5331 3f81 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+[^]]+\] +[ ]+cc:[ ]+6f2d 5331 3f81 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+[^]]+\] [ ]+d4:[ ]+6f2d b5af 982e @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(0x2e98afb5|2e98afb5 )\] [ ]+dc:[ ]+6f2d 2b45 941b @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(0x1b94452b|1b94452b )\] [ ]+e4:[ ]+2a21 @IM+cddb@[ ]+@OC@[ ]+r13,\[r2\+42\] @@ -71,15 +71,15 @@ Disassembly of section \.text: [ ]+116:[ ]+6f2d 0180 0000 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+(32769|8001 )\] [ ]+11e:[ ]+5f2d 0180 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2-32767\] [ ]+124:[ ]+5f2d 0080 @IM+cddb@[ ]+@OC@[ ]+r13,\[r2-32768\] -[ ]+12a:[ ]+6f2d ff7f ffff @IM+cddb@[ ]+@OC@[ ]+r13,\[r2\+(0xffff7fff|ffff7fff )\] +[ ]+12a:[ ]+6f2d ff7f ffff @IM+cddb@[ ]+@OC@[ ]+r13,\[r2\+[^]]+\] [ ]+132:[ ]+5f2d 0180 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2-32767\] [ ]+138:[ ]+5f2d 0080 @IM+cddb@[ ]+@OC@[ ]+r13,\[r2-32768\] -[ ]+13e:[ ]+6f2d ff7f ffff @IM+cddb@[ ]+@OC@[ ]+r13,\[r2\+(0xffff7fff|ffff7fff )\] +[ ]+13e:[ ]+6f2d ff7f ffff @IM+cddb@[ ]+@OC@[ ]+r13,\[r2\+[^]]+\] [ ]+146:[ ]+6f2d ffff 0000 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+(65535|ffff )\] [ ]+14e:[ ]+6f2d 0000 0100 @IM+cddb@[ ]+@OC@[ ]+r13,\[r2\+(65536|10000 )\] [ ]+156:[ ]+6f2d 2b3a 2900 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+(2701867|293a2b )\] -[ ]+15e:[ ]+6f2d d5c5 d6ff @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+166:[ ]+6f2d d5c5 d6ff @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+(0xffd6c5d5|ffd6c5d5 )\] +[ ]+15e:[ ]+6f2d d5c5 d6ff @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+[^]]+\] +[ ]+166:[ ]+6f2d d5c5 d6ff @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+[^]]+\] [ ]+16e:[ ]+6f2d 0000 0000 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+(0|0 )?\] [ ]+170:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+176:[ ]+4255 @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2\+r5.b\] @@ -120,10 +120,10 @@ Disassembly of section \.text: [ ]+212:[ ]+5f2d 68dd @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2-8856\] [ ]+218:[ ]+5f2d 9822 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+8856\] [ ]+21e:[ ]+6f2d ac72 2a00 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(2781868|2a72ac )\] -[ ]+226:[ ]+6f2d d5c5 d6ff @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+22e:[ ]+6f2d acce c09e @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(0x9ec0ceac|9ec0ceac )\] -[ ]+236:[ ]+6f2d 5331 3f81 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(0x813f3153|813f3153 )\] -[ ]+23e:[ ]+6f2d 5331 3f81 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(0x813f3153|813f3153 )\] +[ ]+226:[ ]+6f2d d5c5 d6ff @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+[^]]+\] +[ ]+22e:[ ]+6f2d acce c09e @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+[^]]+\] +[ ]+236:[ ]+6f2d 5331 3f81 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+[^]]+\] +[ ]+23e:[ ]+6f2d 5331 3f81 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+[^]]+\] [ ]+246:[ ]+6f2d b5af 982e @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(0x2e98afb5|2e98afb5 )\] [ ]+24e:[ ]+6f2d 2b45 941b @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(0x1b94452b|1b94452b )\] [ ]+256:[ ]+2a21 @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2\+42\] @@ -140,15 +140,15 @@ Disassembly of section \.text: [ ]+288:[ ]+6f2d 0180 0000 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+(32769|8001 )\] [ ]+290:[ ]+5f2d 0180 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2-32767\] [ ]+296:[ ]+5f2d 0080 @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2-32768\] -[ ]+29c:[ ]+6f2d ff7f ffff @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+29c:[ ]+6f2d ff7f ffff @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2\+[^]]+\] [ ]+2a4:[ ]+5f2d 0180 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2-32767\] [ ]+2aa:[ ]+5f2d 0080 @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2-32768\] -[ ]+2b0:[ ]+6f2d ff7f ffff @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+2b0:[ ]+6f2d ff7f ffff @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2\+[^]]+\] [ ]+2b8:[ ]+6f2d ffff 0000 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+(65535|ffff )\] [ ]+2c0:[ ]+6f2d 0000 0100 @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2\+(65536|10000 )\] [ ]+2c8:[ ]+6f2d 2b3a 2900 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+(2701867|293a2b )\] -[ ]+2d0:[ ]+6f2d d5c5 d6ff @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+2d8:[ ]+6f2d d5c5 d6ff @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] +[ ]+2d0:[ ]+6f2d d5c5 d6ff @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+[^]]+\] +[ ]+2d8:[ ]+6f2d d5c5 d6ff @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+[^]]+\] [ ]+2e0:[ ]+6f2d 0000 0000 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+0( )?\] [ ]+2e2:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+2e8:[ ]+7209 @IM+c44b@[ ]+@OC@[ ]+r4,\[\[r2\]\] diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/regreg.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/regreg.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/regreg.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/regreg.d Sun May 27 11:35:18 2001 @@ -6,7 +6,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+@IR+4134@[ ]+@OC@[ ]+r1,r3 [ ]+2:[ ]+@IR+4004@[ ]+@OC@[ ]+r0,r0 [ ]+4:[ ]+@IR+40d4@[ ]+@OC@[ ]+r0,r13 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/return.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/return.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/return.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/return.d Sun May 27 11:35:18 2001 @@ -4,7 +4,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+7fb6[ ]+ret[ ]* [ ]+2:[ ]+0f05[ ]+nop[ ]* [ ]+4:[ ]+7fa6[ ]+reti[ ]* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/scc.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/scc.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/scc.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/scc.d Sun May 27 11:35:18 2001 @@ -4,7 +4,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+3105[ ]+scc[ ]+r1 [ ]+2:[ ]+3005[ ]+scc[ ]+r0 [ ]+4:[ ]+3515[ ]+scs[ ]+r5 @@ -24,5 +24,5 @@ Disassembly of section \.text: [ ]+20:[ ]+31e5[ ]+sa[ ]+r1 [ ]+22:[ ]+3bf5[ ]+swf[ ]+r11 [ ]+24:[ ]+38f5[ ]+swf[ ]+r8 -00000026 : +0+26 : [ ]+\.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/separator.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/separator.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/separator.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/separator.d Sun May 27 11:35:18 2001 @@ -3,6 +3,6 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+0f05[ ]+nop[ ]* [ ]+2:[ ]+0f05[ ]+nop[ ]* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/shexpr-1.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/shexpr-1.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/shexpr-1.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/shexpr-1.d Sun May 27 11:35:18 2001 @@ -3,6 +3,6 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : -[ ]+0:[ ]+6f6e 286f ff0b[ ]+move\.d 0x0bff6f28,r6 -[ ]+6:[ ]+0f05[ ]+nop +0+ : +[ ]+0:[ ]+6f6e 286f ff0b[ ]+move\.d bff6f28 ,r6 +[ ]+6:[ ]+0f05[ ]+nop[ ]* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/sreg-to-x.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/sreg-to-x.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/sreg-to-x.d Fri Apr 6 15:33:25 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/sreg-to-x.d Sun May 27 11:35:18 2001 @@ -4,10 +4,10 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+0000[ ]+bcc ( 0x2|\.\+2) ^[ ]+\.\.\. -00000004 : +0+4 : ^[ ]+4:[ ]+@IR+7706@[ ]+[^ ]+[ ]+([^,]+,)?r7 ^[ ]+6:[ ]+@IR+7606@[ ]+[^ ]+[ ]+([^,]+,)?r6 ^[ ]+8:[ ]+@IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r0\] @@ -52,10 +52,10 @@ Disassembly of section \.text: ^[ ]+ac:[ ]+5f2d 68dd @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-8856\] ^[ ]+b2:[ ]+5f2d 9822 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+8856\] ^[ ]+b8:[ ]+6f2d ac72 2a00 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(2781868|2a72ac )\] -^[ ]+c0:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -^[ ]+c8:[ ]+6f2d acce c09e @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x9ec0ceac|9ec0ceac )\] -^[ ]+d0:[ ]+6f2d 5331 3f81 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x813f3153|813f3153 )\] -^[ ]+d8:[ ]+6f2d 5331 3f81 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x813f3153|813f3153 )\] +^[ ]+c0:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] +^[ ]+c8:[ ]+6f2d acce c09e @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] +^[ ]+d0:[ ]+6f2d 5331 3f81 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] +^[ ]+d8:[ ]+6f2d 5331 3f81 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] ^[ ]+e0:[ ]+6f2d b5af 982e @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x2e98afb5|2e98afb5 )\] ^[ ]+e8:[ ]+6f2d 2b45 941b @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x1b94452b|1b94452b )\] ^[ ]+f0:[ ]+2a21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+42\] @@ -72,15 +72,15 @@ Disassembly of section \.text: ^[ ]+122:[ ]+6f2d 0180 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(32769|8001 )\] ^[ ]+12a:[ ]+5f2d 0180 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32767\] ^[ ]+130:[ ]+5f2d 0080 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32768\] -^[ ]+136:[ ]+6f2d ff7f ffff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffff7fff|ffff7fff )\] +^[ ]+136:[ ]+6f2d ff7f ffff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] ^[ ]+13e:[ ]+5f2d 0180 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32767\] ^[ ]+144:[ ]+5f2d 0080 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32768\] -^[ ]+14a:[ ]+6f2d ff7f ffff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffff7fff|ffff7fff )\] +^[ ]+14a:[ ]+6f2d ff7f ffff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] ^[ ]+152:[ ]+6f2d ffff 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(65535|ffff )\] ^[ ]+15a:[ ]+6f2d 0000 0100 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(65536|10000 )\] ^[ ]+162:[ ]+6f2d 2b3a 2900 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(2701867|293a2b )\] -^[ ]+16a:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -^[ ]+172:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffd6c5d5|ffd6c5d5 )\] +^[ ]+16a:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] +^[ ]+172:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] ^[ ]+17a:[ ]+6f2d 0000 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+0( )?\] [ ]+17c:[ ]+(R_CRIS_)?32[ ]+externalsym ^[ ]+182:[ ]+0021 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+0\] @@ -103,10 +103,10 @@ Disassembly of section \.text: ^[ ]+1d6:[ ]+5f2d 68dd @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-8856\] ^[ ]+1dc:[ ]+5f2d 9822 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+8856\] ^[ ]+1e2:[ ]+6f2d ac72 2a00 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(2781868|2a72ac )\] -^[ ]+1ea:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -^[ ]+1f2:[ ]+6f2d acce c09e @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x9ec0ceac|9ec0ceac )\] -^[ ]+1fa:[ ]+6f2d 5331 3f81 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x813f3153|813f3153 )\] -^[ ]+202:[ ]+6f2d 5331 3f81 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x813f3153|813f3153 )\] +^[ ]+1ea:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] +^[ ]+1f2:[ ]+6f2d acce c09e @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] +^[ ]+1fa:[ ]+6f2d 5331 3f81 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] +^[ ]+202:[ ]+6f2d 5331 3f81 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] ^[ ]+20a:[ ]+6f2d b5af 982e @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x2e98afb5|2e98afb5 )\] ^[ ]+212:[ ]+6f2d 2b45 941b @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x1b94452b|1b94452b )\] ^[ ]+21a:[ ]+2a21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+42\] @@ -123,15 +123,15 @@ Disassembly of section \.text: ^[ ]+24c:[ ]+6f2d 0180 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(32769|8001 )\] ^[ ]+254:[ ]+5f2d 0180 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32767\] ^[ ]+25a:[ ]+5f2d 0080 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32768\] -^[ ]+260:[ ]+6f2d ff7f ffff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffff7fff|ffff7fff )\] +^[ ]+260:[ ]+6f2d ff7f ffff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] ^[ ]+268:[ ]+5f2d 0180 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32767\] ^[ ]+26e:[ ]+5f2d 0080 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32768\] -^[ ]+274:[ ]+6f2d ff7f ffff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffff7fff|ffff7fff )\] +^[ ]+274:[ ]+6f2d ff7f ffff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] ^[ ]+27c:[ ]+6f2d ffff 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(65535|ffff )\] ^[ ]+284:[ ]+6f2d 0000 0100 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(65536|10000 )\] ^[ ]+28c:[ ]+6f2d 2b3a 2900 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(2701867|293a2b )\] -^[ ]+294:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -^[ ]+29c:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffd6c5d5|ffd6c5d5 )\] +^[ ]+294:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] +^[ ]+29c:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+[^]]+\] ^[ ]+2a4:[ ]+6f2d 0000 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+0( )?\] [ ]+2a6:[ ]+(R_CRIS_)?32[ ]+externalsym ^[ ]+2ac:[ ]+4235 @IM+710e@[ ]+[^ ]+[ ]+([^,]+,)?\[r1=r2\+r3.b\] @@ -172,10 +172,10 @@ Disassembly of section \.text: ^[ ]+348:[ ]+5f2d 68dd @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-8856\] ^[ ]+34e:[ ]+5f2d 9822 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+8856\] ^[ ]+354:[ ]+6f2d ac72 2a00 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(2781868|2a72ac )\] -^[ ]+35c:[ ]+6f2d d5c5 d6ff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] -^[ ]+364:[ ]+6f2d acce c09e @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0x9ec0ceac|9ec0ceac )\] -^[ ]+36c:[ ]+6f2d 5331 3f81 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0x813f3153|813f3153 )\] -^[ ]+374:[ ]+6f2d 5331 3f81 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0x813f3153|813f3153 )\] +^[ ]+35c:[ ]+6f2d d5c5 d6ff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+[^]]+\] +^[ ]+364:[ ]+6f2d acce c09e @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+[^]]+\] +^[ ]+36c:[ ]+6f2d 5331 3f81 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+[^]]+\] +^[ ]+374:[ ]+6f2d 5331 3f81 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+[^]]+\] ^[ ]+37c:[ ]+6f2d b5af 982e @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0x2e98afb5|2e98afb5 )\] ^[ ]+384:[ ]+6f2d 2b45 941b @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0x1b94452b|1b94452b )\] ^[ ]+38c:[ ]+2a21 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+42\] @@ -192,15 +192,15 @@ Disassembly of section \.text: ^[ ]+3be:[ ]+6f2d 0180 0000 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(32769|8001 )\] ^[ ]+3c6:[ ]+5f2d 0180 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-32767\] ^[ ]+3cc:[ ]+5f2d 0080 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-32768\] -^[ ]+3d2:[ ]+6f2d ff7f ffff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0xffff7fff|ffff7fff )\] +^[ ]+3d2:[ ]+6f2d ff7f ffff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+[^]]+\] ^[ ]+3da:[ ]+5f2d 0180 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-32767\] ^[ ]+3e0:[ ]+5f2d 0080 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-32768\] -^[ ]+3e6:[ ]+6f2d ff7f ffff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0xffff7fff|ffff7fff )\] +^[ ]+3e6:[ ]+6f2d ff7f ffff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+[^]]+\] ^[ ]+3ee:[ ]+6f2d ffff 0000 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(65535|ffff )\] ^[ ]+3f6:[ ]+6f2d 0000 0100 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(65536|10000 )\] ^[ ]+3fe:[ ]+6f2d 2b3a 2900 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(2701867|293a2b )\] -^[ ]+406:[ ]+6f2d d5c5 d6ff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] -^[ ]+40e:[ ]+6f2d d5c5 d6ff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] +^[ ]+406:[ ]+6f2d d5c5 d6ff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+[^]]+\] +^[ ]+40e:[ ]+6f2d d5c5 d6ff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+[^]]+\] ^[ ]+416:[ ]+6f2d 0000 0000 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+0( )?\] [ ]+418:[ ]+(R_CRIS_)?32[ ]+externalsym ^[ ]+41e:[ ]+7209 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[\[r2\]\] @@ -211,5 +211,5 @@ Disassembly of section \.text: [ ]+430:[ ]+(R_CRIS_)?32[ ]+externalsym ^[ ]+436:[ ]+7f0d 0000 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[(0x0|0 )\] [ ]+438:[ ]+(R_CRIS_)?32[ ]+.text -0000043e : +0+43e : ^[ ]+\.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/test.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/test.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/test.d Fri Apr 6 15:33:25 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/test.d Sun May 27 11:35:18 2001 @@ -6,11 +6,11 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0: 0000[ ]+ bcc ( 0x2|\.\+2) \.\.\. -00000004 : +0+4 : [ ]+4:[ ]+4336[ ]+test\.b r3 [ ]+6:[ ]+5556[ ]+test\.w r5 [ ]+8:[ ]+6aa6[ ]+test\.d r10 @@ -99,10 +99,10 @@ Disassembly of section \.text: [ ]+166:[ ]+6f2d 0180 0000 900b[ ]+test\.w \[r2\+(32769|8001 )\] [ ]+16e:[ ]+5f2d 0180 900b[ ]+test\.w \[r2-32767\] [ ]+174:[ ]+5f2d 0080 900b[ ]+test\.w \[r2-32768\] -[ ]+17a:[ ]+6f2d ff7f ffff 900b[ ]+test\.w \[r2\+(0xffff7fff|ffff7fff )\] +[ ]+17a:[ ]+6f2d ff7f ffff 900b[ ]+test\.w \[r2\+[^]]+\] [ ]+182:[ ]+5f2d 0180 900b[ ]+test\.w \[r2-32767\] [ ]+188:[ ]+5f2d 0080 900b[ ]+test\.w \[r2-32768\] -[ ]+18e:[ ]+6f2d ff7f ffff 900b[ ]+test\.w \[r2\+(0xffff7fff|ffff7fff )\] +[ ]+18e:[ ]+6f2d ff7f ffff 900b[ ]+test\.w \[r2\+[^]]+\] [ ]+196:[ ]+6f2d ffff 0000 900b[ ]+test\.w \[r2\+(65535|ffff )\] [ ]+19e:[ ]+6f2d 0000 0000 900b[ ]+test\.w \[r2\+0( )?\] [ ]+1a0:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -126,10 +126,10 @@ Disassembly of section \.text: [ ]+1fa:[ ]+5f2d 68dd a00b[ ]+test\.d \[r2-8856\] [ ]+200:[ ]+5f2d 9822 a00b[ ]+test\.d \[r2\+8856\] [ ]+206:[ ]+6f2d ac72 2a00 a00b[ ]+test\.d \[r2\+(2781868|2a72ac )\] -[ ]+20e:[ ]+6f2d d5c5 d6ff a00b[ ]+test\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+216:[ ]+6f2d acce c09e a00b[ ]+test\.d \[r2\+(0x9ec0ceac|9ec0ceac )\] -[ ]+21e:[ ]+6f2d 5331 3f81 a00b[ ]+test\.d \[r2\+(0x813f3153|813f3153 )\] -[ ]+226:[ ]+6f2d 5331 3f81 a00b[ ]+test\.d \[r2\+(0x813f3153|813f3153 )\] +[ ]+20e:[ ]+6f2d d5c5 d6ff a00b[ ]+test\.d \[r2\+[^]]+\] +[ ]+216:[ ]+6f2d acce c09e a00b[ ]+test\.d \[r2\+[^]]+\] +[ ]+21e:[ ]+6f2d 5331 3f81 a00b[ ]+test\.d \[r2\+[^]]+\] +[ ]+226:[ ]+6f2d 5331 3f81 a00b[ ]+test\.d \[r2\+[^]]+\] [ ]+22e:[ ]+6f2d b5af 982e a00b[ ]+test\.d \[r2\+(0x2e98afb5|2e98afb5 )\] [ ]+236:[ ]+6f2d 2b45 941b a00b[ ]+test\.d \[r2\+(0x1b94452b|1b94452b )\] [ ]+23e:[ ]+2a21 a00b[ ]+test\.d \[r2\+42\] @@ -146,15 +146,15 @@ Disassembly of section \.text: [ ]+270:[ ]+6f2d 0180 0000 a00b[ ]+test\.d \[r2\+(32769|8001 )\] [ ]+278:[ ]+5f2d 0180 a00b[ ]+test\.d \[r2-32767\] [ ]+27e:[ ]+5f2d 0080 a00b[ ]+test\.d \[r2-32768\] -[ ]+284:[ ]+6f2d ff7f ffff a00b[ ]+test\.d \[r2\+(0xffff7fff|ffff7fff )\] +[ ]+284:[ ]+6f2d ff7f ffff a00b[ ]+test\.d \[r2\+[^]]+\] [ ]+28c:[ ]+5f2d 0180 a00b[ ]+test\.d \[r2-32767\] [ ]+292:[ ]+5f2d 0080 a00b[ ]+test\.d \[r2-32768\] -[ ]+298:[ ]+6f2d ff7f ffff a00b[ ]+test\.d \[r2\+(0xffff7fff|ffff7fff )\] +[ ]+298:[ ]+6f2d ff7f ffff a00b[ ]+test\.d \[r2\+[^]]+\] [ ]+2a0:[ ]+6f2d ffff 0000 a00b[ ]+test\.d \[r2\+(65535|ffff )\] [ ]+2a8:[ ]+6f2d 0000 0100 a00b[ ]+test\.d \[r2\+(65536|10000 )\] [ ]+2b0:[ ]+6f2d 2b3a 2900 a00b[ ]+test\.d \[r2\+(2701867|293a2b )\] -[ ]+2b8:[ ]+6f2d d5c5 d6ff a00b[ ]+test\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+2c0:[ ]+6f2d d5c5 d6ff a00b[ ]+test\.d \[r2\+(0xffd6c5d5|ffd6c5d5 )\] +[ ]+2b8:[ ]+6f2d d5c5 d6ff a00b[ ]+test\.d \[r2\+[^]]+\] +[ ]+2c0:[ ]+6f2d d5c5 d6ff a00b[ ]+test\.d \[r2\+[^]]+\] [ ]+2c8:[ ]+6f2d 0000 0000 a00b[ ]+test\.d \[r2\+0( )?\] [ ]+2ca:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+2d0:[ ]+4205 8c0f[ ]+test\.b \[r12=r2\+r0\.b\] @@ -242,10 +242,10 @@ Disassembly of section \.text: [ ]+438:[ ]+6f2d 0180 0000 9c0f[ ]+test\.w \[r12=r2\+(32769|8001 )\] [ ]+440:[ ]+5f2d 0180 9c0f[ ]+test\.w \[r12=r2-32767\] [ ]+446:[ ]+5f2d 0080 9c0f[ ]+test\.w \[r12=r2-32768\] -[ ]+44c:[ ]+6f2d ff7f ffff 9c0f[ ]+test\.w \[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+44c:[ ]+6f2d ff7f ffff 9c0f[ ]+test\.w \[r12=r2\+[^]]+\] [ ]+454:[ ]+5f2d 0180 9c0f[ ]+test\.w \[r12=r2-32767\] [ ]+45a:[ ]+5f2d 0080 9c0f[ ]+test\.w \[r12=r2-32768\] -[ ]+460:[ ]+6f2d ff7f ffff 9c0f[ ]+test\.w \[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+460:[ ]+6f2d ff7f ffff 9c0f[ ]+test\.w \[r12=r2\+[^]]+\] [ ]+468:[ ]+6f2d ffff 0000 9c0f[ ]+test\.w \[r12=r2\+(65535|ffff )\] [ ]+470:[ ]+6f2d 0000 0000 9c0f[ ]+test\.w \[r12=r2\+0( )?\] [ ]+472:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -269,10 +269,10 @@ Disassembly of section \.text: [ ]+4cc:[ ]+5f2d 68dd ac0f[ ]+test\.d \[r12=r2-8856\] [ ]+4d2:[ ]+5f2d 9822 ac0f[ ]+test\.d \[r12=r2\+8856\] [ ]+4d8:[ ]+6f2d ac72 2a00 ac0f[ ]+test\.d \[r12=r2\+(2781868|2a72ac )\] -[ ]+4e0:[ ]+6f2d d5c5 d6ff ac0f[ ]+test\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+4e8:[ ]+6f2d acce c09e ac0f[ ]+test\.d \[r12=r2\+(0x9ec0ceac|9ec0ceac )\] -[ ]+4f0:[ ]+6f2d 5331 3f81 ac0f[ ]+test\.d \[r12=r2\+(0x813f3153|813f3153 )\] -[ ]+4f8:[ ]+6f2d 5331 3f81 ac0f[ ]+test\.d \[r12=r2\+(0x813f3153|813f3153 )\] +[ ]+4e0:[ ]+6f2d d5c5 d6ff ac0f[ ]+test\.d \[r12=r2\+[^]]+\] +[ ]+4e8:[ ]+6f2d acce c09e ac0f[ ]+test\.d \[r12=r2\+[^]]+\] +[ ]+4f0:[ ]+6f2d 5331 3f81 ac0f[ ]+test\.d \[r12=r2\+[^]]+\] +[ ]+4f8:[ ]+6f2d 5331 3f81 ac0f[ ]+test\.d \[r12=r2\+[^]]+\] [ ]+500:[ ]+6f2d b5af 982e ac0f[ ]+test\.d \[r12=r2\+(0x2e98afb5|2e98afb5 )\] [ ]+508:[ ]+6f2d 2b45 941b ac0f[ ]+test\.d \[r12=r2\+(0x1b94452b|1b94452b )\] [ ]+510:[ ]+2a21 ac0f[ ]+test\.d \[r12=r2\+42\] @@ -289,15 +289,15 @@ Disassembly of section \.text: [ ]+542:[ ]+6f2d 0180 0000 ac0f[ ]+test\.d \[r12=r2\+(32769|8001 )\] [ ]+54a:[ ]+5f2d 0180 ac0f[ ]+test\.d \[r12=r2-32767\] [ ]+550:[ ]+5f2d 0080 ac0f[ ]+test\.d \[r12=r2-32768\] -[ ]+556:[ ]+6f2d ff7f ffff ac0f[ ]+test\.d \[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+556:[ ]+6f2d ff7f ffff ac0f[ ]+test\.d \[r12=r2\+[^]]+\] [ ]+55e:[ ]+5f2d 0180 ac0f[ ]+test\.d \[r12=r2-32767\] [ ]+564:[ ]+5f2d 0080 ac0f[ ]+test\.d \[r12=r2-32768\] -[ ]+56a:[ ]+6f2d ff7f ffff ac0f[ ]+test\.d \[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+56a:[ ]+6f2d ff7f ffff ac0f[ ]+test\.d \[r12=r2\+[^]]+\] [ ]+572:[ ]+6f2d ffff 0000 ac0f[ ]+test\.d \[r12=r2\+(65535|ffff )\] [ ]+57a:[ ]+6f2d 0000 0100 ac0f[ ]+test\.d \[r12=r2\+(65536|10000 )\] [ ]+582:[ ]+6f2d 2b3a 2900 ac0f[ ]+test\.d \[r12=r2\+(2701867|293a2b )\] -[ ]+58a:[ ]+6f2d d5c5 d6ff ac0f[ ]+test\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+592:[ ]+6f2d d5c5 d6ff ac0f[ ]+test\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] +[ ]+58a:[ ]+6f2d d5c5 d6ff ac0f[ ]+test\.d \[r12=r2\+[^]]+\] +[ ]+592:[ ]+6f2d d5c5 d6ff ac0f[ ]+test\.d \[r12=r2\+[^]]+\] [ ]+59a:[ ]+6f2d 0000 0000 ac0f[ ]+test\.d \[r12=r2\+0( )?\] [ ]+59c:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+5a2:[ ]+7309 800b[ ]+test\.b \[\[r3\]\] @@ -319,5 +319,5 @@ Disassembly of section \.text: [ ]+5e2:[ ]+7f0d 0000 0000 a00b[ ]+test\.d \[(0x0|0 )\] [ ]+5e4:[ ]+(R_CRIS_)?32[ ]+\.text -000005ea : +0+5ea : \.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/unimplemented.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/unimplemented.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/unimplemented.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/unimplemented.d Sun May 27 11:35:18 2001 @@ -4,7 +4,7 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+bb2a[ ]+bmod[ ]+\[r11\],r2 [ ]+2:[ ]+4b35 b22a[ ]+bmod[ ]+\[r11\+r3\.b\],r2 [ ]+6:[ ]+6355 bd2e[ ]+bmod[ ]+\[r13=r3\+r5\.d\],r2 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/unop-mem.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/unop-mem.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/unop-mem.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/unop-mem.d Sun May 27 11:35:18 2001 @@ -7,11 +7,11 @@ Disassembly of section \.text: -00000000 : +0+ : 0: 0000[ ]+ bcc ( 0x2|\.\+2) \.\.\. -00000004 : +0+4 : [ ]+4:[ ]+@IM+703b@[ ]+@OC@[ ]+\[r0\] [ ]+6:[ ]+@IM+733b@[ ]+@OC@[ ]+\[r3\] [ ]+8:[ ]+@IM+743f@[ ]+@OC@[ ]+\[r4\+\] @@ -54,10 +54,10 @@ Disassembly of section \.text: [ ]+a8:[ ]+5f2d 68dd @IM+703b@[ ]+@OC@[ ]+\[r2-8856\] [ ]+ae:[ ]+5f2d 9822 @IM+703b@[ ]+@OC@[ ]+\[r2\+8856\] [ ]+b4:[ ]+6f2d ac72 2a00 @IM+703b@[ ]+@OC@[ ]+\[r2\+(2781868|2a72ac )\] -[ ]+bc:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+c4:[ ]+6f2d acce c09e @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x9ec0ceac|9ec0ceac )\] -[ ]+cc:[ ]+6f2d 5331 3f81 @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 )\] -[ ]+d4:[ ]+6f2d 5331 3f81 @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 )\] +[ ]+bc:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+c4:[ ]+6f2d acce c09e @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+cc:[ ]+6f2d 5331 3f81 @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+d4:[ ]+6f2d 5331 3f81 @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+dc:[ ]+6f2d b5af 982e @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x2e98afb5|2e98afb5 )\] [ ]+e4:[ ]+6f2d 2b45 941b @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x1b94452b|1b94452b )\] [ ]+ec:[ ]+2a21 @IM+703b@[ ]+@OC@[ ]+\[r2\+42\] @@ -74,15 +74,15 @@ Disassembly of section \.text: [ ]+11e:[ ]+6f2d 0180 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+(32769|8001 )\] [ ]+126:[ ]+5f2d 0180 @IM+703b@[ ]+@OC@[ ]+\[r2-32767\] [ ]+12c:[ ]+5f2d 0080 @IM+703b@[ ]+@OC@[ ]+\[r2-32768\] -[ ]+132:[ ]+6f2d ff7f ffff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff )\] +[ ]+132:[ ]+6f2d ff7f ffff @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+13a:[ ]+5f2d 0180 @IM+703b@[ ]+@OC@[ ]+\[r2-32767\] [ ]+140:[ ]+5f2d 0080 @IM+703b@[ ]+@OC@[ ]+\[r2-32768\] -[ ]+146:[ ]+6f2d ff7f ffff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff )\] +[ ]+146:[ ]+6f2d ff7f ffff @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+14e:[ ]+6f2d ffff 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+(65535|ffff )\] [ ]+156:[ ]+6f2d 0000 0100 @IM+703b@[ ]+@OC@[ ]+\[r2\+(65536|10000 )\] [ ]+15e:[ ]+6f2d 2b3a 2900 @IM+703b@[ ]+@OC@[ ]+\[r2\+(2701867|293a2b )\] -[ ]+166:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+16e:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\] +[ ]+166:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+16e:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+176:[ ]+6f2d 0000 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+0( )?\] [ ]+178:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+17e:[ ]+0021 @IM+703b@[ ]+@OC@[ ]+\[r2\+0\] @@ -105,10 +105,10 @@ Disassembly of section \.text: [ ]+1d2:[ ]+5f2d 68dd @IM+703b@[ ]+@OC@[ ]+\[r2-8856\] [ ]+1d8:[ ]+5f2d 9822 @IM+703b@[ ]+@OC@[ ]+\[r2\+8856\] [ ]+1de:[ ]+6f2d ac72 2a00 @IM+703b@[ ]+@OC@[ ]+\[r2\+(2781868|2a72ac )\] -[ ]+1e6:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+1ee:[ ]+6f2d acce c09e @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x9ec0ceac|9ec0ceac )\] -[ ]+1f6:[ ]+6f2d 5331 3f81 @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 )\] -[ ]+1fe:[ ]+6f2d 5331 3f81 @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 )\] +[ ]+1e6:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+1ee:[ ]+6f2d acce c09e @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+1f6:[ ]+6f2d 5331 3f81 @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+1fe:[ ]+6f2d 5331 3f81 @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+206:[ ]+6f2d b5af 982e @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x2e98afb5|2e98afb5 )\] [ ]+20e:[ ]+6f2d 2b45 941b @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x1b94452b|1b94452b )\] [ ]+216:[ ]+2a21 @IM+703b@[ ]+@OC@[ ]+\[r2\+42\] @@ -125,15 +125,15 @@ Disassembly of section \.text: [ ]+248:[ ]+6f2d 0180 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+(32769|8001 )\] [ ]+250:[ ]+5f2d 0180 @IM+703b@[ ]+@OC@[ ]+\[r2-32767\] [ ]+256:[ ]+5f2d 0080 @IM+703b@[ ]+@OC@[ ]+\[r2-32768\] -[ ]+25c:[ ]+6f2d ff7f ffff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff )\] +[ ]+25c:[ ]+6f2d ff7f ffff @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+264:[ ]+5f2d 0180 @IM+703b@[ ]+@OC@[ ]+\[r2-32767\] [ ]+26a:[ ]+5f2d 0080 @IM+703b@[ ]+@OC@[ ]+\[r2-32768\] -[ ]+270:[ ]+6f2d ff7f ffff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff )\] +[ ]+270:[ ]+6f2d ff7f ffff @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+278:[ ]+6f2d ffff 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+(65535|ffff )\] [ ]+280:[ ]+6f2d 0000 0100 @IM+703b@[ ]+@OC@[ ]+\[r2\+(65536|10000 )\] [ ]+288:[ ]+6f2d 2b3a 2900 @IM+703b@[ ]+@OC@[ ]+\[r2\+(2701867|293a2b )\] -[ ]+290:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+298:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\] +[ ]+290:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] +[ ]+298:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+[^]]+\] [ ]+2a0:[ ]+6f2d 0000 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+0( )?\] [ ]+2a2:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+2a8:[ ]+4235 @IM+713f@[ ]+@OC@[ ]+\[r1=r2\+r3\.b\] @@ -174,10 +174,10 @@ Disassembly of section \.text: [ ]+344:[ ]+5f2d 68dd @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-8856\] [ ]+34a:[ ]+5f2d 9822 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+8856\] [ ]+350:[ ]+6f2d ac72 2a00 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(2781868|2a72ac )\] -[ ]+358:[ ]+6f2d d5c5 d6ff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+360:[ ]+6f2d acce c09e @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0x9ec0ceac|9ec0ceac )\] -[ ]+368:[ ]+6f2d 5331 3f81 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0x813f3153|813f3153 )\] -[ ]+370:[ ]+6f2d 5331 3f81 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0x813f3153|813f3153 )\] +[ ]+358:[ ]+6f2d d5c5 d6ff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] +[ ]+360:[ ]+6f2d acce c09e @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] +[ ]+368:[ ]+6f2d 5331 3f81 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] +[ ]+370:[ ]+6f2d 5331 3f81 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] [ ]+378:[ ]+6f2d b5af 982e @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0x2e98afb5|2e98afb5 )\] [ ]+380:[ ]+6f2d 2b45 941b @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0x1b94452b|1b94452b )\] [ ]+388:[ ]+2a21 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+42\] @@ -194,15 +194,15 @@ Disassembly of section \.text: [ ]+3ba:[ ]+6f2d 0180 0000 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(32769|8001 )\] [ ]+3c2:[ ]+5f2d 0180 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-32767\] [ ]+3c8:[ ]+5f2d 0080 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-32768\] -[ ]+3ce:[ ]+6f2d ff7f ffff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+3ce:[ ]+6f2d ff7f ffff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] [ ]+3d6:[ ]+5f2d 0180 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-32767\] [ ]+3dc:[ ]+5f2d 0080 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-32768\] -[ ]+3e2:[ ]+6f2d ff7f ffff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0xffff7fff|ffff7fff )\] +[ ]+3e2:[ ]+6f2d ff7f ffff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] [ ]+3ea:[ ]+6f2d ffff 0000 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(65535|ffff )\] [ ]+3f2:[ ]+6f2d 0000 0100 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(65536|10000 )\] [ ]+3fa:[ ]+6f2d 2b3a 2900 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(2701867|293a2b )\] -[ ]+402:[ ]+6f2d d5c5 d6ff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] -[ ]+40a:[ ]+6f2d d5c5 d6ff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\] +[ ]+402:[ ]+6f2d d5c5 d6ff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] +[ ]+40a:[ ]+6f2d d5c5 d6ff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+[^]]+\] [ ]+412:[ ]+6f2d 0000 0000 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+0( )?\] [ ]+414:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+41a:[ ]+7209 @IM+703b@[ ]+@OC@[ ]+\[\[r2\]\] @@ -214,5 +214,5 @@ Disassembly of section \.text: [ ]+432:[ ]+7f0d 0000 0000 @IM+703b@[ ]+@OC@[ ]+\[(0x0|0 )\] [ ]+434:[ ]+(R_CRIS_)?32[ ]+\.text -0000043a : +0+43a : \.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/x-to-byte-sreg.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/x-to-byte-sreg.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/x-to-byte-sreg.d Fri Apr 6 15:33:25 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/x-to-byte-sreg.d Sun May 27 11:35:19 2001 @@ -4,10 +4,10 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+0000[ ]+bcc ( 0x2|\.\+2) ^[ ]+\.\.\. -00000004 : +0+4 : [ ]+4:[ ]+@IR+3306@[ ]+move[ ]+r3,.* [ ]+6:[ ]+@IM+300a@[ ]+move[ ]+\[r0\],.* [ ]+8:[ ]+@IM+300e@[ ]+move[ ]+\[r0\+\],.* @@ -89,5 +89,5 @@ Disassembly of section \.text: [ ]+138:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+13e:[ ]+7f0d 0000 0000 @IM+300a@[ ]+move[ ]+\[(0x0|0 )\],.* [ ]+140:[ ]+(R_CRIS_)?32[ ]+\.text -00000146 : +0+146 : ^[ ]+\.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/x-to-dcr1-sreg.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/x-to-dcr1-sreg.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/x-to-dcr1-sreg.d Thu Jul 20 19:21:16 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/x-to-dcr1-sreg.d Sun May 27 11:35:19 2001 @@ -4,12 +4,12 @@ .*: file format .*-cris RELOCATION RECORDS FOR \[\.text\]: -OFFSET TYPE VALUE -00000070 (R_CRIS_)?16[ ]+externalsym -00000284 (R_CRIS_)?32[ ]+externalsym -0000028c (R_CRIS_)?32[ ]+\.text -00000170 (R_CRIS_)?32[ ]+externalsym -00000274 (R_CRIS_)?32[ ]+externalsym +OFFSET[ ]+TYPE[ ]+VALUE +0+70 (R_CRIS_)?16[ ]+externalsym +0+284 (R_CRIS_)?32[ ]+externalsym +0+28c (R_CRIS_)?32[ ]+\.text +0+170 (R_CRIS_)?32[ ]+externalsym +0+274 (R_CRIS_)?32[ ]+externalsym Contents of section \.text: diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/x-to-dword-sreg.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/x-to-dword-sreg.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/x-to-dword-sreg.d Fri Apr 6 15:33:25 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/x-to-dword-sreg.d Sun May 27 11:35:19 2001 @@ -4,10 +4,10 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+0000[ ]+bcc ( 0x2|\.\+2) ^[ ]+\.\.\. -00000004 : +0+4 : [ ]+4:[ ]+@IR+3a06@[ ]+move[ ]+r10,.* [ ]+6:[ ]+@IM+3a0a@[ ]+move[ ]+\[r10\],.* [ ]+8:[ ]+@IM+3a0e@[ ]+move[ ]+\[r10\+\],.* @@ -25,8 +25,8 @@ Disassembly of section \.text: [ ]+4c:[ ]+@IM+3f0e@ 9822 0000[ ]+move[ ]+(0x2298|2298 ),.* [ ]+52:[ ]+@IM+3f0e@ ac72 2a00[ ]+move[ ]+(0x2a72ac|2a72ac ),.* [ ]+58:[ ]+@IM+3f0e@ d5c5 d6ff[ ]+move[ ]+0xffd6c5d5,.* -[ ]+5e:[ ]+@IM+3f0e@ acce c09e[ ]+move[ ]+(0x9ec0ceac|9ec0ceac ),.* -[ ]+64:[ ]+@IM+3f0e@ 5331 3f81[ ]+move[ ]+(0x813f3153|813f3153 ),.* +[ ]+5e:[ ]+@IM+3f0e@ acce c09e[ ]+move[ ]+[^,]+,.* +[ ]+64:[ ]+@IM+3f0e@ 5331 3f81[ ]+move[ ]+[^,]+,.* [ ]+6a:[ ]+@IM+3f0e@ b5af 982e[ ]+move[ ]+(0x2e98afb5|2e98afb5 ),.* [ ]+70:[ ]+@IM+3f0e@ 2b45 941b[ ]+move[ ]+(0x1b94452b|1b94452b ),.* [ ]+76:[ ]+@IM+3f0e@ 2a00 0000[ ]+move[ ]+(0x2a|2a ),.* @@ -79,10 +79,10 @@ Disassembly of section \.text: [ ]+160:[ ]+5f2d 68dd @IM+300a@[ ]+move[ ]+\[r2-8856\],.* [ ]+166:[ ]+5f2d 9822 @IM+300a@[ ]+move[ ]+\[r2\+8856\],.* [ ]+16c:[ ]+6f2d ac72 2a00 @IM+300a@[ ]+move[ ]+\[r2\+(2781868|2a72ac )\],.* -[ ]+174:[ ]+6f2d d5c5 d6ff @IM+300a@[ ]+move[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\],.* -[ ]+17c:[ ]+6f2d acce c09e @IM+300a@[ ]+move[ ]+\[r2\+(0x9ec0ceac|9ec0ceac )\],.* -[ ]+184:[ ]+6f2d 5331 3f81 @IM+300a@[ ]+move[ ]+\[r2\+(0x813f3153|813f3153 )\],.* -[ ]+18c:[ ]+6f2d 5331 3f81 @IM+300a@[ ]+move[ ]+\[r2\+(0x813f3153|813f3153 )\],.* +[ ]+174:[ ]+6f2d d5c5 d6ff @IM+300a@[ ]+move[ ]+\[r2\+[^]]+\],.* +[ ]+17c:[ ]+6f2d acce c09e @IM+300a@[ ]+move[ ]+\[r2\+[^]]+\],.* +[ ]+184:[ ]+6f2d 5331 3f81 @IM+300a@[ ]+move[ ]+\[r2\+[^]]+\],.* +[ ]+18c:[ ]+6f2d 5331 3f81 @IM+300a@[ ]+move[ ]+\[r2\+[^]]+\],.* [ ]+194:[ ]+6f2d b5af 982e @IM+300a@[ ]+move[ ]+\[r2\+(0x2e98afb5|2e98afb5 )\],.* [ ]+19c:[ ]+6f2d 2b45 941b @IM+300a@[ ]+move[ ]+\[r2\+(0x1b94452b|1b94452b )\],.* [ ]+1a4:[ ]+2a21 @IM+300a@[ ]+move[ ]+\[r2\+42\],.* @@ -99,15 +99,15 @@ Disassembly of section \.text: [ ]+1d6:[ ]+6f2d 0180 0000 @IM+300a@[ ]+move[ ]+\[r2\+(32769|8001 )\],.* [ ]+1de:[ ]+5f2d 0180 @IM+300a@[ ]+move[ ]+\[r2-32767\],.* [ ]+1e4:[ ]+5f2d 0080 @IM+300a@[ ]+move[ ]+\[r2-32768\],.* -[ ]+1ea:[ ]+6f2d ff7f ffff @IM+300a@[ ]+move[ ]+\[r2\+(0xffff7fff|ffff7fff )\],.* +[ ]+1ea:[ ]+6f2d ff7f ffff @IM+300a@[ ]+move[ ]+\[r2\+[^]]+\],.* [ ]+1f2:[ ]+5f2d 0180 @IM+300a@[ ]+move[ ]+\[r2-32767\],.* [ ]+1f8:[ ]+5f2d 0080 @IM+300a@[ ]+move[ ]+\[r2-32768\],.* -[ ]+1fe:[ ]+6f2d ff7f ffff @IM+300a@[ ]+move[ ]+\[r2\+(0xffff7fff|ffff7fff )\],.* +[ ]+1fe:[ ]+6f2d ff7f ffff @IM+300a@[ ]+move[ ]+\[r2\+[^]]+\],.* [ ]+206:[ ]+6f2d ffff 0000 @IM+300a@[ ]+move[ ]+\[r2\+(65535|ffff )\],.* [ ]+20e:[ ]+6f2d 0000 0100 @IM+300a@[ ]+move[ ]+\[r2\+(65536|10000 )\],.* [ ]+216:[ ]+6f2d 2b3a 2900 @IM+300a@[ ]+move[ ]+\[r2\+(2701867|293a2b )\],.* -[ ]+21e:[ ]+6f2d d5c5 d6ff @IM+300a@[ ]+move[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\],.* -[ ]+226:[ ]+6f2d d5c5 d6ff @IM+300a@[ ]+move[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 )\],.* +[ ]+21e:[ ]+6f2d d5c5 d6ff @IM+300a@[ ]+move[ ]+\[r2\+[^]]+\],.* +[ ]+226:[ ]+6f2d d5c5 d6ff @IM+300a@[ ]+move[ ]+\[r2\+[^]]+\],.* [ ]+22e:[ ]+6f2d 0000 0000 @IM+300a@[ ]+move[ ]+\[r2\+0( )?\],.* [ ]+230:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+236:[ ]+42a5 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+r10\.b\],.* @@ -142,10 +142,10 @@ Disassembly of section \.text: [ ]+2ba:[ ]+5f2d 68dd @IM+3c0e@[ ]+move[ ]+\[r12=r2-8856\],.* [ ]+2c0:[ ]+5f2d 9822 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+8856\],.* [ ]+2c6:[ ]+6f2d ac72 2a00 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(2781868|2a72ac )\],.* -[ ]+2ce:[ ]+6f2d d5c5 d6ff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\],.* -[ ]+2d6:[ ]+6f2d acce c09e @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0x9ec0ceac|9ec0ceac )\],.* -[ ]+2de:[ ]+6f2d 5331 3f81 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0x813f3153|813f3153 )\],.* -[ ]+2e6:[ ]+6f2d 5331 3f81 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0x813f3153|813f3153 )\],.* +[ ]+2ce:[ ]+6f2d d5c5 d6ff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+[^]]+\],.* +[ ]+2d6:[ ]+6f2d acce c09e @IM+3c0e@[ ]+move[ ]+\[r12=r2\+[^]]+\],.* +[ ]+2de:[ ]+6f2d 5331 3f81 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+[^]]+\],.* +[ ]+2e6:[ ]+6f2d 5331 3f81 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+[^]]+\],.* [ ]+2ee:[ ]+6f2d b5af 982e @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0x2e98afb5|2e98afb5 )\],.* [ ]+2f6:[ ]+6f2d 2b45 941b @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0x1b94452b|1b94452b )\],.* [ ]+2fe:[ ]+2a21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+42\],.* @@ -162,15 +162,15 @@ Disassembly of section \.text: [ ]+330:[ ]+6f2d 0180 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(32769|8001 )\],.* [ ]+338:[ ]+5f2d 0180 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32767\],.* [ ]+33e:[ ]+5f2d 0080 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32768\],.* -[ ]+344:[ ]+6f2d ff7f ffff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffff7fff|ffff7fff )\],.* +[ ]+344:[ ]+6f2d ff7f ffff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+[^]]+\],.* [ ]+34c:[ ]+5f2d 0180 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32767\],.* [ ]+352:[ ]+5f2d 0080 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32768\],.* -[ ]+358:[ ]+6f2d ff7f ffff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffff7fff|ffff7fff )\],.* +[ ]+358:[ ]+6f2d ff7f ffff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+[^]]+\],.* [ ]+360:[ ]+6f2d ffff 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(65535|ffff )\],.* [ ]+368:[ ]+6f2d 0000 0100 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(65536|10000 )\],.* [ ]+370:[ ]+6f2d 2b3a 2900 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(2701867|293a2b )\],.* -[ ]+378:[ ]+6f2d d5c5 d6ff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\],.* -[ ]+380:[ ]+6f2d d5c5 d6ff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 )\],.* +[ ]+378:[ ]+6f2d d5c5 d6ff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+[^]]+\],.* +[ ]+380:[ ]+6f2d d5c5 d6ff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+[^]]+\],.* [ ]+388:[ ]+6f2d 0000 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+0( )?\],.* [ ]+38a:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+390:[ ]+7309 @IM+300a@[ ]+move[ ]+\[\[r3\]\],.* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/cris/x-to-word-sreg.d binutils-2.11.90.0.15/gas/testsuite/gas/cris/x-to-word-sreg.d --- binutils-2.11.90.0.8/gas/testsuite/gas/cris/x-to-word-sreg.d Fri Apr 6 15:33:25 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/cris/x-to-word-sreg.d Sun May 27 11:35:19 2001 @@ -4,10 +4,10 @@ .*: file format .*-cris Disassembly of section \.text: -00000000 : +0+ : [ ]+0:[ ]+0000[ ]+bcc ( 0x2|\.\+2) ^[ ]+\.\.\. -00000004 : +0+4 : [ ]+4:[ ]+@IR+3506@[ ]+move[ ]+r5,.* [ ]+6:[ ]+@IM+350a@[ ]+move[ ]+\[r5\],.* [ ]+8:[ ]+@IM+350e@[ ]+move[ ]+\[r5\+\],.* @@ -83,10 +83,10 @@ Disassembly of section \.text: [ ]+136:[ ]+6f2d 0180 0000 @IM+300a@[ ]+move[ ]+\[r2\+(32769|8001 )\],.* [ ]+13e:[ ]+5f2d 0180 @IM+300a@[ ]+move[ ]+\[r2-32767\],.* [ ]+144:[ ]+5f2d 0080 @IM+300a@[ ]+move[ ]+\[r2-32768\],.* -[ ]+14a:[ ]+6f2d ff7f ffff @IM+300a@[ ]+move[ ]+\[r2\+(0xffff7fff|ffff7fff )\],.* +[ ]+14a:[ ]+6f2d ff7f ffff @IM+300a@[ ]+move[ ]+\[r2\+[^]]+\],.* [ ]+152:[ ]+5f2d 0180 @IM+300a@[ ]+move[ ]+\[r2-32767\],.* [ ]+158:[ ]+5f2d 0080 @IM+300a@[ ]+move[ ]+\[r2-32768\],.* -[ ]+15e:[ ]+6f2d ff7f ffff @IM+300a@[ ]+move[ ]+\[r2\+(0xffff7fff|ffff7fff )\],.* +[ ]+15e:[ ]+6f2d ff7f ffff @IM+300a@[ ]+move[ ]+\[r2\+[^]]+\],.* [ ]+166:[ ]+6f2d ffff 0000 @IM+300a@[ ]+move[ ]+\[r2\+(65535|ffff )\],.* [ ]+16e:[ ]+6f2d 0000 0000 @IM+300a@[ ]+move[ ]+\[r2\+0( )?\],.* [ ]+170:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -135,10 +135,10 @@ Disassembly of section \.text: [ ]+23a:[ ]+6f2d 0180 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(32769|8001 )\],.* [ ]+242:[ ]+5f2d 0180 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32767\],.* [ ]+248:[ ]+5f2d 0080 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32768\],.* -[ ]+24e:[ ]+6f2d ff7f ffff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffff7fff|ffff7fff )\],.* +[ ]+24e:[ ]+6f2d ff7f ffff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+[^]]+\],.* [ ]+256:[ ]+5f2d 0180 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32767\],.* [ ]+25c:[ ]+5f2d 0080 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32768\],.* -[ ]+262:[ ]+6f2d ff7f ffff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffff7fff|ffff7fff )\],.* +[ ]+262:[ ]+6f2d ff7f ffff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+[^]]+\],.* [ ]+26a:[ ]+6f2d ffff 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(65535|ffff )\],.* [ ]+272:[ ]+6f2d 0000 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+0( )?\],.* [ ]+274:[ ]+(R_CRIS_)?32[ ]+externalsym @@ -148,5 +148,5 @@ Disassembly of section \.text: [ ]+284:[ ]+(R_CRIS_)?32[ ]+externalsym [ ]+28a:[ ]+7f0d 0000 0000 @IM+300a@[ ]+move[ ]+\[(0x0|0 )\],.* [ ]+28c:[ ]+(R_CRIS_)?32[ ]+\.text -00000292 : +0+292 : ^[ ]+\.\.\. diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/elf/ehopt0.d binutils-2.11.90.0.15/gas/testsuite/gas/elf/ehopt0.d --- binutils-2.11.90.0.8/gas/testsuite/gas/elf/ehopt0.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/elf/ehopt0.d Wed May 23 10:55:51 2001 @@ -0,0 +1,9 @@ +#objdump: -s -j .eh_frame +#name: elf ehopt0 + +.*: +file format .* + +Contents of section .eh_frame: + 0+000 (10|00)0000(00|10) 00000000 017a0001 781a0004 .* + 0+010 (01|00)0000(00|01) (12|00)0000(00|12) (18|00)0000(00|18) 00000000 .* + 0+020 (08|00)0000(00|08) 04(08|00)0000 (00|08)44 .* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/elf/ehopt0.s binutils-2.11.90.0.15/gas/testsuite/gas/elf/ehopt0.s --- binutils-2.11.90.0.8/gas/testsuite/gas/elf/ehopt0.s Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/elf/ehopt0.s Mon May 21 10:36:41 2001 @@ -0,0 +1,32 @@ + .text +$LFB1: + .4byte 0 +$L1: + .4byte 0 +$LFE1: + .section .eh_frame,"aw",@progbits +__FRAME_BEGIN__: + .4byte $LECIE1-$LSCIE1 +$LSCIE1: + .4byte 0x0 + .byte 0x1 + .ascii "z\0" + .byte 0x1 + .byte 0x78 + .byte 0x1a + .byte 0x0 + .byte 0x4 + .4byte 1 + .p2align 1 +$LECIE1: +$LSFDE1: + .4byte $LEFDE1-$LASFDE1 +$LASFDE1: + .4byte $LASFDE1-__FRAME_BEGIN__ + .4byte $LFB1 + .4byte $LFE1-$LFB1 + .byte 0x4 + .4byte $LFE1-$LFB1 + .byte 0x4 + .4byte $L1-$LFB1 +$LEFDE1: diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/elf/elf.exp binutils-2.11.90.0.15/gas/testsuite/gas/elf/elf.exp --- binutils-2.11.90.0.8/gas/testsuite/gas/elf/elf.exp Sun May 21 14:51:06 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/elf/elf.exp Sat Jun 9 00:13:01 2001 @@ -2,6 +2,33 @@ # elf tests # +proc run_list_test { name suffix opts } { + global READELF + global srcdir subdir + set testname "elf $name list" + set file $srcdir/$subdir/$name + gas_run ${name}.s "$opts -o dump.o" ">&dump.out" + if { [regexp_diff "dump.out" "${file}.l"] } then { + fail $testname + verbose "output is [file_contents "dump.out"]" 2 + return + } + send_log "$READELF -s dump.o > dump.out\n" + catch "exec $READELF -s dump.o > dump.out\n" comp_output + if ![string match "" $comp_output] then { + send_log "$comp_output\n" + fail $testname + return + } + verbose_eval {[file_contents "dump.out"]} 3 + if { [regexp_diff "dump.out" "${file}.e${suffix}"] } then { + fail $testname + verbose "output is [file_contents "dump.out"]" 2 + return + } + pass $testname +} + # We're testing bits in obj-elf -- don't run on anything else. if { ([istarget "*-*-elf*"] || [istarget "*-*-linux*"] @@ -11,6 +38,12 @@ if { ([istarget "*-*-elf*"] && ![istarget *-*-linux*coff*] && ![istarget *-*-linux*oldld*] } then { + set target_machine "" + if [istarget "mips*-*-*"] then { + set target_machine -mips + } + run_dump_test "ehopt0" run_dump_test "section0" run_dump_test "section1" + run_list_test "section2" "$target_machine" "-al" } diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/elf/section2.e binutils-2.11.90.0.15/gas/testsuite/gas/elf/section2.e --- binutils-2.11.90.0.8/gas/testsuite/gas/elf/section2.e Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/elf/section2.e Sun Jun 10 11:45:11 2001 @@ -0,0 +1,8 @@ + +Symbol table '.symtab' contains 5 entries: + Num: Value[ ]* Size Type Bind Vis Ndx Name + 0: 0+0 0 NOTYPE LOCAL DEFAULT UND + 1: 0+0 0 SECTION LOCAL DEFAULT 1 + 2: 0+0 0 SECTION LOCAL DEFAULT 2 + 3: 0+0 0 SECTION LOCAL DEFAULT 3 + 4: 0+0 0 SECTION LOCAL DEFAULT 4 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/elf/section2.e-mips binutils-2.11.90.0.15/gas/testsuite/gas/elf/section2.e-mips --- binutils-2.11.90.0.8/gas/testsuite/gas/elf/section2.e-mips Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/elf/section2.e-mips Sun Jun 10 11:45:11 2001 @@ -0,0 +1,10 @@ + +Symbol table '.symtab' contains 7 entries: + Num: Value[ ]* Size Type Bind Vis Ndx Name + 0: 0+0 0 NOTYPE LOCAL DEFAULT UND + 1: 0+0 0 SECTION LOCAL DEFAULT 1 + 2: 0+0 0 SECTION LOCAL DEFAULT 2 + 3: 0+0 0 SECTION LOCAL DEFAULT 3 + 4: 0+0 0 SECTION LOCAL DEFAULT 6 + 5: 0+0 0 SECTION LOCAL DEFAULT 4 + 6: 0+0 0 SECTION LOCAL DEFAULT 5 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/elf/section2.l binutils-2.11.90.0.15/gas/testsuite/gas/elf/section2.l --- binutils-2.11.90.0.8/gas/testsuite/gas/elf/section2.l Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/elf/section2.l Sat Jun 9 00:13:01 2001 @@ -0,0 +1,8 @@ +.*: Assembler messages: +.*:2: Warning: Section symbols are already global +.*GAS.* + + + 1 .section A + 2 .global A + 3 0000 31 .byte 49 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/elf/section2.s binutils-2.11.90.0.15/gas/testsuite/gas/elf/section2.s --- binutils-2.11.90.0.8/gas/testsuite/gas/elf/section2.s Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/elf/section2.s Sat Jun 9 00:13:01 2001 @@ -0,0 +1,3 @@ + .section A + .global A + .byte 49 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/m68k/pcrel.d binutils-2.11.90.0.15/gas/testsuite/gas/m68k/pcrel.d --- binutils-2.11.90.0.8/gas/testsuite/gas/m68k/pcrel.d Fri Mar 23 13:54:31 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/m68k/pcrel.d Thu May 24 21:24:55 2001 @@ -62,16 +62,16 @@ Disassembly of section \.text: 0+00a6 nop 0+00a8 lea %pc@\(0+002a ,%d0:l\),%a0 0+00ac lea %pc@\(0+002d ,%d0:l\),%a0 -0+00b2 lea %pc@\(ffff80b4 ,%d0:l\),%a0 -0+00b8 lea %pc@\(ffff80b9 ,%d0:l\),%a0 +0+00b2 lea %pc@\(f+80b4 ,%d0:l\),%a0 +0+00b8 lea %pc@\(f+80b9 ,%d0:l\),%a0 0+00c0 nop 0+00c2 lea %pc@\(0+0143 ,%d0:l\),%a0 0+00c6 lea %pc@\(0+0148 ,%d0:l\),%a0 0+00cc lea %pc@\(0+80cd ,%d0:l\),%a0 0+00d2 lea %pc@\(0+80d4 ,%d0:l\),%a0 0+00da nop -0+00dc lea %pc@\(ffff80de \),%a0 -0+00e0 lea %pc@\(ffff80e1 \),%a0 +0+00dc lea %pc@\(f+80de \),%a0 +0+00e0 lea %pc@\(f+80e1 \),%a0 0+00e8 nop 0+00ea lea %pc@\(0+80eb \),%a0 0+00ee lea %pc@\(0+80f0 \),%a0 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/macros/macros.exp binutils-2.11.90.0.15/gas/testsuite/gas/macros/macros.exp --- binutils-2.11.90.0.8/gas/testsuite/gas/macros/macros.exp Tue Nov 14 20:40:31 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/macros/macros.exp Sat Jun 9 00:13:01 2001 @@ -30,5 +30,6 @@ if { ![istarget hppa*-*-*] || [istarget # FIXME: Due to macro mishandling of ONLY_STANDARD_ESCAPES. setup_xfail cris-*-* setup_xfail sh*-*-* + setup_xfail z8k*-*-* run_dump_test strings } diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/abs.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/abs.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/abs.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/abs.d Mon May 21 10:36:59 2001 @@ -6,10 +6,10 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> bgez \$a0,0+000c +0+0000 <[^>]*> bgez a0,0+000c 0+0004 <[^>]*> nop -0+0008 <[^>]*> neg \$a0,\$a0 -0+000c <[^>]*> bgez \$a1,0+0018 -0+0010 <[^>]*> move \$a0,\$a1 -0+0014 <[^>]*> neg \$a0,\$a1 +0+0008 <[^>]*> neg a0,a0 +0+000c <[^>]*> bgez a1,0+0018 +0+0010 <[^>]*> move a0,a1 +0+0014 <[^>]*> neg a0,a1 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/add.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/add.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/add.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/add.d Mon May 21 10:36:59 2001 @@ -6,15 +6,15 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> addi \$a0,\$a0,0 -0+0004 <[^>]*> addi \$a0,\$a0,1 -0+0008 <[^>]*> li \$at,0x8000 -0+000c <[^>]*> add \$a0,\$a0,\$at -0+0010 <[^>]*> addi \$a0,\$a0,-32768 -0+0014 <[^>]*> lui \$at,0x1 -0+0018 <[^>]*> add \$a0,\$a0,\$at -0+001c <[^>]*> lui \$at,0x1 -0+0020 <[^>]*> ori \$at,\$at,0xa5a5 -0+0024 <[^>]*> add \$a0,\$a0,\$at -0+0028 <[^>]*> addiu \$a0,\$a0,1 +0+0000 <[^>]*> addi a0,a0,0 +0+0004 <[^>]*> addi a0,a0,1 +0+0008 <[^>]*> li at,0x8000 +0+000c <[^>]*> add a0,a0,at +0+0010 <[^>]*> addi a0,a0,-32768 +0+0014 <[^>]*> lui at,0x1 +0+0018 <[^>]*> add a0,a0,at +0+001c <[^>]*> lui at,0x1 +0+0020 <[^>]*> ori at,at,0xa5a5 +0+0024 <[^>]*> add a0,a0,at +0+0028 <[^>]*> addiu a0,a0,1 0+002c <[^>]*> nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/and.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/and.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/and.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/and.d Mon May 21 10:36:59 2001 @@ -6,29 +6,29 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> andi \$a0,\$a0,0x0 -0+0004 <[^>]*> andi \$a0,\$a0,0x1 -0+0008 <[^>]*> andi \$a0,\$a0,0x8000 -0+000c <[^>]*> li \$at,-32768 -0+0010 <[^>]*> and \$a0,\$a0,\$at -0+0014 <[^>]*> lui \$at,0x1 -0+0018 <[^>]*> and \$a0,\$a0,\$at -0+001c <[^>]*> lui \$at,0x1 -0+0020 <[^>]*> ori \$at,\$at,0xa5a5 -0+0024 <[^>]*> and \$a0,\$a0,\$at -0+0028 <[^>]*> ori \$a0,\$a1,0x0 -0+002c <[^>]*> nor \$a0,\$a0,\$zero -0+0030 <[^>]*> ori \$a0,\$a1,0x1 -0+0034 <[^>]*> nor \$a0,\$a0,\$zero -0+0038 <[^>]*> ori \$a0,\$a1,0x8000 -0+003c <[^>]*> nor \$a0,\$a0,\$zero -0+0040 <[^>]*> li \$at,-32768 -0+0044 <[^>]*> nor \$a0,\$a1,\$at -0+0048 <[^>]*> lui \$at,0x1 -0+004c <[^>]*> nor \$a0,\$a1,\$at -0+0050 <[^>]*> lui \$at,0x1 -0+0054 <[^>]*> ori \$at,\$at,0xa5a5 -0+0058 <[^>]*> nor \$a0,\$a1,\$at -0+005c <[^>]*> ori \$a0,\$a1,0x0 -0+0060 <[^>]*> xori \$a0,\$a1,0x0 +0+0000 <[^>]*> andi a0,a0,0x0 +0+0004 <[^>]*> andi a0,a0,0x1 +0+0008 <[^>]*> andi a0,a0,0x8000 +0+000c <[^>]*> li at,-32768 +0+0010 <[^>]*> and a0,a0,at +0+0014 <[^>]*> lui at,0x1 +0+0018 <[^>]*> and a0,a0,at +0+001c <[^>]*> lui at,0x1 +0+0020 <[^>]*> ori at,at,0xa5a5 +0+0024 <[^>]*> and a0,a0,at +0+0028 <[^>]*> ori a0,a1,0x0 +0+002c <[^>]*> nor a0,a0,zero +0+0030 <[^>]*> ori a0,a1,0x1 +0+0034 <[^>]*> nor a0,a0,zero +0+0038 <[^>]*> ori a0,a1,0x8000 +0+003c <[^>]*> nor a0,a0,zero +0+0040 <[^>]*> li at,-32768 +0+0044 <[^>]*> nor a0,a1,at +0+0048 <[^>]*> lui at,0x1 +0+004c <[^>]*> nor a0,a1,at +0+0050 <[^>]*> lui at,0x1 +0+0054 <[^>]*> ori at,at,0xa5a5 +0+0058 <[^>]*> nor a0,a1,at +0+005c <[^>]*> ori a0,a1,0x0 +0+0060 <[^>]*> xori a0,a1,0x0 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/beq.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/beq.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/beq.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/beq.d Mon May 21 10:36:59 2001 @@ -6,31 +6,31 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> beq \$a0,\$a1,0+0000 +0+0000 <[^>]*> beq a0,a1,0+0000 0+0004 <[^>]*> nop -0+0008 <[^>]*> beqz \$a0,0+0000 +0+0008 <[^>]*> beqz a0,0+0000 0+000c <[^>]*> nop -0+0010 <[^>]*> li \$at,1 -0+0014 <[^>]*> beq \$a0,\$at,0+0000 +0+0010 <[^>]*> li at,1 +0+0014 <[^>]*> beq a0,at,0+0000 0+0018 <[^>]*> nop -0+001c <[^>]*> li \$at,0x8000 -0+0020 <[^>]*> beq \$a0,\$at,0+0000 +0+001c <[^>]*> li at,0x8000 +0+0020 <[^>]*> beq a0,at,0+0000 0+0024 <[^>]*> nop -0+0028 <[^>]*> li \$at,-32768 -0+002c <[^>]*> beq \$a0,\$at,0+0000 +0+0028 <[^>]*> li at,-32768 +0+002c <[^>]*> beq a0,at,0+0000 0+0030 <[^>]*> nop -0+0034 <[^>]*> lui \$at,0x1 -0+0038 <[^>]*> beq \$a0,\$at,0+0000 +0+0034 <[^>]*> lui at,0x1 +0+0038 <[^>]*> beq a0,at,0+0000 0+003c <[^>]*> nop -0+0040 <[^>]*> lui \$at,0x1 -0+0044 <[^>]*> ori \$at,\$at,0xa5a5 -0+0048 <[^>]*> beq \$a0,\$at,0+0000 +0+0040 <[^>]*> lui at,0x1 +0+0044 <[^>]*> ori at,at,0xa5a5 +0+0048 <[^>]*> beq a0,at,0+0000 0+004c <[^>]*> nop -0+0050 <[^>]*> bnez \$a0,0+0000 +0+0050 <[^>]*> bnez a0,0+0000 0+0054 <[^>]*> nop -0+0058 <[^>]*> beqzl \$a0,0+0000 +0+0058 <[^>]*> beqzl a0,0+0000 0+005c <[^>]*> nop -0+0060 <[^>]*> bnezl \$a0,0+0000 +0+0060 <[^>]*> bnezl a0,0+0000 ... 0+20068 <[^>]*> j 0+0000 [ ]*20068: (MIPS_JMP|JMPADDR|R_MIPS_26) .text diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/bge.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/bge.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/bge.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/bge.d Mon May 21 10:36:59 2001 @@ -6,48 +6,48 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> slt \$at,\$a0,\$a1 -0+0004 <[^>]*> beqz \$at,0+0000 +0+0000 <[^>]*> slt at,a0,a1 +0+0004 <[^>]*> beqz at,0+0000 0+0008 <[^>]*> nop -0+000c <[^>]*> bgez \$a0,0+0000 +0+000c <[^>]*> bgez a0,0+0000 0+0010 <[^>]*> nop -0+0014 <[^>]*> blez \$a1,0+0000 +0+0014 <[^>]*> blez a1,0+0000 0+0018 <[^>]*> nop -0+001c <[^>]*> bgez \$a0,0+0000 +0+001c <[^>]*> bgez a0,0+0000 0+0020 <[^>]*> nop -0+0024 <[^>]*> bgtz \$a0,0+0000 +0+0024 <[^>]*> bgtz a0,0+0000 0+0028 <[^>]*> nop -0+002c <[^>]*> slti \$at,\$a0,2 -0+0030 <[^>]*> beqz \$at,0+0000 +0+002c <[^>]*> slti at,a0,2 +0+0030 <[^>]*> beqz at,0+0000 0+0034 <[^>]*> nop -0+0038 <[^>]*> li \$at,0x8000 -0+003c <[^>]*> slt \$at,\$a0,\$at -0+0040 <[^>]*> beqz \$at,0+0000 +0+0038 <[^>]*> li at,0x8000 +0+003c <[^>]*> slt at,a0,at +0+0040 <[^>]*> beqz at,0+0000 0+0044 <[^>]*> nop -0+0048 <[^>]*> slti \$at,\$a0,-32768 -0+004c <[^>]*> beqz \$at,0+0000 +0+0048 <[^>]*> slti at,a0,-32768 +0+004c <[^>]*> beqz at,0+0000 0+0050 <[^>]*> nop -0+0054 <[^>]*> lui \$at,0x1 -0+0058 <[^>]*> slt \$at,\$a0,\$at -0+005c <[^>]*> beqz \$at,0+0000 +0+0054 <[^>]*> lui at,0x1 +0+0058 <[^>]*> slt at,a0,at +0+005c <[^>]*> beqz at,0+0000 0+0060 <[^>]*> nop -0+0064 <[^>]*> lui \$at,0x1 -0+0068 <[^>]*> ori \$at,\$at,0xa5a5 -0+006c <[^>]*> slt \$at,\$a0,\$at -0+0070 <[^>]*> beqz \$at,0+0000 +0+0064 <[^>]*> lui at,0x1 +0+0068 <[^>]*> ori at,at,0xa5a5 +0+006c <[^>]*> slt at,a0,at +0+0070 <[^>]*> beqz at,0+0000 0+0074 <[^>]*> nop -0+0078 <[^>]*> slt \$at,\$a1,\$a0 -0+007c <[^>]*> bnez \$at,0+0000 +0+0078 <[^>]*> slt at,a1,a0 +0+007c <[^>]*> bnez at,0+0000 0+0080 <[^>]*> nop -0+0084 <[^>]*> bgtz \$a0,0+0000 +0+0084 <[^>]*> bgtz a0,0+0000 0+0088 <[^>]*> nop -0+008c <[^>]*> bltz \$a1,0+0000 +0+008c <[^>]*> bltz a1,0+0000 0+0090 <[^>]*> nop -0+0094 <[^>]*> bgtz \$a0,0+0000 +0+0094 <[^>]*> bgtz a0,0+0000 0+0098 <[^>]*> nop -0+009c <[^>]*> slt \$at,\$a0,\$a1 -0+00a0 <[^>]*> beqzl \$at,0+0000 +0+009c <[^>]*> slt at,a0,a1 +0+00a0 <[^>]*> beqzl at,0+0000 0+00a4 <[^>]*> nop -0+00a8 <[^>]*> slt \$at,\$a1,\$a0 -0+00ac <[^>]*> bnezl \$at,0+0000 +0+00a8 <[^>]*> slt at,a1,a0 +0+00ac <[^>]*> bnezl at,0+0000 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/bgeu.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/bgeu.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/bgeu.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/bgeu.d Mon May 21 10:36:59 2001 @@ -6,42 +6,42 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> sltu \$at,\$a0,\$a1 -0+0004 <[^>]*> beqz \$at,0+0000 +0+0000 <[^>]*> sltu at,a0,a1 +0+0004 <[^>]*> beqz at,0+0000 0+0008 <[^>]*> nop -0+000c <[^>]*> beq \$zero,\$a1,0+0000 +0+000c <[^>]*> beq zero,a1,0+0000 0+0010 <[^>]*> nop -0+0014 <[^>]*> bnez \$a0,0+0000 +0+0014 <[^>]*> bnez a0,0+0000 0+0018 <[^>]*> nop -0+001c <[^>]*> sltiu \$at,\$a0,2 -0+0020 <[^>]*> beqz \$at,0+0000 +0+001c <[^>]*> sltiu at,a0,2 +0+0020 <[^>]*> beqz at,0+0000 0+0024 <[^>]*> nop -0+0028 <[^>]*> li \$at,0x8000 -0+002c <[^>]*> sltu \$at,\$a0,\$at -0+0030 <[^>]*> beqz \$at,0+0000 +0+0028 <[^>]*> li at,0x8000 +0+002c <[^>]*> sltu at,a0,at +0+0030 <[^>]*> beqz at,0+0000 0+0034 <[^>]*> nop -0+0038 <[^>]*> sltiu \$at,\$a0,-32768 -0+003c <[^>]*> beqz \$at,0+0000 +0+0038 <[^>]*> sltiu at,a0,-32768 +0+003c <[^>]*> beqz at,0+0000 0+0040 <[^>]*> nop -0+0044 <[^>]*> lui \$at,0x1 -0+0048 <[^>]*> sltu \$at,\$a0,\$at -0+004c <[^>]*> beqz \$at,0+0000 +0+0044 <[^>]*> lui at,0x1 +0+0048 <[^>]*> sltu at,a0,at +0+004c <[^>]*> beqz at,0+0000 0+0050 <[^>]*> nop -0+0054 <[^>]*> lui \$at,0x1 -0+0058 <[^>]*> ori \$at,\$at,0xa5a5 -0+005c <[^>]*> sltu \$at,\$a0,\$at -0+0060 <[^>]*> beqz \$at,0+0000 +0+0054 <[^>]*> lui at,0x1 +0+0058 <[^>]*> ori at,at,0xa5a5 +0+005c <[^>]*> sltu at,a0,at +0+0060 <[^>]*> beqz at,0+0000 0+0064 <[^>]*> nop -0+0068 <[^>]*> sltu \$at,\$a1,\$a0 -0+006c <[^>]*> bnez \$at,0+0000 +0+0068 <[^>]*> sltu at,a1,a0 +0+006c <[^>]*> bnez at,0+0000 0+0070 <[^>]*> nop -0+0074 <[^>]*> bnez \$a0,0+0000 +0+0074 <[^>]*> bnez a0,0+0000 0+0078 <[^>]*> nop -0+007c <[^>]*> bnez \$a0,0+0000 +0+007c <[^>]*> bnez a0,0+0000 0+0080 <[^>]*> nop -0+0084 <[^>]*> sltu \$at,\$a0,\$a1 -0+0088 <[^>]*> beqzl \$at,0+0000 +0+0084 <[^>]*> sltu at,a0,a1 +0+0088 <[^>]*> beqzl at,0+0000 0+008c <[^>]*> nop -0+0090 <[^>]*> sltu \$at,\$a1,\$a0 -0+0094 <[^>]*> bnezl \$at,0+0000 +0+0090 <[^>]*> sltu at,a1,a0 +0+0094 <[^>]*> bnezl at,0+0000 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/blt.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/blt.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/blt.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/blt.d Mon May 21 10:36:59 2001 @@ -6,48 +6,48 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> slt \$at,\$a0,\$a1 -0+0004 <[^>]*> bnez \$at,0+0000 +0+0000 <[^>]*> slt at,a0,a1 +0+0004 <[^>]*> bnez at,0+0000 0+0008 <[^>]*> nop -0+000c <[^>]*> bltz \$a0,0+0000 +0+000c <[^>]*> bltz a0,0+0000 0+0010 <[^>]*> nop -0+0014 <[^>]*> bgtz \$a1,0+0000 +0+0014 <[^>]*> bgtz a1,0+0000 0+0018 <[^>]*> nop -0+001c <[^>]*> bltz \$a0,0+0000 +0+001c <[^>]*> bltz a0,0+0000 0+0020 <[^>]*> nop -0+0024 <[^>]*> blez \$a0,0+0000 +0+0024 <[^>]*> blez a0,0+0000 0+0028 <[^>]*> nop -0+002c <[^>]*> slti \$at,\$a0,2 -0+0030 <[^>]*> bnez \$at,0+0000 +0+002c <[^>]*> slti at,a0,2 +0+0030 <[^>]*> bnez at,0+0000 0+0034 <[^>]*> nop -0+0038 <[^>]*> li \$at,0x8000 -0+003c <[^>]*> slt \$at,\$a0,\$at -0+0040 <[^>]*> bnez \$at,0+0000 +0+0038 <[^>]*> li at,0x8000 +0+003c <[^>]*> slt at,a0,at +0+0040 <[^>]*> bnez at,0+0000 0+0044 <[^>]*> nop -0+0048 <[^>]*> slti \$at,\$a0,-32768 -0+004c <[^>]*> bnez \$at,0+0000 +0+0048 <[^>]*> slti at,a0,-32768 +0+004c <[^>]*> bnez at,0+0000 0+0050 <[^>]*> nop -0+0054 <[^>]*> lui \$at,0x1 -0+0058 <[^>]*> slt \$at,\$a0,\$at -0+005c <[^>]*> bnez \$at,0+0000 +0+0054 <[^>]*> lui at,0x1 +0+0058 <[^>]*> slt at,a0,at +0+005c <[^>]*> bnez at,0+0000 0+0060 <[^>]*> nop -0+0064 <[^>]*> lui \$at,0x1 -0+0068 <[^>]*> ori \$at,\$at,0xa5a5 -0+006c <[^>]*> slt \$at,\$a0,\$at -0+0070 <[^>]*> bnez \$at,0+0000 +0+0064 <[^>]*> lui at,0x1 +0+0068 <[^>]*> ori at,at,0xa5a5 +0+006c <[^>]*> slt at,a0,at +0+0070 <[^>]*> bnez at,0+0000 0+0074 <[^>]*> nop -0+0078 <[^>]*> slt \$at,\$a1,\$a0 -0+007c <[^>]*> beqz \$at,0+0000 +0+0078 <[^>]*> slt at,a1,a0 +0+007c <[^>]*> beqz at,0+0000 0+0080 <[^>]*> nop -0+0084 <[^>]*> blez \$a0,0+0000 +0+0084 <[^>]*> blez a0,0+0000 0+0088 <[^>]*> nop -0+008c <[^>]*> bgez \$a1,0+0000 +0+008c <[^>]*> bgez a1,0+0000 0+0090 <[^>]*> nop -0+0094 <[^>]*> blez \$a0,0+0000 +0+0094 <[^>]*> blez a0,0+0000 0+0098 <[^>]*> nop -0+009c <[^>]*> slt \$at,\$a0,\$a1 -0+00a0 <[^>]*> bnezl \$at,0+0000 +0+009c <[^>]*> slt at,a0,a1 +0+00a0 <[^>]*> bnezl at,0+0000 0+00a4 <[^>]*> nop -0+00a8 <[^>]*> slt \$at,\$a1,\$a0 -0+00ac <[^>]*> beqzl \$at,0+0000 +0+00a8 <[^>]*> slt at,a1,a0 +0+00ac <[^>]*> beqzl at,0+0000 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/bltu.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/bltu.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/bltu.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/bltu.d Mon May 21 10:36:59 2001 @@ -6,42 +6,42 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> sltu \$at,\$a0,\$a1 -0+0004 <[^>]*> bnez \$at,0+0000 +0+0000 <[^>]*> sltu at,a0,a1 +0+0004 <[^>]*> bnez at,0+0000 0+0008 <[^>]*> nop -0+000c <[^>]*> bne \$zero,\$a1,0+0000 +0+000c <[^>]*> bne zero,a1,0+0000 0+0010 <[^>]*> nop -0+0014 <[^>]*> beqz \$a0,0+0000 +0+0014 <[^>]*> beqz a0,0+0000 0+0018 <[^>]*> nop -0+001c <[^>]*> sltiu \$at,\$a0,2 -0+0020 <[^>]*> bnez \$at,0+0000 +0+001c <[^>]*> sltiu at,a0,2 +0+0020 <[^>]*> bnez at,0+0000 0+0024 <[^>]*> nop -0+0028 <[^>]*> li \$at,0x8000 -0+002c <[^>]*> sltu \$at,\$a0,\$at -0+0030 <[^>]*> bnez \$at,0+0000 +0+0028 <[^>]*> li at,0x8000 +0+002c <[^>]*> sltu at,a0,at +0+0030 <[^>]*> bnez at,0+0000 0+0034 <[^>]*> nop -0+0038 <[^>]*> sltiu \$at,\$a0,-32768 -0+003c <[^>]*> bnez \$at,0+0000 +0+0038 <[^>]*> sltiu at,a0,-32768 +0+003c <[^>]*> bnez at,0+0000 0+0040 <[^>]*> nop -0+0044 <[^>]*> lui \$at,0x1 -0+0048 <[^>]*> sltu \$at,\$a0,\$at -0+004c <[^>]*> bnez \$at,0+0000 +0+0044 <[^>]*> lui at,0x1 +0+0048 <[^>]*> sltu at,a0,at +0+004c <[^>]*> bnez at,0+0000 0+0050 <[^>]*> nop -0+0054 <[^>]*> lui \$at,0x1 -0+0058 <[^>]*> ori \$at,\$at,0xa5a5 -0+005c <[^>]*> sltu \$at,\$a0,\$at -0+0060 <[^>]*> bnez \$at,0+0000 +0+0054 <[^>]*> lui at,0x1 +0+0058 <[^>]*> ori at,at,0xa5a5 +0+005c <[^>]*> sltu at,a0,at +0+0060 <[^>]*> bnez at,0+0000 0+0064 <[^>]*> nop -0+0068 <[^>]*> sltu \$at,\$a1,\$a0 -0+006c <[^>]*> beqz \$at,0+0000 +0+0068 <[^>]*> sltu at,a1,a0 +0+006c <[^>]*> beqz at,0+0000 0+0070 <[^>]*> nop -0+0074 <[^>]*> beqz \$a0,0+0000 +0+0074 <[^>]*> beqz a0,0+0000 0+0078 <[^>]*> nop -0+007c <[^>]*> beqz \$a0,0+0000 +0+007c <[^>]*> beqz a0,0+0000 0+0080 <[^>]*> nop -0+0084 <[^>]*> sltu \$at,\$a0,\$a1 -0+0088 <[^>]*> bnezl \$at,0+0000 +0+0084 <[^>]*> sltu at,a0,a1 +0+0088 <[^>]*> bnezl at,0+0000 0+008c <[^>]*> nop -0+0090 <[^>]*> sltu \$at,\$a1,\$a0 -0+0094 <[^>]*> beqzl \$at,0+0000 +0+0090 <[^>]*> sltu at,a1,a0 +0+0094 <[^>]*> beqzl at,0+0000 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/delay.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/delay.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/delay.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/delay.d Mon May 21 10:36:59 2001 @@ -11,10 +11,10 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> mtc1 \$zero,\$f0 +0+0000 <[^>]*> mtc1 zero,\$f0 0+0004 <[^>]*> nop 0+0008 <[^>]*> cvt.d.w \$f0,\$f0 -0+000c <[^>]*> mtc1 \$zero,\$f1 +0+000c <[^>]*> mtc1 zero,\$f1 0+0010 <[^>]*> nop 0+0014 <[^>]*> cvt.d.w \$f1,\$f1 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/div-ilocks.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/div-ilocks.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/div-ilocks.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/div-ilocks.d Mon May 21 10:36:59 2001 @@ -7,104 +7,104 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> div \$zero,\$a0,\$a1 -0+0004 <[^>]*> bnez \$a1,0+0010 -0+0008 <[^>]*> div \$zero,\$a0,\$a1 +0+0000 <[^>]*> div zero,a0,a1 +0+0004 <[^>]*> bnez a1,0+0010 +0+0008 <[^>]*> div zero,a0,a1 0+000c <[^>]*> break (0x0,0x7|0x7) -0+0010 <[^>]*> li \$at,-1 -0+0014 <[^>]*> bne \$a1,\$at,0+0028 -0+0018 <[^>]*> lui \$at,0x8000 -0+001c <[^>]*> bne \$a0,\$at,0+0028 +0+0010 <[^>]*> li at,-1 +0+0014 <[^>]*> bne a1,at,0+0028 +0+0018 <[^>]*> lui at,0x8000 +0+001c <[^>]*> bne a0,at,0+0028 0+0020 <[^>]*> nop 0+0024 <[^>]*> break (0x0,0x6|0x6) -0+0028 <[^>]*> mflo \$a0 -0+002c <[^>]*> bnez \$a2,0+0038 -0+0030 <[^>]*> div \$zero,\$a1,\$a2 +0+0028 <[^>]*> mflo a0 +0+002c <[^>]*> bnez a2,0+0038 +0+0030 <[^>]*> div zero,a1,a2 0+0034 <[^>]*> break (0x0,0x7|0x7) -0+0038 <[^>]*> li \$at,-1 -0+003c <[^>]*> bne \$a2,\$at,0+0050 -0+0040 <[^>]*> lui \$at,0x8000 -0+0044 <[^>]*> bne \$a1,\$at,0+0050 +0+0038 <[^>]*> li at,-1 +0+003c <[^>]*> bne a2,at,0+0050 +0+0040 <[^>]*> lui at,0x8000 +0+0044 <[^>]*> bne a1,at,0+0050 0+0048 <[^>]*> nop 0+004c <[^>]*> break (0x0,0x6|0x6) -0+0050 <[^>]*> mflo \$a0 -0+0054 <[^>]*> move \$a0,\$a0 -0+0058 <[^>]*> move \$a0,\$a1 -0+005c <[^>]*> neg \$a0,\$a0 -0+0060 <[^>]*> neg \$a0,\$a1 -0+0064 <[^>]*> li \$at,2 -0+0068 <[^>]*> div \$zero,\$a0,\$at -0+006c <[^>]*> mflo \$a0 -0+0070 <[^>]*> li \$at,2 -0+0074 <[^>]*> div \$zero,\$a1,\$at -0+0078 <[^>]*> mflo \$a0 -0+007c <[^>]*> li \$at,0x8000 -0+0080 <[^>]*> div \$zero,\$a0,\$at -0+0084 <[^>]*> mflo \$a0 -0+0088 <[^>]*> li \$at,0x8000 -0+008c <[^>]*> div \$zero,\$a1,\$at -0+0090 <[^>]*> mflo \$a0 -0+0094 <[^>]*> li \$at,-32768 -0+0098 <[^>]*> div \$zero,\$a0,\$at -0+009c <[^>]*> mflo \$a0 -0+00a0 <[^>]*> li \$at,-32768 -0+00a4 <[^>]*> div \$zero,\$a1,\$at -0+00a8 <[^>]*> mflo \$a0 -0+00ac <[^>]*> lui \$at,0x1 -0+00b0 <[^>]*> div \$zero,\$a0,\$at -0+00b4 <[^>]*> mflo \$a0 -0+00b8 <[^>]*> lui \$at,0x1 -0+00bc <[^>]*> div \$zero,\$a1,\$at -0+00c0 <[^>]*> mflo \$a0 -0+00c4 <[^>]*> lui \$at,0x1 -0+00c8 <[^>]*> ori \$at,\$at,0xa5a5 -0+00cc <[^>]*> div \$zero,\$a0,\$at -0+00d0 <[^>]*> mflo \$a0 -0+00d4 <[^>]*> lui \$at,0x1 -0+00d8 <[^>]*> ori \$at,\$at,0xa5a5 -0+00dc <[^>]*> div \$zero,\$a1,\$at -0+00e0 <[^>]*> mflo \$a0 -0+00e4 <[^>]*> divu \$zero,\$a0,\$a1 -0+00e8 <[^>]*> bnez \$a1,0+0f4 -0+00ec <[^>]*> divu \$zero,\$a0,\$a1 +0+0050 <[^>]*> mflo a0 +0+0054 <[^>]*> move a0,a0 +0+0058 <[^>]*> move a0,a1 +0+005c <[^>]*> neg a0,a0 +0+0060 <[^>]*> neg a0,a1 +0+0064 <[^>]*> li at,2 +0+0068 <[^>]*> div zero,a0,at +0+006c <[^>]*> mflo a0 +0+0070 <[^>]*> li at,2 +0+0074 <[^>]*> div zero,a1,at +0+0078 <[^>]*> mflo a0 +0+007c <[^>]*> li at,0x8000 +0+0080 <[^>]*> div zero,a0,at +0+0084 <[^>]*> mflo a0 +0+0088 <[^>]*> li at,0x8000 +0+008c <[^>]*> div zero,a1,at +0+0090 <[^>]*> mflo a0 +0+0094 <[^>]*> li at,-32768 +0+0098 <[^>]*> div zero,a0,at +0+009c <[^>]*> mflo a0 +0+00a0 <[^>]*> li at,-32768 +0+00a4 <[^>]*> div zero,a1,at +0+00a8 <[^>]*> mflo a0 +0+00ac <[^>]*> lui at,0x1 +0+00b0 <[^>]*> div zero,a0,at +0+00b4 <[^>]*> mflo a0 +0+00b8 <[^>]*> lui at,0x1 +0+00bc <[^>]*> div zero,a1,at +0+00c0 <[^>]*> mflo a0 +0+00c4 <[^>]*> lui at,0x1 +0+00c8 <[^>]*> ori at,at,0xa5a5 +0+00cc <[^>]*> div zero,a0,at +0+00d0 <[^>]*> mflo a0 +0+00d4 <[^>]*> lui at,0x1 +0+00d8 <[^>]*> ori at,at,0xa5a5 +0+00dc <[^>]*> div zero,a1,at +0+00e0 <[^>]*> mflo a0 +0+00e4 <[^>]*> divu zero,a0,a1 +0+00e8 <[^>]*> bnez a1,0+0f4 +0+00ec <[^>]*> divu zero,a0,a1 0+00f0 <[^>]*> break (0x0,0x7|0x7) -0+00f4 <[^>]*> mflo \$a0 -0+00f8 <[^>]*> bnez \$a2,0+0104 -0+00fc <[^>]*> divu \$zero,\$a1,\$a2 +0+00f4 <[^>]*> mflo a0 +0+00f8 <[^>]*> bnez a2,0+0104 +0+00fc <[^>]*> divu zero,a1,a2 0+0100 <[^>]*> break (0x0,0x7|0x7) -0+0104 <[^>]*> mflo \$a0 -0+0108 <[^>]*> move \$a0,\$a0 -0+010c <[^>]*> bnez \$a2,0+0118 -0+0110 <[^>]*> div \$zero,\$a1,\$a2 +0+0104 <[^>]*> mflo a0 +0+0108 <[^>]*> move a0,a0 +0+010c <[^>]*> bnez a2,0+0118 +0+0110 <[^>]*> div zero,a1,a2 0+0114 <[^>]*> break (0x0,0x7|0x7) -0+0118 <[^>]*> li \$at,-1 -0+011c <[^>]*> bne \$a2,\$at,0+0130 -0+0120 <[^>]*> lui \$at,0x8000 -0+0124 <[^>]*> bne \$a1,\$at,0+0130 +0+0118 <[^>]*> li at,-1 +0+011c <[^>]*> bne a2,at,0+0130 +0+0120 <[^>]*> lui at,0x8000 +0+0124 <[^>]*> bne a1,at,0+0130 0+0128 <[^>]*> nop 0+012c <[^>]*> break (0x0,0x6|0x6) -0+0130 <[^>]*> mfhi \$a0 -0+0134 <[^>]*> li \$at,2 -0+0138 <[^>]*> divu \$zero,\$a1,\$at -0+013c <[^>]*> mfhi \$a0 -0+0140 <[^>]*> bnez \$a2,0+014c -0+0144 <[^>]*> ddiv \$zero,\$a1,\$a2 +0+0130 <[^>]*> mfhi a0 +0+0134 <[^>]*> li at,2 +0+0138 <[^>]*> divu zero,a1,at +0+013c <[^>]*> mfhi a0 +0+0140 <[^>]*> bnez a2,0+014c +0+0144 <[^>]*> ddiv zero,a1,a2 0+0148 <[^>]*> break (0x0,0x7|0x7) -0+014c <[^>]*> daddiu \$at,\$zero,-1 -0+0150 <[^>]*> bne \$a2,\$at,0+0168 -0+0154 <[^>]*> daddiu \$at,\$zero,1 -0+0158 <[^>]*> dsll32 \$at,\$at,0x1f -0+015c <[^>]*> bne \$a1,\$at,0+0168 +0+014c <[^>]*> daddiu at,zero,-1 +0+0150 <[^>]*> bne a2,at,0+0168 +0+0154 <[^>]*> daddiu at,zero,1 +0+0158 <[^>]*> dsll32 at,at,0x1f +0+015c <[^>]*> bne a1,at,0+0168 0+0160 <[^>]*> nop 0+0164 <[^>]*> break (0x0,0x6|0x6) -0+0168 <[^>]*> mflo \$a0 -0+016c <[^>]*> li \$at,2 -0+0170 <[^>]*> ddivu \$zero,\$a1,\$at -0+0174 <[^>]*> mflo \$a0 -0+0178 <[^>]*> li \$at,0x8000 -0+017c <[^>]*> ddiv \$zero,\$a1,\$at -0+0180 <[^>]*> mfhi \$a0 -0+0184 <[^>]*> li \$at,-32768 -0+0188 <[^>]*> ddivu \$zero,\$a1,\$at -0+018c <[^>]*> mfhi \$a0 +0+0168 <[^>]*> mflo a0 +0+016c <[^>]*> li at,2 +0+0170 <[^>]*> ddivu zero,a1,at +0+0174 <[^>]*> mflo a0 +0+0178 <[^>]*> li at,0x8000 +0+017c <[^>]*> ddiv zero,a1,at +0+0180 <[^>]*> mfhi a0 +0+0184 <[^>]*> li at,-32768 +0+0188 <[^>]*> ddivu zero,a1,at +0+018c <[^>]*> mfhi a0 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/div.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/div.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/div.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/div.d Mon May 21 10:36:59 2001 @@ -7,119 +7,119 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> div \$zero,\$a0,\$a1 -0+0004 <[^>]*> bnez \$a1,0+0010 -0+0008 <[^>]*> div \$zero,\$a0,\$a1 +0+0000 <[^>]*> div zero,a0,a1 +0+0004 <[^>]*> bnez a1,0+0010 +0+0008 <[^>]*> div zero,a0,a1 0+000c <[^>]*> break (0x0,0x7|0x7) -0+0010 <[^>]*> li \$at,-1 -0+0014 <[^>]*> bne \$a1,\$at,0+0028 -0+0018 <[^>]*> lui \$at,0x8000 -0+001c <[^>]*> bne \$a0,\$at,0+0028 +0+0010 <[^>]*> li at,-1 +0+0014 <[^>]*> bne a1,at,0+0028 +0+0018 <[^>]*> lui at,0x8000 +0+001c <[^>]*> bne a0,at,0+0028 0+0020 <[^>]*> nop 0+0024 <[^>]*> break (0x0,0x6|0x6) -0+0028 <[^>]*> mflo \$a0 +0+0028 <[^>]*> mflo a0 0+002c <[^>]*> nop -0+0030 <[^>]*> bnez \$a2,0+003c -0+0034 <[^>]*> div \$zero,\$a1,\$a2 +0+0030 <[^>]*> bnez a2,0+003c +0+0034 <[^>]*> div zero,a1,a2 0+0038 <[^>]*> break (0x0,0x7|0x7) -0+003c <[^>]*> li \$at,-1 -0+0040 <[^>]*> bne \$a2,\$at,0+0054 -0+0044 <[^>]*> lui \$at,0x8000 -0+0048 <[^>]*> bne \$a1,\$at,0+0054 +0+003c <[^>]*> li at,-1 +0+0040 <[^>]*> bne a2,at,0+0054 +0+0044 <[^>]*> lui at,0x8000 +0+0048 <[^>]*> bne a1,at,0+0054 0+004c <[^>]*> nop 0+0050 <[^>]*> break (0x0,0x6|0x6) -0+0054 <[^>]*> mflo \$a0 -0+0058 <[^>]*> move \$a0,\$a0 -0+005c <[^>]*> move \$a0,\$a1 -0+0060 <[^>]*> neg \$a0,\$a0 -0+0064 <[^>]*> neg \$a0,\$a1 -0+0068 <[^>]*> li \$at,2 -0+006c <[^>]*> div \$zero,\$a0,\$at -0+0070 <[^>]*> mflo \$a0 -0+0074 <[^>]*> li \$at,2 +0+0054 <[^>]*> mflo a0 +0+0058 <[^>]*> move a0,a0 +0+005c <[^>]*> move a0,a1 +0+0060 <[^>]*> neg a0,a0 +0+0064 <[^>]*> neg a0,a1 +0+0068 <[^>]*> li at,2 +0+006c <[^>]*> div zero,a0,at +0+0070 <[^>]*> mflo a0 +0+0074 <[^>]*> li at,2 0+0078 <[^>]*> nop -0+007c <[^>]*> div \$zero,\$a1,\$at -0+0080 <[^>]*> mflo \$a0 -0+0084 <[^>]*> li \$at,0x8000 +0+007c <[^>]*> div zero,a1,at +0+0080 <[^>]*> mflo a0 +0+0084 <[^>]*> li at,0x8000 0+0088 <[^>]*> nop -0+008c <[^>]*> div \$zero,\$a0,\$at -0+0090 <[^>]*> mflo \$a0 -0+0094 <[^>]*> li \$at,0x8000 +0+008c <[^>]*> div zero,a0,at +0+0090 <[^>]*> mflo a0 +0+0094 <[^>]*> li at,0x8000 0+0098 <[^>]*> nop -0+009c <[^>]*> div \$zero,\$a1,\$at -0+00a0 <[^>]*> mflo \$a0 -0+00a4 <[^>]*> li \$at,-32768 +0+009c <[^>]*> div zero,a1,at +0+00a0 <[^>]*> mflo a0 +0+00a4 <[^>]*> li at,-32768 0+00a8 <[^>]*> nop -0+00ac <[^>]*> div \$zero,\$a0,\$at -0+00b0 <[^>]*> mflo \$a0 -0+00b4 <[^>]*> li \$at,-32768 +0+00ac <[^>]*> div zero,a0,at +0+00b0 <[^>]*> mflo a0 +0+00b4 <[^>]*> li at,-32768 0+00b8 <[^>]*> nop -0+00bc <[^>]*> div \$zero,\$a1,\$at -0+00c0 <[^>]*> mflo \$a0 -0+00c4 <[^>]*> lui \$at,0x1 +0+00bc <[^>]*> div zero,a1,at +0+00c0 <[^>]*> mflo a0 +0+00c4 <[^>]*> lui at,0x1 0+00c8 <[^>]*> nop -0+00cc <[^>]*> div \$zero,\$a0,\$at -0+00d0 <[^>]*> mflo \$a0 -0+00d4 <[^>]*> lui \$at,0x1 +0+00cc <[^>]*> div zero,a0,at +0+00d0 <[^>]*> mflo a0 +0+00d4 <[^>]*> lui at,0x1 0+00d8 <[^>]*> nop -0+00dc <[^>]*> div \$zero,\$a1,\$at -0+00e0 <[^>]*> mflo \$a0 -0+00e4 <[^>]*> lui \$at,0x1 -0+00e8 <[^>]*> ori \$at,\$at,0xa5a5 -0+00ec <[^>]*> div \$zero,\$a0,\$at -0+00f0 <[^>]*> mflo \$a0 -0+00f4 <[^>]*> lui \$at,0x1 -0+00f8 <[^>]*> ori \$at,\$at,0xa5a5 -0+00fc <[^>]*> div \$zero,\$a1,\$at -0+0100 <[^>]*> mflo \$a0 +0+00dc <[^>]*> div zero,a1,at +0+00e0 <[^>]*> mflo a0 +0+00e4 <[^>]*> lui at,0x1 +0+00e8 <[^>]*> ori at,at,0xa5a5 +0+00ec <[^>]*> div zero,a0,at +0+00f0 <[^>]*> mflo a0 +0+00f4 <[^>]*> lui at,0x1 +0+00f8 <[^>]*> ori at,at,0xa5a5 +0+00fc <[^>]*> div zero,a1,at +0+0100 <[^>]*> mflo a0 ... -0+010c <[^>]*> divu \$zero,\$a0,\$a1 -0+0110 <[^>]*> bnez \$a1,0+011c -0+0114 <[^>]*> divu \$zero,\$a0,\$a1 +0+010c <[^>]*> divu zero,a0,a1 +0+0110 <[^>]*> bnez a1,0+011c +0+0114 <[^>]*> divu zero,a0,a1 0+0118 <[^>]*> break (0x0,0x7|0x7) -0+011c <[^>]*> mflo \$a0 +0+011c <[^>]*> mflo a0 0+0120 <[^>]*> nop -0+0124 <[^>]*> bnez \$a2,0+0130 -0+0128 <[^>]*> divu \$zero,\$a1,\$a2 +0+0124 <[^>]*> bnez a2,0+0130 +0+0128 <[^>]*> divu zero,a1,a2 0+012c <[^>]*> break (0x0,0x7|0x7) -0+0130 <[^>]*> mflo \$a0 -0+0134 <[^>]*> move \$a0,\$a0 -0+0138 <[^>]*> bnez \$a2,0+0144 -0+013c <[^>]*> div \$zero,\$a1,\$a2 +0+0130 <[^>]*> mflo a0 +0+0134 <[^>]*> move a0,a0 +0+0138 <[^>]*> bnez a2,0+0144 +0+013c <[^>]*> div zero,a1,a2 0+0140 <[^>]*> break (0x0,0x7|0x7) -0+0144 <[^>]*> li \$at,-1 -0+0148 <[^>]*> bne \$a2,\$at,0+015c -0+014c <[^>]*> lui \$at,0x8000 -0+0150 <[^>]*> bne \$a1,\$at,0+015c +0+0144 <[^>]*> li at,-1 +0+0148 <[^>]*> bne a2,at,0+015c +0+014c <[^>]*> lui at,0x8000 +0+0150 <[^>]*> bne a1,at,0+015c 0+0154 <[^>]*> nop 0+0158 <[^>]*> break (0x0,0x6|0x6) -0+015c <[^>]*> mfhi \$a0 -0+0160 <[^>]*> li \$at,2 +0+015c <[^>]*> mfhi a0 +0+0160 <[^>]*> li at,2 0+0164 <[^>]*> nop -0+0168 <[^>]*> divu \$zero,\$a1,\$at -0+016c <[^>]*> mfhi \$a0 +0+0168 <[^>]*> divu zero,a1,at +0+016c <[^>]*> mfhi a0 0+0170 <[^>]*> nop -0+0174 <[^>]*> bnez \$a2,0+0180 -0+0178 <[^>]*> ddiv \$zero,\$a1,\$a2 +0+0174 <[^>]*> bnez a2,0+0180 +0+0178 <[^>]*> ddiv zero,a1,a2 0+017c <[^>]*> break (0x0,0x7|0x7) -0+0180 <[^>]*> daddiu \$at,\$zero,-1 -0+0184 <[^>]*> bne \$a2,\$at,0+019c -0+0188 <[^>]*> daddiu \$at,\$zero,1 -0+018c <[^>]*> dsll32 \$at,\$at,0x1f -0+0190 <[^>]*> bne \$a1,\$at,0+019c +0+0180 <[^>]*> daddiu at,zero,-1 +0+0184 <[^>]*> bne a2,at,0+019c +0+0188 <[^>]*> daddiu at,zero,1 +0+018c <[^>]*> dsll32 at,at,0x1f +0+0190 <[^>]*> bne a1,at,0+019c 0+0194 <[^>]*> nop 0+0198 <[^>]*> break (0x0,0x6|0x6) -0+019c <[^>]*> mflo \$a0 -0+01a0 <[^>]*> li \$at,2 +0+019c <[^>]*> mflo a0 +0+01a0 <[^>]*> li at,2 0+01a4 <[^>]*> nop -0+01a8 <[^>]*> ddivu \$zero,\$a1,\$at -0+01ac <[^>]*> mflo \$a0 -0+01b0 <[^>]*> li \$at,0x8000 +0+01a8 <[^>]*> ddivu zero,a1,at +0+01ac <[^>]*> mflo a0 +0+01b0 <[^>]*> li at,0x8000 0+01b4 <[^>]*> nop -0+01b8 <[^>]*> ddiv \$zero,\$a1,\$at -0+01bc <[^>]*> mfhi \$a0 -0+01c0 <[^>]*> li \$at,-32768 +0+01b8 <[^>]*> ddiv zero,a1,at +0+01bc <[^>]*> mfhi a0 +0+01c0 <[^>]*> li at,-32768 0+01c4 <[^>]*> nop -0+01c8 <[^>]*> ddivu \$zero,\$a1,\$at -0+01cc <[^>]*> mfhi \$a0 +0+01c8 <[^>]*> ddivu zero,a1,at +0+01cc <[^>]*> mfhi a0 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/dli.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/dli.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/dli.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/dli.d Mon May 21 10:36:59 2001 @@ -7,109 +7,109 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> li \$a0,0 -0+0004 <[^>]*> li \$a0,1 -0+0008 <[^>]*> li \$a0,-1 -0+000c <[^>]*> li \$a0,0x8000 -0+0010 <[^>]*> li \$a0,-32768 -0+0014 <[^>]*> lui \$a0,0x1 -0+0018 <[^>]*> lui \$a0,0x1 -0+001c <[^>]*> ori \$a0,\$a0,0xa5a5 -0+0020 <[^>]*> li \$a0,0x8000 -0+0024 <[^>]*> dsll \$a0,\$a0,0x10 -0+0028 <[^>]*> ori \$a0,\$a0,0x1234 -0+002c <[^>]*> lui \$a0,0xffff -0+0030 <[^>]*> dsrl32 \$a0,\$a0,0x0 -0+0034 <[^>]*> lui \$a0,0xffff -0+0038 <[^>]*> dsrl32 \$a0,\$a0,0x0 -0+003c <[^>]*> li \$a0,-1 -0+0040 <[^>]*> li \$a0,-1 -0+0044 <[^>]*> dsrl \$a0,\$a0,0xc -0+0048 <[^>]*> lui \$a0,0x8000 -0+004c <[^>]*> ori \$a0,\$a0,0x1234 -0+0050 <[^>]*> li \$a0,-32768 -0+0054 <[^>]*> dsll \$a0,\$a0,0x10 -0+0058 <[^>]*> ori \$a0,\$a0,0x1234 -0+005c <[^>]*> dsll \$a0,\$a0,0x10 -0+0060 <[^>]*> ori \$a0,\$a0,0x5678 -0+0064 <[^>]*> lui \$a0,0x8000 -0+0068 <[^>]*> ori \$a0,\$a0,0x1234 -0+006c <[^>]*> dsll \$a0,\$a0,0x10 -0+0070 <[^>]*> ori \$a0,\$a0,0x5678 -0+0074 <[^>]*> dsll \$a0,\$a0,0x10 -0+0078 <[^>]*> li \$a0,-30875 -0+007c <[^>]*> lui \$a0,0xffff -0+0080 <[^>]*> ori \$a0,\$a0,0x4321 -0+0084 <[^>]*> li \$a0,-16 -0+0088 <[^>]*> li \$a0,-256 -0+008c <[^>]*> li \$a0,-4096 -0+0090 <[^>]*> lui \$a0,0xffff -0+0094 <[^>]*> lui \$a0,0xfff0 -0+0098 <[^>]*> lui \$a0,0xff00 -0+009c <[^>]*> lui \$a0,0xf000 -0+00a0 <[^>]*> li \$a0,-1 -0+00a4 <[^>]*> dsll32 \$a0,\$a0,0x0 -0+00a8 <[^>]*> li \$a0,-16 -0+00ac <[^>]*> dsll32 \$a0,\$a0,0x0 -0+00b0 <[^>]*> li \$a0,-256 -0+00b4 <[^>]*> dsll32 \$a0,\$a0,0x0 -0+00b8 <[^>]*> li \$a0,-4096 -0+00bc <[^>]*> dsll32 \$a0,\$a0,0x0 -0+00c0 <[^>]*> li \$a0,0xffff -0+00c4 <[^>]*> dsll32 \$a0,\$a0,0x10 -0+00c8 <[^>]*> li \$a0,0xfff0 -0+00cc <[^>]*> dsll32 \$a0,\$a0,0x10 -0+00d0 <[^>]*> li \$a0,0xff00 -0+00d4 <[^>]*> dsll32 \$a0,\$a0,0x10 -0+00d8 <[^>]*> li \$a0,0xf000 -0+00dc <[^>]*> dsll32 \$a0,\$a0,0x10 -0+00e0 <[^>]*> li \$a0,-1 -0+00e4 <[^>]*> dsrl \$a0,\$a0,0x4 -0+00e8 <[^>]*> li \$a0,-1 -0+00ec <[^>]*> dsrl \$a0,\$a0,0x8 -0+00f0 <[^>]*> li \$a0,-1 -0+00f4 <[^>]*> dsrl \$a0,\$a0,0xc -0+00f8 <[^>]*> li \$a0,-1 -0+00fc <[^>]*> dsrl \$a0,\$a0,0x10 -0+0100 <[^>]*> li \$a0,-1 -0+0104 <[^>]*> dsrl \$a0,\$a0,0x14 -0+0108 <[^>]*> li \$a0,-1 -0+010c <[^>]*> dsrl \$a0,\$a0,0x18 -0+0110 <[^>]*> li \$a0,-1 -0+0114 <[^>]*> dsrl \$a0,\$a0,0x1c -0+0118 <[^>]*> lui \$a0,0xffff -0+011c <[^>]*> dsrl32 \$a0,\$a0,0x0 -0+0120 <[^>]*> lui \$a0,0xfff -0+0124 <[^>]*> ori \$a0,\$a0,0xffff -0+0128 <[^>]*> lui \$a0,0xff -0+012c <[^>]*> ori \$a0,\$a0,0xffff -0+0130 <[^>]*> lui \$a0,0xf -0+0134 <[^>]*> ori \$a0,\$a0,0xffff -0+0138 <[^>]*> li \$a0,0xffff -0+013c <[^>]*> li \$a0,4095 -0+0140 <[^>]*> li \$a0,255 -0+0144 <[^>]*> li \$a0,15 -0+0148 <[^>]*> lui \$a0,0x3 -0+014c <[^>]*> ori \$a0,\$a0,0xfffc -0+0150 <[^>]*> li \$a0,0xffff -0+0154 <[^>]*> dsll \$a0,\$a0,0x1e -0+0158 <[^>]*> li \$a0,0xffff -0+015c <[^>]*> dsll32 \$a0,\$a0,0x2 -0+0160 <[^>]*> li \$a0,0xffff -0+0164 <[^>]*> dsll32 \$a0,\$a0,0x6 -0+0168 <[^>]*> li \$a0,-1 -0+016c <[^>]*> dsll32 \$a0,\$a0,0x0 -0+0170 <[^>]*> dsrl \$a0,\$a0,0xa -0+0174 <[^>]*> li \$a0,-1 -0+0178 <[^>]*> dsll \$a0,\$a0,0x1c -0+017c <[^>]*> dsrl \$a0,\$a0,0xa -0+0180 <[^>]*> li \$a0,-1 -0+0184 <[^>]*> dsll \$a0,\$a0,0x18 -0+0188 <[^>]*> dsrl \$a0,\$a0,0xa -0+018c <[^>]*> lui \$a0,0x3f -0+0190 <[^>]*> ori \$a0,\$a0,0xfc03 -0+0194 <[^>]*> dsll \$a0,\$a0,0x10 -0+0198 <[^>]*> ori \$a0,\$a0,0xffff -0+019c <[^>]*> dsll \$a0,\$a0,0x10 -0+01a0 <[^>]*> ori \$a0,\$a0,0xc000 +0+0000 <[^>]*> li a0,0 +0+0004 <[^>]*> li a0,1 +0+0008 <[^>]*> li a0,-1 +0+000c <[^>]*> li a0,0x8000 +0+0010 <[^>]*> li a0,-32768 +0+0014 <[^>]*> lui a0,0x1 +0+0018 <[^>]*> lui a0,0x1 +0+001c <[^>]*> ori a0,a0,0xa5a5 +0+0020 <[^>]*> li a0,0x8000 +0+0024 <[^>]*> dsll a0,a0,0x10 +0+0028 <[^>]*> ori a0,a0,0x1234 +0+002c <[^>]*> lui a0,0xffff +0+0030 <[^>]*> dsrl32 a0,a0,0x0 +0+0034 <[^>]*> lui a0,0xffff +0+0038 <[^>]*> dsrl32 a0,a0,0x0 +0+003c <[^>]*> li a0,-1 +0+0040 <[^>]*> li a0,-1 +0+0044 <[^>]*> dsrl a0,a0,0xc +0+0048 <[^>]*> lui a0,0x8000 +0+004c <[^>]*> ori a0,a0,0x1234 +0+0050 <[^>]*> li a0,-32768 +0+0054 <[^>]*> dsll a0,a0,0x10 +0+0058 <[^>]*> ori a0,a0,0x1234 +0+005c <[^>]*> dsll a0,a0,0x10 +0+0060 <[^>]*> ori a0,a0,0x5678 +0+0064 <[^>]*> lui a0,0x8000 +0+0068 <[^>]*> ori a0,a0,0x1234 +0+006c <[^>]*> dsll a0,a0,0x10 +0+0070 <[^>]*> ori a0,a0,0x5678 +0+0074 <[^>]*> dsll a0,a0,0x10 +0+0078 <[^>]*> li a0,-30875 +0+007c <[^>]*> lui a0,0xffff +0+0080 <[^>]*> ori a0,a0,0x4321 +0+0084 <[^>]*> li a0,-16 +0+0088 <[^>]*> li a0,-256 +0+008c <[^>]*> li a0,-4096 +0+0090 <[^>]*> lui a0,0xffff +0+0094 <[^>]*> lui a0,0xfff0 +0+0098 <[^>]*> lui a0,0xff00 +0+009c <[^>]*> lui a0,0xf000 +0+00a0 <[^>]*> li a0,-1 +0+00a4 <[^>]*> dsll32 a0,a0,0x0 +0+00a8 <[^>]*> li a0,-16 +0+00ac <[^>]*> dsll32 a0,a0,0x0 +0+00b0 <[^>]*> li a0,-256 +0+00b4 <[^>]*> dsll32 a0,a0,0x0 +0+00b8 <[^>]*> li a0,-4096 +0+00bc <[^>]*> dsll32 a0,a0,0x0 +0+00c0 <[^>]*> li a0,0xffff +0+00c4 <[^>]*> dsll32 a0,a0,0x10 +0+00c8 <[^>]*> li a0,0xfff0 +0+00cc <[^>]*> dsll32 a0,a0,0x10 +0+00d0 <[^>]*> li a0,0xff00 +0+00d4 <[^>]*> dsll32 a0,a0,0x10 +0+00d8 <[^>]*> li a0,0xf000 +0+00dc <[^>]*> dsll32 a0,a0,0x10 +0+00e0 <[^>]*> li a0,-1 +0+00e4 <[^>]*> dsrl a0,a0,0x4 +0+00e8 <[^>]*> li a0,-1 +0+00ec <[^>]*> dsrl a0,a0,0x8 +0+00f0 <[^>]*> li a0,-1 +0+00f4 <[^>]*> dsrl a0,a0,0xc +0+00f8 <[^>]*> li a0,-1 +0+00fc <[^>]*> dsrl a0,a0,0x10 +0+0100 <[^>]*> li a0,-1 +0+0104 <[^>]*> dsrl a0,a0,0x14 +0+0108 <[^>]*> li a0,-1 +0+010c <[^>]*> dsrl a0,a0,0x18 +0+0110 <[^>]*> li a0,-1 +0+0114 <[^>]*> dsrl a0,a0,0x1c +0+0118 <[^>]*> lui a0,0xffff +0+011c <[^>]*> dsrl32 a0,a0,0x0 +0+0120 <[^>]*> lui a0,0xfff +0+0124 <[^>]*> ori a0,a0,0xffff +0+0128 <[^>]*> lui a0,0xff +0+012c <[^>]*> ori a0,a0,0xffff +0+0130 <[^>]*> lui a0,0xf +0+0134 <[^>]*> ori a0,a0,0xffff +0+0138 <[^>]*> li a0,0xffff +0+013c <[^>]*> li a0,4095 +0+0140 <[^>]*> li a0,255 +0+0144 <[^>]*> li a0,15 +0+0148 <[^>]*> lui a0,0x3 +0+014c <[^>]*> ori a0,a0,0xfffc +0+0150 <[^>]*> li a0,0xffff +0+0154 <[^>]*> dsll a0,a0,0x1e +0+0158 <[^>]*> li a0,0xffff +0+015c <[^>]*> dsll32 a0,a0,0x2 +0+0160 <[^>]*> li a0,0xffff +0+0164 <[^>]*> dsll32 a0,a0,0x6 +0+0168 <[^>]*> li a0,-1 +0+016c <[^>]*> dsll32 a0,a0,0x0 +0+0170 <[^>]*> dsrl a0,a0,0xa +0+0174 <[^>]*> li a0,-1 +0+0178 <[^>]*> dsll a0,a0,0x1c +0+017c <[^>]*> dsrl a0,a0,0xa +0+0180 <[^>]*> li a0,-1 +0+0184 <[^>]*> dsll a0,a0,0x18 +0+0188 <[^>]*> dsrl a0,a0,0xa +0+018c <[^>]*> lui a0,0x3f +0+0190 <[^>]*> ori a0,a0,0xfc03 +0+0194 <[^>]*> dsll a0,a0,0x10 +0+0198 <[^>]*> ori a0,a0,0xffff +0+019c <[^>]*> dsll a0,a0,0x10 +0+01a0 <[^>]*> ori a0,a0,0xc000 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/e32el-rel2.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/e32el-rel2.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/e32el-rel2.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/e32el-rel2.d Fri May 25 12:07:03 2001 @@ -0,0 +1,30 @@ +#objdump: -sr -j .text +#name: MIPS ELF reloc 2 (32-bit) +#source: elf-rel2.s + +# Test the GPREL and LITERAL generation. +# FIXME: really this should check that the contents of .sdata, .lit4, +# and .lit8 are correct too. + +.*: file format elf.*mips + +RELOCATION RECORDS FOR \[\.text\]: +OFFSET TYPE VALUE +0+0000000 R_MIPS_LITERAL \.lit8\+0x0+0004000 +0+0000004 R_MIPS_LITERAL \.lit8\+0x0+0004000 +0+0000008 R_MIPS_LITERAL \.lit8\+0x0+0004000 +0+000000c R_MIPS_LITERAL \.lit8\+0x0+0004000 +0+0000010 R_MIPS_LITERAL \.lit8\+0x0+0004000 +0+0000014 R_MIPS_LITERAL \.lit8\+0x0+0004000 +0+0000018 R_MIPS_LITERAL \.lit4\+0x0+0004000 +0+000001c R_MIPS_LITERAL \.lit4\+0x0+0004000 +0+0000020 R_MIPS_LITERAL \.lit4\+0x0+0004000 +0+0000024 R_MIPS_GPREL16 \.sdata\+0x0+0004000 +0+0000028 R_MIPS_GPREL16 \.sdata\+0x0+0004000 +0+000002c R_MIPS_GPREL16 \.sdata\+0x0+0004000 + + +Contents of section \.text: + 0000 00c082c7 04c083c7 08c082c7 0cc083c7 .* + 0010 10c082c7 14c083c7 00c082c7 04c082c7 .* + 0020 08c082c7 00c0828f 04c0828f 08c0828f .* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf-jal.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf-jal.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf-jal.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf-jal.d Sat Jun 9 00:13:01 2001 @@ -0,0 +1,25 @@ +#objdump: -dr --prefix-addresses -mmips:4000 +#name: MIPS jal +#source: jal.s + +# Test the jal macro. + +.*: +file format .*mips.* + +Disassembly of section .text: +0+0000 <[^>]*> jalr t9 +0+0004 <[^>]*> nop +0+0008 <[^>]*> jalr a0,t9 +0+000c <[^>]*> nop +0+0010 <[^>]*> jal 0+ +[ ]*10: (MIPS_JMP|MIPS_JMP|JMPADDR|R_MIPS_26) text_label +0+0014 <[^>]*> nop +0+0018 <[^>]*> jal 0+ +[ ]*18: (MIPS_JMP|JMPADDR|R_MIPS_26) external_text_label +0+001c <[^>]*> nop +0+0020 <[^>]*> j 0+ +[ ]*20: (MIPS_JMP|JMPADDR|R_MIPS_26) text_label +0+0024 <[^>]*> nop +0+0028 <[^>]*> j 0+ +[ ]*28: (MIPS_JMP|JMPADDR|R_MIPS_26) external_text_label +0+002c <[^>]*> nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf-rel.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf-rel.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf-rel.d Sat Oct 9 09:13:45 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf-rel.d Fri May 25 12:06:57 2001 @@ -40,3 +40,2045 @@ Contents of section \.text: 0030 3c010001 3c010001 3c010002 3c010002 .* 0040 3c010001 3c010001 2021bffe 2021c002 .* 0050 2021bffe 2021c002 20213ffe 2021bffa .* + 0060 00000000 00000000 00000000 00000000 ................ + 0070 00000000 00000000 00000000 00000000 ................ + 0080 00000000 00000000 00000000 00000000 ................ + 0090 00000000 00000000 00000000 00000000 ................ + 00a0 00000000 00000000 00000000 00000000 ................ + 00b0 00000000 00000000 00000000 00000000 ................ + 00c0 00000000 00000000 00000000 00000000 ................ + 00d0 00000000 00000000 00000000 00000000 ................ + 00e0 00000000 00000000 00000000 00000000 ................ + 00f0 00000000 00000000 00000000 00000000 ................ + 0100 00000000 00000000 00000000 00000000 ................ + 0110 00000000 00000000 00000000 00000000 ................ + 0120 00000000 00000000 00000000 00000000 ................ + 0130 00000000 00000000 00000000 00000000 ................ + 0140 00000000 00000000 00000000 00000000 ................ + 0150 00000000 00000000 00000000 00000000 ................ + 0160 00000000 00000000 00000000 00000000 ................ + 0170 00000000 00000000 00000000 00000000 ................ + 0180 00000000 00000000 00000000 00000000 ................ + 0190 00000000 00000000 00000000 00000000 ................ + 01a0 00000000 00000000 00000000 00000000 ................ + 01b0 00000000 00000000 00000000 00000000 ................ + 01c0 00000000 00000000 00000000 00000000 ................ + 01d0 00000000 00000000 00000000 00000000 ................ + 01e0 00000000 00000000 00000000 00000000 ................ + 01f0 00000000 00000000 00000000 00000000 ................ + 0200 00000000 00000000 00000000 00000000 ................ + 0210 00000000 00000000 00000000 00000000 ................ + 0220 00000000 00000000 00000000 00000000 ................ + 0230 00000000 00000000 00000000 00000000 ................ + 0240 00000000 00000000 00000000 00000000 ................ + 0250 00000000 00000000 00000000 00000000 ................ + 0260 00000000 00000000 00000000 00000000 ................ + 0270 00000000 00000000 00000000 00000000 ................ + 0280 00000000 00000000 00000000 00000000 ................ + 0290 00000000 00000000 00000000 00000000 ................ + 02a0 00000000 00000000 00000000 00000000 ................ + 02b0 00000000 00000000 00000000 00000000 ................ + 02c0 00000000 00000000 00000000 00000000 ................ + 02d0 00000000 00000000 00000000 00000000 ................ + 02e0 00000000 00000000 00000000 00000000 ................ + 02f0 00000000 00000000 00000000 00000000 ................ + 0300 00000000 00000000 00000000 00000000 ................ + 0310 00000000 00000000 00000000 00000000 ................ + 0320 00000000 00000000 00000000 00000000 ................ + 0330 00000000 00000000 00000000 00000000 ................ + 0340 00000000 00000000 00000000 00000000 ................ + 0350 00000000 00000000 00000000 00000000 ................ + 0360 00000000 00000000 00000000 00000000 ................ + 0370 00000000 00000000 00000000 00000000 ................ + 0380 00000000 00000000 00000000 00000000 ................ + 0390 00000000 00000000 00000000 00000000 ................ + 03a0 00000000 00000000 00000000 00000000 ................ + 03b0 00000000 00000000 00000000 00000000 ................ + 03c0 00000000 00000000 00000000 00000000 ................ + 03d0 00000000 00000000 00000000 00000000 ................ + 03e0 00000000 00000000 00000000 00000000 ................ + 03f0 00000000 00000000 00000000 00000000 ................ + 0400 00000000 00000000 00000000 00000000 ................ + 0410 00000000 00000000 00000000 00000000 ................ + 0420 00000000 00000000 00000000 00000000 ................ + 0430 00000000 00000000 00000000 00000000 ................ + 0440 00000000 00000000 00000000 00000000 ................ + 0450 00000000 00000000 00000000 00000000 ................ + 0460 00000000 00000000 00000000 00000000 ................ + 0470 00000000 00000000 00000000 00000000 ................ + 0480 00000000 00000000 00000000 00000000 ................ + 0490 00000000 00000000 00000000 00000000 ................ + 04a0 00000000 00000000 00000000 00000000 ................ + 04b0 00000000 00000000 00000000 00000000 ................ + 04c0 00000000 00000000 00000000 00000000 ................ + 04d0 00000000 00000000 00000000 00000000 ................ + 04e0 00000000 00000000 00000000 00000000 ................ + 04f0 00000000 00000000 00000000 00000000 ................ + 0500 00000000 00000000 00000000 00000000 ................ + 0510 00000000 00000000 00000000 00000000 ................ + 0520 00000000 00000000 00000000 00000000 ................ + 0530 00000000 00000000 00000000 00000000 ................ + 0540 00000000 00000000 00000000 00000000 ................ + 0550 00000000 00000000 00000000 00000000 ................ + 0560 00000000 00000000 00000000 00000000 ................ + 0570 00000000 00000000 00000000 00000000 ................ + 0580 00000000 00000000 00000000 00000000 ................ + 0590 00000000 00000000 00000000 00000000 ................ + 05a0 00000000 00000000 00000000 00000000 ................ + 05b0 00000000 00000000 00000000 00000000 ................ + 05c0 00000000 00000000 00000000 00000000 ................ + 05d0 00000000 00000000 00000000 00000000 ................ + 05e0 00000000 00000000 00000000 00000000 ................ + 05f0 00000000 00000000 00000000 00000000 ................ + 0600 00000000 00000000 00000000 00000000 ................ + 0610 00000000 00000000 00000000 00000000 ................ + 0620 00000000 00000000 00000000 00000000 ................ + 0630 00000000 00000000 00000000 00000000 ................ + 0640 00000000 00000000 00000000 00000000 ................ + 0650 00000000 00000000 00000000 00000000 ................ + 0660 00000000 00000000 00000000 00000000 ................ + 0670 00000000 00000000 00000000 00000000 ................ + 0680 00000000 00000000 00000000 00000000 ................ + 0690 00000000 00000000 00000000 00000000 ................ + 06a0 00000000 00000000 00000000 00000000 ................ + 06b0 00000000 00000000 00000000 00000000 ................ + 06c0 00000000 00000000 00000000 00000000 ................ + 06d0 00000000 00000000 00000000 00000000 ................ + 06e0 00000000 00000000 00000000 00000000 ................ + 06f0 00000000 00000000 00000000 00000000 ................ + 0700 00000000 00000000 00000000 00000000 ................ + 0710 00000000 00000000 00000000 00000000 ................ + 0720 00000000 00000000 00000000 00000000 ................ + 0730 00000000 00000000 00000000 00000000 ................ + 0740 00000000 00000000 00000000 00000000 ................ + 0750 00000000 00000000 00000000 00000000 ................ + 0760 00000000 00000000 00000000 00000000 ................ + 0770 00000000 00000000 00000000 00000000 ................ + 0780 00000000 00000000 00000000 00000000 ................ + 0790 00000000 00000000 00000000 00000000 ................ + 07a0 00000000 00000000 00000000 00000000 ................ + 07b0 00000000 00000000 00000000 00000000 ................ + 07c0 00000000 00000000 00000000 00000000 ................ + 07d0 00000000 00000000 00000000 00000000 ................ + 07e0 00000000 00000000 00000000 00000000 ................ + 07f0 00000000 00000000 00000000 00000000 ................ + 0800 00000000 00000000 00000000 00000000 ................ + 0810 00000000 00000000 00000000 00000000 ................ + 0820 00000000 00000000 00000000 00000000 ................ + 0830 00000000 00000000 00000000 00000000 ................ + 0840 00000000 00000000 00000000 00000000 ................ + 0850 00000000 00000000 00000000 00000000 ................ + 0860 00000000 00000000 00000000 00000000 ................ + 0870 00000000 00000000 00000000 00000000 ................ + 0880 00000000 00000000 00000000 00000000 ................ + 0890 00000000 00000000 00000000 00000000 ................ + 08a0 00000000 00000000 00000000 00000000 ................ + 08b0 00000000 00000000 00000000 00000000 ................ + 08c0 00000000 00000000 00000000 00000000 ................ + 08d0 00000000 00000000 00000000 00000000 ................ + 08e0 00000000 00000000 00000000 00000000 ................ + 08f0 00000000 00000000 00000000 00000000 ................ + 0900 00000000 00000000 00000000 00000000 ................ + 0910 00000000 00000000 00000000 00000000 ................ + 0920 00000000 00000000 00000000 00000000 ................ + 0930 00000000 00000000 00000000 00000000 ................ + 0940 00000000 00000000 00000000 00000000 ................ + 0950 00000000 00000000 00000000 00000000 ................ + 0960 00000000 00000000 00000000 00000000 ................ + 0970 00000000 00000000 00000000 00000000 ................ + 0980 00000000 00000000 00000000 00000000 ................ + 0990 00000000 00000000 00000000 00000000 ................ + 09a0 00000000 00000000 00000000 00000000 ................ + 09b0 00000000 00000000 00000000 00000000 ................ + 09c0 00000000 00000000 00000000 00000000 ................ + 09d0 00000000 00000000 00000000 00000000 ................ + 09e0 00000000 00000000 00000000 00000000 ................ + 09f0 00000000 00000000 00000000 00000000 ................ + 0a00 00000000 00000000 00000000 00000000 ................ + 0a10 00000000 00000000 00000000 00000000 ................ + 0a20 00000000 00000000 00000000 00000000 ................ + 0a30 00000000 00000000 00000000 00000000 ................ + 0a40 00000000 00000000 00000000 00000000 ................ + 0a50 00000000 00000000 00000000 00000000 ................ + 0a60 00000000 00000000 00000000 00000000 ................ + 0a70 00000000 00000000 00000000 00000000 ................ + 0a80 00000000 00000000 00000000 00000000 ................ + 0a90 00000000 00000000 00000000 00000000 ................ + 0aa0 00000000 00000000 00000000 00000000 ................ + 0ab0 00000000 00000000 00000000 00000000 ................ + 0ac0 00000000 00000000 00000000 00000000 ................ + 0ad0 00000000 00000000 00000000 00000000 ................ + 0ae0 00000000 00000000 00000000 00000000 ................ + 0af0 00000000 00000000 00000000 00000000 ................ + 0b00 00000000 00000000 00000000 00000000 ................ + 0b10 00000000 00000000 00000000 00000000 ................ + 0b20 00000000 00000000 00000000 00000000 ................ + 0b30 00000000 00000000 00000000 00000000 ................ + 0b40 00000000 00000000 00000000 00000000 ................ + 0b50 00000000 00000000 00000000 00000000 ................ + 0b60 00000000 00000000 00000000 00000000 ................ + 0b70 00000000 00000000 00000000 00000000 ................ + 0b80 00000000 00000000 00000000 00000000 ................ + 0b90 00000000 00000000 00000000 00000000 ................ + 0ba0 00000000 00000000 00000000 00000000 ................ + 0bb0 00000000 00000000 00000000 00000000 ................ + 0bc0 00000000 00000000 00000000 00000000 ................ + 0bd0 00000000 00000000 00000000 00000000 ................ + 0be0 00000000 00000000 00000000 00000000 ................ + 0bf0 00000000 00000000 00000000 00000000 ................ + 0c00 00000000 00000000 00000000 00000000 ................ + 0c10 00000000 00000000 00000000 00000000 ................ + 0c20 00000000 00000000 00000000 00000000 ................ + 0c30 00000000 00000000 00000000 00000000 ................ + 0c40 00000000 00000000 00000000 00000000 ................ + 0c50 00000000 00000000 00000000 00000000 ................ + 0c60 00000000 00000000 00000000 00000000 ................ + 0c70 00000000 00000000 00000000 00000000 ................ + 0c80 00000000 00000000 00000000 00000000 ................ + 0c90 00000000 00000000 00000000 00000000 ................ + 0ca0 00000000 00000000 00000000 00000000 ................ + 0cb0 00000000 00000000 00000000 00000000 ................ + 0cc0 00000000 00000000 00000000 00000000 ................ + 0cd0 00000000 00000000 00000000 00000000 ................ + 0ce0 00000000 00000000 00000000 00000000 ................ + 0cf0 00000000 00000000 00000000 00000000 ................ + 0d00 00000000 00000000 00000000 00000000 ................ + 0d10 00000000 00000000 00000000 00000000 ................ + 0d20 00000000 00000000 00000000 00000000 ................ + 0d30 00000000 00000000 00000000 00000000 ................ + 0d40 00000000 00000000 00000000 00000000 ................ + 0d50 00000000 00000000 00000000 00000000 ................ + 0d60 00000000 00000000 00000000 00000000 ................ + 0d70 00000000 00000000 00000000 00000000 ................ + 0d80 00000000 00000000 00000000 00000000 ................ + 0d90 00000000 00000000 00000000 00000000 ................ + 0da0 00000000 00000000 00000000 00000000 ................ + 0db0 00000000 00000000 00000000 00000000 ................ + 0dc0 00000000 00000000 00000000 00000000 ................ + 0dd0 00000000 00000000 00000000 00000000 ................ + 0de0 00000000 00000000 00000000 00000000 ................ + 0df0 00000000 00000000 00000000 00000000 ................ + 0e00 00000000 00000000 00000000 00000000 ................ + 0e10 00000000 00000000 00000000 00000000 ................ + 0e20 00000000 00000000 00000000 00000000 ................ + 0e30 00000000 00000000 00000000 00000000 ................ + 0e40 00000000 00000000 00000000 00000000 ................ + 0e50 00000000 00000000 00000000 00000000 ................ + 0e60 00000000 00000000 00000000 00000000 ................ + 0e70 00000000 00000000 00000000 00000000 ................ + 0e80 00000000 00000000 00000000 00000000 ................ + 0e90 00000000 00000000 00000000 00000000 ................ + 0ea0 00000000 00000000 00000000 00000000 ................ + 0eb0 00000000 00000000 00000000 00000000 ................ + 0ec0 00000000 00000000 00000000 00000000 ................ + 0ed0 00000000 00000000 00000000 00000000 ................ + 0ee0 00000000 00000000 00000000 00000000 ................ + 0ef0 00000000 00000000 00000000 00000000 ................ + 0f00 00000000 00000000 00000000 00000000 ................ + 0f10 00000000 00000000 00000000 00000000 ................ + 0f20 00000000 00000000 00000000 00000000 ................ + 0f30 00000000 00000000 00000000 00000000 ................ + 0f40 00000000 00000000 00000000 00000000 ................ + 0f50 00000000 00000000 00000000 00000000 ................ + 0f60 00000000 00000000 00000000 00000000 ................ + 0f70 00000000 00000000 00000000 00000000 ................ + 0f80 00000000 00000000 00000000 00000000 ................ + 0f90 00000000 00000000 00000000 00000000 ................ + 0fa0 00000000 00000000 00000000 00000000 ................ + 0fb0 00000000 00000000 00000000 00000000 ................ + 0fc0 00000000 00000000 00000000 00000000 ................ + 0fd0 00000000 00000000 00000000 00000000 ................ + 0fe0 00000000 00000000 00000000 00000000 ................ + 0ff0 00000000 00000000 00000000 00000000 ................ + 1000 00000000 00000000 00000000 00000000 ................ + 1010 00000000 00000000 00000000 00000000 ................ + 1020 00000000 00000000 00000000 00000000 ................ + 1030 00000000 00000000 00000000 00000000 ................ + 1040 00000000 00000000 00000000 00000000 ................ + 1050 00000000 00000000 00000000 00000000 ................ + 1060 00000000 00000000 00000000 00000000 ................ + 1070 00000000 00000000 00000000 00000000 ................ + 1080 00000000 00000000 00000000 00000000 ................ + 1090 00000000 00000000 00000000 00000000 ................ + 10a0 00000000 00000000 00000000 00000000 ................ + 10b0 00000000 00000000 00000000 00000000 ................ + 10c0 00000000 00000000 00000000 00000000 ................ + 10d0 00000000 00000000 00000000 00000000 ................ + 10e0 00000000 00000000 00000000 00000000 ................ + 10f0 00000000 00000000 00000000 00000000 ................ + 1100 00000000 00000000 00000000 00000000 ................ + 1110 00000000 00000000 00000000 00000000 ................ + 1120 00000000 00000000 00000000 00000000 ................ + 1130 00000000 00000000 00000000 00000000 ................ + 1140 00000000 00000000 00000000 00000000 ................ + 1150 00000000 00000000 00000000 00000000 ................ + 1160 00000000 00000000 00000000 00000000 ................ + 1170 00000000 00000000 00000000 00000000 ................ + 1180 00000000 00000000 00000000 00000000 ................ + 1190 00000000 00000000 00000000 00000000 ................ + 11a0 00000000 00000000 00000000 00000000 ................ + 11b0 00000000 00000000 00000000 00000000 ................ + 11c0 00000000 00000000 00000000 00000000 ................ + 11d0 00000000 00000000 00000000 00000000 ................ + 11e0 00000000 00000000 00000000 00000000 ................ + 11f0 00000000 00000000 00000000 00000000 ................ + 1200 00000000 00000000 00000000 00000000 ................ + 1210 00000000 00000000 00000000 00000000 ................ + 1220 00000000 00000000 00000000 00000000 ................ + 1230 00000000 00000000 00000000 00000000 ................ + 1240 00000000 00000000 00000000 00000000 ................ + 1250 00000000 00000000 00000000 00000000 ................ + 1260 00000000 00000000 00000000 00000000 ................ + 1270 00000000 00000000 00000000 00000000 ................ + 1280 00000000 00000000 00000000 00000000 ................ + 1290 00000000 00000000 00000000 00000000 ................ + 12a0 00000000 00000000 00000000 00000000 ................ + 12b0 00000000 00000000 00000000 00000000 ................ + 12c0 00000000 00000000 00000000 00000000 ................ + 12d0 00000000 00000000 00000000 00000000 ................ + 12e0 00000000 00000000 00000000 00000000 ................ + 12f0 00000000 00000000 00000000 00000000 ................ + 1300 00000000 00000000 00000000 00000000 ................ + 1310 00000000 00000000 00000000 00000000 ................ + 1320 00000000 00000000 00000000 00000000 ................ + 1330 00000000 00000000 00000000 00000000 ................ + 1340 00000000 00000000 00000000 00000000 ................ + 1350 00000000 00000000 00000000 00000000 ................ + 1360 00000000 00000000 00000000 00000000 ................ + 1370 00000000 00000000 00000000 00000000 ................ + 1380 00000000 00000000 00000000 00000000 ................ + 1390 00000000 00000000 00000000 00000000 ................ + 13a0 00000000 00000000 00000000 00000000 ................ + 13b0 00000000 00000000 00000000 00000000 ................ + 13c0 00000000 00000000 00000000 00000000 ................ + 13d0 00000000 00000000 00000000 00000000 ................ + 13e0 00000000 00000000 00000000 00000000 ................ + 13f0 00000000 00000000 00000000 00000000 ................ + 1400 00000000 00000000 00000000 00000000 ................ + 1410 00000000 00000000 00000000 00000000 ................ + 1420 00000000 00000000 00000000 00000000 ................ + 1430 00000000 00000000 00000000 00000000 ................ + 1440 00000000 00000000 00000000 00000000 ................ + 1450 00000000 00000000 00000000 00000000 ................ + 1460 00000000 00000000 00000000 00000000 ................ + 1470 00000000 00000000 00000000 00000000 ................ + 1480 00000000 00000000 00000000 00000000 ................ + 1490 00000000 00000000 00000000 00000000 ................ + 14a0 00000000 00000000 00000000 00000000 ................ + 14b0 00000000 00000000 00000000 00000000 ................ + 14c0 00000000 00000000 00000000 00000000 ................ + 14d0 00000000 00000000 00000000 00000000 ................ + 14e0 00000000 00000000 00000000 00000000 ................ + 14f0 00000000 00000000 00000000 00000000 ................ + 1500 00000000 00000000 00000000 00000000 ................ + 1510 00000000 00000000 00000000 00000000 ................ + 1520 00000000 00000000 00000000 00000000 ................ + 1530 00000000 00000000 00000000 00000000 ................ + 1540 00000000 00000000 00000000 00000000 ................ + 1550 00000000 00000000 00000000 00000000 ................ + 1560 00000000 00000000 00000000 00000000 ................ + 1570 00000000 00000000 00000000 00000000 ................ + 1580 00000000 00000000 00000000 00000000 ................ + 1590 00000000 00000000 00000000 00000000 ................ + 15a0 00000000 00000000 00000000 00000000 ................ + 15b0 00000000 00000000 00000000 00000000 ................ + 15c0 00000000 00000000 00000000 00000000 ................ + 15d0 00000000 00000000 00000000 00000000 ................ + 15e0 00000000 00000000 00000000 00000000 ................ + 15f0 00000000 00000000 00000000 00000000 ................ + 1600 00000000 00000000 00000000 00000000 ................ + 1610 00000000 00000000 00000000 00000000 ................ + 1620 00000000 00000000 00000000 00000000 ................ + 1630 00000000 00000000 00000000 00000000 ................ + 1640 00000000 00000000 00000000 00000000 ................ + 1650 00000000 00000000 00000000 00000000 ................ + 1660 00000000 00000000 00000000 00000000 ................ + 1670 00000000 00000000 00000000 00000000 ................ + 1680 00000000 00000000 00000000 00000000 ................ + 1690 00000000 00000000 00000000 00000000 ................ + 16a0 00000000 00000000 00000000 00000000 ................ + 16b0 00000000 00000000 00000000 00000000 ................ + 16c0 00000000 00000000 00000000 00000000 ................ + 16d0 00000000 00000000 00000000 00000000 ................ + 16e0 00000000 00000000 00000000 00000000 ................ + 16f0 00000000 00000000 00000000 00000000 ................ + 1700 00000000 00000000 00000000 00000000 ................ + 1710 00000000 00000000 00000000 00000000 ................ + 1720 00000000 00000000 00000000 00000000 ................ + 1730 00000000 00000000 00000000 00000000 ................ + 1740 00000000 00000000 00000000 00000000 ................ + 1750 00000000 00000000 00000000 00000000 ................ + 1760 00000000 00000000 00000000 00000000 ................ + 1770 00000000 00000000 00000000 00000000 ................ + 1780 00000000 00000000 00000000 00000000 ................ + 1790 00000000 00000000 00000000 00000000 ................ + 17a0 00000000 00000000 00000000 00000000 ................ + 17b0 00000000 00000000 00000000 00000000 ................ + 17c0 00000000 00000000 00000000 00000000 ................ + 17d0 00000000 00000000 00000000 00000000 ................ + 17e0 00000000 00000000 00000000 00000000 ................ + 17f0 00000000 00000000 00000000 00000000 ................ + 1800 00000000 00000000 00000000 00000000 ................ + 1810 00000000 00000000 00000000 00000000 ................ + 1820 00000000 00000000 00000000 00000000 ................ + 1830 00000000 00000000 00000000 00000000 ................ + 1840 00000000 00000000 00000000 00000000 ................ + 1850 00000000 00000000 00000000 00000000 ................ + 1860 00000000 00000000 00000000 00000000 ................ + 1870 00000000 00000000 00000000 00000000 ................ + 1880 00000000 00000000 00000000 00000000 ................ + 1890 00000000 00000000 00000000 00000000 ................ + 18a0 00000000 00000000 00000000 00000000 ................ + 18b0 00000000 00000000 00000000 00000000 ................ + 18c0 00000000 00000000 00000000 00000000 ................ + 18d0 00000000 00000000 00000000 00000000 ................ + 18e0 00000000 00000000 00000000 00000000 ................ + 18f0 00000000 00000000 00000000 00000000 ................ + 1900 00000000 00000000 00000000 00000000 ................ + 1910 00000000 00000000 00000000 00000000 ................ + 1920 00000000 00000000 00000000 00000000 ................ + 1930 00000000 00000000 00000000 00000000 ................ + 1940 00000000 00000000 00000000 00000000 ................ + 1950 00000000 00000000 00000000 00000000 ................ + 1960 00000000 00000000 00000000 00000000 ................ + 1970 00000000 00000000 00000000 00000000 ................ + 1980 00000000 00000000 00000000 00000000 ................ + 1990 00000000 00000000 00000000 00000000 ................ + 19a0 00000000 00000000 00000000 00000000 ................ + 19b0 00000000 00000000 00000000 00000000 ................ + 19c0 00000000 00000000 00000000 00000000 ................ + 19d0 00000000 00000000 00000000 00000000 ................ + 19e0 00000000 00000000 00000000 00000000 ................ + 19f0 00000000 00000000 00000000 00000000 ................ + 1a00 00000000 00000000 00000000 00000000 ................ + 1a10 00000000 00000000 00000000 00000000 ................ + 1a20 00000000 00000000 00000000 00000000 ................ + 1a30 00000000 00000000 00000000 00000000 ................ + 1a40 00000000 00000000 00000000 00000000 ................ + 1a50 00000000 00000000 00000000 00000000 ................ + 1a60 00000000 00000000 00000000 00000000 ................ + 1a70 00000000 00000000 00000000 00000000 ................ + 1a80 00000000 00000000 00000000 00000000 ................ + 1a90 00000000 00000000 00000000 00000000 ................ + 1aa0 00000000 00000000 00000000 00000000 ................ + 1ab0 00000000 00000000 00000000 00000000 ................ + 1ac0 00000000 00000000 00000000 00000000 ................ + 1ad0 00000000 00000000 00000000 00000000 ................ + 1ae0 00000000 00000000 00000000 00000000 ................ + 1af0 00000000 00000000 00000000 00000000 ................ + 1b00 00000000 00000000 00000000 00000000 ................ + 1b10 00000000 00000000 00000000 00000000 ................ + 1b20 00000000 00000000 00000000 00000000 ................ + 1b30 00000000 00000000 00000000 00000000 ................ + 1b40 00000000 00000000 00000000 00000000 ................ + 1b50 00000000 00000000 00000000 00000000 ................ + 1b60 00000000 00000000 00000000 00000000 ................ + 1b70 00000000 00000000 00000000 00000000 ................ + 1b80 00000000 00000000 00000000 00000000 ................ + 1b90 00000000 00000000 00000000 00000000 ................ + 1ba0 00000000 00000000 00000000 00000000 ................ + 1bb0 00000000 00000000 00000000 00000000 ................ + 1bc0 00000000 00000000 00000000 00000000 ................ + 1bd0 00000000 00000000 00000000 00000000 ................ + 1be0 00000000 00000000 00000000 00000000 ................ + 1bf0 00000000 00000000 00000000 00000000 ................ + 1c00 00000000 00000000 00000000 00000000 ................ + 1c10 00000000 00000000 00000000 00000000 ................ + 1c20 00000000 00000000 00000000 00000000 ................ + 1c30 00000000 00000000 00000000 00000000 ................ + 1c40 00000000 00000000 00000000 00000000 ................ + 1c50 00000000 00000000 00000000 00000000 ................ + 1c60 00000000 00000000 00000000 00000000 ................ + 1c70 00000000 00000000 00000000 00000000 ................ + 1c80 00000000 00000000 00000000 00000000 ................ + 1c90 00000000 00000000 00000000 00000000 ................ + 1ca0 00000000 00000000 00000000 00000000 ................ + 1cb0 00000000 00000000 00000000 00000000 ................ + 1cc0 00000000 00000000 00000000 00000000 ................ + 1cd0 00000000 00000000 00000000 00000000 ................ + 1ce0 00000000 00000000 00000000 00000000 ................ + 1cf0 00000000 00000000 00000000 00000000 ................ + 1d00 00000000 00000000 00000000 00000000 ................ + 1d10 00000000 00000000 00000000 00000000 ................ + 1d20 00000000 00000000 00000000 00000000 ................ + 1d30 00000000 00000000 00000000 00000000 ................ + 1d40 00000000 00000000 00000000 00000000 ................ + 1d50 00000000 00000000 00000000 00000000 ................ + 1d60 00000000 00000000 00000000 00000000 ................ + 1d70 00000000 00000000 00000000 00000000 ................ + 1d80 00000000 00000000 00000000 00000000 ................ + 1d90 00000000 00000000 00000000 00000000 ................ + 1da0 00000000 00000000 00000000 00000000 ................ + 1db0 00000000 00000000 00000000 00000000 ................ + 1dc0 00000000 00000000 00000000 00000000 ................ + 1dd0 00000000 00000000 00000000 00000000 ................ + 1de0 00000000 00000000 00000000 00000000 ................ + 1df0 00000000 00000000 00000000 00000000 ................ + 1e00 00000000 00000000 00000000 00000000 ................ + 1e10 00000000 00000000 00000000 00000000 ................ + 1e20 00000000 00000000 00000000 00000000 ................ + 1e30 00000000 00000000 00000000 00000000 ................ + 1e40 00000000 00000000 00000000 00000000 ................ + 1e50 00000000 00000000 00000000 00000000 ................ + 1e60 00000000 00000000 00000000 00000000 ................ + 1e70 00000000 00000000 00000000 00000000 ................ + 1e80 00000000 00000000 00000000 00000000 ................ + 1e90 00000000 00000000 00000000 00000000 ................ + 1ea0 00000000 00000000 00000000 00000000 ................ + 1eb0 00000000 00000000 00000000 00000000 ................ + 1ec0 00000000 00000000 00000000 00000000 ................ + 1ed0 00000000 00000000 00000000 00000000 ................ + 1ee0 00000000 00000000 00000000 00000000 ................ + 1ef0 00000000 00000000 00000000 00000000 ................ + 1f00 00000000 00000000 00000000 00000000 ................ + 1f10 00000000 00000000 00000000 00000000 ................ + 1f20 00000000 00000000 00000000 00000000 ................ + 1f30 00000000 00000000 00000000 00000000 ................ + 1f40 00000000 00000000 00000000 00000000 ................ + 1f50 00000000 00000000 00000000 00000000 ................ + 1f60 00000000 00000000 00000000 00000000 ................ + 1f70 00000000 00000000 00000000 00000000 ................ + 1f80 00000000 00000000 00000000 00000000 ................ + 1f90 00000000 00000000 00000000 00000000 ................ + 1fa0 00000000 00000000 00000000 00000000 ................ + 1fb0 00000000 00000000 00000000 00000000 ................ + 1fc0 00000000 00000000 00000000 00000000 ................ + 1fd0 00000000 00000000 00000000 00000000 ................ + 1fe0 00000000 00000000 00000000 00000000 ................ + 1ff0 00000000 00000000 00000000 00000000 ................ + 2000 00000000 00000000 00000000 00000000 ................ + 2010 00000000 00000000 00000000 00000000 ................ + 2020 00000000 00000000 00000000 00000000 ................ + 2030 00000000 00000000 00000000 00000000 ................ + 2040 00000000 00000000 00000000 00000000 ................ + 2050 00000000 00000000 00000000 00000000 ................ + 2060 00000000 00000000 00000000 00000000 ................ + 2070 00000000 00000000 00000000 00000000 ................ + 2080 00000000 00000000 00000000 00000000 ................ + 2090 00000000 00000000 00000000 00000000 ................ + 20a0 00000000 00000000 00000000 00000000 ................ + 20b0 00000000 00000000 00000000 00000000 ................ + 20c0 00000000 00000000 00000000 00000000 ................ + 20d0 00000000 00000000 00000000 00000000 ................ + 20e0 00000000 00000000 00000000 00000000 ................ + 20f0 00000000 00000000 00000000 00000000 ................ + 2100 00000000 00000000 00000000 00000000 ................ + 2110 00000000 00000000 00000000 00000000 ................ + 2120 00000000 00000000 00000000 00000000 ................ + 2130 00000000 00000000 00000000 00000000 ................ + 2140 00000000 00000000 00000000 00000000 ................ + 2150 00000000 00000000 00000000 00000000 ................ + 2160 00000000 00000000 00000000 00000000 ................ + 2170 00000000 00000000 00000000 00000000 ................ + 2180 00000000 00000000 00000000 00000000 ................ + 2190 00000000 00000000 00000000 00000000 ................ + 21a0 00000000 00000000 00000000 00000000 ................ + 21b0 00000000 00000000 00000000 00000000 ................ + 21c0 00000000 00000000 00000000 00000000 ................ + 21d0 00000000 00000000 00000000 00000000 ................ + 21e0 00000000 00000000 00000000 00000000 ................ + 21f0 00000000 00000000 00000000 00000000 ................ + 2200 00000000 00000000 00000000 00000000 ................ + 2210 00000000 00000000 00000000 00000000 ................ + 2220 00000000 00000000 00000000 00000000 ................ + 2230 00000000 00000000 00000000 00000000 ................ + 2240 00000000 00000000 00000000 00000000 ................ + 2250 00000000 00000000 00000000 00000000 ................ + 2260 00000000 00000000 00000000 00000000 ................ + 2270 00000000 00000000 00000000 00000000 ................ + 2280 00000000 00000000 00000000 00000000 ................ + 2290 00000000 00000000 00000000 00000000 ................ + 22a0 00000000 00000000 00000000 00000000 ................ + 22b0 00000000 00000000 00000000 00000000 ................ + 22c0 00000000 00000000 00000000 00000000 ................ + 22d0 00000000 00000000 00000000 00000000 ................ + 22e0 00000000 00000000 00000000 00000000 ................ + 22f0 00000000 00000000 00000000 00000000 ................ + 2300 00000000 00000000 00000000 00000000 ................ + 2310 00000000 00000000 00000000 00000000 ................ + 2320 00000000 00000000 00000000 00000000 ................ + 2330 00000000 00000000 00000000 00000000 ................ + 2340 00000000 00000000 00000000 00000000 ................ + 2350 00000000 00000000 00000000 00000000 ................ + 2360 00000000 00000000 00000000 00000000 ................ + 2370 00000000 00000000 00000000 00000000 ................ + 2380 00000000 00000000 00000000 00000000 ................ + 2390 00000000 00000000 00000000 00000000 ................ + 23a0 00000000 00000000 00000000 00000000 ................ + 23b0 00000000 00000000 00000000 00000000 ................ + 23c0 00000000 00000000 00000000 00000000 ................ + 23d0 00000000 00000000 00000000 00000000 ................ + 23e0 00000000 00000000 00000000 00000000 ................ + 23f0 00000000 00000000 00000000 00000000 ................ + 2400 00000000 00000000 00000000 00000000 ................ + 2410 00000000 00000000 00000000 00000000 ................ + 2420 00000000 00000000 00000000 00000000 ................ + 2430 00000000 00000000 00000000 00000000 ................ + 2440 00000000 00000000 00000000 00000000 ................ + 2450 00000000 00000000 00000000 00000000 ................ + 2460 00000000 00000000 00000000 00000000 ................ + 2470 00000000 00000000 00000000 00000000 ................ + 2480 00000000 00000000 00000000 00000000 ................ + 2490 00000000 00000000 00000000 00000000 ................ + 24a0 00000000 00000000 00000000 00000000 ................ + 24b0 00000000 00000000 00000000 00000000 ................ + 24c0 00000000 00000000 00000000 00000000 ................ + 24d0 00000000 00000000 00000000 00000000 ................ + 24e0 00000000 00000000 00000000 00000000 ................ + 24f0 00000000 00000000 00000000 00000000 ................ + 2500 00000000 00000000 00000000 00000000 ................ + 2510 00000000 00000000 00000000 00000000 ................ + 2520 00000000 00000000 00000000 00000000 ................ + 2530 00000000 00000000 00000000 00000000 ................ + 2540 00000000 00000000 00000000 00000000 ................ + 2550 00000000 00000000 00000000 00000000 ................ + 2560 00000000 00000000 00000000 00000000 ................ + 2570 00000000 00000000 00000000 00000000 ................ + 2580 00000000 00000000 00000000 00000000 ................ + 2590 00000000 00000000 00000000 00000000 ................ + 25a0 00000000 00000000 00000000 00000000 ................ + 25b0 00000000 00000000 00000000 00000000 ................ + 25c0 00000000 00000000 00000000 00000000 ................ + 25d0 00000000 00000000 00000000 00000000 ................ + 25e0 00000000 00000000 00000000 00000000 ................ + 25f0 00000000 00000000 00000000 00000000 ................ + 2600 00000000 00000000 00000000 00000000 ................ + 2610 00000000 00000000 00000000 00000000 ................ + 2620 00000000 00000000 00000000 00000000 ................ + 2630 00000000 00000000 00000000 00000000 ................ + 2640 00000000 00000000 00000000 00000000 ................ + 2650 00000000 00000000 00000000 00000000 ................ + 2660 00000000 00000000 00000000 00000000 ................ + 2670 00000000 00000000 00000000 00000000 ................ + 2680 00000000 00000000 00000000 00000000 ................ + 2690 00000000 00000000 00000000 00000000 ................ + 26a0 00000000 00000000 00000000 00000000 ................ + 26b0 00000000 00000000 00000000 00000000 ................ + 26c0 00000000 00000000 00000000 00000000 ................ + 26d0 00000000 00000000 00000000 00000000 ................ + 26e0 00000000 00000000 00000000 00000000 ................ + 26f0 00000000 00000000 00000000 00000000 ................ + 2700 00000000 00000000 00000000 00000000 ................ + 2710 00000000 00000000 00000000 00000000 ................ + 2720 00000000 00000000 00000000 00000000 ................ + 2730 00000000 00000000 00000000 00000000 ................ + 2740 00000000 00000000 00000000 00000000 ................ + 2750 00000000 00000000 00000000 00000000 ................ + 2760 00000000 00000000 00000000 00000000 ................ + 2770 00000000 00000000 00000000 00000000 ................ + 2780 00000000 00000000 00000000 00000000 ................ + 2790 00000000 00000000 00000000 00000000 ................ + 27a0 00000000 00000000 00000000 00000000 ................ + 27b0 00000000 00000000 00000000 00000000 ................ + 27c0 00000000 00000000 00000000 00000000 ................ + 27d0 00000000 00000000 00000000 00000000 ................ + 27e0 00000000 00000000 00000000 00000000 ................ + 27f0 00000000 00000000 00000000 00000000 ................ + 2800 00000000 00000000 00000000 00000000 ................ + 2810 00000000 00000000 00000000 00000000 ................ + 2820 00000000 00000000 00000000 00000000 ................ + 2830 00000000 00000000 00000000 00000000 ................ + 2840 00000000 00000000 00000000 00000000 ................ + 2850 00000000 00000000 00000000 00000000 ................ + 2860 00000000 00000000 00000000 00000000 ................ + 2870 00000000 00000000 00000000 00000000 ................ + 2880 00000000 00000000 00000000 00000000 ................ + 2890 00000000 00000000 00000000 00000000 ................ + 28a0 00000000 00000000 00000000 00000000 ................ + 28b0 00000000 00000000 00000000 00000000 ................ + 28c0 00000000 00000000 00000000 00000000 ................ + 28d0 00000000 00000000 00000000 00000000 ................ + 28e0 00000000 00000000 00000000 00000000 ................ + 28f0 00000000 00000000 00000000 00000000 ................ + 2900 00000000 00000000 00000000 00000000 ................ + 2910 00000000 00000000 00000000 00000000 ................ + 2920 00000000 00000000 00000000 00000000 ................ + 2930 00000000 00000000 00000000 00000000 ................ + 2940 00000000 00000000 00000000 00000000 ................ + 2950 00000000 00000000 00000000 00000000 ................ + 2960 00000000 00000000 00000000 00000000 ................ + 2970 00000000 00000000 00000000 00000000 ................ + 2980 00000000 00000000 00000000 00000000 ................ + 2990 00000000 00000000 00000000 00000000 ................ + 29a0 00000000 00000000 00000000 00000000 ................ + 29b0 00000000 00000000 00000000 00000000 ................ + 29c0 00000000 00000000 00000000 00000000 ................ + 29d0 00000000 00000000 00000000 00000000 ................ + 29e0 00000000 00000000 00000000 00000000 ................ + 29f0 00000000 00000000 00000000 00000000 ................ + 2a00 00000000 00000000 00000000 00000000 ................ + 2a10 00000000 00000000 00000000 00000000 ................ + 2a20 00000000 00000000 00000000 00000000 ................ + 2a30 00000000 00000000 00000000 00000000 ................ + 2a40 00000000 00000000 00000000 00000000 ................ + 2a50 00000000 00000000 00000000 00000000 ................ + 2a60 00000000 00000000 00000000 00000000 ................ + 2a70 00000000 00000000 00000000 00000000 ................ + 2a80 00000000 00000000 00000000 00000000 ................ + 2a90 00000000 00000000 00000000 00000000 ................ + 2aa0 00000000 00000000 00000000 00000000 ................ + 2ab0 00000000 00000000 00000000 00000000 ................ + 2ac0 00000000 00000000 00000000 00000000 ................ + 2ad0 00000000 00000000 00000000 00000000 ................ + 2ae0 00000000 00000000 00000000 00000000 ................ + 2af0 00000000 00000000 00000000 00000000 ................ + 2b00 00000000 00000000 00000000 00000000 ................ + 2b10 00000000 00000000 00000000 00000000 ................ + 2b20 00000000 00000000 00000000 00000000 ................ + 2b30 00000000 00000000 00000000 00000000 ................ + 2b40 00000000 00000000 00000000 00000000 ................ + 2b50 00000000 00000000 00000000 00000000 ................ + 2b60 00000000 00000000 00000000 00000000 ................ + 2b70 00000000 00000000 00000000 00000000 ................ + 2b80 00000000 00000000 00000000 00000000 ................ + 2b90 00000000 00000000 00000000 00000000 ................ + 2ba0 00000000 00000000 00000000 00000000 ................ + 2bb0 00000000 00000000 00000000 00000000 ................ + 2bc0 00000000 00000000 00000000 00000000 ................ + 2bd0 00000000 00000000 00000000 00000000 ................ + 2be0 00000000 00000000 00000000 00000000 ................ + 2bf0 00000000 00000000 00000000 00000000 ................ + 2c00 00000000 00000000 00000000 00000000 ................ + 2c10 00000000 00000000 00000000 00000000 ................ + 2c20 00000000 00000000 00000000 00000000 ................ + 2c30 00000000 00000000 00000000 00000000 ................ + 2c40 00000000 00000000 00000000 00000000 ................ + 2c50 00000000 00000000 00000000 00000000 ................ + 2c60 00000000 00000000 00000000 00000000 ................ + 2c70 00000000 00000000 00000000 00000000 ................ + 2c80 00000000 00000000 00000000 00000000 ................ + 2c90 00000000 00000000 00000000 00000000 ................ + 2ca0 00000000 00000000 00000000 00000000 ................ + 2cb0 00000000 00000000 00000000 00000000 ................ + 2cc0 00000000 00000000 00000000 00000000 ................ + 2cd0 00000000 00000000 00000000 00000000 ................ + 2ce0 00000000 00000000 00000000 00000000 ................ + 2cf0 00000000 00000000 00000000 00000000 ................ + 2d00 00000000 00000000 00000000 00000000 ................ + 2d10 00000000 00000000 00000000 00000000 ................ + 2d20 00000000 00000000 00000000 00000000 ................ + 2d30 00000000 00000000 00000000 00000000 ................ + 2d40 00000000 00000000 00000000 00000000 ................ + 2d50 00000000 00000000 00000000 00000000 ................ + 2d60 00000000 00000000 00000000 00000000 ................ + 2d70 00000000 00000000 00000000 00000000 ................ + 2d80 00000000 00000000 00000000 00000000 ................ + 2d90 00000000 00000000 00000000 00000000 ................ + 2da0 00000000 00000000 00000000 00000000 ................ + 2db0 00000000 00000000 00000000 00000000 ................ + 2dc0 00000000 00000000 00000000 00000000 ................ + 2dd0 00000000 00000000 00000000 00000000 ................ + 2de0 00000000 00000000 00000000 00000000 ................ + 2df0 00000000 00000000 00000000 00000000 ................ + 2e00 00000000 00000000 00000000 00000000 ................ + 2e10 00000000 00000000 00000000 00000000 ................ + 2e20 00000000 00000000 00000000 00000000 ................ + 2e30 00000000 00000000 00000000 00000000 ................ + 2e40 00000000 00000000 00000000 00000000 ................ + 2e50 00000000 00000000 00000000 00000000 ................ + 2e60 00000000 00000000 00000000 00000000 ................ + 2e70 00000000 00000000 00000000 00000000 ................ + 2e80 00000000 00000000 00000000 00000000 ................ + 2e90 00000000 00000000 00000000 00000000 ................ + 2ea0 00000000 00000000 00000000 00000000 ................ + 2eb0 00000000 00000000 00000000 00000000 ................ + 2ec0 00000000 00000000 00000000 00000000 ................ + 2ed0 00000000 00000000 00000000 00000000 ................ + 2ee0 00000000 00000000 00000000 00000000 ................ + 2ef0 00000000 00000000 00000000 00000000 ................ + 2f00 00000000 00000000 00000000 00000000 ................ + 2f10 00000000 00000000 00000000 00000000 ................ + 2f20 00000000 00000000 00000000 00000000 ................ + 2f30 00000000 00000000 00000000 00000000 ................ + 2f40 00000000 00000000 00000000 00000000 ................ + 2f50 00000000 00000000 00000000 00000000 ................ + 2f60 00000000 00000000 00000000 00000000 ................ + 2f70 00000000 00000000 00000000 00000000 ................ + 2f80 00000000 00000000 00000000 00000000 ................ + 2f90 00000000 00000000 00000000 00000000 ................ + 2fa0 00000000 00000000 00000000 00000000 ................ + 2fb0 00000000 00000000 00000000 00000000 ................ + 2fc0 00000000 00000000 00000000 00000000 ................ + 2fd0 00000000 00000000 00000000 00000000 ................ + 2fe0 00000000 00000000 00000000 00000000 ................ + 2ff0 00000000 00000000 00000000 00000000 ................ + 3000 00000000 00000000 00000000 00000000 ................ + 3010 00000000 00000000 00000000 00000000 ................ + 3020 00000000 00000000 00000000 00000000 ................ + 3030 00000000 00000000 00000000 00000000 ................ + 3040 00000000 00000000 00000000 00000000 ................ + 3050 00000000 00000000 00000000 00000000 ................ + 3060 00000000 00000000 00000000 00000000 ................ + 3070 00000000 00000000 00000000 00000000 ................ + 3080 00000000 00000000 00000000 00000000 ................ + 3090 00000000 00000000 00000000 00000000 ................ + 30a0 00000000 00000000 00000000 00000000 ................ + 30b0 00000000 00000000 00000000 00000000 ................ + 30c0 00000000 00000000 00000000 00000000 ................ + 30d0 00000000 00000000 00000000 00000000 ................ + 30e0 00000000 00000000 00000000 00000000 ................ + 30f0 00000000 00000000 00000000 00000000 ................ + 3100 00000000 00000000 00000000 00000000 ................ + 3110 00000000 00000000 00000000 00000000 ................ + 3120 00000000 00000000 00000000 00000000 ................ + 3130 00000000 00000000 00000000 00000000 ................ + 3140 00000000 00000000 00000000 00000000 ................ + 3150 00000000 00000000 00000000 00000000 ................ + 3160 00000000 00000000 00000000 00000000 ................ + 3170 00000000 00000000 00000000 00000000 ................ + 3180 00000000 00000000 00000000 00000000 ................ + 3190 00000000 00000000 00000000 00000000 ................ + 31a0 00000000 00000000 00000000 00000000 ................ + 31b0 00000000 00000000 00000000 00000000 ................ + 31c0 00000000 00000000 00000000 00000000 ................ + 31d0 00000000 00000000 00000000 00000000 ................ + 31e0 00000000 00000000 00000000 00000000 ................ + 31f0 00000000 00000000 00000000 00000000 ................ + 3200 00000000 00000000 00000000 00000000 ................ + 3210 00000000 00000000 00000000 00000000 ................ + 3220 00000000 00000000 00000000 00000000 ................ + 3230 00000000 00000000 00000000 00000000 ................ + 3240 00000000 00000000 00000000 00000000 ................ + 3250 00000000 00000000 00000000 00000000 ................ + 3260 00000000 00000000 00000000 00000000 ................ + 3270 00000000 00000000 00000000 00000000 ................ + 3280 00000000 00000000 00000000 00000000 ................ + 3290 00000000 00000000 00000000 00000000 ................ + 32a0 00000000 00000000 00000000 00000000 ................ + 32b0 00000000 00000000 00000000 00000000 ................ + 32c0 00000000 00000000 00000000 00000000 ................ + 32d0 00000000 00000000 00000000 00000000 ................ + 32e0 00000000 00000000 00000000 00000000 ................ + 32f0 00000000 00000000 00000000 00000000 ................ + 3300 00000000 00000000 00000000 00000000 ................ + 3310 00000000 00000000 00000000 00000000 ................ + 3320 00000000 00000000 00000000 00000000 ................ + 3330 00000000 00000000 00000000 00000000 ................ + 3340 00000000 00000000 00000000 00000000 ................ + 3350 00000000 00000000 00000000 00000000 ................ + 3360 00000000 00000000 00000000 00000000 ................ + 3370 00000000 00000000 00000000 00000000 ................ + 3380 00000000 00000000 00000000 00000000 ................ + 3390 00000000 00000000 00000000 00000000 ................ + 33a0 00000000 00000000 00000000 00000000 ................ + 33b0 00000000 00000000 00000000 00000000 ................ + 33c0 00000000 00000000 00000000 00000000 ................ + 33d0 00000000 00000000 00000000 00000000 ................ + 33e0 00000000 00000000 00000000 00000000 ................ + 33f0 00000000 00000000 00000000 00000000 ................ + 3400 00000000 00000000 00000000 00000000 ................ + 3410 00000000 00000000 00000000 00000000 ................ + 3420 00000000 00000000 00000000 00000000 ................ + 3430 00000000 00000000 00000000 00000000 ................ + 3440 00000000 00000000 00000000 00000000 ................ + 3450 00000000 00000000 00000000 00000000 ................ + 3460 00000000 00000000 00000000 00000000 ................ + 3470 00000000 00000000 00000000 00000000 ................ + 3480 00000000 00000000 00000000 00000000 ................ + 3490 00000000 00000000 00000000 00000000 ................ + 34a0 00000000 00000000 00000000 00000000 ................ + 34b0 00000000 00000000 00000000 00000000 ................ + 34c0 00000000 00000000 00000000 00000000 ................ + 34d0 00000000 00000000 00000000 00000000 ................ + 34e0 00000000 00000000 00000000 00000000 ................ + 34f0 00000000 00000000 00000000 00000000 ................ + 3500 00000000 00000000 00000000 00000000 ................ + 3510 00000000 00000000 00000000 00000000 ................ + 3520 00000000 00000000 00000000 00000000 ................ + 3530 00000000 00000000 00000000 00000000 ................ + 3540 00000000 00000000 00000000 00000000 ................ + 3550 00000000 00000000 00000000 00000000 ................ + 3560 00000000 00000000 00000000 00000000 ................ + 3570 00000000 00000000 00000000 00000000 ................ + 3580 00000000 00000000 00000000 00000000 ................ + 3590 00000000 00000000 00000000 00000000 ................ + 35a0 00000000 00000000 00000000 00000000 ................ + 35b0 00000000 00000000 00000000 00000000 ................ + 35c0 00000000 00000000 00000000 00000000 ................ + 35d0 00000000 00000000 00000000 00000000 ................ + 35e0 00000000 00000000 00000000 00000000 ................ + 35f0 00000000 00000000 00000000 00000000 ................ + 3600 00000000 00000000 00000000 00000000 ................ + 3610 00000000 00000000 00000000 00000000 ................ + 3620 00000000 00000000 00000000 00000000 ................ + 3630 00000000 00000000 00000000 00000000 ................ + 3640 00000000 00000000 00000000 00000000 ................ + 3650 00000000 00000000 00000000 00000000 ................ + 3660 00000000 00000000 00000000 00000000 ................ + 3670 00000000 00000000 00000000 00000000 ................ + 3680 00000000 00000000 00000000 00000000 ................ + 3690 00000000 00000000 00000000 00000000 ................ + 36a0 00000000 00000000 00000000 00000000 ................ + 36b0 00000000 00000000 00000000 00000000 ................ + 36c0 00000000 00000000 00000000 00000000 ................ + 36d0 00000000 00000000 00000000 00000000 ................ + 36e0 00000000 00000000 00000000 00000000 ................ + 36f0 00000000 00000000 00000000 00000000 ................ + 3700 00000000 00000000 00000000 00000000 ................ + 3710 00000000 00000000 00000000 00000000 ................ + 3720 00000000 00000000 00000000 00000000 ................ + 3730 00000000 00000000 00000000 00000000 ................ + 3740 00000000 00000000 00000000 00000000 ................ + 3750 00000000 00000000 00000000 00000000 ................ + 3760 00000000 00000000 00000000 00000000 ................ + 3770 00000000 00000000 00000000 00000000 ................ + 3780 00000000 00000000 00000000 00000000 ................ + 3790 00000000 00000000 00000000 00000000 ................ + 37a0 00000000 00000000 00000000 00000000 ................ + 37b0 00000000 00000000 00000000 00000000 ................ + 37c0 00000000 00000000 00000000 00000000 ................ + 37d0 00000000 00000000 00000000 00000000 ................ + 37e0 00000000 00000000 00000000 00000000 ................ + 37f0 00000000 00000000 00000000 00000000 ................ + 3800 00000000 00000000 00000000 00000000 ................ + 3810 00000000 00000000 00000000 00000000 ................ + 3820 00000000 00000000 00000000 00000000 ................ + 3830 00000000 00000000 00000000 00000000 ................ + 3840 00000000 00000000 00000000 00000000 ................ + 3850 00000000 00000000 00000000 00000000 ................ + 3860 00000000 00000000 00000000 00000000 ................ + 3870 00000000 00000000 00000000 00000000 ................ + 3880 00000000 00000000 00000000 00000000 ................ + 3890 00000000 00000000 00000000 00000000 ................ + 38a0 00000000 00000000 00000000 00000000 ................ + 38b0 00000000 00000000 00000000 00000000 ................ + 38c0 00000000 00000000 00000000 00000000 ................ + 38d0 00000000 00000000 00000000 00000000 ................ + 38e0 00000000 00000000 00000000 00000000 ................ + 38f0 00000000 00000000 00000000 00000000 ................ + 3900 00000000 00000000 00000000 00000000 ................ + 3910 00000000 00000000 00000000 00000000 ................ + 3920 00000000 00000000 00000000 00000000 ................ + 3930 00000000 00000000 00000000 00000000 ................ + 3940 00000000 00000000 00000000 00000000 ................ + 3950 00000000 00000000 00000000 00000000 ................ + 3960 00000000 00000000 00000000 00000000 ................ + 3970 00000000 00000000 00000000 00000000 ................ + 3980 00000000 00000000 00000000 00000000 ................ + 3990 00000000 00000000 00000000 00000000 ................ + 39a0 00000000 00000000 00000000 00000000 ................ + 39b0 00000000 00000000 00000000 00000000 ................ + 39c0 00000000 00000000 00000000 00000000 ................ + 39d0 00000000 00000000 00000000 00000000 ................ + 39e0 00000000 00000000 00000000 00000000 ................ + 39f0 00000000 00000000 00000000 00000000 ................ + 3a00 00000000 00000000 00000000 00000000 ................ + 3a10 00000000 00000000 00000000 00000000 ................ + 3a20 00000000 00000000 00000000 00000000 ................ + 3a30 00000000 00000000 00000000 00000000 ................ + 3a40 00000000 00000000 00000000 00000000 ................ + 3a50 00000000 00000000 00000000 00000000 ................ + 3a60 00000000 00000000 00000000 00000000 ................ + 3a70 00000000 00000000 00000000 00000000 ................ + 3a80 00000000 00000000 00000000 00000000 ................ + 3a90 00000000 00000000 00000000 00000000 ................ + 3aa0 00000000 00000000 00000000 00000000 ................ + 3ab0 00000000 00000000 00000000 00000000 ................ + 3ac0 00000000 00000000 00000000 00000000 ................ + 3ad0 00000000 00000000 00000000 00000000 ................ + 3ae0 00000000 00000000 00000000 00000000 ................ + 3af0 00000000 00000000 00000000 00000000 ................ + 3b00 00000000 00000000 00000000 00000000 ................ + 3b10 00000000 00000000 00000000 00000000 ................ + 3b20 00000000 00000000 00000000 00000000 ................ + 3b30 00000000 00000000 00000000 00000000 ................ + 3b40 00000000 00000000 00000000 00000000 ................ + 3b50 00000000 00000000 00000000 00000000 ................ + 3b60 00000000 00000000 00000000 00000000 ................ + 3b70 00000000 00000000 00000000 00000000 ................ + 3b80 00000000 00000000 00000000 00000000 ................ + 3b90 00000000 00000000 00000000 00000000 ................ + 3ba0 00000000 00000000 00000000 00000000 ................ + 3bb0 00000000 00000000 00000000 00000000 ................ + 3bc0 00000000 00000000 00000000 00000000 ................ + 3bd0 00000000 00000000 00000000 00000000 ................ + 3be0 00000000 00000000 00000000 00000000 ................ + 3bf0 00000000 00000000 00000000 00000000 ................ + 3c00 00000000 00000000 00000000 00000000 ................ + 3c10 00000000 00000000 00000000 00000000 ................ + 3c20 00000000 00000000 00000000 00000000 ................ + 3c30 00000000 00000000 00000000 00000000 ................ + 3c40 00000000 00000000 00000000 00000000 ................ + 3c50 00000000 00000000 00000000 00000000 ................ + 3c60 00000000 00000000 00000000 00000000 ................ + 3c70 00000000 00000000 00000000 00000000 ................ + 3c80 00000000 00000000 00000000 00000000 ................ + 3c90 00000000 00000000 00000000 00000000 ................ + 3ca0 00000000 00000000 00000000 00000000 ................ + 3cb0 00000000 00000000 00000000 00000000 ................ + 3cc0 00000000 00000000 00000000 00000000 ................ + 3cd0 00000000 00000000 00000000 00000000 ................ + 3ce0 00000000 00000000 00000000 00000000 ................ + 3cf0 00000000 00000000 00000000 00000000 ................ + 3d00 00000000 00000000 00000000 00000000 ................ + 3d10 00000000 00000000 00000000 00000000 ................ + 3d20 00000000 00000000 00000000 00000000 ................ + 3d30 00000000 00000000 00000000 00000000 ................ + 3d40 00000000 00000000 00000000 00000000 ................ + 3d50 00000000 00000000 00000000 00000000 ................ + 3d60 00000000 00000000 00000000 00000000 ................ + 3d70 00000000 00000000 00000000 00000000 ................ + 3d80 00000000 00000000 00000000 00000000 ................ + 3d90 00000000 00000000 00000000 00000000 ................ + 3da0 00000000 00000000 00000000 00000000 ................ + 3db0 00000000 00000000 00000000 00000000 ................ + 3dc0 00000000 00000000 00000000 00000000 ................ + 3dd0 00000000 00000000 00000000 00000000 ................ + 3de0 00000000 00000000 00000000 00000000 ................ + 3df0 00000000 00000000 00000000 00000000 ................ + 3e00 00000000 00000000 00000000 00000000 ................ + 3e10 00000000 00000000 00000000 00000000 ................ + 3e20 00000000 00000000 00000000 00000000 ................ + 3e30 00000000 00000000 00000000 00000000 ................ + 3e40 00000000 00000000 00000000 00000000 ................ + 3e50 00000000 00000000 00000000 00000000 ................ + 3e60 00000000 00000000 00000000 00000000 ................ + 3e70 00000000 00000000 00000000 00000000 ................ + 3e80 00000000 00000000 00000000 00000000 ................ + 3e90 00000000 00000000 00000000 00000000 ................ + 3ea0 00000000 00000000 00000000 00000000 ................ + 3eb0 00000000 00000000 00000000 00000000 ................ + 3ec0 00000000 00000000 00000000 00000000 ................ + 3ed0 00000000 00000000 00000000 00000000 ................ + 3ee0 00000000 00000000 00000000 00000000 ................ + 3ef0 00000000 00000000 00000000 00000000 ................ + 3f00 00000000 00000000 00000000 00000000 ................ + 3f10 00000000 00000000 00000000 00000000 ................ + 3f20 00000000 00000000 00000000 00000000 ................ + 3f30 00000000 00000000 00000000 00000000 ................ + 3f40 00000000 00000000 00000000 00000000 ................ + 3f50 00000000 00000000 00000000 00000000 ................ + 3f60 00000000 00000000 00000000 00000000 ................ + 3f70 00000000 00000000 00000000 00000000 ................ + 3f80 00000000 00000000 00000000 00000000 ................ + 3f90 00000000 00000000 00000000 00000000 ................ + 3fa0 00000000 00000000 00000000 00000000 ................ + 3fb0 00000000 00000000 00000000 00000000 ................ + 3fc0 00000000 00000000 00000000 00000000 ................ + 3fd0 00000000 00000000 00000000 00000000 ................ + 3fe0 00000000 00000000 00000000 00000000 ................ + 3ff0 00000000 00000000 00000000 00000000 ................ + 4000 00000000 00000000 00000000 00000000 ................ + 4010 00000000 00000000 00000000 00000000 ................ + 4020 00000000 00000000 00000000 00000000 ................ + 4030 00000000 00000000 00000000 00000000 ................ + 4040 00000000 00000000 00000000 00000000 ................ + 4050 00000000 00000000 00000000 00000000 ................ + 4060 00000000 00000000 00000000 00000000 ................ + 4070 00000000 00000000 00000000 00000000 ................ + 4080 00000000 00000000 00000000 00000000 ................ + 4090 00000000 00000000 00000000 00000000 ................ + 40a0 00000000 00000000 00000000 00000000 ................ + 40b0 00000000 00000000 00000000 00000000 ................ + 40c0 00000000 00000000 00000000 00000000 ................ + 40d0 00000000 00000000 00000000 00000000 ................ + 40e0 00000000 00000000 00000000 00000000 ................ + 40f0 00000000 00000000 00000000 00000000 ................ + 4100 00000000 00000000 00000000 00000000 ................ + 4110 00000000 00000000 00000000 00000000 ................ + 4120 00000000 00000000 00000000 00000000 ................ + 4130 00000000 00000000 00000000 00000000 ................ + 4140 00000000 00000000 00000000 00000000 ................ + 4150 00000000 00000000 00000000 00000000 ................ + 4160 00000000 00000000 00000000 00000000 ................ + 4170 00000000 00000000 00000000 00000000 ................ + 4180 00000000 00000000 00000000 00000000 ................ + 4190 00000000 00000000 00000000 00000000 ................ + 41a0 00000000 00000000 00000000 00000000 ................ + 41b0 00000000 00000000 00000000 00000000 ................ + 41c0 00000000 00000000 00000000 00000000 ................ + 41d0 00000000 00000000 00000000 00000000 ................ + 41e0 00000000 00000000 00000000 00000000 ................ + 41f0 00000000 00000000 00000000 00000000 ................ + 4200 00000000 00000000 00000000 00000000 ................ + 4210 00000000 00000000 00000000 00000000 ................ + 4220 00000000 00000000 00000000 00000000 ................ + 4230 00000000 00000000 00000000 00000000 ................ + 4240 00000000 00000000 00000000 00000000 ................ + 4250 00000000 00000000 00000000 00000000 ................ + 4260 00000000 00000000 00000000 00000000 ................ + 4270 00000000 00000000 00000000 00000000 ................ + 4280 00000000 00000000 00000000 00000000 ................ + 4290 00000000 00000000 00000000 00000000 ................ + 42a0 00000000 00000000 00000000 00000000 ................ + 42b0 00000000 00000000 00000000 00000000 ................ + 42c0 00000000 00000000 00000000 00000000 ................ + 42d0 00000000 00000000 00000000 00000000 ................ + 42e0 00000000 00000000 00000000 00000000 ................ + 42f0 00000000 00000000 00000000 00000000 ................ + 4300 00000000 00000000 00000000 00000000 ................ + 4310 00000000 00000000 00000000 00000000 ................ + 4320 00000000 00000000 00000000 00000000 ................ + 4330 00000000 00000000 00000000 00000000 ................ + 4340 00000000 00000000 00000000 00000000 ................ + 4350 00000000 00000000 00000000 00000000 ................ + 4360 00000000 00000000 00000000 00000000 ................ + 4370 00000000 00000000 00000000 00000000 ................ + 4380 00000000 00000000 00000000 00000000 ................ + 4390 00000000 00000000 00000000 00000000 ................ + 43a0 00000000 00000000 00000000 00000000 ................ + 43b0 00000000 00000000 00000000 00000000 ................ + 43c0 00000000 00000000 00000000 00000000 ................ + 43d0 00000000 00000000 00000000 00000000 ................ + 43e0 00000000 00000000 00000000 00000000 ................ + 43f0 00000000 00000000 00000000 00000000 ................ + 4400 00000000 00000000 00000000 00000000 ................ + 4410 00000000 00000000 00000000 00000000 ................ + 4420 00000000 00000000 00000000 00000000 ................ + 4430 00000000 00000000 00000000 00000000 ................ + 4440 00000000 00000000 00000000 00000000 ................ + 4450 00000000 00000000 00000000 00000000 ................ + 4460 00000000 00000000 00000000 00000000 ................ + 4470 00000000 00000000 00000000 00000000 ................ + 4480 00000000 00000000 00000000 00000000 ................ + 4490 00000000 00000000 00000000 00000000 ................ + 44a0 00000000 00000000 00000000 00000000 ................ + 44b0 00000000 00000000 00000000 00000000 ................ + 44c0 00000000 00000000 00000000 00000000 ................ + 44d0 00000000 00000000 00000000 00000000 ................ + 44e0 00000000 00000000 00000000 00000000 ................ + 44f0 00000000 00000000 00000000 00000000 ................ + 4500 00000000 00000000 00000000 00000000 ................ + 4510 00000000 00000000 00000000 00000000 ................ + 4520 00000000 00000000 00000000 00000000 ................ + 4530 00000000 00000000 00000000 00000000 ................ + 4540 00000000 00000000 00000000 00000000 ................ + 4550 00000000 00000000 00000000 00000000 ................ + 4560 00000000 00000000 00000000 00000000 ................ + 4570 00000000 00000000 00000000 00000000 ................ + 4580 00000000 00000000 00000000 00000000 ................ + 4590 00000000 00000000 00000000 00000000 ................ + 45a0 00000000 00000000 00000000 00000000 ................ + 45b0 00000000 00000000 00000000 00000000 ................ + 45c0 00000000 00000000 00000000 00000000 ................ + 45d0 00000000 00000000 00000000 00000000 ................ + 45e0 00000000 00000000 00000000 00000000 ................ + 45f0 00000000 00000000 00000000 00000000 ................ + 4600 00000000 00000000 00000000 00000000 ................ + 4610 00000000 00000000 00000000 00000000 ................ + 4620 00000000 00000000 00000000 00000000 ................ + 4630 00000000 00000000 00000000 00000000 ................ + 4640 00000000 00000000 00000000 00000000 ................ + 4650 00000000 00000000 00000000 00000000 ................ + 4660 00000000 00000000 00000000 00000000 ................ + 4670 00000000 00000000 00000000 00000000 ................ + 4680 00000000 00000000 00000000 00000000 ................ + 4690 00000000 00000000 00000000 00000000 ................ + 46a0 00000000 00000000 00000000 00000000 ................ + 46b0 00000000 00000000 00000000 00000000 ................ + 46c0 00000000 00000000 00000000 00000000 ................ + 46d0 00000000 00000000 00000000 00000000 ................ + 46e0 00000000 00000000 00000000 00000000 ................ + 46f0 00000000 00000000 00000000 00000000 ................ + 4700 00000000 00000000 00000000 00000000 ................ + 4710 00000000 00000000 00000000 00000000 ................ + 4720 00000000 00000000 00000000 00000000 ................ + 4730 00000000 00000000 00000000 00000000 ................ + 4740 00000000 00000000 00000000 00000000 ................ + 4750 00000000 00000000 00000000 00000000 ................ + 4760 00000000 00000000 00000000 00000000 ................ + 4770 00000000 00000000 00000000 00000000 ................ + 4780 00000000 00000000 00000000 00000000 ................ + 4790 00000000 00000000 00000000 00000000 ................ + 47a0 00000000 00000000 00000000 00000000 ................ + 47b0 00000000 00000000 00000000 00000000 ................ + 47c0 00000000 00000000 00000000 00000000 ................ + 47d0 00000000 00000000 00000000 00000000 ................ + 47e0 00000000 00000000 00000000 00000000 ................ + 47f0 00000000 00000000 00000000 00000000 ................ + 4800 00000000 00000000 00000000 00000000 ................ + 4810 00000000 00000000 00000000 00000000 ................ + 4820 00000000 00000000 00000000 00000000 ................ + 4830 00000000 00000000 00000000 00000000 ................ + 4840 00000000 00000000 00000000 00000000 ................ + 4850 00000000 00000000 00000000 00000000 ................ + 4860 00000000 00000000 00000000 00000000 ................ + 4870 00000000 00000000 00000000 00000000 ................ + 4880 00000000 00000000 00000000 00000000 ................ + 4890 00000000 00000000 00000000 00000000 ................ + 48a0 00000000 00000000 00000000 00000000 ................ + 48b0 00000000 00000000 00000000 00000000 ................ + 48c0 00000000 00000000 00000000 00000000 ................ + 48d0 00000000 00000000 00000000 00000000 ................ + 48e0 00000000 00000000 00000000 00000000 ................ + 48f0 00000000 00000000 00000000 00000000 ................ + 4900 00000000 00000000 00000000 00000000 ................ + 4910 00000000 00000000 00000000 00000000 ................ + 4920 00000000 00000000 00000000 00000000 ................ + 4930 00000000 00000000 00000000 00000000 ................ + 4940 00000000 00000000 00000000 00000000 ................ + 4950 00000000 00000000 00000000 00000000 ................ + 4960 00000000 00000000 00000000 00000000 ................ + 4970 00000000 00000000 00000000 00000000 ................ + 4980 00000000 00000000 00000000 00000000 ................ + 4990 00000000 00000000 00000000 00000000 ................ + 49a0 00000000 00000000 00000000 00000000 ................ + 49b0 00000000 00000000 00000000 00000000 ................ + 49c0 00000000 00000000 00000000 00000000 ................ + 49d0 00000000 00000000 00000000 00000000 ................ + 49e0 00000000 00000000 00000000 00000000 ................ + 49f0 00000000 00000000 00000000 00000000 ................ + 4a00 00000000 00000000 00000000 00000000 ................ + 4a10 00000000 00000000 00000000 00000000 ................ + 4a20 00000000 00000000 00000000 00000000 ................ + 4a30 00000000 00000000 00000000 00000000 ................ + 4a40 00000000 00000000 00000000 00000000 ................ + 4a50 00000000 00000000 00000000 00000000 ................ + 4a60 00000000 00000000 00000000 00000000 ................ + 4a70 00000000 00000000 00000000 00000000 ................ + 4a80 00000000 00000000 00000000 00000000 ................ + 4a90 00000000 00000000 00000000 00000000 ................ + 4aa0 00000000 00000000 00000000 00000000 ................ + 4ab0 00000000 00000000 00000000 00000000 ................ + 4ac0 00000000 00000000 00000000 00000000 ................ + 4ad0 00000000 00000000 00000000 00000000 ................ + 4ae0 00000000 00000000 00000000 00000000 ................ + 4af0 00000000 00000000 00000000 00000000 ................ + 4b00 00000000 00000000 00000000 00000000 ................ + 4b10 00000000 00000000 00000000 00000000 ................ + 4b20 00000000 00000000 00000000 00000000 ................ + 4b30 00000000 00000000 00000000 00000000 ................ + 4b40 00000000 00000000 00000000 00000000 ................ + 4b50 00000000 00000000 00000000 00000000 ................ + 4b60 00000000 00000000 00000000 00000000 ................ + 4b70 00000000 00000000 00000000 00000000 ................ + 4b80 00000000 00000000 00000000 00000000 ................ + 4b90 00000000 00000000 00000000 00000000 ................ + 4ba0 00000000 00000000 00000000 00000000 ................ + 4bb0 00000000 00000000 00000000 00000000 ................ + 4bc0 00000000 00000000 00000000 00000000 ................ + 4bd0 00000000 00000000 00000000 00000000 ................ + 4be0 00000000 00000000 00000000 00000000 ................ + 4bf0 00000000 00000000 00000000 00000000 ................ + 4c00 00000000 00000000 00000000 00000000 ................ + 4c10 00000000 00000000 00000000 00000000 ................ + 4c20 00000000 00000000 00000000 00000000 ................ + 4c30 00000000 00000000 00000000 00000000 ................ + 4c40 00000000 00000000 00000000 00000000 ................ + 4c50 00000000 00000000 00000000 00000000 ................ + 4c60 00000000 00000000 00000000 00000000 ................ + 4c70 00000000 00000000 00000000 00000000 ................ + 4c80 00000000 00000000 00000000 00000000 ................ + 4c90 00000000 00000000 00000000 00000000 ................ + 4ca0 00000000 00000000 00000000 00000000 ................ + 4cb0 00000000 00000000 00000000 00000000 ................ + 4cc0 00000000 00000000 00000000 00000000 ................ + 4cd0 00000000 00000000 00000000 00000000 ................ + 4ce0 00000000 00000000 00000000 00000000 ................ + 4cf0 00000000 00000000 00000000 00000000 ................ + 4d00 00000000 00000000 00000000 00000000 ................ + 4d10 00000000 00000000 00000000 00000000 ................ + 4d20 00000000 00000000 00000000 00000000 ................ + 4d30 00000000 00000000 00000000 00000000 ................ + 4d40 00000000 00000000 00000000 00000000 ................ + 4d50 00000000 00000000 00000000 00000000 ................ + 4d60 00000000 00000000 00000000 00000000 ................ + 4d70 00000000 00000000 00000000 00000000 ................ + 4d80 00000000 00000000 00000000 00000000 ................ + 4d90 00000000 00000000 00000000 00000000 ................ + 4da0 00000000 00000000 00000000 00000000 ................ + 4db0 00000000 00000000 00000000 00000000 ................ + 4dc0 00000000 00000000 00000000 00000000 ................ + 4dd0 00000000 00000000 00000000 00000000 ................ + 4de0 00000000 00000000 00000000 00000000 ................ + 4df0 00000000 00000000 00000000 00000000 ................ + 4e00 00000000 00000000 00000000 00000000 ................ + 4e10 00000000 00000000 00000000 00000000 ................ + 4e20 00000000 00000000 00000000 00000000 ................ + 4e30 00000000 00000000 00000000 00000000 ................ + 4e40 00000000 00000000 00000000 00000000 ................ + 4e50 00000000 00000000 00000000 00000000 ................ + 4e60 00000000 00000000 00000000 00000000 ................ + 4e70 00000000 00000000 00000000 00000000 ................ + 4e80 00000000 00000000 00000000 00000000 ................ + 4e90 00000000 00000000 00000000 00000000 ................ + 4ea0 00000000 00000000 00000000 00000000 ................ + 4eb0 00000000 00000000 00000000 00000000 ................ + 4ec0 00000000 00000000 00000000 00000000 ................ + 4ed0 00000000 00000000 00000000 00000000 ................ + 4ee0 00000000 00000000 00000000 00000000 ................ + 4ef0 00000000 00000000 00000000 00000000 ................ + 4f00 00000000 00000000 00000000 00000000 ................ + 4f10 00000000 00000000 00000000 00000000 ................ + 4f20 00000000 00000000 00000000 00000000 ................ + 4f30 00000000 00000000 00000000 00000000 ................ + 4f40 00000000 00000000 00000000 00000000 ................ + 4f50 00000000 00000000 00000000 00000000 ................ + 4f60 00000000 00000000 00000000 00000000 ................ + 4f70 00000000 00000000 00000000 00000000 ................ + 4f80 00000000 00000000 00000000 00000000 ................ + 4f90 00000000 00000000 00000000 00000000 ................ + 4fa0 00000000 00000000 00000000 00000000 ................ + 4fb0 00000000 00000000 00000000 00000000 ................ + 4fc0 00000000 00000000 00000000 00000000 ................ + 4fd0 00000000 00000000 00000000 00000000 ................ + 4fe0 00000000 00000000 00000000 00000000 ................ + 4ff0 00000000 00000000 00000000 00000000 ................ + 5000 00000000 00000000 00000000 00000000 ................ + 5010 00000000 00000000 00000000 00000000 ................ + 5020 00000000 00000000 00000000 00000000 ................ + 5030 00000000 00000000 00000000 00000000 ................ + 5040 00000000 00000000 00000000 00000000 ................ + 5050 00000000 00000000 00000000 00000000 ................ + 5060 00000000 00000000 00000000 00000000 ................ + 5070 00000000 00000000 00000000 00000000 ................ + 5080 00000000 00000000 00000000 00000000 ................ + 5090 00000000 00000000 00000000 00000000 ................ + 50a0 00000000 00000000 00000000 00000000 ................ + 50b0 00000000 00000000 00000000 00000000 ................ + 50c0 00000000 00000000 00000000 00000000 ................ + 50d0 00000000 00000000 00000000 00000000 ................ + 50e0 00000000 00000000 00000000 00000000 ................ + 50f0 00000000 00000000 00000000 00000000 ................ + 5100 00000000 00000000 00000000 00000000 ................ + 5110 00000000 00000000 00000000 00000000 ................ + 5120 00000000 00000000 00000000 00000000 ................ + 5130 00000000 00000000 00000000 00000000 ................ + 5140 00000000 00000000 00000000 00000000 ................ + 5150 00000000 00000000 00000000 00000000 ................ + 5160 00000000 00000000 00000000 00000000 ................ + 5170 00000000 00000000 00000000 00000000 ................ + 5180 00000000 00000000 00000000 00000000 ................ + 5190 00000000 00000000 00000000 00000000 ................ + 51a0 00000000 00000000 00000000 00000000 ................ + 51b0 00000000 00000000 00000000 00000000 ................ + 51c0 00000000 00000000 00000000 00000000 ................ + 51d0 00000000 00000000 00000000 00000000 ................ + 51e0 00000000 00000000 00000000 00000000 ................ + 51f0 00000000 00000000 00000000 00000000 ................ + 5200 00000000 00000000 00000000 00000000 ................ + 5210 00000000 00000000 00000000 00000000 ................ + 5220 00000000 00000000 00000000 00000000 ................ + 5230 00000000 00000000 00000000 00000000 ................ + 5240 00000000 00000000 00000000 00000000 ................ + 5250 00000000 00000000 00000000 00000000 ................ + 5260 00000000 00000000 00000000 00000000 ................ + 5270 00000000 00000000 00000000 00000000 ................ + 5280 00000000 00000000 00000000 00000000 ................ + 5290 00000000 00000000 00000000 00000000 ................ + 52a0 00000000 00000000 00000000 00000000 ................ + 52b0 00000000 00000000 00000000 00000000 ................ + 52c0 00000000 00000000 00000000 00000000 ................ + 52d0 00000000 00000000 00000000 00000000 ................ + 52e0 00000000 00000000 00000000 00000000 ................ + 52f0 00000000 00000000 00000000 00000000 ................ + 5300 00000000 00000000 00000000 00000000 ................ + 5310 00000000 00000000 00000000 00000000 ................ + 5320 00000000 00000000 00000000 00000000 ................ + 5330 00000000 00000000 00000000 00000000 ................ + 5340 00000000 00000000 00000000 00000000 ................ + 5350 00000000 00000000 00000000 00000000 ................ + 5360 00000000 00000000 00000000 00000000 ................ + 5370 00000000 00000000 00000000 00000000 ................ + 5380 00000000 00000000 00000000 00000000 ................ + 5390 00000000 00000000 00000000 00000000 ................ + 53a0 00000000 00000000 00000000 00000000 ................ + 53b0 00000000 00000000 00000000 00000000 ................ + 53c0 00000000 00000000 00000000 00000000 ................ + 53d0 00000000 00000000 00000000 00000000 ................ + 53e0 00000000 00000000 00000000 00000000 ................ + 53f0 00000000 00000000 00000000 00000000 ................ + 5400 00000000 00000000 00000000 00000000 ................ + 5410 00000000 00000000 00000000 00000000 ................ + 5420 00000000 00000000 00000000 00000000 ................ + 5430 00000000 00000000 00000000 00000000 ................ + 5440 00000000 00000000 00000000 00000000 ................ + 5450 00000000 00000000 00000000 00000000 ................ + 5460 00000000 00000000 00000000 00000000 ................ + 5470 00000000 00000000 00000000 00000000 ................ + 5480 00000000 00000000 00000000 00000000 ................ + 5490 00000000 00000000 00000000 00000000 ................ + 54a0 00000000 00000000 00000000 00000000 ................ + 54b0 00000000 00000000 00000000 00000000 ................ + 54c0 00000000 00000000 00000000 00000000 ................ + 54d0 00000000 00000000 00000000 00000000 ................ + 54e0 00000000 00000000 00000000 00000000 ................ + 54f0 00000000 00000000 00000000 00000000 ................ + 5500 00000000 00000000 00000000 00000000 ................ + 5510 00000000 00000000 00000000 00000000 ................ + 5520 00000000 00000000 00000000 00000000 ................ + 5530 00000000 00000000 00000000 00000000 ................ + 5540 00000000 00000000 00000000 00000000 ................ + 5550 00000000 00000000 00000000 00000000 ................ + 5560 00000000 00000000 00000000 00000000 ................ + 5570 00000000 00000000 00000000 00000000 ................ + 5580 00000000 00000000 00000000 00000000 ................ + 5590 00000000 00000000 00000000 00000000 ................ + 55a0 00000000 00000000 00000000 00000000 ................ + 55b0 00000000 00000000 00000000 00000000 ................ + 55c0 00000000 00000000 00000000 00000000 ................ + 55d0 00000000 00000000 00000000 00000000 ................ + 55e0 00000000 00000000 00000000 00000000 ................ + 55f0 00000000 00000000 00000000 00000000 ................ + 5600 00000000 00000000 00000000 00000000 ................ + 5610 00000000 00000000 00000000 00000000 ................ + 5620 00000000 00000000 00000000 00000000 ................ + 5630 00000000 00000000 00000000 00000000 ................ + 5640 00000000 00000000 00000000 00000000 ................ + 5650 00000000 00000000 00000000 00000000 ................ + 5660 00000000 00000000 00000000 00000000 ................ + 5670 00000000 00000000 00000000 00000000 ................ + 5680 00000000 00000000 00000000 00000000 ................ + 5690 00000000 00000000 00000000 00000000 ................ + 56a0 00000000 00000000 00000000 00000000 ................ + 56b0 00000000 00000000 00000000 00000000 ................ + 56c0 00000000 00000000 00000000 00000000 ................ + 56d0 00000000 00000000 00000000 00000000 ................ + 56e0 00000000 00000000 00000000 00000000 ................ + 56f0 00000000 00000000 00000000 00000000 ................ + 5700 00000000 00000000 00000000 00000000 ................ + 5710 00000000 00000000 00000000 00000000 ................ + 5720 00000000 00000000 00000000 00000000 ................ + 5730 00000000 00000000 00000000 00000000 ................ + 5740 00000000 00000000 00000000 00000000 ................ + 5750 00000000 00000000 00000000 00000000 ................ + 5760 00000000 00000000 00000000 00000000 ................ + 5770 00000000 00000000 00000000 00000000 ................ + 5780 00000000 00000000 00000000 00000000 ................ + 5790 00000000 00000000 00000000 00000000 ................ + 57a0 00000000 00000000 00000000 00000000 ................ + 57b0 00000000 00000000 00000000 00000000 ................ + 57c0 00000000 00000000 00000000 00000000 ................ + 57d0 00000000 00000000 00000000 00000000 ................ + 57e0 00000000 00000000 00000000 00000000 ................ + 57f0 00000000 00000000 00000000 00000000 ................ + 5800 00000000 00000000 00000000 00000000 ................ + 5810 00000000 00000000 00000000 00000000 ................ + 5820 00000000 00000000 00000000 00000000 ................ + 5830 00000000 00000000 00000000 00000000 ................ + 5840 00000000 00000000 00000000 00000000 ................ + 5850 00000000 00000000 00000000 00000000 ................ + 5860 00000000 00000000 00000000 00000000 ................ + 5870 00000000 00000000 00000000 00000000 ................ + 5880 00000000 00000000 00000000 00000000 ................ + 5890 00000000 00000000 00000000 00000000 ................ + 58a0 00000000 00000000 00000000 00000000 ................ + 58b0 00000000 00000000 00000000 00000000 ................ + 58c0 00000000 00000000 00000000 00000000 ................ + 58d0 00000000 00000000 00000000 00000000 ................ + 58e0 00000000 00000000 00000000 00000000 ................ + 58f0 00000000 00000000 00000000 00000000 ................ + 5900 00000000 00000000 00000000 00000000 ................ + 5910 00000000 00000000 00000000 00000000 ................ + 5920 00000000 00000000 00000000 00000000 ................ + 5930 00000000 00000000 00000000 00000000 ................ + 5940 00000000 00000000 00000000 00000000 ................ + 5950 00000000 00000000 00000000 00000000 ................ + 5960 00000000 00000000 00000000 00000000 ................ + 5970 00000000 00000000 00000000 00000000 ................ + 5980 00000000 00000000 00000000 00000000 ................ + 5990 00000000 00000000 00000000 00000000 ................ + 59a0 00000000 00000000 00000000 00000000 ................ + 59b0 00000000 00000000 00000000 00000000 ................ + 59c0 00000000 00000000 00000000 00000000 ................ + 59d0 00000000 00000000 00000000 00000000 ................ + 59e0 00000000 00000000 00000000 00000000 ................ + 59f0 00000000 00000000 00000000 00000000 ................ + 5a00 00000000 00000000 00000000 00000000 ................ + 5a10 00000000 00000000 00000000 00000000 ................ + 5a20 00000000 00000000 00000000 00000000 ................ + 5a30 00000000 00000000 00000000 00000000 ................ + 5a40 00000000 00000000 00000000 00000000 ................ + 5a50 00000000 00000000 00000000 00000000 ................ + 5a60 00000000 00000000 00000000 00000000 ................ + 5a70 00000000 00000000 00000000 00000000 ................ + 5a80 00000000 00000000 00000000 00000000 ................ + 5a90 00000000 00000000 00000000 00000000 ................ + 5aa0 00000000 00000000 00000000 00000000 ................ + 5ab0 00000000 00000000 00000000 00000000 ................ + 5ac0 00000000 00000000 00000000 00000000 ................ + 5ad0 00000000 00000000 00000000 00000000 ................ + 5ae0 00000000 00000000 00000000 00000000 ................ + 5af0 00000000 00000000 00000000 00000000 ................ + 5b00 00000000 00000000 00000000 00000000 ................ + 5b10 00000000 00000000 00000000 00000000 ................ + 5b20 00000000 00000000 00000000 00000000 ................ + 5b30 00000000 00000000 00000000 00000000 ................ + 5b40 00000000 00000000 00000000 00000000 ................ + 5b50 00000000 00000000 00000000 00000000 ................ + 5b60 00000000 00000000 00000000 00000000 ................ + 5b70 00000000 00000000 00000000 00000000 ................ + 5b80 00000000 00000000 00000000 00000000 ................ + 5b90 00000000 00000000 00000000 00000000 ................ + 5ba0 00000000 00000000 00000000 00000000 ................ + 5bb0 00000000 00000000 00000000 00000000 ................ + 5bc0 00000000 00000000 00000000 00000000 ................ + 5bd0 00000000 00000000 00000000 00000000 ................ + 5be0 00000000 00000000 00000000 00000000 ................ + 5bf0 00000000 00000000 00000000 00000000 ................ + 5c00 00000000 00000000 00000000 00000000 ................ + 5c10 00000000 00000000 00000000 00000000 ................ + 5c20 00000000 00000000 00000000 00000000 ................ + 5c30 00000000 00000000 00000000 00000000 ................ + 5c40 00000000 00000000 00000000 00000000 ................ + 5c50 00000000 00000000 00000000 00000000 ................ + 5c60 00000000 00000000 00000000 00000000 ................ + 5c70 00000000 00000000 00000000 00000000 ................ + 5c80 00000000 00000000 00000000 00000000 ................ + 5c90 00000000 00000000 00000000 00000000 ................ + 5ca0 00000000 00000000 00000000 00000000 ................ + 5cb0 00000000 00000000 00000000 00000000 ................ + 5cc0 00000000 00000000 00000000 00000000 ................ + 5cd0 00000000 00000000 00000000 00000000 ................ + 5ce0 00000000 00000000 00000000 00000000 ................ + 5cf0 00000000 00000000 00000000 00000000 ................ + 5d00 00000000 00000000 00000000 00000000 ................ + 5d10 00000000 00000000 00000000 00000000 ................ + 5d20 00000000 00000000 00000000 00000000 ................ + 5d30 00000000 00000000 00000000 00000000 ................ + 5d40 00000000 00000000 00000000 00000000 ................ + 5d50 00000000 00000000 00000000 00000000 ................ + 5d60 00000000 00000000 00000000 00000000 ................ + 5d70 00000000 00000000 00000000 00000000 ................ + 5d80 00000000 00000000 00000000 00000000 ................ + 5d90 00000000 00000000 00000000 00000000 ................ + 5da0 00000000 00000000 00000000 00000000 ................ + 5db0 00000000 00000000 00000000 00000000 ................ + 5dc0 00000000 00000000 00000000 00000000 ................ + 5dd0 00000000 00000000 00000000 00000000 ................ + 5de0 00000000 00000000 00000000 00000000 ................ + 5df0 00000000 00000000 00000000 00000000 ................ + 5e00 00000000 00000000 00000000 00000000 ................ + 5e10 00000000 00000000 00000000 00000000 ................ + 5e20 00000000 00000000 00000000 00000000 ................ + 5e30 00000000 00000000 00000000 00000000 ................ + 5e40 00000000 00000000 00000000 00000000 ................ + 5e50 00000000 00000000 00000000 00000000 ................ + 5e60 00000000 00000000 00000000 00000000 ................ + 5e70 00000000 00000000 00000000 00000000 ................ + 5e80 00000000 00000000 00000000 00000000 ................ + 5e90 00000000 00000000 00000000 00000000 ................ + 5ea0 00000000 00000000 00000000 00000000 ................ + 5eb0 00000000 00000000 00000000 00000000 ................ + 5ec0 00000000 00000000 00000000 00000000 ................ + 5ed0 00000000 00000000 00000000 00000000 ................ + 5ee0 00000000 00000000 00000000 00000000 ................ + 5ef0 00000000 00000000 00000000 00000000 ................ + 5f00 00000000 00000000 00000000 00000000 ................ + 5f10 00000000 00000000 00000000 00000000 ................ + 5f20 00000000 00000000 00000000 00000000 ................ + 5f30 00000000 00000000 00000000 00000000 ................ + 5f40 00000000 00000000 00000000 00000000 ................ + 5f50 00000000 00000000 00000000 00000000 ................ + 5f60 00000000 00000000 00000000 00000000 ................ + 5f70 00000000 00000000 00000000 00000000 ................ + 5f80 00000000 00000000 00000000 00000000 ................ + 5f90 00000000 00000000 00000000 00000000 ................ + 5fa0 00000000 00000000 00000000 00000000 ................ + 5fb0 00000000 00000000 00000000 00000000 ................ + 5fc0 00000000 00000000 00000000 00000000 ................ + 5fd0 00000000 00000000 00000000 00000000 ................ + 5fe0 00000000 00000000 00000000 00000000 ................ + 5ff0 00000000 00000000 00000000 00000000 ................ + 6000 00000000 00000000 00000000 00000000 ................ + 6010 00000000 00000000 00000000 00000000 ................ + 6020 00000000 00000000 00000000 00000000 ................ + 6030 00000000 00000000 00000000 00000000 ................ + 6040 00000000 00000000 00000000 00000000 ................ + 6050 00000000 00000000 00000000 00000000 ................ + 6060 00000000 00000000 00000000 00000000 ................ + 6070 00000000 00000000 00000000 00000000 ................ + 6080 00000000 00000000 00000000 00000000 ................ + 6090 00000000 00000000 00000000 00000000 ................ + 60a0 00000000 00000000 00000000 00000000 ................ + 60b0 00000000 00000000 00000000 00000000 ................ + 60c0 00000000 00000000 00000000 00000000 ................ + 60d0 00000000 00000000 00000000 00000000 ................ + 60e0 00000000 00000000 00000000 00000000 ................ + 60f0 00000000 00000000 00000000 00000000 ................ + 6100 00000000 00000000 00000000 00000000 ................ + 6110 00000000 00000000 00000000 00000000 ................ + 6120 00000000 00000000 00000000 00000000 ................ + 6130 00000000 00000000 00000000 00000000 ................ + 6140 00000000 00000000 00000000 00000000 ................ + 6150 00000000 00000000 00000000 00000000 ................ + 6160 00000000 00000000 00000000 00000000 ................ + 6170 00000000 00000000 00000000 00000000 ................ + 6180 00000000 00000000 00000000 00000000 ................ + 6190 00000000 00000000 00000000 00000000 ................ + 61a0 00000000 00000000 00000000 00000000 ................ + 61b0 00000000 00000000 00000000 00000000 ................ + 61c0 00000000 00000000 00000000 00000000 ................ + 61d0 00000000 00000000 00000000 00000000 ................ + 61e0 00000000 00000000 00000000 00000000 ................ + 61f0 00000000 00000000 00000000 00000000 ................ + 6200 00000000 00000000 00000000 00000000 ................ + 6210 00000000 00000000 00000000 00000000 ................ + 6220 00000000 00000000 00000000 00000000 ................ + 6230 00000000 00000000 00000000 00000000 ................ + 6240 00000000 00000000 00000000 00000000 ................ + 6250 00000000 00000000 00000000 00000000 ................ + 6260 00000000 00000000 00000000 00000000 ................ + 6270 00000000 00000000 00000000 00000000 ................ + 6280 00000000 00000000 00000000 00000000 ................ + 6290 00000000 00000000 00000000 00000000 ................ + 62a0 00000000 00000000 00000000 00000000 ................ + 62b0 00000000 00000000 00000000 00000000 ................ + 62c0 00000000 00000000 00000000 00000000 ................ + 62d0 00000000 00000000 00000000 00000000 ................ + 62e0 00000000 00000000 00000000 00000000 ................ + 62f0 00000000 00000000 00000000 00000000 ................ + 6300 00000000 00000000 00000000 00000000 ................ + 6310 00000000 00000000 00000000 00000000 ................ + 6320 00000000 00000000 00000000 00000000 ................ + 6330 00000000 00000000 00000000 00000000 ................ + 6340 00000000 00000000 00000000 00000000 ................ + 6350 00000000 00000000 00000000 00000000 ................ + 6360 00000000 00000000 00000000 00000000 ................ + 6370 00000000 00000000 00000000 00000000 ................ + 6380 00000000 00000000 00000000 00000000 ................ + 6390 00000000 00000000 00000000 00000000 ................ + 63a0 00000000 00000000 00000000 00000000 ................ + 63b0 00000000 00000000 00000000 00000000 ................ + 63c0 00000000 00000000 00000000 00000000 ................ + 63d0 00000000 00000000 00000000 00000000 ................ + 63e0 00000000 00000000 00000000 00000000 ................ + 63f0 00000000 00000000 00000000 00000000 ................ + 6400 00000000 00000000 00000000 00000000 ................ + 6410 00000000 00000000 00000000 00000000 ................ + 6420 00000000 00000000 00000000 00000000 ................ + 6430 00000000 00000000 00000000 00000000 ................ + 6440 00000000 00000000 00000000 00000000 ................ + 6450 00000000 00000000 00000000 00000000 ................ + 6460 00000000 00000000 00000000 00000000 ................ + 6470 00000000 00000000 00000000 00000000 ................ + 6480 00000000 00000000 00000000 00000000 ................ + 6490 00000000 00000000 00000000 00000000 ................ + 64a0 00000000 00000000 00000000 00000000 ................ + 64b0 00000000 00000000 00000000 00000000 ................ + 64c0 00000000 00000000 00000000 00000000 ................ + 64d0 00000000 00000000 00000000 00000000 ................ + 64e0 00000000 00000000 00000000 00000000 ................ + 64f0 00000000 00000000 00000000 00000000 ................ + 6500 00000000 00000000 00000000 00000000 ................ + 6510 00000000 00000000 00000000 00000000 ................ + 6520 00000000 00000000 00000000 00000000 ................ + 6530 00000000 00000000 00000000 00000000 ................ + 6540 00000000 00000000 00000000 00000000 ................ + 6550 00000000 00000000 00000000 00000000 ................ + 6560 00000000 00000000 00000000 00000000 ................ + 6570 00000000 00000000 00000000 00000000 ................ + 6580 00000000 00000000 00000000 00000000 ................ + 6590 00000000 00000000 00000000 00000000 ................ + 65a0 00000000 00000000 00000000 00000000 ................ + 65b0 00000000 00000000 00000000 00000000 ................ + 65c0 00000000 00000000 00000000 00000000 ................ + 65d0 00000000 00000000 00000000 00000000 ................ + 65e0 00000000 00000000 00000000 00000000 ................ + 65f0 00000000 00000000 00000000 00000000 ................ + 6600 00000000 00000000 00000000 00000000 ................ + 6610 00000000 00000000 00000000 00000000 ................ + 6620 00000000 00000000 00000000 00000000 ................ + 6630 00000000 00000000 00000000 00000000 ................ + 6640 00000000 00000000 00000000 00000000 ................ + 6650 00000000 00000000 00000000 00000000 ................ + 6660 00000000 00000000 00000000 00000000 ................ + 6670 00000000 00000000 00000000 00000000 ................ + 6680 00000000 00000000 00000000 00000000 ................ + 6690 00000000 00000000 00000000 00000000 ................ + 66a0 00000000 00000000 00000000 00000000 ................ + 66b0 00000000 00000000 00000000 00000000 ................ + 66c0 00000000 00000000 00000000 00000000 ................ + 66d0 00000000 00000000 00000000 00000000 ................ + 66e0 00000000 00000000 00000000 00000000 ................ + 66f0 00000000 00000000 00000000 00000000 ................ + 6700 00000000 00000000 00000000 00000000 ................ + 6710 00000000 00000000 00000000 00000000 ................ + 6720 00000000 00000000 00000000 00000000 ................ + 6730 00000000 00000000 00000000 00000000 ................ + 6740 00000000 00000000 00000000 00000000 ................ + 6750 00000000 00000000 00000000 00000000 ................ + 6760 00000000 00000000 00000000 00000000 ................ + 6770 00000000 00000000 00000000 00000000 ................ + 6780 00000000 00000000 00000000 00000000 ................ + 6790 00000000 00000000 00000000 00000000 ................ + 67a0 00000000 00000000 00000000 00000000 ................ + 67b0 00000000 00000000 00000000 00000000 ................ + 67c0 00000000 00000000 00000000 00000000 ................ + 67d0 00000000 00000000 00000000 00000000 ................ + 67e0 00000000 00000000 00000000 00000000 ................ + 67f0 00000000 00000000 00000000 00000000 ................ + 6800 00000000 00000000 00000000 00000000 ................ + 6810 00000000 00000000 00000000 00000000 ................ + 6820 00000000 00000000 00000000 00000000 ................ + 6830 00000000 00000000 00000000 00000000 ................ + 6840 00000000 00000000 00000000 00000000 ................ + 6850 00000000 00000000 00000000 00000000 ................ + 6860 00000000 00000000 00000000 00000000 ................ + 6870 00000000 00000000 00000000 00000000 ................ + 6880 00000000 00000000 00000000 00000000 ................ + 6890 00000000 00000000 00000000 00000000 ................ + 68a0 00000000 00000000 00000000 00000000 ................ + 68b0 00000000 00000000 00000000 00000000 ................ + 68c0 00000000 00000000 00000000 00000000 ................ + 68d0 00000000 00000000 00000000 00000000 ................ + 68e0 00000000 00000000 00000000 00000000 ................ + 68f0 00000000 00000000 00000000 00000000 ................ + 6900 00000000 00000000 00000000 00000000 ................ + 6910 00000000 00000000 00000000 00000000 ................ + 6920 00000000 00000000 00000000 00000000 ................ + 6930 00000000 00000000 00000000 00000000 ................ + 6940 00000000 00000000 00000000 00000000 ................ + 6950 00000000 00000000 00000000 00000000 ................ + 6960 00000000 00000000 00000000 00000000 ................ + 6970 00000000 00000000 00000000 00000000 ................ + 6980 00000000 00000000 00000000 00000000 ................ + 6990 00000000 00000000 00000000 00000000 ................ + 69a0 00000000 00000000 00000000 00000000 ................ + 69b0 00000000 00000000 00000000 00000000 ................ + 69c0 00000000 00000000 00000000 00000000 ................ + 69d0 00000000 00000000 00000000 00000000 ................ + 69e0 00000000 00000000 00000000 00000000 ................ + 69f0 00000000 00000000 00000000 00000000 ................ + 6a00 00000000 00000000 00000000 00000000 ................ + 6a10 00000000 00000000 00000000 00000000 ................ + 6a20 00000000 00000000 00000000 00000000 ................ + 6a30 00000000 00000000 00000000 00000000 ................ + 6a40 00000000 00000000 00000000 00000000 ................ + 6a50 00000000 00000000 00000000 00000000 ................ + 6a60 00000000 00000000 00000000 00000000 ................ + 6a70 00000000 00000000 00000000 00000000 ................ + 6a80 00000000 00000000 00000000 00000000 ................ + 6a90 00000000 00000000 00000000 00000000 ................ + 6aa0 00000000 00000000 00000000 00000000 ................ + 6ab0 00000000 00000000 00000000 00000000 ................ + 6ac0 00000000 00000000 00000000 00000000 ................ + 6ad0 00000000 00000000 00000000 00000000 ................ + 6ae0 00000000 00000000 00000000 00000000 ................ + 6af0 00000000 00000000 00000000 00000000 ................ + 6b00 00000000 00000000 00000000 00000000 ................ + 6b10 00000000 00000000 00000000 00000000 ................ + 6b20 00000000 00000000 00000000 00000000 ................ + 6b30 00000000 00000000 00000000 00000000 ................ + 6b40 00000000 00000000 00000000 00000000 ................ + 6b50 00000000 00000000 00000000 00000000 ................ + 6b60 00000000 00000000 00000000 00000000 ................ + 6b70 00000000 00000000 00000000 00000000 ................ + 6b80 00000000 00000000 00000000 00000000 ................ + 6b90 00000000 00000000 00000000 00000000 ................ + 6ba0 00000000 00000000 00000000 00000000 ................ + 6bb0 00000000 00000000 00000000 00000000 ................ + 6bc0 00000000 00000000 00000000 00000000 ................ + 6bd0 00000000 00000000 00000000 00000000 ................ + 6be0 00000000 00000000 00000000 00000000 ................ + 6bf0 00000000 00000000 00000000 00000000 ................ + 6c00 00000000 00000000 00000000 00000000 ................ + 6c10 00000000 00000000 00000000 00000000 ................ + 6c20 00000000 00000000 00000000 00000000 ................ + 6c30 00000000 00000000 00000000 00000000 ................ + 6c40 00000000 00000000 00000000 00000000 ................ + 6c50 00000000 00000000 00000000 00000000 ................ + 6c60 00000000 00000000 00000000 00000000 ................ + 6c70 00000000 00000000 00000000 00000000 ................ + 6c80 00000000 00000000 00000000 00000000 ................ + 6c90 00000000 00000000 00000000 00000000 ................ + 6ca0 00000000 00000000 00000000 00000000 ................ + 6cb0 00000000 00000000 00000000 00000000 ................ + 6cc0 00000000 00000000 00000000 00000000 ................ + 6cd0 00000000 00000000 00000000 00000000 ................ + 6ce0 00000000 00000000 00000000 00000000 ................ + 6cf0 00000000 00000000 00000000 00000000 ................ + 6d00 00000000 00000000 00000000 00000000 ................ + 6d10 00000000 00000000 00000000 00000000 ................ + 6d20 00000000 00000000 00000000 00000000 ................ + 6d30 00000000 00000000 00000000 00000000 ................ + 6d40 00000000 00000000 00000000 00000000 ................ + 6d50 00000000 00000000 00000000 00000000 ................ + 6d60 00000000 00000000 00000000 00000000 ................ + 6d70 00000000 00000000 00000000 00000000 ................ + 6d80 00000000 00000000 00000000 00000000 ................ + 6d90 00000000 00000000 00000000 00000000 ................ + 6da0 00000000 00000000 00000000 00000000 ................ + 6db0 00000000 00000000 00000000 00000000 ................ + 6dc0 00000000 00000000 00000000 00000000 ................ + 6dd0 00000000 00000000 00000000 00000000 ................ + 6de0 00000000 00000000 00000000 00000000 ................ + 6df0 00000000 00000000 00000000 00000000 ................ + 6e00 00000000 00000000 00000000 00000000 ................ + 6e10 00000000 00000000 00000000 00000000 ................ + 6e20 00000000 00000000 00000000 00000000 ................ + 6e30 00000000 00000000 00000000 00000000 ................ + 6e40 00000000 00000000 00000000 00000000 ................ + 6e50 00000000 00000000 00000000 00000000 ................ + 6e60 00000000 00000000 00000000 00000000 ................ + 6e70 00000000 00000000 00000000 00000000 ................ + 6e80 00000000 00000000 00000000 00000000 ................ + 6e90 00000000 00000000 00000000 00000000 ................ + 6ea0 00000000 00000000 00000000 00000000 ................ + 6eb0 00000000 00000000 00000000 00000000 ................ + 6ec0 00000000 00000000 00000000 00000000 ................ + 6ed0 00000000 00000000 00000000 00000000 ................ + 6ee0 00000000 00000000 00000000 00000000 ................ + 6ef0 00000000 00000000 00000000 00000000 ................ + 6f00 00000000 00000000 00000000 00000000 ................ + 6f10 00000000 00000000 00000000 00000000 ................ + 6f20 00000000 00000000 00000000 00000000 ................ + 6f30 00000000 00000000 00000000 00000000 ................ + 6f40 00000000 00000000 00000000 00000000 ................ + 6f50 00000000 00000000 00000000 00000000 ................ + 6f60 00000000 00000000 00000000 00000000 ................ + 6f70 00000000 00000000 00000000 00000000 ................ + 6f80 00000000 00000000 00000000 00000000 ................ + 6f90 00000000 00000000 00000000 00000000 ................ + 6fa0 00000000 00000000 00000000 00000000 ................ + 6fb0 00000000 00000000 00000000 00000000 ................ + 6fc0 00000000 00000000 00000000 00000000 ................ + 6fd0 00000000 00000000 00000000 00000000 ................ + 6fe0 00000000 00000000 00000000 00000000 ................ + 6ff0 00000000 00000000 00000000 00000000 ................ + 7000 00000000 00000000 00000000 00000000 ................ + 7010 00000000 00000000 00000000 00000000 ................ + 7020 00000000 00000000 00000000 00000000 ................ + 7030 00000000 00000000 00000000 00000000 ................ + 7040 00000000 00000000 00000000 00000000 ................ + 7050 00000000 00000000 00000000 00000000 ................ + 7060 00000000 00000000 00000000 00000000 ................ + 7070 00000000 00000000 00000000 00000000 ................ + 7080 00000000 00000000 00000000 00000000 ................ + 7090 00000000 00000000 00000000 00000000 ................ + 70a0 00000000 00000000 00000000 00000000 ................ + 70b0 00000000 00000000 00000000 00000000 ................ + 70c0 00000000 00000000 00000000 00000000 ................ + 70d0 00000000 00000000 00000000 00000000 ................ + 70e0 00000000 00000000 00000000 00000000 ................ + 70f0 00000000 00000000 00000000 00000000 ................ + 7100 00000000 00000000 00000000 00000000 ................ + 7110 00000000 00000000 00000000 00000000 ................ + 7120 00000000 00000000 00000000 00000000 ................ + 7130 00000000 00000000 00000000 00000000 ................ + 7140 00000000 00000000 00000000 00000000 ................ + 7150 00000000 00000000 00000000 00000000 ................ + 7160 00000000 00000000 00000000 00000000 ................ + 7170 00000000 00000000 00000000 00000000 ................ + 7180 00000000 00000000 00000000 00000000 ................ + 7190 00000000 00000000 00000000 00000000 ................ + 71a0 00000000 00000000 00000000 00000000 ................ + 71b0 00000000 00000000 00000000 00000000 ................ + 71c0 00000000 00000000 00000000 00000000 ................ + 71d0 00000000 00000000 00000000 00000000 ................ + 71e0 00000000 00000000 00000000 00000000 ................ + 71f0 00000000 00000000 00000000 00000000 ................ + 7200 00000000 00000000 00000000 00000000 ................ + 7210 00000000 00000000 00000000 00000000 ................ + 7220 00000000 00000000 00000000 00000000 ................ + 7230 00000000 00000000 00000000 00000000 ................ + 7240 00000000 00000000 00000000 00000000 ................ + 7250 00000000 00000000 00000000 00000000 ................ + 7260 00000000 00000000 00000000 00000000 ................ + 7270 00000000 00000000 00000000 00000000 ................ + 7280 00000000 00000000 00000000 00000000 ................ + 7290 00000000 00000000 00000000 00000000 ................ + 72a0 00000000 00000000 00000000 00000000 ................ + 72b0 00000000 00000000 00000000 00000000 ................ + 72c0 00000000 00000000 00000000 00000000 ................ + 72d0 00000000 00000000 00000000 00000000 ................ + 72e0 00000000 00000000 00000000 00000000 ................ + 72f0 00000000 00000000 00000000 00000000 ................ + 7300 00000000 00000000 00000000 00000000 ................ + 7310 00000000 00000000 00000000 00000000 ................ + 7320 00000000 00000000 00000000 00000000 ................ + 7330 00000000 00000000 00000000 00000000 ................ + 7340 00000000 00000000 00000000 00000000 ................ + 7350 00000000 00000000 00000000 00000000 ................ + 7360 00000000 00000000 00000000 00000000 ................ + 7370 00000000 00000000 00000000 00000000 ................ + 7380 00000000 00000000 00000000 00000000 ................ + 7390 00000000 00000000 00000000 00000000 ................ + 73a0 00000000 00000000 00000000 00000000 ................ + 73b0 00000000 00000000 00000000 00000000 ................ + 73c0 00000000 00000000 00000000 00000000 ................ + 73d0 00000000 00000000 00000000 00000000 ................ + 73e0 00000000 00000000 00000000 00000000 ................ + 73f0 00000000 00000000 00000000 00000000 ................ + 7400 00000000 00000000 00000000 00000000 ................ + 7410 00000000 00000000 00000000 00000000 ................ + 7420 00000000 00000000 00000000 00000000 ................ + 7430 00000000 00000000 00000000 00000000 ................ + 7440 00000000 00000000 00000000 00000000 ................ + 7450 00000000 00000000 00000000 00000000 ................ + 7460 00000000 00000000 00000000 00000000 ................ + 7470 00000000 00000000 00000000 00000000 ................ + 7480 00000000 00000000 00000000 00000000 ................ + 7490 00000000 00000000 00000000 00000000 ................ + 74a0 00000000 00000000 00000000 00000000 ................ + 74b0 00000000 00000000 00000000 00000000 ................ + 74c0 00000000 00000000 00000000 00000000 ................ + 74d0 00000000 00000000 00000000 00000000 ................ + 74e0 00000000 00000000 00000000 00000000 ................ + 74f0 00000000 00000000 00000000 00000000 ................ + 7500 00000000 00000000 00000000 00000000 ................ + 7510 00000000 00000000 00000000 00000000 ................ + 7520 00000000 00000000 00000000 00000000 ................ + 7530 00000000 00000000 00000000 00000000 ................ + 7540 00000000 00000000 00000000 00000000 ................ + 7550 00000000 00000000 00000000 00000000 ................ + 7560 00000000 00000000 00000000 00000000 ................ + 7570 00000000 00000000 00000000 00000000 ................ + 7580 00000000 00000000 00000000 00000000 ................ + 7590 00000000 00000000 00000000 00000000 ................ + 75a0 00000000 00000000 00000000 00000000 ................ + 75b0 00000000 00000000 00000000 00000000 ................ + 75c0 00000000 00000000 00000000 00000000 ................ + 75d0 00000000 00000000 00000000 00000000 ................ + 75e0 00000000 00000000 00000000 00000000 ................ + 75f0 00000000 00000000 00000000 00000000 ................ + 7600 00000000 00000000 00000000 00000000 ................ + 7610 00000000 00000000 00000000 00000000 ................ + 7620 00000000 00000000 00000000 00000000 ................ + 7630 00000000 00000000 00000000 00000000 ................ + 7640 00000000 00000000 00000000 00000000 ................ + 7650 00000000 00000000 00000000 00000000 ................ + 7660 00000000 00000000 00000000 00000000 ................ + 7670 00000000 00000000 00000000 00000000 ................ + 7680 00000000 00000000 00000000 00000000 ................ + 7690 00000000 00000000 00000000 00000000 ................ + 76a0 00000000 00000000 00000000 00000000 ................ + 76b0 00000000 00000000 00000000 00000000 ................ + 76c0 00000000 00000000 00000000 00000000 ................ + 76d0 00000000 00000000 00000000 00000000 ................ + 76e0 00000000 00000000 00000000 00000000 ................ + 76f0 00000000 00000000 00000000 00000000 ................ + 7700 00000000 00000000 00000000 00000000 ................ + 7710 00000000 00000000 00000000 00000000 ................ + 7720 00000000 00000000 00000000 00000000 ................ + 7730 00000000 00000000 00000000 00000000 ................ + 7740 00000000 00000000 00000000 00000000 ................ + 7750 00000000 00000000 00000000 00000000 ................ + 7760 00000000 00000000 00000000 00000000 ................ + 7770 00000000 00000000 00000000 00000000 ................ + 7780 00000000 00000000 00000000 00000000 ................ + 7790 00000000 00000000 00000000 00000000 ................ + 77a0 00000000 00000000 00000000 00000000 ................ + 77b0 00000000 00000000 00000000 00000000 ................ + 77c0 00000000 00000000 00000000 00000000 ................ + 77d0 00000000 00000000 00000000 00000000 ................ + 77e0 00000000 00000000 00000000 00000000 ................ + 77f0 00000000 00000000 00000000 00000000 ................ + 7800 00000000 00000000 00000000 00000000 ................ + 7810 00000000 00000000 00000000 00000000 ................ + 7820 00000000 00000000 00000000 00000000 ................ + 7830 00000000 00000000 00000000 00000000 ................ + 7840 00000000 00000000 00000000 00000000 ................ + 7850 00000000 00000000 00000000 00000000 ................ + 7860 00000000 00000000 00000000 00000000 ................ + 7870 00000000 00000000 00000000 00000000 ................ + 7880 00000000 00000000 00000000 00000000 ................ + 7890 00000000 00000000 00000000 00000000 ................ + 78a0 00000000 00000000 00000000 00000000 ................ + 78b0 00000000 00000000 00000000 00000000 ................ + 78c0 00000000 00000000 00000000 00000000 ................ + 78d0 00000000 00000000 00000000 00000000 ................ + 78e0 00000000 00000000 00000000 00000000 ................ + 78f0 00000000 00000000 00000000 00000000 ................ + 7900 00000000 00000000 00000000 00000000 ................ + 7910 00000000 00000000 00000000 00000000 ................ + 7920 00000000 00000000 00000000 00000000 ................ + 7930 00000000 00000000 00000000 00000000 ................ + 7940 00000000 00000000 00000000 00000000 ................ + 7950 00000000 00000000 00000000 00000000 ................ + 7960 00000000 00000000 00000000 00000000 ................ + 7970 00000000 00000000 00000000 00000000 ................ + 7980 00000000 00000000 00000000 00000000 ................ + 7990 00000000 00000000 00000000 00000000 ................ + 79a0 00000000 00000000 00000000 00000000 ................ + 79b0 00000000 00000000 00000000 00000000 ................ + 79c0 00000000 00000000 00000000 00000000 ................ + 79d0 00000000 00000000 00000000 00000000 ................ + 79e0 00000000 00000000 00000000 00000000 ................ + 79f0 00000000 00000000 00000000 00000000 ................ + 7a00 00000000 00000000 00000000 00000000 ................ + 7a10 00000000 00000000 00000000 00000000 ................ + 7a20 00000000 00000000 00000000 00000000 ................ + 7a30 00000000 00000000 00000000 00000000 ................ + 7a40 00000000 00000000 00000000 00000000 ................ + 7a50 00000000 00000000 00000000 00000000 ................ + 7a60 00000000 00000000 00000000 00000000 ................ + 7a70 00000000 00000000 00000000 00000000 ................ + 7a80 00000000 00000000 00000000 00000000 ................ + 7a90 00000000 00000000 00000000 00000000 ................ + 7aa0 00000000 00000000 00000000 00000000 ................ + 7ab0 00000000 00000000 00000000 00000000 ................ + 7ac0 00000000 00000000 00000000 00000000 ................ + 7ad0 00000000 00000000 00000000 00000000 ................ + 7ae0 00000000 00000000 00000000 00000000 ................ + 7af0 00000000 00000000 00000000 00000000 ................ + 7b00 00000000 00000000 00000000 00000000 ................ + 7b10 00000000 00000000 00000000 00000000 ................ + 7b20 00000000 00000000 00000000 00000000 ................ + 7b30 00000000 00000000 00000000 00000000 ................ + 7b40 00000000 00000000 00000000 00000000 ................ + 7b50 00000000 00000000 00000000 00000000 ................ + 7b60 00000000 00000000 00000000 00000000 ................ + 7b70 00000000 00000000 00000000 00000000 ................ + 7b80 00000000 00000000 00000000 00000000 ................ + 7b90 00000000 00000000 00000000 00000000 ................ + 7ba0 00000000 00000000 00000000 00000000 ................ + 7bb0 00000000 00000000 00000000 00000000 ................ + 7bc0 00000000 00000000 00000000 00000000 ................ + 7bd0 00000000 00000000 00000000 00000000 ................ + 7be0 00000000 00000000 00000000 00000000 ................ + 7bf0 00000000 00000000 00000000 00000000 ................ + 7c00 00000000 00000000 00000000 00000000 ................ + 7c10 00000000 00000000 00000000 00000000 ................ + 7c20 00000000 00000000 00000000 00000000 ................ + 7c30 00000000 00000000 00000000 00000000 ................ + 7c40 00000000 00000000 00000000 00000000 ................ + 7c50 00000000 00000000 00000000 00000000 ................ + 7c60 00000000 00000000 00000000 00000000 ................ + 7c70 00000000 00000000 00000000 00000000 ................ + 7c80 00000000 00000000 00000000 00000000 ................ + 7c90 00000000 00000000 00000000 00000000 ................ + 7ca0 00000000 00000000 00000000 00000000 ................ + 7cb0 00000000 00000000 00000000 00000000 ................ + 7cc0 00000000 00000000 00000000 00000000 ................ + 7cd0 00000000 00000000 00000000 00000000 ................ + 7ce0 00000000 00000000 00000000 00000000 ................ + 7cf0 00000000 00000000 00000000 00000000 ................ + 7d00 00000000 00000000 00000000 00000000 ................ + 7d10 00000000 00000000 00000000 00000000 ................ + 7d20 00000000 00000000 00000000 00000000 ................ + 7d30 00000000 00000000 00000000 00000000 ................ + 7d40 00000000 00000000 00000000 00000000 ................ + 7d50 00000000 00000000 00000000 00000000 ................ + 7d60 00000000 00000000 00000000 00000000 ................ + 7d70 00000000 00000000 00000000 00000000 ................ + 7d80 00000000 00000000 00000000 00000000 ................ + 7d90 00000000 00000000 00000000 00000000 ................ + 7da0 00000000 00000000 00000000 00000000 ................ + 7db0 00000000 00000000 00000000 00000000 ................ + 7dc0 00000000 00000000 00000000 00000000 ................ + 7dd0 00000000 00000000 00000000 00000000 ................ + 7de0 00000000 00000000 00000000 00000000 ................ + 7df0 00000000 00000000 00000000 00000000 ................ + 7e00 00000000 00000000 00000000 00000000 ................ + 7e10 00000000 00000000 00000000 00000000 ................ + 7e20 00000000 00000000 00000000 00000000 ................ + 7e30 00000000 00000000 00000000 00000000 ................ + 7e40 00000000 00000000 00000000 00000000 ................ + 7e50 00000000 00000000 00000000 00000000 ................ + 7e60 00000000 00000000 00000000 00000000 ................ + 7e70 00000000 00000000 00000000 00000000 ................ + 7e80 00000000 00000000 00000000 00000000 ................ + 7e90 00000000 00000000 00000000 00000000 ................ + 7ea0 00000000 00000000 00000000 00000000 ................ + 7eb0 00000000 00000000 00000000 00000000 ................ + 7ec0 00000000 00000000 00000000 00000000 ................ + 7ed0 00000000 00000000 00000000 00000000 ................ + 7ee0 00000000 00000000 00000000 00000000 ................ + 7ef0 00000000 00000000 00000000 00000000 ................ + 7f00 00000000 00000000 00000000 00000000 ................ + 7f10 00000000 00000000 00000000 00000000 ................ + 7f20 00000000 00000000 00000000 00000000 ................ + 7f30 00000000 00000000 00000000 00000000 ................ + 7f40 00000000 00000000 00000000 00000000 ................ + 7f50 00000000 00000000 00000000 00000000 ................ + 7f60 00000000 00000000 00000000 00000000 ................ + 7f70 00000000 00000000 00000000 00000000 ................ + 7f80 00000000 00000000 00000000 00000000 ................ + 7f90 00000000 00000000 00000000 00000000 ................ + 7fa0 00000000 00000000 00000000 00000000 ................ + 7fb0 00000000 00000000 00000000 00000000 ................ + 7fc0 00000000 00000000 00000000 00000000 ................ + 7fd0 00000000 00000000 00000000 00000000 ................ + 7fe0 00000000 00000000 00000000 00000000 ................ + 7ff0 00000000 00000000 00000000 00000000 ................ diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf-rel2.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf-rel2.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf-rel2.d Sat Oct 9 09:13:45 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf-rel2.d Fri May 25 12:06:58 2001 @@ -23,4 +23,4 @@ OFFSET TYPE VALUE Contents of section \.text: 0000 d782c000 d782c008 d782c010 c782c000 .* 0010 c782c004 c782c008 8f82c000 8f82c004 .* - 0020 8f82c008 .* + 0020 8f82c008 00000000 00000000 00000000 .* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf-rel3.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf-rel3.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf-rel3.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf-rel3.d Sat Jun 9 00:13:01 2001 @@ -0,0 +1,13 @@ +#objdump: -sr -j .data +#name: MIPS ELF reloc 3 + +.*: file format elf.*mips + +RELOCATION RECORDS FOR \[\.data\]: +OFFSET TYPE VALUE +0+0000004 R_MIPS_32 b +0+0000008 R_MIPS_32 .data + + +Contents of section .data: + 0000 12121212 00000004 00000000 00000000 ................ diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf-rel3.s binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf-rel3.s --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf-rel3.s Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf-rel3.s Sat Jun 9 00:13:01 2001 @@ -0,0 +1,11 @@ + .data + .type x,@object + .size x,4 +x: + .word 0x12121212 + .globl b + .type b,@object + .size b,8 +b: + .word b+4 + .word x diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf_e_flags1.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf_e_flags1.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf_e_flags1.d Mon Dec 4 16:33:55 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf_e_flags1.d Mon May 21 10:37:00 2001 @@ -10,19 +10,19 @@ start address 0x0000000000000000 Disassembly of section .text: 0000000000000000 : - 0: 00850019 multu \$a0,\$a1 - 4: 00001012 mflo \$v0 - 8: 03e00008 jr \$ra - c: 24420001 addiu \$v0,\$v0,1 + 0: 00850019 multu a0,a1 + 4: 00001012 mflo v0 + 8: 03e00008 jr ra + c: 24420001 addiu v0,v0,1 0000000000000010
: - 10: 27bdffd8 addiu \$sp,\$sp,-40 - 14: afbf0020 sw \$ra,32\(\$sp\) + 10: 27bdffd8 addiu sp,sp,-40 + 14: afbf0020 sw ra,32\(sp\) 18: 0c000000 jal 0 1c: 00000000 nop - 20: 0000102[1d] move \$v0,\$zero - 24: 8fbf0020 lw \$ra,32\(\$sp\) + 20: 0000102[1d] move v0,zero + 24: 8fbf0020 lw ra,32\(sp\) 28: 00000000 nop - 2c: 03e00008 jr \$ra - 30: 27bd0028 addiu \$sp,\$sp,40 + 2c: 03e00008 jr ra + 30: 27bd0028 addiu sp,sp,40 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf_e_flags2.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf_e_flags2.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf_e_flags2.d Mon Dec 4 16:33:55 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf_e_flags2.d Mon May 21 10:37:00 2001 @@ -11,18 +11,18 @@ start address 0x0000000000000000 Disassembly of section .text: 0000000000000000 : - 0: 70851002 mul \$v0,\$a0,\$a1 - 4: 03e00008 jr \$ra - 8: 24420001 addiu \$v0,\$v0,1 + 0: 70851002 mul v0,a0,a1 + 4: 03e00008 jr ra + 8: 24420001 addiu v0,v0,1 000000000000000c
: - c: 27bdffd8 addiu \$sp,\$sp,-40 - 10: afbf0020 sw \$ra,32\(\$sp\) + c: 27bdffd8 addiu sp,sp,-40 + 10: afbf0020 sw ra,32\(sp\) 14: 0c000000 jal 0 18: 00000000 nop - 1c: 0000102d move \$v0,\$zero - 20: 8fbf0020 lw \$ra,32\(\$sp\) + 1c: 0000102d move v0,zero + 20: 8fbf0020 lw ra,32\(sp\) 24: 00000000 nop - 28: 03e00008 jr \$ra - 2c: 27bd0028 addiu \$sp,\$sp,40 + 28: 03e00008 jr ra + 2c: 27bd0028 addiu sp,sp,40 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf_e_flags3.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf_e_flags3.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf_e_flags3.d Mon Dec 4 16:33:55 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf_e_flags3.d Mon May 21 10:37:00 2001 @@ -11,18 +11,18 @@ start address 0x0000000000000000 Disassembly of section .text: 0000000000000000 : - 0: 70851002 mul \$v0,\$a0,\$a1 - 4: 03e00008 jr \$ra - 8: 24420001 addiu \$v0,\$v0,1 + 0: 70851002 mul v0,a0,a1 + 4: 03e00008 jr ra + 8: 24420001 addiu v0,v0,1 000000000000000c
: - c: 27bdffd8 addiu \$sp,\$sp,-40 - 10: afbf0020 sw \$ra,32\(\$sp\) + c: 27bdffd8 addiu sp,sp,-40 + 10: afbf0020 sw ra,32\(sp\) 14: 0c000000 jal 0 18: 00000000 nop - 1c: 0000102d move \$v0,\$zero - 20: 8fbf0020 lw \$ra,32\(\$sp\) + 1c: 0000102d move v0,zero + 20: 8fbf0020 lw ra,32\(sp\) 24: 00000000 nop - 28: 03e00008 jr \$ra - 2c: 27bd0028 addiu \$sp,\$sp,40 + 28: 03e00008 jr ra + 2c: 27bd0028 addiu sp,sp,40 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf_e_flags4.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf_e_flags4.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/elf_e_flags4.d Mon Dec 4 16:33:55 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/elf_e_flags4.d Mon May 21 10:37:00 2001 @@ -11,18 +11,18 @@ start address 0x0000000000000000 Disassembly of section .text: 0000000000000000 : - 0: 70851002 mul \$v0,\$a0,\$a1 - 4: 03e00008 jr \$ra - 8: 24420001 addiu \$v0,\$v0,1 + 0: 70851002 mul v0,a0,a1 + 4: 03e00008 jr ra + 8: 24420001 addiu v0,v0,1 000000000000000c
: - c: 27bdffd8 addiu \$sp,\$sp,-40 - 10: afbf0020 sw \$ra,32\(\$sp\) + c: 27bdffd8 addiu sp,sp,-40 + 10: afbf0020 sw ra,32\(sp\) 14: 0c000000 jal 0 18: 00000000 nop - 1c: 0000102d move \$v0,\$zero - 20: 8fbf0020 lw \$ra,32\(\$sp\) + 1c: 0000102d move v0,zero + 20: 8fbf0020 lw ra,32\(sp\) 24: 00000000 nop - 28: 03e00008 jr \$ra - 2c: 27bd0028 addiu \$sp,\$sp,40 + 28: 03e00008 jr ra + 2c: 27bd0028 addiu sp,sp,40 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/elfel-rel.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/elfel-rel.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/elfel-rel.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/elfel-rel.d Fri May 25 12:07:03 2001 @@ -0,0 +1,2085 @@ +#objdump: -sr -j .text +#name: MIPS ELF reloc +#source: elf-rel.s + +# Test the HI16/LO16 generation. + +.*: file format elf.*mips + +RELOCATION RECORDS FOR \[\.text\]: +OFFSET TYPE VALUE +0+0000000 R_MIPS_HI16 \.text +0+0000018 R_MIPS_LO16 \.text +0+000000c R_MIPS_HI16 \.text +0+000001c R_MIPS_LO16 \.text +0+0000008 R_MIPS_HI16 \.text +0+0000020 R_MIPS_LO16 \.text +0+0000004 R_MIPS_HI16 \.text +0+0000024 R_MIPS_LO16 \.text +0+0000014 R_MIPS_HI16 \.text +0+0000028 R_MIPS_LO16 \.text +0+0000010 R_MIPS_HI16 \.text +0+000002c R_MIPS_LO16 \.text +0+0000030 R_MIPS_HI16 \.text +0+0000048 R_MIPS_LO16 \.text +0+0000034 R_MIPS_HI16 \.text +0+000004c R_MIPS_LO16 \.text +0+0000038 R_MIPS_HI16 \.text +0+0000050 R_MIPS_LO16 \.text +0+000003c R_MIPS_HI16 \.text +0+0000054 R_MIPS_LO16 \.text +0+0000044 R_MIPS_HI16 \.text +0+0000058 R_MIPS_LO16 \.text +0+0000040 R_MIPS_HI16 \.text +0+000005c R_MIPS_LO16 \.text + + +Contents of section \.text: + 0000 0000013c 0000013c 0100013c 0100013c .* + 0010 0000013c 0100013c 18002120 1c002120 .* + 0020 18002120 1c002120 18802120 fcff2120 .* + 0030 0100013c 0100013c 0200013c 0200013c .* + 0040 0100013c 0100013c febf2120 02c02120 .* + 0050 febf2120 02c02120 fe3f2120 fabf2120 .* + 0060 00000000 00000000 00000000 00000000 ................ + 0070 00000000 00000000 00000000 00000000 ................ + 0080 00000000 00000000 00000000 00000000 ................ + 0090 00000000 00000000 00000000 00000000 ................ + 00a0 00000000 00000000 00000000 00000000 ................ + 00b0 00000000 00000000 00000000 00000000 ................ + 00c0 00000000 00000000 00000000 00000000 ................ + 00d0 00000000 00000000 00000000 00000000 ................ + 00e0 00000000 00000000 00000000 00000000 ................ + 00f0 00000000 00000000 00000000 00000000 ................ + 0100 00000000 00000000 00000000 00000000 ................ + 0110 00000000 00000000 00000000 00000000 ................ + 0120 00000000 00000000 00000000 00000000 ................ + 0130 00000000 00000000 00000000 00000000 ................ + 0140 00000000 00000000 00000000 00000000 ................ + 0150 00000000 00000000 00000000 00000000 ................ + 0160 00000000 00000000 00000000 00000000 ................ + 0170 00000000 00000000 00000000 00000000 ................ + 0180 00000000 00000000 00000000 00000000 ................ + 0190 00000000 00000000 00000000 00000000 ................ + 01a0 00000000 00000000 00000000 00000000 ................ + 01b0 00000000 00000000 00000000 00000000 ................ + 01c0 00000000 00000000 00000000 00000000 ................ + 01d0 00000000 00000000 00000000 00000000 ................ + 01e0 00000000 00000000 00000000 00000000 ................ + 01f0 00000000 00000000 00000000 00000000 ................ + 0200 00000000 00000000 00000000 00000000 ................ + 0210 00000000 00000000 00000000 00000000 ................ + 0220 00000000 00000000 00000000 00000000 ................ + 0230 00000000 00000000 00000000 00000000 ................ + 0240 00000000 00000000 00000000 00000000 ................ + 0250 00000000 00000000 00000000 00000000 ................ + 0260 00000000 00000000 00000000 00000000 ................ + 0270 00000000 00000000 00000000 00000000 ................ + 0280 00000000 00000000 00000000 00000000 ................ + 0290 00000000 00000000 00000000 00000000 ................ + 02a0 00000000 00000000 00000000 00000000 ................ + 02b0 00000000 00000000 00000000 00000000 ................ + 02c0 00000000 00000000 00000000 00000000 ................ + 02d0 00000000 00000000 00000000 00000000 ................ + 02e0 00000000 00000000 00000000 00000000 ................ + 02f0 00000000 00000000 00000000 00000000 ................ + 0300 00000000 00000000 00000000 00000000 ................ + 0310 00000000 00000000 00000000 00000000 ................ + 0320 00000000 00000000 00000000 00000000 ................ + 0330 00000000 00000000 00000000 00000000 ................ + 0340 00000000 00000000 00000000 00000000 ................ + 0350 00000000 00000000 00000000 00000000 ................ + 0360 00000000 00000000 00000000 00000000 ................ + 0370 00000000 00000000 00000000 00000000 ................ + 0380 00000000 00000000 00000000 00000000 ................ + 0390 00000000 00000000 00000000 00000000 ................ + 03a0 00000000 00000000 00000000 00000000 ................ + 03b0 00000000 00000000 00000000 00000000 ................ + 03c0 00000000 00000000 00000000 00000000 ................ + 03d0 00000000 00000000 00000000 00000000 ................ + 03e0 00000000 00000000 00000000 00000000 ................ + 03f0 00000000 00000000 00000000 00000000 ................ + 0400 00000000 00000000 00000000 00000000 ................ + 0410 00000000 00000000 00000000 00000000 ................ + 0420 00000000 00000000 00000000 00000000 ................ + 0430 00000000 00000000 00000000 00000000 ................ + 0440 00000000 00000000 00000000 00000000 ................ + 0450 00000000 00000000 00000000 00000000 ................ + 0460 00000000 00000000 00000000 00000000 ................ + 0470 00000000 00000000 00000000 00000000 ................ + 0480 00000000 00000000 00000000 00000000 ................ + 0490 00000000 00000000 00000000 00000000 ................ + 04a0 00000000 00000000 00000000 00000000 ................ + 04b0 00000000 00000000 00000000 00000000 ................ + 04c0 00000000 00000000 00000000 00000000 ................ + 04d0 00000000 00000000 00000000 00000000 ................ + 04e0 00000000 00000000 00000000 00000000 ................ + 04f0 00000000 00000000 00000000 00000000 ................ + 0500 00000000 00000000 00000000 00000000 ................ + 0510 00000000 00000000 00000000 00000000 ................ + 0520 00000000 00000000 00000000 00000000 ................ + 0530 00000000 00000000 00000000 00000000 ................ + 0540 00000000 00000000 00000000 00000000 ................ + 0550 00000000 00000000 00000000 00000000 ................ + 0560 00000000 00000000 00000000 00000000 ................ + 0570 00000000 00000000 00000000 00000000 ................ + 0580 00000000 00000000 00000000 00000000 ................ + 0590 00000000 00000000 00000000 00000000 ................ + 05a0 00000000 00000000 00000000 00000000 ................ + 05b0 00000000 00000000 00000000 00000000 ................ + 05c0 00000000 00000000 00000000 00000000 ................ + 05d0 00000000 00000000 00000000 00000000 ................ + 05e0 00000000 00000000 00000000 00000000 ................ + 05f0 00000000 00000000 00000000 00000000 ................ + 0600 00000000 00000000 00000000 00000000 ................ + 0610 00000000 00000000 00000000 00000000 ................ + 0620 00000000 00000000 00000000 00000000 ................ + 0630 00000000 00000000 00000000 00000000 ................ + 0640 00000000 00000000 00000000 00000000 ................ + 0650 00000000 00000000 00000000 00000000 ................ + 0660 00000000 00000000 00000000 00000000 ................ + 0670 00000000 00000000 00000000 00000000 ................ + 0680 00000000 00000000 00000000 00000000 ................ + 0690 00000000 00000000 00000000 00000000 ................ + 06a0 00000000 00000000 00000000 00000000 ................ + 06b0 00000000 00000000 00000000 00000000 ................ + 06c0 00000000 00000000 00000000 00000000 ................ + 06d0 00000000 00000000 00000000 00000000 ................ + 06e0 00000000 00000000 00000000 00000000 ................ + 06f0 00000000 00000000 00000000 00000000 ................ + 0700 00000000 00000000 00000000 00000000 ................ + 0710 00000000 00000000 00000000 00000000 ................ + 0720 00000000 00000000 00000000 00000000 ................ + 0730 00000000 00000000 00000000 00000000 ................ + 0740 00000000 00000000 00000000 00000000 ................ + 0750 00000000 00000000 00000000 00000000 ................ + 0760 00000000 00000000 00000000 00000000 ................ + 0770 00000000 00000000 00000000 00000000 ................ + 0780 00000000 00000000 00000000 00000000 ................ + 0790 00000000 00000000 00000000 00000000 ................ + 07a0 00000000 00000000 00000000 00000000 ................ + 07b0 00000000 00000000 00000000 00000000 ................ + 07c0 00000000 00000000 00000000 00000000 ................ + 07d0 00000000 00000000 00000000 00000000 ................ + 07e0 00000000 00000000 00000000 00000000 ................ + 07f0 00000000 00000000 00000000 00000000 ................ + 0800 00000000 00000000 00000000 00000000 ................ + 0810 00000000 00000000 00000000 00000000 ................ + 0820 00000000 00000000 00000000 00000000 ................ + 0830 00000000 00000000 00000000 00000000 ................ + 0840 00000000 00000000 00000000 00000000 ................ + 0850 00000000 00000000 00000000 00000000 ................ + 0860 00000000 00000000 00000000 00000000 ................ + 0870 00000000 00000000 00000000 00000000 ................ + 0880 00000000 00000000 00000000 00000000 ................ + 0890 00000000 00000000 00000000 00000000 ................ + 08a0 00000000 00000000 00000000 00000000 ................ + 08b0 00000000 00000000 00000000 00000000 ................ + 08c0 00000000 00000000 00000000 00000000 ................ + 08d0 00000000 00000000 00000000 00000000 ................ + 08e0 00000000 00000000 00000000 00000000 ................ + 08f0 00000000 00000000 00000000 00000000 ................ + 0900 00000000 00000000 00000000 00000000 ................ + 0910 00000000 00000000 00000000 00000000 ................ + 0920 00000000 00000000 00000000 00000000 ................ + 0930 00000000 00000000 00000000 00000000 ................ + 0940 00000000 00000000 00000000 00000000 ................ + 0950 00000000 00000000 00000000 00000000 ................ + 0960 00000000 00000000 00000000 00000000 ................ + 0970 00000000 00000000 00000000 00000000 ................ + 0980 00000000 00000000 00000000 00000000 ................ + 0990 00000000 00000000 00000000 00000000 ................ + 09a0 00000000 00000000 00000000 00000000 ................ + 09b0 00000000 00000000 00000000 00000000 ................ + 09c0 00000000 00000000 00000000 00000000 ................ + 09d0 00000000 00000000 00000000 00000000 ................ + 09e0 00000000 00000000 00000000 00000000 ................ + 09f0 00000000 00000000 00000000 00000000 ................ + 0a00 00000000 00000000 00000000 00000000 ................ + 0a10 00000000 00000000 00000000 00000000 ................ + 0a20 00000000 00000000 00000000 00000000 ................ + 0a30 00000000 00000000 00000000 00000000 ................ + 0a40 00000000 00000000 00000000 00000000 ................ + 0a50 00000000 00000000 00000000 00000000 ................ + 0a60 00000000 00000000 00000000 00000000 ................ + 0a70 00000000 00000000 00000000 00000000 ................ + 0a80 00000000 00000000 00000000 00000000 ................ + 0a90 00000000 00000000 00000000 00000000 ................ + 0aa0 00000000 00000000 00000000 00000000 ................ + 0ab0 00000000 00000000 00000000 00000000 ................ + 0ac0 00000000 00000000 00000000 00000000 ................ + 0ad0 00000000 00000000 00000000 00000000 ................ + 0ae0 00000000 00000000 00000000 00000000 ................ + 0af0 00000000 00000000 00000000 00000000 ................ + 0b00 00000000 00000000 00000000 00000000 ................ + 0b10 00000000 00000000 00000000 00000000 ................ + 0b20 00000000 00000000 00000000 00000000 ................ + 0b30 00000000 00000000 00000000 00000000 ................ + 0b40 00000000 00000000 00000000 00000000 ................ + 0b50 00000000 00000000 00000000 00000000 ................ + 0b60 00000000 00000000 00000000 00000000 ................ + 0b70 00000000 00000000 00000000 00000000 ................ + 0b80 00000000 00000000 00000000 00000000 ................ + 0b90 00000000 00000000 00000000 00000000 ................ + 0ba0 00000000 00000000 00000000 00000000 ................ + 0bb0 00000000 00000000 00000000 00000000 ................ + 0bc0 00000000 00000000 00000000 00000000 ................ + 0bd0 00000000 00000000 00000000 00000000 ................ + 0be0 00000000 00000000 00000000 00000000 ................ + 0bf0 00000000 00000000 00000000 00000000 ................ + 0c00 00000000 00000000 00000000 00000000 ................ + 0c10 00000000 00000000 00000000 00000000 ................ + 0c20 00000000 00000000 00000000 00000000 ................ + 0c30 00000000 00000000 00000000 00000000 ................ + 0c40 00000000 00000000 00000000 00000000 ................ + 0c50 00000000 00000000 00000000 00000000 ................ + 0c60 00000000 00000000 00000000 00000000 ................ + 0c70 00000000 00000000 00000000 00000000 ................ + 0c80 00000000 00000000 00000000 00000000 ................ + 0c90 00000000 00000000 00000000 00000000 ................ + 0ca0 00000000 00000000 00000000 00000000 ................ + 0cb0 00000000 00000000 00000000 00000000 ................ + 0cc0 00000000 00000000 00000000 00000000 ................ + 0cd0 00000000 00000000 00000000 00000000 ................ + 0ce0 00000000 00000000 00000000 00000000 ................ + 0cf0 00000000 00000000 00000000 00000000 ................ + 0d00 00000000 00000000 00000000 00000000 ................ + 0d10 00000000 00000000 00000000 00000000 ................ + 0d20 00000000 00000000 00000000 00000000 ................ + 0d30 00000000 00000000 00000000 00000000 ................ + 0d40 00000000 00000000 00000000 00000000 ................ + 0d50 00000000 00000000 00000000 00000000 ................ + 0d60 00000000 00000000 00000000 00000000 ................ + 0d70 00000000 00000000 00000000 00000000 ................ + 0d80 00000000 00000000 00000000 00000000 ................ + 0d90 00000000 00000000 00000000 00000000 ................ + 0da0 00000000 00000000 00000000 00000000 ................ + 0db0 00000000 00000000 00000000 00000000 ................ + 0dc0 00000000 00000000 00000000 00000000 ................ + 0dd0 00000000 00000000 00000000 00000000 ................ + 0de0 00000000 00000000 00000000 00000000 ................ + 0df0 00000000 00000000 00000000 00000000 ................ + 0e00 00000000 00000000 00000000 00000000 ................ + 0e10 00000000 00000000 00000000 00000000 ................ + 0e20 00000000 00000000 00000000 00000000 ................ + 0e30 00000000 00000000 00000000 00000000 ................ + 0e40 00000000 00000000 00000000 00000000 ................ + 0e50 00000000 00000000 00000000 00000000 ................ + 0e60 00000000 00000000 00000000 00000000 ................ + 0e70 00000000 00000000 00000000 00000000 ................ + 0e80 00000000 00000000 00000000 00000000 ................ + 0e90 00000000 00000000 00000000 00000000 ................ + 0ea0 00000000 00000000 00000000 00000000 ................ + 0eb0 00000000 00000000 00000000 00000000 ................ + 0ec0 00000000 00000000 00000000 00000000 ................ + 0ed0 00000000 00000000 00000000 00000000 ................ + 0ee0 00000000 00000000 00000000 00000000 ................ + 0ef0 00000000 00000000 00000000 00000000 ................ + 0f00 00000000 00000000 00000000 00000000 ................ + 0f10 00000000 00000000 00000000 00000000 ................ + 0f20 00000000 00000000 00000000 00000000 ................ + 0f30 00000000 00000000 00000000 00000000 ................ + 0f40 00000000 00000000 00000000 00000000 ................ + 0f50 00000000 00000000 00000000 00000000 ................ + 0f60 00000000 00000000 00000000 00000000 ................ + 0f70 00000000 00000000 00000000 00000000 ................ + 0f80 00000000 00000000 00000000 00000000 ................ + 0f90 00000000 00000000 00000000 00000000 ................ + 0fa0 00000000 00000000 00000000 00000000 ................ + 0fb0 00000000 00000000 00000000 00000000 ................ + 0fc0 00000000 00000000 00000000 00000000 ................ + 0fd0 00000000 00000000 00000000 00000000 ................ + 0fe0 00000000 00000000 00000000 00000000 ................ + 0ff0 00000000 00000000 00000000 00000000 ................ + 1000 00000000 00000000 00000000 00000000 ................ + 1010 00000000 00000000 00000000 00000000 ................ + 1020 00000000 00000000 00000000 00000000 ................ + 1030 00000000 00000000 00000000 00000000 ................ + 1040 00000000 00000000 00000000 00000000 ................ + 1050 00000000 00000000 00000000 00000000 ................ + 1060 00000000 00000000 00000000 00000000 ................ + 1070 00000000 00000000 00000000 00000000 ................ + 1080 00000000 00000000 00000000 00000000 ................ + 1090 00000000 00000000 00000000 00000000 ................ + 10a0 00000000 00000000 00000000 00000000 ................ + 10b0 00000000 00000000 00000000 00000000 ................ + 10c0 00000000 00000000 00000000 00000000 ................ + 10d0 00000000 00000000 00000000 00000000 ................ + 10e0 00000000 00000000 00000000 00000000 ................ + 10f0 00000000 00000000 00000000 00000000 ................ + 1100 00000000 00000000 00000000 00000000 ................ + 1110 00000000 00000000 00000000 00000000 ................ + 1120 00000000 00000000 00000000 00000000 ................ + 1130 00000000 00000000 00000000 00000000 ................ + 1140 00000000 00000000 00000000 00000000 ................ + 1150 00000000 00000000 00000000 00000000 ................ + 1160 00000000 00000000 00000000 00000000 ................ + 1170 00000000 00000000 00000000 00000000 ................ + 1180 00000000 00000000 00000000 00000000 ................ + 1190 00000000 00000000 00000000 00000000 ................ + 11a0 00000000 00000000 00000000 00000000 ................ + 11b0 00000000 00000000 00000000 00000000 ................ + 11c0 00000000 00000000 00000000 00000000 ................ + 11d0 00000000 00000000 00000000 00000000 ................ + 11e0 00000000 00000000 00000000 00000000 ................ + 11f0 00000000 00000000 00000000 00000000 ................ + 1200 00000000 00000000 00000000 00000000 ................ + 1210 00000000 00000000 00000000 00000000 ................ + 1220 00000000 00000000 00000000 00000000 ................ + 1230 00000000 00000000 00000000 00000000 ................ + 1240 00000000 00000000 00000000 00000000 ................ + 1250 00000000 00000000 00000000 00000000 ................ + 1260 00000000 00000000 00000000 00000000 ................ + 1270 00000000 00000000 00000000 00000000 ................ + 1280 00000000 00000000 00000000 00000000 ................ + 1290 00000000 00000000 00000000 00000000 ................ + 12a0 00000000 00000000 00000000 00000000 ................ + 12b0 00000000 00000000 00000000 00000000 ................ + 12c0 00000000 00000000 00000000 00000000 ................ + 12d0 00000000 00000000 00000000 00000000 ................ + 12e0 00000000 00000000 00000000 00000000 ................ + 12f0 00000000 00000000 00000000 00000000 ................ + 1300 00000000 00000000 00000000 00000000 ................ + 1310 00000000 00000000 00000000 00000000 ................ + 1320 00000000 00000000 00000000 00000000 ................ + 1330 00000000 00000000 00000000 00000000 ................ + 1340 00000000 00000000 00000000 00000000 ................ + 1350 00000000 00000000 00000000 00000000 ................ + 1360 00000000 00000000 00000000 00000000 ................ + 1370 00000000 00000000 00000000 00000000 ................ + 1380 00000000 00000000 00000000 00000000 ................ + 1390 00000000 00000000 00000000 00000000 ................ + 13a0 00000000 00000000 00000000 00000000 ................ + 13b0 00000000 00000000 00000000 00000000 ................ + 13c0 00000000 00000000 00000000 00000000 ................ + 13d0 00000000 00000000 00000000 00000000 ................ + 13e0 00000000 00000000 00000000 00000000 ................ + 13f0 00000000 00000000 00000000 00000000 ................ + 1400 00000000 00000000 00000000 00000000 ................ + 1410 00000000 00000000 00000000 00000000 ................ + 1420 00000000 00000000 00000000 00000000 ................ + 1430 00000000 00000000 00000000 00000000 ................ + 1440 00000000 00000000 00000000 00000000 ................ + 1450 00000000 00000000 00000000 00000000 ................ + 1460 00000000 00000000 00000000 00000000 ................ + 1470 00000000 00000000 00000000 00000000 ................ + 1480 00000000 00000000 00000000 00000000 ................ + 1490 00000000 00000000 00000000 00000000 ................ + 14a0 00000000 00000000 00000000 00000000 ................ + 14b0 00000000 00000000 00000000 00000000 ................ + 14c0 00000000 00000000 00000000 00000000 ................ + 14d0 00000000 00000000 00000000 00000000 ................ + 14e0 00000000 00000000 00000000 00000000 ................ + 14f0 00000000 00000000 00000000 00000000 ................ + 1500 00000000 00000000 00000000 00000000 ................ + 1510 00000000 00000000 00000000 00000000 ................ + 1520 00000000 00000000 00000000 00000000 ................ + 1530 00000000 00000000 00000000 00000000 ................ + 1540 00000000 00000000 00000000 00000000 ................ + 1550 00000000 00000000 00000000 00000000 ................ + 1560 00000000 00000000 00000000 00000000 ................ + 1570 00000000 00000000 00000000 00000000 ................ + 1580 00000000 00000000 00000000 00000000 ................ + 1590 00000000 00000000 00000000 00000000 ................ + 15a0 00000000 00000000 00000000 00000000 ................ + 15b0 00000000 00000000 00000000 00000000 ................ + 15c0 00000000 00000000 00000000 00000000 ................ + 15d0 00000000 00000000 00000000 00000000 ................ + 15e0 00000000 00000000 00000000 00000000 ................ + 15f0 00000000 00000000 00000000 00000000 ................ + 1600 00000000 00000000 00000000 00000000 ................ + 1610 00000000 00000000 00000000 00000000 ................ + 1620 00000000 00000000 00000000 00000000 ................ + 1630 00000000 00000000 00000000 00000000 ................ + 1640 00000000 00000000 00000000 00000000 ................ + 1650 00000000 00000000 00000000 00000000 ................ + 1660 00000000 00000000 00000000 00000000 ................ + 1670 00000000 00000000 00000000 00000000 ................ + 1680 00000000 00000000 00000000 00000000 ................ + 1690 00000000 00000000 00000000 00000000 ................ + 16a0 00000000 00000000 00000000 00000000 ................ + 16b0 00000000 00000000 00000000 00000000 ................ + 16c0 00000000 00000000 00000000 00000000 ................ + 16d0 00000000 00000000 00000000 00000000 ................ + 16e0 00000000 00000000 00000000 00000000 ................ + 16f0 00000000 00000000 00000000 00000000 ................ + 1700 00000000 00000000 00000000 00000000 ................ + 1710 00000000 00000000 00000000 00000000 ................ + 1720 00000000 00000000 00000000 00000000 ................ + 1730 00000000 00000000 00000000 00000000 ................ + 1740 00000000 00000000 00000000 00000000 ................ + 1750 00000000 00000000 00000000 00000000 ................ + 1760 00000000 00000000 00000000 00000000 ................ + 1770 00000000 00000000 00000000 00000000 ................ + 1780 00000000 00000000 00000000 00000000 ................ + 1790 00000000 00000000 00000000 00000000 ................ + 17a0 00000000 00000000 00000000 00000000 ................ + 17b0 00000000 00000000 00000000 00000000 ................ + 17c0 00000000 00000000 00000000 00000000 ................ + 17d0 00000000 00000000 00000000 00000000 ................ + 17e0 00000000 00000000 00000000 00000000 ................ + 17f0 00000000 00000000 00000000 00000000 ................ + 1800 00000000 00000000 00000000 00000000 ................ + 1810 00000000 00000000 00000000 00000000 ................ + 1820 00000000 00000000 00000000 00000000 ................ + 1830 00000000 00000000 00000000 00000000 ................ + 1840 00000000 00000000 00000000 00000000 ................ + 1850 00000000 00000000 00000000 00000000 ................ + 1860 00000000 00000000 00000000 00000000 ................ + 1870 00000000 00000000 00000000 00000000 ................ + 1880 00000000 00000000 00000000 00000000 ................ + 1890 00000000 00000000 00000000 00000000 ................ + 18a0 00000000 00000000 00000000 00000000 ................ + 18b0 00000000 00000000 00000000 00000000 ................ + 18c0 00000000 00000000 00000000 00000000 ................ + 18d0 00000000 00000000 00000000 00000000 ................ + 18e0 00000000 00000000 00000000 00000000 ................ + 18f0 00000000 00000000 00000000 00000000 ................ + 1900 00000000 00000000 00000000 00000000 ................ + 1910 00000000 00000000 00000000 00000000 ................ + 1920 00000000 00000000 00000000 00000000 ................ + 1930 00000000 00000000 00000000 00000000 ................ + 1940 00000000 00000000 00000000 00000000 ................ + 1950 00000000 00000000 00000000 00000000 ................ + 1960 00000000 00000000 00000000 00000000 ................ + 1970 00000000 00000000 00000000 00000000 ................ + 1980 00000000 00000000 00000000 00000000 ................ + 1990 00000000 00000000 00000000 00000000 ................ + 19a0 00000000 00000000 00000000 00000000 ................ + 19b0 00000000 00000000 00000000 00000000 ................ + 19c0 00000000 00000000 00000000 00000000 ................ + 19d0 00000000 00000000 00000000 00000000 ................ + 19e0 00000000 00000000 00000000 00000000 ................ + 19f0 00000000 00000000 00000000 00000000 ................ + 1a00 00000000 00000000 00000000 00000000 ................ + 1a10 00000000 00000000 00000000 00000000 ................ + 1a20 00000000 00000000 00000000 00000000 ................ + 1a30 00000000 00000000 00000000 00000000 ................ + 1a40 00000000 00000000 00000000 00000000 ................ + 1a50 00000000 00000000 00000000 00000000 ................ + 1a60 00000000 00000000 00000000 00000000 ................ + 1a70 00000000 00000000 00000000 00000000 ................ + 1a80 00000000 00000000 00000000 00000000 ................ + 1a90 00000000 00000000 00000000 00000000 ................ + 1aa0 00000000 00000000 00000000 00000000 ................ + 1ab0 00000000 00000000 00000000 00000000 ................ + 1ac0 00000000 00000000 00000000 00000000 ................ + 1ad0 00000000 00000000 00000000 00000000 ................ + 1ae0 00000000 00000000 00000000 00000000 ................ + 1af0 00000000 00000000 00000000 00000000 ................ + 1b00 00000000 00000000 00000000 00000000 ................ + 1b10 00000000 00000000 00000000 00000000 ................ + 1b20 00000000 00000000 00000000 00000000 ................ + 1b30 00000000 00000000 00000000 00000000 ................ + 1b40 00000000 00000000 00000000 00000000 ................ + 1b50 00000000 00000000 00000000 00000000 ................ + 1b60 00000000 00000000 00000000 00000000 ................ + 1b70 00000000 00000000 00000000 00000000 ................ + 1b80 00000000 00000000 00000000 00000000 ................ + 1b90 00000000 00000000 00000000 00000000 ................ + 1ba0 00000000 00000000 00000000 00000000 ................ + 1bb0 00000000 00000000 00000000 00000000 ................ + 1bc0 00000000 00000000 00000000 00000000 ................ + 1bd0 00000000 00000000 00000000 00000000 ................ + 1be0 00000000 00000000 00000000 00000000 ................ + 1bf0 00000000 00000000 00000000 00000000 ................ + 1c00 00000000 00000000 00000000 00000000 ................ + 1c10 00000000 00000000 00000000 00000000 ................ + 1c20 00000000 00000000 00000000 00000000 ................ + 1c30 00000000 00000000 00000000 00000000 ................ + 1c40 00000000 00000000 00000000 00000000 ................ + 1c50 00000000 00000000 00000000 00000000 ................ + 1c60 00000000 00000000 00000000 00000000 ................ + 1c70 00000000 00000000 00000000 00000000 ................ + 1c80 00000000 00000000 00000000 00000000 ................ + 1c90 00000000 00000000 00000000 00000000 ................ + 1ca0 00000000 00000000 00000000 00000000 ................ + 1cb0 00000000 00000000 00000000 00000000 ................ + 1cc0 00000000 00000000 00000000 00000000 ................ + 1cd0 00000000 00000000 00000000 00000000 ................ + 1ce0 00000000 00000000 00000000 00000000 ................ + 1cf0 00000000 00000000 00000000 00000000 ................ + 1d00 00000000 00000000 00000000 00000000 ................ + 1d10 00000000 00000000 00000000 00000000 ................ + 1d20 00000000 00000000 00000000 00000000 ................ + 1d30 00000000 00000000 00000000 00000000 ................ + 1d40 00000000 00000000 00000000 00000000 ................ + 1d50 00000000 00000000 00000000 00000000 ................ + 1d60 00000000 00000000 00000000 00000000 ................ + 1d70 00000000 00000000 00000000 00000000 ................ + 1d80 00000000 00000000 00000000 00000000 ................ + 1d90 00000000 00000000 00000000 00000000 ................ + 1da0 00000000 00000000 00000000 00000000 ................ + 1db0 00000000 00000000 00000000 00000000 ................ + 1dc0 00000000 00000000 00000000 00000000 ................ + 1dd0 00000000 00000000 00000000 00000000 ................ + 1de0 00000000 00000000 00000000 00000000 ................ + 1df0 00000000 00000000 00000000 00000000 ................ + 1e00 00000000 00000000 00000000 00000000 ................ + 1e10 00000000 00000000 00000000 00000000 ................ + 1e20 00000000 00000000 00000000 00000000 ................ + 1e30 00000000 00000000 00000000 00000000 ................ + 1e40 00000000 00000000 00000000 00000000 ................ + 1e50 00000000 00000000 00000000 00000000 ................ + 1e60 00000000 00000000 00000000 00000000 ................ + 1e70 00000000 00000000 00000000 00000000 ................ + 1e80 00000000 00000000 00000000 00000000 ................ + 1e90 00000000 00000000 00000000 00000000 ................ + 1ea0 00000000 00000000 00000000 00000000 ................ + 1eb0 00000000 00000000 00000000 00000000 ................ + 1ec0 00000000 00000000 00000000 00000000 ................ + 1ed0 00000000 00000000 00000000 00000000 ................ + 1ee0 00000000 00000000 00000000 00000000 ................ + 1ef0 00000000 00000000 00000000 00000000 ................ + 1f00 00000000 00000000 00000000 00000000 ................ + 1f10 00000000 00000000 00000000 00000000 ................ + 1f20 00000000 00000000 00000000 00000000 ................ + 1f30 00000000 00000000 00000000 00000000 ................ + 1f40 00000000 00000000 00000000 00000000 ................ + 1f50 00000000 00000000 00000000 00000000 ................ + 1f60 00000000 00000000 00000000 00000000 ................ + 1f70 00000000 00000000 00000000 00000000 ................ + 1f80 00000000 00000000 00000000 00000000 ................ + 1f90 00000000 00000000 00000000 00000000 ................ + 1fa0 00000000 00000000 00000000 00000000 ................ + 1fb0 00000000 00000000 00000000 00000000 ................ + 1fc0 00000000 00000000 00000000 00000000 ................ + 1fd0 00000000 00000000 00000000 00000000 ................ + 1fe0 00000000 00000000 00000000 00000000 ................ + 1ff0 00000000 00000000 00000000 00000000 ................ + 2000 00000000 00000000 00000000 00000000 ................ + 2010 00000000 00000000 00000000 00000000 ................ + 2020 00000000 00000000 00000000 00000000 ................ + 2030 00000000 00000000 00000000 00000000 ................ + 2040 00000000 00000000 00000000 00000000 ................ + 2050 00000000 00000000 00000000 00000000 ................ + 2060 00000000 00000000 00000000 00000000 ................ + 2070 00000000 00000000 00000000 00000000 ................ + 2080 00000000 00000000 00000000 00000000 ................ + 2090 00000000 00000000 00000000 00000000 ................ + 20a0 00000000 00000000 00000000 00000000 ................ + 20b0 00000000 00000000 00000000 00000000 ................ + 20c0 00000000 00000000 00000000 00000000 ................ + 20d0 00000000 00000000 00000000 00000000 ................ + 20e0 00000000 00000000 00000000 00000000 ................ + 20f0 00000000 00000000 00000000 00000000 ................ + 2100 00000000 00000000 00000000 00000000 ................ + 2110 00000000 00000000 00000000 00000000 ................ + 2120 00000000 00000000 00000000 00000000 ................ + 2130 00000000 00000000 00000000 00000000 ................ + 2140 00000000 00000000 00000000 00000000 ................ + 2150 00000000 00000000 00000000 00000000 ................ + 2160 00000000 00000000 00000000 00000000 ................ + 2170 00000000 00000000 00000000 00000000 ................ + 2180 00000000 00000000 00000000 00000000 ................ + 2190 00000000 00000000 00000000 00000000 ................ + 21a0 00000000 00000000 00000000 00000000 ................ + 21b0 00000000 00000000 00000000 00000000 ................ + 21c0 00000000 00000000 00000000 00000000 ................ + 21d0 00000000 00000000 00000000 00000000 ................ + 21e0 00000000 00000000 00000000 00000000 ................ + 21f0 00000000 00000000 00000000 00000000 ................ + 2200 00000000 00000000 00000000 00000000 ................ + 2210 00000000 00000000 00000000 00000000 ................ + 2220 00000000 00000000 00000000 00000000 ................ + 2230 00000000 00000000 00000000 00000000 ................ + 2240 00000000 00000000 00000000 00000000 ................ + 2250 00000000 00000000 00000000 00000000 ................ + 2260 00000000 00000000 00000000 00000000 ................ + 2270 00000000 00000000 00000000 00000000 ................ + 2280 00000000 00000000 00000000 00000000 ................ + 2290 00000000 00000000 00000000 00000000 ................ + 22a0 00000000 00000000 00000000 00000000 ................ + 22b0 00000000 00000000 00000000 00000000 ................ + 22c0 00000000 00000000 00000000 00000000 ................ + 22d0 00000000 00000000 00000000 00000000 ................ + 22e0 00000000 00000000 00000000 00000000 ................ + 22f0 00000000 00000000 00000000 00000000 ................ + 2300 00000000 00000000 00000000 00000000 ................ + 2310 00000000 00000000 00000000 00000000 ................ + 2320 00000000 00000000 00000000 00000000 ................ + 2330 00000000 00000000 00000000 00000000 ................ + 2340 00000000 00000000 00000000 00000000 ................ + 2350 00000000 00000000 00000000 00000000 ................ + 2360 00000000 00000000 00000000 00000000 ................ + 2370 00000000 00000000 00000000 00000000 ................ + 2380 00000000 00000000 00000000 00000000 ................ + 2390 00000000 00000000 00000000 00000000 ................ + 23a0 00000000 00000000 00000000 00000000 ................ + 23b0 00000000 00000000 00000000 00000000 ................ + 23c0 00000000 00000000 00000000 00000000 ................ + 23d0 00000000 00000000 00000000 00000000 ................ + 23e0 00000000 00000000 00000000 00000000 ................ + 23f0 00000000 00000000 00000000 00000000 ................ + 2400 00000000 00000000 00000000 00000000 ................ + 2410 00000000 00000000 00000000 00000000 ................ + 2420 00000000 00000000 00000000 00000000 ................ + 2430 00000000 00000000 00000000 00000000 ................ + 2440 00000000 00000000 00000000 00000000 ................ + 2450 00000000 00000000 00000000 00000000 ................ + 2460 00000000 00000000 00000000 00000000 ................ + 2470 00000000 00000000 00000000 00000000 ................ + 2480 00000000 00000000 00000000 00000000 ................ + 2490 00000000 00000000 00000000 00000000 ................ + 24a0 00000000 00000000 00000000 00000000 ................ + 24b0 00000000 00000000 00000000 00000000 ................ + 24c0 00000000 00000000 00000000 00000000 ................ + 24d0 00000000 00000000 00000000 00000000 ................ + 24e0 00000000 00000000 00000000 00000000 ................ + 24f0 00000000 00000000 00000000 00000000 ................ + 2500 00000000 00000000 00000000 00000000 ................ + 2510 00000000 00000000 00000000 00000000 ................ + 2520 00000000 00000000 00000000 00000000 ................ + 2530 00000000 00000000 00000000 00000000 ................ + 2540 00000000 00000000 00000000 00000000 ................ + 2550 00000000 00000000 00000000 00000000 ................ + 2560 00000000 00000000 00000000 00000000 ................ + 2570 00000000 00000000 00000000 00000000 ................ + 2580 00000000 00000000 00000000 00000000 ................ + 2590 00000000 00000000 00000000 00000000 ................ + 25a0 00000000 00000000 00000000 00000000 ................ + 25b0 00000000 00000000 00000000 00000000 ................ + 25c0 00000000 00000000 00000000 00000000 ................ + 25d0 00000000 00000000 00000000 00000000 ................ + 25e0 00000000 00000000 00000000 00000000 ................ + 25f0 00000000 00000000 00000000 00000000 ................ + 2600 00000000 00000000 00000000 00000000 ................ + 2610 00000000 00000000 00000000 00000000 ................ + 2620 00000000 00000000 00000000 00000000 ................ + 2630 00000000 00000000 00000000 00000000 ................ + 2640 00000000 00000000 00000000 00000000 ................ + 2650 00000000 00000000 00000000 00000000 ................ + 2660 00000000 00000000 00000000 00000000 ................ + 2670 00000000 00000000 00000000 00000000 ................ + 2680 00000000 00000000 00000000 00000000 ................ + 2690 00000000 00000000 00000000 00000000 ................ + 26a0 00000000 00000000 00000000 00000000 ................ + 26b0 00000000 00000000 00000000 00000000 ................ + 26c0 00000000 00000000 00000000 00000000 ................ + 26d0 00000000 00000000 00000000 00000000 ................ + 26e0 00000000 00000000 00000000 00000000 ................ + 26f0 00000000 00000000 00000000 00000000 ................ + 2700 00000000 00000000 00000000 00000000 ................ + 2710 00000000 00000000 00000000 00000000 ................ + 2720 00000000 00000000 00000000 00000000 ................ + 2730 00000000 00000000 00000000 00000000 ................ + 2740 00000000 00000000 00000000 00000000 ................ + 2750 00000000 00000000 00000000 00000000 ................ + 2760 00000000 00000000 00000000 00000000 ................ + 2770 00000000 00000000 00000000 00000000 ................ + 2780 00000000 00000000 00000000 00000000 ................ + 2790 00000000 00000000 00000000 00000000 ................ + 27a0 00000000 00000000 00000000 00000000 ................ + 27b0 00000000 00000000 00000000 00000000 ................ + 27c0 00000000 00000000 00000000 00000000 ................ + 27d0 00000000 00000000 00000000 00000000 ................ + 27e0 00000000 00000000 00000000 00000000 ................ + 27f0 00000000 00000000 00000000 00000000 ................ + 2800 00000000 00000000 00000000 00000000 ................ + 2810 00000000 00000000 00000000 00000000 ................ + 2820 00000000 00000000 00000000 00000000 ................ + 2830 00000000 00000000 00000000 00000000 ................ + 2840 00000000 00000000 00000000 00000000 ................ + 2850 00000000 00000000 00000000 00000000 ................ + 2860 00000000 00000000 00000000 00000000 ................ + 2870 00000000 00000000 00000000 00000000 ................ + 2880 00000000 00000000 00000000 00000000 ................ + 2890 00000000 00000000 00000000 00000000 ................ + 28a0 00000000 00000000 00000000 00000000 ................ + 28b0 00000000 00000000 00000000 00000000 ................ + 28c0 00000000 00000000 00000000 00000000 ................ + 28d0 00000000 00000000 00000000 00000000 ................ + 28e0 00000000 00000000 00000000 00000000 ................ + 28f0 00000000 00000000 00000000 00000000 ................ + 2900 00000000 00000000 00000000 00000000 ................ + 2910 00000000 00000000 00000000 00000000 ................ + 2920 00000000 00000000 00000000 00000000 ................ + 2930 00000000 00000000 00000000 00000000 ................ + 2940 00000000 00000000 00000000 00000000 ................ + 2950 00000000 00000000 00000000 00000000 ................ + 2960 00000000 00000000 00000000 00000000 ................ + 2970 00000000 00000000 00000000 00000000 ................ + 2980 00000000 00000000 00000000 00000000 ................ + 2990 00000000 00000000 00000000 00000000 ................ + 29a0 00000000 00000000 00000000 00000000 ................ + 29b0 00000000 00000000 00000000 00000000 ................ + 29c0 00000000 00000000 00000000 00000000 ................ + 29d0 00000000 00000000 00000000 00000000 ................ + 29e0 00000000 00000000 00000000 00000000 ................ + 29f0 00000000 00000000 00000000 00000000 ................ + 2a00 00000000 00000000 00000000 00000000 ................ + 2a10 00000000 00000000 00000000 00000000 ................ + 2a20 00000000 00000000 00000000 00000000 ................ + 2a30 00000000 00000000 00000000 00000000 ................ + 2a40 00000000 00000000 00000000 00000000 ................ + 2a50 00000000 00000000 00000000 00000000 ................ + 2a60 00000000 00000000 00000000 00000000 ................ + 2a70 00000000 00000000 00000000 00000000 ................ + 2a80 00000000 00000000 00000000 00000000 ................ + 2a90 00000000 00000000 00000000 00000000 ................ + 2aa0 00000000 00000000 00000000 00000000 ................ + 2ab0 00000000 00000000 00000000 00000000 ................ + 2ac0 00000000 00000000 00000000 00000000 ................ + 2ad0 00000000 00000000 00000000 00000000 ................ + 2ae0 00000000 00000000 00000000 00000000 ................ + 2af0 00000000 00000000 00000000 00000000 ................ + 2b00 00000000 00000000 00000000 00000000 ................ + 2b10 00000000 00000000 00000000 00000000 ................ + 2b20 00000000 00000000 00000000 00000000 ................ + 2b30 00000000 00000000 00000000 00000000 ................ + 2b40 00000000 00000000 00000000 00000000 ................ + 2b50 00000000 00000000 00000000 00000000 ................ + 2b60 00000000 00000000 00000000 00000000 ................ + 2b70 00000000 00000000 00000000 00000000 ................ + 2b80 00000000 00000000 00000000 00000000 ................ + 2b90 00000000 00000000 00000000 00000000 ................ + 2ba0 00000000 00000000 00000000 00000000 ................ + 2bb0 00000000 00000000 00000000 00000000 ................ + 2bc0 00000000 00000000 00000000 00000000 ................ + 2bd0 00000000 00000000 00000000 00000000 ................ + 2be0 00000000 00000000 00000000 00000000 ................ + 2bf0 00000000 00000000 00000000 00000000 ................ + 2c00 00000000 00000000 00000000 00000000 ................ + 2c10 00000000 00000000 00000000 00000000 ................ + 2c20 00000000 00000000 00000000 00000000 ................ + 2c30 00000000 00000000 00000000 00000000 ................ + 2c40 00000000 00000000 00000000 00000000 ................ + 2c50 00000000 00000000 00000000 00000000 ................ + 2c60 00000000 00000000 00000000 00000000 ................ + 2c70 00000000 00000000 00000000 00000000 ................ + 2c80 00000000 00000000 00000000 00000000 ................ + 2c90 00000000 00000000 00000000 00000000 ................ + 2ca0 00000000 00000000 00000000 00000000 ................ + 2cb0 00000000 00000000 00000000 00000000 ................ + 2cc0 00000000 00000000 00000000 00000000 ................ + 2cd0 00000000 00000000 00000000 00000000 ................ + 2ce0 00000000 00000000 00000000 00000000 ................ + 2cf0 00000000 00000000 00000000 00000000 ................ + 2d00 00000000 00000000 00000000 00000000 ................ + 2d10 00000000 00000000 00000000 00000000 ................ + 2d20 00000000 00000000 00000000 00000000 ................ + 2d30 00000000 00000000 00000000 00000000 ................ + 2d40 00000000 00000000 00000000 00000000 ................ + 2d50 00000000 00000000 00000000 00000000 ................ + 2d60 00000000 00000000 00000000 00000000 ................ + 2d70 00000000 00000000 00000000 00000000 ................ + 2d80 00000000 00000000 00000000 00000000 ................ + 2d90 00000000 00000000 00000000 00000000 ................ + 2da0 00000000 00000000 00000000 00000000 ................ + 2db0 00000000 00000000 00000000 00000000 ................ + 2dc0 00000000 00000000 00000000 00000000 ................ + 2dd0 00000000 00000000 00000000 00000000 ................ + 2de0 00000000 00000000 00000000 00000000 ................ + 2df0 00000000 00000000 00000000 00000000 ................ + 2e00 00000000 00000000 00000000 00000000 ................ + 2e10 00000000 00000000 00000000 00000000 ................ + 2e20 00000000 00000000 00000000 00000000 ................ + 2e30 00000000 00000000 00000000 00000000 ................ + 2e40 00000000 00000000 00000000 00000000 ................ + 2e50 00000000 00000000 00000000 00000000 ................ + 2e60 00000000 00000000 00000000 00000000 ................ + 2e70 00000000 00000000 00000000 00000000 ................ + 2e80 00000000 00000000 00000000 00000000 ................ + 2e90 00000000 00000000 00000000 00000000 ................ + 2ea0 00000000 00000000 00000000 00000000 ................ + 2eb0 00000000 00000000 00000000 00000000 ................ + 2ec0 00000000 00000000 00000000 00000000 ................ + 2ed0 00000000 00000000 00000000 00000000 ................ + 2ee0 00000000 00000000 00000000 00000000 ................ + 2ef0 00000000 00000000 00000000 00000000 ................ + 2f00 00000000 00000000 00000000 00000000 ................ + 2f10 00000000 00000000 00000000 00000000 ................ + 2f20 00000000 00000000 00000000 00000000 ................ + 2f30 00000000 00000000 00000000 00000000 ................ + 2f40 00000000 00000000 00000000 00000000 ................ + 2f50 00000000 00000000 00000000 00000000 ................ + 2f60 00000000 00000000 00000000 00000000 ................ + 2f70 00000000 00000000 00000000 00000000 ................ + 2f80 00000000 00000000 00000000 00000000 ................ + 2f90 00000000 00000000 00000000 00000000 ................ + 2fa0 00000000 00000000 00000000 00000000 ................ + 2fb0 00000000 00000000 00000000 00000000 ................ + 2fc0 00000000 00000000 00000000 00000000 ................ + 2fd0 00000000 00000000 00000000 00000000 ................ + 2fe0 00000000 00000000 00000000 00000000 ................ + 2ff0 00000000 00000000 00000000 00000000 ................ + 3000 00000000 00000000 00000000 00000000 ................ + 3010 00000000 00000000 00000000 00000000 ................ + 3020 00000000 00000000 00000000 00000000 ................ + 3030 00000000 00000000 00000000 00000000 ................ + 3040 00000000 00000000 00000000 00000000 ................ + 3050 00000000 00000000 00000000 00000000 ................ + 3060 00000000 00000000 00000000 00000000 ................ + 3070 00000000 00000000 00000000 00000000 ................ + 3080 00000000 00000000 00000000 00000000 ................ + 3090 00000000 00000000 00000000 00000000 ................ + 30a0 00000000 00000000 00000000 00000000 ................ + 30b0 00000000 00000000 00000000 00000000 ................ + 30c0 00000000 00000000 00000000 00000000 ................ + 30d0 00000000 00000000 00000000 00000000 ................ + 30e0 00000000 00000000 00000000 00000000 ................ + 30f0 00000000 00000000 00000000 00000000 ................ + 3100 00000000 00000000 00000000 00000000 ................ + 3110 00000000 00000000 00000000 00000000 ................ + 3120 00000000 00000000 00000000 00000000 ................ + 3130 00000000 00000000 00000000 00000000 ................ + 3140 00000000 00000000 00000000 00000000 ................ + 3150 00000000 00000000 00000000 00000000 ................ + 3160 00000000 00000000 00000000 00000000 ................ + 3170 00000000 00000000 00000000 00000000 ................ + 3180 00000000 00000000 00000000 00000000 ................ + 3190 00000000 00000000 00000000 00000000 ................ + 31a0 00000000 00000000 00000000 00000000 ................ + 31b0 00000000 00000000 00000000 00000000 ................ + 31c0 00000000 00000000 00000000 00000000 ................ + 31d0 00000000 00000000 00000000 00000000 ................ + 31e0 00000000 00000000 00000000 00000000 ................ + 31f0 00000000 00000000 00000000 00000000 ................ + 3200 00000000 00000000 00000000 00000000 ................ + 3210 00000000 00000000 00000000 00000000 ................ + 3220 00000000 00000000 00000000 00000000 ................ + 3230 00000000 00000000 00000000 00000000 ................ + 3240 00000000 00000000 00000000 00000000 ................ + 3250 00000000 00000000 00000000 00000000 ................ + 3260 00000000 00000000 00000000 00000000 ................ + 3270 00000000 00000000 00000000 00000000 ................ + 3280 00000000 00000000 00000000 00000000 ................ + 3290 00000000 00000000 00000000 00000000 ................ + 32a0 00000000 00000000 00000000 00000000 ................ + 32b0 00000000 00000000 00000000 00000000 ................ + 32c0 00000000 00000000 00000000 00000000 ................ + 32d0 00000000 00000000 00000000 00000000 ................ + 32e0 00000000 00000000 00000000 00000000 ................ + 32f0 00000000 00000000 00000000 00000000 ................ + 3300 00000000 00000000 00000000 00000000 ................ + 3310 00000000 00000000 00000000 00000000 ................ + 3320 00000000 00000000 00000000 00000000 ................ + 3330 00000000 00000000 00000000 00000000 ................ + 3340 00000000 00000000 00000000 00000000 ................ + 3350 00000000 00000000 00000000 00000000 ................ + 3360 00000000 00000000 00000000 00000000 ................ + 3370 00000000 00000000 00000000 00000000 ................ + 3380 00000000 00000000 00000000 00000000 ................ + 3390 00000000 00000000 00000000 00000000 ................ + 33a0 00000000 00000000 00000000 00000000 ................ + 33b0 00000000 00000000 00000000 00000000 ................ + 33c0 00000000 00000000 00000000 00000000 ................ + 33d0 00000000 00000000 00000000 00000000 ................ + 33e0 00000000 00000000 00000000 00000000 ................ + 33f0 00000000 00000000 00000000 00000000 ................ + 3400 00000000 00000000 00000000 00000000 ................ + 3410 00000000 00000000 00000000 00000000 ................ + 3420 00000000 00000000 00000000 00000000 ................ + 3430 00000000 00000000 00000000 00000000 ................ + 3440 00000000 00000000 00000000 00000000 ................ + 3450 00000000 00000000 00000000 00000000 ................ + 3460 00000000 00000000 00000000 00000000 ................ + 3470 00000000 00000000 00000000 00000000 ................ + 3480 00000000 00000000 00000000 00000000 ................ + 3490 00000000 00000000 00000000 00000000 ................ + 34a0 00000000 00000000 00000000 00000000 ................ + 34b0 00000000 00000000 00000000 00000000 ................ + 34c0 00000000 00000000 00000000 00000000 ................ + 34d0 00000000 00000000 00000000 00000000 ................ + 34e0 00000000 00000000 00000000 00000000 ................ + 34f0 00000000 00000000 00000000 00000000 ................ + 3500 00000000 00000000 00000000 00000000 ................ + 3510 00000000 00000000 00000000 00000000 ................ + 3520 00000000 00000000 00000000 00000000 ................ + 3530 00000000 00000000 00000000 00000000 ................ + 3540 00000000 00000000 00000000 00000000 ................ + 3550 00000000 00000000 00000000 00000000 ................ + 3560 00000000 00000000 00000000 00000000 ................ + 3570 00000000 00000000 00000000 00000000 ................ + 3580 00000000 00000000 00000000 00000000 ................ + 3590 00000000 00000000 00000000 00000000 ................ + 35a0 00000000 00000000 00000000 00000000 ................ + 35b0 00000000 00000000 00000000 00000000 ................ + 35c0 00000000 00000000 00000000 00000000 ................ + 35d0 00000000 00000000 00000000 00000000 ................ + 35e0 00000000 00000000 00000000 00000000 ................ + 35f0 00000000 00000000 00000000 00000000 ................ + 3600 00000000 00000000 00000000 00000000 ................ + 3610 00000000 00000000 00000000 00000000 ................ + 3620 00000000 00000000 00000000 00000000 ................ + 3630 00000000 00000000 00000000 00000000 ................ + 3640 00000000 00000000 00000000 00000000 ................ + 3650 00000000 00000000 00000000 00000000 ................ + 3660 00000000 00000000 00000000 00000000 ................ + 3670 00000000 00000000 00000000 00000000 ................ + 3680 00000000 00000000 00000000 00000000 ................ + 3690 00000000 00000000 00000000 00000000 ................ + 36a0 00000000 00000000 00000000 00000000 ................ + 36b0 00000000 00000000 00000000 00000000 ................ + 36c0 00000000 00000000 00000000 00000000 ................ + 36d0 00000000 00000000 00000000 00000000 ................ + 36e0 00000000 00000000 00000000 00000000 ................ + 36f0 00000000 00000000 00000000 00000000 ................ + 3700 00000000 00000000 00000000 00000000 ................ + 3710 00000000 00000000 00000000 00000000 ................ + 3720 00000000 00000000 00000000 00000000 ................ + 3730 00000000 00000000 00000000 00000000 ................ + 3740 00000000 00000000 00000000 00000000 ................ + 3750 00000000 00000000 00000000 00000000 ................ + 3760 00000000 00000000 00000000 00000000 ................ + 3770 00000000 00000000 00000000 00000000 ................ + 3780 00000000 00000000 00000000 00000000 ................ + 3790 00000000 00000000 00000000 00000000 ................ + 37a0 00000000 00000000 00000000 00000000 ................ + 37b0 00000000 00000000 00000000 00000000 ................ + 37c0 00000000 00000000 00000000 00000000 ................ + 37d0 00000000 00000000 00000000 00000000 ................ + 37e0 00000000 00000000 00000000 00000000 ................ + 37f0 00000000 00000000 00000000 00000000 ................ + 3800 00000000 00000000 00000000 00000000 ................ + 3810 00000000 00000000 00000000 00000000 ................ + 3820 00000000 00000000 00000000 00000000 ................ + 3830 00000000 00000000 00000000 00000000 ................ + 3840 00000000 00000000 00000000 00000000 ................ + 3850 00000000 00000000 00000000 00000000 ................ + 3860 00000000 00000000 00000000 00000000 ................ + 3870 00000000 00000000 00000000 00000000 ................ + 3880 00000000 00000000 00000000 00000000 ................ + 3890 00000000 00000000 00000000 00000000 ................ + 38a0 00000000 00000000 00000000 00000000 ................ + 38b0 00000000 00000000 00000000 00000000 ................ + 38c0 00000000 00000000 00000000 00000000 ................ + 38d0 00000000 00000000 00000000 00000000 ................ + 38e0 00000000 00000000 00000000 00000000 ................ + 38f0 00000000 00000000 00000000 00000000 ................ + 3900 00000000 00000000 00000000 00000000 ................ + 3910 00000000 00000000 00000000 00000000 ................ + 3920 00000000 00000000 00000000 00000000 ................ + 3930 00000000 00000000 00000000 00000000 ................ + 3940 00000000 00000000 00000000 00000000 ................ + 3950 00000000 00000000 00000000 00000000 ................ + 3960 00000000 00000000 00000000 00000000 ................ + 3970 00000000 00000000 00000000 00000000 ................ + 3980 00000000 00000000 00000000 00000000 ................ + 3990 00000000 00000000 00000000 00000000 ................ + 39a0 00000000 00000000 00000000 00000000 ................ + 39b0 00000000 00000000 00000000 00000000 ................ + 39c0 00000000 00000000 00000000 00000000 ................ + 39d0 00000000 00000000 00000000 00000000 ................ + 39e0 00000000 00000000 00000000 00000000 ................ + 39f0 00000000 00000000 00000000 00000000 ................ + 3a00 00000000 00000000 00000000 00000000 ................ + 3a10 00000000 00000000 00000000 00000000 ................ + 3a20 00000000 00000000 00000000 00000000 ................ + 3a30 00000000 00000000 00000000 00000000 ................ + 3a40 00000000 00000000 00000000 00000000 ................ + 3a50 00000000 00000000 00000000 00000000 ................ + 3a60 00000000 00000000 00000000 00000000 ................ + 3a70 00000000 00000000 00000000 00000000 ................ + 3a80 00000000 00000000 00000000 00000000 ................ + 3a90 00000000 00000000 00000000 00000000 ................ + 3aa0 00000000 00000000 00000000 00000000 ................ + 3ab0 00000000 00000000 00000000 00000000 ................ + 3ac0 00000000 00000000 00000000 00000000 ................ + 3ad0 00000000 00000000 00000000 00000000 ................ + 3ae0 00000000 00000000 00000000 00000000 ................ + 3af0 00000000 00000000 00000000 00000000 ................ + 3b00 00000000 00000000 00000000 00000000 ................ + 3b10 00000000 00000000 00000000 00000000 ................ + 3b20 00000000 00000000 00000000 00000000 ................ + 3b30 00000000 00000000 00000000 00000000 ................ + 3b40 00000000 00000000 00000000 00000000 ................ + 3b50 00000000 00000000 00000000 00000000 ................ + 3b60 00000000 00000000 00000000 00000000 ................ + 3b70 00000000 00000000 00000000 00000000 ................ + 3b80 00000000 00000000 00000000 00000000 ................ + 3b90 00000000 00000000 00000000 00000000 ................ + 3ba0 00000000 00000000 00000000 00000000 ................ + 3bb0 00000000 00000000 00000000 00000000 ................ + 3bc0 00000000 00000000 00000000 00000000 ................ + 3bd0 00000000 00000000 00000000 00000000 ................ + 3be0 00000000 00000000 00000000 00000000 ................ + 3bf0 00000000 00000000 00000000 00000000 ................ + 3c00 00000000 00000000 00000000 00000000 ................ + 3c10 00000000 00000000 00000000 00000000 ................ + 3c20 00000000 00000000 00000000 00000000 ................ + 3c30 00000000 00000000 00000000 00000000 ................ + 3c40 00000000 00000000 00000000 00000000 ................ + 3c50 00000000 00000000 00000000 00000000 ................ + 3c60 00000000 00000000 00000000 00000000 ................ + 3c70 00000000 00000000 00000000 00000000 ................ + 3c80 00000000 00000000 00000000 00000000 ................ + 3c90 00000000 00000000 00000000 00000000 ................ + 3ca0 00000000 00000000 00000000 00000000 ................ + 3cb0 00000000 00000000 00000000 00000000 ................ + 3cc0 00000000 00000000 00000000 00000000 ................ + 3cd0 00000000 00000000 00000000 00000000 ................ + 3ce0 00000000 00000000 00000000 00000000 ................ + 3cf0 00000000 00000000 00000000 00000000 ................ + 3d00 00000000 00000000 00000000 00000000 ................ + 3d10 00000000 00000000 00000000 00000000 ................ + 3d20 00000000 00000000 00000000 00000000 ................ + 3d30 00000000 00000000 00000000 00000000 ................ + 3d40 00000000 00000000 00000000 00000000 ................ + 3d50 00000000 00000000 00000000 00000000 ................ + 3d60 00000000 00000000 00000000 00000000 ................ + 3d70 00000000 00000000 00000000 00000000 ................ + 3d80 00000000 00000000 00000000 00000000 ................ + 3d90 00000000 00000000 00000000 00000000 ................ + 3da0 00000000 00000000 00000000 00000000 ................ + 3db0 00000000 00000000 00000000 00000000 ................ + 3dc0 00000000 00000000 00000000 00000000 ................ + 3dd0 00000000 00000000 00000000 00000000 ................ + 3de0 00000000 00000000 00000000 00000000 ................ + 3df0 00000000 00000000 00000000 00000000 ................ + 3e00 00000000 00000000 00000000 00000000 ................ + 3e10 00000000 00000000 00000000 00000000 ................ + 3e20 00000000 00000000 00000000 00000000 ................ + 3e30 00000000 00000000 00000000 00000000 ................ + 3e40 00000000 00000000 00000000 00000000 ................ + 3e50 00000000 00000000 00000000 00000000 ................ + 3e60 00000000 00000000 00000000 00000000 ................ + 3e70 00000000 00000000 00000000 00000000 ................ + 3e80 00000000 00000000 00000000 00000000 ................ + 3e90 00000000 00000000 00000000 00000000 ................ + 3ea0 00000000 00000000 00000000 00000000 ................ + 3eb0 00000000 00000000 00000000 00000000 ................ + 3ec0 00000000 00000000 00000000 00000000 ................ + 3ed0 00000000 00000000 00000000 00000000 ................ + 3ee0 00000000 00000000 00000000 00000000 ................ + 3ef0 00000000 00000000 00000000 00000000 ................ + 3f00 00000000 00000000 00000000 00000000 ................ + 3f10 00000000 00000000 00000000 00000000 ................ + 3f20 00000000 00000000 00000000 00000000 ................ + 3f30 00000000 00000000 00000000 00000000 ................ + 3f40 00000000 00000000 00000000 00000000 ................ + 3f50 00000000 00000000 00000000 00000000 ................ + 3f60 00000000 00000000 00000000 00000000 ................ + 3f70 00000000 00000000 00000000 00000000 ................ + 3f80 00000000 00000000 00000000 00000000 ................ + 3f90 00000000 00000000 00000000 00000000 ................ + 3fa0 00000000 00000000 00000000 00000000 ................ + 3fb0 00000000 00000000 00000000 00000000 ................ + 3fc0 00000000 00000000 00000000 00000000 ................ + 3fd0 00000000 00000000 00000000 00000000 ................ + 3fe0 00000000 00000000 00000000 00000000 ................ + 3ff0 00000000 00000000 00000000 00000000 ................ + 4000 00000000 00000000 00000000 00000000 ................ + 4010 00000000 00000000 00000000 00000000 ................ + 4020 00000000 00000000 00000000 00000000 ................ + 4030 00000000 00000000 00000000 00000000 ................ + 4040 00000000 00000000 00000000 00000000 ................ + 4050 00000000 00000000 00000000 00000000 ................ + 4060 00000000 00000000 00000000 00000000 ................ + 4070 00000000 00000000 00000000 00000000 ................ + 4080 00000000 00000000 00000000 00000000 ................ + 4090 00000000 00000000 00000000 00000000 ................ + 40a0 00000000 00000000 00000000 00000000 ................ + 40b0 00000000 00000000 00000000 00000000 ................ + 40c0 00000000 00000000 00000000 00000000 ................ + 40d0 00000000 00000000 00000000 00000000 ................ + 40e0 00000000 00000000 00000000 00000000 ................ + 40f0 00000000 00000000 00000000 00000000 ................ + 4100 00000000 00000000 00000000 00000000 ................ + 4110 00000000 00000000 00000000 00000000 ................ + 4120 00000000 00000000 00000000 00000000 ................ + 4130 00000000 00000000 00000000 00000000 ................ + 4140 00000000 00000000 00000000 00000000 ................ + 4150 00000000 00000000 00000000 00000000 ................ + 4160 00000000 00000000 00000000 00000000 ................ + 4170 00000000 00000000 00000000 00000000 ................ + 4180 00000000 00000000 00000000 00000000 ................ + 4190 00000000 00000000 00000000 00000000 ................ + 41a0 00000000 00000000 00000000 00000000 ................ + 41b0 00000000 00000000 00000000 00000000 ................ + 41c0 00000000 00000000 00000000 00000000 ................ + 41d0 00000000 00000000 00000000 00000000 ................ + 41e0 00000000 00000000 00000000 00000000 ................ + 41f0 00000000 00000000 00000000 00000000 ................ + 4200 00000000 00000000 00000000 00000000 ................ + 4210 00000000 00000000 00000000 00000000 ................ + 4220 00000000 00000000 00000000 00000000 ................ + 4230 00000000 00000000 00000000 00000000 ................ + 4240 00000000 00000000 00000000 00000000 ................ + 4250 00000000 00000000 00000000 00000000 ................ + 4260 00000000 00000000 00000000 00000000 ................ + 4270 00000000 00000000 00000000 00000000 ................ + 4280 00000000 00000000 00000000 00000000 ................ + 4290 00000000 00000000 00000000 00000000 ................ + 42a0 00000000 00000000 00000000 00000000 ................ + 42b0 00000000 00000000 00000000 00000000 ................ + 42c0 00000000 00000000 00000000 00000000 ................ + 42d0 00000000 00000000 00000000 00000000 ................ + 42e0 00000000 00000000 00000000 00000000 ................ + 42f0 00000000 00000000 00000000 00000000 ................ + 4300 00000000 00000000 00000000 00000000 ................ + 4310 00000000 00000000 00000000 00000000 ................ + 4320 00000000 00000000 00000000 00000000 ................ + 4330 00000000 00000000 00000000 00000000 ................ + 4340 00000000 00000000 00000000 00000000 ................ + 4350 00000000 00000000 00000000 00000000 ................ + 4360 00000000 00000000 00000000 00000000 ................ + 4370 00000000 00000000 00000000 00000000 ................ + 4380 00000000 00000000 00000000 00000000 ................ + 4390 00000000 00000000 00000000 00000000 ................ + 43a0 00000000 00000000 00000000 00000000 ................ + 43b0 00000000 00000000 00000000 00000000 ................ + 43c0 00000000 00000000 00000000 00000000 ................ + 43d0 00000000 00000000 00000000 00000000 ................ + 43e0 00000000 00000000 00000000 00000000 ................ + 43f0 00000000 00000000 00000000 00000000 ................ + 4400 00000000 00000000 00000000 00000000 ................ + 4410 00000000 00000000 00000000 00000000 ................ + 4420 00000000 00000000 00000000 00000000 ................ + 4430 00000000 00000000 00000000 00000000 ................ + 4440 00000000 00000000 00000000 00000000 ................ + 4450 00000000 00000000 00000000 00000000 ................ + 4460 00000000 00000000 00000000 00000000 ................ + 4470 00000000 00000000 00000000 00000000 ................ + 4480 00000000 00000000 00000000 00000000 ................ + 4490 00000000 00000000 00000000 00000000 ................ + 44a0 00000000 00000000 00000000 00000000 ................ + 44b0 00000000 00000000 00000000 00000000 ................ + 44c0 00000000 00000000 00000000 00000000 ................ + 44d0 00000000 00000000 00000000 00000000 ................ + 44e0 00000000 00000000 00000000 00000000 ................ + 44f0 00000000 00000000 00000000 00000000 ................ + 4500 00000000 00000000 00000000 00000000 ................ + 4510 00000000 00000000 00000000 00000000 ................ + 4520 00000000 00000000 00000000 00000000 ................ + 4530 00000000 00000000 00000000 00000000 ................ + 4540 00000000 00000000 00000000 00000000 ................ + 4550 00000000 00000000 00000000 00000000 ................ + 4560 00000000 00000000 00000000 00000000 ................ + 4570 00000000 00000000 00000000 00000000 ................ + 4580 00000000 00000000 00000000 00000000 ................ + 4590 00000000 00000000 00000000 00000000 ................ + 45a0 00000000 00000000 00000000 00000000 ................ + 45b0 00000000 00000000 00000000 00000000 ................ + 45c0 00000000 00000000 00000000 00000000 ................ + 45d0 00000000 00000000 00000000 00000000 ................ + 45e0 00000000 00000000 00000000 00000000 ................ + 45f0 00000000 00000000 00000000 00000000 ................ + 4600 00000000 00000000 00000000 00000000 ................ + 4610 00000000 00000000 00000000 00000000 ................ + 4620 00000000 00000000 00000000 00000000 ................ + 4630 00000000 00000000 00000000 00000000 ................ + 4640 00000000 00000000 00000000 00000000 ................ + 4650 00000000 00000000 00000000 00000000 ................ + 4660 00000000 00000000 00000000 00000000 ................ + 4670 00000000 00000000 00000000 00000000 ................ + 4680 00000000 00000000 00000000 00000000 ................ + 4690 00000000 00000000 00000000 00000000 ................ + 46a0 00000000 00000000 00000000 00000000 ................ + 46b0 00000000 00000000 00000000 00000000 ................ + 46c0 00000000 00000000 00000000 00000000 ................ + 46d0 00000000 00000000 00000000 00000000 ................ + 46e0 00000000 00000000 00000000 00000000 ................ + 46f0 00000000 00000000 00000000 00000000 ................ + 4700 00000000 00000000 00000000 00000000 ................ + 4710 00000000 00000000 00000000 00000000 ................ + 4720 00000000 00000000 00000000 00000000 ................ + 4730 00000000 00000000 00000000 00000000 ................ + 4740 00000000 00000000 00000000 00000000 ................ + 4750 00000000 00000000 00000000 00000000 ................ + 4760 00000000 00000000 00000000 00000000 ................ + 4770 00000000 00000000 00000000 00000000 ................ + 4780 00000000 00000000 00000000 00000000 ................ + 4790 00000000 00000000 00000000 00000000 ................ + 47a0 00000000 00000000 00000000 00000000 ................ + 47b0 00000000 00000000 00000000 00000000 ................ + 47c0 00000000 00000000 00000000 00000000 ................ + 47d0 00000000 00000000 00000000 00000000 ................ + 47e0 00000000 00000000 00000000 00000000 ................ + 47f0 00000000 00000000 00000000 00000000 ................ + 4800 00000000 00000000 00000000 00000000 ................ + 4810 00000000 00000000 00000000 00000000 ................ + 4820 00000000 00000000 00000000 00000000 ................ + 4830 00000000 00000000 00000000 00000000 ................ + 4840 00000000 00000000 00000000 00000000 ................ + 4850 00000000 00000000 00000000 00000000 ................ + 4860 00000000 00000000 00000000 00000000 ................ + 4870 00000000 00000000 00000000 00000000 ................ + 4880 00000000 00000000 00000000 00000000 ................ + 4890 00000000 00000000 00000000 00000000 ................ + 48a0 00000000 00000000 00000000 00000000 ................ + 48b0 00000000 00000000 00000000 00000000 ................ + 48c0 00000000 00000000 00000000 00000000 ................ + 48d0 00000000 00000000 00000000 00000000 ................ + 48e0 00000000 00000000 00000000 00000000 ................ + 48f0 00000000 00000000 00000000 00000000 ................ + 4900 00000000 00000000 00000000 00000000 ................ + 4910 00000000 00000000 00000000 00000000 ................ + 4920 00000000 00000000 00000000 00000000 ................ + 4930 00000000 00000000 00000000 00000000 ................ + 4940 00000000 00000000 00000000 00000000 ................ + 4950 00000000 00000000 00000000 00000000 ................ + 4960 00000000 00000000 00000000 00000000 ................ + 4970 00000000 00000000 00000000 00000000 ................ + 4980 00000000 00000000 00000000 00000000 ................ + 4990 00000000 00000000 00000000 00000000 ................ + 49a0 00000000 00000000 00000000 00000000 ................ + 49b0 00000000 00000000 00000000 00000000 ................ + 49c0 00000000 00000000 00000000 00000000 ................ + 49d0 00000000 00000000 00000000 00000000 ................ + 49e0 00000000 00000000 00000000 00000000 ................ + 49f0 00000000 00000000 00000000 00000000 ................ + 4a00 00000000 00000000 00000000 00000000 ................ + 4a10 00000000 00000000 00000000 00000000 ................ + 4a20 00000000 00000000 00000000 00000000 ................ + 4a30 00000000 00000000 00000000 00000000 ................ + 4a40 00000000 00000000 00000000 00000000 ................ + 4a50 00000000 00000000 00000000 00000000 ................ + 4a60 00000000 00000000 00000000 00000000 ................ + 4a70 00000000 00000000 00000000 00000000 ................ + 4a80 00000000 00000000 00000000 00000000 ................ + 4a90 00000000 00000000 00000000 00000000 ................ + 4aa0 00000000 00000000 00000000 00000000 ................ + 4ab0 00000000 00000000 00000000 00000000 ................ + 4ac0 00000000 00000000 00000000 00000000 ................ + 4ad0 00000000 00000000 00000000 00000000 ................ + 4ae0 00000000 00000000 00000000 00000000 ................ + 4af0 00000000 00000000 00000000 00000000 ................ + 4b00 00000000 00000000 00000000 00000000 ................ + 4b10 00000000 00000000 00000000 00000000 ................ + 4b20 00000000 00000000 00000000 00000000 ................ + 4b30 00000000 00000000 00000000 00000000 ................ + 4b40 00000000 00000000 00000000 00000000 ................ + 4b50 00000000 00000000 00000000 00000000 ................ + 4b60 00000000 00000000 00000000 00000000 ................ + 4b70 00000000 00000000 00000000 00000000 ................ + 4b80 00000000 00000000 00000000 00000000 ................ + 4b90 00000000 00000000 00000000 00000000 ................ + 4ba0 00000000 00000000 00000000 00000000 ................ + 4bb0 00000000 00000000 00000000 00000000 ................ + 4bc0 00000000 00000000 00000000 00000000 ................ + 4bd0 00000000 00000000 00000000 00000000 ................ + 4be0 00000000 00000000 00000000 00000000 ................ + 4bf0 00000000 00000000 00000000 00000000 ................ + 4c00 00000000 00000000 00000000 00000000 ................ + 4c10 00000000 00000000 00000000 00000000 ................ + 4c20 00000000 00000000 00000000 00000000 ................ + 4c30 00000000 00000000 00000000 00000000 ................ + 4c40 00000000 00000000 00000000 00000000 ................ + 4c50 00000000 00000000 00000000 00000000 ................ + 4c60 00000000 00000000 00000000 00000000 ................ + 4c70 00000000 00000000 00000000 00000000 ................ + 4c80 00000000 00000000 00000000 00000000 ................ + 4c90 00000000 00000000 00000000 00000000 ................ + 4ca0 00000000 00000000 00000000 00000000 ................ + 4cb0 00000000 00000000 00000000 00000000 ................ + 4cc0 00000000 00000000 00000000 00000000 ................ + 4cd0 00000000 00000000 00000000 00000000 ................ + 4ce0 00000000 00000000 00000000 00000000 ................ + 4cf0 00000000 00000000 00000000 00000000 ................ + 4d00 00000000 00000000 00000000 00000000 ................ + 4d10 00000000 00000000 00000000 00000000 ................ + 4d20 00000000 00000000 00000000 00000000 ................ + 4d30 00000000 00000000 00000000 00000000 ................ + 4d40 00000000 00000000 00000000 00000000 ................ + 4d50 00000000 00000000 00000000 00000000 ................ + 4d60 00000000 00000000 00000000 00000000 ................ + 4d70 00000000 00000000 00000000 00000000 ................ + 4d80 00000000 00000000 00000000 00000000 ................ + 4d90 00000000 00000000 00000000 00000000 ................ + 4da0 00000000 00000000 00000000 00000000 ................ + 4db0 00000000 00000000 00000000 00000000 ................ + 4dc0 00000000 00000000 00000000 00000000 ................ + 4dd0 00000000 00000000 00000000 00000000 ................ + 4de0 00000000 00000000 00000000 00000000 ................ + 4df0 00000000 00000000 00000000 00000000 ................ + 4e00 00000000 00000000 00000000 00000000 ................ + 4e10 00000000 00000000 00000000 00000000 ................ + 4e20 00000000 00000000 00000000 00000000 ................ + 4e30 00000000 00000000 00000000 00000000 ................ + 4e40 00000000 00000000 00000000 00000000 ................ + 4e50 00000000 00000000 00000000 00000000 ................ + 4e60 00000000 00000000 00000000 00000000 ................ + 4e70 00000000 00000000 00000000 00000000 ................ + 4e80 00000000 00000000 00000000 00000000 ................ + 4e90 00000000 00000000 00000000 00000000 ................ + 4ea0 00000000 00000000 00000000 00000000 ................ + 4eb0 00000000 00000000 00000000 00000000 ................ + 4ec0 00000000 00000000 00000000 00000000 ................ + 4ed0 00000000 00000000 00000000 00000000 ................ + 4ee0 00000000 00000000 00000000 00000000 ................ + 4ef0 00000000 00000000 00000000 00000000 ................ + 4f00 00000000 00000000 00000000 00000000 ................ + 4f10 00000000 00000000 00000000 00000000 ................ + 4f20 00000000 00000000 00000000 00000000 ................ + 4f30 00000000 00000000 00000000 00000000 ................ + 4f40 00000000 00000000 00000000 00000000 ................ + 4f50 00000000 00000000 00000000 00000000 ................ + 4f60 00000000 00000000 00000000 00000000 ................ + 4f70 00000000 00000000 00000000 00000000 ................ + 4f80 00000000 00000000 00000000 00000000 ................ + 4f90 00000000 00000000 00000000 00000000 ................ + 4fa0 00000000 00000000 00000000 00000000 ................ + 4fb0 00000000 00000000 00000000 00000000 ................ + 4fc0 00000000 00000000 00000000 00000000 ................ + 4fd0 00000000 00000000 00000000 00000000 ................ + 4fe0 00000000 00000000 00000000 00000000 ................ + 4ff0 00000000 00000000 00000000 00000000 ................ + 5000 00000000 00000000 00000000 00000000 ................ + 5010 00000000 00000000 00000000 00000000 ................ + 5020 00000000 00000000 00000000 00000000 ................ + 5030 00000000 00000000 00000000 00000000 ................ + 5040 00000000 00000000 00000000 00000000 ................ + 5050 00000000 00000000 00000000 00000000 ................ + 5060 00000000 00000000 00000000 00000000 ................ + 5070 00000000 00000000 00000000 00000000 ................ + 5080 00000000 00000000 00000000 00000000 ................ + 5090 00000000 00000000 00000000 00000000 ................ + 50a0 00000000 00000000 00000000 00000000 ................ + 50b0 00000000 00000000 00000000 00000000 ................ + 50c0 00000000 00000000 00000000 00000000 ................ + 50d0 00000000 00000000 00000000 00000000 ................ + 50e0 00000000 00000000 00000000 00000000 ................ + 50f0 00000000 00000000 00000000 00000000 ................ + 5100 00000000 00000000 00000000 00000000 ................ + 5110 00000000 00000000 00000000 00000000 ................ + 5120 00000000 00000000 00000000 00000000 ................ + 5130 00000000 00000000 00000000 00000000 ................ + 5140 00000000 00000000 00000000 00000000 ................ + 5150 00000000 00000000 00000000 00000000 ................ + 5160 00000000 00000000 00000000 00000000 ................ + 5170 00000000 00000000 00000000 00000000 ................ + 5180 00000000 00000000 00000000 00000000 ................ + 5190 00000000 00000000 00000000 00000000 ................ + 51a0 00000000 00000000 00000000 00000000 ................ + 51b0 00000000 00000000 00000000 00000000 ................ + 51c0 00000000 00000000 00000000 00000000 ................ + 51d0 00000000 00000000 00000000 00000000 ................ + 51e0 00000000 00000000 00000000 00000000 ................ + 51f0 00000000 00000000 00000000 00000000 ................ + 5200 00000000 00000000 00000000 00000000 ................ + 5210 00000000 00000000 00000000 00000000 ................ + 5220 00000000 00000000 00000000 00000000 ................ + 5230 00000000 00000000 00000000 00000000 ................ + 5240 00000000 00000000 00000000 00000000 ................ + 5250 00000000 00000000 00000000 00000000 ................ + 5260 00000000 00000000 00000000 00000000 ................ + 5270 00000000 00000000 00000000 00000000 ................ + 5280 00000000 00000000 00000000 00000000 ................ + 5290 00000000 00000000 00000000 00000000 ................ + 52a0 00000000 00000000 00000000 00000000 ................ + 52b0 00000000 00000000 00000000 00000000 ................ + 52c0 00000000 00000000 00000000 00000000 ................ + 52d0 00000000 00000000 00000000 00000000 ................ + 52e0 00000000 00000000 00000000 00000000 ................ + 52f0 00000000 00000000 00000000 00000000 ................ + 5300 00000000 00000000 00000000 00000000 ................ + 5310 00000000 00000000 00000000 00000000 ................ + 5320 00000000 00000000 00000000 00000000 ................ + 5330 00000000 00000000 00000000 00000000 ................ + 5340 00000000 00000000 00000000 00000000 ................ + 5350 00000000 00000000 00000000 00000000 ................ + 5360 00000000 00000000 00000000 00000000 ................ + 5370 00000000 00000000 00000000 00000000 ................ + 5380 00000000 00000000 00000000 00000000 ................ + 5390 00000000 00000000 00000000 00000000 ................ + 53a0 00000000 00000000 00000000 00000000 ................ + 53b0 00000000 00000000 00000000 00000000 ................ + 53c0 00000000 00000000 00000000 00000000 ................ + 53d0 00000000 00000000 00000000 00000000 ................ + 53e0 00000000 00000000 00000000 00000000 ................ + 53f0 00000000 00000000 00000000 00000000 ................ + 5400 00000000 00000000 00000000 00000000 ................ + 5410 00000000 00000000 00000000 00000000 ................ + 5420 00000000 00000000 00000000 00000000 ................ + 5430 00000000 00000000 00000000 00000000 ................ + 5440 00000000 00000000 00000000 00000000 ................ + 5450 00000000 00000000 00000000 00000000 ................ + 5460 00000000 00000000 00000000 00000000 ................ + 5470 00000000 00000000 00000000 00000000 ................ + 5480 00000000 00000000 00000000 00000000 ................ + 5490 00000000 00000000 00000000 00000000 ................ + 54a0 00000000 00000000 00000000 00000000 ................ + 54b0 00000000 00000000 00000000 00000000 ................ + 54c0 00000000 00000000 00000000 00000000 ................ + 54d0 00000000 00000000 00000000 00000000 ................ + 54e0 00000000 00000000 00000000 00000000 ................ + 54f0 00000000 00000000 00000000 00000000 ................ + 5500 00000000 00000000 00000000 00000000 ................ + 5510 00000000 00000000 00000000 00000000 ................ + 5520 00000000 00000000 00000000 00000000 ................ + 5530 00000000 00000000 00000000 00000000 ................ + 5540 00000000 00000000 00000000 00000000 ................ + 5550 00000000 00000000 00000000 00000000 ................ + 5560 00000000 00000000 00000000 00000000 ................ + 5570 00000000 00000000 00000000 00000000 ................ + 5580 00000000 00000000 00000000 00000000 ................ + 5590 00000000 00000000 00000000 00000000 ................ + 55a0 00000000 00000000 00000000 00000000 ................ + 55b0 00000000 00000000 00000000 00000000 ................ + 55c0 00000000 00000000 00000000 00000000 ................ + 55d0 00000000 00000000 00000000 00000000 ................ + 55e0 00000000 00000000 00000000 00000000 ................ + 55f0 00000000 00000000 00000000 00000000 ................ + 5600 00000000 00000000 00000000 00000000 ................ + 5610 00000000 00000000 00000000 00000000 ................ + 5620 00000000 00000000 00000000 00000000 ................ + 5630 00000000 00000000 00000000 00000000 ................ + 5640 00000000 00000000 00000000 00000000 ................ + 5650 00000000 00000000 00000000 00000000 ................ + 5660 00000000 00000000 00000000 00000000 ................ + 5670 00000000 00000000 00000000 00000000 ................ + 5680 00000000 00000000 00000000 00000000 ................ + 5690 00000000 00000000 00000000 00000000 ................ + 56a0 00000000 00000000 00000000 00000000 ................ + 56b0 00000000 00000000 00000000 00000000 ................ + 56c0 00000000 00000000 00000000 00000000 ................ + 56d0 00000000 00000000 00000000 00000000 ................ + 56e0 00000000 00000000 00000000 00000000 ................ + 56f0 00000000 00000000 00000000 00000000 ................ + 5700 00000000 00000000 00000000 00000000 ................ + 5710 00000000 00000000 00000000 00000000 ................ + 5720 00000000 00000000 00000000 00000000 ................ + 5730 00000000 00000000 00000000 00000000 ................ + 5740 00000000 00000000 00000000 00000000 ................ + 5750 00000000 00000000 00000000 00000000 ................ + 5760 00000000 00000000 00000000 00000000 ................ + 5770 00000000 00000000 00000000 00000000 ................ + 5780 00000000 00000000 00000000 00000000 ................ + 5790 00000000 00000000 00000000 00000000 ................ + 57a0 00000000 00000000 00000000 00000000 ................ + 57b0 00000000 00000000 00000000 00000000 ................ + 57c0 00000000 00000000 00000000 00000000 ................ + 57d0 00000000 00000000 00000000 00000000 ................ + 57e0 00000000 00000000 00000000 00000000 ................ + 57f0 00000000 00000000 00000000 00000000 ................ + 5800 00000000 00000000 00000000 00000000 ................ + 5810 00000000 00000000 00000000 00000000 ................ + 5820 00000000 00000000 00000000 00000000 ................ + 5830 00000000 00000000 00000000 00000000 ................ + 5840 00000000 00000000 00000000 00000000 ................ + 5850 00000000 00000000 00000000 00000000 ................ + 5860 00000000 00000000 00000000 00000000 ................ + 5870 00000000 00000000 00000000 00000000 ................ + 5880 00000000 00000000 00000000 00000000 ................ + 5890 00000000 00000000 00000000 00000000 ................ + 58a0 00000000 00000000 00000000 00000000 ................ + 58b0 00000000 00000000 00000000 00000000 ................ + 58c0 00000000 00000000 00000000 00000000 ................ + 58d0 00000000 00000000 00000000 00000000 ................ + 58e0 00000000 00000000 00000000 00000000 ................ + 58f0 00000000 00000000 00000000 00000000 ................ + 5900 00000000 00000000 00000000 00000000 ................ + 5910 00000000 00000000 00000000 00000000 ................ + 5920 00000000 00000000 00000000 00000000 ................ + 5930 00000000 00000000 00000000 00000000 ................ + 5940 00000000 00000000 00000000 00000000 ................ + 5950 00000000 00000000 00000000 00000000 ................ + 5960 00000000 00000000 00000000 00000000 ................ + 5970 00000000 00000000 00000000 00000000 ................ + 5980 00000000 00000000 00000000 00000000 ................ + 5990 00000000 00000000 00000000 00000000 ................ + 59a0 00000000 00000000 00000000 00000000 ................ + 59b0 00000000 00000000 00000000 00000000 ................ + 59c0 00000000 00000000 00000000 00000000 ................ + 59d0 00000000 00000000 00000000 00000000 ................ + 59e0 00000000 00000000 00000000 00000000 ................ + 59f0 00000000 00000000 00000000 00000000 ................ + 5a00 00000000 00000000 00000000 00000000 ................ + 5a10 00000000 00000000 00000000 00000000 ................ + 5a20 00000000 00000000 00000000 00000000 ................ + 5a30 00000000 00000000 00000000 00000000 ................ + 5a40 00000000 00000000 00000000 00000000 ................ + 5a50 00000000 00000000 00000000 00000000 ................ + 5a60 00000000 00000000 00000000 00000000 ................ + 5a70 00000000 00000000 00000000 00000000 ................ + 5a80 00000000 00000000 00000000 00000000 ................ + 5a90 00000000 00000000 00000000 00000000 ................ + 5aa0 00000000 00000000 00000000 00000000 ................ + 5ab0 00000000 00000000 00000000 00000000 ................ + 5ac0 00000000 00000000 00000000 00000000 ................ + 5ad0 00000000 00000000 00000000 00000000 ................ + 5ae0 00000000 00000000 00000000 00000000 ................ + 5af0 00000000 00000000 00000000 00000000 ................ + 5b00 00000000 00000000 00000000 00000000 ................ + 5b10 00000000 00000000 00000000 00000000 ................ + 5b20 00000000 00000000 00000000 00000000 ................ + 5b30 00000000 00000000 00000000 00000000 ................ + 5b40 00000000 00000000 00000000 00000000 ................ + 5b50 00000000 00000000 00000000 00000000 ................ + 5b60 00000000 00000000 00000000 00000000 ................ + 5b70 00000000 00000000 00000000 00000000 ................ + 5b80 00000000 00000000 00000000 00000000 ................ + 5b90 00000000 00000000 00000000 00000000 ................ + 5ba0 00000000 00000000 00000000 00000000 ................ + 5bb0 00000000 00000000 00000000 00000000 ................ + 5bc0 00000000 00000000 00000000 00000000 ................ + 5bd0 00000000 00000000 00000000 00000000 ................ + 5be0 00000000 00000000 00000000 00000000 ................ + 5bf0 00000000 00000000 00000000 00000000 ................ + 5c00 00000000 00000000 00000000 00000000 ................ + 5c10 00000000 00000000 00000000 00000000 ................ + 5c20 00000000 00000000 00000000 00000000 ................ + 5c30 00000000 00000000 00000000 00000000 ................ + 5c40 00000000 00000000 00000000 00000000 ................ + 5c50 00000000 00000000 00000000 00000000 ................ + 5c60 00000000 00000000 00000000 00000000 ................ + 5c70 00000000 00000000 00000000 00000000 ................ + 5c80 00000000 00000000 00000000 00000000 ................ + 5c90 00000000 00000000 00000000 00000000 ................ + 5ca0 00000000 00000000 00000000 00000000 ................ + 5cb0 00000000 00000000 00000000 00000000 ................ + 5cc0 00000000 00000000 00000000 00000000 ................ + 5cd0 00000000 00000000 00000000 00000000 ................ + 5ce0 00000000 00000000 00000000 00000000 ................ + 5cf0 00000000 00000000 00000000 00000000 ................ + 5d00 00000000 00000000 00000000 00000000 ................ + 5d10 00000000 00000000 00000000 00000000 ................ + 5d20 00000000 00000000 00000000 00000000 ................ + 5d30 00000000 00000000 00000000 00000000 ................ + 5d40 00000000 00000000 00000000 00000000 ................ + 5d50 00000000 00000000 00000000 00000000 ................ + 5d60 00000000 00000000 00000000 00000000 ................ + 5d70 00000000 00000000 00000000 00000000 ................ + 5d80 00000000 00000000 00000000 00000000 ................ + 5d90 00000000 00000000 00000000 00000000 ................ + 5da0 00000000 00000000 00000000 00000000 ................ + 5db0 00000000 00000000 00000000 00000000 ................ + 5dc0 00000000 00000000 00000000 00000000 ................ + 5dd0 00000000 00000000 00000000 00000000 ................ + 5de0 00000000 00000000 00000000 00000000 ................ + 5df0 00000000 00000000 00000000 00000000 ................ + 5e00 00000000 00000000 00000000 00000000 ................ + 5e10 00000000 00000000 00000000 00000000 ................ + 5e20 00000000 00000000 00000000 00000000 ................ + 5e30 00000000 00000000 00000000 00000000 ................ + 5e40 00000000 00000000 00000000 00000000 ................ + 5e50 00000000 00000000 00000000 00000000 ................ + 5e60 00000000 00000000 00000000 00000000 ................ + 5e70 00000000 00000000 00000000 00000000 ................ + 5e80 00000000 00000000 00000000 00000000 ................ + 5e90 00000000 00000000 00000000 00000000 ................ + 5ea0 00000000 00000000 00000000 00000000 ................ + 5eb0 00000000 00000000 00000000 00000000 ................ + 5ec0 00000000 00000000 00000000 00000000 ................ + 5ed0 00000000 00000000 00000000 00000000 ................ + 5ee0 00000000 00000000 00000000 00000000 ................ + 5ef0 00000000 00000000 00000000 00000000 ................ + 5f00 00000000 00000000 00000000 00000000 ................ + 5f10 00000000 00000000 00000000 00000000 ................ + 5f20 00000000 00000000 00000000 00000000 ................ + 5f30 00000000 00000000 00000000 00000000 ................ + 5f40 00000000 00000000 00000000 00000000 ................ + 5f50 00000000 00000000 00000000 00000000 ................ + 5f60 00000000 00000000 00000000 00000000 ................ + 5f70 00000000 00000000 00000000 00000000 ................ + 5f80 00000000 00000000 00000000 00000000 ................ + 5f90 00000000 00000000 00000000 00000000 ................ + 5fa0 00000000 00000000 00000000 00000000 ................ + 5fb0 00000000 00000000 00000000 00000000 ................ + 5fc0 00000000 00000000 00000000 00000000 ................ + 5fd0 00000000 00000000 00000000 00000000 ................ + 5fe0 00000000 00000000 00000000 00000000 ................ + 5ff0 00000000 00000000 00000000 00000000 ................ + 6000 00000000 00000000 00000000 00000000 ................ + 6010 00000000 00000000 00000000 00000000 ................ + 6020 00000000 00000000 00000000 00000000 ................ + 6030 00000000 00000000 00000000 00000000 ................ + 6040 00000000 00000000 00000000 00000000 ................ + 6050 00000000 00000000 00000000 00000000 ................ + 6060 00000000 00000000 00000000 00000000 ................ + 6070 00000000 00000000 00000000 00000000 ................ + 6080 00000000 00000000 00000000 00000000 ................ + 6090 00000000 00000000 00000000 00000000 ................ + 60a0 00000000 00000000 00000000 00000000 ................ + 60b0 00000000 00000000 00000000 00000000 ................ + 60c0 00000000 00000000 00000000 00000000 ................ + 60d0 00000000 00000000 00000000 00000000 ................ + 60e0 00000000 00000000 00000000 00000000 ................ + 60f0 00000000 00000000 00000000 00000000 ................ + 6100 00000000 00000000 00000000 00000000 ................ + 6110 00000000 00000000 00000000 00000000 ................ + 6120 00000000 00000000 00000000 00000000 ................ + 6130 00000000 00000000 00000000 00000000 ................ + 6140 00000000 00000000 00000000 00000000 ................ + 6150 00000000 00000000 00000000 00000000 ................ + 6160 00000000 00000000 00000000 00000000 ................ + 6170 00000000 00000000 00000000 00000000 ................ + 6180 00000000 00000000 00000000 00000000 ................ + 6190 00000000 00000000 00000000 00000000 ................ + 61a0 00000000 00000000 00000000 00000000 ................ + 61b0 00000000 00000000 00000000 00000000 ................ + 61c0 00000000 00000000 00000000 00000000 ................ + 61d0 00000000 00000000 00000000 00000000 ................ + 61e0 00000000 00000000 00000000 00000000 ................ + 61f0 00000000 00000000 00000000 00000000 ................ + 6200 00000000 00000000 00000000 00000000 ................ + 6210 00000000 00000000 00000000 00000000 ................ + 6220 00000000 00000000 00000000 00000000 ................ + 6230 00000000 00000000 00000000 00000000 ................ + 6240 00000000 00000000 00000000 00000000 ................ + 6250 00000000 00000000 00000000 00000000 ................ + 6260 00000000 00000000 00000000 00000000 ................ + 6270 00000000 00000000 00000000 00000000 ................ + 6280 00000000 00000000 00000000 00000000 ................ + 6290 00000000 00000000 00000000 00000000 ................ + 62a0 00000000 00000000 00000000 00000000 ................ + 62b0 00000000 00000000 00000000 00000000 ................ + 62c0 00000000 00000000 00000000 00000000 ................ + 62d0 00000000 00000000 00000000 00000000 ................ + 62e0 00000000 00000000 00000000 00000000 ................ + 62f0 00000000 00000000 00000000 00000000 ................ + 6300 00000000 00000000 00000000 00000000 ................ + 6310 00000000 00000000 00000000 00000000 ................ + 6320 00000000 00000000 00000000 00000000 ................ + 6330 00000000 00000000 00000000 00000000 ................ + 6340 00000000 00000000 00000000 00000000 ................ + 6350 00000000 00000000 00000000 00000000 ................ + 6360 00000000 00000000 00000000 00000000 ................ + 6370 00000000 00000000 00000000 00000000 ................ + 6380 00000000 00000000 00000000 00000000 ................ + 6390 00000000 00000000 00000000 00000000 ................ + 63a0 00000000 00000000 00000000 00000000 ................ + 63b0 00000000 00000000 00000000 00000000 ................ + 63c0 00000000 00000000 00000000 00000000 ................ + 63d0 00000000 00000000 00000000 00000000 ................ + 63e0 00000000 00000000 00000000 00000000 ................ + 63f0 00000000 00000000 00000000 00000000 ................ + 6400 00000000 00000000 00000000 00000000 ................ + 6410 00000000 00000000 00000000 00000000 ................ + 6420 00000000 00000000 00000000 00000000 ................ + 6430 00000000 00000000 00000000 00000000 ................ + 6440 00000000 00000000 00000000 00000000 ................ + 6450 00000000 00000000 00000000 00000000 ................ + 6460 00000000 00000000 00000000 00000000 ................ + 6470 00000000 00000000 00000000 00000000 ................ + 6480 00000000 00000000 00000000 00000000 ................ + 6490 00000000 00000000 00000000 00000000 ................ + 64a0 00000000 00000000 00000000 00000000 ................ + 64b0 00000000 00000000 00000000 00000000 ................ + 64c0 00000000 00000000 00000000 00000000 ................ + 64d0 00000000 00000000 00000000 00000000 ................ + 64e0 00000000 00000000 00000000 00000000 ................ + 64f0 00000000 00000000 00000000 00000000 ................ + 6500 00000000 00000000 00000000 00000000 ................ + 6510 00000000 00000000 00000000 00000000 ................ + 6520 00000000 00000000 00000000 00000000 ................ + 6530 00000000 00000000 00000000 00000000 ................ + 6540 00000000 00000000 00000000 00000000 ................ + 6550 00000000 00000000 00000000 00000000 ................ + 6560 00000000 00000000 00000000 00000000 ................ + 6570 00000000 00000000 00000000 00000000 ................ + 6580 00000000 00000000 00000000 00000000 ................ + 6590 00000000 00000000 00000000 00000000 ................ + 65a0 00000000 00000000 00000000 00000000 ................ + 65b0 00000000 00000000 00000000 00000000 ................ + 65c0 00000000 00000000 00000000 00000000 ................ + 65d0 00000000 00000000 00000000 00000000 ................ + 65e0 00000000 00000000 00000000 00000000 ................ + 65f0 00000000 00000000 00000000 00000000 ................ + 6600 00000000 00000000 00000000 00000000 ................ + 6610 00000000 00000000 00000000 00000000 ................ + 6620 00000000 00000000 00000000 00000000 ................ + 6630 00000000 00000000 00000000 00000000 ................ + 6640 00000000 00000000 00000000 00000000 ................ + 6650 00000000 00000000 00000000 00000000 ................ + 6660 00000000 00000000 00000000 00000000 ................ + 6670 00000000 00000000 00000000 00000000 ................ + 6680 00000000 00000000 00000000 00000000 ................ + 6690 00000000 00000000 00000000 00000000 ................ + 66a0 00000000 00000000 00000000 00000000 ................ + 66b0 00000000 00000000 00000000 00000000 ................ + 66c0 00000000 00000000 00000000 00000000 ................ + 66d0 00000000 00000000 00000000 00000000 ................ + 66e0 00000000 00000000 00000000 00000000 ................ + 66f0 00000000 00000000 00000000 00000000 ................ + 6700 00000000 00000000 00000000 00000000 ................ + 6710 00000000 00000000 00000000 00000000 ................ + 6720 00000000 00000000 00000000 00000000 ................ + 6730 00000000 00000000 00000000 00000000 ................ + 6740 00000000 00000000 00000000 00000000 ................ + 6750 00000000 00000000 00000000 00000000 ................ + 6760 00000000 00000000 00000000 00000000 ................ + 6770 00000000 00000000 00000000 00000000 ................ + 6780 00000000 00000000 00000000 00000000 ................ + 6790 00000000 00000000 00000000 00000000 ................ + 67a0 00000000 00000000 00000000 00000000 ................ + 67b0 00000000 00000000 00000000 00000000 ................ + 67c0 00000000 00000000 00000000 00000000 ................ + 67d0 00000000 00000000 00000000 00000000 ................ + 67e0 00000000 00000000 00000000 00000000 ................ + 67f0 00000000 00000000 00000000 00000000 ................ + 6800 00000000 00000000 00000000 00000000 ................ + 6810 00000000 00000000 00000000 00000000 ................ + 6820 00000000 00000000 00000000 00000000 ................ + 6830 00000000 00000000 00000000 00000000 ................ + 6840 00000000 00000000 00000000 00000000 ................ + 6850 00000000 00000000 00000000 00000000 ................ + 6860 00000000 00000000 00000000 00000000 ................ + 6870 00000000 00000000 00000000 00000000 ................ + 6880 00000000 00000000 00000000 00000000 ................ + 6890 00000000 00000000 00000000 00000000 ................ + 68a0 00000000 00000000 00000000 00000000 ................ + 68b0 00000000 00000000 00000000 00000000 ................ + 68c0 00000000 00000000 00000000 00000000 ................ + 68d0 00000000 00000000 00000000 00000000 ................ + 68e0 00000000 00000000 00000000 00000000 ................ + 68f0 00000000 00000000 00000000 00000000 ................ + 6900 00000000 00000000 00000000 00000000 ................ + 6910 00000000 00000000 00000000 00000000 ................ + 6920 00000000 00000000 00000000 00000000 ................ + 6930 00000000 00000000 00000000 00000000 ................ + 6940 00000000 00000000 00000000 00000000 ................ + 6950 00000000 00000000 00000000 00000000 ................ + 6960 00000000 00000000 00000000 00000000 ................ + 6970 00000000 00000000 00000000 00000000 ................ + 6980 00000000 00000000 00000000 00000000 ................ + 6990 00000000 00000000 00000000 00000000 ................ + 69a0 00000000 00000000 00000000 00000000 ................ + 69b0 00000000 00000000 00000000 00000000 ................ + 69c0 00000000 00000000 00000000 00000000 ................ + 69d0 00000000 00000000 00000000 00000000 ................ + 69e0 00000000 00000000 00000000 00000000 ................ + 69f0 00000000 00000000 00000000 00000000 ................ + 6a00 00000000 00000000 00000000 00000000 ................ + 6a10 00000000 00000000 00000000 00000000 ................ + 6a20 00000000 00000000 00000000 00000000 ................ + 6a30 00000000 00000000 00000000 00000000 ................ + 6a40 00000000 00000000 00000000 00000000 ................ + 6a50 00000000 00000000 00000000 00000000 ................ + 6a60 00000000 00000000 00000000 00000000 ................ + 6a70 00000000 00000000 00000000 00000000 ................ + 6a80 00000000 00000000 00000000 00000000 ................ + 6a90 00000000 00000000 00000000 00000000 ................ + 6aa0 00000000 00000000 00000000 00000000 ................ + 6ab0 00000000 00000000 00000000 00000000 ................ + 6ac0 00000000 00000000 00000000 00000000 ................ + 6ad0 00000000 00000000 00000000 00000000 ................ + 6ae0 00000000 00000000 00000000 00000000 ................ + 6af0 00000000 00000000 00000000 00000000 ................ + 6b00 00000000 00000000 00000000 00000000 ................ + 6b10 00000000 00000000 00000000 00000000 ................ + 6b20 00000000 00000000 00000000 00000000 ................ + 6b30 00000000 00000000 00000000 00000000 ................ + 6b40 00000000 00000000 00000000 00000000 ................ + 6b50 00000000 00000000 00000000 00000000 ................ + 6b60 00000000 00000000 00000000 00000000 ................ + 6b70 00000000 00000000 00000000 00000000 ................ + 6b80 00000000 00000000 00000000 00000000 ................ + 6b90 00000000 00000000 00000000 00000000 ................ + 6ba0 00000000 00000000 00000000 00000000 ................ + 6bb0 00000000 00000000 00000000 00000000 ................ + 6bc0 00000000 00000000 00000000 00000000 ................ + 6bd0 00000000 00000000 00000000 00000000 ................ + 6be0 00000000 00000000 00000000 00000000 ................ + 6bf0 00000000 00000000 00000000 00000000 ................ + 6c00 00000000 00000000 00000000 00000000 ................ + 6c10 00000000 00000000 00000000 00000000 ................ + 6c20 00000000 00000000 00000000 00000000 ................ + 6c30 00000000 00000000 00000000 00000000 ................ + 6c40 00000000 00000000 00000000 00000000 ................ + 6c50 00000000 00000000 00000000 00000000 ................ + 6c60 00000000 00000000 00000000 00000000 ................ + 6c70 00000000 00000000 00000000 00000000 ................ + 6c80 00000000 00000000 00000000 00000000 ................ + 6c90 00000000 00000000 00000000 00000000 ................ + 6ca0 00000000 00000000 00000000 00000000 ................ + 6cb0 00000000 00000000 00000000 00000000 ................ + 6cc0 00000000 00000000 00000000 00000000 ................ + 6cd0 00000000 00000000 00000000 00000000 ................ + 6ce0 00000000 00000000 00000000 00000000 ................ + 6cf0 00000000 00000000 00000000 00000000 ................ + 6d00 00000000 00000000 00000000 00000000 ................ + 6d10 00000000 00000000 00000000 00000000 ................ + 6d20 00000000 00000000 00000000 00000000 ................ + 6d30 00000000 00000000 00000000 00000000 ................ + 6d40 00000000 00000000 00000000 00000000 ................ + 6d50 00000000 00000000 00000000 00000000 ................ + 6d60 00000000 00000000 00000000 00000000 ................ + 6d70 00000000 00000000 00000000 00000000 ................ + 6d80 00000000 00000000 00000000 00000000 ................ + 6d90 00000000 00000000 00000000 00000000 ................ + 6da0 00000000 00000000 00000000 00000000 ................ + 6db0 00000000 00000000 00000000 00000000 ................ + 6dc0 00000000 00000000 00000000 00000000 ................ + 6dd0 00000000 00000000 00000000 00000000 ................ + 6de0 00000000 00000000 00000000 00000000 ................ + 6df0 00000000 00000000 00000000 00000000 ................ + 6e00 00000000 00000000 00000000 00000000 ................ + 6e10 00000000 00000000 00000000 00000000 ................ + 6e20 00000000 00000000 00000000 00000000 ................ + 6e30 00000000 00000000 00000000 00000000 ................ + 6e40 00000000 00000000 00000000 00000000 ................ + 6e50 00000000 00000000 00000000 00000000 ................ + 6e60 00000000 00000000 00000000 00000000 ................ + 6e70 00000000 00000000 00000000 00000000 ................ + 6e80 00000000 00000000 00000000 00000000 ................ + 6e90 00000000 00000000 00000000 00000000 ................ + 6ea0 00000000 00000000 00000000 00000000 ................ + 6eb0 00000000 00000000 00000000 00000000 ................ + 6ec0 00000000 00000000 00000000 00000000 ................ + 6ed0 00000000 00000000 00000000 00000000 ................ + 6ee0 00000000 00000000 00000000 00000000 ................ + 6ef0 00000000 00000000 00000000 00000000 ................ + 6f00 00000000 00000000 00000000 00000000 ................ + 6f10 00000000 00000000 00000000 00000000 ................ + 6f20 00000000 00000000 00000000 00000000 ................ + 6f30 00000000 00000000 00000000 00000000 ................ + 6f40 00000000 00000000 00000000 00000000 ................ + 6f50 00000000 00000000 00000000 00000000 ................ + 6f60 00000000 00000000 00000000 00000000 ................ + 6f70 00000000 00000000 00000000 00000000 ................ + 6f80 00000000 00000000 00000000 00000000 ................ + 6f90 00000000 00000000 00000000 00000000 ................ + 6fa0 00000000 00000000 00000000 00000000 ................ + 6fb0 00000000 00000000 00000000 00000000 ................ + 6fc0 00000000 00000000 00000000 00000000 ................ + 6fd0 00000000 00000000 00000000 00000000 ................ + 6fe0 00000000 00000000 00000000 00000000 ................ + 6ff0 00000000 00000000 00000000 00000000 ................ + 7000 00000000 00000000 00000000 00000000 ................ + 7010 00000000 00000000 00000000 00000000 ................ + 7020 00000000 00000000 00000000 00000000 ................ + 7030 00000000 00000000 00000000 00000000 ................ + 7040 00000000 00000000 00000000 00000000 ................ + 7050 00000000 00000000 00000000 00000000 ................ + 7060 00000000 00000000 00000000 00000000 ................ + 7070 00000000 00000000 00000000 00000000 ................ + 7080 00000000 00000000 00000000 00000000 ................ + 7090 00000000 00000000 00000000 00000000 ................ + 70a0 00000000 00000000 00000000 00000000 ................ + 70b0 00000000 00000000 00000000 00000000 ................ + 70c0 00000000 00000000 00000000 00000000 ................ + 70d0 00000000 00000000 00000000 00000000 ................ + 70e0 00000000 00000000 00000000 00000000 ................ + 70f0 00000000 00000000 00000000 00000000 ................ + 7100 00000000 00000000 00000000 00000000 ................ + 7110 00000000 00000000 00000000 00000000 ................ + 7120 00000000 00000000 00000000 00000000 ................ + 7130 00000000 00000000 00000000 00000000 ................ + 7140 00000000 00000000 00000000 00000000 ................ + 7150 00000000 00000000 00000000 00000000 ................ + 7160 00000000 00000000 00000000 00000000 ................ + 7170 00000000 00000000 00000000 00000000 ................ + 7180 00000000 00000000 00000000 00000000 ................ + 7190 00000000 00000000 00000000 00000000 ................ + 71a0 00000000 00000000 00000000 00000000 ................ + 71b0 00000000 00000000 00000000 00000000 ................ + 71c0 00000000 00000000 00000000 00000000 ................ + 71d0 00000000 00000000 00000000 00000000 ................ + 71e0 00000000 00000000 00000000 00000000 ................ + 71f0 00000000 00000000 00000000 00000000 ................ + 7200 00000000 00000000 00000000 00000000 ................ + 7210 00000000 00000000 00000000 00000000 ................ + 7220 00000000 00000000 00000000 00000000 ................ + 7230 00000000 00000000 00000000 00000000 ................ + 7240 00000000 00000000 00000000 00000000 ................ + 7250 00000000 00000000 00000000 00000000 ................ + 7260 00000000 00000000 00000000 00000000 ................ + 7270 00000000 00000000 00000000 00000000 ................ + 7280 00000000 00000000 00000000 00000000 ................ + 7290 00000000 00000000 00000000 00000000 ................ + 72a0 00000000 00000000 00000000 00000000 ................ + 72b0 00000000 00000000 00000000 00000000 ................ + 72c0 00000000 00000000 00000000 00000000 ................ + 72d0 00000000 00000000 00000000 00000000 ................ + 72e0 00000000 00000000 00000000 00000000 ................ + 72f0 00000000 00000000 00000000 00000000 ................ + 7300 00000000 00000000 00000000 00000000 ................ + 7310 00000000 00000000 00000000 00000000 ................ + 7320 00000000 00000000 00000000 00000000 ................ + 7330 00000000 00000000 00000000 00000000 ................ + 7340 00000000 00000000 00000000 00000000 ................ + 7350 00000000 00000000 00000000 00000000 ................ + 7360 00000000 00000000 00000000 00000000 ................ + 7370 00000000 00000000 00000000 00000000 ................ + 7380 00000000 00000000 00000000 00000000 ................ + 7390 00000000 00000000 00000000 00000000 ................ + 73a0 00000000 00000000 00000000 00000000 ................ + 73b0 00000000 00000000 00000000 00000000 ................ + 73c0 00000000 00000000 00000000 00000000 ................ + 73d0 00000000 00000000 00000000 00000000 ................ + 73e0 00000000 00000000 00000000 00000000 ................ + 73f0 00000000 00000000 00000000 00000000 ................ + 7400 00000000 00000000 00000000 00000000 ................ + 7410 00000000 00000000 00000000 00000000 ................ + 7420 00000000 00000000 00000000 00000000 ................ + 7430 00000000 00000000 00000000 00000000 ................ + 7440 00000000 00000000 00000000 00000000 ................ + 7450 00000000 00000000 00000000 00000000 ................ + 7460 00000000 00000000 00000000 00000000 ................ + 7470 00000000 00000000 00000000 00000000 ................ + 7480 00000000 00000000 00000000 00000000 ................ + 7490 00000000 00000000 00000000 00000000 ................ + 74a0 00000000 00000000 00000000 00000000 ................ + 74b0 00000000 00000000 00000000 00000000 ................ + 74c0 00000000 00000000 00000000 00000000 ................ + 74d0 00000000 00000000 00000000 00000000 ................ + 74e0 00000000 00000000 00000000 00000000 ................ + 74f0 00000000 00000000 00000000 00000000 ................ + 7500 00000000 00000000 00000000 00000000 ................ + 7510 00000000 00000000 00000000 00000000 ................ + 7520 00000000 00000000 00000000 00000000 ................ + 7530 00000000 00000000 00000000 00000000 ................ + 7540 00000000 00000000 00000000 00000000 ................ + 7550 00000000 00000000 00000000 00000000 ................ + 7560 00000000 00000000 00000000 00000000 ................ + 7570 00000000 00000000 00000000 00000000 ................ + 7580 00000000 00000000 00000000 00000000 ................ + 7590 00000000 00000000 00000000 00000000 ................ + 75a0 00000000 00000000 00000000 00000000 ................ + 75b0 00000000 00000000 00000000 00000000 ................ + 75c0 00000000 00000000 00000000 00000000 ................ + 75d0 00000000 00000000 00000000 00000000 ................ + 75e0 00000000 00000000 00000000 00000000 ................ + 75f0 00000000 00000000 00000000 00000000 ................ + 7600 00000000 00000000 00000000 00000000 ................ + 7610 00000000 00000000 00000000 00000000 ................ + 7620 00000000 00000000 00000000 00000000 ................ + 7630 00000000 00000000 00000000 00000000 ................ + 7640 00000000 00000000 00000000 00000000 ................ + 7650 00000000 00000000 00000000 00000000 ................ + 7660 00000000 00000000 00000000 00000000 ................ + 7670 00000000 00000000 00000000 00000000 ................ + 7680 00000000 00000000 00000000 00000000 ................ + 7690 00000000 00000000 00000000 00000000 ................ + 76a0 00000000 00000000 00000000 00000000 ................ + 76b0 00000000 00000000 00000000 00000000 ................ + 76c0 00000000 00000000 00000000 00000000 ................ + 76d0 00000000 00000000 00000000 00000000 ................ + 76e0 00000000 00000000 00000000 00000000 ................ + 76f0 00000000 00000000 00000000 00000000 ................ + 7700 00000000 00000000 00000000 00000000 ................ + 7710 00000000 00000000 00000000 00000000 ................ + 7720 00000000 00000000 00000000 00000000 ................ + 7730 00000000 00000000 00000000 00000000 ................ + 7740 00000000 00000000 00000000 00000000 ................ + 7750 00000000 00000000 00000000 00000000 ................ + 7760 00000000 00000000 00000000 00000000 ................ + 7770 00000000 00000000 00000000 00000000 ................ + 7780 00000000 00000000 00000000 00000000 ................ + 7790 00000000 00000000 00000000 00000000 ................ + 77a0 00000000 00000000 00000000 00000000 ................ + 77b0 00000000 00000000 00000000 00000000 ................ + 77c0 00000000 00000000 00000000 00000000 ................ + 77d0 00000000 00000000 00000000 00000000 ................ + 77e0 00000000 00000000 00000000 00000000 ................ + 77f0 00000000 00000000 00000000 00000000 ................ + 7800 00000000 00000000 00000000 00000000 ................ + 7810 00000000 00000000 00000000 00000000 ................ + 7820 00000000 00000000 00000000 00000000 ................ + 7830 00000000 00000000 00000000 00000000 ................ + 7840 00000000 00000000 00000000 00000000 ................ + 7850 00000000 00000000 00000000 00000000 ................ + 7860 00000000 00000000 00000000 00000000 ................ + 7870 00000000 00000000 00000000 00000000 ................ + 7880 00000000 00000000 00000000 00000000 ................ + 7890 00000000 00000000 00000000 00000000 ................ + 78a0 00000000 00000000 00000000 00000000 ................ + 78b0 00000000 00000000 00000000 00000000 ................ + 78c0 00000000 00000000 00000000 00000000 ................ + 78d0 00000000 00000000 00000000 00000000 ................ + 78e0 00000000 00000000 00000000 00000000 ................ + 78f0 00000000 00000000 00000000 00000000 ................ + 7900 00000000 00000000 00000000 00000000 ................ + 7910 00000000 00000000 00000000 00000000 ................ + 7920 00000000 00000000 00000000 00000000 ................ + 7930 00000000 00000000 00000000 00000000 ................ + 7940 00000000 00000000 00000000 00000000 ................ + 7950 00000000 00000000 00000000 00000000 ................ + 7960 00000000 00000000 00000000 00000000 ................ + 7970 00000000 00000000 00000000 00000000 ................ + 7980 00000000 00000000 00000000 00000000 ................ + 7990 00000000 00000000 00000000 00000000 ................ + 79a0 00000000 00000000 00000000 00000000 ................ + 79b0 00000000 00000000 00000000 00000000 ................ + 79c0 00000000 00000000 00000000 00000000 ................ + 79d0 00000000 00000000 00000000 00000000 ................ + 79e0 00000000 00000000 00000000 00000000 ................ + 79f0 00000000 00000000 00000000 00000000 ................ + 7a00 00000000 00000000 00000000 00000000 ................ + 7a10 00000000 00000000 00000000 00000000 ................ + 7a20 00000000 00000000 00000000 00000000 ................ + 7a30 00000000 00000000 00000000 00000000 ................ + 7a40 00000000 00000000 00000000 00000000 ................ + 7a50 00000000 00000000 00000000 00000000 ................ + 7a60 00000000 00000000 00000000 00000000 ................ + 7a70 00000000 00000000 00000000 00000000 ................ + 7a80 00000000 00000000 00000000 00000000 ................ + 7a90 00000000 00000000 00000000 00000000 ................ + 7aa0 00000000 00000000 00000000 00000000 ................ + 7ab0 00000000 00000000 00000000 00000000 ................ + 7ac0 00000000 00000000 00000000 00000000 ................ + 7ad0 00000000 00000000 00000000 00000000 ................ + 7ae0 00000000 00000000 00000000 00000000 ................ + 7af0 00000000 00000000 00000000 00000000 ................ + 7b00 00000000 00000000 00000000 00000000 ................ + 7b10 00000000 00000000 00000000 00000000 ................ + 7b20 00000000 00000000 00000000 00000000 ................ + 7b30 00000000 00000000 00000000 00000000 ................ + 7b40 00000000 00000000 00000000 00000000 ................ + 7b50 00000000 00000000 00000000 00000000 ................ + 7b60 00000000 00000000 00000000 00000000 ................ + 7b70 00000000 00000000 00000000 00000000 ................ + 7b80 00000000 00000000 00000000 00000000 ................ + 7b90 00000000 00000000 00000000 00000000 ................ + 7ba0 00000000 00000000 00000000 00000000 ................ + 7bb0 00000000 00000000 00000000 00000000 ................ + 7bc0 00000000 00000000 00000000 00000000 ................ + 7bd0 00000000 00000000 00000000 00000000 ................ + 7be0 00000000 00000000 00000000 00000000 ................ + 7bf0 00000000 00000000 00000000 00000000 ................ + 7c00 00000000 00000000 00000000 00000000 ................ + 7c10 00000000 00000000 00000000 00000000 ................ + 7c20 00000000 00000000 00000000 00000000 ................ + 7c30 00000000 00000000 00000000 00000000 ................ + 7c40 00000000 00000000 00000000 00000000 ................ + 7c50 00000000 00000000 00000000 00000000 ................ + 7c60 00000000 00000000 00000000 00000000 ................ + 7c70 00000000 00000000 00000000 00000000 ................ + 7c80 00000000 00000000 00000000 00000000 ................ + 7c90 00000000 00000000 00000000 00000000 ................ + 7ca0 00000000 00000000 00000000 00000000 ................ + 7cb0 00000000 00000000 00000000 00000000 ................ + 7cc0 00000000 00000000 00000000 00000000 ................ + 7cd0 00000000 00000000 00000000 00000000 ................ + 7ce0 00000000 00000000 00000000 00000000 ................ + 7cf0 00000000 00000000 00000000 00000000 ................ + 7d00 00000000 00000000 00000000 00000000 ................ + 7d10 00000000 00000000 00000000 00000000 ................ + 7d20 00000000 00000000 00000000 00000000 ................ + 7d30 00000000 00000000 00000000 00000000 ................ + 7d40 00000000 00000000 00000000 00000000 ................ + 7d50 00000000 00000000 00000000 00000000 ................ + 7d60 00000000 00000000 00000000 00000000 ................ + 7d70 00000000 00000000 00000000 00000000 ................ + 7d80 00000000 00000000 00000000 00000000 ................ + 7d90 00000000 00000000 00000000 00000000 ................ + 7da0 00000000 00000000 00000000 00000000 ................ + 7db0 00000000 00000000 00000000 00000000 ................ + 7dc0 00000000 00000000 00000000 00000000 ................ + 7dd0 00000000 00000000 00000000 00000000 ................ + 7de0 00000000 00000000 00000000 00000000 ................ + 7df0 00000000 00000000 00000000 00000000 ................ + 7e00 00000000 00000000 00000000 00000000 ................ + 7e10 00000000 00000000 00000000 00000000 ................ + 7e20 00000000 00000000 00000000 00000000 ................ + 7e30 00000000 00000000 00000000 00000000 ................ + 7e40 00000000 00000000 00000000 00000000 ................ + 7e50 00000000 00000000 00000000 00000000 ................ + 7e60 00000000 00000000 00000000 00000000 ................ + 7e70 00000000 00000000 00000000 00000000 ................ + 7e80 00000000 00000000 00000000 00000000 ................ + 7e90 00000000 00000000 00000000 00000000 ................ + 7ea0 00000000 00000000 00000000 00000000 ................ + 7eb0 00000000 00000000 00000000 00000000 ................ + 7ec0 00000000 00000000 00000000 00000000 ................ + 7ed0 00000000 00000000 00000000 00000000 ................ + 7ee0 00000000 00000000 00000000 00000000 ................ + 7ef0 00000000 00000000 00000000 00000000 ................ + 7f00 00000000 00000000 00000000 00000000 ................ + 7f10 00000000 00000000 00000000 00000000 ................ + 7f20 00000000 00000000 00000000 00000000 ................ + 7f30 00000000 00000000 00000000 00000000 ................ + 7f40 00000000 00000000 00000000 00000000 ................ + 7f50 00000000 00000000 00000000 00000000 ................ + 7f60 00000000 00000000 00000000 00000000 ................ + 7f70 00000000 00000000 00000000 00000000 ................ + 7f80 00000000 00000000 00000000 00000000 ................ + 7f90 00000000 00000000 00000000 00000000 ................ + 7fa0 00000000 00000000 00000000 00000000 ................ + 7fb0 00000000 00000000 00000000 00000000 ................ + 7fc0 00000000 00000000 00000000 00000000 ................ + 7fd0 00000000 00000000 00000000 00000000 ................ + 7fe0 00000000 00000000 00000000 00000000 ................ + 7ff0 00000000 00000000 00000000 00000000 ................ diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/elfel-rel2.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/elfel-rel2.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/elfel-rel2.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/elfel-rel2.d Fri May 25 12:07:03 2001 @@ -0,0 +1,27 @@ +#objdump: -sr -j .text +#name: MIPS ELF reloc 2 +#source: elf-rel2.s + +# Test the GPREL and LITERAL generation. +# FIXME: really this should check that the contents of .sdata, .lit4, +# and .lit8 are correct too. + +.*: file format elf.*mips + +RELOCATION RECORDS FOR \[\.text\]: +OFFSET TYPE VALUE +0+0000000 R_MIPS_LITERAL \.lit8\+0x0+0004000 +0+0000004 R_MIPS_LITERAL \.lit8\+0x0+0004000 +0+0000008 R_MIPS_LITERAL \.lit8\+0x0+0004000 +0+000000c R_MIPS_LITERAL \.lit4\+0x0+0004000 +0+0000010 R_MIPS_LITERAL \.lit4\+0x0+0004000 +0+0000014 R_MIPS_LITERAL \.lit4\+0x0+0004000 +0+0000018 R_MIPS_GPREL16 \.sdata\+0x0+0004000 +0+000001c R_MIPS_GPREL16 \.sdata\+0x0+0004000 +0+0000020 R_MIPS_GPREL16 \.sdata\+0x0+0004000 + + +Contents of section \.text: + 0000 00c082d7 08c082d7 10c082d7 00c082c7 .* + 0010 04c082c7 08c082c7 00c0828f 04c0828f .* + 0020 08c0828f 00000000 00000000 00000000 .* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/elfel-rel3.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/elfel-rel3.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/elfel-rel3.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/elfel-rel3.d Sat Jun 9 00:13:01 2001 @@ -0,0 +1,14 @@ +#objdump: -sr -j .data +#name: MIPS ELF reloc 3 +#source: elf-rel3.s + +.*: file format elf.*mips + +RELOCATION RECORDS FOR \[\.data\]: +OFFSET TYPE VALUE +0+0000004 R_MIPS_32 b +0+0000008 R_MIPS_32 .data + + +Contents of section .data: + 0000 12121212 04000000 00000000 00000000 ................ diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/empic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/empic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/empic.d Mon Dec 4 16:33:56 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/empic.d Sat Jun 9 00:13:01 2001 @@ -12,7 +12,7 @@ SYMBOL TABLE: 0+0000000 l d \.bss 0+0000000 0+0000000 l d \.foo 0+0000000 0+0000000 l d \.reginfo 0+0000000 -0+0000000 l d \.mdebug 0+0000000 +0+0000000 l d \.(mdebug|pdr) 0+0000000 0+0000004 l \.text 0+0000000 l2 0+0000000 \*UND\* 0+0000000 g1 0+0000000 \*UND\* 0+0000000 g2 @@ -129,7 +129,7 @@ Contents of section \.data: Contents of section \.reginfo: 0000 80000008 00000000 00000000 00000000 .* 0010 00000000 00000000 .* -Contents of section \.mdebug: +Contents of section \.(mdebug|pdr): #... Contents of section \.foo: 0000 00000000 3c030000 [26]4630004 3c030000 .* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/illegal.l binutils-2.11.90.0.15/gas/testsuite/gas/mips/illegal.l --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/illegal.l Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/illegal.l Sat Jun 9 00:13:01 2001 @@ -0,0 +1,3 @@ +.*: Assembler messages: +.*:4: Error: illegal operands `move 1,2' +.*:5: Error: illegal operands `c.eq.s 1,2' diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/illegal.s binutils-2.11.90.0.15/gas/testsuite/gas/mips/illegal.s --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/illegal.s Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/illegal.s Sat Jun 9 00:13:01 2001 @@ -0,0 +1,5 @@ +# Source file used to test illegal operands. + +foo: + move 1,2 + c.eq.s 1,2 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/jal-empic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/jal-empic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/jal-empic.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/jal-empic.d Mon May 21 10:37:00 2001 @@ -8,9 +8,9 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> jalr \$t9 +0+0000 <[^>]*> jalr t9 0+0004 <[^>]*> nop -0+0008 <[^>]*> jalr \$a0,\$t9 +0+0008 <[^>]*> jalr a0,t9 0+000c <[^>]*> nop 0+0010 <[^>]*> bal 0+0000 [ ]*10: PCREL16 .text diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/jal-svr4pic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/jal-svr4pic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/jal-svr4pic.d Fri May 12 08:04:32 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/jal-svr4pic.d Mon May 21 10:37:00 2001 @@ -7,40 +7,40 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lui \$gp,0x0 +0+0000 <[^>]*> lui gp,0x0 [ ]*0: R_MIPS_HI16 _gp_disp -0+0004 <[^>]*> addiu \$gp,\$gp,0 +0+0004 <[^>]*> addiu gp,gp,0 [ ]*4: R_MIPS_LO16 _gp_disp -0+0008 <[^>]*> addu \$gp,\$gp,\$t9 -0+000c <[^>]*> sw \$gp,0\(\$sp\) -0+0010 <[^>]*> jalr \$t9 +0+0008 <[^>]*> addu gp,gp,t9 +0+000c <[^>]*> sw gp,0\(sp\) +0+0010 <[^>]*> jalr t9 0+0014 <[^>]*> nop -0+0018 <[^>]*> lw \$gp,0\(\$sp\) -0+001c <[^>]*> jalr \$a0,\$t9 +0+0018 <[^>]*> lw gp,0\(sp\) +0+001c <[^>]*> jalr a0,t9 0+0020 <[^>]*> nop -0+0024 <[^>]*> lw \$gp,0\(\$sp\) +0+0024 <[^>]*> lw gp,0\(sp\) 0+0028 <[^>]*> nop -0+002c <[^>]*> lw \$t9,0\(\$gp\) +0+002c <[^>]*> lw t9,0\(gp\) [ ]*2c: R_MIPS_GOT16 .text 0+0030 <[^>]*> nop -0+0034 <[^>]*> addiu \$t9,\$t9,0 +0+0034 <[^>]*> addiu t9,t9,0 [ ]*34: R_MIPS_LO16 .text -0+0038 <[^>]*> jalr \$t9 +0+0038 <[^>]*> jalr t9 0+003c <[^>]*> nop -0+0040 <[^>]*> lw \$gp,0\(\$sp\) +0+0040 <[^>]*> lw gp,0\(sp\) 0+0044 <[^>]*> nop -0+0048 <[^>]*> lw \$t9,0\(\$gp\) +0+0048 <[^>]*> lw t9,0\(gp\) [ ]*48: R_MIPS_CALL16 weak_text_label 0+004c <[^>]*> nop -0+0050 <[^>]*> jalr \$t9 +0+0050 <[^>]*> jalr t9 0+0054 <[^>]*> nop -0+0058 <[^>]*> lw \$gp,0\(\$sp\) +0+0058 <[^>]*> lw gp,0\(sp\) 0+005c <[^>]*> nop -0+0060 <[^>]*> lw \$t9,0\(\$gp\) +0+0060 <[^>]*> lw t9,0\(gp\) [ ]*60: R_MIPS_CALL16 external_text_label 0+0064 <[^>]*> nop -0+0068 <[^>]*> jalr \$t9 +0+0068 <[^>]*> jalr t9 0+006c <[^>]*> nop -0+0070 <[^>]*> lw \$gp,0\(\$sp\) +0+0070 <[^>]*> lw gp,0\(sp\) 0+0074 <[^>]*> b 0+0000 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/jal-xgot.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/jal-xgot.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/jal-xgot.d Fri May 12 08:04:32 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/jal-xgot.d Mon May 21 10:37:00 2001 @@ -8,44 +8,44 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lui \$gp,0x0 +0+0000 <[^>]*> lui gp,0x0 [ ]*0: R_MIPS_HI16 _gp_disp -0+0004 <[^>]*> addiu \$gp,\$gp,0 +0+0004 <[^>]*> addiu gp,gp,0 [ ]*4: R_MIPS_LO16 _gp_disp -0+0008 <[^>]*> addu \$gp,\$gp,\$t9 -0+000c <[^>]*> sw \$gp,0\(\$sp\) -0+0010 <[^>]*> jalr \$t9 +0+0008 <[^>]*> addu gp,gp,t9 +0+000c <[^>]*> sw gp,0\(sp\) +0+0010 <[^>]*> jalr t9 0+0014 <[^>]*> nop -0+0018 <[^>]*> lw \$gp,0\(\$sp\) -0+001c <[^>]*> jalr \$a0,\$t9 +0+0018 <[^>]*> lw gp,0\(sp\) +0+001c <[^>]*> jalr a0,t9 0+0020 <[^>]*> nop -0+0024 <[^>]*> lw \$gp,0\(\$sp\) +0+0024 <[^>]*> lw gp,0\(sp\) 0+0028 <[^>]*> nop -0+002c <[^>]*> lw \$t9,0\(\$gp\) +0+002c <[^>]*> lw t9,0\(gp\) [ ]*2c: R_MIPS_GOT16 .text 0+0030 <[^>]*> nop -0+0034 <[^>]*> addiu \$t9,\$t9,0 +0+0034 <[^>]*> addiu t9,t9,0 [ ]*34: R_MIPS_LO16 .text -0+0038 <[^>]*> jalr \$t9 +0+0038 <[^>]*> jalr t9 0+003c <[^>]*> nop -0+0040 <[^>]*> lw \$gp,0\(\$sp\) -0+0044 <[^>]*> lui \$t9,0x0 +0+0040 <[^>]*> lw gp,0\(sp\) +0+0044 <[^>]*> lui t9,0x0 [ ]*44: R_MIPS_CALL_HI16 weak_text_label -0+0048 <[^>]*> addu \$t9,\$t9,\$gp -0+004c <[^>]*> lw \$t9,0\(\$t9\) +0+0048 <[^>]*> addu t9,t9,gp +0+004c <[^>]*> lw t9,0\(t9\) [ ]*4c: R_MIPS_CALL_LO16 weak_text_label 0+0050 <[^>]*> nop -0+0054 <[^>]*> jalr \$t9 +0+0054 <[^>]*> jalr t9 0+0058 <[^>]*> nop -0+005c <[^>]*> lw \$gp,0\(\$sp\) -0+0060 <[^>]*> lui \$t9,0x0 +0+005c <[^>]*> lw gp,0\(sp\) +0+0060 <[^>]*> lui t9,0x0 [ ]*60: R_MIPS_CALL_HI16 external_text_label -0+0064 <[^>]*> addu \$t9,\$t9,\$gp -0+0068 <[^>]*> lw \$t9,0\(\$t9\) +0+0064 <[^>]*> addu t9,t9,gp +0+0068 <[^>]*> lw t9,0\(t9\) [ ]*68: R_MIPS_CALL_LO16 external_text_label 0+006c <[^>]*> nop -0+0070 <[^>]*> jalr \$t9 +0+0070 <[^>]*> jalr t9 0+0074 <[^>]*> nop -0+0078 <[^>]*> lw \$gp,0\(\$sp\) +0+0078 <[^>]*> lw gp,0\(sp\) 0+007c <[^>]*> b 0+0000 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/jal.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/jal.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/jal.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/jal.d Mon May 21 10:37:00 2001 @@ -6,9 +6,9 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> jalr \$t9 +0+0000 <[^>]*> jalr t9 0+0004 <[^>]*> nop -0+0008 <[^>]*> jalr \$a0,\$t9 +0+0008 <[^>]*> jalr a0,t9 0+000c <[^>]*> nop 0+0010 <[^>]*> jal 0+ [ ]*10: (MIPS_JMP|MIPS_JMP|JMPADDR|R_MIPS_26) .text diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/la-empic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/la-empic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/la-empic.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/la-empic.d Mon May 21 10:37:00 2001 @@ -7,99 +7,99 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> li \$a0,0 -0+0004 <[^>]*> li \$a0,1 -0+0008 <[^>]*> li \$a0,0x8000 -0+000c <[^>]*> li \$a0,-32768 -0+0010 <[^>]*> lui \$a0,0x1 -0+0014 <[^>]*> lui \$a0,0x1 -0+0018 <[^>]*> ori \$a0,\$a0,0xa5a5 -0+001c <[^>]*> li \$a0,0 -0+0020 <[^>]*> addu \$a0,\$a0,\$a1 -0+0024 <[^>]*> li \$a0,1 -0+0028 <[^>]*> addu \$a0,\$a0,\$a1 -0+002c <[^>]*> li \$a0,0x8000 -0+0030 <[^>]*> addu \$a0,\$a0,\$a1 -0+0034 <[^>]*> li \$a0,-32768 -0+0038 <[^>]*> addu \$a0,\$a0,\$a1 -0+003c <[^>]*> lui \$a0,0x1 -0+0040 <[^>]*> addu \$a0,\$a0,\$a1 -0+0044 <[^>]*> lui \$a0,0x1 -0+0048 <[^>]*> ori \$a0,\$a0,0xa5a5 -0+004c <[^>]*> addu \$a0,\$a0,\$a1 -0+0050 <[^>]*> addiu \$a0,\$gp,-16384 +0+0000 <[^>]*> li a0,0 +0+0004 <[^>]*> li a0,1 +0+0008 <[^>]*> li a0,0x8000 +0+000c <[^>]*> li a0,-32768 +0+0010 <[^>]*> lui a0,0x1 +0+0014 <[^>]*> lui a0,0x1 +0+0018 <[^>]*> ori a0,a0,0xa5a5 +0+001c <[^>]*> li a0,0 +0+0020 <[^>]*> addu a0,a0,a1 +0+0024 <[^>]*> li a0,1 +0+0028 <[^>]*> addu a0,a0,a1 +0+002c <[^>]*> li a0,0x8000 +0+0030 <[^>]*> addu a0,a0,a1 +0+0034 <[^>]*> li a0,-32768 +0+0038 <[^>]*> addu a0,a0,a1 +0+003c <[^>]*> lui a0,0x1 +0+0040 <[^>]*> addu a0,a0,a1 +0+0044 <[^>]*> lui a0,0x1 +0+0048 <[^>]*> ori a0,a0,0xa5a5 +0+004c <[^>]*> addu a0,a0,a1 +0+0050 <[^>]*> addiu a0,gp,-16384 [ ]*50: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+0054 <[^>]*> addiu \$a0,\$gp,0 +0+0054 <[^>]*> addiu a0,gp,0 [ ]*54: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+0058 <[^>]*> addiu \$a0,\$gp,0 +0+0058 <[^>]*> addiu a0,gp,0 [ ]*58: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+005c <[^>]*> addiu \$a0,\$gp,0 +0+005c <[^>]*> addiu a0,gp,0 [ ]*5c: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+0060 <[^>]*> addiu \$a0,\$gp,0 +0+0060 <[^>]*> addiu a0,gp,0 [ ]*60: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0064 <[^>]*> addiu \$a0,\$gp,-16384 +0+0064 <[^>]*> addiu a0,gp,-16384 [ ]*64: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0068 <[^>]*> addiu \$a0,\$gp,-15384 +0+0068 <[^>]*> addiu a0,gp,-15384 [ ]*68: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+006c <[^>]*> addiu \$a0,\$gp,-16383 +0+006c <[^>]*> addiu a0,gp,-16383 [ ]*6c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+0070 <[^>]*> addiu \$a0,\$gp,1 +0+0070 <[^>]*> addiu a0,gp,1 [ ]*70: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+0074 <[^>]*> addiu \$a0,\$gp,1 +0+0074 <[^>]*> addiu a0,gp,1 [ ]*74: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0078 <[^>]*> addiu \$a0,\$gp,1 +0+0078 <[^>]*> addiu a0,gp,1 [ ]*78: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+007c <[^>]*> addiu \$a0,\$gp,1 +0+007c <[^>]*> addiu a0,gp,1 [ ]*7c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0080 <[^>]*> addiu \$a0,\$gp,-16383 +0+0080 <[^>]*> addiu a0,gp,-16383 [ ]*80: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0084 <[^>]*> addiu \$a0,\$gp,-15383 +0+0084 <[^>]*> addiu a0,gp,-15383 [ ]*84: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0088 <[^>]*> addiu \$a0,\$gp,-16384 +0+0088 <[^>]*> addiu a0,gp,-16384 [ ]*88: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+008c <[^>]*> addu \$a0,\$a0,\$a1 -0+0090 <[^>]*> addiu \$a0,\$gp,0 +0+008c <[^>]*> addu a0,a0,a1 +0+0090 <[^>]*> addiu a0,gp,0 [ ]*90: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+0094 <[^>]*> addu \$a0,\$a0,\$a1 -0+0098 <[^>]*> addiu \$a0,\$gp,0 +0+0094 <[^>]*> addu a0,a0,a1 +0+0098 <[^>]*> addiu a0,gp,0 [ ]*98: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+009c <[^>]*> addu \$a0,\$a0,\$a1 -0+00a0 <[^>]*> addiu \$a0,\$gp,0 +0+009c <[^>]*> addu a0,a0,a1 +0+00a0 <[^>]*> addiu a0,gp,0 [ ]*a0: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+00a4 <[^>]*> addu \$a0,\$a0,\$a1 -0+00a8 <[^>]*> addiu \$a0,\$gp,0 +0+00a4 <[^>]*> addu a0,a0,a1 +0+00a8 <[^>]*> addiu a0,gp,0 [ ]*a8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00ac <[^>]*> addu \$a0,\$a0,\$a1 -0+00b0 <[^>]*> addiu \$a0,\$gp,-16384 +0+00ac <[^>]*> addu a0,a0,a1 +0+00b0 <[^>]*> addiu a0,gp,-16384 [ ]*b0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00b4 <[^>]*> addu \$a0,\$a0,\$a1 -0+00b8 <[^>]*> addiu \$a0,\$gp,-15384 +0+00b4 <[^>]*> addu a0,a0,a1 +0+00b8 <[^>]*> addiu a0,gp,-15384 [ ]*b8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00bc <[^>]*> addu \$a0,\$a0,\$a1 -0+00c0 <[^>]*> addiu \$a0,\$gp,-16383 +0+00bc <[^>]*> addu a0,a0,a1 +0+00c0 <[^>]*> addiu a0,gp,-16383 [ ]*c0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+00c4 <[^>]*> addu \$a0,\$a0,\$a1 -0+00c8 <[^>]*> addiu \$a0,\$gp,1 +0+00c4 <[^>]*> addu a0,a0,a1 +0+00c8 <[^>]*> addiu a0,gp,1 [ ]*c8: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+00cc <[^>]*> addu \$a0,\$a0,\$a1 -0+00d0 <[^>]*> addiu \$a0,\$gp,1 +0+00cc <[^>]*> addu a0,a0,a1 +0+00d0 <[^>]*> addiu a0,gp,1 [ ]*d0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00d4 <[^>]*> addu \$a0,\$a0,\$a1 -0+00d8 <[^>]*> addiu \$a0,\$gp,1 +0+00d4 <[^>]*> addu a0,a0,a1 +0+00d8 <[^>]*> addiu a0,gp,1 [ ]*d8: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+00dc <[^>]*> addu \$a0,\$a0,\$a1 -0+00e0 <[^>]*> addiu \$a0,\$gp,1 +0+00dc <[^>]*> addu a0,a0,a1 +0+00e0 <[^>]*> addiu a0,gp,1 [ ]*e0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00e4 <[^>]*> addu \$a0,\$a0,\$a1 -0+00e8 <[^>]*> addiu \$a0,\$gp,-16383 +0+00e4 <[^>]*> addu a0,a0,a1 +0+00e8 <[^>]*> addiu a0,gp,-16383 [ ]*e8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00ec <[^>]*> addu \$a0,\$a0,\$a1 -0+00f0 <[^>]*> addiu \$a0,\$gp,-15383 +0+00ec <[^>]*> addu a0,a0,a1 +0+00f0 <[^>]*> addiu a0,gp,-15383 [ ]*f0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00f4 <[^>]*> addu \$a0,\$a0,\$a1 -0+00f8 <[^>]*> lui \$a0,0x0 +0+00f4 <[^>]*> addu a0,a0,a1 +0+00f8 <[^>]*> lui a0,0x0 [ ]*f8: RELHI external_text_label -0+00fc <[^>]*> addiu \$a0,\$a0,252 +0+00fc <[^>]*> addiu a0,a0,252 [ ]*fc: RELLO external_text_label -0+0100 <[^>]*> li \$a0,248 +0+0100 <[^>]*> li a0,248 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/la-svr4pic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/la-svr4pic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/la-svr4pic.d Mon Dec 4 16:33:55 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/la-svr4pic.d Mon May 21 10:37:01 2001 @@ -8,465 +8,465 @@ .*: +file format .*mips.* Disassembly of section .text: -[0-9a-f]+ <[^>]*> li \$a0,0 -[0-9a-f]+ <[^>]*> li \$a0,1 -[0-9a-f]+ <[^>]*> li \$a0,0x8000 -[0-9a-f]+ <[^>]*> li \$a0,-32768 -[0-9a-f]+ <[^>]*> lui \$a0,0x1 -[0-9a-f]+ <[^>]*> lui \$a0,0x1 -[0-9a-f]+ <[^>]*> ori \$a0,\$a0,0xa5a5 -[0-9a-f]+ <[^>]*> addiu \$a0,\$a1,0 -[0-9a-f]+ <[^>]*> addiu \$a0,\$a1,1 -[0-9a-f]+ <[^>]*> li \$a0,0x8000 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> addiu \$a0,\$a1,-32768 -[0-9a-f]+ <[^>]*> lui \$a0,0x1 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x1 -[0-9a-f]+ <[^>]*> ori \$a0,\$a0,0xa5a5 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> li a0,0 +[0-9a-f]+ <[^>]*> li a0,1 +[0-9a-f]+ <[^>]*> li a0,0x8000 +[0-9a-f]+ <[^>]*> li a0,-32768 +[0-9a-f]+ <[^>]*> lui a0,0x1 +[0-9a-f]+ <[^>]*> lui a0,0x1 +[0-9a-f]+ <[^>]*> ori a0,a0,0xa5a5 +[0-9a-f]+ <[^>]*> addiu a0,a1,0 +[0-9a-f]+ <[^>]*> addiu a0,a1,1 +[0-9a-f]+ <[^>]*> li a0,0x8000 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> addiu a0,a1,-32768 +[0-9a-f]+ <[^>]*> lui a0,0x1 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x1 +[0-9a-f]+ <[^>]*> ori a0,a0,0xa5a5 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1000 +[0-9a-f]+ <[^>]*> addiu a0,a0,1000 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1001 +[0-9a-f]+ <[^>]*> addiu a0,a0,1001 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-31768 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-31768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-31768 +[0-9a-f]+ <[^>]*> addiu a0,a0,-31768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,1000 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,1000 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-22131 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-22131 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1000 +[0-9a-f]+ <[^>]*> addiu a0,a0,1000 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1001 +[0-9a-f]+ <[^>]*> addiu a0,a0,1001 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-31768 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-31768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-31768 +[0-9a-f]+ <[^>]*> addiu a0,a0,-31768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,1000 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,1000 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-22131 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-22131 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/la-xgot.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/la-xgot.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/la-xgot.d Mon Dec 4 16:33:55 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/la-xgot.d Mon May 21 10:37:01 2001 @@ -8,609 +8,609 @@ .*: +file format .*mips.* Disassembly of section .text: -[0-9a-f]+ <[^>]*> li \$a0,0 -[0-9a-f]+ <[^>]*> li \$a0,1 -[0-9a-f]+ <[^>]*> li \$a0,0x8000 -[0-9a-f]+ <[^>]*> li \$a0,-32768 -[0-9a-f]+ <[^>]*> lui \$a0,0x1 -[0-9a-f]+ <[^>]*> lui \$a0,0x1 -[0-9a-f]+ <[^>]*> ori \$a0,\$a0,0xa5a5 -[0-9a-f]+ <[^>]*> addiu \$a0,\$a1,0 -[0-9a-f]+ <[^>]*> addiu \$a0,\$a1,1 -[0-9a-f]+ <[^>]*> li \$a0,0x8000 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> addiu \$a0,\$a1,-32768 -[0-9a-f]+ <[^>]*> lui \$a0,0x1 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x1 -[0-9a-f]+ <[^>]*> ori \$a0,\$a0,0xa5a5 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> li a0,0 +[0-9a-f]+ <[^>]*> li a0,1 +[0-9a-f]+ <[^>]*> li a0,0x8000 +[0-9a-f]+ <[^>]*> li a0,-32768 +[0-9a-f]+ <[^>]*> lui a0,0x1 +[0-9a-f]+ <[^>]*> lui a0,0x1 +[0-9a-f]+ <[^>]*> ori a0,a0,0xa5a5 +[0-9a-f]+ <[^>]*> addiu a0,a1,0 +[0-9a-f]+ <[^>]*> addiu a0,a1,1 +[0-9a-f]+ <[^>]*> li a0,0x8000 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> addiu a0,a1,-32768 +[0-9a-f]+ <[^>]*> lui a0,0x1 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x1 +[0-9a-f]+ <[^>]*> ori a0,a0,0xa5a5 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1000 +[0-9a-f]+ <[^>]*> addiu a0,a0,1000 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1001 +[0-9a-f]+ <[^>]*> addiu a0,a0,1001 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-31768 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-31768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-31768 +[0-9a-f]+ <[^>]*> addiu a0,a0,-31768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,1000 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,1000 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-22131 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-22131 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1000 +[0-9a-f]+ <[^>]*> addiu a0,a0,1000 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,1 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1 +[0-9a-f]+ <[^>]*> addiu a0,a0,1 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,1001 +[0-9a-f]+ <[^>]*> addiu a0,a0,1001 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-32768 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-31768 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,-31768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-32768 +[0-9a-f]+ <[^>]*> addiu a0,a0,-32768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss [0-9a-f]+ <[^>]*> nop -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,-31768 +[0-9a-f]+ <[^>]*> addiu a0,a0,-31768 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,0 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,0 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x1 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,1000 +[0-9a-f]+ <[^>]*> lui at,0x1 +[0-9a-f]+ <[^>]*> addiu at,at,1000 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .data -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 [ ]*[0-9a-f]+: R_MIPS_LO16 .data -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$gp -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$a0\) +[0-9a-f]+ <[^>]*> addu a0,a0,gp +[0-9a-f]+ <[^>]*> lw a0,0\(a0\) [ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-23131 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-23131 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lw \$a0,0\(\$gp\) +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lw a0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 .bss -[0-9a-f]+ <[^>]*> lui \$at,0x2 -[0-9a-f]+ <[^>]*> addiu \$at,\$at,-22131 +[0-9a-f]+ <[^>]*> lui at,0x2 +[0-9a-f]+ <[^>]*> addiu at,at,-22131 [ ]*[0-9a-f]+: R_MIPS_LO16 .bss -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$at -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 +[0-9a-f]+ <[^>]*> addu a0,a0,at +[0-9a-f]+ <[^>]*> addu a0,a0,a1 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/la.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/la.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/la.d Fri Nov 19 09:43:35 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/la.d Mon May 21 10:37:01 2001 @@ -7,375 +7,375 @@ .*: +file format .*mips.* Disassembly of section .text: -[0-9a-f]+ <[^>]*> li \$a0,0 -[0-9a-f]+ <[^>]*> li \$a0,1 -[0-9a-f]+ <[^>]*> li \$a0,0x8000 -[0-9a-f]+ <[^>]*> li \$a0,-32768 -[0-9a-f]+ <[^>]*> lui \$a0,0x1 -[0-9a-f]+ <[^>]*> lui \$a0,0x1 -[0-9a-f]+ <[^>]*> ori \$a0,\$a0,0xa5a5 -[0-9a-f]+ <[^>]*> addiu \$a0,\$a1,0 -[0-9a-f]+ <[^>]*> addiu \$a0,\$a1,1 -[0-9a-f]+ <[^>]*> li \$a0,0x8000 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> addiu \$a0,\$a1,-32768 -[0-9a-f]+ <[^>]*> lui \$a0,0x1 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x1 -[0-9a-f]+ <[^>]*> ori \$a0,\$a0,0xa5a5 -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> li a0,0 +[0-9a-f]+ <[^>]*> li a0,1 +[0-9a-f]+ <[^>]*> li a0,0x8000 +[0-9a-f]+ <[^>]*> li a0,-32768 +[0-9a-f]+ <[^>]*> lui a0,0x1 +[0-9a-f]+ <[^>]*> lui a0,0x1 +[0-9a-f]+ <[^>]*> ori a0,a0,0xa5a5 +[0-9a-f]+ <[^>]*> addiu a0,a1,0 +[0-9a-f]+ <[^>]*> addiu a0,a1,1 +[0-9a-f]+ <[^>]*> li a0,0x8000 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> addiu a0,a1,-32768 +[0-9a-f]+ <[^>]*> lui a0,0x1 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x1 +[0-9a-f]+ <[^>]*> ori a0,a0,0xa5a5 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$gp,0 +[0-9a-f]+ <[^>]*> addiu a0,gp,0 [ ]*[0-9a-f]+: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$gp,0 +[0-9a-f]+ <[^>]*> addiu a0,gp,0 [ ]*[0-9a-f]+: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$gp,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,gp,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$gp,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,gp,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$gp,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,gp,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$gp,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,gp,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> addiu \$a0,\$gp,0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> addiu a0,gp,0 [ ]*[0-9a-f]+: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> addiu \$a0,\$gp,0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> addiu a0,gp,0 [ ]*[0-9a-f]+: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> addiu \$a0,\$gp,[-0-9]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> addiu a0,gp,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> addiu \$a0,\$gp,[-0-9]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> addiu a0,gp,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> addiu \$a0,\$gp,[-0-9]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> addiu a0,gp,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> addiu \$a0,\$gp,[-0-9]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> addiu a0,gp,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,0x0 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,0x0 [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,0 +[0-9a-f]+ <[^>]*> addiu a0,a0,0 [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 -[0-9a-f]+ <[^>]*> lui \$a0,[-0-9x]+ +[0-9a-f]+ <[^>]*> addu a0,a0,a1 +[0-9a-f]+ <[^>]*> lui a0,[-0-9x]+ [ ]*[0-9a-f]+: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addiu \$a0,\$a0,[-0-9]+ +[0-9a-f]+ <[^>]*> addiu a0,a0,[-0-9]+ [ ]*[0-9a-f]+: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -[0-9a-f]+ <[^>]*> addu \$a0,\$a0,\$a1 +[0-9a-f]+ <[^>]*> addu a0,a0,a1 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/lb-empic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/lb-empic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/lb-empic.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/lb-empic.d Mon May 21 10:37:01 2001 @@ -8,95 +8,95 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lb \$a0,0\(\$zero\) -0+0004 <[^>]*> lb \$a0,1\(\$zero\) -0+0008 <[^>]*> lui \$a0,0x1 -0+000c <[^>]*> lb \$a0,-32768\(\$a0\) -0+0010 <[^>]*> lb \$a0,-32768\(\$zero\) -0+0014 <[^>]*> lui \$a0,0x1 -0+0018 <[^>]*> lb \$a0,0\(\$a0\) -0+001c <[^>]*> lui \$a0,0x2 -0+0020 <[^>]*> lb \$a0,-23131\(\$a0\) -0+0024 <[^>]*> lb \$a0,0\(\$a1\) -0+0028 <[^>]*> lb \$a0,1\(\$a1\) -0+002c <[^>]*> lui \$a0,0x1 -0+0030 <[^>]*> addu \$a0,\$a0,\$a1 -0+0034 <[^>]*> lb \$a0,-32768\(\$a0\) -0+0038 <[^>]*> lb \$a0,-32768\(\$a1\) -0+003c <[^>]*> lui \$a0,0x1 -0+0040 <[^>]*> addu \$a0,\$a0,\$a1 -0+0044 <[^>]*> lb \$a0,0\(\$a0\) -0+0048 <[^>]*> lui \$a0,0x2 -0+004c <[^>]*> addu \$a0,\$a0,\$a1 -0+0050 <[^>]*> lb \$a0,-23131\(\$a0\) -0+0054 <[^>]*> lb \$a0,-16384\(\$gp\) +0+0000 <[^>]*> lb a0,0\(zero\) +0+0004 <[^>]*> lb a0,1\(zero\) +0+0008 <[^>]*> lui a0,0x1 +0+000c <[^>]*> lb a0,-32768\(a0\) +0+0010 <[^>]*> lb a0,-32768\(zero\) +0+0014 <[^>]*> lui a0,0x1 +0+0018 <[^>]*> lb a0,0\(a0\) +0+001c <[^>]*> lui a0,0x2 +0+0020 <[^>]*> lb a0,-23131\(a0\) +0+0024 <[^>]*> lb a0,0\(a1\) +0+0028 <[^>]*> lb a0,1\(a1\) +0+002c <[^>]*> lui a0,0x1 +0+0030 <[^>]*> addu a0,a0,a1 +0+0034 <[^>]*> lb a0,-32768\(a0\) +0+0038 <[^>]*> lb a0,-32768\(a1\) +0+003c <[^>]*> lui a0,0x1 +0+0040 <[^>]*> addu a0,a0,a1 +0+0044 <[^>]*> lb a0,0\(a0\) +0+0048 <[^>]*> lui a0,0x2 +0+004c <[^>]*> addu a0,a0,a1 +0+0050 <[^>]*> lb a0,-23131\(a0\) +0+0054 <[^>]*> lb a0,-16384\(gp\) [ ]*54: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+0058 <[^>]*> lb \$a0,0\(\$gp\) +0+0058 <[^>]*> lb a0,0\(gp\) [ ]*58: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+005c <[^>]*> lb \$a0,0\(\$gp\) +0+005c <[^>]*> lb a0,0\(gp\) [ ]*5c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0060 <[^>]*> lb \$a0,0\(\$gp\) +0+0060 <[^>]*> lb a0,0\(gp\) [ ]*60: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+0064 <[^>]*> lb \$a0,0\(\$gp\) +0+0064 <[^>]*> lb a0,0\(gp\) [ ]*64: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0068 <[^>]*> lb \$a0,-16384\(\$gp\) +0+0068 <[^>]*> lb a0,-16384\(gp\) [ ]*68: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+006c <[^>]*> lb \$a0,-15384\(\$gp\) +0+006c <[^>]*> lb a0,-15384\(gp\) [ ]*6c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0070 <[^>]*> lb \$a0,-16383\(\$gp\) +0+0070 <[^>]*> lb a0,-16383\(gp\) [ ]*70: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+0074 <[^>]*> lb \$a0,1\(\$gp\) +0+0074 <[^>]*> lb a0,1\(gp\) [ ]*74: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+0078 <[^>]*> lb \$a0,1\(\$gp\) +0+0078 <[^>]*> lb a0,1\(gp\) [ ]*78: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+007c <[^>]*> lb \$a0,1\(\$gp\) +0+007c <[^>]*> lb a0,1\(gp\) [ ]*7c: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+0080 <[^>]*> lb \$a0,1\(\$gp\) +0+0080 <[^>]*> lb a0,1\(gp\) [ ]*80: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0084 <[^>]*> lb \$a0,-16383\(\$gp\) +0+0084 <[^>]*> lb a0,-16383\(gp\) [ ]*84: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0088 <[^>]*> lb \$a0,-15383\(\$gp\) +0+0088 <[^>]*> lb a0,-15383\(gp\) [ ]*88: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+008c <[^>]*> addu \$a0,\$a1,\$gp -0+0090 <[^>]*> lb \$a0,-16384\(\$a0\) +0+008c <[^>]*> addu a0,a1,gp +0+0090 <[^>]*> lb a0,-16384\(a0\) [ ]*90: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+0094 <[^>]*> addu \$a0,\$a1,\$gp -0+0098 <[^>]*> lb \$a0,0\(\$a0\) +0+0094 <[^>]*> addu a0,a1,gp +0+0098 <[^>]*> lb a0,0\(a0\) [ ]*98: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+009c <[^>]*> addu \$a0,\$a1,\$gp -0+00a0 <[^>]*> lb \$a0,0\(\$a0\) +0+009c <[^>]*> addu a0,a1,gp +0+00a0 <[^>]*> lb a0,0\(a0\) [ ]*a0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00a4 <[^>]*> addu \$a0,\$a1,\$gp -0+00a8 <[^>]*> lb \$a0,0\(\$a0\) +0+00a4 <[^>]*> addu a0,a1,gp +0+00a8 <[^>]*> lb a0,0\(a0\) [ ]*a8: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+00ac <[^>]*> addu \$a0,\$a1,\$gp -0+00b0 <[^>]*> lb \$a0,0\(\$a0\) +0+00ac <[^>]*> addu a0,a1,gp +0+00b0 <[^>]*> lb a0,0\(a0\) [ ]*b0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00b4 <[^>]*> addu \$a0,\$a1,\$gp -0+00b8 <[^>]*> lb \$a0,-16384\(\$a0\) +0+00b4 <[^>]*> addu a0,a1,gp +0+00b8 <[^>]*> lb a0,-16384\(a0\) [ ]*b8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00bc <[^>]*> addu \$a0,\$a1,\$gp -0+00c0 <[^>]*> lb \$a0,-15384\(\$a0\) +0+00bc <[^>]*> addu a0,a1,gp +0+00c0 <[^>]*> lb a0,-15384\(a0\) [ ]*c0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00c4 <[^>]*> addu \$a0,\$a1,\$gp -0+00c8 <[^>]*> lb \$a0,-16383\(\$a0\) +0+00c4 <[^>]*> addu a0,a1,gp +0+00c8 <[^>]*> lb a0,-16383\(a0\) [ ]*c8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+00cc <[^>]*> addu \$a0,\$a1,\$gp -0+00d0 <[^>]*> lb \$a0,1\(\$a0\) +0+00cc <[^>]*> addu a0,a1,gp +0+00d0 <[^>]*> lb a0,1\(a0\) [ ]*d0: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+00d4 <[^>]*> addu \$a0,\$a1,\$gp -0+00d8 <[^>]*> lb \$a0,1\(\$a0\) +0+00d4 <[^>]*> addu a0,a1,gp +0+00d8 <[^>]*> lb a0,1\(a0\) [ ]*d8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00dc <[^>]*> addu \$a0,\$a1,\$gp -0+00e0 <[^>]*> lb \$a0,1\(\$a0\) +0+00dc <[^>]*> addu a0,a1,gp +0+00e0 <[^>]*> lb a0,1\(a0\) [ ]*e0: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+00e4 <[^>]*> addu \$a0,\$a1,\$gp -0+00e8 <[^>]*> lb \$a0,1\(\$a0\) +0+00e4 <[^>]*> addu a0,a1,gp +0+00e8 <[^>]*> lb a0,1\(a0\) [ ]*e8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00ec <[^>]*> addu \$a0,\$a1,\$gp -0+00f0 <[^>]*> lb \$a0,-16383\(\$a0\) +0+00ec <[^>]*> addu a0,a1,gp +0+00f0 <[^>]*> lb a0,-16383\(a0\) [ ]*f0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00f4 <[^>]*> addu \$a0,\$a1,\$gp -0+00f8 <[^>]*> lb \$a0,-15383\(\$a0\) +0+00f4 <[^>]*> addu a0,a1,gp +0+00f8 <[^>]*> lb a0,-15383\(a0\) [ ]*f8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* 0+00fc <[^>]*> nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/lb-svr4pic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/lb-svr4pic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/lb-svr4pic.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/lb-svr4pic.d Mon May 21 10:37:01 2001 @@ -8,175 +8,175 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lb \$a0,0\(\$zero\) -0+0004 <[^>]*> lb \$a0,1\(\$zero\) -0+0008 <[^>]*> lui \$a0,0x1 -0+000c <[^>]*> lb \$a0,-32768\(\$a0\) -0+0010 <[^>]*> lb \$a0,-32768\(\$zero\) -0+0014 <[^>]*> lui \$a0,0x1 -0+0018 <[^>]*> lb \$a0,0\(\$a0\) -0+001c <[^>]*> lui \$a0,0x2 -0+0020 <[^>]*> lb \$a0,-23131\(\$a0\) -0+0024 <[^>]*> lb \$a0,0\(\$a1\) -0+0028 <[^>]*> lb \$a0,1\(\$a1\) -0+002c <[^>]*> lui \$a0,0x1 -0+0030 <[^>]*> addu \$a0,\$a0,\$a1 -0+0034 <[^>]*> lb \$a0,-32768\(\$a0\) -0+0038 <[^>]*> lb \$a0,-32768\(\$a1\) -0+003c <[^>]*> lui \$a0,0x1 -0+0040 <[^>]*> addu \$a0,\$a0,\$a1 -0+0044 <[^>]*> lb \$a0,0\(\$a0\) -0+0048 <[^>]*> lui \$a0,0x2 -0+004c <[^>]*> addu \$a0,\$a0,\$a1 -0+0050 <[^>]*> lb \$a0,-23131\(\$a0\) -0+0054 <[^>]*> lw \$a0,0\(\$gp\) +0+0000 <[^>]*> lb a0,0\(zero\) +0+0004 <[^>]*> lb a0,1\(zero\) +0+0008 <[^>]*> lui a0,0x1 +0+000c <[^>]*> lb a0,-32768\(a0\) +0+0010 <[^>]*> lb a0,-32768\(zero\) +0+0014 <[^>]*> lui a0,0x1 +0+0018 <[^>]*> lb a0,0\(a0\) +0+001c <[^>]*> lui a0,0x2 +0+0020 <[^>]*> lb a0,-23131\(a0\) +0+0024 <[^>]*> lb a0,0\(a1\) +0+0028 <[^>]*> lb a0,1\(a1\) +0+002c <[^>]*> lui a0,0x1 +0+0030 <[^>]*> addu a0,a0,a1 +0+0034 <[^>]*> lb a0,-32768\(a0\) +0+0038 <[^>]*> lb a0,-32768\(a1\) +0+003c <[^>]*> lui a0,0x1 +0+0040 <[^>]*> addu a0,a0,a1 +0+0044 <[^>]*> lb a0,0\(a0\) +0+0048 <[^>]*> lui a0,0x2 +0+004c <[^>]*> addu a0,a0,a1 +0+0050 <[^>]*> lb a0,-23131\(a0\) +0+0054 <[^>]*> lw a0,0\(gp\) [ ]*54: R_MIPS_GOT16 .data 0+0058 <[^>]*> nop -0+005c <[^>]*> addiu \$a0,\$a0,0 +0+005c <[^>]*> addiu a0,a0,0 [ ]*5c: R_MIPS_LO16 .data -0+0060 <[^>]*> lb \$a0,0\(\$a0\) -0+0064 <[^>]*> lw \$a0,0\(\$gp\) +0+0060 <[^>]*> lb a0,0\(a0\) +0+0064 <[^>]*> lw a0,0\(gp\) [ ]*64: R_MIPS_GOT16 big_external_data_label 0+0068 <[^>]*> nop -0+006c <[^>]*> lb \$a0,0\(\$a0\) -0+0070 <[^>]*> lw \$a0,0\(\$gp\) +0+006c <[^>]*> lb a0,0\(a0\) +0+0070 <[^>]*> lw a0,0\(gp\) [ ]*70: R_MIPS_GOT16 small_external_data_label 0+0074 <[^>]*> nop -0+0078 <[^>]*> lb \$a0,0\(\$a0\) -0+007c <[^>]*> lw \$a0,0\(\$gp\) +0+0078 <[^>]*> lb a0,0\(a0\) +0+007c <[^>]*> lw a0,0\(gp\) [ ]*7c: R_MIPS_GOT16 big_external_common 0+0080 <[^>]*> nop -0+0084 <[^>]*> lb \$a0,0\(\$a0\) -0+0088 <[^>]*> lw \$a0,0\(\$gp\) +0+0084 <[^>]*> lb a0,0\(a0\) +0+0088 <[^>]*> lw a0,0\(gp\) [ ]*88: R_MIPS_GOT16 small_external_common 0+008c <[^>]*> nop -0+0090 <[^>]*> lb \$a0,0\(\$a0\) -0+0094 <[^>]*> lw \$a0,0\(\$gp\) +0+0090 <[^>]*> lb a0,0\(a0\) +0+0094 <[^>]*> lw a0,0\(gp\) [ ]*94: R_MIPS_GOT16 .bss 0+0098 <[^>]*> nop -0+009c <[^>]*> addiu \$a0,\$a0,0 +0+009c <[^>]*> addiu a0,a0,0 [ ]*9c: R_MIPS_LO16 .bss -0+00a0 <[^>]*> lb \$a0,0\(\$a0\) -0+00a4 <[^>]*> lw \$a0,0\(\$gp\) +0+00a0 <[^>]*> lb a0,0\(a0\) +0+00a4 <[^>]*> lw a0,0\(gp\) [ ]*a4: R_MIPS_GOT16 .bss 0+00a8 <[^>]*> nop -0+00ac <[^>]*> addiu \$a0,\$a0,1000 +0+00ac <[^>]*> addiu a0,a0,1000 [ ]*ac: R_MIPS_LO16 .bss -0+00b0 <[^>]*> lb \$a0,0\(\$a0\) -0+00b4 <[^>]*> lw \$a0,0\(\$gp\) +0+00b0 <[^>]*> lb a0,0\(a0\) +0+00b4 <[^>]*> lw a0,0\(gp\) [ ]*b4: R_MIPS_GOT16 .data 0+00b8 <[^>]*> nop -0+00bc <[^>]*> addiu \$a0,\$a0,0 +0+00bc <[^>]*> addiu a0,a0,0 [ ]*bc: R_MIPS_LO16 .data -0+00c0 <[^>]*> lb \$a0,1\(\$a0\) -0+00c4 <[^>]*> lw \$a0,0\(\$gp\) +0+00c0 <[^>]*> lb a0,1\(a0\) +0+00c4 <[^>]*> lw a0,0\(gp\) [ ]*c4: R_MIPS_GOT16 big_external_data_label 0+00c8 <[^>]*> nop -0+00cc <[^>]*> lb \$a0,1\(\$a0\) -0+00d0 <[^>]*> lw \$a0,0\(\$gp\) +0+00cc <[^>]*> lb a0,1\(a0\) +0+00d0 <[^>]*> lw a0,0\(gp\) [ ]*d0: R_MIPS_GOT16 small_external_data_label 0+00d4 <[^>]*> nop -0+00d8 <[^>]*> lb \$a0,1\(\$a0\) -0+00dc <[^>]*> lw \$a0,0\(\$gp\) +0+00d8 <[^>]*> lb a0,1\(a0\) +0+00dc <[^>]*> lw a0,0\(gp\) [ ]*dc: R_MIPS_GOT16 big_external_common 0+00e0 <[^>]*> nop -0+00e4 <[^>]*> lb \$a0,1\(\$a0\) -0+00e8 <[^>]*> lw \$a0,0\(\$gp\) +0+00e4 <[^>]*> lb a0,1\(a0\) +0+00e8 <[^>]*> lw a0,0\(gp\) [ ]*e8: R_MIPS_GOT16 small_external_common 0+00ec <[^>]*> nop -0+00f0 <[^>]*> lb \$a0,1\(\$a0\) -0+00f4 <[^>]*> lw \$a0,0\(\$gp\) +0+00f0 <[^>]*> lb a0,1\(a0\) +0+00f4 <[^>]*> lw a0,0\(gp\) [ ]*f4: R_MIPS_GOT16 .bss 0+00f8 <[^>]*> nop -0+00fc <[^>]*> addiu \$a0,\$a0,0 +0+00fc <[^>]*> addiu a0,a0,0 [ ]*fc: R_MIPS_LO16 .bss -0+0100 <[^>]*> lb \$a0,1\(\$a0\) -0+0104 <[^>]*> lw \$a0,0\(\$gp\) +0+0100 <[^>]*> lb a0,1\(a0\) +0+0104 <[^>]*> lw a0,0\(gp\) [ ]*104: R_MIPS_GOT16 .bss 0+0108 <[^>]*> nop -0+010c <[^>]*> addiu \$a0,\$a0,1000 +0+010c <[^>]*> addiu a0,a0,1000 [ ]*10c: R_MIPS_LO16 .bss -0+0110 <[^>]*> lb \$a0,1\(\$a0\) -0+0114 <[^>]*> lw \$a0,0\(\$gp\) +0+0110 <[^>]*> lb a0,1\(a0\) +0+0114 <[^>]*> lw a0,0\(gp\) [ ]*114: R_MIPS_GOT16 .data 0+0118 <[^>]*> nop -0+011c <[^>]*> addiu \$a0,\$a0,0 +0+011c <[^>]*> addiu a0,a0,0 [ ]*11c: R_MIPS_LO16 .data -0+0120 <[^>]*> addu \$a0,\$a0,\$a1 -0+0124 <[^>]*> lb \$a0,0\(\$a0\) -0+0128 <[^>]*> lw \$a0,0\(\$gp\) +0+0120 <[^>]*> addu a0,a0,a1 +0+0124 <[^>]*> lb a0,0\(a0\) +0+0128 <[^>]*> lw a0,0\(gp\) [ ]*128: R_MIPS_GOT16 big_external_data_label 0+012c <[^>]*> nop -0+0130 <[^>]*> addu \$a0,\$a0,\$a1 -0+0134 <[^>]*> lb \$a0,0\(\$a0\) -0+0138 <[^>]*> lw \$a0,0\(\$gp\) +0+0130 <[^>]*> addu a0,a0,a1 +0+0134 <[^>]*> lb a0,0\(a0\) +0+0138 <[^>]*> lw a0,0\(gp\) [ ]*138: R_MIPS_GOT16 small_external_data_label 0+013c <[^>]*> nop -0+0140 <[^>]*> addu \$a0,\$a0,\$a1 -0+0144 <[^>]*> lb \$a0,0\(\$a0\) -0+0148 <[^>]*> lw \$a0,0\(\$gp\) +0+0140 <[^>]*> addu a0,a0,a1 +0+0144 <[^>]*> lb a0,0\(a0\) +0+0148 <[^>]*> lw a0,0\(gp\) [ ]*148: R_MIPS_GOT16 big_external_common 0+014c <[^>]*> nop -0+0150 <[^>]*> addu \$a0,\$a0,\$a1 -0+0154 <[^>]*> lb \$a0,0\(\$a0\) -0+0158 <[^>]*> lw \$a0,0\(\$gp\) +0+0150 <[^>]*> addu a0,a0,a1 +0+0154 <[^>]*> lb a0,0\(a0\) +0+0158 <[^>]*> lw a0,0\(gp\) [ ]*158: R_MIPS_GOT16 small_external_common 0+015c <[^>]*> nop -0+0160 <[^>]*> addu \$a0,\$a0,\$a1 -0+0164 <[^>]*> lb \$a0,0\(\$a0\) -0+0168 <[^>]*> lw \$a0,0\(\$gp\) +0+0160 <[^>]*> addu a0,a0,a1 +0+0164 <[^>]*> lb a0,0\(a0\) +0+0168 <[^>]*> lw a0,0\(gp\) [ ]*168: R_MIPS_GOT16 .bss 0+016c <[^>]*> nop -0+0170 <[^>]*> addiu \$a0,\$a0,0 +0+0170 <[^>]*> addiu a0,a0,0 [ ]*170: R_MIPS_LO16 .bss -0+0174 <[^>]*> addu \$a0,\$a0,\$a1 -0+0178 <[^>]*> lb \$a0,0\(\$a0\) -0+017c <[^>]*> lw \$a0,0\(\$gp\) +0+0174 <[^>]*> addu a0,a0,a1 +0+0178 <[^>]*> lb a0,0\(a0\) +0+017c <[^>]*> lw a0,0\(gp\) [ ]*17c: R_MIPS_GOT16 .bss 0+0180 <[^>]*> nop -0+0184 <[^>]*> addiu \$a0,\$a0,1000 +0+0184 <[^>]*> addiu a0,a0,1000 [ ]*184: R_MIPS_LO16 .bss -0+0188 <[^>]*> addu \$a0,\$a0,\$a1 -0+018c <[^>]*> lb \$a0,0\(\$a0\) -0+0190 <[^>]*> lw \$a0,0\(\$gp\) +0+0188 <[^>]*> addu a0,a0,a1 +0+018c <[^>]*> lb a0,0\(a0\) +0+0190 <[^>]*> lw a0,0\(gp\) [ ]*190: R_MIPS_GOT16 .data 0+0194 <[^>]*> nop -0+0198 <[^>]*> addiu \$a0,\$a0,0 +0+0198 <[^>]*> addiu a0,a0,0 [ ]*198: R_MIPS_LO16 .data -0+019c <[^>]*> addu \$a0,\$a0,\$a1 -0+01a0 <[^>]*> lb \$a0,1\(\$a0\) -0+01a4 <[^>]*> lw \$a0,0\(\$gp\) +0+019c <[^>]*> addu a0,a0,a1 +0+01a0 <[^>]*> lb a0,1\(a0\) +0+01a4 <[^>]*> lw a0,0\(gp\) [ ]*1a4: R_MIPS_GOT16 big_external_data_label 0+01a8 <[^>]*> nop -0+01ac <[^>]*> addu \$a0,\$a0,\$a1 -0+01b0 <[^>]*> lb \$a0,1\(\$a0\) -0+01b4 <[^>]*> lw \$a0,0\(\$gp\) +0+01ac <[^>]*> addu a0,a0,a1 +0+01b0 <[^>]*> lb a0,1\(a0\) +0+01b4 <[^>]*> lw a0,0\(gp\) [ ]*1b4: R_MIPS_GOT16 small_external_data_label 0+01b8 <[^>]*> nop -0+01bc <[^>]*> addu \$a0,\$a0,\$a1 -0+01c0 <[^>]*> lb \$a0,1\(\$a0\) -0+01c4 <[^>]*> lw \$a0,0\(\$gp\) +0+01bc <[^>]*> addu a0,a0,a1 +0+01c0 <[^>]*> lb a0,1\(a0\) +0+01c4 <[^>]*> lw a0,0\(gp\) [ ]*1c4: R_MIPS_GOT16 big_external_common 0+01c8 <[^>]*> nop -0+01cc <[^>]*> addu \$a0,\$a0,\$a1 -0+01d0 <[^>]*> lb \$a0,1\(\$a0\) -0+01d4 <[^>]*> lw \$a0,0\(\$gp\) +0+01cc <[^>]*> addu a0,a0,a1 +0+01d0 <[^>]*> lb a0,1\(a0\) +0+01d4 <[^>]*> lw a0,0\(gp\) [ ]*1d4: R_MIPS_GOT16 small_external_common 0+01d8 <[^>]*> nop -0+01dc <[^>]*> addu \$a0,\$a0,\$a1 -0+01e0 <[^>]*> lb \$a0,1\(\$a0\) -0+01e4 <[^>]*> lw \$a0,0\(\$gp\) +0+01dc <[^>]*> addu a0,a0,a1 +0+01e0 <[^>]*> lb a0,1\(a0\) +0+01e4 <[^>]*> lw a0,0\(gp\) [ ]*1e4: R_MIPS_GOT16 .bss 0+01e8 <[^>]*> nop -0+01ec <[^>]*> addiu \$a0,\$a0,0 +0+01ec <[^>]*> addiu a0,a0,0 [ ]*1ec: R_MIPS_LO16 .bss -0+01f0 <[^>]*> addu \$a0,\$a0,\$a1 -0+01f4 <[^>]*> lb \$a0,1\(\$a0\) -0+01f8 <[^>]*> lw \$a0,0\(\$gp\) +0+01f0 <[^>]*> addu a0,a0,a1 +0+01f4 <[^>]*> lb a0,1\(a0\) +0+01f8 <[^>]*> lw a0,0\(gp\) [ ]*1f8: R_MIPS_GOT16 .bss 0+01fc <[^>]*> nop -0+0200 <[^>]*> addiu \$a0,\$a0,1000 +0+0200 <[^>]*> addiu a0,a0,1000 [ ]*200: R_MIPS_LO16 .bss -0+0204 <[^>]*> addu \$a0,\$a0,\$a1 -0+0208 <[^>]*> lb \$a0,1\(\$a0\) +0+0204 <[^>]*> addu a0,a0,a1 +0+0208 <[^>]*> lb a0,1\(a0\) 0+020c <[^>]*> nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/lb-xgot-ilocks.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/lb-xgot-ilocks.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/lb-xgot-ilocks.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/lb-xgot-ilocks.d Mon May 21 10:37:01 2001 @@ -8,207 +8,207 @@ .*: +file format .* Disassembly of section \.text: -0+0000 <.*> lb \$a0,0\(\$zero\) -0+0004 <.*> lb \$a0,1\(\$zero\) -0+0008 <.*> lui \$a0,0x1 -0+000c <.*> lb \$a0,-32768\(\$a0\) -0+0010 <.*> lb \$a0,-32768\(\$zero\) -0+0014 <.*> lui \$a0,0x1 -0+0018 <.*> lb \$a0,0\(\$a0\) -0+001c <.*> lui \$a0,0x2 -0+0020 <.*> lb \$a0,-23131\(\$a0\) -0+0024 <.*> lb \$a0,0\(\$a1\) -0+0028 <.*> lb \$a0,1\(\$a1\) -0+002c <.*> lui \$a0,0x1 -0+0030 <.*> addu \$a0,\$a0,\$a1 -0+0034 <.*> lb \$a0,-32768\(\$a0\) -0+0038 <.*> lb \$a0,-32768\(\$a1\) -0+003c <.*> lui \$a0,0x1 -0+0040 <.*> addu \$a0,\$a0,\$a1 -0+0044 <.*> lb \$a0,0\(\$a0\) -0+0048 <.*> lui \$a0,0x2 -0+004c <.*> addu \$a0,\$a0,\$a1 -0+0050 <.*> lb \$a0,-23131\(\$a0\) -0+0054 <.*> lw \$a0,0\(\$gp\) +0+0000 <.*> lb a0,0\(zero\) +0+0004 <.*> lb a0,1\(zero\) +0+0008 <.*> lui a0,0x1 +0+000c <.*> lb a0,-32768\(a0\) +0+0010 <.*> lb a0,-32768\(zero\) +0+0014 <.*> lui a0,0x1 +0+0018 <.*> lb a0,0\(a0\) +0+001c <.*> lui a0,0x2 +0+0020 <.*> lb a0,-23131\(a0\) +0+0024 <.*> lb a0,0\(a1\) +0+0028 <.*> lb a0,1\(a1\) +0+002c <.*> lui a0,0x1 +0+0030 <.*> addu a0,a0,a1 +0+0034 <.*> lb a0,-32768\(a0\) +0+0038 <.*> lb a0,-32768\(a1\) +0+003c <.*> lui a0,0x1 +0+0040 <.*> addu a0,a0,a1 +0+0044 <.*> lb a0,0\(a0\) +0+0048 <.*> lui a0,0x2 +0+004c <.*> addu a0,a0,a1 +0+0050 <.*> lb a0,-23131\(a0\) +0+0054 <.*> lw a0,0\(gp\) 54: R_MIPS_GOT16 \.data 0+0058 <.*> nop -0+005c <.*> addiu \$a0,\$a0,0 +0+005c <.*> addiu a0,a0,0 5c: R_MIPS_LO16 \.data -0+0060 <.*> lb \$a0,0\(\$a0\) -0+0064 <.*> lui \$a0,0x0 +0+0060 <.*> lb a0,0\(a0\) +0+0064 <.*> lui a0,0x0 64: R_MIPS_GOT_HI16 big_external_data_label -0+0068 <.*> addu \$a0,\$a0,\$gp -0+006c <.*> lw \$a0,0\(\$a0\) +0+0068 <.*> addu a0,a0,gp +0+006c <.*> lw a0,0\(a0\) 6c: R_MIPS_GOT_LO16 big_external_data_label -0+0070 <.*> lb \$a0,0\(\$a0\) -0+0074 <.*> lui \$a0,0x0 +0+0070 <.*> lb a0,0\(a0\) +0+0074 <.*> lui a0,0x0 74: R_MIPS_GOT_HI16 small_external_data_label -0+0078 <.*> addu \$a0,\$a0,\$gp -0+007c <.*> lw \$a0,0\(\$a0\) +0+0078 <.*> addu a0,a0,gp +0+007c <.*> lw a0,0\(a0\) 7c: R_MIPS_GOT_LO16 small_external_data_label -0+0080 <.*> lb \$a0,0\(\$a0\) -0+0084 <.*> lui \$a0,0x0 +0+0080 <.*> lb a0,0\(a0\) +0+0084 <.*> lui a0,0x0 84: R_MIPS_GOT_HI16 big_external_common -0+0088 <.*> addu \$a0,\$a0,\$gp -0+008c <.*> lw \$a0,0\(\$a0\) +0+0088 <.*> addu a0,a0,gp +0+008c <.*> lw a0,0\(a0\) 8c: R_MIPS_GOT_LO16 big_external_common -0+0090 <.*> lb \$a0,0\(\$a0\) -0+0094 <.*> lui \$a0,0x0 +0+0090 <.*> lb a0,0\(a0\) +0+0094 <.*> lui a0,0x0 94: R_MIPS_GOT_HI16 small_external_common -0+0098 <.*> addu \$a0,\$a0,\$gp -0+009c <.*> lw \$a0,0\(\$a0\) +0+0098 <.*> addu a0,a0,gp +0+009c <.*> lw a0,0\(a0\) 9c: R_MIPS_GOT_LO16 small_external_common -0+00a0 <.*> lb \$a0,0\(\$a0\) -0+00a4 <.*> lw \$a0,0\(\$gp\) +0+00a0 <.*> lb a0,0\(a0\) +0+00a4 <.*> lw a0,0\(gp\) a4: R_MIPS_GOT16 \.bss 0+00a8 <.*> nop -0+00ac <.*> addiu \$a0,\$a0,0 +0+00ac <.*> addiu a0,a0,0 ac: R_MIPS_LO16 \.bss -0+00b0 <.*> lb \$a0,0\(\$a0\) -0+00b4 <.*> lw \$a0,0\(\$gp\) +0+00b0 <.*> lb a0,0\(a0\) +0+00b4 <.*> lw a0,0\(gp\) b4: R_MIPS_GOT16 \.bss 0+00b8 <.*> nop -0+00bc <.*> addiu \$a0,\$a0,1000 +0+00bc <.*> addiu a0,a0,1000 bc: R_MIPS_LO16 \.bss -0+00c0 <.*> lb \$a0,0\(\$a0\) -0+00c4 <.*> lw \$a0,0\(\$gp\) +0+00c0 <.*> lb a0,0\(a0\) +0+00c4 <.*> lw a0,0\(gp\) c4: R_MIPS_GOT16 \.data 0+00c8 <.*> nop -0+00cc <.*> addiu \$a0,\$a0,0 +0+00cc <.*> addiu a0,a0,0 cc: R_MIPS_LO16 \.data -0+00d0 <.*> lb \$a0,1\(\$a0\) -0+00d4 <.*> lui \$a0,0x0 +0+00d0 <.*> lb a0,1\(a0\) +0+00d4 <.*> lui a0,0x0 d4: R_MIPS_GOT_HI16 big_external_data_label -0+00d8 <.*> addu \$a0,\$a0,\$gp -0+00dc <.*> lw \$a0,0\(\$a0\) +0+00d8 <.*> addu a0,a0,gp +0+00dc <.*> lw a0,0\(a0\) dc: R_MIPS_GOT_LO16 big_external_data_label -0+00e0 <.*> lb \$a0,1\(\$a0\) -0+00e4 <.*> lui \$a0,0x0 +0+00e0 <.*> lb a0,1\(a0\) +0+00e4 <.*> lui a0,0x0 e4: R_MIPS_GOT_HI16 small_external_data_label -0+00e8 <.*> addu \$a0,\$a0,\$gp -0+00ec <.*> lw \$a0,0\(\$a0\) +0+00e8 <.*> addu a0,a0,gp +0+00ec <.*> lw a0,0\(a0\) ec: R_MIPS_GOT_LO16 small_external_data_label -0+00f0 <.*> lb \$a0,1\(\$a0\) -0+00f4 <.*> lui \$a0,0x0 +0+00f0 <.*> lb a0,1\(a0\) +0+00f4 <.*> lui a0,0x0 f4: R_MIPS_GOT_HI16 big_external_common -0+00f8 <.*> addu \$a0,\$a0,\$gp -0+00fc <.*> lw \$a0,0\(\$a0\) +0+00f8 <.*> addu a0,a0,gp +0+00fc <.*> lw a0,0\(a0\) fc: R_MIPS_GOT_LO16 big_external_common -0+0100 <.*> lb \$a0,1\(\$a0\) -0+0104 <.*> lui \$a0,0x0 +0+0100 <.*> lb a0,1\(a0\) +0+0104 <.*> lui a0,0x0 104: R_MIPS_GOT_HI16 small_external_common -0+0108 <.*> addu \$a0,\$a0,\$gp -0+010c <.*> lw \$a0,0\(\$a0\) +0+0108 <.*> addu a0,a0,gp +0+010c <.*> lw a0,0\(a0\) 10c: R_MIPS_GOT_LO16 small_external_common -0+0110 <.*> lb \$a0,1\(\$a0\) -0+0114 <.*> lw \$a0,0\(\$gp\) +0+0110 <.*> lb a0,1\(a0\) +0+0114 <.*> lw a0,0\(gp\) 114: R_MIPS_GOT16 \.bss 0+0118 <.*> nop -0+011c <.*> addiu \$a0,\$a0,0 +0+011c <.*> addiu a0,a0,0 11c: R_MIPS_LO16 \.bss -0+0120 <.*> lb \$a0,1\(\$a0\) -0+0124 <.*> lw \$a0,0\(\$gp\) +0+0120 <.*> lb a0,1\(a0\) +0+0124 <.*> lw a0,0\(gp\) 124: R_MIPS_GOT16 \.bss 0+0128 <.*> nop -0+012c <.*> addiu \$a0,\$a0,1000 +0+012c <.*> addiu a0,a0,1000 12c: R_MIPS_LO16 \.bss -0+0130 <.*> lb \$a0,1\(\$a0\) -0+0134 <.*> lw \$a0,0\(\$gp\) +0+0130 <.*> lb a0,1\(a0\) +0+0134 <.*> lw a0,0\(gp\) 134: R_MIPS_GOT16 \.data 0+0138 <.*> nop -0+013c <.*> addiu \$a0,\$a0,0 +0+013c <.*> addiu a0,a0,0 13c: R_MIPS_LO16 \.data -0+0140 <.*> addu \$a0,\$a0,\$a1 -0+0144 <.*> lb \$a0,0\(\$a0\) -0+0148 <.*> lui \$a0,0x0 +0+0140 <.*> addu a0,a0,a1 +0+0144 <.*> lb a0,0\(a0\) +0+0148 <.*> lui a0,0x0 148: R_MIPS_GOT_HI16 big_external_data_label -0+014c <.*> addu \$a0,\$a0,\$gp -0+0150 <.*> lw \$a0,0\(\$a0\) +0+014c <.*> addu a0,a0,gp +0+0150 <.*> lw a0,0\(a0\) 150: R_MIPS_GOT_LO16 big_external_data_label -0+0154 <.*> addu \$a0,\$a0,\$a1 -0+0158 <.*> lb \$a0,0\(\$a0\) -0+015c <.*> lui \$a0,0x0 +0+0154 <.*> addu a0,a0,a1 +0+0158 <.*> lb a0,0\(a0\) +0+015c <.*> lui a0,0x0 15c: R_MIPS_GOT_HI16 small_external_data_label -0+0160 <.*> addu \$a0,\$a0,\$gp -0+0164 <.*> lw \$a0,0\(\$a0\) +0+0160 <.*> addu a0,a0,gp +0+0164 <.*> lw a0,0\(a0\) 164: R_MIPS_GOT_LO16 small_external_data_label -0+0168 <.*> addu \$a0,\$a0,\$a1 -0+016c <.*> lb \$a0,0\(\$a0\) -0+0170 <.*> lui \$a0,0x0 +0+0168 <.*> addu a0,a0,a1 +0+016c <.*> lb a0,0\(a0\) +0+0170 <.*> lui a0,0x0 170: R_MIPS_GOT_HI16 big_external_common -0+0174 <.*> addu \$a0,\$a0,\$gp -0+0178 <.*> lw \$a0,0\(\$a0\) +0+0174 <.*> addu a0,a0,gp +0+0178 <.*> lw a0,0\(a0\) 178: R_MIPS_GOT_LO16 big_external_common -0+017c <.*> addu \$a0,\$a0,\$a1 -0+0180 <.*> lb \$a0,0\(\$a0\) -0+0184 <.*> lui \$a0,0x0 +0+017c <.*> addu a0,a0,a1 +0+0180 <.*> lb a0,0\(a0\) +0+0184 <.*> lui a0,0x0 184: R_MIPS_GOT_HI16 small_external_common -0+0188 <.*> addu \$a0,\$a0,\$gp -0+018c <.*> lw \$a0,0\(\$a0\) +0+0188 <.*> addu a0,a0,gp +0+018c <.*> lw a0,0\(a0\) 18c: R_MIPS_GOT_LO16 small_external_common -0+0190 <.*> addu \$a0,\$a0,\$a1 -0+0194 <.*> lb \$a0,0\(\$a0\) -0+0198 <.*> lw \$a0,0\(\$gp\) +0+0190 <.*> addu a0,a0,a1 +0+0194 <.*> lb a0,0\(a0\) +0+0198 <.*> lw a0,0\(gp\) 198: R_MIPS_GOT16 \.bss 0+019c <.*> nop -0+01a0 <.*> addiu \$a0,\$a0,0 +0+01a0 <.*> addiu a0,a0,0 1a0: R_MIPS_LO16 \.bss -0+01a4 <.*> addu \$a0,\$a0,\$a1 -0+01a8 <.*> lb \$a0,0\(\$a0\) -0+01ac <.*> lw \$a0,0\(\$gp\) +0+01a4 <.*> addu a0,a0,a1 +0+01a8 <.*> lb a0,0\(a0\) +0+01ac <.*> lw a0,0\(gp\) 1ac: R_MIPS_GOT16 \.bss 0+01b0 <.*> nop -0+01b4 <.*> addiu \$a0,\$a0,1000 +0+01b4 <.*> addiu a0,a0,1000 1b4: R_MIPS_LO16 \.bss -0+01b8 <.*> addu \$a0,\$a0,\$a1 -0+01bc <.*> lb \$a0,0\(\$a0\) -0+01c0 <.*> lw \$a0,0\(\$gp\) +0+01b8 <.*> addu a0,a0,a1 +0+01bc <.*> lb a0,0\(a0\) +0+01c0 <.*> lw a0,0\(gp\) 1c0: R_MIPS_GOT16 \.data 0+01c4 <.*> nop -0+01c8 <.*> addiu \$a0,\$a0,0 +0+01c8 <.*> addiu a0,a0,0 1c8: R_MIPS_LO16 \.data -0+01cc <.*> addu \$a0,\$a0,\$a1 -0+01d0 <.*> lb \$a0,1\(\$a0\) -0+01d4 <.*> lui \$a0,0x0 +0+01cc <.*> addu a0,a0,a1 +0+01d0 <.*> lb a0,1\(a0\) +0+01d4 <.*> lui a0,0x0 1d4: R_MIPS_GOT_HI16 big_external_data_label -0+01d8 <.*> addu \$a0,\$a0,\$gp -0+01dc <.*> lw \$a0,0\(\$a0\) +0+01d8 <.*> addu a0,a0,gp +0+01dc <.*> lw a0,0\(a0\) 1dc: R_MIPS_GOT_LO16 big_external_data_label -0+01e0 <.*> addu \$a0,\$a0,\$a1 -0+01e4 <.*> lb \$a0,1\(\$a0\) -0+01e8 <.*> lui \$a0,0x0 +0+01e0 <.*> addu a0,a0,a1 +0+01e4 <.*> lb a0,1\(a0\) +0+01e8 <.*> lui a0,0x0 1e8: R_MIPS_GOT_HI16 small_external_data_label -0+01ec <.*> addu \$a0,\$a0,\$gp -0+01f0 <.*> lw \$a0,0\(\$a0\) +0+01ec <.*> addu a0,a0,gp +0+01f0 <.*> lw a0,0\(a0\) 1f0: R_MIPS_GOT_LO16 small_external_data_label -0+01f4 <.*> addu \$a0,\$a0,\$a1 -0+01f8 <.*> lb \$a0,1\(\$a0\) -0+01fc <.*> lui \$a0,0x0 +0+01f4 <.*> addu a0,a0,a1 +0+01f8 <.*> lb a0,1\(a0\) +0+01fc <.*> lui a0,0x0 1fc: R_MIPS_GOT_HI16 big_external_common -0+0200 <.*> addu \$a0,\$a0,\$gp -0+0204 <.*> lw \$a0,0\(\$a0\) +0+0200 <.*> addu a0,a0,gp +0+0204 <.*> lw a0,0\(a0\) 204: R_MIPS_GOT_LO16 big_external_common -0+0208 <.*> addu \$a0,\$a0,\$a1 -0+020c <.*> lb \$a0,1\(\$a0\) -0+0210 <.*> lui \$a0,0x0 +0+0208 <.*> addu a0,a0,a1 +0+020c <.*> lb a0,1\(a0\) +0+0210 <.*> lui a0,0x0 210: R_MIPS_GOT_HI16 small_external_common -0+0214 <.*> addu \$a0,\$a0,\$gp -0+0218 <.*> lw \$a0,0\(\$a0\) +0+0214 <.*> addu a0,a0,gp +0+0218 <.*> lw a0,0\(a0\) 218: R_MIPS_GOT_LO16 small_external_common -0+021c <.*> addu \$a0,\$a0,\$a1 -0+0220 <.*> lb \$a0,1\(\$a0\) -0+0224 <.*> lw \$a0,0\(\$gp\) +0+021c <.*> addu a0,a0,a1 +0+0220 <.*> lb a0,1\(a0\) +0+0224 <.*> lw a0,0\(gp\) 224: R_MIPS_GOT16 \.bss 0+0228 <.*> nop -0+022c <.*> addiu \$a0,\$a0,0 +0+022c <.*> addiu a0,a0,0 22c: R_MIPS_LO16 \.bss -0+0230 <.*> addu \$a0,\$a0,\$a1 -0+0234 <.*> lb \$a0,1\(\$a0\) -0+0238 <.*> lw \$a0,0\(\$gp\) +0+0230 <.*> addu a0,a0,a1 +0+0234 <.*> lb a0,1\(a0\) +0+0238 <.*> lw a0,0\(gp\) 238: R_MIPS_GOT16 \.bss 0+023c <.*> nop -0+0240 <.*> addiu \$a0,\$a0,1000 +0+0240 <.*> addiu a0,a0,1000 240: R_MIPS_LO16 \.bss -0+0244 <.*> addu \$a0,\$a0,\$a1 -0+0248 <.*> lb \$a0,1\(\$a0\) +0+0244 <.*> addu a0,a0,a1 +0+0248 <.*> lb a0,1\(a0\) 0+024c <.*> nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/lb-xgot.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/lb-xgot.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/lb-xgot.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/lb-xgot.d Mon May 21 10:37:02 2001 @@ -8,235 +8,235 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lb \$a0,0\(\$zero\) -0+0004 <[^>]*> lb \$a0,1\(\$zero\) -0+0008 <[^>]*> lui \$a0,0x1 -0+000c <[^>]*> lb \$a0,-32768\(\$a0\) -0+0010 <[^>]*> lb \$a0,-32768\(\$zero\) -0+0014 <[^>]*> lui \$a0,0x1 -0+0018 <[^>]*> lb \$a0,0\(\$a0\) -0+001c <[^>]*> lui \$a0,0x2 -0+0020 <[^>]*> lb \$a0,-23131\(\$a0\) -0+0024 <[^>]*> lb \$a0,0\(\$a1\) -0+0028 <[^>]*> lb \$a0,1\(\$a1\) -0+002c <[^>]*> lui \$a0,0x1 -0+0030 <[^>]*> addu \$a0,\$a0,\$a1 -0+0034 <[^>]*> lb \$a0,-32768\(\$a0\) -0+0038 <[^>]*> lb \$a0,-32768\(\$a1\) -0+003c <[^>]*> lui \$a0,0x1 -0+0040 <[^>]*> addu \$a0,\$a0,\$a1 -0+0044 <[^>]*> lb \$a0,0\(\$a0\) -0+0048 <[^>]*> lui \$a0,0x2 -0+004c <[^>]*> addu \$a0,\$a0,\$a1 -0+0050 <[^>]*> lb \$a0,-23131\(\$a0\) -0+0054 <[^>]*> lw \$a0,0\(\$gp\) +0+0000 <[^>]*> lb a0,0\(zero\) +0+0004 <[^>]*> lb a0,1\(zero\) +0+0008 <[^>]*> lui a0,0x1 +0+000c <[^>]*> lb a0,-32768\(a0\) +0+0010 <[^>]*> lb a0,-32768\(zero\) +0+0014 <[^>]*> lui a0,0x1 +0+0018 <[^>]*> lb a0,0\(a0\) +0+001c <[^>]*> lui a0,0x2 +0+0020 <[^>]*> lb a0,-23131\(a0\) +0+0024 <[^>]*> lb a0,0\(a1\) +0+0028 <[^>]*> lb a0,1\(a1\) +0+002c <[^>]*> lui a0,0x1 +0+0030 <[^>]*> addu a0,a0,a1 +0+0034 <[^>]*> lb a0,-32768\(a0\) +0+0038 <[^>]*> lb a0,-32768\(a1\) +0+003c <[^>]*> lui a0,0x1 +0+0040 <[^>]*> addu a0,a0,a1 +0+0044 <[^>]*> lb a0,0\(a0\) +0+0048 <[^>]*> lui a0,0x2 +0+004c <[^>]*> addu a0,a0,a1 +0+0050 <[^>]*> lb a0,-23131\(a0\) +0+0054 <[^>]*> lw a0,0\(gp\) [ ]*54: R_MIPS_GOT16 .data 0+0058 <[^>]*> nop -0+005c <[^>]*> addiu \$a0,\$a0,0 +0+005c <[^>]*> addiu a0,a0,0 [ ]*5c: R_MIPS_LO16 .data 0+0060 <[^>]*> nop -0+0064 <[^>]*> lb \$a0,0\(\$a0\) -0+0068 <[^>]*> lui \$a0,0x0 +0+0064 <[^>]*> lb a0,0\(a0\) +0+0068 <[^>]*> lui a0,0x0 [ ]*68: R_MIPS_GOT_HI16 big_external_data_label -0+006c <[^>]*> addu \$a0,\$a0,\$gp -0+0070 <[^>]*> lw \$a0,0\(\$a0\) +0+006c <[^>]*> addu a0,a0,gp +0+0070 <[^>]*> lw a0,0\(a0\) [ ]*70: R_MIPS_GOT_LO16 big_external_data_label 0+0074 <[^>]*> nop -0+0078 <[^>]*> lb \$a0,0\(\$a0\) -0+007c <[^>]*> lui \$a0,0x0 +0+0078 <[^>]*> lb a0,0\(a0\) +0+007c <[^>]*> lui a0,0x0 [ ]*7c: R_MIPS_GOT_HI16 small_external_data_label -0+0080 <[^>]*> addu \$a0,\$a0,\$gp -0+0084 <[^>]*> lw \$a0,0\(\$a0\) +0+0080 <[^>]*> addu a0,a0,gp +0+0084 <[^>]*> lw a0,0\(a0\) [ ]*84: R_MIPS_GOT_LO16 small_external_data_label 0+0088 <[^>]*> nop -0+008c <[^>]*> lb \$a0,0\(\$a0\) -0+0090 <[^>]*> lui \$a0,0x0 +0+008c <[^>]*> lb a0,0\(a0\) +0+0090 <[^>]*> lui a0,0x0 [ ]*90: R_MIPS_GOT_HI16 big_external_common -0+0094 <[^>]*> addu \$a0,\$a0,\$gp -0+0098 <[^>]*> lw \$a0,0\(\$a0\) +0+0094 <[^>]*> addu a0,a0,gp +0+0098 <[^>]*> lw a0,0\(a0\) [ ]*98: R_MIPS_GOT_LO16 big_external_common 0+009c <[^>]*> nop -0+00a0 <[^>]*> lb \$a0,0\(\$a0\) -0+00a4 <[^>]*> lui \$a0,0x0 +0+00a0 <[^>]*> lb a0,0\(a0\) +0+00a4 <[^>]*> lui a0,0x0 [ ]*a4: R_MIPS_GOT_HI16 small_external_common -0+00a8 <[^>]*> addu \$a0,\$a0,\$gp -0+00ac <[^>]*> lw \$a0,0\(\$a0\) +0+00a8 <[^>]*> addu a0,a0,gp +0+00ac <[^>]*> lw a0,0\(a0\) [ ]*ac: R_MIPS_GOT_LO16 small_external_common 0+00b0 <[^>]*> nop -0+00b4 <[^>]*> lb \$a0,0\(\$a0\) -0+00b8 <[^>]*> lw \$a0,0\(\$gp\) +0+00b4 <[^>]*> lb a0,0\(a0\) +0+00b8 <[^>]*> lw a0,0\(gp\) [ ]*b8: R_MIPS_GOT16 .bss 0+00bc <[^>]*> nop -0+00c0 <[^>]*> addiu \$a0,\$a0,0 +0+00c0 <[^>]*> addiu a0,a0,0 [ ]*c0: R_MIPS_LO16 .bss 0+00c4 <[^>]*> nop -0+00c8 <[^>]*> lb \$a0,0\(\$a0\) -0+00cc <[^>]*> lw \$a0,0\(\$gp\) +0+00c8 <[^>]*> lb a0,0\(a0\) +0+00cc <[^>]*> lw a0,0\(gp\) [ ]*cc: R_MIPS_GOT16 .bss 0+00d0 <[^>]*> nop -0+00d4 <[^>]*> addiu \$a0,\$a0,1000 +0+00d4 <[^>]*> addiu a0,a0,1000 [ ]*d4: R_MIPS_LO16 .bss 0+00d8 <[^>]*> nop -0+00dc <[^>]*> lb \$a0,0\(\$a0\) -0+00e0 <[^>]*> lw \$a0,0\(\$gp\) +0+00dc <[^>]*> lb a0,0\(a0\) +0+00e0 <[^>]*> lw a0,0\(gp\) [ ]*e0: R_MIPS_GOT16 .data 0+00e4 <[^>]*> nop -0+00e8 <[^>]*> addiu \$a0,\$a0,0 +0+00e8 <[^>]*> addiu a0,a0,0 [ ]*e8: R_MIPS_LO16 .data 0+00ec <[^>]*> nop -0+00f0 <[^>]*> lb \$a0,1\(\$a0\) -0+00f4 <[^>]*> lui \$a0,0x0 +0+00f0 <[^>]*> lb a0,1\(a0\) +0+00f4 <[^>]*> lui a0,0x0 [ ]*f4: R_MIPS_GOT_HI16 big_external_data_label -0+00f8 <[^>]*> addu \$a0,\$a0,\$gp -0+00fc <[^>]*> lw \$a0,0\(\$a0\) +0+00f8 <[^>]*> addu a0,a0,gp +0+00fc <[^>]*> lw a0,0\(a0\) [ ]*fc: R_MIPS_GOT_LO16 big_external_data_label 0+0100 <[^>]*> nop -0+0104 <[^>]*> lb \$a0,1\(\$a0\) -0+0108 <[^>]*> lui \$a0,0x0 +0+0104 <[^>]*> lb a0,1\(a0\) +0+0108 <[^>]*> lui a0,0x0 [ ]*108: R_MIPS_GOT_HI16 small_external_data_label -0+010c <[^>]*> addu \$a0,\$a0,\$gp -0+0110 <[^>]*> lw \$a0,0\(\$a0\) +0+010c <[^>]*> addu a0,a0,gp +0+0110 <[^>]*> lw a0,0\(a0\) [ ]*110: R_MIPS_GOT_LO16 small_external_data_label 0+0114 <[^>]*> nop -0+0118 <[^>]*> lb \$a0,1\(\$a0\) -0+011c <[^>]*> lui \$a0,0x0 +0+0118 <[^>]*> lb a0,1\(a0\) +0+011c <[^>]*> lui a0,0x0 [ ]*11c: R_MIPS_GOT_HI16 big_external_common -0+0120 <[^>]*> addu \$a0,\$a0,\$gp -0+0124 <[^>]*> lw \$a0,0\(\$a0\) +0+0120 <[^>]*> addu a0,a0,gp +0+0124 <[^>]*> lw a0,0\(a0\) [ ]*124: R_MIPS_GOT_LO16 big_external_common 0+0128 <[^>]*> nop -0+012c <[^>]*> lb \$a0,1\(\$a0\) -0+0130 <[^>]*> lui \$a0,0x0 +0+012c <[^>]*> lb a0,1\(a0\) +0+0130 <[^>]*> lui a0,0x0 [ ]*130: R_MIPS_GOT_HI16 small_external_common -0+0134 <[^>]*> addu \$a0,\$a0,\$gp -0+0138 <[^>]*> lw \$a0,0\(\$a0\) +0+0134 <[^>]*> addu a0,a0,gp +0+0138 <[^>]*> lw a0,0\(a0\) [ ]*138: R_MIPS_GOT_LO16 small_external_common 0+013c <[^>]*> nop -0+0140 <[^>]*> lb \$a0,1\(\$a0\) -0+0144 <[^>]*> lw \$a0,0\(\$gp\) +0+0140 <[^>]*> lb a0,1\(a0\) +0+0144 <[^>]*> lw a0,0\(gp\) [ ]*144: R_MIPS_GOT16 .bss 0+0148 <[^>]*> nop -0+014c <[^>]*> addiu \$a0,\$a0,0 +0+014c <[^>]*> addiu a0,a0,0 [ ]*14c: R_MIPS_LO16 .bss 0+0150 <[^>]*> nop -0+0154 <[^>]*> lb \$a0,1\(\$a0\) -0+0158 <[^>]*> lw \$a0,0\(\$gp\) +0+0154 <[^>]*> lb a0,1\(a0\) +0+0158 <[^>]*> lw a0,0\(gp\) [ ]*158: R_MIPS_GOT16 .bss 0+015c <[^>]*> nop -0+0160 <[^>]*> addiu \$a0,\$a0,1000 +0+0160 <[^>]*> addiu a0,a0,1000 [ ]*160: R_MIPS_LO16 .bss 0+0164 <[^>]*> nop -0+0168 <[^>]*> lb \$a0,1\(\$a0\) -0+016c <[^>]*> lw \$a0,0\(\$gp\) +0+0168 <[^>]*> lb a0,1\(a0\) +0+016c <[^>]*> lw a0,0\(gp\) [ ]*16c: R_MIPS_GOT16 .data 0+0170 <[^>]*> nop -0+0174 <[^>]*> addiu \$a0,\$a0,0 +0+0174 <[^>]*> addiu a0,a0,0 [ ]*174: R_MIPS_LO16 .data 0+0178 <[^>]*> nop -0+017c <[^>]*> addu \$a0,\$a0,\$a1 -0+0180 <[^>]*> lb \$a0,0\(\$a0\) -0+0184 <[^>]*> lui \$a0,0x0 +0+017c <[^>]*> addu a0,a0,a1 +0+0180 <[^>]*> lb a0,0\(a0\) +0+0184 <[^>]*> lui a0,0x0 [ ]*184: R_MIPS_GOT_HI16 big_external_data_label -0+0188 <[^>]*> addu \$a0,\$a0,\$gp -0+018c <[^>]*> lw \$a0,0\(\$a0\) +0+0188 <[^>]*> addu a0,a0,gp +0+018c <[^>]*> lw a0,0\(a0\) [ ]*18c: R_MIPS_GOT_LO16 big_external_data_label 0+0190 <[^>]*> nop -0+0194 <[^>]*> addu \$a0,\$a0,\$a1 -0+0198 <[^>]*> lb \$a0,0\(\$a0\) -0+019c <[^>]*> lui \$a0,0x0 +0+0194 <[^>]*> addu a0,a0,a1 +0+0198 <[^>]*> lb a0,0\(a0\) +0+019c <[^>]*> lui a0,0x0 [ ]*19c: R_MIPS_GOT_HI16 small_external_data_label -0+01a0 <[^>]*> addu \$a0,\$a0,\$gp -0+01a4 <[^>]*> lw \$a0,0\(\$a0\) +0+01a0 <[^>]*> addu a0,a0,gp +0+01a4 <[^>]*> lw a0,0\(a0\) [ ]*1a4: R_MIPS_GOT_LO16 small_external_data_label 0+01a8 <[^>]*> nop -0+01ac <[^>]*> addu \$a0,\$a0,\$a1 -0+01b0 <[^>]*> lb \$a0,0\(\$a0\) -0+01b4 <[^>]*> lui \$a0,0x0 +0+01ac <[^>]*> addu a0,a0,a1 +0+01b0 <[^>]*> lb a0,0\(a0\) +0+01b4 <[^>]*> lui a0,0x0 [ ]*1b4: R_MIPS_GOT_HI16 big_external_common -0+01b8 <[^>]*> addu \$a0,\$a0,\$gp -0+01bc <[^>]*> lw \$a0,0\(\$a0\) +0+01b8 <[^>]*> addu a0,a0,gp +0+01bc <[^>]*> lw a0,0\(a0\) [ ]*1bc: R_MIPS_GOT_LO16 big_external_common 0+01c0 <[^>]*> nop -0+01c4 <[^>]*> addu \$a0,\$a0,\$a1 -0+01c8 <[^>]*> lb \$a0,0\(\$a0\) -0+01cc <[^>]*> lui \$a0,0x0 +0+01c4 <[^>]*> addu a0,a0,a1 +0+01c8 <[^>]*> lb a0,0\(a0\) +0+01cc <[^>]*> lui a0,0x0 [ ]*1cc: R_MIPS_GOT_HI16 small_external_common -0+01d0 <[^>]*> addu \$a0,\$a0,\$gp -0+01d4 <[^>]*> lw \$a0,0\(\$a0\) +0+01d0 <[^>]*> addu a0,a0,gp +0+01d4 <[^>]*> lw a0,0\(a0\) [ ]*1d4: R_MIPS_GOT_LO16 small_external_common 0+01d8 <[^>]*> nop -0+01dc <[^>]*> addu \$a0,\$a0,\$a1 -0+01e0 <[^>]*> lb \$a0,0\(\$a0\) -0+01e4 <[^>]*> lw \$a0,0\(\$gp\) +0+01dc <[^>]*> addu a0,a0,a1 +0+01e0 <[^>]*> lb a0,0\(a0\) +0+01e4 <[^>]*> lw a0,0\(gp\) [ ]*1e4: R_MIPS_GOT16 .bss 0+01e8 <[^>]*> nop -0+01ec <[^>]*> addiu \$a0,\$a0,0 +0+01ec <[^>]*> addiu a0,a0,0 [ ]*1ec: R_MIPS_LO16 .bss 0+01f0 <[^>]*> nop -0+01f4 <[^>]*> addu \$a0,\$a0,\$a1 -0+01f8 <[^>]*> lb \$a0,0\(\$a0\) -0+01fc <[^>]*> lw \$a0,0\(\$gp\) +0+01f4 <[^>]*> addu a0,a0,a1 +0+01f8 <[^>]*> lb a0,0\(a0\) +0+01fc <[^>]*> lw a0,0\(gp\) [ ]*1fc: R_MIPS_GOT16 .bss 0+0200 <[^>]*> nop -0+0204 <[^>]*> addiu \$a0,\$a0,1000 +0+0204 <[^>]*> addiu a0,a0,1000 [ ]*204: R_MIPS_LO16 .bss 0+0208 <[^>]*> nop -0+020c <[^>]*> addu \$a0,\$a0,\$a1 -0+0210 <[^>]*> lb \$a0,0\(\$a0\) -0+0214 <[^>]*> lw \$a0,0\(\$gp\) +0+020c <[^>]*> addu a0,a0,a1 +0+0210 <[^>]*> lb a0,0\(a0\) +0+0214 <[^>]*> lw a0,0\(gp\) [ ]*214: R_MIPS_GOT16 .data 0+0218 <[^>]*> nop -0+021c <[^>]*> addiu \$a0,\$a0,0 +0+021c <[^>]*> addiu a0,a0,0 [ ]*21c: R_MIPS_LO16 .data 0+0220 <[^>]*> nop -0+0224 <[^>]*> addu \$a0,\$a0,\$a1 -0+0228 <[^>]*> lb \$a0,1\(\$a0\) -0+022c <[^>]*> lui \$a0,0x0 +0+0224 <[^>]*> addu a0,a0,a1 +0+0228 <[^>]*> lb a0,1\(a0\) +0+022c <[^>]*> lui a0,0x0 [ ]*22c: R_MIPS_GOT_HI16 big_external_data_label -0+0230 <[^>]*> addu \$a0,\$a0,\$gp -0+0234 <[^>]*> lw \$a0,0\(\$a0\) +0+0230 <[^>]*> addu a0,a0,gp +0+0234 <[^>]*> lw a0,0\(a0\) [ ]*234: R_MIPS_GOT_LO16 big_external_data_label 0+0238 <[^>]*> nop -0+023c <[^>]*> addu \$a0,\$a0,\$a1 -0+0240 <[^>]*> lb \$a0,1\(\$a0\) -0+0244 <[^>]*> lui \$a0,0x0 +0+023c <[^>]*> addu a0,a0,a1 +0+0240 <[^>]*> lb a0,1\(a0\) +0+0244 <[^>]*> lui a0,0x0 [ ]*244: R_MIPS_GOT_HI16 small_external_data_label -0+0248 <[^>]*> addu \$a0,\$a0,\$gp -0+024c <[^>]*> lw \$a0,0\(\$a0\) +0+0248 <[^>]*> addu a0,a0,gp +0+024c <[^>]*> lw a0,0\(a0\) [ ]*24c: R_MIPS_GOT_LO16 small_external_data_label 0+0250 <[^>]*> nop -0+0254 <[^>]*> addu \$a0,\$a0,\$a1 -0+0258 <[^>]*> lb \$a0,1\(\$a0\) -0+025c <[^>]*> lui \$a0,0x0 +0+0254 <[^>]*> addu a0,a0,a1 +0+0258 <[^>]*> lb a0,1\(a0\) +0+025c <[^>]*> lui a0,0x0 [ ]*25c: R_MIPS_GOT_HI16 big_external_common -0+0260 <[^>]*> addu \$a0,\$a0,\$gp -0+0264 <[^>]*> lw \$a0,0\(\$a0\) +0+0260 <[^>]*> addu a0,a0,gp +0+0264 <[^>]*> lw a0,0\(a0\) [ ]*264: R_MIPS_GOT_LO16 big_external_common 0+0268 <[^>]*> nop -0+026c <[^>]*> addu \$a0,\$a0,\$a1 -0+0270 <[^>]*> lb \$a0,1\(\$a0\) -0+0274 <[^>]*> lui \$a0,0x0 +0+026c <[^>]*> addu a0,a0,a1 +0+0270 <[^>]*> lb a0,1\(a0\) +0+0274 <[^>]*> lui a0,0x0 [ ]*274: R_MIPS_GOT_HI16 small_external_common -0+0278 <[^>]*> addu \$a0,\$a0,\$gp -0+027c <[^>]*> lw \$a0,0\(\$a0\) +0+0278 <[^>]*> addu a0,a0,gp +0+027c <[^>]*> lw a0,0\(a0\) [ ]*27c: R_MIPS_GOT_LO16 small_external_common 0+0280 <[^>]*> nop -0+0284 <[^>]*> addu \$a0,\$a0,\$a1 -0+0288 <[^>]*> lb \$a0,1\(\$a0\) -0+028c <[^>]*> lw \$a0,0\(\$gp\) +0+0284 <[^>]*> addu a0,a0,a1 +0+0288 <[^>]*> lb a0,1\(a0\) +0+028c <[^>]*> lw a0,0\(gp\) [ ]*28c: R_MIPS_GOT16 .bss 0+0290 <[^>]*> nop -0+0294 <[^>]*> addiu \$a0,\$a0,0 +0+0294 <[^>]*> addiu a0,a0,0 [ ]*294: R_MIPS_LO16 .bss 0+0298 <[^>]*> nop -0+029c <[^>]*> addu \$a0,\$a0,\$a1 -0+02a0 <[^>]*> lb \$a0,1\(\$a0\) -0+02a4 <[^>]*> lw \$a0,0\(\$gp\) +0+029c <[^>]*> addu a0,a0,a1 +0+02a0 <[^>]*> lb a0,1\(a0\) +0+02a4 <[^>]*> lw a0,0\(gp\) [ ]*2a4: R_MIPS_GOT16 .bss 0+02a8 <[^>]*> nop -0+02ac <[^>]*> addiu \$a0,\$a0,1000 +0+02ac <[^>]*> addiu a0,a0,1000 [ ]*2ac: R_MIPS_LO16 .bss 0+02b0 <[^>]*> nop -0+02b4 <[^>]*> addu \$a0,\$a0,\$a1 -0+02b8 <[^>]*> lb \$a0,1\(\$a0\) +0+02b4 <[^>]*> addu a0,a0,a1 +0+02b8 <[^>]*> lb a0,1\(a0\) 0+02bc <[^>]*> nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/lb.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/lb.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/lb.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/lb.d Mon May 21 10:37:02 2001 @@ -7,389 +7,389 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lb \$a0,0\(\$zero\) -0+0004 <[^>]*> lb \$a0,1\(\$zero\) -0+0008 <[^>]*> lui \$a0,0x1 -0+000c <[^>]*> lb \$a0,-32768\(\$a0\) -0+0010 <[^>]*> lb \$a0,-32768\(\$zero\) -0+0014 <[^>]*> lui \$a0,0x1 -0+0018 <[^>]*> lb \$a0,0\(\$a0\) -0+001c <[^>]*> lui \$a0,0x2 -0+0020 <[^>]*> lb \$a0,-23131\(\$a0\) -0+0024 <[^>]*> lb \$a0,0\(\$a1\) -0+0028 <[^>]*> lb \$a0,1\(\$a1\) -0+002c <[^>]*> lui \$a0,0x1 -0+0030 <[^>]*> addu \$a0,\$a0,\$a1 -0+0034 <[^>]*> lb \$a0,-32768\(\$a0\) -0+0038 <[^>]*> lb \$a0,-32768\(\$a1\) -0+003c <[^>]*> lui \$a0,0x1 -0+0040 <[^>]*> addu \$a0,\$a0,\$a1 -0+0044 <[^>]*> lb \$a0,0\(\$a0\) -0+0048 <[^>]*> lui \$a0,0x2 -0+004c <[^>]*> addu \$a0,\$a0,\$a1 -0+0050 <[^>]*> lb \$a0,-23131\(\$a0\) -0+0054 <[^>]*> lui \$a0,0x0 +0+0000 <[^>]*> lb a0,0\(zero\) +0+0004 <[^>]*> lb a0,1\(zero\) +0+0008 <[^>]*> lui a0,0x1 +0+000c <[^>]*> lb a0,-32768\(a0\) +0+0010 <[^>]*> lb a0,-32768\(zero\) +0+0014 <[^>]*> lui a0,0x1 +0+0018 <[^>]*> lb a0,0\(a0\) +0+001c <[^>]*> lui a0,0x2 +0+0020 <[^>]*> lb a0,-23131\(a0\) +0+0024 <[^>]*> lb a0,0\(a1\) +0+0028 <[^>]*> lb a0,1\(a1\) +0+002c <[^>]*> lui a0,0x1 +0+0030 <[^>]*> addu a0,a0,a1 +0+0034 <[^>]*> lb a0,-32768\(a0\) +0+0038 <[^>]*> lb a0,-32768\(a1\) +0+003c <[^>]*> lui a0,0x1 +0+0040 <[^>]*> addu a0,a0,a1 +0+0044 <[^>]*> lb a0,0\(a0\) +0+0048 <[^>]*> lui a0,0x2 +0+004c <[^>]*> addu a0,a0,a1 +0+0050 <[^>]*> lb a0,-23131\(a0\) +0+0054 <[^>]*> lui a0,0x0 [ ]*54: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0058 <[^>]*> lb \$a0,[0-9]+\(\$a0\) +0+0058 <[^>]*> lb a0,[0-9]+\(a0\) [ ]*58: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+005c <[^>]*> lui \$a0,0x0 +0+005c <[^>]*> lui a0,0x0 [ ]*5c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0060 <[^>]*> lb \$a0,0\(\$a0\) +0+0060 <[^>]*> lb a0,0\(a0\) [ ]*60: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0064 <[^>]*> lb \$a0,0\(\$gp\) +0+0064 <[^>]*> lb a0,0\(gp\) [ ]*64: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0068 <[^>]*> lui \$a0,0x0 +0+0068 <[^>]*> lui a0,0x0 [ ]*68: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+006c <[^>]*> lb \$a0,0\(\$a0\) +0+006c <[^>]*> lb a0,0\(a0\) [ ]*6c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0070 <[^>]*> lb \$a0,0\(\$gp\) +0+0070 <[^>]*> lb a0,0\(gp\) [ ]*70: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0074 <[^>]*> lui \$a0,0x0 +0+0074 <[^>]*> lui a0,0x0 [ ]*74: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0078 <[^>]*> lb \$a0,[0-9]+\(\$a0\) +0+0078 <[^>]*> lb a0,[0-9]+\(a0\) [ ]*78: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+007c <[^>]*> lb \$a0,-16384\(\$gp\) +0+007c <[^>]*> lb a0,-16384\(gp\) [ ]*7c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0080 <[^>]*> lui \$a0,0x0 +0+0080 <[^>]*> lui a0,0x0 [ ]*80: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0084 <[^>]*> lb \$a0,[0-9]+\(\$a0\) +0+0084 <[^>]*> lb a0,[0-9]+\(a0\) [ ]*84: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0088 <[^>]*> lui \$a0,0x0 +0+0088 <[^>]*> lui a0,0x0 [ ]*88: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+008c <[^>]*> lb \$a0,1\(\$a0\) +0+008c <[^>]*> lb a0,1\(a0\) [ ]*8c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0090 <[^>]*> lb \$a0,1\(\$gp\) +0+0090 <[^>]*> lb a0,1\(gp\) [ ]*90: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0094 <[^>]*> lui \$a0,0x0 +0+0094 <[^>]*> lui a0,0x0 [ ]*94: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0098 <[^>]*> lb \$a0,1\(\$a0\) +0+0098 <[^>]*> lb a0,1\(a0\) [ ]*98: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+009c <[^>]*> lb \$a0,1\(\$gp\) +0+009c <[^>]*> lb a0,1\(gp\) [ ]*9c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00a0 <[^>]*> lui \$a0,0x0 +0+00a0 <[^>]*> lui a0,0x0 [ ]*a0: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+00a4 <[^>]*> lb \$a0,[0-9]+\(\$a0\) +0+00a4 <[^>]*> lb a0,[0-9]+\(a0\) [ ]*a4: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00a8 <[^>]*> lb \$a0,[-0-9]+\(\$gp\) +0+00a8 <[^>]*> lb a0,[-0-9]+\(gp\) [ ]*a8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00ac <[^>]*> lui \$a0,[-0-9x]+ +0+00ac <[^>]*> lui a0,[-0-9x]+ [ ]*ac: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+00b0 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+00b0 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*b0: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00b4 <[^>]*> lui \$a0,[-0-9x]+ +0+00b4 <[^>]*> lui a0,[-0-9x]+ [ ]*b4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00b8 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+00b8 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*b8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00bc <[^>]*> lui \$a0,[-0-9x]+ +0+00bc <[^>]*> lui a0,[-0-9x]+ [ ]*bc: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+00c0 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+00c0 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*c0: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+00c4 <[^>]*> lui \$a0,[-0-9x]+ +0+00c4 <[^>]*> lui a0,[-0-9x]+ [ ]*c4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00c8 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+00c8 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*c8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00cc <[^>]*> lui \$a0,[-0-9x]+ +0+00cc <[^>]*> lui a0,[-0-9x]+ [ ]*cc: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+00d0 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+00d0 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*d0: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+00d4 <[^>]*> lui \$a0,[-0-9x]+ +0+00d4 <[^>]*> lui a0,[-0-9x]+ [ ]*d4: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+00d8 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+00d8 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*d8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00dc <[^>]*> lui \$a0,[-0-9x]+ +0+00dc <[^>]*> lui a0,[-0-9x]+ [ ]*dc: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+00e0 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+00e0 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*e0: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+00e4 <[^>]*> lui \$a0,0x0 +0+00e4 <[^>]*> lui a0,0x0 [ ]*e4: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+00e8 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+00e8 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*e8: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00ec <[^>]*> lui \$a0,0x0 +0+00ec <[^>]*> lui a0,0x0 [ ]*ec: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00f0 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+00f0 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*f0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00f4 <[^>]*> lui \$a0,0x0 +0+00f4 <[^>]*> lui a0,0x0 [ ]*f4: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+00f8 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+00f8 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*f8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+00fc <[^>]*> lui \$a0,0x0 +0+00fc <[^>]*> lui a0,0x0 [ ]*fc: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0100 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0100 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*100: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0104 <[^>]*> lui \$a0,0x0 +0+0104 <[^>]*> lui a0,0x0 [ ]*104: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0108 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0108 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*108: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+010c <[^>]*> lui \$a0,0x0 +0+010c <[^>]*> lui a0,0x0 [ ]*10c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0110 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0110 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*110: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0114 <[^>]*> lui \$a0,0x0 +0+0114 <[^>]*> lui a0,0x0 [ ]*114: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0118 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0118 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*118: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+011c <[^>]*> lui \$a0,[-0-9x]+ +0+011c <[^>]*> lui a0,[-0-9x]+ [ ]*11c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0120 <[^>]*> lb \$a0,[0-9]+\(\$a0\) +0+0120 <[^>]*> lb a0,[0-9]+\(a0\) [ ]*120: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0124 <[^>]*> lui \$a0,[-0-9x]+ +0+0124 <[^>]*> lui a0,[-0-9x]+ [ ]*124: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0128 <[^>]*> lb \$a0,0\(\$a0\) +0+0128 <[^>]*> lb a0,0\(a0\) [ ]*128: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+012c <[^>]*> lui \$a0,[-0-9x]+ +0+012c <[^>]*> lui a0,[-0-9x]+ [ ]*12c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0130 <[^>]*> lb \$a0,0\(\$a0\) +0+0130 <[^>]*> lb a0,0\(a0\) [ ]*130: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0134 <[^>]*> lui \$a0,[-0-9x]+ +0+0134 <[^>]*> lui a0,[-0-9x]+ [ ]*134: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0138 <[^>]*> lb \$a0,0\(\$a0\) +0+0138 <[^>]*> lb a0,0\(a0\) [ ]*138: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+013c <[^>]*> lui \$a0,[-0-9x]+ +0+013c <[^>]*> lui a0,[-0-9x]+ [ ]*13c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0140 <[^>]*> lb \$a0,0\(\$a0\) +0+0140 <[^>]*> lb a0,0\(a0\) [ ]*140: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0144 <[^>]*> lui \$a0,[-0-9x]+ +0+0144 <[^>]*> lui a0,[-0-9x]+ [ ]*144: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0148 <[^>]*> lb \$a0,[0-9]+\(\$a0\) +0+0148 <[^>]*> lb a0,[0-9]+\(a0\) [ ]*148: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+014c <[^>]*> lui \$a0,[-0-9x]+ +0+014c <[^>]*> lui a0,[-0-9x]+ [ ]*14c: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0150 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0150 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*150: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0154 <[^>]*> lui \$a0,[-0-9x]+ +0+0154 <[^>]*> lui a0,[-0-9x]+ [ ]*154: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0158 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0158 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*158: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+015c <[^>]*> lui \$a0,[-0-9x]+ +0+015c <[^>]*> lui a0,[-0-9x]+ [ ]*15c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0160 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0160 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*160: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0164 <[^>]*> lui \$a0,[-0-9x]+ +0+0164 <[^>]*> lui a0,[-0-9x]+ [ ]*164: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0168 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0168 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*168: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+016c <[^>]*> lui \$a0,[-0-9x]+ +0+016c <[^>]*> lui a0,[-0-9x]+ [ ]*16c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0170 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0170 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*170: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0174 <[^>]*> lui \$a0,[-0-9x]+ +0+0174 <[^>]*> lui a0,[-0-9x]+ [ ]*174: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0178 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0178 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*178: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+017c <[^>]*> lui \$a0,[-0-9x]+ +0+017c <[^>]*> lui a0,[-0-9x]+ [ ]*17c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0180 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0180 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*180: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0184 <[^>]*> lui \$a0,[-0-9x]+ +0+0184 <[^>]*> lui a0,[-0-9x]+ [ ]*184: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0188 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0188 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*188: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+018c <[^>]*> lui \$a0,0x0 +0+018c <[^>]*> lui a0,0x0 [ ]*18c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0190 <[^>]*> addu \$a0,\$a0,\$a1 -0+0194 <[^>]*> lb \$a0,[0-9]+\(\$a0\) +0+0190 <[^>]*> addu a0,a0,a1 +0+0194 <[^>]*> lb a0,[0-9]+\(a0\) [ ]*194: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0198 <[^>]*> lui \$a0,0x0 +0+0198 <[^>]*> lui a0,0x0 [ ]*198: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+019c <[^>]*> addu \$a0,\$a0,\$a1 -0+01a0 <[^>]*> lb \$a0,0\(\$a0\) +0+019c <[^>]*> addu a0,a0,a1 +0+01a0 <[^>]*> lb a0,0\(a0\) [ ]*1a0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01a4 <[^>]*> addu \$a0,\$a1,\$gp -0+01a8 <[^>]*> lb \$a0,0\(\$a0\) +0+01a4 <[^>]*> addu a0,a1,gp +0+01a8 <[^>]*> lb a0,0\(a0\) [ ]*1a8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+01ac <[^>]*> lui \$a0,0x0 +0+01ac <[^>]*> lui a0,0x0 [ ]*1ac: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+01b0 <[^>]*> addu \$a0,\$a0,\$a1 -0+01b4 <[^>]*> lb \$a0,0\(\$a0\) +0+01b0 <[^>]*> addu a0,a0,a1 +0+01b4 <[^>]*> lb a0,0\(a0\) [ ]*1b4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01b8 <[^>]*> addu \$a0,\$a1,\$gp -0+01bc <[^>]*> lb \$a0,0\(\$a0\) +0+01b8 <[^>]*> addu a0,a1,gp +0+01bc <[^>]*> lb a0,0\(a0\) [ ]*1bc: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+01c0 <[^>]*> lui \$a0,0x0 +0+01c0 <[^>]*> lui a0,0x0 [ ]*1c0: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+01c4 <[^>]*> addu \$a0,\$a0,\$a1 -0+01c8 <[^>]*> lb \$a0,[0-9]+\(\$a0\) +0+01c4 <[^>]*> addu a0,a0,a1 +0+01c8 <[^>]*> lb a0,[0-9]+\(a0\) [ ]*1c8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+01cc <[^>]*> addu \$a0,\$a1,\$gp -0+01d0 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+01cc <[^>]*> addu a0,a1,gp +0+01d0 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*1d0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+01d4 <[^>]*> lui \$a0,0x0 +0+01d4 <[^>]*> lui a0,0x0 [ ]*1d4: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+01d8 <[^>]*> addu \$a0,\$a0,\$a1 -0+01dc <[^>]*> lb \$a0,[0-9]+\(\$a0\) +0+01d8 <[^>]*> addu a0,a0,a1 +0+01dc <[^>]*> lb a0,[0-9]+\(a0\) [ ]*1dc: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+01e0 <[^>]*> lui \$a0,0x0 +0+01e0 <[^>]*> lui a0,0x0 [ ]*1e0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+01e4 <[^>]*> addu \$a0,\$a0,\$a1 -0+01e8 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+01e4 <[^>]*> addu a0,a0,a1 +0+01e8 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*1e8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01ec <[^>]*> addu \$a0,\$a1,\$gp -0+01f0 <[^>]*> lb \$a0,1\(\$a0\) +0+01ec <[^>]*> addu a0,a1,gp +0+01f0 <[^>]*> lb a0,1\(a0\) [ ]*1f0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+01f4 <[^>]*> lui \$a0,0x0 +0+01f4 <[^>]*> lui a0,0x0 [ ]*1f4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+01f8 <[^>]*> addu \$a0,\$a0,\$a1 -0+01fc <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+01f8 <[^>]*> addu a0,a0,a1 +0+01fc <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*1fc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0200 <[^>]*> addu \$a0,\$a1,\$gp -0+0204 <[^>]*> lb \$a0,1\(\$a0\) +0+0200 <[^>]*> addu a0,a1,gp +0+0204 <[^>]*> lb a0,1\(a0\) [ ]*204: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0208 <[^>]*> lui \$a0,0x0 +0+0208 <[^>]*> lui a0,0x0 [ ]*208: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+020c <[^>]*> addu \$a0,\$a0,\$a1 -0+0210 <[^>]*> lb \$a0,[0-9]+\(\$a0\) +0+020c <[^>]*> addu a0,a0,a1 +0+0210 <[^>]*> lb a0,[0-9]+\(a0\) [ ]*210: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0214 <[^>]*> addu \$a0,\$a1,\$gp -0+0218 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0214 <[^>]*> addu a0,a1,gp +0+0218 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*218: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+021c <[^>]*> lui \$a0,[-0-9x]+ +0+021c <[^>]*> lui a0,[-0-9x]+ [ ]*21c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0220 <[^>]*> addu \$a0,\$a0,\$a1 -0+0224 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0220 <[^>]*> addu a0,a0,a1 +0+0224 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*224: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0228 <[^>]*> lui \$a0,[-0-9x]+ +0+0228 <[^>]*> lui a0,[-0-9x]+ [ ]*228: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+022c <[^>]*> addu \$a0,\$a0,\$a1 -0+0230 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+022c <[^>]*> addu a0,a0,a1 +0+0230 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*230: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0234 <[^>]*> lui \$a0,[-0-9x]+ +0+0234 <[^>]*> lui a0,[-0-9x]+ [ ]*234: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0238 <[^>]*> addu \$a0,\$a0,\$a1 -0+023c <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0238 <[^>]*> addu a0,a0,a1 +0+023c <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*23c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0240 <[^>]*> lui \$a0,[-0-9x]+ +0+0240 <[^>]*> lui a0,[-0-9x]+ [ ]*240: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0244 <[^>]*> addu \$a0,\$a0,\$a1 -0+0248 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0244 <[^>]*> addu a0,a0,a1 +0+0248 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*248: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+024c <[^>]*> lui \$a0,[-0-9x]+ +0+024c <[^>]*> lui a0,[-0-9x]+ [ ]*24c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0250 <[^>]*> addu \$a0,\$a0,\$a1 -0+0254 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0250 <[^>]*> addu a0,a0,a1 +0+0254 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*254: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0258 <[^>]*> lui \$a0,[-0-9x]+ +0+0258 <[^>]*> lui a0,[-0-9x]+ [ ]*258: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+025c <[^>]*> addu \$a0,\$a0,\$a1 -0+0260 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+025c <[^>]*> addu a0,a0,a1 +0+0260 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*260: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0264 <[^>]*> lui \$a0,[-0-9x]+ +0+0264 <[^>]*> lui a0,[-0-9x]+ [ ]*264: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0268 <[^>]*> addu \$a0,\$a0,\$a1 -0+026c <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0268 <[^>]*> addu a0,a0,a1 +0+026c <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*26c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0270 <[^>]*> lui \$a0,0x0 +0+0270 <[^>]*> lui a0,0x0 [ ]*270: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0274 <[^>]*> addu \$a0,\$a0,\$a1 -0+0278 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0274 <[^>]*> addu a0,a0,a1 +0+0278 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*278: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+027c <[^>]*> lui \$a0,0x0 +0+027c <[^>]*> lui a0,0x0 [ ]*27c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0280 <[^>]*> addu \$a0,\$a0,\$a1 -0+0284 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0280 <[^>]*> addu a0,a0,a1 +0+0284 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*284: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0288 <[^>]*> lui \$a0,0x0 +0+0288 <[^>]*> lui a0,0x0 [ ]*288: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+028c <[^>]*> addu \$a0,\$a0,\$a1 -0+0290 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+028c <[^>]*> addu a0,a0,a1 +0+0290 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*290: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0294 <[^>]*> lui \$a0,0x0 +0+0294 <[^>]*> lui a0,0x0 [ ]*294: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0298 <[^>]*> addu \$a0,\$a0,\$a1 -0+029c <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0298 <[^>]*> addu a0,a0,a1 +0+029c <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*29c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+02a0 <[^>]*> lui \$a0,0x0 +0+02a0 <[^>]*> lui a0,0x0 [ ]*2a0: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+02a4 <[^>]*> addu \$a0,\$a0,\$a1 -0+02a8 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+02a4 <[^>]*> addu a0,a0,a1 +0+02a8 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*2a8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+02ac <[^>]*> lui \$a0,0x0 +0+02ac <[^>]*> lui a0,0x0 [ ]*2ac: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+02b0 <[^>]*> addu \$a0,\$a0,\$a1 -0+02b4 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+02b0 <[^>]*> addu a0,a0,a1 +0+02b4 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*2b4: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+02b8 <[^>]*> lui \$a0,0x0 +0+02b8 <[^>]*> lui a0,0x0 [ ]*2b8: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+02bc <[^>]*> addu \$a0,\$a0,\$a1 -0+02c0 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+02bc <[^>]*> addu a0,a0,a1 +0+02c0 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*2c0: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+02c4 <[^>]*> lui \$a0,[-0-9x]+ +0+02c4 <[^>]*> lui a0,[-0-9x]+ [ ]*2c4: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+02c8 <[^>]*> addu \$a0,\$a0,\$a1 -0+02cc <[^>]*> lb \$a0,[0-9]+\(\$a0\) +0+02c8 <[^>]*> addu a0,a0,a1 +0+02cc <[^>]*> lb a0,[0-9]+\(a0\) [ ]*2cc: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+02d0 <[^>]*> lui \$a0,[-0-9x]+ +0+02d0 <[^>]*> lui a0,[-0-9x]+ [ ]*2d0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+02d4 <[^>]*> addu \$a0,\$a0,\$a1 -0+02d8 <[^>]*> lb \$a0,0\(\$a0\) +0+02d4 <[^>]*> addu a0,a0,a1 +0+02d8 <[^>]*> lb a0,0\(a0\) [ ]*2d8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+02dc <[^>]*> lui \$a0,[-0-9x]+ +0+02dc <[^>]*> lui a0,[-0-9x]+ [ ]*2dc: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+02e0 <[^>]*> addu \$a0,\$a0,\$a1 -0+02e4 <[^>]*> lb \$a0,0\(\$a0\) +0+02e0 <[^>]*> addu a0,a0,a1 +0+02e4 <[^>]*> lb a0,0\(a0\) [ ]*2e4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+02e8 <[^>]*> lui \$a0,[-0-9x]+ +0+02e8 <[^>]*> lui a0,[-0-9x]+ [ ]*2e8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+02ec <[^>]*> addu \$a0,\$a0,\$a1 -0+02f0 <[^>]*> lb \$a0,0\(\$a0\) +0+02ec <[^>]*> addu a0,a0,a1 +0+02f0 <[^>]*> lb a0,0\(a0\) [ ]*2f0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+02f4 <[^>]*> lui \$a0,[-0-9x]+ +0+02f4 <[^>]*> lui a0,[-0-9x]+ [ ]*2f4: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+02f8 <[^>]*> addu \$a0,\$a0,\$a1 -0+02fc <[^>]*> lb \$a0,0\(\$a0\) +0+02f8 <[^>]*> addu a0,a0,a1 +0+02fc <[^>]*> lb a0,0\(a0\) [ ]*2fc: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0300 <[^>]*> lui \$a0,[-0-9x]+ +0+0300 <[^>]*> lui a0,[-0-9x]+ [ ]*300: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0304 <[^>]*> addu \$a0,\$a0,\$a1 -0+0308 <[^>]*> lb \$a0,[0-9]+\(\$a0\) +0+0304 <[^>]*> addu a0,a0,a1 +0+0308 <[^>]*> lb a0,[0-9]+\(a0\) [ ]*308: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+030c <[^>]*> lui \$a0,[-0-9x]+ +0+030c <[^>]*> lui a0,[-0-9x]+ [ ]*30c: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0310 <[^>]*> addu \$a0,\$a0,\$a1 -0+0314 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0310 <[^>]*> addu a0,a0,a1 +0+0314 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*314: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0318 <[^>]*> lui \$a0,[-0-9x]+ +0+0318 <[^>]*> lui a0,[-0-9x]+ [ ]*318: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+031c <[^>]*> addu \$a0,\$a0,\$a1 -0+0320 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+031c <[^>]*> addu a0,a0,a1 +0+0320 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*320: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0324 <[^>]*> lui \$a0,[-0-9x]+ +0+0324 <[^>]*> lui a0,[-0-9x]+ [ ]*324: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0328 <[^>]*> addu \$a0,\$a0,\$a1 -0+032c <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0328 <[^>]*> addu a0,a0,a1 +0+032c <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*32c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0330 <[^>]*> lui \$a0,[-0-9x]+ +0+0330 <[^>]*> lui a0,[-0-9x]+ [ ]*330: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0334 <[^>]*> addu \$a0,\$a0,\$a1 -0+0338 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0334 <[^>]*> addu a0,a0,a1 +0+0338 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*338: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+033c <[^>]*> lui \$a0,[-0-9x]+ +0+033c <[^>]*> lui a0,[-0-9x]+ [ ]*33c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0340 <[^>]*> addu \$a0,\$a0,\$a1 -0+0344 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0340 <[^>]*> addu a0,a0,a1 +0+0344 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*344: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0348 <[^>]*> lui \$a0,[-0-9x]+ +0+0348 <[^>]*> lui a0,[-0-9x]+ [ ]*348: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+034c <[^>]*> addu \$a0,\$a0,\$a1 -0+0350 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+034c <[^>]*> addu a0,a0,a1 +0+0350 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*350: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0354 <[^>]*> lui \$a0,[-0-9x]+ +0+0354 <[^>]*> lui a0,[-0-9x]+ [ ]*354: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0358 <[^>]*> addu \$a0,\$a0,\$a1 -0+035c <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0358 <[^>]*> addu a0,a0,a1 +0+035c <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*35c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0360 <[^>]*> lui \$a0,[-0-9x]+ +0+0360 <[^>]*> lui a0,[-0-9x]+ [ ]*360: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0364 <[^>]*> addu \$a0,\$a0,\$a1 -0+0368 <[^>]*> lb \$a0,[-0-9]+\(\$a0\) +0+0364 <[^>]*> addu a0,a0,a1 +0+0368 <[^>]*> lb a0,[-0-9]+\(a0\) [ ]*368: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+036c <[^>]*> lbu \$a0,0\(\$zero\) -0+0370 <[^>]*> lh \$a0,0\(\$zero\) -0+0374 <[^>]*> lhu \$a0,0\(\$zero\) -0+0378 <[^>]*> lw \$a0,0\(\$zero\) -0+037c <[^>]*> lwl \$a0,0\(\$zero\) -0+0380 <[^>]*> lwr \$a0,0\(\$zero\) -0+0384 <[^>]*> lwc0 \$4,0\(\$zero\) -0+0388 <[^>]*> lwc1 \$f4,0\(\$zero\) -0+038c <[^>]*> lwc2 \$4,0\(\$zero\) -0+0390 <[^>]*> lwc3 \$4,0\(\$zero\) +0+036c <[^>]*> lbu a0,0\(zero\) +0+0370 <[^>]*> lh a0,0\(zero\) +0+0374 <[^>]*> lhu a0,0\(zero\) +0+0378 <[^>]*> lw a0,0\(zero\) +0+037c <[^>]*> lwl a0,0\(zero\) +0+0380 <[^>]*> lwr a0,0\(zero\) +0+0384 <[^>]*> lwc0 a0,0\(zero\) +0+0388 <[^>]*> lwc1 \$f4,0\(zero\) +0+038c <[^>]*> lwc2 a0,0\(zero\) +0+0390 <[^>]*> lwc3 a0,0\(zero\) ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/ld-empic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/ld-empic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/ld-empic.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/ld-empic.d Mon May 21 10:37:03 2001 @@ -1,4 +1,5 @@ -#objdump: -dr --prefix-addresses -mmips:3000 + + #objdump: -dr --prefix-addresses -mmips:3000 #name: MIPS ld-empic #as: -mips1 -membedded-pic --defsym EMPIC=1 #source: ld-pic.s @@ -8,179 +9,179 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lw \$a0,0\(\$zero\) -0+0004 <[^>]*> lw \$a1,4\(\$zero\) -0+0008 <[^>]*> lw \$a0,1\(\$zero\) -0+000c <[^>]*> lw \$a1,5\(\$zero\) -0+0010 <[^>]*> lui \$at,0x1 -0+0014 <[^>]*> lw \$a0,-32768\(\$at\) -0+0018 <[^>]*> lw \$a1,-32764\(\$at\) -0+001c <[^>]*> lw \$a0,-32768\(\$zero\) -0+0020 <[^>]*> lw \$a1,-32764\(\$zero\) -0+0024 <[^>]*> lui \$at,0x1 -0+0028 <[^>]*> lw \$a0,0\(\$at\) -0+002c <[^>]*> lw \$a1,4\(\$at\) -0+0030 <[^>]*> lui \$at,0x2 -0+0034 <[^>]*> lw \$a0,-23131\(\$at\) -0+0038 <[^>]*> lw \$a1,-23127\(\$at\) +0+0000 <[^>]*> lw a0,0\(zero\) +0+0004 <[^>]*> lw a1,4\(zero\) +0+0008 <[^>]*> lw a0,1\(zero\) +0+000c <[^>]*> lw a1,5\(zero\) +0+0010 <[^>]*> lui at,0x1 +0+0014 <[^>]*> lw a0,-32768\(at\) +0+0018 <[^>]*> lw a1,-32764\(at\) +0+001c <[^>]*> lw a0,-32768\(zero\) +0+0020 <[^>]*> lw a1,-32764\(zero\) +0+0024 <[^>]*> lui at,0x1 +0+0028 <[^>]*> lw a0,0\(at\) +0+002c <[^>]*> lw a1,4\(at\) +0+0030 <[^>]*> lui at,0x2 +0+0034 <[^>]*> lw a0,-23131\(at\) +0+0038 <[^>]*> lw a1,-23127\(at\) 0+003c <[^>]*> nop -0+0040 <[^>]*> lw \$a0,0\(\$a1\) -0+0044 <[^>]*> lw \$a1,4\(\$a1\) +0+0040 <[^>]*> lw a0,0\(a1\) +0+0044 <[^>]*> lw a1,4\(a1\) 0+0048 <[^>]*> nop -0+004c <[^>]*> lw \$a0,1\(\$a1\) -0+0050 <[^>]*> lw \$a1,5\(\$a1\) -0+0054 <[^>]*> lui \$at,0x1 -0+0058 <[^>]*> addu \$at,\$a1,\$at -0+005c <[^>]*> lw \$a0,-32768\(\$at\) -0+0060 <[^>]*> lw \$a1,-32764\(\$at\) +0+004c <[^>]*> lw a0,1\(a1\) +0+0050 <[^>]*> lw a1,5\(a1\) +0+0054 <[^>]*> lui at,0x1 +0+0058 <[^>]*> addu at,a1,at +0+005c <[^>]*> lw a0,-32768\(at\) +0+0060 <[^>]*> lw a1,-32764\(at\) 0+0064 <[^>]*> nop -0+0068 <[^>]*> lw \$a0,-32768\(\$a1\) -0+006c <[^>]*> lw \$a1,-32764\(\$a1\) -0+0070 <[^>]*> lui \$at,0x1 -0+0074 <[^>]*> addu \$at,\$a1,\$at -0+0078 <[^>]*> lw \$a0,0\(\$at\) -0+007c <[^>]*> lw \$a1,4\(\$at\) -0+0080 <[^>]*> lui \$at,0x2 -0+0084 <[^>]*> addu \$at,\$a1,\$at -0+0088 <[^>]*> lw \$a0,-23131\(\$at\) -0+008c <[^>]*> lw \$a1,-23127\(\$at\) -0+0090 <[^>]*> lw \$a0,-16384\(\$gp\) +0+0068 <[^>]*> lw a0,-32768\(a1\) +0+006c <[^>]*> lw a1,-32764\(a1\) +0+0070 <[^>]*> lui at,0x1 +0+0074 <[^>]*> addu at,a1,at +0+0078 <[^>]*> lw a0,0\(at\) +0+007c <[^>]*> lw a1,4\(at\) +0+0080 <[^>]*> lui at,0x2 +0+0084 <[^>]*> addu at,a1,at +0+0088 <[^>]*> lw a0,-23131\(at\) +0+008c <[^>]*> lw a1,-23127\(at\) +0+0090 <[^>]*> lw a0,-16384\(gp\) [ ]*90: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+0094 <[^>]*> lw \$a1,-16380\(\$gp\) +0+0094 <[^>]*> lw a1,-16380\(gp\) [ ]*94: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+0098 <[^>]*> lw \$a0,0\(\$gp\) +0+0098 <[^>]*> lw a0,0\(gp\) [ ]*98: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+009c <[^>]*> lw \$a1,4\(\$gp\) +0+009c <[^>]*> lw a1,4\(gp\) [ ]*9c: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+00a0 <[^>]*> lw \$a0,0\(\$gp\) +0+00a0 <[^>]*> lw a0,0\(gp\) [ ]*a0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00a4 <[^>]*> lw \$a1,4\(\$gp\) +0+00a4 <[^>]*> lw a1,4\(gp\) [ ]*a4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00a8 <[^>]*> lw \$a0,0\(\$gp\) +0+00a8 <[^>]*> lw a0,0\(gp\) [ ]*a8: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+00ac <[^>]*> lw \$a1,4\(\$gp\) +0+00ac <[^>]*> lw a1,4\(gp\) [ ]*ac: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+00b0 <[^>]*> lw \$a0,0\(\$gp\) +0+00b0 <[^>]*> lw a0,0\(gp\) [ ]*b0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00b4 <[^>]*> lw \$a1,4\(\$gp\) +0+00b4 <[^>]*> lw a1,4\(gp\) [ ]*b4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00b8 <[^>]*> lw \$a0,-16384\(\$gp\) +0+00b8 <[^>]*> lw a0,-16384\(gp\) [ ]*b8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00bc <[^>]*> lw \$a1,-16380\(\$gp\) +0+00bc <[^>]*> lw a1,-16380\(gp\) [ ]*bc: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00c0 <[^>]*> lw \$a0,-15384\(\$gp\) +0+00c0 <[^>]*> lw a0,-15384\(gp\) [ ]*c0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00c4 <[^>]*> lw \$a1,-15380\(\$gp\) +0+00c4 <[^>]*> lw a1,-15380\(gp\) [ ]*c4: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00c8 <[^>]*> lw \$a0,-16383\(\$gp\) +0+00c8 <[^>]*> lw a0,-16383\(gp\) [ ]*c8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+00cc <[^>]*> lw \$a1,-16379\(\$gp\) +0+00cc <[^>]*> lw a1,-16379\(gp\) [ ]*cc: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+00d0 <[^>]*> lw \$a0,1\(\$gp\) +0+00d0 <[^>]*> lw a0,1\(gp\) [ ]*d0: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+00d4 <[^>]*> lw \$a1,5\(\$gp\) +0+00d4 <[^>]*> lw a1,5\(gp\) [ ]*d4: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+00d8 <[^>]*> lw \$a0,1\(\$gp\) +0+00d8 <[^>]*> lw a0,1\(gp\) [ ]*d8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00dc <[^>]*> lw \$a1,5\(\$gp\) +0+00dc <[^>]*> lw a1,5\(gp\) [ ]*dc: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00e0 <[^>]*> lw \$a0,1\(\$gp\) +0+00e0 <[^>]*> lw a0,1\(gp\) [ ]*e0: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+00e4 <[^>]*> lw \$a1,5\(\$gp\) +0+00e4 <[^>]*> lw a1,5\(gp\) [ ]*e4: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+00e8 <[^>]*> lw \$a0,1\(\$gp\) +0+00e8 <[^>]*> lw a0,1\(gp\) [ ]*e8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00ec <[^>]*> lw \$a1,5\(\$gp\) +0+00ec <[^>]*> lw a1,5\(gp\) [ ]*ec: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00f0 <[^>]*> lw \$a0,-16383\(\$gp\) +0+00f0 <[^>]*> lw a0,-16383\(gp\) [ ]*f0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00f4 <[^>]*> lw \$a1,-16379\(\$gp\) +0+00f4 <[^>]*> lw a1,-16379\(gp\) [ ]*f4: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00f8 <[^>]*> lw \$a0,-15383\(\$gp\) +0+00f8 <[^>]*> lw a0,-15383\(gp\) [ ]*f8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00fc <[^>]*> lw \$a1,-15379\(\$gp\) +0+00fc <[^>]*> lw a1,-15379\(gp\) [ ]*fc: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* 0+0100 <[^>]*> nop -0+0104 <[^>]*> addu \$at,\$a1,\$gp -0+0108 <[^>]*> lw \$a0,-16384\(\$at\) +0+0104 <[^>]*> addu at,a1,gp +0+0108 <[^>]*> lw a0,-16384\(at\) [ ]*108: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+010c <[^>]*> lw \$a1,-16380\(\$at\) +0+010c <[^>]*> lw a1,-16380\(at\) [ ]*10c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* 0+0110 <[^>]*> nop -0+0114 <[^>]*> addu \$at,\$a1,\$gp -0+0118 <[^>]*> lw \$a0,0\(\$at\) +0+0114 <[^>]*> addu at,a1,gp +0+0118 <[^>]*> lw a0,0\(at\) [ ]*118: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+011c <[^>]*> lw \$a1,4\(\$at\) +0+011c <[^>]*> lw a1,4\(at\) [ ]*11c: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label 0+0120 <[^>]*> nop -0+0124 <[^>]*> addu \$at,\$a1,\$gp -0+0128 <[^>]*> lw \$a0,0\(\$at\) +0+0124 <[^>]*> addu at,a1,gp +0+0128 <[^>]*> lw a0,0\(at\) [ ]*128: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+012c <[^>]*> lw \$a1,4\(\$at\) +0+012c <[^>]*> lw a1,4\(at\) [ ]*12c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label 0+0130 <[^>]*> nop -0+0134 <[^>]*> addu \$at,\$a1,\$gp -0+0138 <[^>]*> lw \$a0,0\(\$at\) +0+0134 <[^>]*> addu at,a1,gp +0+0138 <[^>]*> lw a0,0\(at\) [ ]*138: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+013c <[^>]*> lw \$a1,4\(\$at\) +0+013c <[^>]*> lw a1,4\(at\) [ ]*13c: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common 0+0140 <[^>]*> nop -0+0144 <[^>]*> addu \$at,\$a1,\$gp -0+0148 <[^>]*> lw \$a0,0\(\$at\) +0+0144 <[^>]*> addu at,a1,gp +0+0148 <[^>]*> lw a0,0\(at\) [ ]*148: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+014c <[^>]*> lw \$a1,4\(\$at\) +0+014c <[^>]*> lw a1,4\(at\) [ ]*14c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common 0+0150 <[^>]*> nop -0+0154 <[^>]*> addu \$at,\$a1,\$gp -0+0158 <[^>]*> lw \$a0,-16384\(\$at\) +0+0154 <[^>]*> addu at,a1,gp +0+0158 <[^>]*> lw a0,-16384\(at\) [ ]*158: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+015c <[^>]*> lw \$a1,-16380\(\$at\) +0+015c <[^>]*> lw a1,-16380\(at\) [ ]*15c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* 0+0160 <[^>]*> nop -0+0164 <[^>]*> addu \$at,\$a1,\$gp -0+0168 <[^>]*> lw \$a0,-15384\(\$at\) +0+0164 <[^>]*> addu at,a1,gp +0+0168 <[^>]*> lw a0,-15384\(at\) [ ]*168: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+016c <[^>]*> lw \$a1,-15380\(\$at\) +0+016c <[^>]*> lw a1,-15380\(at\) [ ]*16c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* 0+0170 <[^>]*> nop -0+0174 <[^>]*> addu \$at,\$a1,\$gp -0+0178 <[^>]*> lw \$a0,-16383\(\$at\) +0+0174 <[^>]*> addu at,a1,gp +0+0178 <[^>]*> lw a0,-16383\(at\) [ ]*178: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+017c <[^>]*> lw \$a1,-16379\(\$at\) +0+017c <[^>]*> lw a1,-16379\(at\) [ ]*17c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* 0+0180 <[^>]*> nop -0+0184 <[^>]*> addu \$at,\$a1,\$gp -0+0188 <[^>]*> lw \$a0,1\(\$at\) +0+0184 <[^>]*> addu at,a1,gp +0+0188 <[^>]*> lw a0,1\(at\) [ ]*188: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+018c <[^>]*> lw \$a1,5\(\$at\) +0+018c <[^>]*> lw a1,5\(at\) [ ]*18c: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label 0+0190 <[^>]*> nop -0+0194 <[^>]*> addu \$at,\$a1,\$gp -0+0198 <[^>]*> lw \$a0,1\(\$at\) +0+0194 <[^>]*> addu at,a1,gp +0+0198 <[^>]*> lw a0,1\(at\) [ ]*198: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+019c <[^>]*> lw \$a1,5\(\$at\) +0+019c <[^>]*> lw a1,5\(at\) [ ]*19c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label 0+01a0 <[^>]*> nop -0+01a4 <[^>]*> addu \$at,\$a1,\$gp -0+01a8 <[^>]*> lw \$a0,1\(\$at\) +0+01a4 <[^>]*> addu at,a1,gp +0+01a8 <[^>]*> lw a0,1\(at\) [ ]*1a8: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+01ac <[^>]*> lw \$a1,5\(\$at\) +0+01ac <[^>]*> lw a1,5\(at\) [ ]*1ac: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common 0+01b0 <[^>]*> nop -0+01b4 <[^>]*> addu \$at,\$a1,\$gp -0+01b8 <[^>]*> lw \$a0,1\(\$at\) +0+01b4 <[^>]*> addu at,a1,gp +0+01b8 <[^>]*> lw a0,1\(at\) [ ]*1b8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+01bc <[^>]*> lw \$a1,5\(\$at\) +0+01bc <[^>]*> lw a1,5\(at\) [ ]*1bc: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common 0+01c0 <[^>]*> nop -0+01c4 <[^>]*> addu \$at,\$a1,\$gp -0+01c8 <[^>]*> lw \$a0,-16383\(\$at\) +0+01c4 <[^>]*> addu at,a1,gp +0+01c8 <[^>]*> lw a0,-16383\(at\) [ ]*1c8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+01cc <[^>]*> lw \$a1,-16379\(\$at\) +0+01cc <[^>]*> lw a1,-16379\(at\) [ ]*1cc: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* 0+01d0 <[^>]*> nop -0+01d4 <[^>]*> addu \$at,\$a1,\$gp -0+01d8 <[^>]*> lw \$a0,-15383\(\$at\) +0+01d4 <[^>]*> addu at,a1,gp +0+01d8 <[^>]*> lw a0,-15383\(at\) [ ]*1d8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+01dc <[^>]*> lw \$a1,-15379\(\$at\) +0+01dc <[^>]*> lw a1,-15379\(at\) [ ]*1dc: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/ld-ilocks-addr32.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/ld-ilocks-addr32.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/ld-ilocks-addr32.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/ld-ilocks-addr32.d Mon May 21 10:37:03 2001 @@ -8,625 +8,625 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <.text> lw \$a0,0\(\$zero\) -0+0004 <[^>]*> lw \$a1,4\(\$zero\) -0+0008 <[^>]*> lw \$a0,1\(\$zero\) -0+000c <[^>]*> lw \$a1,5\(\$zero\) -0+0010 <[^>]*> lui \$at,0x1 -0+0014 <[^>]*> lw \$a0,-32768\(\$at\) -0+0018 <[^>]*> lw \$a1,-32764\(\$at\) -0+001c <[^>]*> lw \$a0,-32768\(\$zero\) -0+0020 <[^>]*> lw \$a1,-32764\(\$zero\) -0+0024 <[^>]*> lui \$at,0x1 -0+0028 <[^>]*> lw \$a0,0\(\$at\) -0+002c <[^>]*> lw \$a1,4\(\$at\) -0+0030 <[^>]*> lui \$at,0x2 -0+0034 <[^>]*> lw \$a0,-23131\(\$at\) -0+0038 <[^>]*> lw \$a1,-23127\(\$at\) -0+003c <[^>]*> lw \$a0,0\(\$a1\) -0+0040 <[^>]*> lw \$a1,4\(\$a1\) -0+0044 <[^>]*> lw \$a0,1\(\$a1\) -0+0048 <[^>]*> lw \$a1,5\(\$a1\) -0+004c <[^>]*> lui \$at,0x1 -0+0050 <[^>]*> addu \$at,\$a1,\$at -0+0054 <[^>]*> lw \$a0,-32768\(\$at\) -0+0058 <[^>]*> lw \$a1,-32764\(\$at\) -0+005c <[^>]*> lw \$a0,-32768\(\$a1\) -0+0060 <[^>]*> lw \$a1,-32764\(\$a1\) -0+0064 <[^>]*> lui \$at,0x1 -0+0068 <[^>]*> addu \$at,\$a1,\$at -0+006c <[^>]*> lw \$a0,0\(\$at\) -0+0070 <[^>]*> lw \$a1,4\(\$at\) -0+0074 <[^>]*> lui \$at,0x2 -0+0078 <[^>]*> addu \$at,\$a1,\$at -0+007c <[^>]*> lw \$a0,-23131\(\$at\) -0+0080 <[^>]*> lw \$a1,-23127\(\$at\) -0+0084 <[^>]*> lui \$at,0x0 +0+0000 <.text> lw a0,0\(zero\) +0+0004 <[^>]*> lw a1,4\(zero\) +0+0008 <[^>]*> lw a0,1\(zero\) +0+000c <[^>]*> lw a1,5\(zero\) +0+0010 <[^>]*> lui at,0x1 +0+0014 <[^>]*> lw a0,-32768\(at\) +0+0018 <[^>]*> lw a1,-32764\(at\) +0+001c <[^>]*> lw a0,-32768\(zero\) +0+0020 <[^>]*> lw a1,-32764\(zero\) +0+0024 <[^>]*> lui at,0x1 +0+0028 <[^>]*> lw a0,0\(at\) +0+002c <[^>]*> lw a1,4\(at\) +0+0030 <[^>]*> lui at,0x2 +0+0034 <[^>]*> lw a0,-23131\(at\) +0+0038 <[^>]*> lw a1,-23127\(at\) +0+003c <[^>]*> lw a0,0\(a1\) +0+0040 <[^>]*> lw a1,4\(a1\) +0+0044 <[^>]*> lw a0,1\(a1\) +0+0048 <[^>]*> lw a1,5\(a1\) +0+004c <[^>]*> lui at,0x1 +0+0050 <[^>]*> addu at,a1,at +0+0054 <[^>]*> lw a0,-32768\(at\) +0+0058 <[^>]*> lw a1,-32764\(at\) +0+005c <[^>]*> lw a0,-32768\(a1\) +0+0060 <[^>]*> lw a1,-32764\(a1\) +0+0064 <[^>]*> lui at,0x1 +0+0068 <[^>]*> addu at,a1,at +0+006c <[^>]*> lw a0,0\(at\) +0+0070 <[^>]*> lw a1,4\(at\) +0+0074 <[^>]*> lui at,0x2 +0+0078 <[^>]*> addu at,a1,at +0+007c <[^>]*> lw a0,-23131\(at\) +0+0080 <[^>]*> lw a1,-23127\(at\) +0+0084 <[^>]*> lui at,0x0 [ ]*84: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0088 <[^>]*> lw \$a0,0\(\$at\) +0+0088 <[^>]*> lw a0,0\(at\) [ ]*88: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+008c <[^>]*> lw \$a1,4\(\$at\) +0+008c <[^>]*> lw a1,4\(at\) [ ]*8c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0090 <[^>]*> lui \$at,0x0 +0+0090 <[^>]*> lui at,0x0 [ ]*90: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0094 <[^>]*> lw \$a0,0\(\$at\) +0+0094 <[^>]*> lw a0,0\(at\) [ ]*94: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0098 <[^>]*> lw \$a1,4\(\$at\) +0+0098 <[^>]*> lw a1,4\(at\) [ ]*98: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+009c <[^>]*> lw \$a0,0\(\$gp\) +0+009c <[^>]*> lw a0,0\(gp\) [ ]*9c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00a0 <[^>]*> lw \$a1,4\(\$gp\) +0+00a0 <[^>]*> lw a1,4\(gp\) [ ]*a0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00a4 <[^>]*> lui \$at,0x0 +0+00a4 <[^>]*> lui at,0x0 [ ]*a4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00a8 <[^>]*> lw \$a0,0\(\$at\) +0+00a8 <[^>]*> lw a0,0\(at\) [ ]*a8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00ac <[^>]*> lw \$a1,4\(\$at\) +0+00ac <[^>]*> lw a1,4\(at\) [ ]*ac: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00b0 <[^>]*> lw \$a0,0\(\$gp\) +0+00b0 <[^>]*> lw a0,0\(gp\) [ ]*b0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00b4 <[^>]*> lw \$a1,4\(\$gp\) +0+00b4 <[^>]*> lw a1,4\(gp\) [ ]*b4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00b8 <[^>]*> lui \$at,0x0 +0+00b8 <[^>]*> lui at,0x0 [ ]*b8: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+00bc <[^>]*> lw \$a0,0\(\$at\) +0+00bc <[^>]*> lw a0,0\(at\) [ ]*bc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00c0 <[^>]*> lw \$a1,4\(\$at\) +0+00c0 <[^>]*> lw a1,4\(at\) [ ]*c0: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00c4 <[^>]*> lw \$a0,-16384\(\$gp\) +0+00c4 <[^>]*> lw a0,-16384\(gp\) [ ]*c4: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00c8 <[^>]*> lw \$a1,-16380\(\$gp\) +0+00c8 <[^>]*> lw a1,-16380\(gp\) [ ]*c8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00cc <[^>]*> lui \$at,0x0 +0+00cc <[^>]*> lui at,0x0 [ ]*cc: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+00d0 <[^>]*> lw \$a0,1\(\$at\) +0+00d0 <[^>]*> lw a0,1\(at\) [ ]*d0: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00d4 <[^>]*> lw \$a1,5\(\$at\) +0+00d4 <[^>]*> lw a1,5\(at\) [ ]*d4: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00d8 <[^>]*> lui \$at,0x0 +0+00d8 <[^>]*> lui at,0x0 [ ]*d8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00dc <[^>]*> lw \$a0,1\(\$at\) +0+00dc <[^>]*> lw a0,1\(at\) [ ]*dc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00e0 <[^>]*> lw \$a1,5\(\$at\) +0+00e0 <[^>]*> lw a1,5\(at\) [ ]*e0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00e4 <[^>]*> lw \$a0,1\(\$gp\) +0+00e4 <[^>]*> lw a0,1\(gp\) [ ]*e4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00e8 <[^>]*> lw \$a1,5\(\$gp\) +0+00e8 <[^>]*> lw a1,5\(gp\) [ ]*e8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00ec <[^>]*> lui \$at,0x0 +0+00ec <[^>]*> lui at,0x0 [ ]*ec: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00f0 <[^>]*> lw \$a0,1\(\$at\) +0+00f0 <[^>]*> lw a0,1\(at\) [ ]*f0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00f4 <[^>]*> lw \$a1,5\(\$at\) +0+00f4 <[^>]*> lw a1,5\(at\) [ ]*f4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00f8 <[^>]*> lw \$a0,1\(\$gp\) +0+00f8 <[^>]*> lw a0,1\(gp\) [ ]*f8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00fc <[^>]*> lw \$a1,5\(\$gp\) +0+00fc <[^>]*> lw a1,5\(gp\) [ ]*fc: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0100 <[^>]*> lui \$at,0x0 +0+0100 <[^>]*> lui at,0x0 [ ]*100: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0104 <[^>]*> lw \$a0,1\(\$at\) +0+0104 <[^>]*> lw a0,1\(at\) [ ]*104: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0108 <[^>]*> lw \$a1,5\(\$at\) +0+0108 <[^>]*> lw a1,5\(at\) [ ]*108: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+010c <[^>]*> lw \$a0,-16383\(\$gp\) +0+010c <[^>]*> lw a0,-16383\(gp\) [ ]*10c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0110 <[^>]*> lw \$a1,-16379\(\$gp\) +0+0110 <[^>]*> lw a1,-16379\(gp\) [ ]*110: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0114 <[^>]*> lui \$at,0x1 +0+0114 <[^>]*> lui at,0x1 [ ]*114: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0118 <[^>]*> lw \$a0,-32768\(\$at\) +0+0118 <[^>]*> lw a0,-32768\(at\) [ ]*118: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+011c <[^>]*> lw \$a1,-32764\(\$at\) +0+011c <[^>]*> lw a1,-32764\(at\) [ ]*11c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0120 <[^>]*> lui \$at,0x1 +0+0120 <[^>]*> lui at,0x1 [ ]*120: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0124 <[^>]*> lw \$a0,-32768\(\$at\) +0+0124 <[^>]*> lw a0,-32768\(at\) [ ]*124: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0128 <[^>]*> lw \$a1,-32764\(\$at\) +0+0128 <[^>]*> lw a1,-32764\(at\) [ ]*128: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+012c <[^>]*> lui \$at,0x1 +0+012c <[^>]*> lui at,0x1 [ ]*12c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0130 <[^>]*> lw \$a0,-32768\(\$at\) +0+0130 <[^>]*> lw a0,-32768\(at\) [ ]*130: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0134 <[^>]*> lw \$a1,-32764\(\$at\) +0+0134 <[^>]*> lw a1,-32764\(at\) [ ]*134: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0138 <[^>]*> lui \$at,0x1 +0+0138 <[^>]*> lui at,0x1 [ ]*138: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+013c <[^>]*> lw \$a0,-32768\(\$at\) +0+013c <[^>]*> lw a0,-32768\(at\) [ ]*13c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0140 <[^>]*> lw \$a1,-32764\(\$at\) +0+0140 <[^>]*> lw a1,-32764\(at\) [ ]*140: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0144 <[^>]*> lui \$at,0x1 +0+0144 <[^>]*> lui at,0x1 [ ]*144: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0148 <[^>]*> lw \$a0,-32768\(\$at\) +0+0148 <[^>]*> lw a0,-32768\(at\) [ ]*148: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+014c <[^>]*> lw \$a1,-32764\(\$at\) +0+014c <[^>]*> lw a1,-32764\(at\) [ ]*14c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0150 <[^>]*> lui \$at,0x1 +0+0150 <[^>]*> lui at,0x1 [ ]*150: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0154 <[^>]*> lw \$a0,-32768\(\$at\) +0+0154 <[^>]*> lw a0,-32768\(at\) [ ]*154: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0158 <[^>]*> lw \$a1,-32764\(\$at\) +0+0158 <[^>]*> lw a1,-32764\(at\) [ ]*158: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+015c <[^>]*> lui \$at,0x1 +0+015c <[^>]*> lui at,0x1 [ ]*15c: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0160 <[^>]*> lw \$a0,-32768\(\$at\) +0+0160 <[^>]*> lw a0,-32768\(at\) [ ]*160: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0164 <[^>]*> lw \$a1,-32764\(\$at\) +0+0164 <[^>]*> lw a1,-32764\(at\) [ ]*164: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0168 <[^>]*> lui \$at,0x0 +0+0168 <[^>]*> lui at,0x0 [ ]*168: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+016c <[^>]*> lw \$a0,-32768\(\$at\) +0+016c <[^>]*> lw a0,-32768\(at\) [ ]*16c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0170 <[^>]*> lw \$a1,-32764\(\$at\) +0+0170 <[^>]*> lw a1,-32764\(at\) [ ]*170: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0174 <[^>]*> lui \$at,0x0 +0+0174 <[^>]*> lui at,0x0 [ ]*174: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0178 <[^>]*> lw \$a0,-32768\(\$at\) +0+0178 <[^>]*> lw a0,-32768\(at\) [ ]*178: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+017c <[^>]*> lw \$a1,-32764\(\$at\) +0+017c <[^>]*> lw a1,-32764\(at\) [ ]*17c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0180 <[^>]*> lui \$at,0x0 +0+0180 <[^>]*> lui at,0x0 [ ]*180: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0184 <[^>]*> lw \$a0,-32768\(\$at\) +0+0184 <[^>]*> lw a0,-32768\(at\) [ ]*184: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0188 <[^>]*> lw \$a1,-32764\(\$at\) +0+0188 <[^>]*> lw a1,-32764\(at\) [ ]*188: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+018c <[^>]*> lui \$at,0x0 +0+018c <[^>]*> lui at,0x0 [ ]*18c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0190 <[^>]*> lw \$a0,-32768\(\$at\) +0+0190 <[^>]*> lw a0,-32768\(at\) [ ]*190: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0194 <[^>]*> lw \$a1,-32764\(\$at\) +0+0194 <[^>]*> lw a1,-32764\(at\) [ ]*194: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0198 <[^>]*> lui \$at,0x0 +0+0198 <[^>]*> lui at,0x0 [ ]*198: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+019c <[^>]*> lw \$a0,-32768\(\$at\) +0+019c <[^>]*> lw a0,-32768\(at\) [ ]*19c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01a0 <[^>]*> lw \$a1,-32764\(\$at\) +0+01a0 <[^>]*> lw a1,-32764\(at\) [ ]*1a0: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01a4 <[^>]*> lui \$at,0x0 +0+01a4 <[^>]*> lui at,0x0 [ ]*1a4: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+01a8 <[^>]*> lw \$a0,-32768\(\$at\) +0+01a8 <[^>]*> lw a0,-32768\(at\) [ ]*1a8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+01ac <[^>]*> lw \$a1,-32764\(\$at\) +0+01ac <[^>]*> lw a1,-32764\(at\) [ ]*1ac: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+01b0 <[^>]*> lui \$at,0x0 +0+01b0 <[^>]*> lui at,0x0 [ ]*1b0: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+01b4 <[^>]*> lw \$a0,-32768\(\$at\) +0+01b4 <[^>]*> lw a0,-32768\(at\) [ ]*1b4: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+01b8 <[^>]*> lw \$a1,-32764\(\$at\) +0+01b8 <[^>]*> lw a1,-32764\(at\) [ ]*1b8: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+01bc <[^>]*> lui \$at,0x1 +0+01bc <[^>]*> lui at,0x1 [ ]*1bc: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+01c0 <[^>]*> lw \$a0,0\(\$at\) +0+01c0 <[^>]*> lw a0,0\(at\) [ ]*1c0: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+01c4 <[^>]*> lw \$a1,4\(\$at\) +0+01c4 <[^>]*> lw a1,4\(at\) [ ]*1c4: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+01c8 <[^>]*> lui \$at,0x1 +0+01c8 <[^>]*> lui at,0x1 [ ]*1c8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+01cc <[^>]*> lw \$a0,0\(\$at\) +0+01cc <[^>]*> lw a0,0\(at\) [ ]*1cc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01d0 <[^>]*> lw \$a1,4\(\$at\) +0+01d0 <[^>]*> lw a1,4\(at\) [ ]*1d0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01d4 <[^>]*> lui \$at,0x1 +0+01d4 <[^>]*> lui at,0x1 [ ]*1d4: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+01d8 <[^>]*> lw \$a0,0\(\$at\) +0+01d8 <[^>]*> lw a0,0\(at\) [ ]*1d8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+01dc <[^>]*> lw \$a1,4\(\$at\) +0+01dc <[^>]*> lw a1,4\(at\) [ ]*1dc: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+01e0 <[^>]*> lui \$at,0x1 +0+01e0 <[^>]*> lui at,0x1 [ ]*1e0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+01e4 <[^>]*> lw \$a0,0\(\$at\) +0+01e4 <[^>]*> lw a0,0\(at\) [ ]*1e4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01e8 <[^>]*> lw \$a1,4\(\$at\) +0+01e8 <[^>]*> lw a1,4\(at\) [ ]*1e8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01ec <[^>]*> lui \$at,0x1 +0+01ec <[^>]*> lui at,0x1 [ ]*1ec: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+01f0 <[^>]*> lw \$a0,0\(\$at\) +0+01f0 <[^>]*> lw a0,0\(at\) [ ]*1f0: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01f4 <[^>]*> lw \$a1,4\(\$at\) +0+01f4 <[^>]*> lw a1,4\(at\) [ ]*1f4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01f8 <[^>]*> lui \$at,0x1 +0+01f8 <[^>]*> lui at,0x1 [ ]*1f8: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+01fc <[^>]*> lw \$a0,0\(\$at\) +0+01fc <[^>]*> lw a0,0\(at\) [ ]*1fc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0200 <[^>]*> lw \$a1,4\(\$at\) +0+0200 <[^>]*> lw a1,4\(at\) [ ]*200: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0204 <[^>]*> lui \$at,0x1 +0+0204 <[^>]*> lui at,0x1 [ ]*204: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0208 <[^>]*> lw \$a0,0\(\$at\) +0+0208 <[^>]*> lw a0,0\(at\) [ ]*208: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+020c <[^>]*> lw \$a1,4\(\$at\) +0+020c <[^>]*> lw a1,4\(at\) [ ]*20c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0210 <[^>]*> lui \$at,0x2 +0+0210 <[^>]*> lui at,0x2 [ ]*210: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0214 <[^>]*> lw \$a0,-23131\(\$at\) +0+0214 <[^>]*> lw a0,-23131\(at\) [ ]*214: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0218 <[^>]*> lw \$a1,-23127\(\$at\) +0+0218 <[^>]*> lw a1,-23127\(at\) [ ]*218: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+021c <[^>]*> lui \$at,0x2 +0+021c <[^>]*> lui at,0x2 [ ]*21c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0220 <[^>]*> lw \$a0,-23131\(\$at\) +0+0220 <[^>]*> lw a0,-23131\(at\) [ ]*220: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0224 <[^>]*> lw \$a1,-23127\(\$at\) +0+0224 <[^>]*> lw a1,-23127\(at\) [ ]*224: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0228 <[^>]*> lui \$at,0x2 +0+0228 <[^>]*> lui at,0x2 [ ]*228: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+022c <[^>]*> lw \$a0,-23131\(\$at\) +0+022c <[^>]*> lw a0,-23131\(at\) [ ]*22c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0230 <[^>]*> lw \$a1,-23127\(\$at\) +0+0230 <[^>]*> lw a1,-23127\(at\) [ ]*230: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0234 <[^>]*> lui \$at,0x2 +0+0234 <[^>]*> lui at,0x2 [ ]*234: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0238 <[^>]*> lw \$a0,-23131\(\$at\) +0+0238 <[^>]*> lw a0,-23131\(at\) [ ]*238: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+023c <[^>]*> lw \$a1,-23127\(\$at\) +0+023c <[^>]*> lw a1,-23127\(at\) [ ]*23c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0240 <[^>]*> lui \$at,0x2 +0+0240 <[^>]*> lui at,0x2 [ ]*240: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0244 <[^>]*> lw \$a0,-23131\(\$at\) +0+0244 <[^>]*> lw a0,-23131\(at\) [ ]*244: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0248 <[^>]*> lw \$a1,-23127\(\$at\) +0+0248 <[^>]*> lw a1,-23127\(at\) [ ]*248: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+024c <[^>]*> lui \$at,0x2 +0+024c <[^>]*> lui at,0x2 [ ]*24c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0250 <[^>]*> lw \$a0,-23131\(\$at\) +0+0250 <[^>]*> lw a0,-23131\(at\) [ ]*250: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0254 <[^>]*> lw \$a1,-23127\(\$at\) +0+0254 <[^>]*> lw a1,-23127\(at\) [ ]*254: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0258 <[^>]*> lui \$at,0x2 +0+0258 <[^>]*> lui at,0x2 [ ]*258: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+025c <[^>]*> lw \$a0,-23131\(\$at\) +0+025c <[^>]*> lw a0,-23131\(at\) [ ]*25c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0260 <[^>]*> lw \$a1,-23127\(\$at\) +0+0260 <[^>]*> lw a1,-23127\(at\) [ ]*260: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0264 <[^>]*> lui \$at,0x0 +0+0264 <[^>]*> lui at,0x0 [ ]*264: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0268 <[^>]*> addu \$at,\$a1,\$at -0+026c <[^>]*> lw \$a0,0\(\$at\) +0+0268 <[^>]*> addu at,a1,at +0+026c <[^>]*> lw a0,0\(at\) [ ]*26c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0270 <[^>]*> lw \$a1,4\(\$at\) +0+0270 <[^>]*> lw a1,4\(at\) [ ]*270: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0274 <[^>]*> lui \$at,0x0 +0+0274 <[^>]*> lui at,0x0 [ ]*274: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0278 <[^>]*> addu \$at,\$a1,\$at -0+027c <[^>]*> lw \$a0,0\(\$at\) +0+0278 <[^>]*> addu at,a1,at +0+027c <[^>]*> lw a0,0\(at\) [ ]*27c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0280 <[^>]*> lw \$a1,4\(\$at\) +0+0280 <[^>]*> lw a1,4\(at\) [ ]*280: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0284 <[^>]*> addu \$at,\$a1,\$gp -0+0288 <[^>]*> lw \$a0,0\(\$at\) +0+0284 <[^>]*> addu at,a1,gp +0+0288 <[^>]*> lw a0,0\(at\) [ ]*288: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+028c <[^>]*> lw \$a1,4\(\$at\) +0+028c <[^>]*> lw a1,4\(at\) [ ]*28c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0290 <[^>]*> lui \$at,0x0 +0+0290 <[^>]*> lui at,0x0 [ ]*290: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0294 <[^>]*> addu \$at,\$a1,\$at -0+0298 <[^>]*> lw \$a0,0\(\$at\) +0+0294 <[^>]*> addu at,a1,at +0+0298 <[^>]*> lw a0,0\(at\) [ ]*298: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+029c <[^>]*> lw \$a1,4\(\$at\) +0+029c <[^>]*> lw a1,4\(at\) [ ]*29c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+02a0 <[^>]*> addu \$at,\$a1,\$gp -0+02a4 <[^>]*> lw \$a0,0\(\$at\) +0+02a0 <[^>]*> addu at,a1,gp +0+02a4 <[^>]*> lw a0,0\(at\) [ ]*2a4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+02a8 <[^>]*> lw \$a1,4\(\$at\) +0+02a8 <[^>]*> lw a1,4\(at\) [ ]*2a8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+02ac <[^>]*> lui \$at,0x0 +0+02ac <[^>]*> lui at,0x0 [ ]*2ac: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+02b0 <[^>]*> addu \$at,\$a1,\$at -0+02b4 <[^>]*> lw \$a0,0\(\$at\) +0+02b0 <[^>]*> addu at,a1,at +0+02b4 <[^>]*> lw a0,0\(at\) [ ]*2b4: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+02b8 <[^>]*> lw \$a1,4\(\$at\) +0+02b8 <[^>]*> lw a1,4\(at\) [ ]*2b8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+02bc <[^>]*> addu \$at,\$a1,\$gp -0+02c0 <[^>]*> lw \$a0,-16384\(\$at\) +0+02bc <[^>]*> addu at,a1,gp +0+02c0 <[^>]*> lw a0,-16384\(at\) [ ]*2c0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+02c4 <[^>]*> lw \$a1,-16380\(\$at\) +0+02c4 <[^>]*> lw a1,-16380\(at\) [ ]*2c4: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+02c8 <[^>]*> lui \$at,0x0 +0+02c8 <[^>]*> lui at,0x0 [ ]*2c8: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+02cc <[^>]*> addu \$at,\$a1,\$at -0+02d0 <[^>]*> lw \$a0,1\(\$at\) +0+02cc <[^>]*> addu at,a1,at +0+02d0 <[^>]*> lw a0,1\(at\) [ ]*2d0: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+02d4 <[^>]*> lw \$a1,5\(\$at\) +0+02d4 <[^>]*> lw a1,5\(at\) [ ]*2d4: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+02d8 <[^>]*> lui \$at,0x0 +0+02d8 <[^>]*> lui at,0x0 [ ]*2d8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+02dc <[^>]*> addu \$at,\$a1,\$at -0+02e0 <[^>]*> lw \$a0,1\(\$at\) +0+02dc <[^>]*> addu at,a1,at +0+02e0 <[^>]*> lw a0,1\(at\) [ ]*2e0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+02e4 <[^>]*> lw \$a1,5\(\$at\) +0+02e4 <[^>]*> lw a1,5\(at\) [ ]*2e4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+02e8 <[^>]*> addu \$at,\$a1,\$gp -0+02ec <[^>]*> lw \$a0,1\(\$at\) +0+02e8 <[^>]*> addu at,a1,gp +0+02ec <[^>]*> lw a0,1\(at\) [ ]*2ec: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+02f0 <[^>]*> lw \$a1,5\(\$at\) +0+02f0 <[^>]*> lw a1,5\(at\) [ ]*2f0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+02f4 <[^>]*> lui \$at,0x0 +0+02f4 <[^>]*> lui at,0x0 [ ]*2f4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+02f8 <[^>]*> addu \$at,\$a1,\$at -0+02fc <[^>]*> lw \$a0,1\(\$at\) +0+02f8 <[^>]*> addu at,a1,at +0+02fc <[^>]*> lw a0,1\(at\) [ ]*2fc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0300 <[^>]*> lw \$a1,5\(\$at\) +0+0300 <[^>]*> lw a1,5\(at\) [ ]*300: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0304 <[^>]*> addu \$at,\$a1,\$gp -0+0308 <[^>]*> lw \$a0,1\(\$at\) +0+0304 <[^>]*> addu at,a1,gp +0+0308 <[^>]*> lw a0,1\(at\) [ ]*308: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+030c <[^>]*> lw \$a1,5\(\$at\) +0+030c <[^>]*> lw a1,5\(at\) [ ]*30c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0310 <[^>]*> lui \$at,0x0 +0+0310 <[^>]*> lui at,0x0 [ ]*310: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0314 <[^>]*> addu \$at,\$a1,\$at -0+0318 <[^>]*> lw \$a0,1\(\$at\) +0+0314 <[^>]*> addu at,a1,at +0+0318 <[^>]*> lw a0,1\(at\) [ ]*318: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+031c <[^>]*> lw \$a1,5\(\$at\) +0+031c <[^>]*> lw a1,5\(at\) [ ]*31c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0320 <[^>]*> addu \$at,\$a1,\$gp -0+0324 <[^>]*> lw \$a0,-16383\(\$at\) +0+0320 <[^>]*> addu at,a1,gp +0+0324 <[^>]*> lw a0,-16383\(at\) [ ]*324: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0328 <[^>]*> lw \$a1,-16379\(\$at\) +0+0328 <[^>]*> lw a1,-16379\(at\) [ ]*328: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+032c <[^>]*> lui \$at,0x1 +0+032c <[^>]*> lui at,0x1 [ ]*32c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0330 <[^>]*> addu \$at,\$a1,\$at -0+0334 <[^>]*> lw \$a0,-32768\(\$at\) +0+0330 <[^>]*> addu at,a1,at +0+0334 <[^>]*> lw a0,-32768\(at\) [ ]*334: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0338 <[^>]*> lw \$a1,-32764\(\$at\) +0+0338 <[^>]*> lw a1,-32764\(at\) [ ]*338: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+033c <[^>]*> lui \$at,0x1 +0+033c <[^>]*> lui at,0x1 [ ]*33c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0340 <[^>]*> addu \$at,\$a1,\$at -0+0344 <[^>]*> lw \$a0,-32768\(\$at\) +0+0340 <[^>]*> addu at,a1,at +0+0344 <[^>]*> lw a0,-32768\(at\) [ ]*344: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0348 <[^>]*> lw \$a1,-32764\(\$at\) +0+0348 <[^>]*> lw a1,-32764\(at\) [ ]*348: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+034c <[^>]*> lui \$at,0x1 +0+034c <[^>]*> lui at,0x1 [ ]*34c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0350 <[^>]*> addu \$at,\$a1,\$at -0+0354 <[^>]*> lw \$a0,-32768\(\$at\) +0+0350 <[^>]*> addu at,a1,at +0+0354 <[^>]*> lw a0,-32768\(at\) [ ]*354: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0358 <[^>]*> lw \$a1,-32764\(\$at\) +0+0358 <[^>]*> lw a1,-32764\(at\) [ ]*358: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+035c <[^>]*> lui \$at,0x1 +0+035c <[^>]*> lui at,0x1 [ ]*35c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0360 <[^>]*> addu \$at,\$a1,\$at -0+0364 <[^>]*> lw \$a0,-32768\(\$at\) +0+0360 <[^>]*> addu at,a1,at +0+0364 <[^>]*> lw a0,-32768\(at\) [ ]*364: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0368 <[^>]*> lw \$a1,-32764\(\$at\) +0+0368 <[^>]*> lw a1,-32764\(at\) [ ]*368: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+036c <[^>]*> lui \$at,0x1 +0+036c <[^>]*> lui at,0x1 [ ]*36c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0370 <[^>]*> addu \$at,\$a1,\$at -0+0374 <[^>]*> lw \$a0,-32768\(\$at\) +0+0370 <[^>]*> addu at,a1,at +0+0374 <[^>]*> lw a0,-32768\(at\) [ ]*374: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0378 <[^>]*> lw \$a1,-32764\(\$at\) +0+0378 <[^>]*> lw a1,-32764\(at\) [ ]*378: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+037c <[^>]*> lui \$at,0x1 +0+037c <[^>]*> lui at,0x1 [ ]*37c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0380 <[^>]*> addu \$at,\$a1,\$at -0+0384 <[^>]*> lw \$a0,-32768\(\$at\) +0+0380 <[^>]*> addu at,a1,at +0+0384 <[^>]*> lw a0,-32768\(at\) [ ]*384: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0388 <[^>]*> lw \$a1,-32764\(\$at\) +0+0388 <[^>]*> lw a1,-32764\(at\) [ ]*388: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+038c <[^>]*> lui \$at,0x1 +0+038c <[^>]*> lui at,0x1 [ ]*38c: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0390 <[^>]*> addu \$at,\$a1,\$at -0+0394 <[^>]*> lw \$a0,-32768\(\$at\) +0+0390 <[^>]*> addu at,a1,at +0+0394 <[^>]*> lw a0,-32768\(at\) [ ]*394: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0398 <[^>]*> lw \$a1,-32764\(\$at\) +0+0398 <[^>]*> lw a1,-32764\(at\) [ ]*398: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+039c <[^>]*> lui \$at,0x0 +0+039c <[^>]*> lui at,0x0 [ ]*39c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+03a0 <[^>]*> addu \$at,\$a1,\$at -0+03a4 <[^>]*> lw \$a0,-32768\(\$at\) +0+03a0 <[^>]*> addu at,a1,at +0+03a4 <[^>]*> lw a0,-32768\(at\) [ ]*3a4: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+03a8 <[^>]*> lw \$a1,-32764\(\$at\) +0+03a8 <[^>]*> lw a1,-32764\(at\) [ ]*3a8: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+03ac <[^>]*> lui \$at,0x0 +0+03ac <[^>]*> lui at,0x0 [ ]*3ac: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+03b0 <[^>]*> addu \$at,\$a1,\$at -0+03b4 <[^>]*> lw \$a0,-32768\(\$at\) +0+03b0 <[^>]*> addu at,a1,at +0+03b4 <[^>]*> lw a0,-32768\(at\) [ ]*3b4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+03b8 <[^>]*> lw \$a1,-32764\(\$at\) +0+03b8 <[^>]*> lw a1,-32764\(at\) [ ]*3b8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+03bc <[^>]*> lui \$at,0x0 +0+03bc <[^>]*> lui at,0x0 [ ]*3bc: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+03c0 <[^>]*> addu \$at,\$a1,\$at -0+03c4 <[^>]*> lw \$a0,-32768\(\$at\) +0+03c0 <[^>]*> addu at,a1,at +0+03c4 <[^>]*> lw a0,-32768\(at\) [ ]*3c4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+03c8 <[^>]*> lw \$a1,-32764\(\$at\) +0+03c8 <[^>]*> lw a1,-32764\(at\) [ ]*3c8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+03cc <[^>]*> lui \$at,0x0 +0+03cc <[^>]*> lui at,0x0 [ ]*3cc: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+03d0 <[^>]*> addu \$at,\$a1,\$at -0+03d4 <[^>]*> lw \$a0,-32768\(\$at\) +0+03d0 <[^>]*> addu at,a1,at +0+03d4 <[^>]*> lw a0,-32768\(at\) [ ]*3d4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+03d8 <[^>]*> lw \$a1,-32764\(\$at\) +0+03d8 <[^>]*> lw a1,-32764\(at\) [ ]*3d8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+03dc <[^>]*> lui \$at,0x0 +0+03dc <[^>]*> lui at,0x0 [ ]*3dc: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+03e0 <[^>]*> addu \$at,\$a1,\$at -0+03e4 <[^>]*> lw \$a0,-32768\(\$at\) +0+03e0 <[^>]*> addu at,a1,at +0+03e4 <[^>]*> lw a0,-32768\(at\) [ ]*3e4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+03e8 <[^>]*> lw \$a1,-32764\(\$at\) +0+03e8 <[^>]*> lw a1,-32764\(at\) [ ]*3e8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+03ec <[^>]*> lui \$at,0x0 +0+03ec <[^>]*> lui at,0x0 [ ]*3ec: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+03f0 <[^>]*> addu \$at,\$a1,\$at -0+03f4 <[^>]*> lw \$a0,-32768\(\$at\) +0+03f0 <[^>]*> addu at,a1,at +0+03f4 <[^>]*> lw a0,-32768\(at\) [ ]*3f4: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+03f8 <[^>]*> lw \$a1,-32764\(\$at\) +0+03f8 <[^>]*> lw a1,-32764\(at\) [ ]*3f8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+03fc <[^>]*> lui \$at,0x0 +0+03fc <[^>]*> lui at,0x0 [ ]*3fc: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0400 <[^>]*> addu \$at,\$a1,\$at -0+0404 <[^>]*> lw \$a0,-32768\(\$at\) +0+0400 <[^>]*> addu at,a1,at +0+0404 <[^>]*> lw a0,-32768\(at\) [ ]*404: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0408 <[^>]*> lw \$a1,-32764\(\$at\) +0+0408 <[^>]*> lw a1,-32764\(at\) [ ]*408: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+040c <[^>]*> lui \$at,0x1 +0+040c <[^>]*> lui at,0x1 [ ]*40c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0410 <[^>]*> addu \$at,\$a1,\$at -0+0414 <[^>]*> lw \$a0,0\(\$at\) +0+0410 <[^>]*> addu at,a1,at +0+0414 <[^>]*> lw a0,0\(at\) [ ]*414: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0418 <[^>]*> lw \$a1,4\(\$at\) +0+0418 <[^>]*> lw a1,4\(at\) [ ]*418: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+041c <[^>]*> lui \$at,0x1 +0+041c <[^>]*> lui at,0x1 [ ]*41c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0420 <[^>]*> addu \$at,\$a1,\$at -0+0424 <[^>]*> lw \$a0,0\(\$at\) +0+0420 <[^>]*> addu at,a1,at +0+0424 <[^>]*> lw a0,0\(at\) [ ]*424: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0428 <[^>]*> lw \$a1,4\(\$at\) +0+0428 <[^>]*> lw a1,4\(at\) [ ]*428: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+042c <[^>]*> lui \$at,0x1 +0+042c <[^>]*> lui at,0x1 [ ]*42c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0430 <[^>]*> addu \$at,\$a1,\$at -0+0434 <[^>]*> lw \$a0,0\(\$at\) +0+0430 <[^>]*> addu at,a1,at +0+0434 <[^>]*> lw a0,0\(at\) [ ]*434: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0438 <[^>]*> lw \$a1,4\(\$at\) +0+0438 <[^>]*> lw a1,4\(at\) [ ]*438: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+043c <[^>]*> lui \$at,0x1 +0+043c <[^>]*> lui at,0x1 [ ]*43c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0440 <[^>]*> addu \$at,\$a1,\$at -0+0444 <[^>]*> lw \$a0,0\(\$at\) +0+0440 <[^>]*> addu at,a1,at +0+0444 <[^>]*> lw a0,0\(at\) [ ]*444: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0448 <[^>]*> lw \$a1,4\(\$at\) +0+0448 <[^>]*> lw a1,4\(at\) [ ]*448: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+044c <[^>]*> lui \$at,0x1 +0+044c <[^>]*> lui at,0x1 [ ]*44c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0450 <[^>]*> addu \$at,\$a1,\$at -0+0454 <[^>]*> lw \$a0,0\(\$at\) +0+0450 <[^>]*> addu at,a1,at +0+0454 <[^>]*> lw a0,0\(at\) [ ]*454: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0458 <[^>]*> lw \$a1,4\(\$at\) +0+0458 <[^>]*> lw a1,4\(at\) [ ]*458: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+045c <[^>]*> lui \$at,0x1 +0+045c <[^>]*> lui at,0x1 [ ]*45c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0460 <[^>]*> addu \$at,\$a1,\$at -0+0464 <[^>]*> lw \$a0,0\(\$at\) +0+0460 <[^>]*> addu at,a1,at +0+0464 <[^>]*> lw a0,0\(at\) [ ]*464: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0468 <[^>]*> lw \$a1,4\(\$at\) +0+0468 <[^>]*> lw a1,4\(at\) [ ]*468: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+046c <[^>]*> lui \$at,0x1 +0+046c <[^>]*> lui at,0x1 [ ]*46c: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0470 <[^>]*> addu \$at,\$a1,\$at -0+0474 <[^>]*> lw \$a0,0\(\$at\) +0+0470 <[^>]*> addu at,a1,at +0+0474 <[^>]*> lw a0,0\(at\) [ ]*474: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0478 <[^>]*> lw \$a1,4\(\$at\) +0+0478 <[^>]*> lw a1,4\(at\) [ ]*478: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+047c <[^>]*> lui \$at,0x2 +0+047c <[^>]*> lui at,0x2 [ ]*47c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0480 <[^>]*> addu \$at,\$a1,\$at -0+0484 <[^>]*> lw \$a0,-23131\(\$at\) +0+0480 <[^>]*> addu at,a1,at +0+0484 <[^>]*> lw a0,-23131\(at\) [ ]*484: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0488 <[^>]*> lw \$a1,-23127\(\$at\) +0+0488 <[^>]*> lw a1,-23127\(at\) [ ]*488: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+048c <[^>]*> lui \$at,0x2 +0+048c <[^>]*> lui at,0x2 [ ]*48c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0490 <[^>]*> addu \$at,\$a1,\$at -0+0494 <[^>]*> lw \$a0,-23131\(\$at\) +0+0490 <[^>]*> addu at,a1,at +0+0494 <[^>]*> lw a0,-23131\(at\) [ ]*494: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0498 <[^>]*> lw \$a1,-23127\(\$at\) +0+0498 <[^>]*> lw a1,-23127\(at\) [ ]*498: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+049c <[^>]*> lui \$at,0x2 +0+049c <[^>]*> lui at,0x2 [ ]*49c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+04a0 <[^>]*> addu \$at,\$a1,\$at -0+04a4 <[^>]*> lw \$a0,-23131\(\$at\) +0+04a0 <[^>]*> addu at,a1,at +0+04a4 <[^>]*> lw a0,-23131\(at\) [ ]*4a4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+04a8 <[^>]*> lw \$a1,-23127\(\$at\) +0+04a8 <[^>]*> lw a1,-23127\(at\) [ ]*4a8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+04ac <[^>]*> lui \$at,0x2 +0+04ac <[^>]*> lui at,0x2 [ ]*4ac: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+04b0 <[^>]*> addu \$at,\$a1,\$at -0+04b4 <[^>]*> lw \$a0,-23131\(\$at\) +0+04b0 <[^>]*> addu at,a1,at +0+04b4 <[^>]*> lw a0,-23131\(at\) [ ]*4b4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+04b8 <[^>]*> lw \$a1,-23127\(\$at\) +0+04b8 <[^>]*> lw a1,-23127\(at\) [ ]*4b8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+04bc <[^>]*> lui \$at,0x2 +0+04bc <[^>]*> lui at,0x2 [ ]*4bc: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+04c0 <[^>]*> addu \$at,\$a1,\$at -0+04c4 <[^>]*> lw \$a0,-23131\(\$at\) +0+04c0 <[^>]*> addu at,a1,at +0+04c4 <[^>]*> lw a0,-23131\(at\) [ ]*4c4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+04c8 <[^>]*> lw \$a1,-23127\(\$at\) +0+04c8 <[^>]*> lw a1,-23127\(at\) [ ]*4c8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+04cc <[^>]*> lui \$at,0x2 +0+04cc <[^>]*> lui at,0x2 [ ]*4cc: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+04d0 <[^>]*> addu \$at,\$a1,\$at -0+04d4 <[^>]*> lw \$a0,-23131\(\$at\) +0+04d0 <[^>]*> addu at,a1,at +0+04d4 <[^>]*> lw a0,-23131\(at\) [ ]*4d4: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+04d8 <[^>]*> lw \$a1,-23127\(\$at\) +0+04d8 <[^>]*> lw a1,-23127\(at\) [ ]*4d8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+04dc <[^>]*> lui \$at,0x2 +0+04dc <[^>]*> lui at,0x2 [ ]*4dc: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+04e0 <[^>]*> addu \$at,\$a1,\$at -0+04e4 <[^>]*> lw \$a0,-23131\(\$at\) +0+04e0 <[^>]*> addu at,a1,at +0+04e4 <[^>]*> lw a0,-23131\(at\) [ ]*4e4: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+04e8 <[^>]*> lw \$a1,-23127\(\$at\) +0+04e8 <[^>]*> lw a1,-23127\(at\) [ ]*4e8: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+04ec <[^>]*> lwc1 \$f5,0\(\$zero\) -0+04f0 <[^>]*> lwc1 \$f4,4\(\$zero\) -0+04f4 <[^>]*> lwc1 \$f5,1\(\$zero\) -0+04f8 <[^>]*> lwc1 \$f4,5\(\$zero\) -0+04fc <[^>]*> lui \$at,0x1 -0+0500 <[^>]*> lwc1 \$f5,-32768\(\$at\) -0+0504 <[^>]*> lwc1 \$f4,-32764\(\$at\) -0+0508 <[^>]*> lwc1 \$f5,-32768\(\$zero\) -0+050c <[^>]*> lwc1 \$f4,-32764\(\$zero\) -0+0510 <[^>]*> lwc1 \$f5,0\(\$a1\) -0+0514 <[^>]*> lwc1 \$f4,4\(\$a1\) -0+0518 <[^>]*> lwc1 \$f5,1\(\$a1\) -0+051c <[^>]*> lwc1 \$f4,5\(\$a1\) -0+0520 <[^>]*> lui \$at,0x1 -0+0524 <[^>]*> addu \$at,\$a1,\$at -0+0528 <[^>]*> lwc1 \$f5,-32768\(\$at\) -0+052c <[^>]*> lwc1 \$f4,-32764\(\$at\) -0+0530 <[^>]*> lwc1 \$f5,-32768\(\$a1\) -0+0534 <[^>]*> lwc1 \$f4,-32764\(\$a1\) -0+0538 <[^>]*> lui \$at,0x2 +0+04ec <[^>]*> lwc1 f5,0\(zero\) +0+04f0 <[^>]*> lwc1 f4,4\(zero\) +0+04f4 <[^>]*> lwc1 f5,1\(zero\) +0+04f8 <[^>]*> lwc1 f4,5\(zero\) +0+04fc <[^>]*> lui at,0x1 +0+0500 <[^>]*> lwc1 f5,-32768\(at\) +0+0504 <[^>]*> lwc1 f4,-32764\(at\) +0+0508 <[^>]*> lwc1 f5,-32768\(zero\) +0+050c <[^>]*> lwc1 f4,-32764\(zero\) +0+0510 <[^>]*> lwc1 f5,0\(a1\) +0+0514 <[^>]*> lwc1 f4,4\(a1\) +0+0518 <[^>]*> lwc1 f5,1\(a1\) +0+051c <[^>]*> lwc1 f4,5\(a1\) +0+0520 <[^>]*> lui at,0x1 +0+0524 <[^>]*> addu at,a1,at +0+0528 <[^>]*> lwc1 f5,-32768\(at\) +0+052c <[^>]*> lwc1 f4,-32764\(at\) +0+0530 <[^>]*> lwc1 f5,-32768\(a1\) +0+0534 <[^>]*> lwc1 f4,-32764\(a1\) +0+0538 <[^>]*> lui at,0x2 [ ]*538: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+053c <[^>]*> addu \$at,\$a1,\$at -0+0540 <[^>]*> lwc1 \$f5,-23131\(\$at\) +0+053c <[^>]*> addu at,a1,at +0+0540 <[^>]*> lwc1 f5,-23131\(at\) [ ]*540: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0544 <[^>]*> lwc1 \$f4,-23127\(\$at\) +0+0544 <[^>]*> lwc1 f4,-23127\(at\) [ ]*544: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common 0+0548 <[^>]*> nop -0+054c <[^>]*> swc1 \$f5,0\(\$zero\) -0+0550 <[^>]*> swc1 \$f4,4\(\$zero\) -0+0554 <[^>]*> swc1 \$f5,1\(\$zero\) -0+0558 <[^>]*> swc1 \$f4,5\(\$zero\) -0+055c <[^>]*> lui \$at,0x1 -0+0560 <[^>]*> swc1 \$f5,-32768\(\$at\) -0+0564 <[^>]*> swc1 \$f4,-32764\(\$at\) -0+0568 <[^>]*> swc1 \$f5,-32768\(\$zero\) -0+056c <[^>]*> swc1 \$f4,-32764\(\$zero\) -0+0570 <[^>]*> swc1 \$f5,0\(\$a1\) -0+0574 <[^>]*> swc1 \$f4,4\(\$a1\) -0+0578 <[^>]*> swc1 \$f5,1\(\$a1\) -0+057c <[^>]*> swc1 \$f4,5\(\$a1\) -0+0580 <[^>]*> lui \$at,0x1 -0+0584 <[^>]*> addu \$at,\$a1,\$at -0+0588 <[^>]*> swc1 \$f5,-32768\(\$at\) -0+058c <[^>]*> swc1 \$f4,-32764\(\$at\) -0+0590 <[^>]*> swc1 \$f5,-32768\(\$a1\) -0+0594 <[^>]*> swc1 \$f4,-32764\(\$a1\) -0+0598 <[^>]*> lui \$at,0x2 +0+054c <[^>]*> swc1 f5,0\(zero\) +0+0550 <[^>]*> swc1 f4,4\(zero\) +0+0554 <[^>]*> swc1 f5,1\(zero\) +0+0558 <[^>]*> swc1 f4,5\(zero\) +0+055c <[^>]*> lui at,0x1 +0+0560 <[^>]*> swc1 f5,-32768\(at\) +0+0564 <[^>]*> swc1 f4,-32764\(at\) +0+0568 <[^>]*> swc1 f5,-32768\(zero\) +0+056c <[^>]*> swc1 f4,-32764\(zero\) +0+0570 <[^>]*> swc1 f5,0\(a1\) +0+0574 <[^>]*> swc1 f4,4\(a1\) +0+0578 <[^>]*> swc1 f5,1\(a1\) +0+057c <[^>]*> swc1 f4,5\(a1\) +0+0580 <[^>]*> lui at,0x1 +0+0584 <[^>]*> addu at,a1,at +0+0588 <[^>]*> swc1 f5,-32768\(at\) +0+058c <[^>]*> swc1 f4,-32764\(at\) +0+0590 <[^>]*> swc1 f5,-32768\(a1\) +0+0594 <[^>]*> swc1 f4,-32764\(a1\) +0+0598 <[^>]*> lui at,0x2 [ ]*598: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+059c <[^>]*> addu \$at,\$a1,\$at -0+05a0 <[^>]*> swc1 \$f5,-23131\(\$at\) +0+059c <[^>]*> addu at,a1,at +0+05a0 <[^>]*> swc1 f5,-23131\(at\) [ ]*5a0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+05a4 <[^>]*> swc1 \$f4,-23127\(\$at\) +0+05a4 <[^>]*> swc1 f4,-23127\(at\) [ ]*5a4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+05a8 <[^>]*> sw \$a0,0\(\$zero\) -0+05ac <[^>]*> sw \$a1,4\(\$zero\) -0+05b0 <[^>]*> lui \$a0,0x2 +0+05a8 <[^>]*> sw a0,0\(zero\) +0+05ac <[^>]*> sw a1,4\(zero\) +0+05b0 <[^>]*> lui a0,0x2 [ ]*5b0: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+05b4 <[^>]*> addu \$a0,\$a0,\$a1 -0+05b8 <[^>]*> ld \$a0,-23131\(\$a0\) +0+05b4 <[^>]*> addu a0,a0,a1 +0+05b8 <[^>]*> ld a0,-23131\(a0\) [ ]*5b8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+05bc <[^>]*> lui \$at,0x2 +0+05bc <[^>]*> lui at,0x2 [ ]*5bc: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+05c0 <[^>]*> addu \$at,\$at,\$a1 -0+05c4 <[^>]*> sd \$a0,-23131\(\$at\) +0+05c0 <[^>]*> addu at,at,a1 +0+05c4 <[^>]*> sd a0,-23131\(at\) [ ]*5c4: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* 0+05c8 <[^>]*> nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/ld-ilocks.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/ld-ilocks.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/ld-ilocks.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/ld-ilocks.d Mon May 21 10:37:03 2001 @@ -7,625 +7,625 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <.text> lw \$a0,0\(\$zero\) -0+0004 <[^>]*> lw \$a1,4\(\$zero\) -0+0008 <[^>]*> lw \$a0,1\(\$zero\) -0+000c <[^>]*> lw \$a1,5\(\$zero\) -0+0010 <[^>]*> lui \$at,0x1 -0+0014 <[^>]*> lw \$a0,-32768\(\$at\) -0+0018 <[^>]*> lw \$a1,-32764\(\$at\) -0+001c <[^>]*> lw \$a0,-32768\(\$zero\) -0+0020 <[^>]*> lw \$a1,-32764\(\$zero\) -0+0024 <[^>]*> lui \$at,0x1 -0+0028 <[^>]*> lw \$a0,0\(\$at\) -0+002c <[^>]*> lw \$a1,4\(\$at\) -0+0030 <[^>]*> lui \$at,0x2 -0+0034 <[^>]*> lw \$a0,-23131\(\$at\) -0+0038 <[^>]*> lw \$a1,-23127\(\$at\) -0+003c <[^>]*> lw \$a0,0\(\$a1\) -0+0040 <[^>]*> lw \$a1,4\(\$a1\) -0+0044 <[^>]*> lw \$a0,1\(\$a1\) -0+0048 <[^>]*> lw \$a1,5\(\$a1\) -0+004c <[^>]*> lui \$at,0x1 -0+0050 <[^>]*> addu \$at,\$a1,\$at -0+0054 <[^>]*> lw \$a0,-32768\(\$at\) -0+0058 <[^>]*> lw \$a1,-32764\(\$at\) -0+005c <[^>]*> lw \$a0,-32768\(\$a1\) -0+0060 <[^>]*> lw \$a1,-32764\(\$a1\) -0+0064 <[^>]*> lui \$at,0x1 -0+0068 <[^>]*> addu \$at,\$a1,\$at -0+006c <[^>]*> lw \$a0,0\(\$at\) -0+0070 <[^>]*> lw \$a1,4\(\$at\) -0+0074 <[^>]*> lui \$at,0x2 -0+0078 <[^>]*> addu \$at,\$a1,\$at -0+007c <[^>]*> lw \$a0,-23131\(\$at\) -0+0080 <[^>]*> lw \$a1,-23127\(\$at\) -0+0084 <[^>]*> lui \$at,0x0 +0+0000 <.text> lw a0,0\(zero\) +0+0004 <[^>]*> lw a1,4\(zero\) +0+0008 <[^>]*> lw a0,1\(zero\) +0+000c <[^>]*> lw a1,5\(zero\) +0+0010 <[^>]*> lui at,0x1 +0+0014 <[^>]*> lw a0,-32768\(at\) +0+0018 <[^>]*> lw a1,-32764\(at\) +0+001c <[^>]*> lw a0,-32768\(zero\) +0+0020 <[^>]*> lw a1,-32764\(zero\) +0+0024 <[^>]*> lui at,0x1 +0+0028 <[^>]*> lw a0,0\(at\) +0+002c <[^>]*> lw a1,4\(at\) +0+0030 <[^>]*> lui at,0x2 +0+0034 <[^>]*> lw a0,-23131\(at\) +0+0038 <[^>]*> lw a1,-23127\(at\) +0+003c <[^>]*> lw a0,0\(a1\) +0+0040 <[^>]*> lw a1,4\(a1\) +0+0044 <[^>]*> lw a0,1\(a1\) +0+0048 <[^>]*> lw a1,5\(a1\) +0+004c <[^>]*> lui at,0x1 +0+0050 <[^>]*> addu at,a1,at +0+0054 <[^>]*> lw a0,-32768\(at\) +0+0058 <[^>]*> lw a1,-32764\(at\) +0+005c <[^>]*> lw a0,-32768\(a1\) +0+0060 <[^>]*> lw a1,-32764\(a1\) +0+0064 <[^>]*> lui at,0x1 +0+0068 <[^>]*> addu at,a1,at +0+006c <[^>]*> lw a0,0\(at\) +0+0070 <[^>]*> lw a1,4\(at\) +0+0074 <[^>]*> lui at,0x2 +0+0078 <[^>]*> addu at,a1,at +0+007c <[^>]*> lw a0,-23131\(at\) +0+0080 <[^>]*> lw a1,-23127\(at\) +0+0084 <[^>]*> lui at,0x0 [ ]*84: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0088 <[^>]*> lw \$a0,0\(\$at\) +0+0088 <[^>]*> lw a0,0\(at\) [ ]*88: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+008c <[^>]*> lw \$a1,4\(\$at\) +0+008c <[^>]*> lw a1,4\(at\) [ ]*8c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0090 <[^>]*> lui \$at,0x0 +0+0090 <[^>]*> lui at,0x0 [ ]*90: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0094 <[^>]*> lw \$a0,0\(\$at\) +0+0094 <[^>]*> lw a0,0\(at\) [ ]*94: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0098 <[^>]*> lw \$a1,4\(\$at\) +0+0098 <[^>]*> lw a1,4\(at\) [ ]*98: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+009c <[^>]*> lw \$a0,0\(\$gp\) +0+009c <[^>]*> lw a0,0\(gp\) [ ]*9c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00a0 <[^>]*> lw \$a1,4\(\$gp\) +0+00a0 <[^>]*> lw a1,4\(gp\) [ ]*a0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00a4 <[^>]*> lui \$at,0x0 +0+00a4 <[^>]*> lui at,0x0 [ ]*a4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00a8 <[^>]*> lw \$a0,0\(\$at\) +0+00a8 <[^>]*> lw a0,0\(at\) [ ]*a8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00ac <[^>]*> lw \$a1,4\(\$at\) +0+00ac <[^>]*> lw a1,4\(at\) [ ]*ac: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00b0 <[^>]*> lw \$a0,0\(\$gp\) +0+00b0 <[^>]*> lw a0,0\(gp\) [ ]*b0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00b4 <[^>]*> lw \$a1,4\(\$gp\) +0+00b4 <[^>]*> lw a1,4\(gp\) [ ]*b4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00b8 <[^>]*> lui \$at,0x0 +0+00b8 <[^>]*> lui at,0x0 [ ]*b8: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+00bc <[^>]*> lw \$a0,0\(\$at\) +0+00bc <[^>]*> lw a0,0\(at\) [ ]*bc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00c0 <[^>]*> lw \$a1,4\(\$at\) +0+00c0 <[^>]*> lw a1,4\(at\) [ ]*c0: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00c4 <[^>]*> lw \$a0,-16384\(\$gp\) +0+00c4 <[^>]*> lw a0,-16384\(gp\) [ ]*c4: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00c8 <[^>]*> lw \$a1,-16380\(\$gp\) +0+00c8 <[^>]*> lw a1,-16380\(gp\) [ ]*c8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00cc <[^>]*> lui \$at,0x0 +0+00cc <[^>]*> lui at,0x0 [ ]*cc: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+00d0 <[^>]*> lw \$a0,1\(\$at\) +0+00d0 <[^>]*> lw a0,1\(at\) [ ]*d0: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00d4 <[^>]*> lw \$a1,5\(\$at\) +0+00d4 <[^>]*> lw a1,5\(at\) [ ]*d4: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00d8 <[^>]*> lui \$at,0x0 +0+00d8 <[^>]*> lui at,0x0 [ ]*d8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00dc <[^>]*> lw \$a0,1\(\$at\) +0+00dc <[^>]*> lw a0,1\(at\) [ ]*dc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00e0 <[^>]*> lw \$a1,5\(\$at\) +0+00e0 <[^>]*> lw a1,5\(at\) [ ]*e0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00e4 <[^>]*> lw \$a0,1\(\$gp\) +0+00e4 <[^>]*> lw a0,1\(gp\) [ ]*e4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00e8 <[^>]*> lw \$a1,5\(\$gp\) +0+00e8 <[^>]*> lw a1,5\(gp\) [ ]*e8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00ec <[^>]*> lui \$at,0x0 +0+00ec <[^>]*> lui at,0x0 [ ]*ec: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00f0 <[^>]*> lw \$a0,1\(\$at\) +0+00f0 <[^>]*> lw a0,1\(at\) [ ]*f0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00f4 <[^>]*> lw \$a1,5\(\$at\) +0+00f4 <[^>]*> lw a1,5\(at\) [ ]*f4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00f8 <[^>]*> lw \$a0,1\(\$gp\) +0+00f8 <[^>]*> lw a0,1\(gp\) [ ]*f8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00fc <[^>]*> lw \$a1,5\(\$gp\) +0+00fc <[^>]*> lw a1,5\(gp\) [ ]*fc: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0100 <[^>]*> lui \$at,0x0 +0+0100 <[^>]*> lui at,0x0 [ ]*100: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0104 <[^>]*> lw \$a0,1\(\$at\) +0+0104 <[^>]*> lw a0,1\(at\) [ ]*104: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0108 <[^>]*> lw \$a1,5\(\$at\) +0+0108 <[^>]*> lw a1,5\(at\) [ ]*108: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+010c <[^>]*> lw \$a0,-16383\(\$gp\) +0+010c <[^>]*> lw a0,-16383\(gp\) [ ]*10c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0110 <[^>]*> lw \$a1,-16379\(\$gp\) +0+0110 <[^>]*> lw a1,-16379\(gp\) [ ]*110: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0114 <[^>]*> lui \$at,0x1 +0+0114 <[^>]*> lui at,0x1 [ ]*114: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0118 <[^>]*> lw \$a0,-32768\(\$at\) +0+0118 <[^>]*> lw a0,-32768\(at\) [ ]*118: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+011c <[^>]*> lw \$a1,-32764\(\$at\) +0+011c <[^>]*> lw a1,-32764\(at\) [ ]*11c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0120 <[^>]*> lui \$at,0x1 +0+0120 <[^>]*> lui at,0x1 [ ]*120: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0124 <[^>]*> lw \$a0,-32768\(\$at\) +0+0124 <[^>]*> lw a0,-32768\(at\) [ ]*124: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0128 <[^>]*> lw \$a1,-32764\(\$at\) +0+0128 <[^>]*> lw a1,-32764\(at\) [ ]*128: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+012c <[^>]*> lui \$at,0x1 +0+012c <[^>]*> lui at,0x1 [ ]*12c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0130 <[^>]*> lw \$a0,-32768\(\$at\) +0+0130 <[^>]*> lw a0,-32768\(at\) [ ]*130: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0134 <[^>]*> lw \$a1,-32764\(\$at\) +0+0134 <[^>]*> lw a1,-32764\(at\) [ ]*134: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0138 <[^>]*> lui \$at,0x1 +0+0138 <[^>]*> lui at,0x1 [ ]*138: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+013c <[^>]*> lw \$a0,-32768\(\$at\) +0+013c <[^>]*> lw a0,-32768\(at\) [ ]*13c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0140 <[^>]*> lw \$a1,-32764\(\$at\) +0+0140 <[^>]*> lw a1,-32764\(at\) [ ]*140: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0144 <[^>]*> lui \$at,0x1 +0+0144 <[^>]*> lui at,0x1 [ ]*144: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0148 <[^>]*> lw \$a0,-32768\(\$at\) +0+0148 <[^>]*> lw a0,-32768\(at\) [ ]*148: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+014c <[^>]*> lw \$a1,-32764\(\$at\) +0+014c <[^>]*> lw a1,-32764\(at\) [ ]*14c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0150 <[^>]*> lui \$at,0x1 +0+0150 <[^>]*> lui at,0x1 [ ]*150: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0154 <[^>]*> lw \$a0,-32768\(\$at\) +0+0154 <[^>]*> lw a0,-32768\(at\) [ ]*154: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0158 <[^>]*> lw \$a1,-32764\(\$at\) +0+0158 <[^>]*> lw a1,-32764\(at\) [ ]*158: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+015c <[^>]*> lui \$at,0x1 +0+015c <[^>]*> lui at,0x1 [ ]*15c: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0160 <[^>]*> lw \$a0,-32768\(\$at\) +0+0160 <[^>]*> lw a0,-32768\(at\) [ ]*160: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0164 <[^>]*> lw \$a1,-32764\(\$at\) +0+0164 <[^>]*> lw a1,-32764\(at\) [ ]*164: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0168 <[^>]*> lui \$at,0x0 +0+0168 <[^>]*> lui at,0x0 [ ]*168: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+016c <[^>]*> lw \$a0,-32768\(\$at\) +0+016c <[^>]*> lw a0,-32768\(at\) [ ]*16c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0170 <[^>]*> lw \$a1,-32764\(\$at\) +0+0170 <[^>]*> lw a1,-32764\(at\) [ ]*170: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0174 <[^>]*> lui \$at,0x0 +0+0174 <[^>]*> lui at,0x0 [ ]*174: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0178 <[^>]*> lw \$a0,-32768\(\$at\) +0+0178 <[^>]*> lw a0,-32768\(at\) [ ]*178: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+017c <[^>]*> lw \$a1,-32764\(\$at\) +0+017c <[^>]*> lw a1,-32764\(at\) [ ]*17c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0180 <[^>]*> lui \$at,0x0 +0+0180 <[^>]*> lui at,0x0 [ ]*180: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0184 <[^>]*> lw \$a0,-32768\(\$at\) +0+0184 <[^>]*> lw a0,-32768\(at\) [ ]*184: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0188 <[^>]*> lw \$a1,-32764\(\$at\) +0+0188 <[^>]*> lw a1,-32764\(at\) [ ]*188: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+018c <[^>]*> lui \$at,0x0 +0+018c <[^>]*> lui at,0x0 [ ]*18c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0190 <[^>]*> lw \$a0,-32768\(\$at\) +0+0190 <[^>]*> lw a0,-32768\(at\) [ ]*190: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0194 <[^>]*> lw \$a1,-32764\(\$at\) +0+0194 <[^>]*> lw a1,-32764\(at\) [ ]*194: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0198 <[^>]*> lui \$at,0x0 +0+0198 <[^>]*> lui at,0x0 [ ]*198: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+019c <[^>]*> lw \$a0,-32768\(\$at\) +0+019c <[^>]*> lw a0,-32768\(at\) [ ]*19c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01a0 <[^>]*> lw \$a1,-32764\(\$at\) +0+01a0 <[^>]*> lw a1,-32764\(at\) [ ]*1a0: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01a4 <[^>]*> lui \$at,0x0 +0+01a4 <[^>]*> lui at,0x0 [ ]*1a4: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+01a8 <[^>]*> lw \$a0,-32768\(\$at\) +0+01a8 <[^>]*> lw a0,-32768\(at\) [ ]*1a8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+01ac <[^>]*> lw \$a1,-32764\(\$at\) +0+01ac <[^>]*> lw a1,-32764\(at\) [ ]*1ac: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+01b0 <[^>]*> lui \$at,0x0 +0+01b0 <[^>]*> lui at,0x0 [ ]*1b0: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+01b4 <[^>]*> lw \$a0,-32768\(\$at\) +0+01b4 <[^>]*> lw a0,-32768\(at\) [ ]*1b4: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+01b8 <[^>]*> lw \$a1,-32764\(\$at\) +0+01b8 <[^>]*> lw a1,-32764\(at\) [ ]*1b8: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+01bc <[^>]*> lui \$at,0x1 +0+01bc <[^>]*> lui at,0x1 [ ]*1bc: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+01c0 <[^>]*> lw \$a0,0\(\$at\) +0+01c0 <[^>]*> lw a0,0\(at\) [ ]*1c0: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+01c4 <[^>]*> lw \$a1,4\(\$at\) +0+01c4 <[^>]*> lw a1,4\(at\) [ ]*1c4: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+01c8 <[^>]*> lui \$at,0x1 +0+01c8 <[^>]*> lui at,0x1 [ ]*1c8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+01cc <[^>]*> lw \$a0,0\(\$at\) +0+01cc <[^>]*> lw a0,0\(at\) [ ]*1cc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01d0 <[^>]*> lw \$a1,4\(\$at\) +0+01d0 <[^>]*> lw a1,4\(at\) [ ]*1d0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01d4 <[^>]*> lui \$at,0x1 +0+01d4 <[^>]*> lui at,0x1 [ ]*1d4: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+01d8 <[^>]*> lw \$a0,0\(\$at\) +0+01d8 <[^>]*> lw a0,0\(at\) [ ]*1d8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+01dc <[^>]*> lw \$a1,4\(\$at\) +0+01dc <[^>]*> lw a1,4\(at\) [ ]*1dc: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+01e0 <[^>]*> lui \$at,0x1 +0+01e0 <[^>]*> lui at,0x1 [ ]*1e0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+01e4 <[^>]*> lw \$a0,0\(\$at\) +0+01e4 <[^>]*> lw a0,0\(at\) [ ]*1e4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01e8 <[^>]*> lw \$a1,4\(\$at\) +0+01e8 <[^>]*> lw a1,4\(at\) [ ]*1e8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01ec <[^>]*> lui \$at,0x1 +0+01ec <[^>]*> lui at,0x1 [ ]*1ec: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+01f0 <[^>]*> lw \$a0,0\(\$at\) +0+01f0 <[^>]*> lw a0,0\(at\) [ ]*1f0: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01f4 <[^>]*> lw \$a1,4\(\$at\) +0+01f4 <[^>]*> lw a1,4\(at\) [ ]*1f4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01f8 <[^>]*> lui \$at,0x1 +0+01f8 <[^>]*> lui at,0x1 [ ]*1f8: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+01fc <[^>]*> lw \$a0,0\(\$at\) +0+01fc <[^>]*> lw a0,0\(at\) [ ]*1fc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0200 <[^>]*> lw \$a1,4\(\$at\) +0+0200 <[^>]*> lw a1,4\(at\) [ ]*200: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0204 <[^>]*> lui \$at,0x1 +0+0204 <[^>]*> lui at,0x1 [ ]*204: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0208 <[^>]*> lw \$a0,0\(\$at\) +0+0208 <[^>]*> lw a0,0\(at\) [ ]*208: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+020c <[^>]*> lw \$a1,4\(\$at\) +0+020c <[^>]*> lw a1,4\(at\) [ ]*20c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0210 <[^>]*> lui \$at,0x2 +0+0210 <[^>]*> lui at,0x2 [ ]*210: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0214 <[^>]*> lw \$a0,-23131\(\$at\) +0+0214 <[^>]*> lw a0,-23131\(at\) [ ]*214: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0218 <[^>]*> lw \$a1,-23127\(\$at\) +0+0218 <[^>]*> lw a1,-23127\(at\) [ ]*218: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+021c <[^>]*> lui \$at,0x2 +0+021c <[^>]*> lui at,0x2 [ ]*21c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0220 <[^>]*> lw \$a0,-23131\(\$at\) +0+0220 <[^>]*> lw a0,-23131\(at\) [ ]*220: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0224 <[^>]*> lw \$a1,-23127\(\$at\) +0+0224 <[^>]*> lw a1,-23127\(at\) [ ]*224: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0228 <[^>]*> lui \$at,0x2 +0+0228 <[^>]*> lui at,0x2 [ ]*228: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+022c <[^>]*> lw \$a0,-23131\(\$at\) +0+022c <[^>]*> lw a0,-23131\(at\) [ ]*22c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0230 <[^>]*> lw \$a1,-23127\(\$at\) +0+0230 <[^>]*> lw a1,-23127\(at\) [ ]*230: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0234 <[^>]*> lui \$at,0x2 +0+0234 <[^>]*> lui at,0x2 [ ]*234: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0238 <[^>]*> lw \$a0,-23131\(\$at\) +0+0238 <[^>]*> lw a0,-23131\(at\) [ ]*238: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+023c <[^>]*> lw \$a1,-23127\(\$at\) +0+023c <[^>]*> lw a1,-23127\(at\) [ ]*23c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0240 <[^>]*> lui \$at,0x2 +0+0240 <[^>]*> lui at,0x2 [ ]*240: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0244 <[^>]*> lw \$a0,-23131\(\$at\) +0+0244 <[^>]*> lw a0,-23131\(at\) [ ]*244: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0248 <[^>]*> lw \$a1,-23127\(\$at\) +0+0248 <[^>]*> lw a1,-23127\(at\) [ ]*248: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+024c <[^>]*> lui \$at,0x2 +0+024c <[^>]*> lui at,0x2 [ ]*24c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0250 <[^>]*> lw \$a0,-23131\(\$at\) +0+0250 <[^>]*> lw a0,-23131\(at\) [ ]*250: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0254 <[^>]*> lw \$a1,-23127\(\$at\) +0+0254 <[^>]*> lw a1,-23127\(at\) [ ]*254: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0258 <[^>]*> lui \$at,0x2 +0+0258 <[^>]*> lui at,0x2 [ ]*258: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+025c <[^>]*> lw \$a0,-23131\(\$at\) +0+025c <[^>]*> lw a0,-23131\(at\) [ ]*25c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0260 <[^>]*> lw \$a1,-23127\(\$at\) +0+0260 <[^>]*> lw a1,-23127\(at\) [ ]*260: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0264 <[^>]*> lui \$at,0x0 +0+0264 <[^>]*> lui at,0x0 [ ]*264: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0268 <[^>]*> addu \$at,\$a1,\$at -0+026c <[^>]*> lw \$a0,0\(\$at\) +0+0268 <[^>]*> addu at,a1,at +0+026c <[^>]*> lw a0,0\(at\) [ ]*26c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0270 <[^>]*> lw \$a1,4\(\$at\) +0+0270 <[^>]*> lw a1,4\(at\) [ ]*270: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0274 <[^>]*> lui \$at,0x0 +0+0274 <[^>]*> lui at,0x0 [ ]*274: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0278 <[^>]*> addu \$at,\$a1,\$at -0+027c <[^>]*> lw \$a0,0\(\$at\) +0+0278 <[^>]*> addu at,a1,at +0+027c <[^>]*> lw a0,0\(at\) [ ]*27c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0280 <[^>]*> lw \$a1,4\(\$at\) +0+0280 <[^>]*> lw a1,4\(at\) [ ]*280: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0284 <[^>]*> addu \$at,\$a1,\$gp -0+0288 <[^>]*> lw \$a0,0\(\$at\) +0+0284 <[^>]*> addu at,a1,gp +0+0288 <[^>]*> lw a0,0\(at\) [ ]*288: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+028c <[^>]*> lw \$a1,4\(\$at\) +0+028c <[^>]*> lw a1,4\(at\) [ ]*28c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0290 <[^>]*> lui \$at,0x0 +0+0290 <[^>]*> lui at,0x0 [ ]*290: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0294 <[^>]*> addu \$at,\$a1,\$at -0+0298 <[^>]*> lw \$a0,0\(\$at\) +0+0294 <[^>]*> addu at,a1,at +0+0298 <[^>]*> lw a0,0\(at\) [ ]*298: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+029c <[^>]*> lw \$a1,4\(\$at\) +0+029c <[^>]*> lw a1,4\(at\) [ ]*29c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+02a0 <[^>]*> addu \$at,\$a1,\$gp -0+02a4 <[^>]*> lw \$a0,0\(\$at\) +0+02a0 <[^>]*> addu at,a1,gp +0+02a4 <[^>]*> lw a0,0\(at\) [ ]*2a4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+02a8 <[^>]*> lw \$a1,4\(\$at\) +0+02a8 <[^>]*> lw a1,4\(at\) [ ]*2a8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+02ac <[^>]*> lui \$at,0x0 +0+02ac <[^>]*> lui at,0x0 [ ]*2ac: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+02b0 <[^>]*> addu \$at,\$a1,\$at -0+02b4 <[^>]*> lw \$a0,0\(\$at\) +0+02b0 <[^>]*> addu at,a1,at +0+02b4 <[^>]*> lw a0,0\(at\) [ ]*2b4: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+02b8 <[^>]*> lw \$a1,4\(\$at\) +0+02b8 <[^>]*> lw a1,4\(at\) [ ]*2b8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+02bc <[^>]*> addu \$at,\$a1,\$gp -0+02c0 <[^>]*> lw \$a0,-16384\(\$at\) +0+02bc <[^>]*> addu at,a1,gp +0+02c0 <[^>]*> lw a0,-16384\(at\) [ ]*2c0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+02c4 <[^>]*> lw \$a1,-16380\(\$at\) +0+02c4 <[^>]*> lw a1,-16380\(at\) [ ]*2c4: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+02c8 <[^>]*> lui \$at,0x0 +0+02c8 <[^>]*> lui at,0x0 [ ]*2c8: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+02cc <[^>]*> addu \$at,\$a1,\$at -0+02d0 <[^>]*> lw \$a0,1\(\$at\) +0+02cc <[^>]*> addu at,a1,at +0+02d0 <[^>]*> lw a0,1\(at\) [ ]*2d0: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+02d4 <[^>]*> lw \$a1,5\(\$at\) +0+02d4 <[^>]*> lw a1,5\(at\) [ ]*2d4: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+02d8 <[^>]*> lui \$at,0x0 +0+02d8 <[^>]*> lui at,0x0 [ ]*2d8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+02dc <[^>]*> addu \$at,\$a1,\$at -0+02e0 <[^>]*> lw \$a0,1\(\$at\) +0+02dc <[^>]*> addu at,a1,at +0+02e0 <[^>]*> lw a0,1\(at\) [ ]*2e0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+02e4 <[^>]*> lw \$a1,5\(\$at\) +0+02e4 <[^>]*> lw a1,5\(at\) [ ]*2e4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+02e8 <[^>]*> addu \$at,\$a1,\$gp -0+02ec <[^>]*> lw \$a0,1\(\$at\) +0+02e8 <[^>]*> addu at,a1,gp +0+02ec <[^>]*> lw a0,1\(at\) [ ]*2ec: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+02f0 <[^>]*> lw \$a1,5\(\$at\) +0+02f0 <[^>]*> lw a1,5\(at\) [ ]*2f0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+02f4 <[^>]*> lui \$at,0x0 +0+02f4 <[^>]*> lui at,0x0 [ ]*2f4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+02f8 <[^>]*> addu \$at,\$a1,\$at -0+02fc <[^>]*> lw \$a0,1\(\$at\) +0+02f8 <[^>]*> addu at,a1,at +0+02fc <[^>]*> lw a0,1\(at\) [ ]*2fc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0300 <[^>]*> lw \$a1,5\(\$at\) +0+0300 <[^>]*> lw a1,5\(at\) [ ]*300: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0304 <[^>]*> addu \$at,\$a1,\$gp -0+0308 <[^>]*> lw \$a0,1\(\$at\) +0+0304 <[^>]*> addu at,a1,gp +0+0308 <[^>]*> lw a0,1\(at\) [ ]*308: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+030c <[^>]*> lw \$a1,5\(\$at\) +0+030c <[^>]*> lw a1,5\(at\) [ ]*30c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0310 <[^>]*> lui \$at,0x0 +0+0310 <[^>]*> lui at,0x0 [ ]*310: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0314 <[^>]*> addu \$at,\$a1,\$at -0+0318 <[^>]*> lw \$a0,1\(\$at\) +0+0314 <[^>]*> addu at,a1,at +0+0318 <[^>]*> lw a0,1\(at\) [ ]*318: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+031c <[^>]*> lw \$a1,5\(\$at\) +0+031c <[^>]*> lw a1,5\(at\) [ ]*31c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0320 <[^>]*> addu \$at,\$a1,\$gp -0+0324 <[^>]*> lw \$a0,-16383\(\$at\) +0+0320 <[^>]*> addu at,a1,gp +0+0324 <[^>]*> lw a0,-16383\(at\) [ ]*324: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0328 <[^>]*> lw \$a1,-16379\(\$at\) +0+0328 <[^>]*> lw a1,-16379\(at\) [ ]*328: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+032c <[^>]*> lui \$at,0x1 +0+032c <[^>]*> lui at,0x1 [ ]*32c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0330 <[^>]*> addu \$at,\$a1,\$at -0+0334 <[^>]*> lw \$a0,-32768\(\$at\) +0+0330 <[^>]*> addu at,a1,at +0+0334 <[^>]*> lw a0,-32768\(at\) [ ]*334: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0338 <[^>]*> lw \$a1,-32764\(\$at\) +0+0338 <[^>]*> lw a1,-32764\(at\) [ ]*338: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+033c <[^>]*> lui \$at,0x1 +0+033c <[^>]*> lui at,0x1 [ ]*33c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0340 <[^>]*> addu \$at,\$a1,\$at -0+0344 <[^>]*> lw \$a0,-32768\(\$at\) +0+0340 <[^>]*> addu at,a1,at +0+0344 <[^>]*> lw a0,-32768\(at\) [ ]*344: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0348 <[^>]*> lw \$a1,-32764\(\$at\) +0+0348 <[^>]*> lw a1,-32764\(at\) [ ]*348: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+034c <[^>]*> lui \$at,0x1 +0+034c <[^>]*> lui at,0x1 [ ]*34c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0350 <[^>]*> addu \$at,\$a1,\$at -0+0354 <[^>]*> lw \$a0,-32768\(\$at\) +0+0350 <[^>]*> addu at,a1,at +0+0354 <[^>]*> lw a0,-32768\(at\) [ ]*354: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0358 <[^>]*> lw \$a1,-32764\(\$at\) +0+0358 <[^>]*> lw a1,-32764\(at\) [ ]*358: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+035c <[^>]*> lui \$at,0x1 +0+035c <[^>]*> lui at,0x1 [ ]*35c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0360 <[^>]*> addu \$at,\$a1,\$at -0+0364 <[^>]*> lw \$a0,-32768\(\$at\) +0+0360 <[^>]*> addu at,a1,at +0+0364 <[^>]*> lw a0,-32768\(at\) [ ]*364: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0368 <[^>]*> lw \$a1,-32764\(\$at\) +0+0368 <[^>]*> lw a1,-32764\(at\) [ ]*368: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+036c <[^>]*> lui \$at,0x1 +0+036c <[^>]*> lui at,0x1 [ ]*36c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0370 <[^>]*> addu \$at,\$a1,\$at -0+0374 <[^>]*> lw \$a0,-32768\(\$at\) +0+0370 <[^>]*> addu at,a1,at +0+0374 <[^>]*> lw a0,-32768\(at\) [ ]*374: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0378 <[^>]*> lw \$a1,-32764\(\$at\) +0+0378 <[^>]*> lw a1,-32764\(at\) [ ]*378: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+037c <[^>]*> lui \$at,0x1 +0+037c <[^>]*> lui at,0x1 [ ]*37c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0380 <[^>]*> addu \$at,\$a1,\$at -0+0384 <[^>]*> lw \$a0,-32768\(\$at\) +0+0380 <[^>]*> addu at,a1,at +0+0384 <[^>]*> lw a0,-32768\(at\) [ ]*384: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0388 <[^>]*> lw \$a1,-32764\(\$at\) +0+0388 <[^>]*> lw a1,-32764\(at\) [ ]*388: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+038c <[^>]*> lui \$at,0x1 +0+038c <[^>]*> lui at,0x1 [ ]*38c: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0390 <[^>]*> addu \$at,\$a1,\$at -0+0394 <[^>]*> lw \$a0,-32768\(\$at\) +0+0390 <[^>]*> addu at,a1,at +0+0394 <[^>]*> lw a0,-32768\(at\) [ ]*394: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0398 <[^>]*> lw \$a1,-32764\(\$at\) +0+0398 <[^>]*> lw a1,-32764\(at\) [ ]*398: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+039c <[^>]*> lui \$at,0x0 +0+039c <[^>]*> lui at,0x0 [ ]*39c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+03a0 <[^>]*> addu \$at,\$a1,\$at -0+03a4 <[^>]*> lw \$a0,-32768\(\$at\) +0+03a0 <[^>]*> addu at,a1,at +0+03a4 <[^>]*> lw a0,-32768\(at\) [ ]*3a4: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+03a8 <[^>]*> lw \$a1,-32764\(\$at\) +0+03a8 <[^>]*> lw a1,-32764\(at\) [ ]*3a8: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+03ac <[^>]*> lui \$at,0x0 +0+03ac <[^>]*> lui at,0x0 [ ]*3ac: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+03b0 <[^>]*> addu \$at,\$a1,\$at -0+03b4 <[^>]*> lw \$a0,-32768\(\$at\) +0+03b0 <[^>]*> addu at,a1,at +0+03b4 <[^>]*> lw a0,-32768\(at\) [ ]*3b4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+03b8 <[^>]*> lw \$a1,-32764\(\$at\) +0+03b8 <[^>]*> lw a1,-32764\(at\) [ ]*3b8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+03bc <[^>]*> lui \$at,0x0 +0+03bc <[^>]*> lui at,0x0 [ ]*3bc: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+03c0 <[^>]*> addu \$at,\$a1,\$at -0+03c4 <[^>]*> lw \$a0,-32768\(\$at\) +0+03c0 <[^>]*> addu at,a1,at +0+03c4 <[^>]*> lw a0,-32768\(at\) [ ]*3c4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+03c8 <[^>]*> lw \$a1,-32764\(\$at\) +0+03c8 <[^>]*> lw a1,-32764\(at\) [ ]*3c8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+03cc <[^>]*> lui \$at,0x0 +0+03cc <[^>]*> lui at,0x0 [ ]*3cc: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+03d0 <[^>]*> addu \$at,\$a1,\$at -0+03d4 <[^>]*> lw \$a0,-32768\(\$at\) +0+03d0 <[^>]*> addu at,a1,at +0+03d4 <[^>]*> lw a0,-32768\(at\) [ ]*3d4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+03d8 <[^>]*> lw \$a1,-32764\(\$at\) +0+03d8 <[^>]*> lw a1,-32764\(at\) [ ]*3d8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+03dc <[^>]*> lui \$at,0x0 +0+03dc <[^>]*> lui at,0x0 [ ]*3dc: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+03e0 <[^>]*> addu \$at,\$a1,\$at -0+03e4 <[^>]*> lw \$a0,-32768\(\$at\) +0+03e0 <[^>]*> addu at,a1,at +0+03e4 <[^>]*> lw a0,-32768\(at\) [ ]*3e4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+03e8 <[^>]*> lw \$a1,-32764\(\$at\) +0+03e8 <[^>]*> lw a1,-32764\(at\) [ ]*3e8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+03ec <[^>]*> lui \$at,0x0 +0+03ec <[^>]*> lui at,0x0 [ ]*3ec: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+03f0 <[^>]*> addu \$at,\$a1,\$at -0+03f4 <[^>]*> lw \$a0,-32768\(\$at\) +0+03f0 <[^>]*> addu at,a1,at +0+03f4 <[^>]*> lw a0,-32768\(at\) [ ]*3f4: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+03f8 <[^>]*> lw \$a1,-32764\(\$at\) +0+03f8 <[^>]*> lw a1,-32764\(at\) [ ]*3f8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+03fc <[^>]*> lui \$at,0x0 +0+03fc <[^>]*> lui at,0x0 [ ]*3fc: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0400 <[^>]*> addu \$at,\$a1,\$at -0+0404 <[^>]*> lw \$a0,-32768\(\$at\) +0+0400 <[^>]*> addu at,a1,at +0+0404 <[^>]*> lw a0,-32768\(at\) [ ]*404: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0408 <[^>]*> lw \$a1,-32764\(\$at\) +0+0408 <[^>]*> lw a1,-32764\(at\) [ ]*408: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+040c <[^>]*> lui \$at,0x1 +0+040c <[^>]*> lui at,0x1 [ ]*40c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0410 <[^>]*> addu \$at,\$a1,\$at -0+0414 <[^>]*> lw \$a0,0\(\$at\) +0+0410 <[^>]*> addu at,a1,at +0+0414 <[^>]*> lw a0,0\(at\) [ ]*414: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0418 <[^>]*> lw \$a1,4\(\$at\) +0+0418 <[^>]*> lw a1,4\(at\) [ ]*418: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+041c <[^>]*> lui \$at,0x1 +0+041c <[^>]*> lui at,0x1 [ ]*41c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0420 <[^>]*> addu \$at,\$a1,\$at -0+0424 <[^>]*> lw \$a0,0\(\$at\) +0+0420 <[^>]*> addu at,a1,at +0+0424 <[^>]*> lw a0,0\(at\) [ ]*424: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0428 <[^>]*> lw \$a1,4\(\$at\) +0+0428 <[^>]*> lw a1,4\(at\) [ ]*428: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+042c <[^>]*> lui \$at,0x1 +0+042c <[^>]*> lui at,0x1 [ ]*42c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0430 <[^>]*> addu \$at,\$a1,\$at -0+0434 <[^>]*> lw \$a0,0\(\$at\) +0+0430 <[^>]*> addu at,a1,at +0+0434 <[^>]*> lw a0,0\(at\) [ ]*434: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0438 <[^>]*> lw \$a1,4\(\$at\) +0+0438 <[^>]*> lw a1,4\(at\) [ ]*438: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+043c <[^>]*> lui \$at,0x1 +0+043c <[^>]*> lui at,0x1 [ ]*43c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0440 <[^>]*> addu \$at,\$a1,\$at -0+0444 <[^>]*> lw \$a0,0\(\$at\) +0+0440 <[^>]*> addu at,a1,at +0+0444 <[^>]*> lw a0,0\(at\) [ ]*444: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0448 <[^>]*> lw \$a1,4\(\$at\) +0+0448 <[^>]*> lw a1,4\(at\) [ ]*448: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+044c <[^>]*> lui \$at,0x1 +0+044c <[^>]*> lui at,0x1 [ ]*44c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0450 <[^>]*> addu \$at,\$a1,\$at -0+0454 <[^>]*> lw \$a0,0\(\$at\) +0+0450 <[^>]*> addu at,a1,at +0+0454 <[^>]*> lw a0,0\(at\) [ ]*454: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0458 <[^>]*> lw \$a1,4\(\$at\) +0+0458 <[^>]*> lw a1,4\(at\) [ ]*458: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+045c <[^>]*> lui \$at,0x1 +0+045c <[^>]*> lui at,0x1 [ ]*45c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0460 <[^>]*> addu \$at,\$a1,\$at -0+0464 <[^>]*> lw \$a0,0\(\$at\) +0+0460 <[^>]*> addu at,a1,at +0+0464 <[^>]*> lw a0,0\(at\) [ ]*464: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0468 <[^>]*> lw \$a1,4\(\$at\) +0+0468 <[^>]*> lw a1,4\(at\) [ ]*468: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+046c <[^>]*> lui \$at,0x1 +0+046c <[^>]*> lui at,0x1 [ ]*46c: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0470 <[^>]*> addu \$at,\$a1,\$at -0+0474 <[^>]*> lw \$a0,0\(\$at\) +0+0470 <[^>]*> addu at,a1,at +0+0474 <[^>]*> lw a0,0\(at\) [ ]*474: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0478 <[^>]*> lw \$a1,4\(\$at\) +0+0478 <[^>]*> lw a1,4\(at\) [ ]*478: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+047c <[^>]*> lui \$at,0x2 +0+047c <[^>]*> lui at,0x2 [ ]*47c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0480 <[^>]*> addu \$at,\$a1,\$at -0+0484 <[^>]*> lw \$a0,-23131\(\$at\) +0+0480 <[^>]*> addu at,a1,at +0+0484 <[^>]*> lw a0,-23131\(at\) [ ]*484: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0488 <[^>]*> lw \$a1,-23127\(\$at\) +0+0488 <[^>]*> lw a1,-23127\(at\) [ ]*488: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+048c <[^>]*> lui \$at,0x2 +0+048c <[^>]*> lui at,0x2 [ ]*48c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0490 <[^>]*> addu \$at,\$a1,\$at -0+0494 <[^>]*> lw \$a0,-23131\(\$at\) +0+0490 <[^>]*> addu at,a1,at +0+0494 <[^>]*> lw a0,-23131\(at\) [ ]*494: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0498 <[^>]*> lw \$a1,-23127\(\$at\) +0+0498 <[^>]*> lw a1,-23127\(at\) [ ]*498: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+049c <[^>]*> lui \$at,0x2 +0+049c <[^>]*> lui at,0x2 [ ]*49c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+04a0 <[^>]*> addu \$at,\$a1,\$at -0+04a4 <[^>]*> lw \$a0,-23131\(\$at\) +0+04a0 <[^>]*> addu at,a1,at +0+04a4 <[^>]*> lw a0,-23131\(at\) [ ]*4a4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+04a8 <[^>]*> lw \$a1,-23127\(\$at\) +0+04a8 <[^>]*> lw a1,-23127\(at\) [ ]*4a8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+04ac <[^>]*> lui \$at,0x2 +0+04ac <[^>]*> lui at,0x2 [ ]*4ac: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+04b0 <[^>]*> addu \$at,\$a1,\$at -0+04b4 <[^>]*> lw \$a0,-23131\(\$at\) +0+04b0 <[^>]*> addu at,a1,at +0+04b4 <[^>]*> lw a0,-23131\(at\) [ ]*4b4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+04b8 <[^>]*> lw \$a1,-23127\(\$at\) +0+04b8 <[^>]*> lw a1,-23127\(at\) [ ]*4b8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+04bc <[^>]*> lui \$at,0x2 +0+04bc <[^>]*> lui at,0x2 [ ]*4bc: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+04c0 <[^>]*> addu \$at,\$a1,\$at -0+04c4 <[^>]*> lw \$a0,-23131\(\$at\) +0+04c0 <[^>]*> addu at,a1,at +0+04c4 <[^>]*> lw a0,-23131\(at\) [ ]*4c4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+04c8 <[^>]*> lw \$a1,-23127\(\$at\) +0+04c8 <[^>]*> lw a1,-23127\(at\) [ ]*4c8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+04cc <[^>]*> lui \$at,0x2 +0+04cc <[^>]*> lui at,0x2 [ ]*4cc: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+04d0 <[^>]*> addu \$at,\$a1,\$at -0+04d4 <[^>]*> lw \$a0,-23131\(\$at\) +0+04d0 <[^>]*> addu at,a1,at +0+04d4 <[^>]*> lw a0,-23131\(at\) [ ]*4d4: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+04d8 <[^>]*> lw \$a1,-23127\(\$at\) +0+04d8 <[^>]*> lw a1,-23127\(at\) [ ]*4d8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+04dc <[^>]*> lui \$at,0x2 +0+04dc <[^>]*> lui at,0x2 [ ]*4dc: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+04e0 <[^>]*> addu \$at,\$a1,\$at -0+04e4 <[^>]*> lw \$a0,-23131\(\$at\) +0+04e0 <[^>]*> addu at,a1,at +0+04e4 <[^>]*> lw a0,-23131\(at\) [ ]*4e4: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+04e8 <[^>]*> lw \$a1,-23127\(\$at\) +0+04e8 <[^>]*> lw a1,-23127\(at\) [ ]*4e8: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+04ec <[^>]*> lwc1 \$f[45],0\(\$zero\) -0+04f0 <[^>]*> lwc1 \$f[45],4\(\$zero\) -0+04f4 <[^>]*> lwc1 \$f[45],1\(\$zero\) -0+04f8 <[^>]*> lwc1 \$f[45],5\(\$zero\) -0+04fc <[^>]*> lui \$at,0x1 -0+0500 <[^>]*> lwc1 \$f[45],-32768\(\$at\) -0+0504 <[^>]*> lwc1 \$f[45],-32764\(\$at\) -0+0508 <[^>]*> lwc1 \$f[45],-32768\(\$zero\) -0+050c <[^>]*> lwc1 \$f[45],-32764\(\$zero\) -0+0510 <[^>]*> lwc1 \$f[45],0\(\$a1\) -0+0514 <[^>]*> lwc1 \$f[45],4\(\$a1\) -0+0518 <[^>]*> lwc1 \$f[45],1\(\$a1\) -0+051c <[^>]*> lwc1 \$f[45],5\(\$a1\) -0+0520 <[^>]*> lui \$at,0x1 -0+0524 <[^>]*> addu \$at,\$a1,\$at -0+0528 <[^>]*> lwc1 \$f[45],-32768\(\$at\) -0+052c <[^>]*> lwc1 \$f[45],-32764\(\$at\) -0+0530 <[^>]*> lwc1 \$f[45],-32768\(\$a1\) -0+0534 <[^>]*> lwc1 \$f[45],-32764\(\$a1\) -0+0538 <[^>]*> lui \$at,0x2 +0+04ec <[^>]*> lwc1 f[45],0\(zero\) +0+04f0 <[^>]*> lwc1 f[45],4\(zero\) +0+04f4 <[^>]*> lwc1 f[45],1\(zero\) +0+04f8 <[^>]*> lwc1 f[45],5\(zero\) +0+04fc <[^>]*> lui at,0x1 +0+0500 <[^>]*> lwc1 f[45],-32768\(at\) +0+0504 <[^>]*> lwc1 f[45],-32764\(at\) +0+0508 <[^>]*> lwc1 f[45],-32768\(zero\) +0+050c <[^>]*> lwc1 f[45],-32764\(zero\) +0+0510 <[^>]*> lwc1 f[45],0\(a1\) +0+0514 <[^>]*> lwc1 f[45],4\(a1\) +0+0518 <[^>]*> lwc1 f[45],1\(a1\) +0+051c <[^>]*> lwc1 f[45],5\(a1\) +0+0520 <[^>]*> lui at,0x1 +0+0524 <[^>]*> addu at,a1,at +0+0528 <[^>]*> lwc1 f[45],-32768\(at\) +0+052c <[^>]*> lwc1 f[45],-32764\(at\) +0+0530 <[^>]*> lwc1 f[45],-32768\(a1\) +0+0534 <[^>]*> lwc1 f[45],-32764\(a1\) +0+0538 <[^>]*> lui at,0x2 [ ]*538: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+053c <[^>]*> addu \$at,\$a1,\$at -0+0540 <[^>]*> lwc1 \$f[45],-23131\(\$at\) +0+053c <[^>]*> addu at,a1,at +0+0540 <[^>]*> lwc1 f[45],-23131\(at\) [ ]*540: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0544 <[^>]*> lwc1 \$f[45],-23127\(\$at\) +0+0544 <[^>]*> lwc1 f[45],-23127\(at\) [ ]*544: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common 0+0548 <[^>]*> nop -0+054c <[^>]*> swc1 \$f[45],0\(\$zero\) -0+0550 <[^>]*> swc1 \$f[45],4\(\$zero\) -0+0554 <[^>]*> swc1 \$f[45],1\(\$zero\) -0+0558 <[^>]*> swc1 \$f[45],5\(\$zero\) -0+055c <[^>]*> lui \$at,0x1 -0+0560 <[^>]*> swc1 \$f[45],-32768\(\$at\) -0+0564 <[^>]*> swc1 \$f[45],-32764\(\$at\) -0+0568 <[^>]*> swc1 \$f[45],-32768\(\$zero\) -0+056c <[^>]*> swc1 \$f[45],-32764\(\$zero\) -0+0570 <[^>]*> swc1 \$f[45],0\(\$a1\) -0+0574 <[^>]*> swc1 \$f[45],4\(\$a1\) -0+0578 <[^>]*> swc1 \$f[45],1\(\$a1\) -0+057c <[^>]*> swc1 \$f[45],5\(\$a1\) -0+0580 <[^>]*> lui \$at,0x1 -0+0584 <[^>]*> addu \$at,\$a1,\$at -0+0588 <[^>]*> swc1 \$f[45],-32768\(\$at\) -0+058c <[^>]*> swc1 \$f[45],-32764\(\$at\) -0+0590 <[^>]*> swc1 \$f[45],-32768\(\$a1\) -0+0594 <[^>]*> swc1 \$f[45],-32764\(\$a1\) -0+0598 <[^>]*> lui \$at,0x2 +0+054c <[^>]*> swc1 f[45],0\(zero\) +0+0550 <[^>]*> swc1 f[45],4\(zero\) +0+0554 <[^>]*> swc1 f[45],1\(zero\) +0+0558 <[^>]*> swc1 f[45],5\(zero\) +0+055c <[^>]*> lui at,0x1 +0+0560 <[^>]*> swc1 f[45],-32768\(at\) +0+0564 <[^>]*> swc1 f[45],-32764\(at\) +0+0568 <[^>]*> swc1 f[45],-32768\(zero\) +0+056c <[^>]*> swc1 f[45],-32764\(zero\) +0+0570 <[^>]*> swc1 f[45],0\(a1\) +0+0574 <[^>]*> swc1 f[45],4\(a1\) +0+0578 <[^>]*> swc1 f[45],1\(a1\) +0+057c <[^>]*> swc1 f[45],5\(a1\) +0+0580 <[^>]*> lui at,0x1 +0+0584 <[^>]*> addu at,a1,at +0+0588 <[^>]*> swc1 f[45],-32768\(at\) +0+058c <[^>]*> swc1 f[45],-32764\(at\) +0+0590 <[^>]*> swc1 f[45],-32768\(a1\) +0+0594 <[^>]*> swc1 f[45],-32764\(a1\) +0+0598 <[^>]*> lui at,0x2 [ ]*598: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+059c <[^>]*> addu \$at,\$a1,\$at -0+05a0 <[^>]*> swc1 \$f[45],-23131\(\$at\) +0+059c <[^>]*> addu at,a1,at +0+05a0 <[^>]*> swc1 f[45],-23131\(at\) [ ]*5a0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+05a4 <[^>]*> swc1 \$f[45],-23127\(\$at\) +0+05a4 <[^>]*> swc1 f[45],-23127\(at\) [ ]*5a4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+05a8 <[^>]*> sw \$a0,0\(\$zero\) -0+05ac <[^>]*> sw \$a1,4\(\$zero\) -0+05b0 <[^>]*> lui \$a0,0x2 +0+05a8 <[^>]*> sw a0,0\(zero\) +0+05ac <[^>]*> sw a1,4\(zero\) +0+05b0 <[^>]*> lui a0,0x2 [ ]*5b0: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+05b4 <[^>]*> (d|)addu \$a0,\$a0,\$a1 -0+05b8 <[^>]*> ld \$a0,-23131\(\$a0\) +0+05b4 <[^>]*> (d|)addu a0,a0,a1 +0+05b8 <[^>]*> ld a0,-23131\(a0\) [ ]*5b8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+05bc <[^>]*> lui \$at,0x2 +0+05bc <[^>]*> lui at,0x2 [ ]*5bc: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+05c0 <[^>]*> (d|)addu \$at,\$at,\$a1 -0+05c4 <[^>]*> sd \$a0,-23131\(\$at\) +0+05c0 <[^>]*> (d|)addu at,at,a1 +0+05c4 <[^>]*> sd a0,-23131\(at\) [ ]*5c4: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* 0+05c8 <[^>]*> nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/ld-svr4pic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/ld-svr4pic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/ld-svr4pic.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/ld-svr4pic.d Mon May 21 10:37:03 2001 @@ -8,218 +8,218 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lw \$a0,0\(\$zero\) -0+0004 <[^>]*> lw \$a1,4\(\$zero\) -0+0008 <[^>]*> lw \$a0,1\(\$zero\) -0+000c <[^>]*> lw \$a1,5\(\$zero\) -0+0010 <[^>]*> lui \$at,0x1 -0+0014 <[^>]*> lw \$a0,-32768\(\$at\) -0+0018 <[^>]*> lw \$a1,-32764\(\$at\) -0+001c <[^>]*> lw \$a0,-32768\(\$zero\) -0+0020 <[^>]*> lw \$a1,-32764\(\$zero\) -0+0024 <[^>]*> lui \$at,0x1 -0+0028 <[^>]*> lw \$a0,0\(\$at\) -0+002c <[^>]*> lw \$a1,4\(\$at\) -0+0030 <[^>]*> lui \$at,0x2 -0+0034 <[^>]*> lw \$a0,-23131\(\$at\) -0+0038 <[^>]*> lw \$a1,-23127\(\$at\) +0+0000 <[^>]*> lw a0,0\(zero\) +0+0004 <[^>]*> lw a1,4\(zero\) +0+0008 <[^>]*> lw a0,1\(zero\) +0+000c <[^>]*> lw a1,5\(zero\) +0+0010 <[^>]*> lui at,0x1 +0+0014 <[^>]*> lw a0,-32768\(at\) +0+0018 <[^>]*> lw a1,-32764\(at\) +0+001c <[^>]*> lw a0,-32768\(zero\) +0+0020 <[^>]*> lw a1,-32764\(zero\) +0+0024 <[^>]*> lui at,0x1 +0+0028 <[^>]*> lw a0,0\(at\) +0+002c <[^>]*> lw a1,4\(at\) +0+0030 <[^>]*> lui at,0x2 +0+0034 <[^>]*> lw a0,-23131\(at\) +0+0038 <[^>]*> lw a1,-23127\(at\) 0+003c <[^>]*> nop -0+0040 <[^>]*> lw \$a0,0\(\$a1\) -0+0044 <[^>]*> lw \$a1,4\(\$a1\) +0+0040 <[^>]*> lw a0,0\(a1\) +0+0044 <[^>]*> lw a1,4\(a1\) 0+0048 <[^>]*> nop -0+004c <[^>]*> lw \$a0,1\(\$a1\) -0+0050 <[^>]*> lw \$a1,5\(\$a1\) -0+0054 <[^>]*> lui \$at,0x1 -0+0058 <[^>]*> addu \$at,\$a1,\$at -0+005c <[^>]*> lw \$a0,-32768\(\$at\) -0+0060 <[^>]*> lw \$a1,-32764\(\$at\) +0+004c <[^>]*> lw a0,1\(a1\) +0+0050 <[^>]*> lw a1,5\(a1\) +0+0054 <[^>]*> lui at,0x1 +0+0058 <[^>]*> addu at,a1,at +0+005c <[^>]*> lw a0,-32768\(at\) +0+0060 <[^>]*> lw a1,-32764\(at\) 0+0064 <[^>]*> nop -0+0068 <[^>]*> lw \$a0,-32768\(\$a1\) -0+006c <[^>]*> lw \$a1,-32764\(\$a1\) -0+0070 <[^>]*> lui \$at,0x1 -0+0074 <[^>]*> addu \$at,\$a1,\$at -0+0078 <[^>]*> lw \$a0,0\(\$at\) -0+007c <[^>]*> lw \$a1,4\(\$at\) -0+0080 <[^>]*> lui \$at,0x2 -0+0084 <[^>]*> addu \$at,\$a1,\$at -0+0088 <[^>]*> lw \$a0,-23131\(\$at\) -0+008c <[^>]*> lw \$a1,-23127\(\$at\) -0+0090 <[^>]*> lw \$at,0\(\$gp\) +0+0068 <[^>]*> lw a0,-32768\(a1\) +0+006c <[^>]*> lw a1,-32764\(a1\) +0+0070 <[^>]*> lui at,0x1 +0+0074 <[^>]*> addu at,a1,at +0+0078 <[^>]*> lw a0,0\(at\) +0+007c <[^>]*> lw a1,4\(at\) +0+0080 <[^>]*> lui at,0x2 +0+0084 <[^>]*> addu at,a1,at +0+0088 <[^>]*> lw a0,-23131\(at\) +0+008c <[^>]*> lw a1,-23127\(at\) +0+0090 <[^>]*> lw at,0\(gp\) [ ]*90: R_MIPS_GOT16 .data 0+0094 <[^>]*> nop -0+0098 <[^>]*> lw \$a0,0\(\$at\) +0+0098 <[^>]*> lw a0,0\(at\) [ ]*98: R_MIPS_LO16 .data -0+009c <[^>]*> lw \$a1,4\(\$at\) +0+009c <[^>]*> lw a1,4\(at\) [ ]*9c: R_MIPS_LO16 .data -0+00a0 <[^>]*> lw \$at,0\(\$gp\) +0+00a0 <[^>]*> lw at,0\(gp\) [ ]*a0: R_MIPS_GOT16 big_external_data_label 0+00a4 <[^>]*> nop -0+00a8 <[^>]*> lw \$a0,0\(\$at\) -0+00ac <[^>]*> lw \$a1,4\(\$at\) -0+00b0 <[^>]*> lw \$at,0\(\$gp\) +0+00a8 <[^>]*> lw a0,0\(at\) +0+00ac <[^>]*> lw a1,4\(at\) +0+00b0 <[^>]*> lw at,0\(gp\) [ ]*b0: R_MIPS_GOT16 small_external_data_label 0+00b4 <[^>]*> nop -0+00b8 <[^>]*> lw \$a0,0\(\$at\) -0+00bc <[^>]*> lw \$a1,4\(\$at\) -0+00c0 <[^>]*> lw \$at,0\(\$gp\) +0+00b8 <[^>]*> lw a0,0\(at\) +0+00bc <[^>]*> lw a1,4\(at\) +0+00c0 <[^>]*> lw at,0\(gp\) [ ]*c0: R_MIPS_GOT16 big_external_common 0+00c4 <[^>]*> nop -0+00c8 <[^>]*> lw \$a0,0\(\$at\) -0+00cc <[^>]*> lw \$a1,4\(\$at\) -0+00d0 <[^>]*> lw \$at,0\(\$gp\) +0+00c8 <[^>]*> lw a0,0\(at\) +0+00cc <[^>]*> lw a1,4\(at\) +0+00d0 <[^>]*> lw at,0\(gp\) [ ]*d0: R_MIPS_GOT16 small_external_common 0+00d4 <[^>]*> nop -0+00d8 <[^>]*> lw \$a0,0\(\$at\) -0+00dc <[^>]*> lw \$a1,4\(\$at\) -0+00e0 <[^>]*> lw \$at,0\(\$gp\) +0+00d8 <[^>]*> lw a0,0\(at\) +0+00dc <[^>]*> lw a1,4\(at\) +0+00e0 <[^>]*> lw at,0\(gp\) [ ]*e0: R_MIPS_GOT16 .bss 0+00e4 <[^>]*> nop -0+00e8 <[^>]*> lw \$a0,0\(\$at\) +0+00e8 <[^>]*> lw a0,0\(at\) [ ]*e8: R_MIPS_LO16 .bss -0+00ec <[^>]*> lw \$a1,4\(\$at\) +0+00ec <[^>]*> lw a1,4\(at\) [ ]*ec: R_MIPS_LO16 .bss -0+00f0 <[^>]*> lw \$at,0\(\$gp\) +0+00f0 <[^>]*> lw at,0\(gp\) [ ]*f0: R_MIPS_GOT16 .bss 0+00f4 <[^>]*> nop -0+00f8 <[^>]*> lw \$a0,1000\(\$at\) +0+00f8 <[^>]*> lw a0,1000\(at\) [ ]*f8: R_MIPS_LO16 .bss -0+00fc <[^>]*> lw \$a1,1004\(\$at\) +0+00fc <[^>]*> lw a1,1004\(at\) [ ]*fc: R_MIPS_LO16 .bss -0+0100 <[^>]*> lw \$at,0\(\$gp\) +0+0100 <[^>]*> lw at,0\(gp\) [ ]*100: R_MIPS_GOT16 .data 0+0104 <[^>]*> nop -0+0108 <[^>]*> lw \$a0,1\(\$at\) +0+0108 <[^>]*> lw a0,1\(at\) [ ]*108: R_MIPS_LO16 .data -0+010c <[^>]*> lw \$a1,5\(\$at\) +0+010c <[^>]*> lw a1,5\(at\) [ ]*10c: R_MIPS_LO16 .data -0+0110 <[^>]*> lw \$at,0\(\$gp\) +0+0110 <[^>]*> lw at,0\(gp\) [ ]*110: R_MIPS_GOT16 big_external_data_label 0+0114 <[^>]*> nop -0+0118 <[^>]*> lw \$a0,1\(\$at\) -0+011c <[^>]*> lw \$a1,5\(\$at\) -0+0120 <[^>]*> lw \$at,0\(\$gp\) +0+0118 <[^>]*> lw a0,1\(at\) +0+011c <[^>]*> lw a1,5\(at\) +0+0120 <[^>]*> lw at,0\(gp\) [ ]*120: R_MIPS_GOT16 small_external_data_label 0+0124 <[^>]*> nop -0+0128 <[^>]*> lw \$a0,1\(\$at\) -0+012c <[^>]*> lw \$a1,5\(\$at\) -0+0130 <[^>]*> lw \$at,0\(\$gp\) +0+0128 <[^>]*> lw a0,1\(at\) +0+012c <[^>]*> lw a1,5\(at\) +0+0130 <[^>]*> lw at,0\(gp\) [ ]*130: R_MIPS_GOT16 big_external_common 0+0134 <[^>]*> nop -0+0138 <[^>]*> lw \$a0,1\(\$at\) -0+013c <[^>]*> lw \$a1,5\(\$at\) -0+0140 <[^>]*> lw \$at,0\(\$gp\) +0+0138 <[^>]*> lw a0,1\(at\) +0+013c <[^>]*> lw a1,5\(at\) +0+0140 <[^>]*> lw at,0\(gp\) [ ]*140: R_MIPS_GOT16 small_external_common 0+0144 <[^>]*> nop -0+0148 <[^>]*> lw \$a0,1\(\$at\) -0+014c <[^>]*> lw \$a1,5\(\$at\) -0+0150 <[^>]*> lw \$at,0\(\$gp\) +0+0148 <[^>]*> lw a0,1\(at\) +0+014c <[^>]*> lw a1,5\(at\) +0+0150 <[^>]*> lw at,0\(gp\) [ ]*150: R_MIPS_GOT16 .bss 0+0154 <[^>]*> nop -0+0158 <[^>]*> lw \$a0,1\(\$at\) +0+0158 <[^>]*> lw a0,1\(at\) [ ]*158: R_MIPS_LO16 .bss -0+015c <[^>]*> lw \$a1,5\(\$at\) +0+015c <[^>]*> lw a1,5\(at\) [ ]*15c: R_MIPS_LO16 .bss -0+0160 <[^>]*> lw \$at,0\(\$gp\) +0+0160 <[^>]*> lw at,0\(gp\) [ ]*160: R_MIPS_GOT16 .bss 0+0164 <[^>]*> nop -0+0168 <[^>]*> lw \$a0,1001\(\$at\) +0+0168 <[^>]*> lw a0,1001\(at\) [ ]*168: R_MIPS_LO16 .bss -0+016c <[^>]*> lw \$a1,1005\(\$at\) +0+016c <[^>]*> lw a1,1005\(at\) [ ]*16c: R_MIPS_LO16 .bss -0+0170 <[^>]*> lw \$at,0\(\$gp\) +0+0170 <[^>]*> lw at,0\(gp\) [ ]*170: R_MIPS_GOT16 .data 0+0174 <[^>]*> nop -0+0178 <[^>]*> addu \$at,\$a1,\$at -0+017c <[^>]*> lw \$a0,0\(\$at\) +0+0178 <[^>]*> addu at,a1,at +0+017c <[^>]*> lw a0,0\(at\) [ ]*17c: R_MIPS_LO16 .data -0+0180 <[^>]*> lw \$a1,4\(\$at\) +0+0180 <[^>]*> lw a1,4\(at\) [ ]*180: R_MIPS_LO16 .data -0+0184 <[^>]*> lw \$at,0\(\$gp\) +0+0184 <[^>]*> lw at,0\(gp\) [ ]*184: R_MIPS_GOT16 big_external_data_label 0+0188 <[^>]*> nop -0+018c <[^>]*> addu \$at,\$a1,\$at -0+0190 <[^>]*> lw \$a0,0\(\$at\) -0+0194 <[^>]*> lw \$a1,4\(\$at\) -0+0198 <[^>]*> lw \$at,0\(\$gp\) +0+018c <[^>]*> addu at,a1,at +0+0190 <[^>]*> lw a0,0\(at\) +0+0194 <[^>]*> lw a1,4\(at\) +0+0198 <[^>]*> lw at,0\(gp\) [ ]*198: R_MIPS_GOT16 small_external_data_label 0+019c <[^>]*> nop -0+01a0 <[^>]*> addu \$at,\$a1,\$at -0+01a4 <[^>]*> lw \$a0,0\(\$at\) -0+01a8 <[^>]*> lw \$a1,4\(\$at\) -0+01ac <[^>]*> lw \$at,0\(\$gp\) +0+01a0 <[^>]*> addu at,a1,at +0+01a4 <[^>]*> lw a0,0\(at\) +0+01a8 <[^>]*> lw a1,4\(at\) +0+01ac <[^>]*> lw at,0\(gp\) [ ]*1ac: R_MIPS_GOT16 big_external_common 0+01b0 <[^>]*> nop -0+01b4 <[^>]*> addu \$at,\$a1,\$at -0+01b8 <[^>]*> lw \$a0,0\(\$at\) -0+01bc <[^>]*> lw \$a1,4\(\$at\) -0+01c0 <[^>]*> lw \$at,0\(\$gp\) +0+01b4 <[^>]*> addu at,a1,at +0+01b8 <[^>]*> lw a0,0\(at\) +0+01bc <[^>]*> lw a1,4\(at\) +0+01c0 <[^>]*> lw at,0\(gp\) [ ]*1c0: R_MIPS_GOT16 small_external_common 0+01c4 <[^>]*> nop -0+01c8 <[^>]*> addu \$at,\$a1,\$at -0+01cc <[^>]*> lw \$a0,0\(\$at\) -0+01d0 <[^>]*> lw \$a1,4\(\$at\) -0+01d4 <[^>]*> lw \$at,0\(\$gp\) +0+01c8 <[^>]*> addu at,a1,at +0+01cc <[^>]*> lw a0,0\(at\) +0+01d0 <[^>]*> lw a1,4\(at\) +0+01d4 <[^>]*> lw at,0\(gp\) [ ]*1d4: R_MIPS_GOT16 .bss 0+01d8 <[^>]*> nop -0+01dc <[^>]*> addu \$at,\$a1,\$at -0+01e0 <[^>]*> lw \$a0,0\(\$at\) +0+01dc <[^>]*> addu at,a1,at +0+01e0 <[^>]*> lw a0,0\(at\) [ ]*1e0: R_MIPS_LO16 .bss -0+01e4 <[^>]*> lw \$a1,4\(\$at\) +0+01e4 <[^>]*> lw a1,4\(at\) [ ]*1e4: R_MIPS_LO16 .bss -0+01e8 <[^>]*> lw \$at,0\(\$gp\) +0+01e8 <[^>]*> lw at,0\(gp\) [ ]*1e8: R_MIPS_GOT16 .bss 0+01ec <[^>]*> nop -0+01f0 <[^>]*> addu \$at,\$a1,\$at -0+01f4 <[^>]*> lw \$a0,1000\(\$at\) +0+01f0 <[^>]*> addu at,a1,at +0+01f4 <[^>]*> lw a0,1000\(at\) [ ]*1f4: R_MIPS_LO16 .bss -0+01f8 <[^>]*> lw \$a1,1004\(\$at\) +0+01f8 <[^>]*> lw a1,1004\(at\) [ ]*1f8: R_MIPS_LO16 .bss -0+01fc <[^>]*> lw \$at,0\(\$gp\) +0+01fc <[^>]*> lw at,0\(gp\) [ ]*1fc: R_MIPS_GOT16 .data 0+0200 <[^>]*> nop -0+0204 <[^>]*> addu \$at,\$a1,\$at -0+0208 <[^>]*> lw \$a0,1\(\$at\) +0+0204 <[^>]*> addu at,a1,at +0+0208 <[^>]*> lw a0,1\(at\) [ ]*208: R_MIPS_LO16 .data -0+020c <[^>]*> lw \$a1,5\(\$at\) +0+020c <[^>]*> lw a1,5\(at\) [ ]*20c: R_MIPS_LO16 .data -0+0210 <[^>]*> lw \$at,0\(\$gp\) +0+0210 <[^>]*> lw at,0\(gp\) [ ]*210: R_MIPS_GOT16 big_external_data_label 0+0214 <[^>]*> nop -0+0218 <[^>]*> addu \$at,\$a1,\$at -0+021c <[^>]*> lw \$a0,1\(\$at\) -0+0220 <[^>]*> lw \$a1,5\(\$at\) -0+0224 <[^>]*> lw \$at,0\(\$gp\) +0+0218 <[^>]*> addu at,a1,at +0+021c <[^>]*> lw a0,1\(at\) +0+0220 <[^>]*> lw a1,5\(at\) +0+0224 <[^>]*> lw at,0\(gp\) [ ]*224: R_MIPS_GOT16 small_external_data_label 0+0228 <[^>]*> nop -0+022c <[^>]*> addu \$at,\$a1,\$at -0+0230 <[^>]*> lw \$a0,1\(\$at\) -0+0234 <[^>]*> lw \$a1,5\(\$at\) -0+0238 <[^>]*> lw \$at,0\(\$gp\) +0+022c <[^>]*> addu at,a1,at +0+0230 <[^>]*> lw a0,1\(at\) +0+0234 <[^>]*> lw a1,5\(at\) +0+0238 <[^>]*> lw at,0\(gp\) [ ]*238: R_MIPS_GOT16 big_external_common 0+023c <[^>]*> nop -0+0240 <[^>]*> addu \$at,\$a1,\$at -0+0244 <[^>]*> lw \$a0,1\(\$at\) -0+0248 <[^>]*> lw \$a1,5\(\$at\) -0+024c <[^>]*> lw \$at,0\(\$gp\) +0+0240 <[^>]*> addu at,a1,at +0+0244 <[^>]*> lw a0,1\(at\) +0+0248 <[^>]*> lw a1,5\(at\) +0+024c <[^>]*> lw at,0\(gp\) [ ]*24c: R_MIPS_GOT16 small_external_common 0+0250 <[^>]*> nop -0+0254 <[^>]*> addu \$at,\$a1,\$at -0+0258 <[^>]*> lw \$a0,1\(\$at\) -0+025c <[^>]*> lw \$a1,5\(\$at\) -0+0260 <[^>]*> lw \$at,0\(\$gp\) +0+0254 <[^>]*> addu at,a1,at +0+0258 <[^>]*> lw a0,1\(at\) +0+025c <[^>]*> lw a1,5\(at\) +0+0260 <[^>]*> lw at,0\(gp\) [ ]*260: R_MIPS_GOT16 .bss 0+0264 <[^>]*> nop -0+0268 <[^>]*> addu \$at,\$a1,\$at -0+026c <[^>]*> lw \$a0,1\(\$at\) +0+0268 <[^>]*> addu at,a1,at +0+026c <[^>]*> lw a0,1\(at\) [ ]*26c: R_MIPS_LO16 .bss -0+0270 <[^>]*> lw \$a1,5\(\$at\) +0+0270 <[^>]*> lw a1,5\(at\) [ ]*270: R_MIPS_LO16 .bss -0+0274 <[^>]*> lw \$at,0\(\$gp\) +0+0274 <[^>]*> lw at,0\(gp\) [ ]*274: R_MIPS_GOT16 .bss 0+0278 <[^>]*> nop -0+027c <[^>]*> addu \$at,\$a1,\$at -0+0280 <[^>]*> lw \$a0,1001\(\$at\) +0+027c <[^>]*> addu at,a1,at +0+0280 <[^>]*> lw a0,1001\(at\) [ ]*280: R_MIPS_LO16 .bss -0+0284 <[^>]*> lw \$a1,1005\(\$at\) +0+0284 <[^>]*> lw a1,1005\(at\) [ ]*284: R_MIPS_LO16 .bss ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/ld-xgot.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/ld-xgot.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/ld-xgot.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/ld-xgot.d Mon May 21 10:37:03 2001 @@ -8,266 +8,266 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lw \$a0,0\(\$zero\) -0+0004 <[^>]*> lw \$a1,4\(\$zero\) -0+0008 <[^>]*> lw \$a0,1\(\$zero\) -0+000c <[^>]*> lw \$a1,5\(\$zero\) -0+0010 <[^>]*> lui \$at,0x1 -0+0014 <[^>]*> lw \$a0,-32768\(\$at\) -0+0018 <[^>]*> lw \$a1,-32764\(\$at\) -0+001c <[^>]*> lw \$a0,-32768\(\$zero\) -0+0020 <[^>]*> lw \$a1,-32764\(\$zero\) -0+0024 <[^>]*> lui \$at,0x1 -0+0028 <[^>]*> lw \$a0,0\(\$at\) -0+002c <[^>]*> lw \$a1,4\(\$at\) -0+0030 <[^>]*> lui \$at,0x2 -0+0034 <[^>]*> lw \$a0,-23131\(\$at\) -0+0038 <[^>]*> lw \$a1,-23127\(\$at\) +0+0000 <[^>]*> lw a0,0\(zero\) +0+0004 <[^>]*> lw a1,4\(zero\) +0+0008 <[^>]*> lw a0,1\(zero\) +0+000c <[^>]*> lw a1,5\(zero\) +0+0010 <[^>]*> lui at,0x1 +0+0014 <[^>]*> lw a0,-32768\(at\) +0+0018 <[^>]*> lw a1,-32764\(at\) +0+001c <[^>]*> lw a0,-32768\(zero\) +0+0020 <[^>]*> lw a1,-32764\(zero\) +0+0024 <[^>]*> lui at,0x1 +0+0028 <[^>]*> lw a0,0\(at\) +0+002c <[^>]*> lw a1,4\(at\) +0+0030 <[^>]*> lui at,0x2 +0+0034 <[^>]*> lw a0,-23131\(at\) +0+0038 <[^>]*> lw a1,-23127\(at\) 0+003c <[^>]*> nop -0+0040 <[^>]*> lw \$a0,0\(\$a1\) -0+0044 <[^>]*> lw \$a1,4\(\$a1\) +0+0040 <[^>]*> lw a0,0\(a1\) +0+0044 <[^>]*> lw a1,4\(a1\) 0+0048 <[^>]*> nop -0+004c <[^>]*> lw \$a0,1\(\$a1\) -0+0050 <[^>]*> lw \$a1,5\(\$a1\) -0+0054 <[^>]*> lui \$at,0x1 -0+0058 <[^>]*> addu \$at,\$a1,\$at -0+005c <[^>]*> lw \$a0,-32768\(\$at\) -0+0060 <[^>]*> lw \$a1,-32764\(\$at\) +0+004c <[^>]*> lw a0,1\(a1\) +0+0050 <[^>]*> lw a1,5\(a1\) +0+0054 <[^>]*> lui at,0x1 +0+0058 <[^>]*> addu at,a1,at +0+005c <[^>]*> lw a0,-32768\(at\) +0+0060 <[^>]*> lw a1,-32764\(at\) 0+0064 <[^>]*> nop -0+0068 <[^>]*> lw \$a0,-32768\(\$a1\) -0+006c <[^>]*> lw \$a1,-32764\(\$a1\) -0+0070 <[^>]*> lui \$at,0x1 -0+0074 <[^>]*> addu \$at,\$a1,\$at -0+0078 <[^>]*> lw \$a0,0\(\$at\) -0+007c <[^>]*> lw \$a1,4\(\$at\) -0+0080 <[^>]*> lui \$at,0x2 -0+0084 <[^>]*> addu \$at,\$a1,\$at -0+0088 <[^>]*> lw \$a0,-23131\(\$at\) -0+008c <[^>]*> lw \$a1,-23127\(\$at\) -0+0090 <[^>]*> lw \$at,0\(\$gp\) +0+0068 <[^>]*> lw a0,-32768\(a1\) +0+006c <[^>]*> lw a1,-32764\(a1\) +0+0070 <[^>]*> lui at,0x1 +0+0074 <[^>]*> addu at,a1,at +0+0078 <[^>]*> lw a0,0\(at\) +0+007c <[^>]*> lw a1,4\(at\) +0+0080 <[^>]*> lui at,0x2 +0+0084 <[^>]*> addu at,a1,at +0+0088 <[^>]*> lw a0,-23131\(at\) +0+008c <[^>]*> lw a1,-23127\(at\) +0+0090 <[^>]*> lw at,0\(gp\) [ ]*90: R_MIPS_GOT16 .data 0+0094 <[^>]*> nop -0+0098 <[^>]*> lw \$a0,0\(\$at\) +0+0098 <[^>]*> lw a0,0\(at\) [ ]*98: R_MIPS_LO16 .data -0+009c <[^>]*> lw \$a1,4\(\$at\) +0+009c <[^>]*> lw a1,4\(at\) [ ]*9c: R_MIPS_LO16 .data -0+00a0 <[^>]*> lui \$at,0x0 +0+00a0 <[^>]*> lui at,0x0 [ ]*a0: R_MIPS_GOT_HI16 big_external_data_label -0+00a4 <[^>]*> addu \$at,\$at,\$gp -0+00a8 <[^>]*> lw \$at,0\(\$at\) +0+00a4 <[^>]*> addu at,at,gp +0+00a8 <[^>]*> lw at,0\(at\) [ ]*a8: R_MIPS_GOT_LO16 big_external_data_label 0+00ac <[^>]*> nop -0+00b0 <[^>]*> lw \$a0,0\(\$at\) -0+00b4 <[^>]*> lw \$a1,4\(\$at\) -0+00b8 <[^>]*> lui \$at,0x0 +0+00b0 <[^>]*> lw a0,0\(at\) +0+00b4 <[^>]*> lw a1,4\(at\) +0+00b8 <[^>]*> lui at,0x0 [ ]*b8: R_MIPS_GOT_HI16 small_external_data_label -0+00bc <[^>]*> addu \$at,\$at,\$gp -0+00c0 <[^>]*> lw \$at,0\(\$at\) +0+00bc <[^>]*> addu at,at,gp +0+00c0 <[^>]*> lw at,0\(at\) [ ]*c0: R_MIPS_GOT_LO16 small_external_data_label 0+00c4 <[^>]*> nop -0+00c8 <[^>]*> lw \$a0,0\(\$at\) -0+00cc <[^>]*> lw \$a1,4\(\$at\) -0+00d0 <[^>]*> lui \$at,0x0 +0+00c8 <[^>]*> lw a0,0\(at\) +0+00cc <[^>]*> lw a1,4\(at\) +0+00d0 <[^>]*> lui at,0x0 [ ]*d0: R_MIPS_GOT_HI16 big_external_common -0+00d4 <[^>]*> addu \$at,\$at,\$gp -0+00d8 <[^>]*> lw \$at,0\(\$at\) +0+00d4 <[^>]*> addu at,at,gp +0+00d8 <[^>]*> lw at,0\(at\) [ ]*d8: R_MIPS_GOT_LO16 big_external_common 0+00dc <[^>]*> nop -0+00e0 <[^>]*> lw \$a0,0\(\$at\) -0+00e4 <[^>]*> lw \$a1,4\(\$at\) -0+00e8 <[^>]*> lui \$at,0x0 +0+00e0 <[^>]*> lw a0,0\(at\) +0+00e4 <[^>]*> lw a1,4\(at\) +0+00e8 <[^>]*> lui at,0x0 [ ]*e8: R_MIPS_GOT_HI16 small_external_common -0+00ec <[^>]*> addu \$at,\$at,\$gp -0+00f0 <[^>]*> lw \$at,0\(\$at\) +0+00ec <[^>]*> addu at,at,gp +0+00f0 <[^>]*> lw at,0\(at\) [ ]*f0: R_MIPS_GOT_LO16 small_external_common 0+00f4 <[^>]*> nop -0+00f8 <[^>]*> lw \$a0,0\(\$at\) -0+00fc <[^>]*> lw \$a1,4\(\$at\) -0+0100 <[^>]*> lw \$at,0\(\$gp\) +0+00f8 <[^>]*> lw a0,0\(at\) +0+00fc <[^>]*> lw a1,4\(at\) +0+0100 <[^>]*> lw at,0\(gp\) [ ]*100: R_MIPS_GOT16 .bss 0+0104 <[^>]*> nop -0+0108 <[^>]*> lw \$a0,0\(\$at\) +0+0108 <[^>]*> lw a0,0\(at\) [ ]*108: R_MIPS_LO16 .bss -0+010c <[^>]*> lw \$a1,4\(\$at\) +0+010c <[^>]*> lw a1,4\(at\) [ ]*10c: R_MIPS_LO16 .bss -0+0110 <[^>]*> lw \$at,0\(\$gp\) +0+0110 <[^>]*> lw at,0\(gp\) [ ]*110: R_MIPS_GOT16 .bss 0+0114 <[^>]*> nop -0+0118 <[^>]*> lw \$a0,1000\(\$at\) +0+0118 <[^>]*> lw a0,1000\(at\) [ ]*118: R_MIPS_LO16 .bss -0+011c <[^>]*> lw \$a1,1004\(\$at\) +0+011c <[^>]*> lw a1,1004\(at\) [ ]*11c: R_MIPS_LO16 .bss -0+0120 <[^>]*> lw \$at,0\(\$gp\) +0+0120 <[^>]*> lw at,0\(gp\) [ ]*120: R_MIPS_GOT16 .data 0+0124 <[^>]*> nop -0+0128 <[^>]*> lw \$a0,1\(\$at\) +0+0128 <[^>]*> lw a0,1\(at\) [ ]*128: R_MIPS_LO16 .data -0+012c <[^>]*> lw \$a1,5\(\$at\) +0+012c <[^>]*> lw a1,5\(at\) [ ]*12c: R_MIPS_LO16 .data -0+0130 <[^>]*> lui \$at,0x0 +0+0130 <[^>]*> lui at,0x0 [ ]*130: R_MIPS_GOT_HI16 big_external_data_label -0+0134 <[^>]*> addu \$at,\$at,\$gp -0+0138 <[^>]*> lw \$at,0\(\$at\) +0+0134 <[^>]*> addu at,at,gp +0+0138 <[^>]*> lw at,0\(at\) [ ]*138: R_MIPS_GOT_LO16 big_external_data_label 0+013c <[^>]*> nop -0+0140 <[^>]*> lw \$a0,1\(\$at\) -0+0144 <[^>]*> lw \$a1,5\(\$at\) -0+0148 <[^>]*> lui \$at,0x0 +0+0140 <[^>]*> lw a0,1\(at\) +0+0144 <[^>]*> lw a1,5\(at\) +0+0148 <[^>]*> lui at,0x0 [ ]*148: R_MIPS_GOT_HI16 small_external_data_label -0+014c <[^>]*> addu \$at,\$at,\$gp -0+0150 <[^>]*> lw \$at,0\(\$at\) +0+014c <[^>]*> addu at,at,gp +0+0150 <[^>]*> lw at,0\(at\) [ ]*150: R_MIPS_GOT_LO16 small_external_data_label 0+0154 <[^>]*> nop -0+0158 <[^>]*> lw \$a0,1\(\$at\) -0+015c <[^>]*> lw \$a1,5\(\$at\) -0+0160 <[^>]*> lui \$at,0x0 +0+0158 <[^>]*> lw a0,1\(at\) +0+015c <[^>]*> lw a1,5\(at\) +0+0160 <[^>]*> lui at,0x0 [ ]*160: R_MIPS_GOT_HI16 big_external_common -0+0164 <[^>]*> addu \$at,\$at,\$gp -0+0168 <[^>]*> lw \$at,0\(\$at\) +0+0164 <[^>]*> addu at,at,gp +0+0168 <[^>]*> lw at,0\(at\) [ ]*168: R_MIPS_GOT_LO16 big_external_common 0+016c <[^>]*> nop -0+0170 <[^>]*> lw \$a0,1\(\$at\) -0+0174 <[^>]*> lw \$a1,5\(\$at\) -0+0178 <[^>]*> lui \$at,0x0 +0+0170 <[^>]*> lw a0,1\(at\) +0+0174 <[^>]*> lw a1,5\(at\) +0+0178 <[^>]*> lui at,0x0 [ ]*178: R_MIPS_GOT_HI16 small_external_common -0+017c <[^>]*> addu \$at,\$at,\$gp -0+0180 <[^>]*> lw \$at,0\(\$at\) +0+017c <[^>]*> addu at,at,gp +0+0180 <[^>]*> lw at,0\(at\) [ ]*180: R_MIPS_GOT_LO16 small_external_common 0+0184 <[^>]*> nop -0+0188 <[^>]*> lw \$a0,1\(\$at\) -0+018c <[^>]*> lw \$a1,5\(\$at\) -0+0190 <[^>]*> lw \$at,0\(\$gp\) +0+0188 <[^>]*> lw a0,1\(at\) +0+018c <[^>]*> lw a1,5\(at\) +0+0190 <[^>]*> lw at,0\(gp\) [ ]*190: R_MIPS_GOT16 .bss 0+0194 <[^>]*> nop -0+0198 <[^>]*> lw \$a0,1\(\$at\) +0+0198 <[^>]*> lw a0,1\(at\) [ ]*198: R_MIPS_LO16 .bss -0+019c <[^>]*> lw \$a1,5\(\$at\) +0+019c <[^>]*> lw a1,5\(at\) [ ]*19c: R_MIPS_LO16 .bss -0+01a0 <[^>]*> lw \$at,0\(\$gp\) +0+01a0 <[^>]*> lw at,0\(gp\) [ ]*1a0: R_MIPS_GOT16 .bss 0+01a4 <[^>]*> nop -0+01a8 <[^>]*> lw \$a0,1001\(\$at\) +0+01a8 <[^>]*> lw a0,1001\(at\) [ ]*1a8: R_MIPS_LO16 .bss -0+01ac <[^>]*> lw \$a1,1005\(\$at\) +0+01ac <[^>]*> lw a1,1005\(at\) [ ]*1ac: R_MIPS_LO16 .bss -0+01b0 <[^>]*> lw \$at,0\(\$gp\) +0+01b0 <[^>]*> lw at,0\(gp\) [ ]*1b0: R_MIPS_GOT16 .data 0+01b4 <[^>]*> nop -0+01b8 <[^>]*> addu \$at,\$a1,\$at -0+01bc <[^>]*> lw \$a0,0\(\$at\) +0+01b8 <[^>]*> addu at,a1,at +0+01bc <[^>]*> lw a0,0\(at\) [ ]*1bc: R_MIPS_LO16 .data -0+01c0 <[^>]*> lw \$a1,4\(\$at\) +0+01c0 <[^>]*> lw a1,4\(at\) [ ]*1c0: R_MIPS_LO16 .data -0+01c4 <[^>]*> lui \$at,0x0 +0+01c4 <[^>]*> lui at,0x0 [ ]*1c4: R_MIPS_GOT_HI16 big_external_data_label -0+01c8 <[^>]*> addu \$at,\$at,\$gp -0+01cc <[^>]*> lw \$at,0\(\$at\) +0+01c8 <[^>]*> addu at,at,gp +0+01cc <[^>]*> lw at,0\(at\) [ ]*1cc: R_MIPS_GOT_LO16 big_external_data_label 0+01d0 <[^>]*> nop -0+01d4 <[^>]*> addu \$at,\$a1,\$at -0+01d8 <[^>]*> lw \$a0,0\(\$at\) -0+01dc <[^>]*> lw \$a1,4\(\$at\) -0+01e0 <[^>]*> lui \$at,0x0 +0+01d4 <[^>]*> addu at,a1,at +0+01d8 <[^>]*> lw a0,0\(at\) +0+01dc <[^>]*> lw a1,4\(at\) +0+01e0 <[^>]*> lui at,0x0 [ ]*1e0: R_MIPS_GOT_HI16 small_external_data_label -0+01e4 <[^>]*> addu \$at,\$at,\$gp -0+01e8 <[^>]*> lw \$at,0\(\$at\) +0+01e4 <[^>]*> addu at,at,gp +0+01e8 <[^>]*> lw at,0\(at\) [ ]*1e8: R_MIPS_GOT_LO16 small_external_data_label 0+01ec <[^>]*> nop -0+01f0 <[^>]*> addu \$at,\$a1,\$at -0+01f4 <[^>]*> lw \$a0,0\(\$at\) -0+01f8 <[^>]*> lw \$a1,4\(\$at\) -0+01fc <[^>]*> lui \$at,0x0 +0+01f0 <[^>]*> addu at,a1,at +0+01f4 <[^>]*> lw a0,0\(at\) +0+01f8 <[^>]*> lw a1,4\(at\) +0+01fc <[^>]*> lui at,0x0 [ ]*1fc: R_MIPS_GOT_HI16 big_external_common -0+0200 <[^>]*> addu \$at,\$at,\$gp -0+0204 <[^>]*> lw \$at,0\(\$at\) +0+0200 <[^>]*> addu at,at,gp +0+0204 <[^>]*> lw at,0\(at\) [ ]*204: R_MIPS_GOT_LO16 big_external_common 0+0208 <[^>]*> nop -0+020c <[^>]*> addu \$at,\$a1,\$at -0+0210 <[^>]*> lw \$a0,0\(\$at\) -0+0214 <[^>]*> lw \$a1,4\(\$at\) -0+0218 <[^>]*> lui \$at,0x0 +0+020c <[^>]*> addu at,a1,at +0+0210 <[^>]*> lw a0,0\(at\) +0+0214 <[^>]*> lw a1,4\(at\) +0+0218 <[^>]*> lui at,0x0 [ ]*218: R_MIPS_GOT_HI16 small_external_common -0+021c <[^>]*> addu \$at,\$at,\$gp -0+0220 <[^>]*> lw \$at,0\(\$at\) +0+021c <[^>]*> addu at,at,gp +0+0220 <[^>]*> lw at,0\(at\) [ ]*220: R_MIPS_GOT_LO16 small_external_common 0+0224 <[^>]*> nop -0+0228 <[^>]*> addu \$at,\$a1,\$at -0+022c <[^>]*> lw \$a0,0\(\$at\) -0+0230 <[^>]*> lw \$a1,4\(\$at\) -0+0234 <[^>]*> lw \$at,0\(\$gp\) +0+0228 <[^>]*> addu at,a1,at +0+022c <[^>]*> lw a0,0\(at\) +0+0230 <[^>]*> lw a1,4\(at\) +0+0234 <[^>]*> lw at,0\(gp\) [ ]*234: R_MIPS_GOT16 .bss 0+0238 <[^>]*> nop -0+023c <[^>]*> addu \$at,\$a1,\$at -0+0240 <[^>]*> lw \$a0,0\(\$at\) +0+023c <[^>]*> addu at,a1,at +0+0240 <[^>]*> lw a0,0\(at\) [ ]*240: R_MIPS_LO16 .bss -0+0244 <[^>]*> lw \$a1,4\(\$at\) +0+0244 <[^>]*> lw a1,4\(at\) [ ]*244: R_MIPS_LO16 .bss -0+0248 <[^>]*> lw \$at,0\(\$gp\) +0+0248 <[^>]*> lw at,0\(gp\) [ ]*248: R_MIPS_GOT16 .bss 0+024c <[^>]*> nop -0+0250 <[^>]*> addu \$at,\$a1,\$at -0+0254 <[^>]*> lw \$a0,1000\(\$at\) +0+0250 <[^>]*> addu at,a1,at +0+0254 <[^>]*> lw a0,1000\(at\) [ ]*254: R_MIPS_LO16 .bss -0+0258 <[^>]*> lw \$a1,1004\(\$at\) +0+0258 <[^>]*> lw a1,1004\(at\) [ ]*258: R_MIPS_LO16 .bss -0+025c <[^>]*> lw \$at,0\(\$gp\) +0+025c <[^>]*> lw at,0\(gp\) [ ]*25c: R_MIPS_GOT16 .data 0+0260 <[^>]*> nop -0+0264 <[^>]*> addu \$at,\$a1,\$at -0+0268 <[^>]*> lw \$a0,1\(\$at\) +0+0264 <[^>]*> addu at,a1,at +0+0268 <[^>]*> lw a0,1\(at\) [ ]*268: R_MIPS_LO16 .data -0+026c <[^>]*> lw \$a1,5\(\$at\) +0+026c <[^>]*> lw a1,5\(at\) [ ]*26c: R_MIPS_LO16 .data -0+0270 <[^>]*> lui \$at,0x0 +0+0270 <[^>]*> lui at,0x0 [ ]*270: R_MIPS_GOT_HI16 big_external_data_label -0+0274 <[^>]*> addu \$at,\$at,\$gp -0+0278 <[^>]*> lw \$at,0\(\$at\) +0+0274 <[^>]*> addu at,at,gp +0+0278 <[^>]*> lw at,0\(at\) [ ]*278: R_MIPS_GOT_LO16 big_external_data_label 0+027c <[^>]*> nop -0+0280 <[^>]*> addu \$at,\$a1,\$at -0+0284 <[^>]*> lw \$a0,1\(\$at\) -0+0288 <[^>]*> lw \$a1,5\(\$at\) -0+028c <[^>]*> lui \$at,0x0 +0+0280 <[^>]*> addu at,a1,at +0+0284 <[^>]*> lw a0,1\(at\) +0+0288 <[^>]*> lw a1,5\(at\) +0+028c <[^>]*> lui at,0x0 [ ]*28c: R_MIPS_GOT_HI16 small_external_data_label -0+0290 <[^>]*> addu \$at,\$at,\$gp -0+0294 <[^>]*> lw \$at,0\(\$at\) +0+0290 <[^>]*> addu at,at,gp +0+0294 <[^>]*> lw at,0\(at\) [ ]*294: R_MIPS_GOT_LO16 small_external_data_label 0+0298 <[^>]*> nop -0+029c <[^>]*> addu \$at,\$a1,\$at -0+02a0 <[^>]*> lw \$a0,1\(\$at\) -0+02a4 <[^>]*> lw \$a1,5\(\$at\) -0+02a8 <[^>]*> lui \$at,0x0 +0+029c <[^>]*> addu at,a1,at +0+02a0 <[^>]*> lw a0,1\(at\) +0+02a4 <[^>]*> lw a1,5\(at\) +0+02a8 <[^>]*> lui at,0x0 [ ]*2a8: R_MIPS_GOT_HI16 big_external_common -0+02ac <[^>]*> addu \$at,\$at,\$gp -0+02b0 <[^>]*> lw \$at,0\(\$at\) +0+02ac <[^>]*> addu at,at,gp +0+02b0 <[^>]*> lw at,0\(at\) [ ]*2b0: R_MIPS_GOT_LO16 big_external_common 0+02b4 <[^>]*> nop -0+02b8 <[^>]*> addu \$at,\$a1,\$at -0+02bc <[^>]*> lw \$a0,1\(\$at\) -0+02c0 <[^>]*> lw \$a1,5\(\$at\) -0+02c4 <[^>]*> lui \$at,0x0 +0+02b8 <[^>]*> addu at,a1,at +0+02bc <[^>]*> lw a0,1\(at\) +0+02c0 <[^>]*> lw a1,5\(at\) +0+02c4 <[^>]*> lui at,0x0 [ ]*2c4: R_MIPS_GOT_HI16 small_external_common -0+02c8 <[^>]*> addu \$at,\$at,\$gp -0+02cc <[^>]*> lw \$at,0\(\$at\) +0+02c8 <[^>]*> addu at,at,gp +0+02cc <[^>]*> lw at,0\(at\) [ ]*2cc: R_MIPS_GOT_LO16 small_external_common 0+02d0 <[^>]*> nop -0+02d4 <[^>]*> addu \$at,\$a1,\$at -0+02d8 <[^>]*> lw \$a0,1\(\$at\) -0+02dc <[^>]*> lw \$a1,5\(\$at\) -0+02e0 <[^>]*> lw \$at,0\(\$gp\) +0+02d4 <[^>]*> addu at,a1,at +0+02d8 <[^>]*> lw a0,1\(at\) +0+02dc <[^>]*> lw a1,5\(at\) +0+02e0 <[^>]*> lw at,0\(gp\) [ ]*2e0: R_MIPS_GOT16 .bss 0+02e4 <[^>]*> nop -0+02e8 <[^>]*> addu \$at,\$a1,\$at -0+02ec <[^>]*> lw \$a0,1\(\$at\) +0+02e8 <[^>]*> addu at,a1,at +0+02ec <[^>]*> lw a0,1\(at\) [ ]*2ec: R_MIPS_LO16 .bss -0+02f0 <[^>]*> lw \$a1,5\(\$at\) +0+02f0 <[^>]*> lw a1,5\(at\) [ ]*2f0: R_MIPS_LO16 .bss -0+02f4 <[^>]*> lw \$at,0\(\$gp\) +0+02f4 <[^>]*> lw at,0\(gp\) [ ]*2f4: R_MIPS_GOT16 .bss 0+02f8 <[^>]*> nop -0+02fc <[^>]*> addu \$at,\$a1,\$at -0+0300 <[^>]*> lw \$a0,1001\(\$at\) +0+02fc <[^>]*> addu at,a1,at +0+0300 <[^>]*> lw a0,1001\(at\) [ ]*300: R_MIPS_LO16 .bss -0+0304 <[^>]*> lw \$a1,1005\(\$at\) +0+0304 <[^>]*> lw a1,1005\(at\) [ ]*304: R_MIPS_LO16 .bss ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/ld.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/ld.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/ld.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/ld.d Mon May 21 10:37:03 2001 @@ -7,633 +7,633 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lw \$a0,0\(\$zero\) -0+0004 <[^>]*> lw \$a1,4\(\$zero\) -0+0008 <[^>]*> lw \$a0,1\(\$zero\) -0+000c <[^>]*> lw \$a1,5\(\$zero\) -0+0010 <[^>]*> lui \$at,0x1 -0+0014 <[^>]*> lw \$a0,-32768\(\$at\) -0+0018 <[^>]*> lw \$a1,-32764\(\$at\) -0+001c <[^>]*> lw \$a0,-32768\(\$zero\) -0+0020 <[^>]*> lw \$a1,-32764\(\$zero\) -0+0024 <[^>]*> lui \$at,0x1 -0+0028 <[^>]*> lw \$a0,0\(\$at\) -0+002c <[^>]*> lw \$a1,4\(\$at\) -0+0030 <[^>]*> lui \$at,0x2 -0+0034 <[^>]*> lw \$a0,-23131\(\$at\) -0+0038 <[^>]*> lw \$a1,-23127\(\$at\) +0+0000 <[^>]*> lw a0,0\(zero\) +0+0004 <[^>]*> lw a1,4\(zero\) +0+0008 <[^>]*> lw a0,1\(zero\) +0+000c <[^>]*> lw a1,5\(zero\) +0+0010 <[^>]*> lui at,0x1 +0+0014 <[^>]*> lw a0,-32768\(at\) +0+0018 <[^>]*> lw a1,-32764\(at\) +0+001c <[^>]*> lw a0,-32768\(zero\) +0+0020 <[^>]*> lw a1,-32764\(zero\) +0+0024 <[^>]*> lui at,0x1 +0+0028 <[^>]*> lw a0,0\(at\) +0+002c <[^>]*> lw a1,4\(at\) +0+0030 <[^>]*> lui at,0x2 +0+0034 <[^>]*> lw a0,-23131\(at\) +0+0038 <[^>]*> lw a1,-23127\(at\) 0+003c <[^>]*> nop -0+0040 <[^>]*> lw \$a0,0\(\$a1\) -0+0044 <[^>]*> lw \$a1,4\(\$a1\) +0+0040 <[^>]*> lw a0,0\(a1\) +0+0044 <[^>]*> lw a1,4\(a1\) 0+0048 <[^>]*> nop -0+004c <[^>]*> lw \$a0,1\(\$a1\) -0+0050 <[^>]*> lw \$a1,5\(\$a1\) -0+0054 <[^>]*> lui \$at,0x1 -0+0058 <[^>]*> addu \$at,\$a1,\$at -0+005c <[^>]*> lw \$a0,-32768\(\$at\) -0+0060 <[^>]*> lw \$a1,-32764\(\$at\) +0+004c <[^>]*> lw a0,1\(a1\) +0+0050 <[^>]*> lw a1,5\(a1\) +0+0054 <[^>]*> lui at,0x1 +0+0058 <[^>]*> addu at,a1,at +0+005c <[^>]*> lw a0,-32768\(at\) +0+0060 <[^>]*> lw a1,-32764\(at\) 0+0064 <[^>]*> nop -0+0068 <[^>]*> lw \$a0,-32768\(\$a1\) -0+006c <[^>]*> lw \$a1,-32764\(\$a1\) -0+0070 <[^>]*> lui \$at,0x1 -0+0074 <[^>]*> addu \$at,\$a1,\$at -0+0078 <[^>]*> lw \$a0,0\(\$at\) -0+007c <[^>]*> lw \$a1,4\(\$at\) -0+0080 <[^>]*> lui \$at,0x2 -0+0084 <[^>]*> addu \$at,\$a1,\$at -0+0088 <[^>]*> lw \$a0,-23131\(\$at\) -0+008c <[^>]*> lw \$a1,-23127\(\$at\) -0+0090 <[^>]*> lui \$at,0x0 +0+0068 <[^>]*> lw a0,-32768\(a1\) +0+006c <[^>]*> lw a1,-32764\(a1\) +0+0070 <[^>]*> lui at,0x1 +0+0074 <[^>]*> addu at,a1,at +0+0078 <[^>]*> lw a0,0\(at\) +0+007c <[^>]*> lw a1,4\(at\) +0+0080 <[^>]*> lui at,0x2 +0+0084 <[^>]*> addu at,a1,at +0+0088 <[^>]*> lw a0,-23131\(at\) +0+008c <[^>]*> lw a1,-23127\(at\) +0+0090 <[^>]*> lui at,0x0 [ ]*90: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0094 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0094 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*94: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0098 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0098 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*98: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+009c <[^>]*> lui \$at,0x0 +0+009c <[^>]*> lui at,0x0 [ ]*9c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00a0 <[^>]*> lw \$a0,0\(\$at\) +0+00a0 <[^>]*> lw a0,0\(at\) [ ]*a0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00a4 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+00a4 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*a4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00a8 <[^>]*> lw \$a0,0\(\$gp\) +0+00a8 <[^>]*> lw a0,0\(gp\) [ ]*a8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00ac <[^>]*> lw \$a1,[-0-9]+\(\$gp\) +0+00ac <[^>]*> lw a1,[-0-9]+\(gp\) [ ]*ac: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00b0 <[^>]*> lui \$at,0x0 +0+00b0 <[^>]*> lui at,0x0 [ ]*b0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00b4 <[^>]*> lw \$a0,0\(\$at\) +0+00b4 <[^>]*> lw a0,0\(at\) [ ]*b4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00b8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+00b8 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*b8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00bc <[^>]*> lw \$a0,0\(\$gp\) +0+00bc <[^>]*> lw a0,0\(gp\) [ ]*bc: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00c0 <[^>]*> lw \$a1,[-0-9]+\(\$gp\) +0+00c0 <[^>]*> lw a1,[-0-9]+\(gp\) [ ]*c0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00c4 <[^>]*> lui \$at,0x0 +0+00c4 <[^>]*> lui at,0x0 [ ]*c4: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+00c8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+00c8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*c8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00cc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+00cc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*cc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00d0 <[^>]*> lw \$a0,[-0-9]+\(\$gp\) +0+00d0 <[^>]*> lw a0,[-0-9]+\(gp\) [ ]*d0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00d4 <[^>]*> lw \$a1,[-0-9]+\(\$gp\) +0+00d4 <[^>]*> lw a1,[-0-9]+\(gp\) [ ]*d4: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00d8 <[^>]*> lui \$at,0x0 +0+00d8 <[^>]*> lui at,0x0 [ ]*d8: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+00dc <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+00dc <[^>]*> lw a0,[-0-9]+\(at\) [ ]*dc: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00e0 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+00e0 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*e0: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00e4 <[^>]*> lui \$at,0x0 +0+00e4 <[^>]*> lui at,0x0 [ ]*e4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00e8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+00e8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*e8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00ec <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+00ec <[^>]*> lw a1,[-0-9]+\(at\) [ ]*ec: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00f0 <[^>]*> lw \$a0,1\(\$gp\) +0+00f0 <[^>]*> lw a0,1\(gp\) [ ]*f0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00f4 <[^>]*> lw \$a1,5\(\$gp\) +0+00f4 <[^>]*> lw a1,5\(gp\) [ ]*f4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00f8 <[^>]*> lui \$at,0x0 +0+00f8 <[^>]*> lui at,0x0 [ ]*f8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00fc <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+00fc <[^>]*> lw a0,[-0-9]+\(at\) [ ]*fc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0100 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0100 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*100: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0104 <[^>]*> lw \$a0,1\(\$gp\) +0+0104 <[^>]*> lw a0,1\(gp\) [ ]*104: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0108 <[^>]*> lw \$a1,5\(\$gp\) +0+0108 <[^>]*> lw a1,5\(gp\) [ ]*108: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+010c <[^>]*> lui \$at,0x0 +0+010c <[^>]*> lui at,0x0 [ ]*10c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0110 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0110 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*110: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0114 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0114 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*114: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0118 <[^>]*> lw \$a0,[-0-9]+\(\$gp\) +0+0118 <[^>]*> lw a0,[-0-9]+\(gp\) [ ]*118: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+011c <[^>]*> lw \$a1,[-0-9]+\(\$gp\) +0+011c <[^>]*> lw a1,[-0-9]+\(gp\) [ ]*11c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0120 <[^>]*> lui \$at,[-0-9x]+ +0+0120 <[^>]*> lui at,[-0-9x]+ [ ]*120: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0124 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0124 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*124: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0128 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0128 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*128: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+012c <[^>]*> lui \$at,[-0-9x]+ +0+012c <[^>]*> lui at,[-0-9x]+ [ ]*12c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0130 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0130 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*130: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0134 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0134 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*134: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0138 <[^>]*> lui \$at,[-0-9x]+ +0+0138 <[^>]*> lui at,[-0-9x]+ [ ]*138: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+013c <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+013c <[^>]*> lw a0,[-0-9]+\(at\) [ ]*13c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0140 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0140 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*140: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0144 <[^>]*> lui \$at,[-0-9x]+ +0+0144 <[^>]*> lui at,[-0-9x]+ [ ]*144: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0148 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0148 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*148: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+014c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+014c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*14c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0150 <[^>]*> lui \$at,[-0-9x]+ +0+0150 <[^>]*> lui at,[-0-9x]+ [ ]*150: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0154 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0154 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*154: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0158 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0158 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*158: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+015c <[^>]*> lui \$at,[-0-9x]+ +0+015c <[^>]*> lui at,[-0-9x]+ [ ]*15c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0160 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0160 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*160: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0164 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0164 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*164: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0168 <[^>]*> lui \$at,[-0-9x]+ +0+0168 <[^>]*> lui at,[-0-9x]+ [ ]*168: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+016c <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+016c <[^>]*> lw a0,[-0-9]+\(at\) [ ]*16c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0170 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0170 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*170: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0174 <[^>]*> lui \$at,0x0 +0+0174 <[^>]*> lui at,0x0 [ ]*174: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0178 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0178 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*178: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+017c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+017c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*17c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0180 <[^>]*> lui \$at,0x0 +0+0180 <[^>]*> lui at,0x0 [ ]*180: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0184 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0184 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*184: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0188 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0188 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*188: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+018c <[^>]*> lui \$at,0x0 +0+018c <[^>]*> lui at,0x0 [ ]*18c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0190 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0190 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*190: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0194 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0194 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*194: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0198 <[^>]*> lui \$at,0x0 +0+0198 <[^>]*> lui at,0x0 [ ]*198: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+019c <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+019c <[^>]*> lw a0,[-0-9]+\(at\) [ ]*19c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01a0 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+01a0 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*1a0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01a4 <[^>]*> lui \$at,0x0 +0+01a4 <[^>]*> lui at,0x0 [ ]*1a4: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+01a8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+01a8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*1a8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01ac <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+01ac <[^>]*> lw a1,[-0-9]+\(at\) [ ]*1ac: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01b0 <[^>]*> lui \$at,0x0 +0+01b0 <[^>]*> lui at,0x0 [ ]*1b0: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+01b4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+01b4 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*1b4: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+01b8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+01b8 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*1b8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+01bc <[^>]*> lui \$at,0x0 +0+01bc <[^>]*> lui at,0x0 [ ]*1bc: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+01c0 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+01c0 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*1c0: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+01c4 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+01c4 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*1c4: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+01c8 <[^>]*> lui \$at,[-0-9x]+ +0+01c8 <[^>]*> lui at,[-0-9x]+ [ ]*1c8: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+01cc <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+01cc <[^>]*> lw a0,[-0-9]+\(at\) [ ]*1cc: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+01d0 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+01d0 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*1d0: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+01d4 <[^>]*> lui \$at,[-0-9x]+ +0+01d4 <[^>]*> lui at,[-0-9x]+ [ ]*1d4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+01d8 <[^>]*> lw \$a0,0\(\$at\) +0+01d8 <[^>]*> lw a0,0\(at\) [ ]*1d8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01dc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+01dc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*1dc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01e0 <[^>]*> lui \$at,[-0-9x]+ +0+01e0 <[^>]*> lui at,[-0-9x]+ [ ]*1e0: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+01e4 <[^>]*> lw \$a0,0\(\$at\) +0+01e4 <[^>]*> lw a0,0\(at\) [ ]*1e4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+01e8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+01e8 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*1e8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+01ec <[^>]*> lui \$at,[-0-9x]+ +0+01ec <[^>]*> lui at,[-0-9x]+ [ ]*1ec: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+01f0 <[^>]*> lw \$a0,0\(\$at\) +0+01f0 <[^>]*> lw a0,0\(at\) [ ]*1f0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01f4 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+01f4 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*1f4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01f8 <[^>]*> lui \$at,[-0-9x]+ +0+01f8 <[^>]*> lui at,[-0-9x]+ [ ]*1f8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+01fc <[^>]*> lw \$a0,0\(\$at\) +0+01fc <[^>]*> lw a0,0\(at\) [ ]*1fc: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0200 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0200 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*200: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0204 <[^>]*> lui \$at,[-0-9x]+ +0+0204 <[^>]*> lui at,[-0-9x]+ [ ]*204: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0208 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0208 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*208: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+020c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+020c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*20c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0210 <[^>]*> lui \$at,[-0-9x]+ +0+0210 <[^>]*> lui at,[-0-9x]+ [ ]*210: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0214 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0214 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*214: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0218 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0218 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*218: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+021c <[^>]*> lui \$at,[-0-9x]+ +0+021c <[^>]*> lui at,[-0-9x]+ [ ]*21c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0220 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0220 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*220: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0224 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0224 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*224: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0228 <[^>]*> lui \$at,[-0-9x]+ +0+0228 <[^>]*> lui at,[-0-9x]+ [ ]*228: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+022c <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+022c <[^>]*> lw a0,[-0-9]+\(at\) [ ]*22c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0230 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0230 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*230: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0234 <[^>]*> lui \$at,[-0-9x]+ +0+0234 <[^>]*> lui at,[-0-9x]+ [ ]*234: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0238 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0238 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*238: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+023c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+023c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*23c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0240 <[^>]*> lui \$at,[-0-9x]+ +0+0240 <[^>]*> lui at,[-0-9x]+ [ ]*240: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0244 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0244 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*244: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0248 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0248 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*248: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+024c <[^>]*> lui \$at,[-0-9x]+ +0+024c <[^>]*> lui at,[-0-9x]+ [ ]*24c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0250 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0250 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*250: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0254 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0254 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*254: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0258 <[^>]*> lui \$at,[-0-9x]+ +0+0258 <[^>]*> lui at,[-0-9x]+ [ ]*258: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+025c <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+025c <[^>]*> lw a0,[-0-9]+\(at\) [ ]*25c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0260 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0260 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*260: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0264 <[^>]*> lui \$at,[-0-9x]+ +0+0264 <[^>]*> lui at,[-0-9x]+ [ ]*264: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0268 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0268 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*268: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+026c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+026c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*26c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0270 <[^>]*> lui \$at,0x0 +0+0270 <[^>]*> lui at,0x0 [ ]*270: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0274 <[^>]*> addu \$at,\$a1,\$at -0+0278 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0274 <[^>]*> addu at,a1,at +0+0278 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*278: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+027c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+027c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*27c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0280 <[^>]*> lui \$at,0x0 +0+0280 <[^>]*> lui at,0x0 [ ]*280: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0284 <[^>]*> addu \$at,\$a1,\$at -0+0288 <[^>]*> lw \$a0,0\(\$at\) +0+0284 <[^>]*> addu at,a1,at +0+0288 <[^>]*> lw a0,0\(at\) [ ]*288: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+028c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+028c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*28c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label 0+0290 <[^>]*> nop -0+0294 <[^>]*> addu \$at,\$a1,\$gp -0+0298 <[^>]*> lw \$a0,0\(\$at\) +0+0294 <[^>]*> addu at,a1,gp +0+0298 <[^>]*> lw a0,0\(at\) [ ]*298: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+029c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+029c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*29c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+02a0 <[^>]*> lui \$at,0x0 +0+02a0 <[^>]*> lui at,0x0 [ ]*2a0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+02a4 <[^>]*> addu \$at,\$a1,\$at -0+02a8 <[^>]*> lw \$a0,0\(\$at\) +0+02a4 <[^>]*> addu at,a1,at +0+02a8 <[^>]*> lw a0,0\(at\) [ ]*2a8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+02ac <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+02ac <[^>]*> lw a1,[-0-9]+\(at\) [ ]*2ac: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common 0+02b0 <[^>]*> nop -0+02b4 <[^>]*> addu \$at,\$a1,\$gp -0+02b8 <[^>]*> lw \$a0,0\(\$at\) +0+02b4 <[^>]*> addu at,a1,gp +0+02b8 <[^>]*> lw a0,0\(at\) [ ]*2b8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+02bc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+02bc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*2bc: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+02c0 <[^>]*> lui \$at,0x0 +0+02c0 <[^>]*> lui at,0x0 [ ]*2c0: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+02c4 <[^>]*> addu \$at,\$a1,\$at -0+02c8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+02c4 <[^>]*> addu at,a1,at +0+02c8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*2c8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+02cc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+02cc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*2cc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* 0+02d0 <[^>]*> nop -0+02d4 <[^>]*> addu \$at,\$a1,\$gp -0+02d8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+02d4 <[^>]*> addu at,a1,gp +0+02d8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*2d8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+02dc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+02dc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*2dc: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+02e0 <[^>]*> lui \$at,0x0 +0+02e0 <[^>]*> lui at,0x0 [ ]*2e0: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+02e4 <[^>]*> addu \$at,\$a1,\$at -0+02e8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+02e4 <[^>]*> addu at,a1,at +0+02e8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*2e8: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+02ec <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+02ec <[^>]*> lw a1,[-0-9]+\(at\) [ ]*2ec: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+02f0 <[^>]*> lui \$at,0x0 +0+02f0 <[^>]*> lui at,0x0 [ ]*2f0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+02f4 <[^>]*> addu \$at,\$a1,\$at -0+02f8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+02f4 <[^>]*> addu at,a1,at +0+02f8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*2f8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+02fc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+02fc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*2fc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label 0+0300 <[^>]*> nop -0+0304 <[^>]*> addu \$at,\$a1,\$gp -0+0308 <[^>]*> lw \$a0,1\(\$at\) +0+0304 <[^>]*> addu at,a1,gp +0+0308 <[^>]*> lw a0,1\(at\) [ ]*308: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+030c <[^>]*> lw \$a1,5\(\$at\) +0+030c <[^>]*> lw a1,5\(at\) [ ]*30c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0310 <[^>]*> lui \$at,0x0 +0+0310 <[^>]*> lui at,0x0 [ ]*310: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0314 <[^>]*> addu \$at,\$a1,\$at -0+0318 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0314 <[^>]*> addu at,a1,at +0+0318 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*318: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+031c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+031c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*31c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common 0+0320 <[^>]*> nop -0+0324 <[^>]*> addu \$at,\$a1,\$gp -0+0328 <[^>]*> lw \$a0,1\(\$at\) +0+0324 <[^>]*> addu at,a1,gp +0+0328 <[^>]*> lw a0,1\(at\) [ ]*328: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+032c <[^>]*> lw \$a1,5\(\$at\) +0+032c <[^>]*> lw a1,5\(at\) [ ]*32c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0330 <[^>]*> lui \$at,0x0 +0+0330 <[^>]*> lui at,0x0 [ ]*330: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0334 <[^>]*> addu \$at,\$a1,\$at -0+0338 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0334 <[^>]*> addu at,a1,at +0+0338 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*338: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+033c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+033c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*33c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* 0+0340 <[^>]*> nop -0+0344 <[^>]*> addu \$at,\$a1,\$gp -0+0348 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0344 <[^>]*> addu at,a1,gp +0+0348 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*348: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+034c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+034c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*34c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0350 <[^>]*> lui \$at,[-0-9x]+ +0+0350 <[^>]*> lui at,[-0-9x]+ [ ]*350: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0354 <[^>]*> addu \$at,\$a1,\$at -0+0358 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0354 <[^>]*> addu at,a1,at +0+0358 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*358: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+035c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+035c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*35c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0360 <[^>]*> lui \$at,[-0-9x]+ +0+0360 <[^>]*> lui at,[-0-9x]+ [ ]*360: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0364 <[^>]*> addu \$at,\$a1,\$at -0+0368 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0364 <[^>]*> addu at,a1,at +0+0368 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*368: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+036c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+036c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*36c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0370 <[^>]*> lui \$at,[-0-9x]+ +0+0370 <[^>]*> lui at,[-0-9x]+ [ ]*370: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0374 <[^>]*> addu \$at,\$a1,\$at -0+0378 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0374 <[^>]*> addu at,a1,at +0+0378 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*378: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+037c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+037c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*37c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0380 <[^>]*> lui \$at,[-0-9x]+ +0+0380 <[^>]*> lui at,[-0-9x]+ [ ]*380: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0384 <[^>]*> addu \$at,\$a1,\$at -0+0388 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0384 <[^>]*> addu at,a1,at +0+0388 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*388: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+038c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+038c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*38c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0390 <[^>]*> lui \$at,[-0-9x]+ +0+0390 <[^>]*> lui at,[-0-9x]+ [ ]*390: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0394 <[^>]*> addu \$at,\$a1,\$at -0+0398 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0394 <[^>]*> addu at,a1,at +0+0398 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*398: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+039c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+039c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*39c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+03a0 <[^>]*> lui \$at,[-0-9x]+ +0+03a0 <[^>]*> lui at,[-0-9x]+ [ ]*3a0: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+03a4 <[^>]*> addu \$at,\$a1,\$at -0+03a8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+03a4 <[^>]*> addu at,a1,at +0+03a8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*3a8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+03ac <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+03ac <[^>]*> lw a1,[-0-9]+\(at\) [ ]*3ac: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+03b0 <[^>]*> lui \$at,[-0-9x]+ +0+03b0 <[^>]*> lui at,[-0-9x]+ [ ]*3b0: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+03b4 <[^>]*> addu \$at,\$a1,\$at -0+03b8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+03b4 <[^>]*> addu at,a1,at +0+03b8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*3b8: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+03bc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+03bc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*3bc: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+03c0 <[^>]*> lui \$at,0x0 +0+03c0 <[^>]*> lui at,0x0 [ ]*3c0: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+03c4 <[^>]*> addu \$at,\$a1,\$at -0+03c8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+03c4 <[^>]*> addu at,a1,at +0+03c8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*3c8: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+03cc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+03cc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*3cc: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+03d0 <[^>]*> lui \$at,0x0 +0+03d0 <[^>]*> lui at,0x0 [ ]*3d0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+03d4 <[^>]*> addu \$at,\$a1,\$at -0+03d8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+03d4 <[^>]*> addu at,a1,at +0+03d8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*3d8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+03dc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+03dc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*3dc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+03e0 <[^>]*> lui \$at,0x0 +0+03e0 <[^>]*> lui at,0x0 [ ]*3e0: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+03e4 <[^>]*> addu \$at,\$a1,\$at -0+03e8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+03e4 <[^>]*> addu at,a1,at +0+03e8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*3e8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+03ec <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+03ec <[^>]*> lw a1,[-0-9]+\(at\) [ ]*3ec: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+03f0 <[^>]*> lui \$at,0x0 +0+03f0 <[^>]*> lui at,0x0 [ ]*3f0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+03f4 <[^>]*> addu \$at,\$a1,\$at -0+03f8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+03f4 <[^>]*> addu at,a1,at +0+03f8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*3f8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+03fc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+03fc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*3fc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0400 <[^>]*> lui \$at,0x0 +0+0400 <[^>]*> lui at,0x0 [ ]*400: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0404 <[^>]*> addu \$at,\$a1,\$at -0+0408 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0404 <[^>]*> addu at,a1,at +0+0408 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*408: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+040c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+040c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*40c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0410 <[^>]*> lui \$at,0x0 +0+0410 <[^>]*> lui at,0x0 [ ]*410: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0414 <[^>]*> addu \$at,\$a1,\$at -0+0418 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0414 <[^>]*> addu at,a1,at +0+0418 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*418: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+041c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+041c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*41c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0420 <[^>]*> lui \$at,0x0 +0+0420 <[^>]*> lui at,0x0 [ ]*420: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0424 <[^>]*> addu \$at,\$a1,\$at -0+0428 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0424 <[^>]*> addu at,a1,at +0+0428 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*428: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+042c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+042c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*42c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0430 <[^>]*> lui \$at,[-0-9x]+ +0+0430 <[^>]*> lui at,[-0-9x]+ [ ]*430: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0434 <[^>]*> addu \$at,\$a1,\$at -0+0438 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0434 <[^>]*> addu at,a1,at +0+0438 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*438: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+043c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+043c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*43c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0440 <[^>]*> lui \$at,[-0-9x]+ +0+0440 <[^>]*> lui at,[-0-9x]+ [ ]*440: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0444 <[^>]*> addu \$at,\$a1,\$at -0+0448 <[^>]*> lw \$a0,0\(\$at\) +0+0444 <[^>]*> addu at,a1,at +0+0448 <[^>]*> lw a0,0\(at\) [ ]*448: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+044c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+044c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*44c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0450 <[^>]*> lui \$at,[-0-9x]+ +0+0450 <[^>]*> lui at,[-0-9x]+ [ ]*450: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0454 <[^>]*> addu \$at,\$a1,\$at -0+0458 <[^>]*> lw \$a0,0\(\$at\) +0+0454 <[^>]*> addu at,a1,at +0+0458 <[^>]*> lw a0,0\(at\) [ ]*458: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+045c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+045c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*45c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0460 <[^>]*> lui \$at,[-0-9x]+ +0+0460 <[^>]*> lui at,[-0-9x]+ [ ]*460: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0464 <[^>]*> addu \$at,\$a1,\$at -0+0468 <[^>]*> lw \$a0,0\(\$at\) +0+0464 <[^>]*> addu at,a1,at +0+0468 <[^>]*> lw a0,0\(at\) [ ]*468: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+046c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+046c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*46c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0470 <[^>]*> lui \$at,[-0-9x]+ +0+0470 <[^>]*> lui at,[-0-9x]+ [ ]*470: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0474 <[^>]*> addu \$at,\$a1,\$at -0+0478 <[^>]*> lw \$a0,0\(\$at\) +0+0474 <[^>]*> addu at,a1,at +0+0478 <[^>]*> lw a0,0\(at\) [ ]*478: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+047c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+047c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*47c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0480 <[^>]*> lui \$at,[-0-9x]+ +0+0480 <[^>]*> lui at,[-0-9x]+ [ ]*480: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0484 <[^>]*> addu \$at,\$a1,\$at -0+0488 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0484 <[^>]*> addu at,a1,at +0+0488 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*488: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+048c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+048c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*48c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0490 <[^>]*> lui \$at,[-0-9x]+ +0+0490 <[^>]*> lui at,[-0-9x]+ [ ]*490: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0494 <[^>]*> addu \$at,\$a1,\$at -0+0498 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0494 <[^>]*> addu at,a1,at +0+0498 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*498: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+049c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+049c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*49c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+04a0 <[^>]*> lui \$at,[-0-9x]+ +0+04a0 <[^>]*> lui at,[-0-9x]+ [ ]*4a0: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+04a4 <[^>]*> addu \$at,\$a1,\$at -0+04a8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+04a4 <[^>]*> addu at,a1,at +0+04a8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*4a8: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+04ac <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+04ac <[^>]*> lw a1,[-0-9]+\(at\) [ ]*4ac: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+04b0 <[^>]*> lui \$at,[-0-9x]+ +0+04b0 <[^>]*> lui at,[-0-9x]+ [ ]*4b0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+04b4 <[^>]*> addu \$at,\$a1,\$at -0+04b8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+04b4 <[^>]*> addu at,a1,at +0+04b8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*4b8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+04bc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+04bc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*4bc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+04c0 <[^>]*> lui \$at,[-0-9x]+ +0+04c0 <[^>]*> lui at,[-0-9x]+ [ ]*4c0: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+04c4 <[^>]*> addu \$at,\$a1,\$at -0+04c8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+04c4 <[^>]*> addu at,a1,at +0+04c8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*4c8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+04cc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+04cc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*4cc: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+04d0 <[^>]*> lui \$at,[-0-9x]+ +0+04d0 <[^>]*> lui at,[-0-9x]+ [ ]*4d0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+04d4 <[^>]*> addu \$at,\$a1,\$at -0+04d8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+04d4 <[^>]*> addu at,a1,at +0+04d8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*4d8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+04dc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+04dc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*4dc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+04e0 <[^>]*> lui \$at,[-0-9x]+ +0+04e0 <[^>]*> lui at,[-0-9x]+ [ ]*4e0: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+04e4 <[^>]*> addu \$at,\$a1,\$at -0+04e8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+04e4 <[^>]*> addu at,a1,at +0+04e8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*4e8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+04ec <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+04ec <[^>]*> lw a1,[-0-9]+\(at\) [ ]*4ec: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+04f0 <[^>]*> lui \$at,[-0-9x]+ +0+04f0 <[^>]*> lui at,[-0-9x]+ [ ]*4f0: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+04f4 <[^>]*> addu \$at,\$a1,\$at -0+04f8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+04f4 <[^>]*> addu at,a1,at +0+04f8 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*4f8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+04fc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+04fc <[^>]*> lw a1,[-0-9]+\(at\) [ ]*4fc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0500 <[^>]*> lui \$at,[-0-9x]+ +0+0500 <[^>]*> lui at,[-0-9x]+ [ ]*500: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0504 <[^>]*> addu \$at,\$a1,\$at -0+0508 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0504 <[^>]*> addu at,a1,at +0+0508 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*508: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+050c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+050c <[^>]*> lw a1,[-0-9]+\(at\) [ ]*50c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0510 <[^>]*> lwc1 \$f[45],0\(\$zero\) -0+0514 <[^>]*> lwc1 \$f[45],4\(\$zero\) -0+0518 <[^>]*> lwc1 \$f[45],1\(\$zero\) -0+051c <[^>]*> lwc1 \$f[45],5\(\$zero\) -0+0520 <[^>]*> lui \$at,0x1 -0+0524 <[^>]*> lwc1 \$f[45],-32768\(\$at\) -0+0528 <[^>]*> lwc1 \$f[45],-32764\(\$at\) -0+052c <[^>]*> lwc1 \$f[45],-32768\(\$zero\) -0+0530 <[^>]*> lwc1 \$f[45],-32764\(\$zero\) -0+0534 <[^>]*> lwc1 \$f[45],0\(\$a1\) -0+0538 <[^>]*> lwc1 \$f[45],4\(\$a1\) -0+053c <[^>]*> lwc1 \$f[45],1\(\$a1\) -0+0540 <[^>]*> lwc1 \$f[45],5\(\$a1\) -0+0544 <[^>]*> lui \$at,0x1 -0+0548 <[^>]*> addu \$at,\$a1,\$at -0+054c <[^>]*> lwc1 \$f[45],-32768\(\$at\) -0+0550 <[^>]*> lwc1 \$f[45],-32764\(\$at\) -0+0554 <[^>]*> lwc1 \$f[45],-32768\(\$a1\) -0+0558 <[^>]*> lwc1 \$f[45],-32764\(\$a1\) -0+055c <[^>]*> lui \$at,[-0-9x]+ +0+0510 <[^>]*> lwc1 \$f[45],0\(zero\) +0+0514 <[^>]*> lwc1 \$f[45],4\(zero\) +0+0518 <[^>]*> lwc1 \$f[45],1\(zero\) +0+051c <[^>]*> lwc1 \$f[45],5\(zero\) +0+0520 <[^>]*> lui at,0x1 +0+0524 <[^>]*> lwc1 \$f[45],-32768\(at\) +0+0528 <[^>]*> lwc1 \$f[45],-32764\(at\) +0+052c <[^>]*> lwc1 \$f[45],-32768\(zero\) +0+0530 <[^>]*> lwc1 \$f[45],-32764\(zero\) +0+0534 <[^>]*> lwc1 \$f[45],0\(a1\) +0+0538 <[^>]*> lwc1 \$f[45],4\(a1\) +0+053c <[^>]*> lwc1 \$f[45],1\(a1\) +0+0540 <[^>]*> lwc1 \$f[45],5\(a1\) +0+0544 <[^>]*> lui at,0x1 +0+0548 <[^>]*> addu at,a1,at +0+054c <[^>]*> lwc1 \$f[45],-32768\(at\) +0+0550 <[^>]*> lwc1 \$f[45],-32764\(at\) +0+0554 <[^>]*> lwc1 \$f[45],-32768\(a1\) +0+0558 <[^>]*> lwc1 \$f[45],-32764\(a1\) +0+055c <[^>]*> lui at,[-0-9x]+ [ ]*55c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0560 <[^>]*> addu \$at,\$a1,\$at -0+0564 <[^>]*> lwc1 \$f[45],[-0-9]+\(\$at\) +0+0560 <[^>]*> addu at,a1,at +0+0564 <[^>]*> lwc1 \$f[45],[-0-9]+\(at\) [ ]*564: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0568 <[^>]*> lwc1 \$f[45],[-0-9]+\(\$at\) +0+0568 <[^>]*> lwc1 \$f[45],[-0-9]+\(at\) [ ]*568: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common 0+056c <[^>]*> nop -0+0570 <[^>]*> swc1 \$f[45],0\(\$zero\) -0+0574 <[^>]*> swc1 \$f[45],4\(\$zero\) -0+0578 <[^>]*> swc1 \$f[45],1\(\$zero\) -0+057c <[^>]*> swc1 \$f[45],5\(\$zero\) -0+0580 <[^>]*> lui \$at,0x1 -0+0584 <[^>]*> swc1 \$f[45],-32768\(\$at\) -0+0588 <[^>]*> swc1 \$f[45],-32764\(\$at\) -0+058c <[^>]*> swc1 \$f[45],-32768\(\$zero\) -0+0590 <[^>]*> swc1 \$f[45],-32764\(\$zero\) -0+0594 <[^>]*> swc1 \$f[45],0\(\$a1\) -0+0598 <[^>]*> swc1 \$f[45],4\(\$a1\) -0+059c <[^>]*> swc1 \$f[45],1\(\$a1\) -0+05a0 <[^>]*> swc1 \$f[45],5\(\$a1\) -0+05a4 <[^>]*> lui \$at,0x1 -0+05a8 <[^>]*> addu \$at,\$a1,\$at -0+05ac <[^>]*> swc1 \$f[45],-32768\(\$at\) -0+05b0 <[^>]*> swc1 \$f[45],-32764\(\$at\) -0+05b4 <[^>]*> swc1 \$f[45],-32768\(\$a1\) -0+05b8 <[^>]*> swc1 \$f[45],-32764\(\$a1\) -0+05bc <[^>]*> lui \$at,[-0-9x]+ +0+0570 <[^>]*> swc1 \$f[45],0\(zero\) +0+0574 <[^>]*> swc1 \$f[45],4\(zero\) +0+0578 <[^>]*> swc1 \$f[45],1\(zero\) +0+057c <[^>]*> swc1 \$f[45],5\(zero\) +0+0580 <[^>]*> lui at,0x1 +0+0584 <[^>]*> swc1 \$f[45],-32768\(at\) +0+0588 <[^>]*> swc1 \$f[45],-32764\(at\) +0+058c <[^>]*> swc1 \$f[45],-32768\(zero\) +0+0590 <[^>]*> swc1 \$f[45],-32764\(zero\) +0+0594 <[^>]*> swc1 \$f[45],0\(a1\) +0+0598 <[^>]*> swc1 \$f[45],4\(a1\) +0+059c <[^>]*> swc1 \$f[45],1\(a1\) +0+05a0 <[^>]*> swc1 \$f[45],5\(a1\) +0+05a4 <[^>]*> lui at,0x1 +0+05a8 <[^>]*> addu at,a1,at +0+05ac <[^>]*> swc1 \$f[45],-32768\(at\) +0+05b0 <[^>]*> swc1 \$f[45],-32764\(at\) +0+05b4 <[^>]*> swc1 \$f[45],-32768\(a1\) +0+05b8 <[^>]*> swc1 \$f[45],-32764\(a1\) +0+05bc <[^>]*> lui at,[-0-9x]+ [ ]*5bc: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+05c0 <[^>]*> addu \$at,\$a1,\$at -0+05c4 <[^>]*> swc1 \$f[45],[-0-9]+\(\$at\) +0+05c0 <[^>]*> addu at,a1,at +0+05c4 <[^>]*> swc1 \$f[45],[-0-9]+\(at\) [ ]*5c4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+05c8 <[^>]*> swc1 \$f[45],[-0-9]+\(\$at\) +0+05c8 <[^>]*> swc1 \$f[45],[-0-9]+\(at\) [ ]*5c8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+05cc <[^>]*> sw \$a0,0\(\$zero\) -0+05d0 <[^>]*> sw \$a1,4\(\$zero\) -0+05d4 <[^>]*> lui \$a0,[-0-9x]+ +0+05cc <[^>]*> sw a0,0\(zero\) +0+05d0 <[^>]*> sw a1,4\(zero\) +0+05d4 <[^>]*> lui a0,[-0-9x]+ [ ]*5d4: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+05d8 <[^>]*> daddu \$a0,\$a0,\$a1 -0+05dc <[^>]*> ld \$a0,[-0-9]+\(\$a0\) +0+05d8 <[^>]*> daddu a0,a0,a1 +0+05dc <[^>]*> ld a0,[-0-9]+\(a0\) [ ]*5dc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+05e0 <[^>]*> lui \$at,[-0-9x]+ +0+05e0 <[^>]*> lui at,[-0-9x]+ [ ]*5e0: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+05e4 <[^>]*> daddu \$at,\$at,\$a1 -0+05e8 <[^>]*> sd \$a0,[-0-9]+\(\$at\) +0+05e4 <[^>]*> daddu at,at,a1 +0+05e8 <[^>]*> sd a0,[-0-9]+\(at\) [ ]*5e8: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* 0+05ec <[^>]*> nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/li.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/li.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/li.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/li.d Mon May 21 10:37:03 2001 @@ -6,11 +6,11 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> li \$a0,0 -0+0004 <[^>]*> li \$a0,1 -0+0008 <[^>]*> li \$a0,0x8000 -0+000c <[^>]*> li \$a0,-32768 -0+0010 <[^>]*> lui \$a0,0x1 -0+0014 <[^>]*> lui \$a0,0x1 -0+0018 <[^>]*> ori \$a0,\$a0,0xa5a5 +0+0000 <[^>]*> li a0,0 +0+0004 <[^>]*> li a0,1 +0+0008 <[^>]*> li a0,0x8000 +0+000c <[^>]*> li a0,-32768 +0+0010 <[^>]*> lui a0,0x1 +0+0014 <[^>]*> lui a0,0x1 +0+0018 <[^>]*> ori a0,a0,0xa5a5 0+001c <[^>]*> nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/lif-empic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/lif-empic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/lif-empic.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/lif-empic.d Mon May 21 10:37:03 2001 @@ -8,17 +8,17 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> addiu \$at,\$gp,-16384 +0+0000 <[^>]*> addiu at,gp,-16384 [ ]*0: [A-Z0-9_]*GPREL[A-Z0-9_]* .rdata.* -0+0004 <[^>]*> lw \$a0,0\(\$at\) -0+0008 <[^>]*> lw \$a1,4\(\$at\) -0+000c <[^>]*> lwc1 \$f[45],-16368\(\$gp\) +0+0004 <[^>]*> lw a0,0\(at\) +0+0008 <[^>]*> lw a1,4\(at\) +0+000c <[^>]*> lwc1 f[45],-16368\(gp\) [ ]*c: [A-Z0-9_]*LITERAL[A-Z0-9_]* .lit8.* -0+0010 <[^>]*> lwc1 \$f[45],-16364\(\$gp\) +0+0010 <[^>]*> lwc1 f[45],-16364\(gp\) [ ]*10: [A-Z0-9_]*LITERAL[A-Z0-9_]* .lit8.* -0+0014 <[^>]*> lui \$a0,0x3f8f -0+0018 <[^>]*> ori \$a0,\$a0,0xcd36 -0+001c <[^>]*> lui \$at,0x3f8f -0+0020 <[^>]*> ori \$at,\$at,0xcd36 -0+0024 <[^>]*> mtc1 \$at,\$f4 +0+0014 <[^>]*> lui a0,0x3f8f +0+0018 <[^>]*> ori a0,a0,0xcd36 +0+001c <[^>]*> lui at,0x3f8f +0+0020 <[^>]*> ori at,at,0xcd36 +0+0024 <[^>]*> mtc1 at,f4 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/lif-svr4pic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/lif-svr4pic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/lif-svr4pic.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/lif-svr4pic.d Mon May 21 10:37:03 2001 @@ -8,23 +8,23 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lw \$at,0\(\$gp\) +0+0000 <[^>]*> lw at,0\(gp\) [ ]*0: R_MIPS_GOT16 .rodata 0+0004 <[^>]*> nop -0+0008 <[^>]*> lw \$a0,0\(\$at\) +0+0008 <[^>]*> lw a0,0\(at\) [ ]*8: R_MIPS_LO16 .rodata -0+000c <[^>]*> lw \$a1,4\(\$at\) +0+000c <[^>]*> lw a1,4\(at\) [ ]*c: R_MIPS_LO16 .rodata -0+0010 <[^>]*> lw \$at,0\(\$gp\) +0+0010 <[^>]*> lw at,0\(gp\) [ ]*10: R_MIPS_GOT16 .rodata 0+0014 <[^>]*> nop -0+0018 <[^>]*> lwc1 \$f5,8\(\$at\) +0+0018 <[^>]*> lwc1 \$f5,8\(at\) [ ]*18: R_MIPS_LO16 .rodata -0+001c <[^>]*> lwc1 \$f4,12\(\$at\) +0+001c <[^>]*> lwc1 \$f4,12\(at\) [ ]*1c: R_MIPS_LO16 .rodata -0+0020 <[^>]*> lui \$a0,0x3f8f -0+0024 <[^>]*> ori \$a0,\$a0,0xcd36 -0+0028 <[^>]*> lui \$at,0x3f8f -0+002c <[^>]*> ori \$at,\$at,0xcd36 -0+0030 <[^>]*> mtc1 \$at,\$f4 +0+0020 <[^>]*> lui a0,0x3f8f +0+0024 <[^>]*> ori a0,a0,0xcd36 +0+0028 <[^>]*> lui at,0x3f8f +0+002c <[^>]*> ori at,at,0xcd36 +0+0030 <[^>]*> mtc1 at,\$f4 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/lif-xgot.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/lif-xgot.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/lif-xgot.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/lif-xgot.d Mon May 21 10:37:03 2001 @@ -8,23 +8,23 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lw \$at,0\(\$gp\) +0+0000 <[^>]*> lw at,0\(gp\) [ ]*0: R_MIPS_GOT16 .rodata 0+0004 <[^>]*> nop -0+0008 <[^>]*> lw \$a0,0\(\$at\) +0+0008 <[^>]*> lw a0,0\(at\) [ ]*8: R_MIPS_LO16 .rodata -0+000c <[^>]*> lw \$a1,4\(\$at\) +0+000c <[^>]*> lw a1,4\(at\) [ ]*c: R_MIPS_LO16 .rodata -0+0010 <[^>]*> lw \$at,0\(\$gp\) +0+0010 <[^>]*> lw at,0\(gp\) [ ]*10: R_MIPS_GOT16 .rodata 0+0014 <[^>]*> nop -0+0018 <[^>]*> lwc1 \$f5,8\(\$at\) +0+0018 <[^>]*> lwc1 \$f5,8\(at\) [ ]*18: R_MIPS_LO16 .rodata -0+001c <[^>]*> lwc1 \$f4,12\(\$at\) +0+001c <[^>]*> lwc1 \$f4,12\(at\) [ ]*1c: R_MIPS_LO16 .rodata -0+0020 <[^>]*> lui \$a0,0x3f8f -0+0024 <[^>]*> ori \$a0,\$a0,0xcd36 -0+0028 <[^>]*> lui \$at,0x3f8f -0+002c <[^>]*> ori \$at,\$at,0xcd36 -0+0030 <[^>]*> mtc1 \$at,\$f4 +0+0020 <[^>]*> lui a0,0x3f8f +0+0024 <[^>]*> ori a0,a0,0xcd36 +0+0028 <[^>]*> lui at,0x3f8f +0+002c <[^>]*> ori at,at,0xcd36 +0+0030 <[^>]*> mtc1 at,\$f4 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/lifloat.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/lifloat.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/lifloat.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/lifloat.d Mon May 21 10:37:03 2001 @@ -7,17 +7,17 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lui \$at,0x0 +0+0000 <[^>]*> lui at,0x0 [ ]*0: [A-Z0-9_]*HI[A-Z0-9_]* .ro?data.* -0+0004 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +0+0004 <[^>]*> lw a0,[-0-9]+\(at\) [ ]*4: [A-Z0-9_]*LO[A-Z0-9_]* .ro?data.* -0+0008 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +0+0008 <[^>]*> lw a1,[-0-9]+\(at\) [ ]*8: [A-Z0-9_]*LO[A-Z0-9_]* .ro?data.* -0+000c <[^>]*> lwc1 \$f[45],[-0-9]+\(\$gp\) +0+000c <[^>]*> lwc1 \$f[45],[-0-9]+\(gp\) [ ]*c: [A-Z0-9_]*LITERAL[A-Z0-9_]* .lit8.* -0+0010 <[^>]*> lwc1 \$f[45],[-0-9]+\(\$gp\) +0+0010 <[^>]*> lwc1 \$f[45],[-0-9]+\(gp\) [ ]*10: [A-Z0-9_]*LITERAL[A-Z0-9_]* .lit8.* -0+0014 <[^>]*> lui \$a0,0x3f8f -0+0018 <[^>]*> ori \$a0,\$a0,0xcd36 -0+001c <[^>]*> lwc1 \$f4,[-0-9]+\(\$gp\) +0+0014 <[^>]*> lui a0,0x3f8f +0+0018 <[^>]*> ori a0,a0,0xcd36 +0+001c <[^>]*> lwc1 \$f4,[-0-9]+\(gp\) [ ]*1c: [A-Z0-9_]*LITERAL[A-Z0-9_]* .lit4.* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips.exp binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips.exp --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips.exp Tue Mar 27 08:49:03 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips.exp Sat Jun 9 00:13:01 2001 @@ -1,6 +1,20 @@ # # Some generic MIPS tests # + +proc run_list_test { name opts } { + global srcdir subdir + set testname "MIPS $name" + set file $srcdir/$subdir/$name + gas_run ${name}.s $opts ">&dump.out" + if { [regexp_diff "dump.out" "${file}.l"] } then { + fail $testname + verbose "output is [file_contents "dump.out"]" 2 + return + } + pass $testname +} + if { [istarget mips*-*-*] } then { set no_mips16 0 set svr4pic [expr [istarget *-*-elf*] || [istarget *-*-irix5*] || [istarget *-*-irix6* ] || [istarget *-*-linux*] ] @@ -10,9 +24,11 @@ if { [istarget mips*-*-*] } then { set gpr_ilocks [expr [istarget mipstx39*-*-*]] set addr32 [expr [istarget mipstx39*-*-*]] - - - + if { [istarget mips*el-*-*] || [istarget "mips*-*-*linux*"] } then { + set tmips "t" + } else { + set tmips "" + } run_dump_test "abs" run_dump_test "add" @@ -26,7 +42,11 @@ if { [istarget mips*-*-*] } then { run_dump_test "bltu" if !$ilocks { run_dump_test "div" } else { run_dump_test "div-ilocks" } run_dump_test "dli" - run_dump_test "jal" + if $svr4pic { + run_dump_test "elf-jal" + } else { + run_dump_test "jal" + } if $svr4pic { run_dump_test "jal-svr4pic" } if $svr4pic { run_dump_test "jal-xgot" } if $empic { run_dump_test "jal-empic" } @@ -86,11 +106,19 @@ if { [istarget mips*-*-*] } then { run_dump_test "mips4010" run_dump_test "mips4650" run_dump_test "mips4100" + # Linux uses ELF stabs, which doesn't support line number. + setup_xfail "mips*-*-*linux*" run_dump_test "lineno" run_dump_test "sync" run_dump_test "mips32" run_dump_test "mips64" + # It will always fail until someone fixes it. + setup_xfail "mips*-*-*" + run_dump_test "relax" + + run_list_test "illegal" "" + if $svr4pic { # Make sure that -mcpu=FOO and -mFOO are equivalent. Assemble a file # containing 4650-specific instructions with -m4650 and -mcpu=4650, @@ -103,17 +131,50 @@ if { [istarget mips*-*-*] } then { run_dump_test "elf_e_flags3" run_dump_test "elf_e_flags4" - run_dump_test "elf-rel" + if [istarget mips*el-*-*] { + run_dump_test "elfel-rel" + } { + run_dump_test "elf-rel" + } + if [istarget mips64*-*-*] { - run_dump_test "elf-rel2" + if [istarget mips*el-*-*] { + run_dump_test "elfel-rel2" + } { + run_dump_test "elf-rel2" + } } { - run_dump_test "e32-rel2" - } - run_dump_test "empic" + if [istarget mips*el-*-*] { + run_dump_test "e32el-rel2" + } { + run_dump_test "e32-rel2" + } + } + + if [istarget mips*el-*-*] { + run_dump_test "elfel-rel3" + } { + run_dump_test "elf-rel3" + } + + if [istarget mips*el-*-*] { + run_dump_test "${tmips}elempic" + } { + run_dump_test "${tmips}empic" + } + if { !$no_mips16 } { - run_dump_test "mips16-e" + if [istarget mips*el-*-*] { + run_dump_test "${tmips}mipsel16-e" + } { + run_dump_test "${tmips}mips16-e" + } setup_xfail "mips*-*-*" - run_dump_test "mips16-f" + if [istarget mips*el-*-*] { + run_dump_test "mipsel16-f" + } { + run_dump_test "mips16-f" + } } } } diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips16-e.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips16-e.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips16-e.d Mon Dec 4 16:33:56 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips16-e.d Sat Jun 9 00:13:01 2001 @@ -12,7 +12,7 @@ SYMBOL TABLE: 0+0000000 l d \.bss 0+0000000 0+0000000 l d foo 0+0000000 0+0000000 l d \.reginfo 0+0000000 -0+0000000 l d \.mdebug 0+0000000 +0+0000000 l d \.(mdebug|pdr) 0+0000000 0+0000002 l \.text 0+0000000 0xf0 l1 0+0000004 l \.text 0+0000000 0xf0 L1.1 0+0000000 \*UND\* 0+0000000 g1 @@ -34,7 +34,7 @@ Contents of section \.data: Contents of section \.reginfo: 0000 00000001 00000000 00000000 00000000 .* 0010 00000000 00000000 .* -Contents of section \.mdebug: +Contents of section \.(mdebug|pdr): #... Contents of section foo: 0000 00000000 00000008 00000000 00000003 .* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips16-f.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips16-f.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips16-f.d Mon Dec 4 16:33:56 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips16-f.d Sat Jun 9 00:13:01 2001 @@ -12,7 +12,7 @@ SYMBOL TABLE: 0+0000000 l d \.bss 0+0000000 0+0000000 l d foo 0+0000000 0+0000000 l d \.reginfo 0+0000000 -0+0000000 l d \.mdebug 0+0000000 +0+0000000 l d \.(mdebug|pdr) 0+0000000 0+0000002 l \.text 0+0000000 0xf0 l1 @@ -27,7 +27,7 @@ Contents of section \.data: Contents of section \.reginfo: 0000 00000001 00000000 00000000 00000000 .* 0010 00000000 00000000 .* -Contents of section \.mdebug: +Contents of section \.(mdebug|pdr): #... Contents of section foo: 0000 00000003 00000000 00000000 00000000 .* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips16.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips16.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips16.d Mon Dec 4 16:33:55 2000 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips16.d Mon May 21 10:37:04 2001 @@ -12,643 +12,643 @@ Disassembly of section .text: 0: 00000000 nop 0+000004 : - 4: 3b40 ld \$v0,0\(\$v1\) - 6: f000 3b41 ld \$v0,1\(\$v1\) - a: f000 3b42 ld \$v0,2\(\$v1\) - e: f000 3b43 ld \$v0,3\(\$v1\) - 12: f000 3b44 ld \$v0,4\(\$v1\) - 16: 3b41 ld \$v0,8\(\$v1\) - 18: 3b42 ld \$v0,16\(\$v1\) - 1a: 3b44 ld \$v0,32\(\$v1\) - 1c: 3b48 ld \$v0,64\(\$v1\) - 1e: 3b50 ld \$v0,128\(\$v1\) - 20: f100 3b40 ld \$v0,256\(\$v1\) - 24: f200 3b40 ld \$v0,512\(\$v1\) - 28: f400 3b40 ld \$v0,1024\(\$v1\) - 2c: f001 3b40 ld \$v0,2048\(\$v1\) - 30: f7ff 3b5f ld \$v0,-1\(\$v1\) - 34: f7ff 3b5e ld \$v0,-2\(\$v1\) - 38: f7ff 3b5d ld \$v0,-3\(\$v1\) - 3c: f7ff 3b5c ld \$v0,-4\(\$v1\) - 40: f7ff 3b58 ld \$v0,-8\(\$v1\) - 44: f7ff 3b50 ld \$v0,-16\(\$v1\) - 48: f7ff 3b40 ld \$v0,-32\(\$v1\) - 4c: f7df 3b40 ld \$v0,-64\(\$v1\) - 50: f79f 3b40 ld \$v0,-128\(\$v1\) - 54: f71f 3b40 ld \$v0,-256\(\$v1\) - 58: f61f 3b40 ld \$v0,-512\(\$v1\) - 5c: f41f 3b40 ld \$v0,-1024\(\$v1\) - 60: f01f 3b40 ld \$v0,-2048\(\$v1\) - 64: f7bf fc40 ld \$v0,0 - 68: f6a0 fc54 ld \$v0,71c - 6c: f001 fc40 ld \$v0,868 - 70: f0c1 fc40 ld \$v0,930 - 74: f840 ld \$v0,0\(\$sp\) - 76: f000 f841 ld \$v0,1\(\$sp\) - 7a: f000 f842 ld \$v0,2\(\$sp\) - 7e: f000 f843 ld \$v0,3\(\$sp\) - 82: f000 f844 ld \$v0,4\(\$sp\) - 86: f841 ld \$v0,8\(\$sp\) - 88: f842 ld \$v0,16\(\$sp\) - 8a: f844 ld \$v0,32\(\$sp\) - 8c: f848 ld \$v0,64\(\$sp\) - 8e: f850 ld \$v0,128\(\$sp\) - 90: f100 f840 ld \$v0,256\(\$sp\) - 94: f200 f840 ld \$v0,512\(\$sp\) - 98: f400 f840 ld \$v0,1024\(\$sp\) - 9c: f001 f840 ld \$v0,2048\(\$sp\) - a0: f7ff f85f ld \$v0,-1\(\$sp\) - a4: f7ff f85e ld \$v0,-2\(\$sp\) - a8: f7ff f85d ld \$v0,-3\(\$sp\) - ac: f7ff f85c ld \$v0,-4\(\$sp\) - b0: f7ff f858 ld \$v0,-8\(\$sp\) - b4: f7ff f850 ld \$v0,-16\(\$sp\) - b8: f7ff f840 ld \$v0,-32\(\$sp\) - bc: f7df f840 ld \$v0,-64\(\$sp\) - c0: f79f f840 ld \$v0,-128\(\$sp\) - c4: f71f f840 ld \$v0,-256\(\$sp\) - c8: f61f f840 ld \$v0,-512\(\$sp\) - cc: f41f f840 ld \$v0,-1024\(\$sp\) - d0: f01f f840 ld \$v0,-2048\(\$sp\) - d4: bb40 lwu \$v0,0\(\$v1\) - d6: f000 bb41 lwu \$v0,1\(\$v1\) - da: f000 bb42 lwu \$v0,2\(\$v1\) - de: f000 bb43 lwu \$v0,3\(\$v1\) - e2: bb41 lwu \$v0,4\(\$v1\) - e4: bb42 lwu \$v0,8\(\$v1\) - e6: bb44 lwu \$v0,16\(\$v1\) - e8: bb48 lwu \$v0,32\(\$v1\) - ea: bb50 lwu \$v0,64\(\$v1\) - ec: f080 bb40 lwu \$v0,128\(\$v1\) - f0: f100 bb40 lwu \$v0,256\(\$v1\) - f4: f200 bb40 lwu \$v0,512\(\$v1\) - f8: f400 bb40 lwu \$v0,1024\(\$v1\) - fc: f001 bb40 lwu \$v0,2048\(\$v1\) - 100: f7ff bb5f lwu \$v0,-1\(\$v1\) - 104: f7ff bb5e lwu \$v0,-2\(\$v1\) - 108: f7ff bb5d lwu \$v0,-3\(\$v1\) - 10c: f7ff bb5c lwu \$v0,-4\(\$v1\) - 110: f7ff bb58 lwu \$v0,-8\(\$v1\) - 114: f7ff bb50 lwu \$v0,-16\(\$v1\) - 118: f7ff bb40 lwu \$v0,-32\(\$v1\) - 11c: f7df bb40 lwu \$v0,-64\(\$v1\) - 120: f79f bb40 lwu \$v0,-128\(\$v1\) - 124: f71f bb40 lwu \$v0,-256\(\$v1\) - 128: f61f bb40 lwu \$v0,-512\(\$v1\) - 12c: f41f bb40 lwu \$v0,-1024\(\$v1\) - 130: f01f bb40 lwu \$v0,-2048\(\$v1\) - 134: 9b40 lw \$v0,0\(\$v1\) - 136: f000 9b41 lw \$v0,1\(\$v1\) - 13a: f000 9b42 lw \$v0,2\(\$v1\) - 13e: f000 9b43 lw \$v0,3\(\$v1\) - 142: 9b41 lw \$v0,4\(\$v1\) - 144: 9b42 lw \$v0,8\(\$v1\) - 146: 9b44 lw \$v0,16\(\$v1\) - 148: 9b48 lw \$v0,32\(\$v1\) - 14a: 9b50 lw \$v0,64\(\$v1\) - 14c: f080 9b40 lw \$v0,128\(\$v1\) - 150: f100 9b40 lw \$v0,256\(\$v1\) - 154: f200 9b40 lw \$v0,512\(\$v1\) - 158: f400 9b40 lw \$v0,1024\(\$v1\) - 15c: f001 9b40 lw \$v0,2048\(\$v1\) - 160: f7ff 9b5f lw \$v0,-1\(\$v1\) - 164: f7ff 9b5e lw \$v0,-2\(\$v1\) - 168: f7ff 9b5d lw \$v0,-3\(\$v1\) - 16c: f7ff 9b5c lw \$v0,-4\(\$v1\) - 170: f7ff 9b58 lw \$v0,-8\(\$v1\) - 174: f7ff 9b50 lw \$v0,-16\(\$v1\) - 178: f7ff 9b40 lw \$v0,-32\(\$v1\) - 17c: f7df 9b40 lw \$v0,-64\(\$v1\) - 180: f79f 9b40 lw \$v0,-128\(\$v1\) - 184: f71f 9b40 lw \$v0,-256\(\$v1\) - 188: f61f 9b40 lw \$v0,-512\(\$v1\) - 18c: f41f 9b40 lw \$v0,-1024\(\$v1\) - 190: f01f 9b40 lw \$v0,-2048\(\$v1\) - 194: f67f b20c lw \$v0,0 - 198: f580 b204 lw \$v0,71c - 19c: f6c0 b20c lw \$v0,868 - 1a0: f780 b210 lw \$v0,930 - 1a4: 9200 lw \$v0,0\(\$sp\) - 1a6: f000 9201 lw \$v0,1\(\$sp\) - 1aa: f000 9202 lw \$v0,2\(\$sp\) - 1ae: f000 9203 lw \$v0,3\(\$sp\) - 1b2: 9201 lw \$v0,4\(\$sp\) - 1b4: 9202 lw \$v0,8\(\$sp\) - 1b6: 9204 lw \$v0,16\(\$sp\) - 1b8: 9208 lw \$v0,32\(\$sp\) - 1ba: 9210 lw \$v0,64\(\$sp\) - 1bc: 9220 lw \$v0,128\(\$sp\) - 1be: 9240 lw \$v0,256\(\$sp\) - 1c0: 9280 lw \$v0,512\(\$sp\) - 1c2: f400 9200 lw \$v0,1024\(\$sp\) - 1c6: f001 9200 lw \$v0,2048\(\$sp\) - 1ca: f7ff 921f lw \$v0,-1\(\$sp\) - 1ce: f7ff 921e lw \$v0,-2\(\$sp\) - 1d2: f7ff 921d lw \$v0,-3\(\$sp\) - 1d6: f7ff 921c lw \$v0,-4\(\$sp\) - 1da: f7ff 9218 lw \$v0,-8\(\$sp\) - 1de: f7ff 9210 lw \$v0,-16\(\$sp\) - 1e2: f7ff 9200 lw \$v0,-32\(\$sp\) - 1e6: f7df 9200 lw \$v0,-64\(\$sp\) - 1ea: f79f 9200 lw \$v0,-128\(\$sp\) - 1ee: f71f 9200 lw \$v0,-256\(\$sp\) - 1f2: f61f 9200 lw \$v0,-512\(\$sp\) - 1f6: f41f 9200 lw \$v0,-1024\(\$sp\) - 1fa: f01f 9200 lw \$v0,-2048\(\$sp\) - 1fe: 8b40 lh \$v0,0\(\$v1\) - 200: f000 8b41 lh \$v0,1\(\$v1\) - 204: 8b41 lh \$v0,2\(\$v1\) - 206: f000 8b43 lh \$v0,3\(\$v1\) - 20a: 8b42 lh \$v0,4\(\$v1\) - 20c: 8b44 lh \$v0,8\(\$v1\) - 20e: 8b48 lh \$v0,16\(\$v1\) - 210: 8b50 lh \$v0,32\(\$v1\) - 212: f040 8b40 lh \$v0,64\(\$v1\) - 216: f080 8b40 lh \$v0,128\(\$v1\) - 21a: f100 8b40 lh \$v0,256\(\$v1\) - 21e: f200 8b40 lh \$v0,512\(\$v1\) - 222: f400 8b40 lh \$v0,1024\(\$v1\) - 226: f001 8b40 lh \$v0,2048\(\$v1\) - 22a: f7ff 8b5f lh \$v0,-1\(\$v1\) - 22e: f7ff 8b5e lh \$v0,-2\(\$v1\) - 232: f7ff 8b5d lh \$v0,-3\(\$v1\) - 236: f7ff 8b5c lh \$v0,-4\(\$v1\) - 23a: f7ff 8b58 lh \$v0,-8\(\$v1\) - 23e: f7ff 8b50 lh \$v0,-16\(\$v1\) - 242: f7ff 8b40 lh \$v0,-32\(\$v1\) - 246: f7df 8b40 lh \$v0,-64\(\$v1\) - 24a: f79f 8b40 lh \$v0,-128\(\$v1\) - 24e: f71f 8b40 lh \$v0,-256\(\$v1\) - 252: f61f 8b40 lh \$v0,-512\(\$v1\) - 256: f41f 8b40 lh \$v0,-1024\(\$v1\) - 25a: f01f 8b40 lh \$v0,-2048\(\$v1\) - 25e: ab40 lhu \$v0,0\(\$v1\) - 260: f000 ab41 lhu \$v0,1\(\$v1\) - 264: ab41 lhu \$v0,2\(\$v1\) - 266: f000 ab43 lhu \$v0,3\(\$v1\) - 26a: ab42 lhu \$v0,4\(\$v1\) - 26c: ab44 lhu \$v0,8\(\$v1\) - 26e: ab48 lhu \$v0,16\(\$v1\) - 270: ab50 lhu \$v0,32\(\$v1\) - 272: f040 ab40 lhu \$v0,64\(\$v1\) - 276: f080 ab40 lhu \$v0,128\(\$v1\) - 27a: f100 ab40 lhu \$v0,256\(\$v1\) - 27e: f200 ab40 lhu \$v0,512\(\$v1\) - 282: f400 ab40 lhu \$v0,1024\(\$v1\) - 286: f001 ab40 lhu \$v0,2048\(\$v1\) - 28a: f7ff ab5f lhu \$v0,-1\(\$v1\) - 28e: f7ff ab5e lhu \$v0,-2\(\$v1\) - 292: f7ff ab5d lhu \$v0,-3\(\$v1\) - 296: f7ff ab5c lhu \$v0,-4\(\$v1\) - 29a: f7ff ab58 lhu \$v0,-8\(\$v1\) - 29e: f7ff ab50 lhu \$v0,-16\(\$v1\) - 2a2: f7ff ab40 lhu \$v0,-32\(\$v1\) - 2a6: f7df ab40 lhu \$v0,-64\(\$v1\) - 2aa: f79f ab40 lhu \$v0,-128\(\$v1\) - 2ae: f71f ab40 lhu \$v0,-256\(\$v1\) - 2b2: f61f ab40 lhu \$v0,-512\(\$v1\) - 2b6: f41f ab40 lhu \$v0,-1024\(\$v1\) - 2ba: f01f ab40 lhu \$v0,-2048\(\$v1\) - 2be: 8340 lb \$v0,0\(\$v1\) - 2c0: 8341 lb \$v0,1\(\$v1\) - 2c2: 8342 lb \$v0,2\(\$v1\) - 2c4: 8343 lb \$v0,3\(\$v1\) - 2c6: 8344 lb \$v0,4\(\$v1\) - 2c8: 8348 lb \$v0,8\(\$v1\) - 2ca: 8350 lb \$v0,16\(\$v1\) - 2cc: f020 8340 lb \$v0,32\(\$v1\) - 2d0: f040 8340 lb \$v0,64\(\$v1\) - 2d4: f080 8340 lb \$v0,128\(\$v1\) - 2d8: f100 8340 lb \$v0,256\(\$v1\) - 2dc: f200 8340 lb \$v0,512\(\$v1\) - 2e0: f400 8340 lb \$v0,1024\(\$v1\) - 2e4: f001 8340 lb \$v0,2048\(\$v1\) - 2e8: f7ff 835f lb \$v0,-1\(\$v1\) - 2ec: f7ff 835e lb \$v0,-2\(\$v1\) - 2f0: f7ff 835d lb \$v0,-3\(\$v1\) - 2f4: f7ff 835c lb \$v0,-4\(\$v1\) - 2f8: f7ff 8358 lb \$v0,-8\(\$v1\) - 2fc: f7ff 8350 lb \$v0,-16\(\$v1\) - 300: f7ff 8340 lb \$v0,-32\(\$v1\) - 304: f7df 8340 lb \$v0,-64\(\$v1\) - 308: f79f 8340 lb \$v0,-128\(\$v1\) - 30c: f71f 8340 lb \$v0,-256\(\$v1\) - 310: f61f 8340 lb \$v0,-512\(\$v1\) - 314: f41f 8340 lb \$v0,-1024\(\$v1\) - 318: f01f 8340 lb \$v0,-2048\(\$v1\) - 31c: a340 lbu \$v0,0\(\$v1\) - 31e: a341 lbu \$v0,1\(\$v1\) - 320: a342 lbu \$v0,2\(\$v1\) - 322: a343 lbu \$v0,3\(\$v1\) - 324: a344 lbu \$v0,4\(\$v1\) - 326: a348 lbu \$v0,8\(\$v1\) - 328: a350 lbu \$v0,16\(\$v1\) - 32a: f020 a340 lbu \$v0,32\(\$v1\) - 32e: f040 a340 lbu \$v0,64\(\$v1\) - 332: f080 a340 lbu \$v0,128\(\$v1\) - 336: f100 a340 lbu \$v0,256\(\$v1\) - 33a: f200 a340 lbu \$v0,512\(\$v1\) - 33e: f400 a340 lbu \$v0,1024\(\$v1\) - 342: f001 a340 lbu \$v0,2048\(\$v1\) - 346: f7ff a35f lbu \$v0,-1\(\$v1\) - 34a: f7ff a35e lbu \$v0,-2\(\$v1\) - 34e: f7ff a35d lbu \$v0,-3\(\$v1\) - 352: f7ff a35c lbu \$v0,-4\(\$v1\) - 356: f7ff a358 lbu \$v0,-8\(\$v1\) - 35a: f7ff a350 lbu \$v0,-16\(\$v1\) - 35e: f7ff a340 lbu \$v0,-32\(\$v1\) - 362: f7df a340 lbu \$v0,-64\(\$v1\) - 366: f79f a340 lbu \$v0,-128\(\$v1\) - 36a: f71f a340 lbu \$v0,-256\(\$v1\) - 36e: f61f a340 lbu \$v0,-512\(\$v1\) - 372: f41f a340 lbu \$v0,-1024\(\$v1\) - 376: f01f a340 lbu \$v0,-2048\(\$v1\) - 37a: 7b40 sd \$v0,0\(\$v1\) - 37c: f000 7b41 sd \$v0,1\(\$v1\) - 380: f000 7b42 sd \$v0,2\(\$v1\) - 384: f000 7b43 sd \$v0,3\(\$v1\) - 388: f000 7b44 sd \$v0,4\(\$v1\) - 38c: 7b41 sd \$v0,8\(\$v1\) - 38e: 7b42 sd \$v0,16\(\$v1\) - 390: 7b44 sd \$v0,32\(\$v1\) - 392: 7b48 sd \$v0,64\(\$v1\) - 394: 7b50 sd \$v0,128\(\$v1\) - 396: f100 7b40 sd \$v0,256\(\$v1\) - 39a: f200 7b40 sd \$v0,512\(\$v1\) - 39e: f400 7b40 sd \$v0,1024\(\$v1\) - 3a2: f001 7b40 sd \$v0,2048\(\$v1\) - 3a6: f7ff 7b5f sd \$v0,-1\(\$v1\) - 3aa: f7ff 7b5e sd \$v0,-2\(\$v1\) - 3ae: f7ff 7b5d sd \$v0,-3\(\$v1\) - 3b2: f7ff 7b5c sd \$v0,-4\(\$v1\) - 3b6: f7ff 7b58 sd \$v0,-8\(\$v1\) - 3ba: f7ff 7b50 sd \$v0,-16\(\$v1\) - 3be: f7ff 7b40 sd \$v0,-32\(\$v1\) - 3c2: f7df 7b40 sd \$v0,-64\(\$v1\) - 3c6: f79f 7b40 sd \$v0,-128\(\$v1\) - 3ca: f71f 7b40 sd \$v0,-256\(\$v1\) - 3ce: f61f 7b40 sd \$v0,-512\(\$v1\) - 3d2: f41f 7b40 sd \$v0,-1024\(\$v1\) - 3d6: f01f 7b40 sd \$v0,-2048\(\$v1\) - 3da: f940 sd \$v0,0\(\$sp\) - 3dc: f000 f941 sd \$v0,1\(\$sp\) - 3e0: f000 f942 sd \$v0,2\(\$sp\) - 3e4: f000 f943 sd \$v0,3\(\$sp\) - 3e8: f000 f944 sd \$v0,4\(\$sp\) - 3ec: f941 sd \$v0,8\(\$sp\) - 3ee: f942 sd \$v0,16\(\$sp\) - 3f0: f944 sd \$v0,32\(\$sp\) - 3f2: f948 sd \$v0,64\(\$sp\) - 3f4: f950 sd \$v0,128\(\$sp\) - 3f6: f100 f940 sd \$v0,256\(\$sp\) - 3fa: f200 f940 sd \$v0,512\(\$sp\) - 3fe: f400 f940 sd \$v0,1024\(\$sp\) - 402: f001 f940 sd \$v0,2048\(\$sp\) - 406: f7ff f95f sd \$v0,-1\(\$sp\) - 40a: f7ff f95e sd \$v0,-2\(\$sp\) - 40e: f7ff f95d sd \$v0,-3\(\$sp\) - 412: f7ff f95c sd \$v0,-4\(\$sp\) - 416: f7ff f958 sd \$v0,-8\(\$sp\) - 41a: f7ff f950 sd \$v0,-16\(\$sp\) - 41e: f7ff f940 sd \$v0,-32\(\$sp\) - 422: f7df f940 sd \$v0,-64\(\$sp\) - 426: f79f f940 sd \$v0,-128\(\$sp\) - 42a: f71f f940 sd \$v0,-256\(\$sp\) - 42e: f61f f940 sd \$v0,-512\(\$sp\) - 432: f41f f940 sd \$v0,-1024\(\$sp\) - 436: f01f f940 sd \$v0,-2048\(\$sp\) - 43a: fa00 sd \$ra,0\(\$sp\) - 43c: f000 fa01 sd \$ra,1\(\$sp\) - 440: f000 fa02 sd \$ra,2\(\$sp\) - 444: f000 fa03 sd \$ra,3\(\$sp\) - 448: f000 fa04 sd \$ra,4\(\$sp\) - 44c: fa01 sd \$ra,8\(\$sp\) - 44e: fa02 sd \$ra,16\(\$sp\) - 450: fa04 sd \$ra,32\(\$sp\) - 452: fa08 sd \$ra,64\(\$sp\) - 454: fa10 sd \$ra,128\(\$sp\) - 456: fa20 sd \$ra,256\(\$sp\) - 458: fa40 sd \$ra,512\(\$sp\) - 45a: fa80 sd \$ra,1024\(\$sp\) - 45c: f001 fa00 sd \$ra,2048\(\$sp\) - 460: f7ff fa1f sd \$ra,-1\(\$sp\) - 464: f7ff fa1e sd \$ra,-2\(\$sp\) - 468: f7ff fa1d sd \$ra,-3\(\$sp\) - 46c: f7ff fa1c sd \$ra,-4\(\$sp\) - 470: f7ff fa18 sd \$ra,-8\(\$sp\) - 474: f7ff fa10 sd \$ra,-16\(\$sp\) - 478: f7ff fa00 sd \$ra,-32\(\$sp\) - 47c: f7df fa00 sd \$ra,-64\(\$sp\) - 480: f79f fa00 sd \$ra,-128\(\$sp\) - 484: f71f fa00 sd \$ra,-256\(\$sp\) - 488: f61f fa00 sd \$ra,-512\(\$sp\) - 48c: f41f fa00 sd \$ra,-1024\(\$sp\) - 490: f01f fa00 sd \$ra,-2048\(\$sp\) - 494: db40 sw \$v0,0\(\$v1\) - 496: f000 db41 sw \$v0,1\(\$v1\) - 49a: f000 db42 sw \$v0,2\(\$v1\) - 49e: f000 db43 sw \$v0,3\(\$v1\) - 4a2: db41 sw \$v0,4\(\$v1\) - 4a4: db42 sw \$v0,8\(\$v1\) - 4a6: db44 sw \$v0,16\(\$v1\) - 4a8: db48 sw \$v0,32\(\$v1\) - 4aa: db50 sw \$v0,64\(\$v1\) - 4ac: f080 db40 sw \$v0,128\(\$v1\) - 4b0: f100 db40 sw \$v0,256\(\$v1\) - 4b4: f200 db40 sw \$v0,512\(\$v1\) - 4b8: f400 db40 sw \$v0,1024\(\$v1\) - 4bc: f001 db40 sw \$v0,2048\(\$v1\) - 4c0: f7ff db5f sw \$v0,-1\(\$v1\) - 4c4: f7ff db5e sw \$v0,-2\(\$v1\) - 4c8: f7ff db5d sw \$v0,-3\(\$v1\) - 4cc: f7ff db5c sw \$v0,-4\(\$v1\) - 4d0: f7ff db58 sw \$v0,-8\(\$v1\) - 4d4: f7ff db50 sw \$v0,-16\(\$v1\) - 4d8: f7ff db40 sw \$v0,-32\(\$v1\) - 4dc: f7df db40 sw \$v0,-64\(\$v1\) - 4e0: f79f db40 sw \$v0,-128\(\$v1\) - 4e4: f71f db40 sw \$v0,-256\(\$v1\) - 4e8: f61f db40 sw \$v0,-512\(\$v1\) - 4ec: f41f db40 sw \$v0,-1024\(\$v1\) - 4f0: f01f db40 sw \$v0,-2048\(\$v1\) - 4f4: d200 sw \$v0,0\(\$sp\) - 4f6: f000 d201 sw \$v0,1\(\$sp\) - 4fa: f000 d202 sw \$v0,2\(\$sp\) - 4fe: f000 d203 sw \$v0,3\(\$sp\) - 502: d201 sw \$v0,4\(\$sp\) - 504: d202 sw \$v0,8\(\$sp\) - 506: d204 sw \$v0,16\(\$sp\) - 508: d208 sw \$v0,32\(\$sp\) - 50a: d210 sw \$v0,64\(\$sp\) - 50c: d220 sw \$v0,128\(\$sp\) - 50e: d240 sw \$v0,256\(\$sp\) - 510: d280 sw \$v0,512\(\$sp\) - 512: f400 d200 sw \$v0,1024\(\$sp\) - 516: f001 d200 sw \$v0,2048\(\$sp\) - 51a: f7ff d21f sw \$v0,-1\(\$sp\) - 51e: f7ff d21e sw \$v0,-2\(\$sp\) - 522: f7ff d21d sw \$v0,-3\(\$sp\) - 526: f7ff d21c sw \$v0,-4\(\$sp\) - 52a: f7ff d218 sw \$v0,-8\(\$sp\) - 52e: f7ff d210 sw \$v0,-16\(\$sp\) - 532: f7ff d200 sw \$v0,-32\(\$sp\) - 536: f7df d200 sw \$v0,-64\(\$sp\) - 53a: f79f d200 sw \$v0,-128\(\$sp\) - 53e: f71f d200 sw \$v0,-256\(\$sp\) - 542: f61f d200 sw \$v0,-512\(\$sp\) - 546: f41f d200 sw \$v0,-1024\(\$sp\) - 54a: f01f d200 sw \$v0,-2048\(\$sp\) - 54e: 6200 sw \$ra,0\(\$sp\) - 550: f000 6201 sw \$ra,1\(\$sp\) - 554: f000 6202 sw \$ra,2\(\$sp\) - 558: f000 6203 sw \$ra,3\(\$sp\) - 55c: 6201 sw \$ra,4\(\$sp\) - 55e: 6202 sw \$ra,8\(\$sp\) - 560: 6204 sw \$ra,16\(\$sp\) - 562: 6208 sw \$ra,32\(\$sp\) - 564: 6210 sw \$ra,64\(\$sp\) - 566: 6220 sw \$ra,128\(\$sp\) - 568: 6240 sw \$ra,256\(\$sp\) - 56a: 6280 sw \$ra,512\(\$sp\) - 56c: f400 6200 sw \$ra,1024\(\$sp\) - 570: f001 6200 sw \$ra,2048\(\$sp\) - 574: f7ff 621f sw \$ra,-1\(\$sp\) - 578: f7ff 621e sw \$ra,-2\(\$sp\) - 57c: f7ff 621d sw \$ra,-3\(\$sp\) - 580: f7ff 621c sw \$ra,-4\(\$sp\) - 584: f7ff 6218 sw \$ra,-8\(\$sp\) - 588: f7ff 6210 sw \$ra,-16\(\$sp\) - 58c: f7ff 6200 sw \$ra,-32\(\$sp\) - 590: f7df 6200 sw \$ra,-64\(\$sp\) - 594: f79f 6200 sw \$ra,-128\(\$sp\) - 598: f71f 6200 sw \$ra,-256\(\$sp\) - 59c: f61f 6200 sw \$ra,-512\(\$sp\) - 5a0: f41f 6200 sw \$ra,-1024\(\$sp\) - 5a4: f01f 6200 sw \$ra,-2048\(\$sp\) - 5a8: cb40 sh \$v0,0\(\$v1\) - 5aa: f000 cb41 sh \$v0,1\(\$v1\) - 5ae: cb41 sh \$v0,2\(\$v1\) - 5b0: f000 cb43 sh \$v0,3\(\$v1\) - 5b4: cb42 sh \$v0,4\(\$v1\) - 5b6: cb44 sh \$v0,8\(\$v1\) - 5b8: cb48 sh \$v0,16\(\$v1\) - 5ba: cb50 sh \$v0,32\(\$v1\) - 5bc: f040 cb40 sh \$v0,64\(\$v1\) - 5c0: f080 cb40 sh \$v0,128\(\$v1\) - 5c4: f100 cb40 sh \$v0,256\(\$v1\) - 5c8: f200 cb40 sh \$v0,512\(\$v1\) - 5cc: f400 cb40 sh \$v0,1024\(\$v1\) - 5d0: f001 cb40 sh \$v0,2048\(\$v1\) - 5d4: f7ff cb5f sh \$v0,-1\(\$v1\) - 5d8: f7ff cb5e sh \$v0,-2\(\$v1\) - 5dc: f7ff cb5d sh \$v0,-3\(\$v1\) - 5e0: f7ff cb5c sh \$v0,-4\(\$v1\) - 5e4: f7ff cb58 sh \$v0,-8\(\$v1\) - 5e8: f7ff cb50 sh \$v0,-16\(\$v1\) - 5ec: f7ff cb40 sh \$v0,-32\(\$v1\) - 5f0: f7df cb40 sh \$v0,-64\(\$v1\) - 5f4: f79f cb40 sh \$v0,-128\(\$v1\) - 5f8: f71f cb40 sh \$v0,-256\(\$v1\) - 5fc: f61f cb40 sh \$v0,-512\(\$v1\) - 600: f41f cb40 sh \$v0,-1024\(\$v1\) - 604: f01f cb40 sh \$v0,-2048\(\$v1\) - 608: c340 sb \$v0,0\(\$v1\) - 60a: c341 sb \$v0,1\(\$v1\) - 60c: c342 sb \$v0,2\(\$v1\) - 60e: c343 sb \$v0,3\(\$v1\) - 610: c344 sb \$v0,4\(\$v1\) - 612: c348 sb \$v0,8\(\$v1\) - 614: c350 sb \$v0,16\(\$v1\) - 616: f020 c340 sb \$v0,32\(\$v1\) - 61a: f040 c340 sb \$v0,64\(\$v1\) - 61e: f080 c340 sb \$v0,128\(\$v1\) - 622: f100 c340 sb \$v0,256\(\$v1\) - 626: f200 c340 sb \$v0,512\(\$v1\) - 62a: f400 c340 sb \$v0,1024\(\$v1\) - 62e: f001 c340 sb \$v0,2048\(\$v1\) - 632: f7ff c35f sb \$v0,-1\(\$v1\) - 636: f7ff c35e sb \$v0,-2\(\$v1\) - 63a: f7ff c35d sb \$v0,-3\(\$v1\) - 63e: f7ff c35c sb \$v0,-4\(\$v1\) - 642: f7ff c358 sb \$v0,-8\(\$v1\) - 646: f7ff c350 sb \$v0,-16\(\$v1\) - 64a: f7ff c340 sb \$v0,-32\(\$v1\) - 64e: f7df c340 sb \$v0,-64\(\$v1\) - 652: f79f c340 sb \$v0,-128\(\$v1\) - 656: f71f c340 sb \$v0,-256\(\$v1\) - 65a: f61f c340 sb \$v0,-512\(\$v1\) - 65e: f41f c340 sb \$v0,-1024\(\$v1\) - 662: f01f c340 sb \$v0,-2048\(\$v1\) - 666: 6a00 li \$v0,0 - 668: 6a01 li \$v0,1 - 66a: f100 6a00 li \$v0,256 - 66e: 675e move \$v0,\$s8 - 670: 6592 move \$s4,\$v0 - 672: 4350 daddiu \$v0,\$v1,0 - 674: 4351 daddiu \$v0,\$v1,1 - 676: 435f daddiu \$v0,\$v1,-1 - 678: f010 4350 daddiu \$v0,\$v1,16 - 67c: f7ff 4350 daddiu \$v0,\$v1,-16 - 680: e388 daddu \$v0,\$v1,\$a0 - 682: fd40 daddiu \$v0,0 - 684: fd41 daddiu \$v0,1 - 686: fd5f daddiu \$v0,-1 - 688: f020 fd40 daddiu \$v0,32 - 68c: f7ff fd40 daddiu \$v0,-32 - 690: f080 fd40 daddiu \$v0,128 - 694: f79f fd40 daddiu \$v0,-128 - 698: f17f fe48 dla \$v0,0 - 69c: f080 fe40 dla \$v0,71c - 6a0: f1c0 fe48 dla \$v0,868 - 6a4: f280 fe4c dla \$v0,930 - 6a8: fb00 daddiu \$sp,0 - 6aa: f000 fb01 daddiu \$sp,1 - 6ae: f7ff fb1f daddiu \$sp,-1 - 6b2: fb20 daddiu \$sp,256 - 6b4: fbe0 daddiu \$sp,-256 - 6b6: ff40 daddiu \$v0,\$sp,0 - 6b8: f000 ff41 daddiu \$v0,\$sp,1 - 6bc: f7ff ff5f daddiu \$v0,\$sp,-1 - 6c0: ff48 daddiu \$v0,\$sp,32 - 6c2: f7ff ff40 daddiu \$v0,\$sp,-32 - 6c6: f080 ff40 daddiu \$v0,\$sp,128 - 6ca: f79f ff40 daddiu \$v0,\$sp,-128 - 6ce: 4340 addiu \$v0,\$v1,0 - 6d0: 4341 addiu \$v0,\$v1,1 - 6d2: 434f addiu \$v0,\$v1,-1 - 6d4: f010 4340 addiu \$v0,\$v1,16 - 6d8: f7ff 4340 addiu \$v0,\$v1,-16 - 6dc: e389 addu \$v0,\$v1,\$a0 - 6de: 4a00 addiu \$v0,0 - 6e0: 4a01 addiu \$v0,1 - 6e2: 4aff addiu \$v0,-1 - 6e4: 4a20 addiu \$v0,32 - 6e6: 4ae0 addiu \$v0,-32 - 6e8: f080 4a00 addiu \$v0,128 - 6ec: 4a80 addiu \$v0,-128 - 6ee: f11f 0a14 la \$v0,0 - 6f2: 0a0b la \$v0,71c - 6f4: 0a5d la \$v0,868 - 6f6: 0a8f la \$v0,930 - 6f8: 6300 addiu \$sp,0 - 6fa: f000 6301 addiu \$sp,1 - 6fe: f7ff 631f addiu \$sp,-1 - 702: 6320 addiu \$sp,256 - 704: 63e0 addiu \$sp,-256 - 706: 0200 addiu \$v0,\$sp,0 - 708: f000 0201 addiu \$v0,\$sp,1 - 70c: f7ff 021f addiu \$v0,\$sp,-1 - 710: 0208 addiu \$v0,\$sp,32 - 712: f7ff 0200 addiu \$v0,\$sp,-32 - 716: 0220 addiu \$v0,\$sp,128 - 718: f79f 0200 addiu \$v0,\$sp,-128 + 4: 3b40 ld v0,0\(v1\) + 6: f000 3b41 ld v0,1\(v1\) + a: f000 3b42 ld v0,2\(v1\) + e: f000 3b43 ld v0,3\(v1\) + 12: f000 3b44 ld v0,4\(v1\) + 16: 3b41 ld v0,8\(v1\) + 18: 3b42 ld v0,16\(v1\) + 1a: 3b44 ld v0,32\(v1\) + 1c: 3b48 ld v0,64\(v1\) + 1e: 3b50 ld v0,128\(v1\) + 20: f100 3b40 ld v0,256\(v1\) + 24: f200 3b40 ld v0,512\(v1\) + 28: f400 3b40 ld v0,1024\(v1\) + 2c: f001 3b40 ld v0,2048\(v1\) + 30: f7ff 3b5f ld v0,-1\(v1\) + 34: f7ff 3b5e ld v0,-2\(v1\) + 38: f7ff 3b5d ld v0,-3\(v1\) + 3c: f7ff 3b5c ld v0,-4\(v1\) + 40: f7ff 3b58 ld v0,-8\(v1\) + 44: f7ff 3b50 ld v0,-16\(v1\) + 48: f7ff 3b40 ld v0,-32\(v1\) + 4c: f7df 3b40 ld v0,-64\(v1\) + 50: f79f 3b40 ld v0,-128\(v1\) + 54: f71f 3b40 ld v0,-256\(v1\) + 58: f61f 3b40 ld v0,-512\(v1\) + 5c: f41f 3b40 ld v0,-1024\(v1\) + 60: f01f 3b40 ld v0,-2048\(v1\) + 64: f7bf fc40 ld v0,0 + 68: f6a0 fc54 ld v0,71c + 6c: f001 fc40 ld v0,868 + 70: f0c1 fc40 ld v0,930 + 74: f840 ld v0,0\(sp\) + 76: f000 f841 ld v0,1\(sp\) + 7a: f000 f842 ld v0,2\(sp\) + 7e: f000 f843 ld v0,3\(sp\) + 82: f000 f844 ld v0,4\(sp\) + 86: f841 ld v0,8\(sp\) + 88: f842 ld v0,16\(sp\) + 8a: f844 ld v0,32\(sp\) + 8c: f848 ld v0,64\(sp\) + 8e: f850 ld v0,128\(sp\) + 90: f100 f840 ld v0,256\(sp\) + 94: f200 f840 ld v0,512\(sp\) + 98: f400 f840 ld v0,1024\(sp\) + 9c: f001 f840 ld v0,2048\(sp\) + a0: f7ff f85f ld v0,-1\(sp\) + a4: f7ff f85e ld v0,-2\(sp\) + a8: f7ff f85d ld v0,-3\(sp\) + ac: f7ff f85c ld v0,-4\(sp\) + b0: f7ff f858 ld v0,-8\(sp\) + b4: f7ff f850 ld v0,-16\(sp\) + b8: f7ff f840 ld v0,-32\(sp\) + bc: f7df f840 ld v0,-64\(sp\) + c0: f79f f840 ld v0,-128\(sp\) + c4: f71f f840 ld v0,-256\(sp\) + c8: f61f f840 ld v0,-512\(sp\) + cc: f41f f840 ld v0,-1024\(sp\) + d0: f01f f840 ld v0,-2048\(sp\) + d4: bb40 lwu v0,0\(v1\) + d6: f000 bb41 lwu v0,1\(v1\) + da: f000 bb42 lwu v0,2\(v1\) + de: f000 bb43 lwu v0,3\(v1\) + e2: bb41 lwu v0,4\(v1\) + e4: bb42 lwu v0,8\(v1\) + e6: bb44 lwu v0,16\(v1\) + e8: bb48 lwu v0,32\(v1\) + ea: bb50 lwu v0,64\(v1\) + ec: f080 bb40 lwu v0,128\(v1\) + f0: f100 bb40 lwu v0,256\(v1\) + f4: f200 bb40 lwu v0,512\(v1\) + f8: f400 bb40 lwu v0,1024\(v1\) + fc: f001 bb40 lwu v0,2048\(v1\) + 100: f7ff bb5f lwu v0,-1\(v1\) + 104: f7ff bb5e lwu v0,-2\(v1\) + 108: f7ff bb5d lwu v0,-3\(v1\) + 10c: f7ff bb5c lwu v0,-4\(v1\) + 110: f7ff bb58 lwu v0,-8\(v1\) + 114: f7ff bb50 lwu v0,-16\(v1\) + 118: f7ff bb40 lwu v0,-32\(v1\) + 11c: f7df bb40 lwu v0,-64\(v1\) + 120: f79f bb40 lwu v0,-128\(v1\) + 124: f71f bb40 lwu v0,-256\(v1\) + 128: f61f bb40 lwu v0,-512\(v1\) + 12c: f41f bb40 lwu v0,-1024\(v1\) + 130: f01f bb40 lwu v0,-2048\(v1\) + 134: 9b40 lw v0,0\(v1\) + 136: f000 9b41 lw v0,1\(v1\) + 13a: f000 9b42 lw v0,2\(v1\) + 13e: f000 9b43 lw v0,3\(v1\) + 142: 9b41 lw v0,4\(v1\) + 144: 9b42 lw v0,8\(v1\) + 146: 9b44 lw v0,16\(v1\) + 148: 9b48 lw v0,32\(v1\) + 14a: 9b50 lw v0,64\(v1\) + 14c: f080 9b40 lw v0,128\(v1\) + 150: f100 9b40 lw v0,256\(v1\) + 154: f200 9b40 lw v0,512\(v1\) + 158: f400 9b40 lw v0,1024\(v1\) + 15c: f001 9b40 lw v0,2048\(v1\) + 160: f7ff 9b5f lw v0,-1\(v1\) + 164: f7ff 9b5e lw v0,-2\(v1\) + 168: f7ff 9b5d lw v0,-3\(v1\) + 16c: f7ff 9b5c lw v0,-4\(v1\) + 170: f7ff 9b58 lw v0,-8\(v1\) + 174: f7ff 9b50 lw v0,-16\(v1\) + 178: f7ff 9b40 lw v0,-32\(v1\) + 17c: f7df 9b40 lw v0,-64\(v1\) + 180: f79f 9b40 lw v0,-128\(v1\) + 184: f71f 9b40 lw v0,-256\(v1\) + 188: f61f 9b40 lw v0,-512\(v1\) + 18c: f41f 9b40 lw v0,-1024\(v1\) + 190: f01f 9b40 lw v0,-2048\(v1\) + 194: f67f b20c lw v0,0 + 198: f580 b204 lw v0,71c + 19c: f6c0 b20c lw v0,868 + 1a0: f780 b210 lw v0,930 + 1a4: 9200 lw v0,0\(sp\) + 1a6: f000 9201 lw v0,1\(sp\) + 1aa: f000 9202 lw v0,2\(sp\) + 1ae: f000 9203 lw v0,3\(sp\) + 1b2: 9201 lw v0,4\(sp\) + 1b4: 9202 lw v0,8\(sp\) + 1b6: 9204 lw v0,16\(sp\) + 1b8: 9208 lw v0,32\(sp\) + 1ba: 9210 lw v0,64\(sp\) + 1bc: 9220 lw v0,128\(sp\) + 1be: 9240 lw v0,256\(sp\) + 1c0: 9280 lw v0,512\(sp\) + 1c2: f400 9200 lw v0,1024\(sp\) + 1c6: f001 9200 lw v0,2048\(sp\) + 1ca: f7ff 921f lw v0,-1\(sp\) + 1ce: f7ff 921e lw v0,-2\(sp\) + 1d2: f7ff 921d lw v0,-3\(sp\) + 1d6: f7ff 921c lw v0,-4\(sp\) + 1da: f7ff 9218 lw v0,-8\(sp\) + 1de: f7ff 9210 lw v0,-16\(sp\) + 1e2: f7ff 9200 lw v0,-32\(sp\) + 1e6: f7df 9200 lw v0,-64\(sp\) + 1ea: f79f 9200 lw v0,-128\(sp\) + 1ee: f71f 9200 lw v0,-256\(sp\) + 1f2: f61f 9200 lw v0,-512\(sp\) + 1f6: f41f 9200 lw v0,-1024\(sp\) + 1fa: f01f 9200 lw v0,-2048\(sp\) + 1fe: 8b40 lh v0,0\(v1\) + 200: f000 8b41 lh v0,1\(v1\) + 204: 8b41 lh v0,2\(v1\) + 206: f000 8b43 lh v0,3\(v1\) + 20a: 8b42 lh v0,4\(v1\) + 20c: 8b44 lh v0,8\(v1\) + 20e: 8b48 lh v0,16\(v1\) + 210: 8b50 lh v0,32\(v1\) + 212: f040 8b40 lh v0,64\(v1\) + 216: f080 8b40 lh v0,128\(v1\) + 21a: f100 8b40 lh v0,256\(v1\) + 21e: f200 8b40 lh v0,512\(v1\) + 222: f400 8b40 lh v0,1024\(v1\) + 226: f001 8b40 lh v0,2048\(v1\) + 22a: f7ff 8b5f lh v0,-1\(v1\) + 22e: f7ff 8b5e lh v0,-2\(v1\) + 232: f7ff 8b5d lh v0,-3\(v1\) + 236: f7ff 8b5c lh v0,-4\(v1\) + 23a: f7ff 8b58 lh v0,-8\(v1\) + 23e: f7ff 8b50 lh v0,-16\(v1\) + 242: f7ff 8b40 lh v0,-32\(v1\) + 246: f7df 8b40 lh v0,-64\(v1\) + 24a: f79f 8b40 lh v0,-128\(v1\) + 24e: f71f 8b40 lh v0,-256\(v1\) + 252: f61f 8b40 lh v0,-512\(v1\) + 256: f41f 8b40 lh v0,-1024\(v1\) + 25a: f01f 8b40 lh v0,-2048\(v1\) + 25e: ab40 lhu v0,0\(v1\) + 260: f000 ab41 lhu v0,1\(v1\) + 264: ab41 lhu v0,2\(v1\) + 266: f000 ab43 lhu v0,3\(v1\) + 26a: ab42 lhu v0,4\(v1\) + 26c: ab44 lhu v0,8\(v1\) + 26e: ab48 lhu v0,16\(v1\) + 270: ab50 lhu v0,32\(v1\) + 272: f040 ab40 lhu v0,64\(v1\) + 276: f080 ab40 lhu v0,128\(v1\) + 27a: f100 ab40 lhu v0,256\(v1\) + 27e: f200 ab40 lhu v0,512\(v1\) + 282: f400 ab40 lhu v0,1024\(v1\) + 286: f001 ab40 lhu v0,2048\(v1\) + 28a: f7ff ab5f lhu v0,-1\(v1\) + 28e: f7ff ab5e lhu v0,-2\(v1\) + 292: f7ff ab5d lhu v0,-3\(v1\) + 296: f7ff ab5c lhu v0,-4\(v1\) + 29a: f7ff ab58 lhu v0,-8\(v1\) + 29e: f7ff ab50 lhu v0,-16\(v1\) + 2a2: f7ff ab40 lhu v0,-32\(v1\) + 2a6: f7df ab40 lhu v0,-64\(v1\) + 2aa: f79f ab40 lhu v0,-128\(v1\) + 2ae: f71f ab40 lhu v0,-256\(v1\) + 2b2: f61f ab40 lhu v0,-512\(v1\) + 2b6: f41f ab40 lhu v0,-1024\(v1\) + 2ba: f01f ab40 lhu v0,-2048\(v1\) + 2be: 8340 lb v0,0\(v1\) + 2c0: 8341 lb v0,1\(v1\) + 2c2: 8342 lb v0,2\(v1\) + 2c4: 8343 lb v0,3\(v1\) + 2c6: 8344 lb v0,4\(v1\) + 2c8: 8348 lb v0,8\(v1\) + 2ca: 8350 lb v0,16\(v1\) + 2cc: f020 8340 lb v0,32\(v1\) + 2d0: f040 8340 lb v0,64\(v1\) + 2d4: f080 8340 lb v0,128\(v1\) + 2d8: f100 8340 lb v0,256\(v1\) + 2dc: f200 8340 lb v0,512\(v1\) + 2e0: f400 8340 lb v0,1024\(v1\) + 2e4: f001 8340 lb v0,2048\(v1\) + 2e8: f7ff 835f lb v0,-1\(v1\) + 2ec: f7ff 835e lb v0,-2\(v1\) + 2f0: f7ff 835d lb v0,-3\(v1\) + 2f4: f7ff 835c lb v0,-4\(v1\) + 2f8: f7ff 8358 lb v0,-8\(v1\) + 2fc: f7ff 8350 lb v0,-16\(v1\) + 300: f7ff 8340 lb v0,-32\(v1\) + 304: f7df 8340 lb v0,-64\(v1\) + 308: f79f 8340 lb v0,-128\(v1\) + 30c: f71f 8340 lb v0,-256\(v1\) + 310: f61f 8340 lb v0,-512\(v1\) + 314: f41f 8340 lb v0,-1024\(v1\) + 318: f01f 8340 lb v0,-2048\(v1\) + 31c: a340 lbu v0,0\(v1\) + 31e: a341 lbu v0,1\(v1\) + 320: a342 lbu v0,2\(v1\) + 322: a343 lbu v0,3\(v1\) + 324: a344 lbu v0,4\(v1\) + 326: a348 lbu v0,8\(v1\) + 328: a350 lbu v0,16\(v1\) + 32a: f020 a340 lbu v0,32\(v1\) + 32e: f040 a340 lbu v0,64\(v1\) + 332: f080 a340 lbu v0,128\(v1\) + 336: f100 a340 lbu v0,256\(v1\) + 33a: f200 a340 lbu v0,512\(v1\) + 33e: f400 a340 lbu v0,1024\(v1\) + 342: f001 a340 lbu v0,2048\(v1\) + 346: f7ff a35f lbu v0,-1\(v1\) + 34a: f7ff a35e lbu v0,-2\(v1\) + 34e: f7ff a35d lbu v0,-3\(v1\) + 352: f7ff a35c lbu v0,-4\(v1\) + 356: f7ff a358 lbu v0,-8\(v1\) + 35a: f7ff a350 lbu v0,-16\(v1\) + 35e: f7ff a340 lbu v0,-32\(v1\) + 362: f7df a340 lbu v0,-64\(v1\) + 366: f79f a340 lbu v0,-128\(v1\) + 36a: f71f a340 lbu v0,-256\(v1\) + 36e: f61f a340 lbu v0,-512\(v1\) + 372: f41f a340 lbu v0,-1024\(v1\) + 376: f01f a340 lbu v0,-2048\(v1\) + 37a: 7b40 sd v0,0\(v1\) + 37c: f000 7b41 sd v0,1\(v1\) + 380: f000 7b42 sd v0,2\(v1\) + 384: f000 7b43 sd v0,3\(v1\) + 388: f000 7b44 sd v0,4\(v1\) + 38c: 7b41 sd v0,8\(v1\) + 38e: 7b42 sd v0,16\(v1\) + 390: 7b44 sd v0,32\(v1\) + 392: 7b48 sd v0,64\(v1\) + 394: 7b50 sd v0,128\(v1\) + 396: f100 7b40 sd v0,256\(v1\) + 39a: f200 7b40 sd v0,512\(v1\) + 39e: f400 7b40 sd v0,1024\(v1\) + 3a2: f001 7b40 sd v0,2048\(v1\) + 3a6: f7ff 7b5f sd v0,-1\(v1\) + 3aa: f7ff 7b5e sd v0,-2\(v1\) + 3ae: f7ff 7b5d sd v0,-3\(v1\) + 3b2: f7ff 7b5c sd v0,-4\(v1\) + 3b6: f7ff 7b58 sd v0,-8\(v1\) + 3ba: f7ff 7b50 sd v0,-16\(v1\) + 3be: f7ff 7b40 sd v0,-32\(v1\) + 3c2: f7df 7b40 sd v0,-64\(v1\) + 3c6: f79f 7b40 sd v0,-128\(v1\) + 3ca: f71f 7b40 sd v0,-256\(v1\) + 3ce: f61f 7b40 sd v0,-512\(v1\) + 3d2: f41f 7b40 sd v0,-1024\(v1\) + 3d6: f01f 7b40 sd v0,-2048\(v1\) + 3da: f940 sd v0,0\(sp\) + 3dc: f000 f941 sd v0,1\(sp\) + 3e0: f000 f942 sd v0,2\(sp\) + 3e4: f000 f943 sd v0,3\(sp\) + 3e8: f000 f944 sd v0,4\(sp\) + 3ec: f941 sd v0,8\(sp\) + 3ee: f942 sd v0,16\(sp\) + 3f0: f944 sd v0,32\(sp\) + 3f2: f948 sd v0,64\(sp\) + 3f4: f950 sd v0,128\(sp\) + 3f6: f100 f940 sd v0,256\(sp\) + 3fa: f200 f940 sd v0,512\(sp\) + 3fe: f400 f940 sd v0,1024\(sp\) + 402: f001 f940 sd v0,2048\(sp\) + 406: f7ff f95f sd v0,-1\(sp\) + 40a: f7ff f95e sd v0,-2\(sp\) + 40e: f7ff f95d sd v0,-3\(sp\) + 412: f7ff f95c sd v0,-4\(sp\) + 416: f7ff f958 sd v0,-8\(sp\) + 41a: f7ff f950 sd v0,-16\(sp\) + 41e: f7ff f940 sd v0,-32\(sp\) + 422: f7df f940 sd v0,-64\(sp\) + 426: f79f f940 sd v0,-128\(sp\) + 42a: f71f f940 sd v0,-256\(sp\) + 42e: f61f f940 sd v0,-512\(sp\) + 432: f41f f940 sd v0,-1024\(sp\) + 436: f01f f940 sd v0,-2048\(sp\) + 43a: fa00 sd ra,0\(sp\) + 43c: f000 fa01 sd ra,1\(sp\) + 440: f000 fa02 sd ra,2\(sp\) + 444: f000 fa03 sd ra,3\(sp\) + 448: f000 fa04 sd ra,4\(sp\) + 44c: fa01 sd ra,8\(sp\) + 44e: fa02 sd ra,16\(sp\) + 450: fa04 sd ra,32\(sp\) + 452: fa08 sd ra,64\(sp\) + 454: fa10 sd ra,128\(sp\) + 456: fa20 sd ra,256\(sp\) + 458: fa40 sd ra,512\(sp\) + 45a: fa80 sd ra,1024\(sp\) + 45c: f001 fa00 sd ra,2048\(sp\) + 460: f7ff fa1f sd ra,-1\(sp\) + 464: f7ff fa1e sd ra,-2\(sp\) + 468: f7ff fa1d sd ra,-3\(sp\) + 46c: f7ff fa1c sd ra,-4\(sp\) + 470: f7ff fa18 sd ra,-8\(sp\) + 474: f7ff fa10 sd ra,-16\(sp\) + 478: f7ff fa00 sd ra,-32\(sp\) + 47c: f7df fa00 sd ra,-64\(sp\) + 480: f79f fa00 sd ra,-128\(sp\) + 484: f71f fa00 sd ra,-256\(sp\) + 488: f61f fa00 sd ra,-512\(sp\) + 48c: f41f fa00 sd ra,-1024\(sp\) + 490: f01f fa00 sd ra,-2048\(sp\) + 494: db40 sw v0,0\(v1\) + 496: f000 db41 sw v0,1\(v1\) + 49a: f000 db42 sw v0,2\(v1\) + 49e: f000 db43 sw v0,3\(v1\) + 4a2: db41 sw v0,4\(v1\) + 4a4: db42 sw v0,8\(v1\) + 4a6: db44 sw v0,16\(v1\) + 4a8: db48 sw v0,32\(v1\) + 4aa: db50 sw v0,64\(v1\) + 4ac: f080 db40 sw v0,128\(v1\) + 4b0: f100 db40 sw v0,256\(v1\) + 4b4: f200 db40 sw v0,512\(v1\) + 4b8: f400 db40 sw v0,1024\(v1\) + 4bc: f001 db40 sw v0,2048\(v1\) + 4c0: f7ff db5f sw v0,-1\(v1\) + 4c4: f7ff db5e sw v0,-2\(v1\) + 4c8: f7ff db5d sw v0,-3\(v1\) + 4cc: f7ff db5c sw v0,-4\(v1\) + 4d0: f7ff db58 sw v0,-8\(v1\) + 4d4: f7ff db50 sw v0,-16\(v1\) + 4d8: f7ff db40 sw v0,-32\(v1\) + 4dc: f7df db40 sw v0,-64\(v1\) + 4e0: f79f db40 sw v0,-128\(v1\) + 4e4: f71f db40 sw v0,-256\(v1\) + 4e8: f61f db40 sw v0,-512\(v1\) + 4ec: f41f db40 sw v0,-1024\(v1\) + 4f0: f01f db40 sw v0,-2048\(v1\) + 4f4: d200 sw v0,0\(sp\) + 4f6: f000 d201 sw v0,1\(sp\) + 4fa: f000 d202 sw v0,2\(sp\) + 4fe: f000 d203 sw v0,3\(sp\) + 502: d201 sw v0,4\(sp\) + 504: d202 sw v0,8\(sp\) + 506: d204 sw v0,16\(sp\) + 508: d208 sw v0,32\(sp\) + 50a: d210 sw v0,64\(sp\) + 50c: d220 sw v0,128\(sp\) + 50e: d240 sw v0,256\(sp\) + 510: d280 sw v0,512\(sp\) + 512: f400 d200 sw v0,1024\(sp\) + 516: f001 d200 sw v0,2048\(sp\) + 51a: f7ff d21f sw v0,-1\(sp\) + 51e: f7ff d21e sw v0,-2\(sp\) + 522: f7ff d21d sw v0,-3\(sp\) + 526: f7ff d21c sw v0,-4\(sp\) + 52a: f7ff d218 sw v0,-8\(sp\) + 52e: f7ff d210 sw v0,-16\(sp\) + 532: f7ff d200 sw v0,-32\(sp\) + 536: f7df d200 sw v0,-64\(sp\) + 53a: f79f d200 sw v0,-128\(sp\) + 53e: f71f d200 sw v0,-256\(sp\) + 542: f61f d200 sw v0,-512\(sp\) + 546: f41f d200 sw v0,-1024\(sp\) + 54a: f01f d200 sw v0,-2048\(sp\) + 54e: 6200 sw ra,0\(sp\) + 550: f000 6201 sw ra,1\(sp\) + 554: f000 6202 sw ra,2\(sp\) + 558: f000 6203 sw ra,3\(sp\) + 55c: 6201 sw ra,4\(sp\) + 55e: 6202 sw ra,8\(sp\) + 560: 6204 sw ra,16\(sp\) + 562: 6208 sw ra,32\(sp\) + 564: 6210 sw ra,64\(sp\) + 566: 6220 sw ra,128\(sp\) + 568: 6240 sw ra,256\(sp\) + 56a: 6280 sw ra,512\(sp\) + 56c: f400 6200 sw ra,1024\(sp\) + 570: f001 6200 sw ra,2048\(sp\) + 574: f7ff 621f sw ra,-1\(sp\) + 578: f7ff 621e sw ra,-2\(sp\) + 57c: f7ff 621d sw ra,-3\(sp\) + 580: f7ff 621c sw ra,-4\(sp\) + 584: f7ff 6218 sw ra,-8\(sp\) + 588: f7ff 6210 sw ra,-16\(sp\) + 58c: f7ff 6200 sw ra,-32\(sp\) + 590: f7df 6200 sw ra,-64\(sp\) + 594: f79f 6200 sw ra,-128\(sp\) + 598: f71f 6200 sw ra,-256\(sp\) + 59c: f61f 6200 sw ra,-512\(sp\) + 5a0: f41f 6200 sw ra,-1024\(sp\) + 5a4: f01f 6200 sw ra,-2048\(sp\) + 5a8: cb40 sh v0,0\(v1\) + 5aa: f000 cb41 sh v0,1\(v1\) + 5ae: cb41 sh v0,2\(v1\) + 5b0: f000 cb43 sh v0,3\(v1\) + 5b4: cb42 sh v0,4\(v1\) + 5b6: cb44 sh v0,8\(v1\) + 5b8: cb48 sh v0,16\(v1\) + 5ba: cb50 sh v0,32\(v1\) + 5bc: f040 cb40 sh v0,64\(v1\) + 5c0: f080 cb40 sh v0,128\(v1\) + 5c4: f100 cb40 sh v0,256\(v1\) + 5c8: f200 cb40 sh v0,512\(v1\) + 5cc: f400 cb40 sh v0,1024\(v1\) + 5d0: f001 cb40 sh v0,2048\(v1\) + 5d4: f7ff cb5f sh v0,-1\(v1\) + 5d8: f7ff cb5e sh v0,-2\(v1\) + 5dc: f7ff cb5d sh v0,-3\(v1\) + 5e0: f7ff cb5c sh v0,-4\(v1\) + 5e4: f7ff cb58 sh v0,-8\(v1\) + 5e8: f7ff cb50 sh v0,-16\(v1\) + 5ec: f7ff cb40 sh v0,-32\(v1\) + 5f0: f7df cb40 sh v0,-64\(v1\) + 5f4: f79f cb40 sh v0,-128\(v1\) + 5f8: f71f cb40 sh v0,-256\(v1\) + 5fc: f61f cb40 sh v0,-512\(v1\) + 600: f41f cb40 sh v0,-1024\(v1\) + 604: f01f cb40 sh v0,-2048\(v1\) + 608: c340 sb v0,0\(v1\) + 60a: c341 sb v0,1\(v1\) + 60c: c342 sb v0,2\(v1\) + 60e: c343 sb v0,3\(v1\) + 610: c344 sb v0,4\(v1\) + 612: c348 sb v0,8\(v1\) + 614: c350 sb v0,16\(v1\) + 616: f020 c340 sb v0,32\(v1\) + 61a: f040 c340 sb v0,64\(v1\) + 61e: f080 c340 sb v0,128\(v1\) + 622: f100 c340 sb v0,256\(v1\) + 626: f200 c340 sb v0,512\(v1\) + 62a: f400 c340 sb v0,1024\(v1\) + 62e: f001 c340 sb v0,2048\(v1\) + 632: f7ff c35f sb v0,-1\(v1\) + 636: f7ff c35e sb v0,-2\(v1\) + 63a: f7ff c35d sb v0,-3\(v1\) + 63e: f7ff c35c sb v0,-4\(v1\) + 642: f7ff c358 sb v0,-8\(v1\) + 646: f7ff c350 sb v0,-16\(v1\) + 64a: f7ff c340 sb v0,-32\(v1\) + 64e: f7df c340 sb v0,-64\(v1\) + 652: f79f c340 sb v0,-128\(v1\) + 656: f71f c340 sb v0,-256\(v1\) + 65a: f61f c340 sb v0,-512\(v1\) + 65e: f41f c340 sb v0,-1024\(v1\) + 662: f01f c340 sb v0,-2048\(v1\) + 666: 6a00 li v0,0 + 668: 6a01 li v0,1 + 66a: f100 6a00 li v0,256 + 66e: 675e move v0,s8 + 670: 6592 move s4,v0 + 672: 4350 daddiu v0,v1,0 + 674: 4351 daddiu v0,v1,1 + 676: 435f daddiu v0,v1,-1 + 678: f010 4350 daddiu v0,v1,16 + 67c: f7ff 4350 daddiu v0,v1,-16 + 680: e388 daddu v0,v1,a0 + 682: fd40 daddiu v0,0 + 684: fd41 daddiu v0,1 + 686: fd5f daddiu v0,-1 + 688: f020 fd40 daddiu v0,32 + 68c: f7ff fd40 daddiu v0,-32 + 690: f080 fd40 daddiu v0,128 + 694: f79f fd40 daddiu v0,-128 + 698: f17f fe48 dla v0,0 + 69c: f080 fe40 dla v0,71c + 6a0: f1c0 fe48 dla v0,868 + 6a4: f280 fe4c dla v0,930 + 6a8: fb00 daddiu sp,0 + 6aa: f000 fb01 daddiu sp,1 + 6ae: f7ff fb1f daddiu sp,-1 + 6b2: fb20 daddiu sp,256 + 6b4: fbe0 daddiu sp,-256 + 6b6: ff40 daddiu v0,sp,0 + 6b8: f000 ff41 daddiu v0,sp,1 + 6bc: f7ff ff5f daddiu v0,sp,-1 + 6c0: ff48 daddiu v0,sp,32 + 6c2: f7ff ff40 daddiu v0,sp,-32 + 6c6: f080 ff40 daddiu v0,sp,128 + 6ca: f79f ff40 daddiu v0,sp,-128 + 6ce: 4340 addiu v0,v1,0 + 6d0: 4341 addiu v0,v1,1 + 6d2: 434f addiu v0,v1,-1 + 6d4: f010 4340 addiu v0,v1,16 + 6d8: f7ff 4340 addiu v0,v1,-16 + 6dc: e389 addu v0,v1,a0 + 6de: 4a00 addiu v0,0 + 6e0: 4a01 addiu v0,1 + 6e2: 4aff addiu v0,-1 + 6e4: 4a20 addiu v0,32 + 6e6: 4ae0 addiu v0,-32 + 6e8: f080 4a00 addiu v0,128 + 6ec: 4a80 addiu v0,-128 + 6ee: f11f 0a14 la v0,0 + 6f2: 0a0b la v0,71c + 6f4: 0a5d la v0,868 + 6f6: 0a8f la v0,930 + 6f8: 6300 addiu sp,0 + 6fa: f000 6301 addiu sp,1 + 6fe: f7ff 631f addiu sp,-1 + 702: 6320 addiu sp,256 + 704: 63e0 addiu sp,-256 + 706: 0200 addiu v0,sp,0 + 708: f000 0201 addiu v0,sp,1 + 70c: f7ff 021f addiu v0,sp,-1 + 710: 0208 addiu v0,sp,32 + 712: f7ff 0200 addiu v0,sp,-32 + 716: 0220 addiu v0,sp,128 + 718: f79f 0200 addiu v0,sp,-128 0+00071c : 71c: 00000000 nop 0+000720 : - 720: e38a dsubu \$v0,\$v1,\$a0 - 722: e38b subu \$v0,\$v1,\$a0 - 724: ea6b neg \$v0,\$v1 - 726: ea6c and \$v0,\$v1 - 728: ea6d or \$v0,\$v1 - 72a: ea6e xor \$v0,\$v1 - 72c: ea6f not \$v0,\$v1 - 72e: 5200 slti \$v0,0 - 730: 5201 slti \$v0,1 - 732: f7ff 521f slti \$v0,-1 - 736: 52ff slti \$v0,255 - 738: f100 5200 slti \$v0,256 - 73c: ea62 slt \$v0,\$v1 - 73e: 5a00 sltiu \$v0,0 - 740: 5a01 sltiu \$v0,1 - 742: f7ff 5a1f sltiu \$v0,-1 - 746: 5aff sltiu \$v0,255 - 748: f100 5a00 sltiu \$v0,256 - 74c: ea63 sltu \$v0,\$v1 - 74e: 7200 cmpi \$v0,0 - 750: 7201 cmpi \$v0,1 - 752: 72ff cmpi \$v0,255 - 754: f100 7200 cmpi \$v0,256 - 758: ea6a cmp \$v0,\$v1 - 75a: f000 3261 dsll \$v0,\$v1,0 - 75e: 3265 dsll \$v0,\$v1,1 - 760: 3261 dsll \$v0,\$v1,8 - 762: f240 3261 dsll \$v0,\$v1,9 - 766: f7e0 3261 dsll \$v0,\$v1,63 - 76a: eb54 dsllv \$v0,\$v1 - 76c: f000 e848 dsrl \$v0,0 - 770: e948 dsrl \$v0,1 - 772: e848 dsrl \$v0,8 - 774: f240 e848 dsrl \$v0,9 - 778: f7e0 e848 dsrl \$v0,63 - 77c: eb56 dsrlv \$v0,\$v1 - 77e: f000 e853 dsra \$v0,0 - 782: e953 dsra \$v0,1 - 784: e853 dsra \$v0,8 - 786: f240 e853 dsra \$v0,9 - 78a: f7e0 e853 dsra \$v0,63 - 78e: eb57 dsrav \$v0,\$v1 - 790: ea12 mflo \$v0 - 792: eb10 mfhi \$v1 - 794: f000 3260 sll \$v0,\$v1,0 - 798: 3264 sll \$v0,\$v1,1 - 79a: 3260 sll \$v0,\$v1,8 - 79c: f240 3260 sll \$v0,\$v1,9 - 7a0: f7c0 3260 sll \$v0,\$v1,31 - 7a4: eb44 sllv \$v0,\$v1 - 7a6: f000 3262 srl \$v0,\$v1,0 - 7aa: 3266 srl \$v0,\$v1,1 - 7ac: 3262 srl \$v0,\$v1,8 - 7ae: f240 3262 srl \$v0,\$v1,9 - 7b2: f7c0 3262 srl \$v0,\$v1,31 - 7b6: eb46 srlv \$v0,\$v1 - 7b8: f000 3263 sra \$v0,\$v1,0 - 7bc: 3267 sra \$v0,\$v1,1 - 7be: 3263 sra \$v0,\$v1,8 - 7c0: f240 3263 sra \$v0,\$v1,9 - 7c4: f7c0 3263 sra \$v0,\$v1,31 - 7c8: eb47 srav \$v0,\$v1 - 7ca: ea7c dmult \$v0,\$v1 - 7cc: ea7d dmultu \$v0,\$v1 - 7ce: ea7e ddiv \$zero,\$v0,\$v1 - 7d0: 2b01 bnez \$v1,7d4 + 720: e38a dsubu v0,v1,a0 + 722: e38b subu v0,v1,a0 + 724: ea6b neg v0,v1 + 726: ea6c and v0,v1 + 728: ea6d or v0,v1 + 72a: ea6e xor v0,v1 + 72c: ea6f not v0,v1 + 72e: 5200 slti v0,0 + 730: 5201 slti v0,1 + 732: f7ff 521f slti v0,-1 + 736: 52ff slti v0,255 + 738: f100 5200 slti v0,256 + 73c: ea62 slt v0,v1 + 73e: 5a00 sltiu v0,0 + 740: 5a01 sltiu v0,1 + 742: f7ff 5a1f sltiu v0,-1 + 746: 5aff sltiu v0,255 + 748: f100 5a00 sltiu v0,256 + 74c: ea63 sltu v0,v1 + 74e: 7200 cmpi v0,0 + 750: 7201 cmpi v0,1 + 752: 72ff cmpi v0,255 + 754: f100 7200 cmpi v0,256 + 758: ea6a cmp v0,v1 + 75a: f000 3261 dsll v0,v1,0 + 75e: 3265 dsll v0,v1,1 + 760: 3261 dsll v0,v1,8 + 762: f240 3261 dsll v0,v1,9 + 766: f7e0 3261 dsll v0,v1,63 + 76a: eb54 dsllv v0,v1 + 76c: f000 e848 dsrl v0,0 + 770: e948 dsrl v0,1 + 772: e848 dsrl v0,8 + 774: f240 e848 dsrl v0,9 + 778: f7e0 e848 dsrl v0,63 + 77c: eb56 dsrlv v0,v1 + 77e: f000 e853 dsra v0,0 + 782: e953 dsra v0,1 + 784: e853 dsra v0,8 + 786: f240 e853 dsra v0,9 + 78a: f7e0 e853 dsra v0,63 + 78e: eb57 dsrav v0,v1 + 790: ea12 mflo v0 + 792: eb10 mfhi v1 + 794: f000 3260 sll v0,v1,0 + 798: 3264 sll v0,v1,1 + 79a: 3260 sll v0,v1,8 + 79c: f240 3260 sll v0,v1,9 + 7a0: f7c0 3260 sll v0,v1,31 + 7a4: eb44 sllv v0,v1 + 7a6: f000 3262 srl v0,v1,0 + 7aa: 3266 srl v0,v1,1 + 7ac: 3262 srl v0,v1,8 + 7ae: f240 3262 srl v0,v1,9 + 7b2: f7c0 3262 srl v0,v1,31 + 7b6: eb46 srlv v0,v1 + 7b8: f000 3263 sra v0,v1,0 + 7bc: 3267 sra v0,v1,1 + 7be: 3263 sra v0,v1,8 + 7c0: f240 3263 sra v0,v1,9 + 7c4: f7c0 3263 sra v0,v1,31 + 7c8: eb47 srav v0,v1 + 7ca: ea7c dmult v0,v1 + 7cc: ea7d dmultu v0,v1 + 7ce: ea7e ddiv zero,v0,v1 + 7d0: 2b01 bnez v1,7d4 7d2: e8e5 break 7 - 7d4: ea12 mflo \$v0 + 7d4: ea12 mflo v0 7d6: 6500 nop 7d8: 6500 nop - 7da: ea7f ddivu \$zero,\$v0,\$v1 - 7dc: 2b01 bnez \$v1,7e0 + 7da: ea7f ddivu zero,v0,v1 + 7dc: 2b01 bnez v1,7e0 7de: e8e5 break 7 - 7e0: ea12 mflo \$v0 + 7e0: ea12 mflo v0 7e2: 6500 nop 7e4: 6500 nop - 7e6: ea78 mult \$v0,\$v1 - 7e8: ea79 multu \$v0,\$v1 - 7ea: ea7a div \$zero,\$v0,\$v1 - 7ec: 2b01 bnez \$v1,7f0 + 7e6: ea78 mult v0,v1 + 7e8: ea79 multu v0,v1 + 7ea: ea7a div zero,v0,v1 + 7ec: 2b01 bnez v1,7f0 7ee: e8e5 break 7 - 7f0: ea12 mflo \$v0 + 7f0: ea12 mflo v0 7f2: 6500 nop 7f4: 6500 nop - 7f6: ea7b divu \$zero,\$v0,\$v1 - 7f8: 2b01 bnez \$v1,7fc + 7f6: ea7b divu zero,v0,v1 + 7f8: 2b01 bnez v1,7fc 7fa: e8e5 break 7 - 7fc: ea12 mflo \$v0 - 7fe: ea00 jr \$v0 + 7fc: ea12 mflo v0 + 7fe: ea00 jr v0 800: 6500 nop - 802: e820 jr \$ra + 802: e820 jr ra 804: 6500 nop - 806: ea40 jalr \$v0 + 806: ea40 jalr v0 808: 6500 nop - 80a: f3ff 221b beqz \$v0,4 - 80e: 2288 beqz \$v0,720 - 810: 222b beqz \$v0,868 - 812: f080 220d beqz \$v0,930 - 816: f3ff 2a15 bnez \$v0,4 - 81a: 2a82 bnez \$v0,720 - 81c: 2a25 bnez \$v0,868 - 81e: f080 2a07 bnez \$v0,930 + 80a: f3ff 221b beqz v0,4 + 80e: 2288 beqz v0,720 + 810: 222b beqz v0,868 + 812: f080 220d beqz v0,930 + 816: f3ff 2a15 bnez v0,4 + 81a: 2a82 bnez v0,720 + 81c: 2a25 bnez v0,868 + 81e: f080 2a07 bnez v0,930 822: f3ff 600f bteqz 4 826: f77f 601b bteqz 720 82a: 601e bteqz 868 @@ -668,14 +668,14 @@ Disassembly of section .text: 84c: R_MIPS16_26 extern 850: 6500 nop 852: e809 entry - 854: e909 entry \$a0 - 856: eb49 entry \$a0-\$a2,\$s0 - 858: e8a9 entry \$s0-\$s1,\$ra - 85a: e829 entry \$ra + 854: e909 entry a0 + 856: eb49 entry a0-a2,s0 + 858: e8a9 entry s0-s1,ra + 85a: e829 entry ra 85c: ef09 exit - 85e: ef49 exit \$s0 - 860: efa9 exit \$s0-\$s1,\$ra - 862: ef29 exit \$ra + 85e: ef49 exit s0 + 860: efa9 exit s0-s1,ra + 862: ef29 exit ra 864: 6500 nop 866: 6500 nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips32.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips32.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips32.d Mon Feb 19 14:22:44 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips32.d Mon May 21 10:37:04 2001 @@ -7,16 +7,16 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> 70410821 clo \$at,\$v0 -0+0004 <[^>]*> 70831820 clz \$v1,\$a0 -0+0008 <[^>]*> 70a60000 madd \$a1,\$a2 -0+000c <[^>]*> 70e80001 maddu \$a3,\$t0 -0+0010 <[^>]*> 712a0004 msub \$t1,\$t2 -0+0014 <[^>]*> 716c0005 msubu \$t3,\$t4 -0+0018 <[^>]*> 71cf6802 mul \$t5,\$t6,\$t7 -0+001c <[^>]*> ce040000 pref 0x4,0\(\$s0\) -0+0020 <[^>]*> ce247fff pref 0x4,32767\(\$s1\) -0+0024 <[^>]*> ce448000 pref 0x4,-32768\(\$s2\) +0+0000 <[^>]*> 70410821 clo at,v0 +0+0004 <[^>]*> 70831820 clz v1,a0 +0+0008 <[^>]*> 70a60000 madd a1,a2 +0+000c <[^>]*> 70e80001 maddu a3,t0 +0+0010 <[^>]*> 712a0004 msub t1,t2 +0+0014 <[^>]*> 716c0005 msubu t3,t4 +0+0018 <[^>]*> 71cf6802 mul t5,t6,t7 +0+001c <[^>]*> ce040000 pref 0x4,0\(s0\) +0+0020 <[^>]*> ce247fff pref 0x4,32767\(s1\) +0+0024 <[^>]*> ce448000 pref 0x4,-32768\(s2\) 0+0028 <[^>]*> 00000040 ssnop 0+002c <[^>]*> 4900fff4 bc2f 0+0000 0+0030 <[^>]*> 00000000 nop @@ -26,18 +26,18 @@ Disassembly of section .text: 0+0040 <[^>]*> 00000000 nop 0+0044 <[^>]*> 4903ffee bc2tl 0+0000 0+0048 <[^>]*> 00000000 nop -0+004c <[^>]*> 48411000 cfc2 \$at,\$2 +0+004c <[^>]*> 48411000 cfc2 at,v0 0+0050 <[^>]*> 4b234567 c2 0x1234567 -0+0054 <[^>]*> 48c21800 ctc2 \$v0,\$3 -0+0058 <[^>]*> 48032000 mfc2 \$v1,\$4 -0+005c <[^>]*> 48042800 mfc2 \$a0,\$5 -0+0060 <[^>]*> 48053007 mfc2 \$a1,\$6,7 -0+0064 <[^>]*> 48863800 mtc2 \$a2,\$7 -0+0068 <[^>]*> 48874000 mtc2 \$a3,\$8 -0+006c <[^>]*> 48884807 mtc2 \$t0,\$9,7 -0+0070 <[^>]*> bc250000 cache 0x5,0\(\$at\) -0+0074 <[^>]*> bc457fff cache 0x5,32767\(\$v0\) -0+0078 <[^>]*> bc658000 cache 0x5,-32768\(\$v1\) +0+0054 <[^>]*> 48c21800 ctc2 v0,v1 +0+0058 <[^>]*> 48032000 mfc2 v1,a0 +0+005c <[^>]*> 48042800 mfc2 a0,a1 +0+0060 <[^>]*> 48053007 mfc2 a1,a2,7 +0+0064 <[^>]*> 48863800 mtc2 a2,a3 +0+0068 <[^>]*> 48874000 mtc2 a3,t0 +0+006c <[^>]*> 48884807 mtc2 t0,t1,7 +0+0070 <[^>]*> bc250000 cache 0x5,0\(at\) +0+0074 <[^>]*> bc457fff cache 0x5,32767\(v0\) +0+0078 <[^>]*> bc658000 cache 0x5,-32768\(v1\) 0+007c <[^>]*> 42000018 eret 0+0080 <[^>]*> 42000008 tlbp 0+0084 <[^>]*> 42000001 tlbr diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4.d Mon May 21 10:37:04 2001 @@ -19,33 +19,33 @@ Disassembly of section .text: 0+0024 <[^>]*> nop 0+0028 <[^>]*> c.f.d \$f4,\$f6 0+002c <[^>]*> c.f.d \$fcc1,\$f4,\$f6 -0+0030 <[^>]*> ldxc1 \$f2,\$a0\(\$a1\) -0+0034 <[^>]*> lwxc1 \$f2,\$a0\(\$a1\) +0+0030 <[^>]*> ldxc1 \$f2,a0\(a1\) +0+0034 <[^>]*> lwxc1 \$f2,a0\(a1\) 0+0038 <[^>]*> madd.d \$f0,\$f2,\$f4,\$f6 0+003c <[^>]*> madd.s \$f0,\$f2,\$f4,\$f6 -0+0040 <[^>]*> movf \$a0,\$a1,\$fcc4 +0+0040 <[^>]*> movf a0,a1,\$fcc4 0+0044 <[^>]*> movf.d \$f4,\$f6,\$fcc0 0+0048 <[^>]*> movf.s \$f4,\$f6,\$fcc0 -0+004c <[^>]*> movn \$a0,\$a2,\$a2 -0+0050 <[^>]*> movn.d \$f4,\$f5,\$a2 -0+0054 <[^>]*> movn.s \$f4,\$f5,\$a2 -0+0058 <[^>]*> movt \$a0,\$a1,\$fcc4 +0+004c <[^>]*> movn a0,a2,a2 +0+0050 <[^>]*> movn.d \$f4,\$f5,a2 +0+0054 <[^>]*> movn.s \$f4,\$f5,a2 +0+0058 <[^>]*> movt a0,a1,\$fcc4 0+005c <[^>]*> movt.d \$f4,\$f6,\$fcc0 0+0060 <[^>]*> movt.s \$f4,\$f6,\$fcc0 -0+0064 <[^>]*> movz \$a0,\$a2,\$a2 -0+0068 <[^>]*> movz.d \$f4,\$f5,\$a2 -0+006c <[^>]*> movz.s \$f4,\$f5,\$a2 +0+0064 <[^>]*> movz a0,a2,a2 +0+0068 <[^>]*> movz.d \$f4,\$f5,a2 +0+006c <[^>]*> movz.s \$f4,\$f5,a2 0+0070 <[^>]*> msub.d \$f0,\$f2,\$f4,\$f6 0+0074 <[^>]*> msub.s \$f0,\$f2,\$f4,\$f6 0+0078 <[^>]*> nmadd.d \$f0,\$f2,\$f4,\$f6 0+007c <[^>]*> nmadd.s \$f0,\$f2,\$f4,\$f6 0+0080 <[^>]*> nmsub.d \$f0,\$f2,\$f4,\$f6 0+0084 <[^>]*> nmsub.s \$f0,\$f2,\$f4,\$f6 -0+0088 <[^>]*> prefx 0x4,\$a0\(\$a1\) +0+0088 <[^>]*> prefx 0x4,a0\(a1\) 0+008c <[^>]*> recip.d \$f4,\$f6 0+0090 <[^>]*> recip.s \$f4,\$f6 0+0094 <[^>]*> rsqrt.d \$f4,\$f6 0+0098 <[^>]*> rsqrt.s \$f4,\$f6 -0+009c <[^>]*> sdxc1 \$f4,\$a0\(\$a1\) -0+00a0 <[^>]*> swxc1 \$f4,\$a0\(\$a1\) +0+009c <[^>]*> sdxc1 \$f4,a0\(a1\) +0+00a0 <[^>]*> swxc1 \$f4,a0\(a1\) ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4010.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4010.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4010.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4010.d Mon May 21 10:37:04 2001 @@ -9,15 +9,15 @@ Disassembly of section \.text: 0+0000 flushi 0+0004 flushd 0+0008 flushid -0+000c madd \$a0,\$a1 -0+0010 maddu \$a1,\$a2 -0+0014 ffc \$a2,\$a3 -0+0018 ffs \$a3,\$t0 -0+001c msub \$t0,\$t1 -0+0020 msubu \$t1,\$t2 -0+0024 selsl \$t2,\$t3,\$t4 -0+0028 selsr \$t3,\$t4,\$t5 +0+000c madd a0,a1 +0+0010 maddu a1,a2 +0+0014 ffc a2,a3 +0+0018 ffs a3,t0 +0+001c msub t0,t1 +0+0020 msubu t1,t2 +0+0024 selsl t2,t3,t4 +0+0028 selsr t3,t4,t5 0+002c waiti -0+0030 wb 16\(\$t6\) -0+0034 addciu \$t6,\$t7,16 +0+0030 wb 16\(t6\) +0+0034 addciu t6,t7,16 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4010.s binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4010.s --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4010.s Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4010.s Sat Jun 9 00:13:01 2001 @@ -18,3 +18,4 @@ stuff: addciu $14,$15,16 nop nop + .end stuff diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4100.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4100.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4100.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4100.d Mon May 21 10:37:04 2001 @@ -6,9 +6,9 @@ .*: +file format .*mips.* Disassembly of section \.text: -0+0000 dmadd16 \$a0,\$a1 +0+0000 dmadd16 a0,a1 ... -0+000c madd16 \$a1,\$a2 +0+000c madd16 a1,a2 0+0010 hibernate 0+0014 standby 0+0018 suspend diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4100.s binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4100.s --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4100.s Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4100.s Sat Jun 9 00:13:01 2001 @@ -8,3 +8,4 @@ stuff: standby suspend nop + .end stuff diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4650.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4650.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4650.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4650.d Mon May 21 10:37:04 2001 @@ -6,9 +6,9 @@ .*: +file format .*mips.* Disassembly of section \.text: -0+0000 mad \$a0,\$a1 +0+0000 mad a0,a1 ... -0+000c madu \$a1,\$a2 +0+000c madu a1,a2 ... -0+0018 mul \$a2,\$a3,\$t0 +0+0018 mul a2,a3,t0 0+001c nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4650.s binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4650.s --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips4650.s Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips4650.s Sat Jun 9 00:13:01 2001 @@ -6,3 +6,4 @@ stuff: madu $5,$6 mul $6,$7,$8 nop + .end stuff diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips64.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips64.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mips64.d Mon Feb 19 14:22:44 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mips64.d Mon May 21 10:37:04 2001 @@ -7,11 +7,11 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> 70410825 dclo \$at,\$v0 -0+0004 <[^>]*> 70831824 dclz \$v1,\$a0 -0+0008 <[^>]*> 48232000 dmfc2 \$v1,\$4 -0+000c <[^>]*> 48242800 dmfc2 \$a0,\$5 -0+0010 <[^>]*> 48253007 dmfc2 \$a1,\$6,7 -0+0014 <[^>]*> 48a63800 dmtc2 \$a2,\$7 -0+0018 <[^>]*> 48a74000 dmtc2 \$a3,\$8 -0+001c <[^>]*> 48a84807 dmtc2 \$t0,\$9,7 +0+0000 <[^>]*> 70410825 dclo at,v0 +0+0004 <[^>]*> 70831824 dclz v1,a0 +0+0008 <[^>]*> 48232000 dmfc2 v1,a0 +0+000c <[^>]*> 48242800 dmfc2 a0,a1 +0+0010 <[^>]*> 48253007 dmfc2 a1,a2,7 +0+0014 <[^>]*> 48a63800 dmtc2 a2,a3 +0+0018 <[^>]*> 48a74000 dmtc2 a3,t0 +0+001c <[^>]*> 48a84807 dmtc2 t0,t1,7 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mipsel16-f.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/mipsel16-f.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mipsel16-f.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mipsel16-f.d Sat Jun 9 00:13:01 2001 @@ -0,0 +1,34 @@ +#objdump: -rst -mips16 +#name: MIPS16 reloc 2 +#as: -mips16 +#source: mips16-f.s + +# Check MIPS16 reloc processing + +.*: +file format elf.*mips.* + +SYMBOL TABLE: +0+0000000 l d \.text 0+0000000 +0+0000000 l d \.data 0+0000000 +0+0000000 l d \.bss 0+0000000 +0+0000002 l \.text 0+0000000 0xf0 l1 +0+0000000 l d foo 0+0000000 +0+0000000 l d \.reginfo 0+0000000 +0+0000000 l d \.(mdebug|pdr) 0+0000000 + + +RELOCATION RECORDS FOR \[foo\]: +OFFSET TYPE VALUE +0+0000000 R_MIPS_32 l1 + + +Contents of section \.text: + 0000 00650065 00650065 00650065 00650065 .* +Contents of section \.data: +Contents of section \.reginfo: + 0000 01000000 00000000 00000000 00000000 .* + 0010 00000000 00000000 .* +Contents of section \.(mdebug|pdr): +#... +Contents of section foo: + 0000 00000003 00000000 00000000 00000000 .* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mul-ilocks.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/mul-ilocks.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mul-ilocks.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mul-ilocks.d Mon May 21 10:37:04 2001 @@ -8,74 +8,74 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> multu \$a0,\$a1 -0+0004 <[^>]*> mflo \$a0 -0+0008 <[^>]*> multu \$a1,\$a2 -0+000c <[^>]*> mflo \$a0 -0+0010 <[^>]*> li \$at,0 -0+0014 <[^>]*> mult \$a1,\$at -0+0018 <[^>]*> mflo \$a0 -0+001c <[^>]*> li \$at,1 -0+0020 <[^>]*> mult \$a1,\$at -0+0024 <[^>]*> mflo \$a0 -0+0028 <[^>]*> li \$at,0x8000 -0+002c <[^>]*> mult \$a1,\$at -0+0030 <[^>]*> mflo \$a0 -0+0034 <[^>]*> li \$at,-32768 -0+0038 <[^>]*> mult \$a1,\$at -0+003c <[^>]*> mflo \$a0 -0+0040 <[^>]*> lui \$at,0x1 -0+0044 <[^>]*> mult \$a1,\$at -0+0048 <[^>]*> mflo \$a0 -0+004c <[^>]*> lui \$at,0x1 -0+0050 <[^>]*> ori \$at,\$at,0xa5a5 -0+0054 <[^>]*> mult \$a1,\$at -0+0058 <[^>]*> mflo \$a0 -0+005c <[^>]*> mult \$a0,\$a1 -0+0060 <[^>]*> mflo \$a0 -0+0064 <[^>]*> sra \$a0,\$a0,0x1f -0+0068 <[^>]*> mfhi \$at -0+006c <[^>]*> beq \$a0,\$at,0+78 +0+0000 <[^>]*> multu a0,a1 +0+0004 <[^>]*> mflo a0 +0+0008 <[^>]*> multu a1,a2 +0+000c <[^>]*> mflo a0 +0+0010 <[^>]*> li at,0 +0+0014 <[^>]*> mult a1,at +0+0018 <[^>]*> mflo a0 +0+001c <[^>]*> li at,1 +0+0020 <[^>]*> mult a1,at +0+0024 <[^>]*> mflo a0 +0+0028 <[^>]*> li at,0x8000 +0+002c <[^>]*> mult a1,at +0+0030 <[^>]*> mflo a0 +0+0034 <[^>]*> li at,-32768 +0+0038 <[^>]*> mult a1,at +0+003c <[^>]*> mflo a0 +0+0040 <[^>]*> lui at,0x1 +0+0044 <[^>]*> mult a1,at +0+0048 <[^>]*> mflo a0 +0+004c <[^>]*> lui at,0x1 +0+0050 <[^>]*> ori at,at,0xa5a5 +0+0054 <[^>]*> mult a1,at +0+0058 <[^>]*> mflo a0 +0+005c <[^>]*> mult a0,a1 +0+0060 <[^>]*> mflo a0 +0+0064 <[^>]*> sra a0,a0,0x1f +0+0068 <[^>]*> mfhi at +0+006c <[^>]*> beq a0,at,0+78 0+0070 <[^>]*> nop 0+0074 <[^>]*> break (0x0,0x6|0x6) -0+0078 <[^>]*> mflo \$a0 -0+007c <[^>]*> mult \$a1,\$a2 -0+0080 <[^>]*> mflo \$a0 -0+0084 <[^>]*> sra \$a0,\$a0,0x1f -0+0088 <[^>]*> mfhi \$at -0+008c <[^>]*> beq \$a0,\$at,0+98 +0+0078 <[^>]*> mflo a0 +0+007c <[^>]*> mult a1,a2 +0+0080 <[^>]*> mflo a0 +0+0084 <[^>]*> sra a0,a0,0x1f +0+0088 <[^>]*> mfhi at +0+008c <[^>]*> beq a0,at,0+98 0+0090 <[^>]*> nop 0+0094 <[^>]*> break (0x0,0x6|0x6) -0+0098 <[^>]*> mflo \$a0 -0+009c <[^>]*> multu \$a0,\$a1 -0+00a0 <[^>]*> mfhi \$at -0+00a4 <[^>]*> mflo \$a0 -0+00a8 <[^>]*> beqz \$at,0+b4 +0+0098 <[^>]*> mflo a0 +0+009c <[^>]*> multu a0,a1 +0+00a0 <[^>]*> mfhi at +0+00a4 <[^>]*> mflo a0 +0+00a8 <[^>]*> beqz at,0+b4 0+00ac <[^>]*> nop 0+00b0 <[^>]*> break (0x0,0x6|0x6) -0+00b4 <[^>]*> multu \$a1,\$a2 -0+00b8 <[^>]*> mfhi \$at -0+00bc <[^>]*> mflo \$a0 -0+00c0 <[^>]*> beqz \$at,0+cc +0+00b4 <[^>]*> multu a1,a2 +0+00b8 <[^>]*> mfhi at +0+00bc <[^>]*> mflo a0 +0+00c0 <[^>]*> beqz at,0+cc 0+00c4 <[^>]*> nop 0+00c8 <[^>]*> break (0x0,0x6|0x6) -0+00cc <[^>]*> dmultu \$a1,\$a2 -0+00d0 <[^>]*> mflo \$a0 -0+00d4 <[^>]*> li \$at,1 -0+00d8 <[^>]*> dmult \$a1,\$at -0+00dc <[^>]*> mflo \$a0 -0+00e0 <[^>]*> dmult \$a1,\$a2 -0+00e4 <[^>]*> mflo \$a0 -0+00e8 <[^>]*> dsra32 \$a0,\$a0,0x1f -0+00ec <[^>]*> mfhi \$at -0+00f0 <[^>]*> beq \$a0,\$at,0+fc +0+00cc <[^>]*> dmultu a1,a2 +0+00d0 <[^>]*> mflo a0 +0+00d4 <[^>]*> li at,1 +0+00d8 <[^>]*> dmult a1,at +0+00dc <[^>]*> mflo a0 +0+00e0 <[^>]*> dmult a1,a2 +0+00e4 <[^>]*> mflo a0 +0+00e8 <[^>]*> dsra32 a0,a0,0x1f +0+00ec <[^>]*> mfhi at +0+00f0 <[^>]*> beq a0,at,0+fc 0+00f4 <[^>]*> nop 0+00f8 <[^>]*> break (0x0,0x6|0x6) -0+00fc <[^>]*> mflo \$a0 -0+0100 <[^>]*> dmultu \$a1,\$a2 -0+0104 <[^>]*> mfhi \$at -0+0108 <[^>]*> mflo \$a0 -0+010c <[^>]*> beqz \$at,0+118 +0+00fc <[^>]*> mflo a0 +0+0100 <[^>]*> dmultu a1,a2 +0+0104 <[^>]*> mfhi at +0+0108 <[^>]*> mflo a0 +0+010c <[^>]*> beqz at,0+118 0+0110 <[^>]*> nop 0+0114 <[^>]*> break (0x0,0x6|0x6) ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/mul.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/mul.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/mul.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/mul.d Mon May 21 10:37:04 2001 @@ -7,86 +7,86 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> multu \$a0,\$a1 -0+0004 <[^>]*> mflo \$a0 +0+0000 <[^>]*> multu a0,a1 +0+0004 <[^>]*> mflo a0 ... -0+0010 <[^>]*> multu \$a1,\$a2 -0+0014 <[^>]*> mflo \$a0 -0+0018 <[^>]*> li \$at,0 +0+0010 <[^>]*> multu a1,a2 +0+0014 <[^>]*> mflo a0 +0+0018 <[^>]*> li at,0 0+001c <[^>]*> nop -0+0020 <[^>]*> mult \$a1,\$at -0+0024 <[^>]*> mflo \$a0 -0+0028 <[^>]*> li \$at,1 +0+0020 <[^>]*> mult a1,at +0+0024 <[^>]*> mflo a0 +0+0028 <[^>]*> li at,1 0+002c <[^>]*> nop -0+0030 <[^>]*> mult \$a1,\$at -0+0034 <[^>]*> mflo \$a0 -0+0038 <[^>]*> li \$at,0x8000 +0+0030 <[^>]*> mult a1,at +0+0034 <[^>]*> mflo a0 +0+0038 <[^>]*> li at,0x8000 0+003c <[^>]*> nop -0+0040 <[^>]*> mult \$a1,\$at -0+0044 <[^>]*> mflo \$a0 -0+0048 <[^>]*> li \$at,-32768 +0+0040 <[^>]*> mult a1,at +0+0044 <[^>]*> mflo a0 +0+0048 <[^>]*> li at,-32768 0+004c <[^>]*> nop -0+0050 <[^>]*> mult \$a1,\$at -0+0054 <[^>]*> mflo \$a0 -0+0058 <[^>]*> lui \$at,0x1 +0+0050 <[^>]*> mult a1,at +0+0054 <[^>]*> mflo a0 +0+0058 <[^>]*> lui at,0x1 0+005c <[^>]*> nop -0+0060 <[^>]*> mult \$a1,\$at -0+0064 <[^>]*> mflo \$a0 -0+0068 <[^>]*> lui \$at,0x1 -0+006c <[^>]*> ori \$at,\$at,0xa5a5 -0+0070 <[^>]*> mult \$a1,\$at -0+0074 <[^>]*> mflo \$a0 - ... -0+0080 <[^>]*> mult \$a0,\$a1 -0+0084 <[^>]*> mflo \$a0 -0+0088 <[^>]*> sra \$a0,\$a0,0x1f -0+008c <[^>]*> mfhi \$at -0+0090 <[^>]*> beq \$a0,\$at,0+9c +0+0060 <[^>]*> mult a1,at +0+0064 <[^>]*> mflo a0 +0+0068 <[^>]*> lui at,0x1 +0+006c <[^>]*> ori at,at,0xa5a5 +0+0070 <[^>]*> mult a1,at +0+0074 <[^>]*> mflo a0 + ... +0+0080 <[^>]*> mult a0,a1 +0+0084 <[^>]*> mflo a0 +0+0088 <[^>]*> sra a0,a0,0x1f +0+008c <[^>]*> mfhi at +0+0090 <[^>]*> beq a0,at,0+9c 0+0094 <[^>]*> nop 0+0098 <[^>]*> break (0x0,0x6|0x6) -0+009c <[^>]*> mflo \$a0 +0+009c <[^>]*> mflo a0 ... -0+00a8 <[^>]*> mult \$a1,\$a2 -0+00ac <[^>]*> mflo \$a0 -0+00b0 <[^>]*> sra \$a0,\$a0,0x1f -0+00b4 <[^>]*> mfhi \$at -0+00b8 <[^>]*> beq \$a0,\$at,0+c4 +0+00a8 <[^>]*> mult a1,a2 +0+00ac <[^>]*> mflo a0 +0+00b0 <[^>]*> sra a0,a0,0x1f +0+00b4 <[^>]*> mfhi at +0+00b8 <[^>]*> beq a0,at,0+c4 0+00bc <[^>]*> nop 0+00c0 <[^>]*> break (0x0,0x6|0x6) -0+00c4 <[^>]*> mflo \$a0 +0+00c4 <[^>]*> mflo a0 ... -0+00d0 <[^>]*> multu \$a0,\$a1 -0+00d4 <[^>]*> mfhi \$at -0+00d8 <[^>]*> mflo \$a0 -0+00dc <[^>]*> beqz \$at,0+e8 +0+00d0 <[^>]*> multu a0,a1 +0+00d4 <[^>]*> mfhi at +0+00d8 <[^>]*> mflo a0 +0+00dc <[^>]*> beqz at,0+e8 0+00e0 <[^>]*> nop 0+00e4 <[^>]*> break (0x0,0x6|0x6) -0+00e8 <[^>]*> multu \$a1,\$a2 -0+00ec <[^>]*> mfhi \$at -0+00f0 <[^>]*> mflo \$a0 -0+00f4 <[^>]*> beqz \$at,0+100 +0+00e8 <[^>]*> multu a1,a2 +0+00ec <[^>]*> mfhi at +0+00f0 <[^>]*> mflo a0 +0+00f4 <[^>]*> beqz at,0+100 0+00f8 <[^>]*> nop 0+00fc <[^>]*> break (0x0,0x6|0x6) -0+0100 <[^>]*> dmultu \$a1,\$a2 -0+0104 <[^>]*> mflo \$a0 -0+0108 <[^>]*> li \$at,1 +0+0100 <[^>]*> dmultu a1,a2 +0+0104 <[^>]*> mflo a0 +0+0108 <[^>]*> li at,1 0+010c <[^>]*> nop -0+0110 <[^>]*> dmult \$a1,\$at -0+0114 <[^>]*> mflo \$a0 +0+0110 <[^>]*> dmult a1,at +0+0114 <[^>]*> mflo a0 ... -0+0120 <[^>]*> dmult \$a1,\$a2 -0+0124 <[^>]*> mflo \$a0 -0+0128 <[^>]*> dsra32 \$a0,\$a0,0x1f -0+012c <[^>]*> mfhi \$at -0+0130 <[^>]*> beq \$a0,\$at,0+13c +0+0120 <[^>]*> dmult a1,a2 +0+0124 <[^>]*> mflo a0 +0+0128 <[^>]*> dsra32 a0,a0,0x1f +0+012c <[^>]*> mfhi at +0+0130 <[^>]*> beq a0,at,0+13c 0+0134 <[^>]*> nop 0+0138 <[^>]*> break (0x0,0x6|0x6) -0+013c <[^>]*> mflo \$a0 +0+013c <[^>]*> mflo a0 ... -0+0148 <[^>]*> dmultu \$a1,\$a2 -0+014c <[^>]*> mfhi \$at -0+0150 <[^>]*> mflo \$a0 -0+0154 <[^>]*> beqz \$at,0+160 +0+0148 <[^>]*> dmultu a1,a2 +0+014c <[^>]*> mfhi at +0+0150 <[^>]*> mflo a0 +0+0154 <[^>]*> beqz at,0+160 0+0158 <[^>]*> nop 0+015c <[^>]*> break (0x0,0x6|0x6) ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/nodelay.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/nodelay.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/nodelay.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/nodelay.d Mon May 21 10:37:04 2001 @@ -12,8 +12,8 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> mtc1 \$zero,\$f0 +0+0000 <[^>]*> mtc1 zero,\$f0 0+0004 <[^>]*> cvt.d.w \$f0,\$f0 -0+0008 <[^>]*> mtc1 \$zero,\$f1 +0+0008 <[^>]*> mtc1 zero,\$f1 0+000c <[^>]*> cvt.d.w \$f1,\$f1 ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/relax.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/relax.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/relax.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/relax.d Sat Jun 9 00:13:01 2001 @@ -0,0 +1,8 @@ +#objdump: -dr --prefix-addresses -mmips:4000 +#name: MIPS relax + +# Test relaxation. + +.*: +file format .*mips.* + +Disassembly of section .text: diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/relax.s binutils-2.11.90.0.15/gas/testsuite/gas/mips/relax.s --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/relax.s Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/relax.s Sat Jun 9 00:13:01 2001 @@ -0,0 +1,7 @@ +# Source file used to test relaxation. + + .text +foo: + move $2, $3 # just something + .space 0x20000 # to make a 128kb loop body + beq $2, $3, foo diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/rol.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/rol.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/rol.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/rol.d Mon May 21 10:37:04 2001 @@ -7,31 +7,31 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> negu \$at,\$a1 -0+0004 <[^>]*> srlv \$at,\$a0,\$at -0+0008 <[^>]*> sllv \$a0,\$a0,\$a1 -0+000c <[^>]*> or \$a0,\$a0,\$at -0+0010 <[^>]*> negu \$at,\$a2 -0+0014 <[^>]*> srlv \$at,\$a1,\$at -0+0018 <[^>]*> sllv \$a0,\$a1,\$a2 -0+001c <[^>]*> or \$a0,\$a0,\$at -0+0020 <[^>]*> sll \$at,\$a0,0x1 -0+0024 <[^>]*> srl \$a0,\$a0,0x1f -0+0028 <[^>]*> or \$a0,\$a0,\$at -0+002c <[^>]*> sll \$at,\$a1,0x1 -0+0030 <[^>]*> srl \$a0,\$a1,0x1f -0+0034 <[^>]*> or \$a0,\$a0,\$at -0+0038 <[^>]*> negu \$at,\$a1 -0+003c <[^>]*> sllv \$at,\$a0,\$at -0+0040 <[^>]*> srlv \$a0,\$a0,\$a1 -0+0044 <[^>]*> or \$a0,\$a0,\$at -0+0048 <[^>]*> negu \$at,\$a2 -0+004c <[^>]*> sllv \$at,\$a1,\$at -0+0050 <[^>]*> srlv \$a0,\$a1,\$a2 -0+0054 <[^>]*> or \$a0,\$a0,\$at -0+0058 <[^>]*> srl \$at,\$a0,0x1 -0+005c <[^>]*> sll \$a0,\$a0,0x1f -0+0060 <[^>]*> or \$a0,\$a0,\$at -0+0064 <[^>]*> srl \$at,\$a1,0x1 -0+0068 <[^>]*> sll \$a0,\$a1,0x1f -0+006c <[^>]*> or \$a0,\$a0,\$at +0+0000 <[^>]*> negu at,a1 +0+0004 <[^>]*> srlv at,a0,at +0+0008 <[^>]*> sllv a0,a0,a1 +0+000c <[^>]*> or a0,a0,at +0+0010 <[^>]*> negu at,a2 +0+0014 <[^>]*> srlv at,a1,at +0+0018 <[^>]*> sllv a0,a1,a2 +0+001c <[^>]*> or a0,a0,at +0+0020 <[^>]*> sll at,a0,0x1 +0+0024 <[^>]*> srl a0,a0,0x1f +0+0028 <[^>]*> or a0,a0,at +0+002c <[^>]*> sll at,a1,0x1 +0+0030 <[^>]*> srl a0,a1,0x1f +0+0034 <[^>]*> or a0,a0,at +0+0038 <[^>]*> negu at,a1 +0+003c <[^>]*> sllv at,a0,at +0+0040 <[^>]*> srlv a0,a0,a1 +0+0044 <[^>]*> or a0,a0,at +0+0048 <[^>]*> negu at,a2 +0+004c <[^>]*> sllv at,a1,at +0+0050 <[^>]*> srlv a0,a1,a2 +0+0054 <[^>]*> or a0,a0,at +0+0058 <[^>]*> srl at,a0,0x1 +0+005c <[^>]*> sll a0,a0,0x1f +0+0060 <[^>]*> or a0,a0,at +0+0064 <[^>]*> srl at,a1,0x1 +0+0068 <[^>]*> sll a0,a1,0x1f +0+006c <[^>]*> or a0,a0,at diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/sb.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/sb.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/sb.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/sb.d Mon May 21 10:37:05 2001 @@ -7,390 +7,390 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> sb \$a0,0\(\$zero\) -0+0004 <[^>]*> sb \$a0,1\(\$zero\) -0+0008 <[^>]*> lui \$at,0x1 -0+000c <[^>]*> sb \$a0,-32768\(\$at\) -0+0010 <[^>]*> sb \$a0,-32768\(\$zero\) -0+0014 <[^>]*> lui \$at,0x1 -0+0018 <[^>]*> sb \$a0,0\(\$at\) -0+001c <[^>]*> lui \$at,0x2 -0+0020 <[^>]*> sb \$a0,-23131\(\$at\) -0+0024 <[^>]*> sb \$a0,0\(\$a1\) -0+0028 <[^>]*> sb \$a0,1\(\$a1\) -0+002c <[^>]*> lui \$at,0x1 -0+0030 <[^>]*> addu \$at,\$at,\$a1 -0+0034 <[^>]*> sb \$a0,-32768\(\$at\) -0+0038 <[^>]*> sb \$a0,-32768\(\$a1\) -0+003c <[^>]*> lui \$at,0x1 -0+0040 <[^>]*> addu \$at,\$at,\$a1 -0+0044 <[^>]*> sb \$a0,0\(\$at\) -0+0048 <[^>]*> lui \$at,0x2 -0+004c <[^>]*> addu \$at,\$at,\$a1 -0+0050 <[^>]*> sb \$a0,-23131\(\$at\) -0+0054 <[^>]*> lui \$at,0x0 +0+0000 <[^>]*> sb a0,0\(zero\) +0+0004 <[^>]*> sb a0,1\(zero\) +0+0008 <[^>]*> lui at,0x1 +0+000c <[^>]*> sb a0,-32768\(at\) +0+0010 <[^>]*> sb a0,-32768\(zero\) +0+0014 <[^>]*> lui at,0x1 +0+0018 <[^>]*> sb a0,0\(at\) +0+001c <[^>]*> lui at,0x2 +0+0020 <[^>]*> sb a0,-23131\(at\) +0+0024 <[^>]*> sb a0,0\(a1\) +0+0028 <[^>]*> sb a0,1\(a1\) +0+002c <[^>]*> lui at,0x1 +0+0030 <[^>]*> addu at,at,a1 +0+0034 <[^>]*> sb a0,-32768\(at\) +0+0038 <[^>]*> sb a0,-32768\(a1\) +0+003c <[^>]*> lui at,0x1 +0+0040 <[^>]*> addu at,at,a1 +0+0044 <[^>]*> sb a0,0\(at\) +0+0048 <[^>]*> lui at,0x2 +0+004c <[^>]*> addu at,at,a1 +0+0050 <[^>]*> sb a0,-23131\(at\) +0+0054 <[^>]*> lui at,0x0 [ ]*54: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0058 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0058 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*58: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+005c <[^>]*> lui \$at,0x0 +0+005c <[^>]*> lui at,0x0 [ ]*5c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0060 <[^>]*> sb \$a0,0\(\$at\) +0+0060 <[^>]*> sb a0,0\(at\) [ ]*60: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0064 <[^>]*> sb \$a0,0\(\$gp\) +0+0064 <[^>]*> sb a0,0\(gp\) [ ]*64: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0068 <[^>]*> lui \$at,0x0 +0+0068 <[^>]*> lui at,0x0 [ ]*68: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+006c <[^>]*> sb \$a0,0\(\$at\) +0+006c <[^>]*> sb a0,0\(at\) [ ]*6c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0070 <[^>]*> sb \$a0,0\(\$gp\) +0+0070 <[^>]*> sb a0,0\(gp\) [ ]*70: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0074 <[^>]*> lui \$at,0x0 +0+0074 <[^>]*> lui at,0x0 [ ]*74: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0078 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0078 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*78: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+007c <[^>]*> sb \$a0,[-0-9]+\(\$gp\) +0+007c <[^>]*> sb a0,[-0-9]+\(gp\) [ ]*7c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0080 <[^>]*> lui \$at,0x0 +0+0080 <[^>]*> lui at,0x0 [ ]*80: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0084 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0084 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*84: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0088 <[^>]*> lui \$at,0x0 +0+0088 <[^>]*> lui at,0x0 [ ]*88: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+008c <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+008c <[^>]*> sb a0,[-0-9]+\(at\) [ ]*8c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0090 <[^>]*> sb \$a0,1\(\$gp\) +0+0090 <[^>]*> sb a0,1\(gp\) [ ]*90: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0094 <[^>]*> lui \$at,0x0 +0+0094 <[^>]*> lui at,0x0 [ ]*94: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0098 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0098 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*98: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+009c <[^>]*> sb \$a0,1\(\$gp\) +0+009c <[^>]*> sb a0,1\(gp\) [ ]*9c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00a0 <[^>]*> lui \$at,0x0 +0+00a0 <[^>]*> lui at,0x0 [ ]*a0: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+00a4 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+00a4 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*a4: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00a8 <[^>]*> sb \$a0,[-0-9]+\(\$gp\) +0+00a8 <[^>]*> sb a0,[-0-9]+\(gp\) [ ]*a8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00ac <[^>]*> lui \$at,[-0-9x]+ +0+00ac <[^>]*> lui at,[-0-9x]+ [ ]*ac: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+00b0 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+00b0 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*b0: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00b4 <[^>]*> lui \$at,[-0-9x]+ +0+00b4 <[^>]*> lui at,[-0-9x]+ [ ]*b4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00b8 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+00b8 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*b8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00bc <[^>]*> lui \$at,[-0-9x]+ +0+00bc <[^>]*> lui at,[-0-9x]+ [ ]*bc: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+00c0 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+00c0 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*c0: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+00c4 <[^>]*> lui \$at,[-0-9x]+ +0+00c4 <[^>]*> lui at,[-0-9x]+ [ ]*c4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00c8 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+00c8 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*c8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00cc <[^>]*> lui \$at,[-0-9x]+ +0+00cc <[^>]*> lui at,[-0-9x]+ [ ]*cc: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+00d0 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+00d0 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*d0: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+00d4 <[^>]*> lui \$at,[-0-9x]+ +0+00d4 <[^>]*> lui at,[-0-9x]+ [ ]*d4: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+00d8 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+00d8 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*d8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00dc <[^>]*> lui \$at,[-0-9x]+ +0+00dc <[^>]*> lui at,[-0-9x]+ [ ]*dc: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+00e0 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+00e0 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*e0: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+00e4 <[^>]*> lui \$at,0x0 +0+00e4 <[^>]*> lui at,0x0 [ ]*e4: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+00e8 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+00e8 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*e8: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00ec <[^>]*> lui \$at,0x0 +0+00ec <[^>]*> lui at,0x0 [ ]*ec: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00f0 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+00f0 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*f0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00f4 <[^>]*> lui \$at,0x0 +0+00f4 <[^>]*> lui at,0x0 [ ]*f4: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+00f8 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+00f8 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*f8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+00fc <[^>]*> lui \$at,0x0 +0+00fc <[^>]*> lui at,0x0 [ ]*fc: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0100 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0100 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*100: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0104 <[^>]*> lui \$at,0x0 +0+0104 <[^>]*> lui at,0x0 [ ]*104: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0108 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0108 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*108: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+010c <[^>]*> lui \$at,0x0 +0+010c <[^>]*> lui at,0x0 [ ]*10c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0110 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0110 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*110: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0114 <[^>]*> lui \$at,0x0 +0+0114 <[^>]*> lui at,0x0 [ ]*114: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0118 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0118 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*118: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+011c <[^>]*> lui \$at,[-0-9x]+ +0+011c <[^>]*> lui at,[-0-9x]+ [ ]*11c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0120 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0120 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*120: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0124 <[^>]*> lui \$at,[-0-9x]+ +0+0124 <[^>]*> lui at,[-0-9x]+ [ ]*124: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0128 <[^>]*> sb \$a0,0\(\$at\) +0+0128 <[^>]*> sb a0,0\(at\) [ ]*128: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+012c <[^>]*> lui \$at,[-0-9x]+ +0+012c <[^>]*> lui at,[-0-9x]+ [ ]*12c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0130 <[^>]*> sb \$a0,0\(\$at\) +0+0130 <[^>]*> sb a0,0\(at\) [ ]*130: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0134 <[^>]*> lui \$at,[-0-9x]+ +0+0134 <[^>]*> lui at,[-0-9x]+ [ ]*134: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0138 <[^>]*> sb \$a0,0\(\$at\) +0+0138 <[^>]*> sb a0,0\(at\) [ ]*138: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+013c <[^>]*> lui \$at,[-0-9x]+ +0+013c <[^>]*> lui at,[-0-9x]+ [ ]*13c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0140 <[^>]*> sb \$a0,0\(\$at\) +0+0140 <[^>]*> sb a0,0\(at\) [ ]*140: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0144 <[^>]*> lui \$at,[-0-9x]+ +0+0144 <[^>]*> lui at,[-0-9x]+ [ ]*144: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0148 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0148 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*148: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+014c <[^>]*> lui \$at,[-0-9x]+ +0+014c <[^>]*> lui at,[-0-9x]+ [ ]*14c: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0150 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0150 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*150: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0154 <[^>]*> lui \$at,[-0-9x]+ +0+0154 <[^>]*> lui at,[-0-9x]+ [ ]*154: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0158 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0158 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*158: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+015c <[^>]*> lui \$at,[-0-9x]+ +0+015c <[^>]*> lui at,[-0-9x]+ [ ]*15c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0160 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0160 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*160: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0164 <[^>]*> lui \$at,[-0-9x]+ +0+0164 <[^>]*> lui at,[-0-9x]+ [ ]*164: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0168 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0168 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*168: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+016c <[^>]*> lui \$at,[-0-9x]+ +0+016c <[^>]*> lui at,[-0-9x]+ [ ]*16c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0170 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0170 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*170: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0174 <[^>]*> lui \$at,[-0-9x]+ +0+0174 <[^>]*> lui at,[-0-9x]+ [ ]*174: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0178 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0178 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*178: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+017c <[^>]*> lui \$at,[-0-9x]+ +0+017c <[^>]*> lui at,[-0-9x]+ [ ]*17c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0180 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0180 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*180: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0184 <[^>]*> lui \$at,[-0-9x]+ +0+0184 <[^>]*> lui at,[-0-9x]+ [ ]*184: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0188 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0188 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*188: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+018c <[^>]*> lui \$at,0x0 +0+018c <[^>]*> lui at,0x0 [ ]*18c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0190 <[^>]*> addu \$at,\$at,\$a1 -0+0194 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0190 <[^>]*> addu at,at,a1 +0+0194 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*194: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0198 <[^>]*> lui \$at,0x0 +0+0198 <[^>]*> lui at,0x0 [ ]*198: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+019c <[^>]*> addu \$at,\$at,\$a1 -0+01a0 <[^>]*> sb \$a0,0\(\$at\) +0+019c <[^>]*> addu at,at,a1 +0+01a0 <[^>]*> sb a0,0\(at\) [ ]*1a0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01a4 <[^>]*> addu \$at,\$a1,\$gp -0+01a8 <[^>]*> sb \$a0,0\(\$at\) +0+01a4 <[^>]*> addu at,a1,gp +0+01a8 <[^>]*> sb a0,0\(at\) [ ]*1a8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+01ac <[^>]*> lui \$at,0x0 +0+01ac <[^>]*> lui at,0x0 [ ]*1ac: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+01b0 <[^>]*> addu \$at,\$at,\$a1 -0+01b4 <[^>]*> sb \$a0,0\(\$at\) +0+01b0 <[^>]*> addu at,at,a1 +0+01b4 <[^>]*> sb a0,0\(at\) [ ]*1b4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01b8 <[^>]*> addu \$at,\$a1,\$gp -0+01bc <[^>]*> sb \$a0,0\(\$at\) +0+01b8 <[^>]*> addu at,a1,gp +0+01bc <[^>]*> sb a0,0\(at\) [ ]*1bc: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+01c0 <[^>]*> lui \$at,0x0 +0+01c0 <[^>]*> lui at,0x0 [ ]*1c0: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+01c4 <[^>]*> addu \$at,\$at,\$a1 -0+01c8 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+01c4 <[^>]*> addu at,at,a1 +0+01c8 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*1c8: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+01cc <[^>]*> addu \$at,\$a1,\$gp -0+01d0 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+01cc <[^>]*> addu at,a1,gp +0+01d0 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*1d0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+01d4 <[^>]*> lui \$at,0x0 +0+01d4 <[^>]*> lui at,0x0 [ ]*1d4: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+01d8 <[^>]*> addu \$at,\$at,\$a1 -0+01dc <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+01d8 <[^>]*> addu at,at,a1 +0+01dc <[^>]*> sb a0,[-0-9]+\(at\) [ ]*1dc: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+01e0 <[^>]*> lui \$at,0x0 +0+01e0 <[^>]*> lui at,0x0 [ ]*1e0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+01e4 <[^>]*> addu \$at,\$at,\$a1 -0+01e8 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+01e4 <[^>]*> addu at,at,a1 +0+01e8 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*1e8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01ec <[^>]*> addu \$at,\$a1,\$gp -0+01f0 <[^>]*> sb \$a0,1\(\$at\) +0+01ec <[^>]*> addu at,a1,gp +0+01f0 <[^>]*> sb a0,1\(at\) [ ]*1f0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+01f4 <[^>]*> lui \$at,0x0 +0+01f4 <[^>]*> lui at,0x0 [ ]*1f4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+01f8 <[^>]*> addu \$at,\$at,\$a1 -0+01fc <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+01f8 <[^>]*> addu at,at,a1 +0+01fc <[^>]*> sb a0,[-0-9]+\(at\) [ ]*1fc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0200 <[^>]*> addu \$at,\$a1,\$gp -0+0204 <[^>]*> sb \$a0,1\(\$at\) +0+0200 <[^>]*> addu at,a1,gp +0+0204 <[^>]*> sb a0,1\(at\) [ ]*204: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0208 <[^>]*> lui \$at,0x0 +0+0208 <[^>]*> lui at,0x0 [ ]*208: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+020c <[^>]*> addu \$at,\$at,\$a1 -0+0210 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+020c <[^>]*> addu at,at,a1 +0+0210 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*210: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0214 <[^>]*> addu \$at,\$a1,\$gp -0+0218 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0214 <[^>]*> addu at,a1,gp +0+0218 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*218: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+021c <[^>]*> lui \$at,[-0-9x]+ +0+021c <[^>]*> lui at,[-0-9x]+ [ ]*21c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0220 <[^>]*> addu \$at,\$at,\$a1 -0+0224 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0220 <[^>]*> addu at,at,a1 +0+0224 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*224: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0228 <[^>]*> lui \$at,[-0-9x]+ +0+0228 <[^>]*> lui at,[-0-9x]+ [ ]*228: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+022c <[^>]*> addu \$at,\$at,\$a1 -0+0230 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+022c <[^>]*> addu at,at,a1 +0+0230 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*230: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0234 <[^>]*> lui \$at,[-0-9x]+ +0+0234 <[^>]*> lui at,[-0-9x]+ [ ]*234: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0238 <[^>]*> addu \$at,\$at,\$a1 -0+023c <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0238 <[^>]*> addu at,at,a1 +0+023c <[^>]*> sb a0,[-0-9]+\(at\) [ ]*23c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0240 <[^>]*> lui \$at,[-0-9x]+ +0+0240 <[^>]*> lui at,[-0-9x]+ [ ]*240: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0244 <[^>]*> addu \$at,\$at,\$a1 -0+0248 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0244 <[^>]*> addu at,at,a1 +0+0248 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*248: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+024c <[^>]*> lui \$at,[-0-9x]+ +0+024c <[^>]*> lui at,[-0-9x]+ [ ]*24c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0250 <[^>]*> addu \$at,\$at,\$a1 -0+0254 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0250 <[^>]*> addu at,at,a1 +0+0254 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*254: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0258 <[^>]*> lui \$at,[-0-9x]+ +0+0258 <[^>]*> lui at,[-0-9x]+ [ ]*258: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+025c <[^>]*> addu \$at,\$at,\$a1 -0+0260 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+025c <[^>]*> addu at,at,a1 +0+0260 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*260: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0264 <[^>]*> lui \$at,[-0-9x]+ +0+0264 <[^>]*> lui at,[-0-9x]+ [ ]*264: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0268 <[^>]*> addu \$at,\$at,\$a1 -0+026c <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0268 <[^>]*> addu at,at,a1 +0+026c <[^>]*> sb a0,[-0-9]+\(at\) [ ]*26c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0270 <[^>]*> lui \$at,0x0 +0+0270 <[^>]*> lui at,0x0 [ ]*270: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0274 <[^>]*> addu \$at,\$at,\$a1 -0+0278 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0274 <[^>]*> addu at,at,a1 +0+0278 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*278: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+027c <[^>]*> lui \$at,0x0 +0+027c <[^>]*> lui at,0x0 [ ]*27c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0280 <[^>]*> addu \$at,\$at,\$a1 -0+0284 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0280 <[^>]*> addu at,at,a1 +0+0284 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*284: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0288 <[^>]*> lui \$at,0x0 +0+0288 <[^>]*> lui at,0x0 [ ]*288: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+028c <[^>]*> addu \$at,\$at,\$a1 -0+0290 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+028c <[^>]*> addu at,at,a1 +0+0290 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*290: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0294 <[^>]*> lui \$at,0x0 +0+0294 <[^>]*> lui at,0x0 [ ]*294: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0298 <[^>]*> addu \$at,\$at,\$a1 -0+029c <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0298 <[^>]*> addu at,at,a1 +0+029c <[^>]*> sb a0,[-0-9]+\(at\) [ ]*29c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+02a0 <[^>]*> lui \$at,0x0 +0+02a0 <[^>]*> lui at,0x0 [ ]*2a0: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+02a4 <[^>]*> addu \$at,\$at,\$a1 -0+02a8 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+02a4 <[^>]*> addu at,at,a1 +0+02a8 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*2a8: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+02ac <[^>]*> lui \$at,0x0 +0+02ac <[^>]*> lui at,0x0 [ ]*2ac: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+02b0 <[^>]*> addu \$at,\$at,\$a1 -0+02b4 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+02b0 <[^>]*> addu at,at,a1 +0+02b4 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*2b4: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+02b8 <[^>]*> lui \$at,0x0 +0+02b8 <[^>]*> lui at,0x0 [ ]*2b8: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+02bc <[^>]*> addu \$at,\$at,\$a1 -0+02c0 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+02bc <[^>]*> addu at,at,a1 +0+02c0 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*2c0: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+02c4 <[^>]*> lui \$at,[-0-9x]+ +0+02c4 <[^>]*> lui at,[-0-9x]+ [ ]*2c4: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+02c8 <[^>]*> addu \$at,\$at,\$a1 -0+02cc <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+02c8 <[^>]*> addu at,at,a1 +0+02cc <[^>]*> sb a0,[-0-9]+\(at\) [ ]*2cc: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+02d0 <[^>]*> lui \$at,[-0-9x]+ +0+02d0 <[^>]*> lui at,[-0-9x]+ [ ]*2d0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+02d4 <[^>]*> addu \$at,\$at,\$a1 -0+02d8 <[^>]*> sb \$a0,0\(\$at\) +0+02d4 <[^>]*> addu at,at,a1 +0+02d8 <[^>]*> sb a0,0\(at\) [ ]*2d8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+02dc <[^>]*> lui \$at,[-0-9x]+ +0+02dc <[^>]*> lui at,[-0-9x]+ [ ]*2dc: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+02e0 <[^>]*> addu \$at,\$at,\$a1 -0+02e4 <[^>]*> sb \$a0,0\(\$at\) +0+02e0 <[^>]*> addu at,at,a1 +0+02e4 <[^>]*> sb a0,0\(at\) [ ]*2e4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+02e8 <[^>]*> lui \$at,[-0-9x]+ +0+02e8 <[^>]*> lui at,[-0-9x]+ [ ]*2e8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+02ec <[^>]*> addu \$at,\$at,\$a1 -0+02f0 <[^>]*> sb \$a0,0\(\$at\) +0+02ec <[^>]*> addu at,at,a1 +0+02f0 <[^>]*> sb a0,0\(at\) [ ]*2f0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+02f4 <[^>]*> lui \$at,[-0-9x]+ +0+02f4 <[^>]*> lui at,[-0-9x]+ [ ]*2f4: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+02f8 <[^>]*> addu \$at,\$at,\$a1 -0+02fc <[^>]*> sb \$a0,0\(\$at\) +0+02f8 <[^>]*> addu at,at,a1 +0+02fc <[^>]*> sb a0,0\(at\) [ ]*2fc: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0300 <[^>]*> lui \$at,[-0-9x]+ +0+0300 <[^>]*> lui at,[-0-9x]+ [ ]*300: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0304 <[^>]*> addu \$at,\$at,\$a1 -0+0308 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0304 <[^>]*> addu at,at,a1 +0+0308 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*308: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+030c <[^>]*> lui \$at,[-0-9x]+ +0+030c <[^>]*> lui at,[-0-9x]+ [ ]*30c: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0310 <[^>]*> addu \$at,\$at,\$a1 -0+0314 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0310 <[^>]*> addu at,at,a1 +0+0314 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*314: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0318 <[^>]*> lui \$at,[-0-9x]+ +0+0318 <[^>]*> lui at,[-0-9x]+ [ ]*318: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+031c <[^>]*> addu \$at,\$at,\$a1 -0+0320 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+031c <[^>]*> addu at,at,a1 +0+0320 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*320: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0324 <[^>]*> lui \$at,[-0-9x]+ +0+0324 <[^>]*> lui at,[-0-9x]+ [ ]*324: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0328 <[^>]*> addu \$at,\$at,\$a1 -0+032c <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0328 <[^>]*> addu at,at,a1 +0+032c <[^>]*> sb a0,[-0-9]+\(at\) [ ]*32c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0330 <[^>]*> lui \$at,[-0-9x]+ +0+0330 <[^>]*> lui at,[-0-9x]+ [ ]*330: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0334 <[^>]*> addu \$at,\$at,\$a1 -0+0338 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0334 <[^>]*> addu at,at,a1 +0+0338 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*338: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+033c <[^>]*> lui \$at,[-0-9x]+ +0+033c <[^>]*> lui at,[-0-9x]+ [ ]*33c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0340 <[^>]*> addu \$at,\$at,\$a1 -0+0344 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0340 <[^>]*> addu at,at,a1 +0+0344 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*344: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0348 <[^>]*> lui \$at,[-0-9x]+ +0+0348 <[^>]*> lui at,[-0-9x]+ [ ]*348: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+034c <[^>]*> addu \$at,\$at,\$a1 -0+0350 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+034c <[^>]*> addu at,at,a1 +0+0350 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*350: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0354 <[^>]*> lui \$at,[-0-9x]+ +0+0354 <[^>]*> lui at,[-0-9x]+ [ ]*354: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0358 <[^>]*> addu \$at,\$at,\$a1 -0+035c <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0358 <[^>]*> addu at,at,a1 +0+035c <[^>]*> sb a0,[-0-9]+\(at\) [ ]*35c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0360 <[^>]*> lui \$at,[-0-9x]+ +0+0360 <[^>]*> lui at,[-0-9x]+ [ ]*360: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0364 <[^>]*> addu \$at,\$at,\$a1 -0+0368 <[^>]*> sb \$a0,[-0-9]+\(\$at\) +0+0364 <[^>]*> addu at,at,a1 +0+0368 <[^>]*> sb a0,[-0-9]+\(at\) [ ]*368: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+036c <[^>]*> sw \$a0,0\(\$zero\) -0+0370 <[^>]*> sw \$a1,4\(\$zero\) -0+0374 <[^>]*> sh \$a0,0\(\$zero\) -0+0378 <[^>]*> sw \$a0,0\(\$zero\) -0+037c <[^>]*> swc0 \$4,0\(\$zero\) -0+0380 <[^>]*> swc1 \$f4,0\(\$zero\) -0+0384 <[^>]*> swc2 \$4,0\(\$zero\) -0+0388 <[^>]*> swc3 \$4,0\(\$zero\) -0+038c <[^>]*> swc1 \$f4,0\(\$zero\) -0+0390 <[^>]*> swl \$a0,0\(\$zero\) -0+0394 <[^>]*> swr \$a0,0\(\$zero\) +0+036c <[^>]*> sw a0,0\(zero\) +0+0370 <[^>]*> sw a1,4\(zero\) +0+0374 <[^>]*> sh a0,0\(zero\) +0+0378 <[^>]*> sw a0,0\(zero\) +0+037c <[^>]*> swc0 a0,0\(zero\) +0+0380 <[^>]*> swc1 \$f4,0\(zero\) +0+0384 <[^>]*> swc2 a0,0\(zero\) +0+0388 <[^>]*> swc3 a0,0\(zero\) +0+038c <[^>]*> swc1 \$f4,0\(zero\) +0+0390 <[^>]*> swl a0,0\(zero\) +0+0394 <[^>]*> swr a0,0\(zero\) ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/sync.s binutils-2.11.90.0.15/gas/testsuite/gas/mips/sync.s --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/sync.s Tue Mar 27 08:49:05 2001 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/sync.s Sat Jun 9 00:13:01 2001 @@ -4,6 +4,7 @@ foo: sync sync.p sync.l + .end foo # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... .space 8 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/telempic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/telempic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/telempic.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/telempic.d Sat Jun 9 00:13:01 2001 @@ -0,0 +1,153 @@ +#objdump: -rst -mmips:4000 +#name: MIPS empic +#as: -membedded-pic -mips3 +#source: empic.s + +# Check GNU-specific embedded relocs, for ELF. + +.*: +file format elf.*mips.* + +SYMBOL TABLE: +0+0000000 l d \.text 0+0000000 +0+0000000 l d \.data 0+0000000 +0+0000000 l d \.bss 0+0000000 +0+0000004 l \.text 0+0000000 l2 +0+0000100 l \.foo 0+0000000 l1 +0+0000034 l \.text 0+0000000 l3 +0+0000098 l \.text 0+0000000 l5 +0+0000000 l d \.foo 0+0000000 +0+0000004 l \.foo 0+0000000 l4 +0+0000000 l d \.reginfo 0+0000000 +0+0000000 l d \.(mdebug|pdr) 0+0000000 +0+0000000 \*UND\* 0+0000000 g1 +0+0000000 \*UND\* 0+0000000 g2 + + +RELOCATION RECORDS FOR \[\.text\]: +OFFSET TYPE VALUE +0+0000004 R_MIPS_GNU_REL16_S2 g1 +0+000000c R_MIPS_GNU_REL16_S2 g2 +0+0000014 R_MIPS_GNU_REL16_S2 g2 +0+000001c R_MIPS_GNU_REL16_S2 \.foo +0+0000024 R_MIPS_GNU_REL16_S2 \.text +0+000002c R_MIPS_GNU_REL16_S2 \.foo +0+0000034 R_MIPS_GNU_REL16_S2 \.text +0+000003c R_MIPS_GNU_REL_HI16 g1 +0+0000040 R_MIPS_GNU_REL_LO16 g1 +0+0000044 R_MIPS_GNU_REL_HI16 \.foo +0+0000048 R_MIPS_GNU_REL_LO16 \.foo +0+0000050 R_MIPS_32 g1 +0+0000054 R_MIPS_32 \.foo +0+0000058 R_MIPS_32 \.text +0+000005c R_MIPS_PC32 g1 +0+0000060 R_MIPS_PC32 \.foo +0+0000068 R_MIPS_64 g1 +0+0000070 R_MIPS_64 \.foo +0+0000078 R_MIPS_64 \.text +0+0000080 R_MIPS_PC64 g1 +0+0000088 R_MIPS_PC64 \.foo +0+0000098 R_MIPS_GNU_REL16_S2 \.text +0+000009c R_MIPS_GNU_REL16_S2 \.text +0+00000a0 R_MIPS_GNU_REL_HI16 \.text +0+00000a4 R_MIPS_GNU_REL_LO16 \.text +0+00000a8 R_MIPS_GNU_REL_HI16 \.text +0+00000ac R_MIPS_GNU_REL_LO16 \.text +0+00000b0 R_MIPS_32 \.text +0+00000b8 R_MIPS_64 \.text +0+00000cc R_MIPS_GNU_REL16_S2 \.text +0+00000d0 R_MIPS_GNU_REL16_S2 \.text +0+00000dc R_MIPS_32 \.text +0+00000e8 R_MIPS_64 \.text + + +RELOCATION RECORDS FOR \[\.foo\]: +OFFSET TYPE VALUE +0+0000004 R_MIPS_GNU_REL_HI16 g1 +0+0000008 R_MIPS_GNU_REL_LO16 g1 +0+000000c R_MIPS_GNU_REL_HI16 \.foo +0+0000010 R_MIPS_GNU_REL_LO16 \.foo +0+0000014 R_MIPS_GNU_REL_HI16 \.text +0+0000018 R_MIPS_GNU_REL_LO16 \.text +0+000001c R_MIPS_GNU_REL_HI16 g1 +0+0000020 R_MIPS_GNU_REL_LO16 g1 +0+0000024 R_MIPS_GNU_REL_HI16 g1 +0+0000028 R_MIPS_GNU_REL_LO16 g1 +0+000002c R_MIPS_GNU_REL_HI16 \.foo +0+0000030 R_MIPS_GNU_REL_LO16 \.foo +0+0000034 R_MIPS_GNU_REL_HI16 \.text +0+0000038 R_MIPS_GNU_REL_LO16 \.text +0+000003c R_MIPS_32 g1 +0+0000040 R_MIPS_32 \.foo +0+0000044 R_MIPS_32 \.text +0+0000048 R_MIPS_PC32 g1 +0+0000050 R_MIPS_PC32 \.text +0+0000058 R_MIPS_64 g1 +0+0000060 R_MIPS_64 \.foo +0+0000068 R_MIPS_64 \.text +0+0000070 R_MIPS_PC64 g1 +0+0000080 R_MIPS_PC64 \.text +0+0000088 R_MIPS_GNU_REL_HI16 g1 +0+000008c R_MIPS_GNU_REL_LO16 g1 +0+0000090 R_MIPS_GNU_REL_HI16 \.foo +0+0000094 R_MIPS_GNU_REL_LO16 \.foo +0+0000098 R_MIPS_GNU_REL_HI16 \.text +0+000009c R_MIPS_GNU_REL_LO16 \.text +0+00000a0 R_MIPS_GNU_REL_HI16 g1 +0+00000a4 R_MIPS_GNU_REL_LO16 g1 +0+00000a8 R_MIPS_GNU_REL_HI16 \.foo +0+00000ac R_MIPS_GNU_REL_LO16 \.foo +0+00000b0 R_MIPS_GNU_REL_HI16 \.text +0+00000b4 R_MIPS_GNU_REL_LO16 \.text +0+00000b8 R_MIPS_32 g1 +0+00000bc R_MIPS_32 \.foo +0+00000c0 R_MIPS_32 \.text +0+00000c4 R_MIPS_PC32 g1 +0+00000cc R_MIPS_PC32 \.text +0+00000d0 R_MIPS_64 g1 +0+00000d8 R_MIPS_64 \.foo +0+00000e0 R_MIPS_64 \.text +0+00000e8 R_MIPS_PC64 g1 +0+00000f8 R_MIPS_PC64 \.text + +Contents of section \.text: + 0000 00000000 ffff1104 00000000 ffff0010 .* + 0010 00000000 ffff0010 00000000 3f001104 .* + 0020 00000000 00001104 00000000 41000010 .* + 0030 00000000 00000010 00000000 0000033c .* + 0040 0c0063[26]4 0000033c 140163[26]4 d0ff0324 .* + 0050 00000000 00010000 04000000 28000000 .* + 0060 2c010000 d0ffffff 00000000 00000000 .* + 0070 00010000 00000000 04000000 00000000 .* + 0080 4c000000 00000000 54010000 00000000 .* + 0090 d0ffffff ffffffff 32000010 33000010 .* + 00a0 0000033c d80063[26]4 0000033c e80063[26]4 .* + 00b0 cc000000 34000000 cc000000 00000000 .* + 00c0 34000000 00000000 00000000 32000010 .* + 00d0 33000010 34000324 3c000324 cc000000 .* + 00e0 34000000 00000000 cc000000 00000000 .* + 00f0 34000000 00000000 00000000 00000000 .* +Contents of section \.data: +Contents of section \.reginfo: + 0000 08000080 00000000 00000000 00000000 .* + 0010 00000000 00000000 .* +Contents of section \.(mdebug|pdr): +#... +Contents of section \.foo: + 0000 00000000 0000033c 040063[26]4 0000033c .* + 0010 0c0163[26]4 0000033c 180063[26]4 0000033c .* + 0020 1c0063[26]4 0000033c 240063[26]4 0000033c .* + 0030 2c0163[26]4 0000033c 380063[26]4 00000000 .* + 0040 00010000 04000000 44000000 fc000000 .* + 0050 50000000 00000000 00000000 00000000 .* + 0060 00010000 00000000 04000000 00000000 .* + 0070 6c000000 00000000 fc000000 00000000 .* + 0080 80000000 00000000 0000033c 8c0063[26]4 .* + 0090 0000033c 940163[26]4 0000033c a00063[26]4 .* + 00a0 0000033c a40063[26]4 0000033c ac0163[26]4 .* + 00b0 0000033c b80063[26]4 04000000 04010000 .* + 00c0 08000000 c4000000 00010000 d0000000 .* + 00d0 04000000 00000000 04010000 00000000 .* + 00e0 08000000 00000000 e8000000 00000000 .* + 00f0 00010000 00000000 fc000000 00000000 .* + 0100 00000000 00000000 00000000 00000000 .* + diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/tempic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/tempic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/tempic.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/tempic.d Sat Jun 9 00:13:01 2001 @@ -0,0 +1,153 @@ +#objdump: -rst -mmips:4000 +#name: MIPS empic +#as: -membedded-pic -mips3 +#source: empic.s + +# Check GNU-specific embedded relocs, for ELF. + +.*: +file format elf.*mips.* + +SYMBOL TABLE: +0+0000000 l d \.text 0+0000000 +0+0000000 l d \.data 0+0000000 +0+0000000 l d \.bss 0+0000000 +0+0000004 l \.text 0+0000000 l2 +0+0000100 l \.foo 0+0000000 l1 +0+0000034 l \.text 0+0000000 l3 +0+0000098 l \.text 0+0000000 l5 +0+0000000 l d \.foo 0+0000000 +0+0000004 l \.foo 0+0000000 l4 +0+0000000 l d \.reginfo 0+0000000 +0+0000000 l d \.(mdebug|pdr) 0+0000000 +0+0000000 \*UND\* 0+0000000 g1 +0+0000000 \*UND\* 0+0000000 g2 + + +RELOCATION RECORDS FOR \[\.text\]: +OFFSET TYPE VALUE +0+0000004 R_MIPS_GNU_REL16_S2 g1 +0+000000c R_MIPS_GNU_REL16_S2 g2 +0+0000014 R_MIPS_GNU_REL16_S2 g2 +0+000001c R_MIPS_GNU_REL16_S2 \.foo +0+0000024 R_MIPS_GNU_REL16_S2 \.text +0+000002c R_MIPS_GNU_REL16_S2 \.foo +0+0000034 R_MIPS_GNU_REL16_S2 \.text +0+000003c R_MIPS_GNU_REL_HI16 g1 +0+0000040 R_MIPS_GNU_REL_LO16 g1 +0+0000044 R_MIPS_GNU_REL_HI16 \.foo +0+0000048 R_MIPS_GNU_REL_LO16 \.foo +0+0000050 R_MIPS_32 g1 +0+0000054 R_MIPS_32 \.foo +0+0000058 R_MIPS_32 \.text +0+000005c R_MIPS_PC32 g1 +0+0000060 R_MIPS_PC32 \.foo +0+0000068 R_MIPS_64 g1 +0+0000070 R_MIPS_64 \.foo +0+0000078 R_MIPS_64 \.text +0+0000080 R_MIPS_PC64 g1 +0+0000088 R_MIPS_PC64 \.foo +0+0000098 R_MIPS_GNU_REL16_S2 \.text +0+000009c R_MIPS_GNU_REL16_S2 \.text +0+00000a0 R_MIPS_GNU_REL_HI16 \.text +0+00000a4 R_MIPS_GNU_REL_LO16 \.text +0+00000a8 R_MIPS_GNU_REL_HI16 \.text +0+00000ac R_MIPS_GNU_REL_LO16 \.text +0+00000b0 R_MIPS_32 \.text +0+00000b8 R_MIPS_64 \.text +0+00000cc R_MIPS_GNU_REL16_S2 \.text +0+00000d0 R_MIPS_GNU_REL16_S2 \.text +0+00000dc R_MIPS_32 \.text +0+00000e8 R_MIPS_64 \.text + + +RELOCATION RECORDS FOR \[\.foo\]: +OFFSET TYPE VALUE +0+0000004 R_MIPS_GNU_REL_HI16 g1 +0+0000008 R_MIPS_GNU_REL_LO16 g1 +0+000000c R_MIPS_GNU_REL_HI16 \.foo +0+0000010 R_MIPS_GNU_REL_LO16 \.foo +0+0000014 R_MIPS_GNU_REL_HI16 \.text +0+0000018 R_MIPS_GNU_REL_LO16 \.text +0+000001c R_MIPS_GNU_REL_HI16 g1 +0+0000020 R_MIPS_GNU_REL_LO16 g1 +0+0000024 R_MIPS_GNU_REL_HI16 g1 +0+0000028 R_MIPS_GNU_REL_LO16 g1 +0+000002c R_MIPS_GNU_REL_HI16 \.foo +0+0000030 R_MIPS_GNU_REL_LO16 \.foo +0+0000034 R_MIPS_GNU_REL_HI16 \.text +0+0000038 R_MIPS_GNU_REL_LO16 \.text +0+000003c R_MIPS_32 g1 +0+0000040 R_MIPS_32 \.foo +0+0000044 R_MIPS_32 \.text +0+0000048 R_MIPS_PC32 g1 +0+0000050 R_MIPS_PC32 \.text +0+0000058 R_MIPS_64 g1 +0+0000060 R_MIPS_64 \.foo +0+0000068 R_MIPS_64 \.text +0+0000070 R_MIPS_PC64 g1 +0+0000080 R_MIPS_PC64 \.text +0+0000088 R_MIPS_GNU_REL_HI16 g1 +0+000008c R_MIPS_GNU_REL_LO16 g1 +0+0000090 R_MIPS_GNU_REL_HI16 \.foo +0+0000094 R_MIPS_GNU_REL_LO16 \.foo +0+0000098 R_MIPS_GNU_REL_HI16 \.text +0+000009c R_MIPS_GNU_REL_LO16 \.text +0+00000a0 R_MIPS_GNU_REL_HI16 g1 +0+00000a4 R_MIPS_GNU_REL_LO16 g1 +0+00000a8 R_MIPS_GNU_REL_HI16 \.foo +0+00000ac R_MIPS_GNU_REL_LO16 \.foo +0+00000b0 R_MIPS_GNU_REL_HI16 \.text +0+00000b4 R_MIPS_GNU_REL_LO16 \.text +0+00000b8 R_MIPS_32 g1 +0+00000bc R_MIPS_32 \.foo +0+00000c0 R_MIPS_32 \.text +0+00000c4 R_MIPS_PC32 g1 +0+00000cc R_MIPS_PC32 \.text +0+00000d0 R_MIPS_64 g1 +0+00000d8 R_MIPS_64 \.foo +0+00000e0 R_MIPS_64 \.text +0+00000e8 R_MIPS_PC64 g1 +0+00000f8 R_MIPS_PC64 \.text + +Contents of section \.text: + 0000 00000000 0411ffff 00000000 1000ffff .* + 0010 00000000 1000ffff 00000000 0411003f .* + 0020 00000000 04110000 00000000 10000041 .* + 0030 00000000 10000000 00000000 3c030000 .* + 0040 [26]463000c 3c030000 [26]4630114 2403ffd0 .* + 0050 00000000 00000100 00000004 00000028 .* + 0060 0000012c ffffffd0 00000000 00000000 .* + 0070 00000000 00000100 00000000 00000004 .* + 0080 00000000 0000004c 00000000 00000154 .* + 0090 ffffffff ffffffd0 10000032 10000033 .* + 00a0 3c030000 [26]46300d8 3c030000 [26]46300e8 .* + 00b0 000000cc 00000034 00000000 000000cc .* + 00c0 00000000 00000034 00000000 10000032 .* + 00d0 10000033 24030034 2403003c 000000cc .* + 00e0 00000034 00000000 00000000 000000cc .* + 00f0 00000000 00000034 00000000 00000000 .* +Contents of section \.data: +Contents of section \.reginfo: + 0000 80000008 00000000 00000000 00000000 .* + 0010 00000000 00000000 .* +Contents of section \.(mdebug|pdr): +#... +Contents of section \.foo: + 0000 00000000 3c030000 [26]4630004 3c030000 .* + 0010 [26]463010c 3c030000 [26]4630018 3c030000 .* + 0020 [26]463001c 3c030000 [26]4630024 3c030000 .* + 0030 [26]463012c 3c030000 [26]4630038 00000000 .* + 0040 00000100 00000004 00000044 000000fc .* + 0050 00000050 00000000 00000000 00000000 .* + 0060 00000000 00000100 00000000 00000004 .* + 0070 00000000 0000006c 00000000 000000fc .* + 0080 00000000 00000080 3c030000 [26]463008c .* + 0090 3c030000 [26]4630194 3c030000 [26]46300a0 .* + 00a0 3c030000 [26]46300a4 3c030000 [26]46301ac .* + 00b0 3c030000 [26]46300b8 00000004 00000104 .* + 00c0 00000008 000000c4 00000100 000000d0 .* + 00d0 00000000 00000004 00000000 00000104 .* + 00e0 00000000 00000008 00000000 000000e8 .* + 00f0 00000000 00000100 00000000 000000fc .* + 0100 00000000 00000000 00000000 00000000 .* + diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/tmips16-e.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/tmips16-e.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/tmips16-e.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/tmips16-e.d Sat Jun 9 00:13:01 2001 @@ -0,0 +1,42 @@ +#objdump: -rst -mips16 +#name: MIPS16 reloc +#as: -mips16 +#source: mips16-e.s + +# Check MIPS16 reloc processing + +.*: +file format elf.*mips.* + +SYMBOL TABLE: +0+0000000 l d \.text 0+0000000 +0+0000000 l d \.data 0+0000000 +0+0000000 l d \.bss 0+0000000 +0+0000002 l \.text 0+0000000 0xf0 l1 +0+0000004 l \.text 0+0000000 0xf0 L1.1 +0+0000000 l d foo 0+0000000 +0+0000000 l d \.reginfo 0+0000000 +0+0000000 l d \.(mdebug|pdr) 0+0000000 +0+0000000 \*UND\* 0+0000000 g1 + + +RELOCATION RECORDS FOR \[foo\]: +OFFSET TYPE VALUE +0+0000000 R_MIPS_32 l1 +0+0000004 R_MIPS_32 l1 +0+0000008 R_MIPS_32 L1.1 +0+000000c R_MIPS_32 L1.1 +0+0000010 R_MIPS_32 g1 +0+0000014 R_MIPS_32 g1 + + +Contents of section \.text: + 0000 65006500 65006500 65006500 65006500 .* +Contents of section \.data: +Contents of section \.reginfo: + 0000 00000001 00000000 00000000 00000000 .* + 0010 00000000 00000000 .* +Contents of section \.(mdebug|pdr): +#... +Contents of section foo: + 0000 00000000 00000008 00000000 00000003 .* + 0010 00000000 00000008 00000000 00000000 .* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/tmipsel16-e.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/tmipsel16-e.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/tmipsel16-e.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/tmipsel16-e.d Sat Jun 9 00:13:01 2001 @@ -0,0 +1,42 @@ +#objdump: -rst -mips16 +#name: MIPS16 reloc +#as: -mips16 +#source: mips16-e.s + +# Check MIPS16 reloc processing + +.*: +file format elf.*mips.* + +SYMBOL TABLE: +0+0000000 l d \.text 0+0000000 +0+0000000 l d \.data 0+0000000 +0+0000000 l d \.bss 0+0000000 +0+0000002 l \.text 0+0000000 0xf0 l1 +0+0000004 l \.text 0+0000000 0xf0 L1.1 +0+0000000 l d foo 0+0000000 +0+0000000 l d \.reginfo 0+0000000 +0+0000000 l d \.(mdebug|pdr) 0+0000000 +0+0000000 \*UND\* 0+0000000 g1 + + +RELOCATION RECORDS FOR \[foo\]: +OFFSET TYPE VALUE +0+0000000 R_MIPS_32 l1 +0+0000004 R_MIPS_32 l1 +0+0000008 R_MIPS_32 L1.1 +0+000000c R_MIPS_32 L1.1 +0+0000010 R_MIPS_32 g1 +0+0000014 R_MIPS_32 g1 + + +Contents of section \.text: + 0000 00650065 00650065 00650065 00650065 .* +Contents of section \.data: +Contents of section \.reginfo: + 0000 01000000 00000000 00000000 00000000 .* + 0010 00000000 00000000 .* +Contents of section \.(mdebug|pdr): +#... +Contents of section foo: + 0000 00000000 08000000 00000000 03000000 .* + 0010 00000000 08000000 00000000 00000000 .* diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/trap20.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/trap20.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/trap20.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/trap20.d Mon May 21 10:37:05 2001 @@ -5,16 +5,16 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> teq \$zero,\$v1 -0+0004 <[^>]*> teq \$zero,\$v1,0x1 -0+0008 <[^>]*> tge \$zero,\$v1 -0+000c <[^>]*> tge \$zero,\$v1,0x3 -0+0010 <[^>]*> tgeu \$zero,\$v1 -0+0014 <[^>]*> tgeu \$zero,\$v1,0x7 -0+0018 <[^>]*> tlt \$zero,\$v1 -0+001c <[^>]*> tlt \$zero,\$v1,0x1f -0+0020 <[^>]*> tltu \$zero,\$v1 -0+0024 <[^>]*> tltu \$zero,\$v1,0xff -0+0028 <[^>]*> tne \$zero,\$v1 -0+002c <[^>]*> tne \$zero,\$v1,0x3ff +0+0000 <[^>]*> teq zero,v1 +0+0004 <[^>]*> teq zero,v1,0x1 +0+0008 <[^>]*> tge zero,v1 +0+000c <[^>]*> tge zero,v1,0x3 +0+0010 <[^>]*> tgeu zero,v1 +0+0014 <[^>]*> tgeu zero,v1,0x7 +0+0018 <[^>]*> tlt zero,v1 +0+001c <[^>]*> tlt zero,v1,0x1f +0+0020 <[^>]*> tltu zero,v1 +0+0024 <[^>]*> tltu zero,v1,0xff +0+0028 <[^>]*> tne zero,v1 +0+002c <[^>]*> tne zero,v1,0x3ff ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/trunc.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/trunc.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/trunc.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/trunc.d Mon May 21 10:37:05 2001 @@ -7,23 +7,23 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> cfc1 \$a0,\$31 -0+0004 <[^>]*> cfc1 \$a0,\$31 +0+0000 <[^>]*> cfc1 a0,ra +0+0004 <[^>]*> cfc1 a0,ra 0+0008 <[^>]*> nop -0+000c <[^>]*> ori \$at,\$a0,0x3 -0+0010 <[^>]*> xori \$at,\$at,0x2 -0+0014 <[^>]*> ctc1 \$at,\$31 +0+000c <[^>]*> ori at,a0,0x3 +0+0010 <[^>]*> xori at,at,0x2 +0+0014 <[^>]*> ctc1 at,ra 0+0018 <[^>]*> nop 0+001c <[^>]*> cvt.w.d \$f4,\$f6 -0+0020 <[^>]*> ctc1 \$a0,\$31 +0+0020 <[^>]*> ctc1 a0,ra 0+0024 <[^>]*> nop -0+0028 <[^>]*> cfc1 \$a0,\$31 -0+002c <[^>]*> cfc1 \$a0,\$31 +0+0028 <[^>]*> cfc1 a0,ra +0+002c <[^>]*> cfc1 a0,ra 0+0030 <[^>]*> nop -0+0034 <[^>]*> ori \$at,\$a0,0x3 -0+0038 <[^>]*> xori \$at,\$at,0x2 -0+003c <[^>]*> ctc1 \$at,\$31 +0+0034 <[^>]*> ori at,a0,0x3 +0+0038 <[^>]*> xori at,at,0x2 +0+003c <[^>]*> ctc1 at,ra 0+0040 <[^>]*> nop 0+0044 <[^>]*> cvt.w.s \$f4,\$f6 -0+0048 <[^>]*> ctc1 \$a0,\$31 +0+0048 <[^>]*> ctc1 a0,ra 0+004c <[^>]*> nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/uld.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/uld.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/uld.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/uld.d Mon May 21 10:37:05 2001 @@ -7,264 +7,264 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> ldl \$a0,[07]\(\$zero\) -0+0004 <[^>]*> ldr \$a0,[07]\(\$zero\) -0+0008 <[^>]*> ldl \$a0,[18]\(\$zero\) -0+000c <[^>]*> ldr \$a0,[18]\(\$zero\) -0+0010 <[^>]*> li \$at,0x8000 -0+0014 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0018 <[^>]*> ldr \$a0,[07]\(\$at\) -0+001c <[^>]*> ldl \$a0,-3276[18]\(\$zero\) -0+0020 <[^>]*> ldr \$a0,-3276[18]\(\$zero\) -0+0024 <[^>]*> lui \$at,0x1 -0+0028 <[^>]*> ldl \$a0,[07]\(\$at\) -0+002c <[^>]*> ldr \$a0,[07]\(\$at\) -0+0030 <[^>]*> lui \$at,0x1 -0+0034 <[^>]*> ori \$at,\$at,0xa5a5 -0+0038 <[^>]*> ldl \$a0,[07]\(\$at\) -0+003c <[^>]*> ldr \$a0,[07]\(\$at\) -0+0040 <[^>]*> ldl \$a0,[07]\(\$a1\) -0+0044 <[^>]*> ldr \$a0,[07]\(\$a1\) -0+0048 <[^>]*> ldl \$a0,[18]\(\$a1\) -0+004c <[^>]*> ldr \$a0,[-0-9]+\(\$a1\) -0+0050 <[^>]*> lui \$at,[-0-9x]+ +0+0000 <[^>]*> ldl a0,[07]\(zero\) +0+0004 <[^>]*> ldr a0,[07]\(zero\) +0+0008 <[^>]*> ldl a0,[18]\(zero\) +0+000c <[^>]*> ldr a0,[18]\(zero\) +0+0010 <[^>]*> li at,0x8000 +0+0014 <[^>]*> ldl a0,[07]\(at\) +0+0018 <[^>]*> ldr a0,[07]\(at\) +0+001c <[^>]*> ldl a0,-3276[18]\(zero\) +0+0020 <[^>]*> ldr a0,-3276[18]\(zero\) +0+0024 <[^>]*> lui at,0x1 +0+0028 <[^>]*> ldl a0,[07]\(at\) +0+002c <[^>]*> ldr a0,[07]\(at\) +0+0030 <[^>]*> lui at,0x1 +0+0034 <[^>]*> ori at,at,0xa5a5 +0+0038 <[^>]*> ldl a0,[07]\(at\) +0+003c <[^>]*> ldr a0,[07]\(at\) +0+0040 <[^>]*> ldl a0,[07]\(a1\) +0+0044 <[^>]*> ldr a0,[07]\(a1\) +0+0048 <[^>]*> ldl a0,[18]\(a1\) +0+004c <[^>]*> ldr a0,[-0-9]+\(a1\) +0+0050 <[^>]*> lui at,[-0-9x]+ [ ]*50: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0054 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+0054 <[^>]*> daddiu at,at,[-0-9]+ [ ]*54: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0058 <[^>]*> ldl \$a0,[07]\(\$at\) -0+005c <[^>]*> ldr \$a0,[07]\(\$at\) -0+0060 <[^>]*> lui \$at,0x0 +0+0058 <[^>]*> ldl a0,[07]\(at\) +0+005c <[^>]*> ldr a0,[07]\(at\) +0+0060 <[^>]*> lui at,0x0 [ ]*60: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0064 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+0064 <[^>]*> daddiu at,at,[-0-9]+ [ ]*64: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0068 <[^>]*> ldl \$a0,[07]\(\$at\) -0+006c <[^>]*> ldr \$a0,[07]\(\$at\) -0+0070 <[^>]*> daddiu \$at,\$gp,0 +0+0068 <[^>]*> ldl a0,[07]\(at\) +0+006c <[^>]*> ldr a0,[07]\(at\) +0+0070 <[^>]*> daddiu at,gp,0 [ ]*70: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0074 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0078 <[^>]*> ldr \$a0,[07]\(\$at\) -0+007c <[^>]*> lui \$at,0x0 +0+0074 <[^>]*> ldl a0,[07]\(at\) +0+0078 <[^>]*> ldr a0,[07]\(at\) +0+007c <[^>]*> lui at,0x0 [ ]*7c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0080 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+0080 <[^>]*> daddiu at,at,[-0-9]+ [ ]*80: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0084 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0088 <[^>]*> ldr \$a0,[07]\(\$at\) -0+008c <[^>]*> daddiu \$at,\$gp,0 +0+0084 <[^>]*> ldl a0,[07]\(at\) +0+0088 <[^>]*> ldr a0,[07]\(at\) +0+008c <[^>]*> daddiu at,gp,0 [ ]*8c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0090 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0094 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0098 <[^>]*> lui \$at,[-0-9x]+ +0+0090 <[^>]*> ldl a0,[07]\(at\) +0+0094 <[^>]*> ldr a0,[07]\(at\) +0+0098 <[^>]*> lui at,[-0-9x]+ [ ]*98: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+009c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+009c <[^>]*> daddiu at,at,[-0-9]+ [ ]*9c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00a0 <[^>]*> ldl \$a0,[07]\(\$at\) -0+00a4 <[^>]*> ldr \$a0,[07]\(\$at\) -0+00a8 <[^>]*> daddiu \$at,\$gp,[-0-9]+ +0+00a0 <[^>]*> ldl a0,[07]\(at\) +0+00a4 <[^>]*> ldr a0,[07]\(at\) +0+00a8 <[^>]*> daddiu at,gp,[-0-9]+ [ ]*a8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00ac <[^>]*> ldl \$a0,[07]\(\$at\) -0+00b0 <[^>]*> ldr \$a0,[07]\(\$at\) -0+00b4 <[^>]*> lui \$at,0x0 +0+00ac <[^>]*> ldl a0,[07]\(at\) +0+00b0 <[^>]*> ldr a0,[07]\(at\) +0+00b4 <[^>]*> lui at,0x0 [ ]*b4: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+00b8 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+00b8 <[^>]*> daddiu at,at,[-0-9]+ [ ]*b8: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00bc <[^>]*> ldl \$a0,[07]\(\$at\) -0+00c0 <[^>]*> ldr \$a0,[07]\(\$at\) -0+00c4 <[^>]*> lui \$at,0x0 +0+00bc <[^>]*> ldl a0,[07]\(at\) +0+00c0 <[^>]*> ldr a0,[07]\(at\) +0+00c4 <[^>]*> lui at,0x0 [ ]*c4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00c8 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+00c8 <[^>]*> daddiu at,at,[-0-9]+ [ ]*c8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00cc <[^>]*> ldl \$a0,[07]\(\$at\) -0+00d0 <[^>]*> ldr \$a0,[07]\(\$at\) -0+00d4 <[^>]*> daddiu \$at,\$gp,1 +0+00cc <[^>]*> ldl a0,[07]\(at\) +0+00d0 <[^>]*> ldr a0,[07]\(at\) +0+00d4 <[^>]*> daddiu at,gp,1 [ ]*d4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00d8 <[^>]*> ldl \$a0,[07]\(\$at\) -0+00dc <[^>]*> ldr \$a0,[07]\(\$at\) -0+00e0 <[^>]*> lui \$at,0x0 +0+00d8 <[^>]*> ldl a0,[07]\(at\) +0+00dc <[^>]*> ldr a0,[07]\(at\) +0+00e0 <[^>]*> lui at,0x0 [ ]*e0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00e4 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+00e4 <[^>]*> daddiu at,at,[-0-9]+ [ ]*e4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00e8 <[^>]*> ldl \$a0,[07]\(\$at\) -0+00ec <[^>]*> ldr \$a0,[07]\(\$at\) -0+00f0 <[^>]*> daddiu \$at,\$gp,1 +0+00e8 <[^>]*> ldl a0,[07]\(at\) +0+00ec <[^>]*> ldr a0,[07]\(at\) +0+00f0 <[^>]*> daddiu at,gp,1 [ ]*f0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00f4 <[^>]*> ldl \$a0,[07]\(\$at\) -0+00f8 <[^>]*> ldr \$a0,[07]\(\$at\) -0+00fc <[^>]*> lui \$at,0x0 +0+00f4 <[^>]*> ldl a0,[07]\(at\) +0+00f8 <[^>]*> ldr a0,[07]\(at\) +0+00fc <[^>]*> lui at,0x0 [ ]*fc: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0100 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+0100 <[^>]*> daddiu at,at,[-0-9]+ [ ]*100: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0104 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0108 <[^>]*> ldr \$a0,[07]\(\$at\) -0+010c <[^>]*> daddiu \$at,\$gp,[-0-9]+ +0+0104 <[^>]*> ldl a0,[07]\(at\) +0+0108 <[^>]*> ldr a0,[07]\(at\) +0+010c <[^>]*> daddiu at,gp,[-0-9]+ [ ]*10c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0110 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0114 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0118 <[^>]*> lui \$at,[-0-9x]+ +0+0110 <[^>]*> ldl a0,[07]\(at\) +0+0114 <[^>]*> ldr a0,[07]\(at\) +0+0118 <[^>]*> lui at,[-0-9x]+ [ ]*118: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+011c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+011c <[^>]*> daddiu at,at,[-0-9]+ [ ]*11c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0120 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0124 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0128 <[^>]*> lui \$at,[-0-9x]+ +0+0120 <[^>]*> ldl a0,[07]\(at\) +0+0124 <[^>]*> ldr a0,[07]\(at\) +0+0128 <[^>]*> lui at,[-0-9x]+ [ ]*128: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+012c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+012c <[^>]*> daddiu at,at,[-0-9]+ [ ]*12c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0130 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0134 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0138 <[^>]*> lui \$at,[-0-9x]+ +0+0130 <[^>]*> ldl a0,[07]\(at\) +0+0134 <[^>]*> ldr a0,[07]\(at\) +0+0138 <[^>]*> lui at,[-0-9x]+ [ ]*138: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+013c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+013c <[^>]*> daddiu at,at,[-0-9]+ [ ]*13c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0140 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0144 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0148 <[^>]*> lui \$at,[-0-9x]+ +0+0140 <[^>]*> ldl a0,[07]\(at\) +0+0144 <[^>]*> ldr a0,[07]\(at\) +0+0148 <[^>]*> lui at,[-0-9x]+ [ ]*148: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+014c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+014c <[^>]*> daddiu at,at,[-0-9]+ [ ]*14c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0150 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0154 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0158 <[^>]*> lui \$at,[-0-9x]+ +0+0150 <[^>]*> ldl a0,[07]\(at\) +0+0154 <[^>]*> ldr a0,[07]\(at\) +0+0158 <[^>]*> lui at,[-0-9x]+ [ ]*158: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+015c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+015c <[^>]*> daddiu at,at,[-0-9]+ [ ]*15c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0160 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0164 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0168 <[^>]*> lui \$at,[-0-9x]+ +0+0160 <[^>]*> ldl a0,[07]\(at\) +0+0164 <[^>]*> ldr a0,[07]\(at\) +0+0168 <[^>]*> lui at,[-0-9x]+ [ ]*168: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+016c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+016c <[^>]*> daddiu at,at,[-0-9]+ [ ]*16c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0170 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0174 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0178 <[^>]*> lui \$at,[-0-9x]+ +0+0170 <[^>]*> ldl a0,[07]\(at\) +0+0174 <[^>]*> ldr a0,[07]\(at\) +0+0178 <[^>]*> lui at,[-0-9x]+ [ ]*178: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+017c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+017c <[^>]*> daddiu at,at,[-0-9]+ [ ]*17c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0180 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0184 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0188 <[^>]*> lui \$at,0x0 +0+0180 <[^>]*> ldl a0,[07]\(at\) +0+0184 <[^>]*> ldr a0,[07]\(at\) +0+0188 <[^>]*> lui at,0x0 [ ]*188: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+018c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+018c <[^>]*> daddiu at,at,[-0-9]+ [ ]*18c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0190 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0194 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0198 <[^>]*> lui \$at,0x0 +0+0190 <[^>]*> ldl a0,[07]\(at\) +0+0194 <[^>]*> ldr a0,[07]\(at\) +0+0198 <[^>]*> lui at,0x0 [ ]*198: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+019c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+019c <[^>]*> daddiu at,at,[-0-9]+ [ ]*19c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01a0 <[^>]*> ldl \$a0,[07]\(\$at\) -0+01a4 <[^>]*> ldr \$a0,[07]\(\$at\) -0+01a8 <[^>]*> lui \$at,0x0 +0+01a0 <[^>]*> ldl a0,[07]\(at\) +0+01a4 <[^>]*> ldr a0,[07]\(at\) +0+01a8 <[^>]*> lui at,0x0 [ ]*1a8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+01ac <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+01ac <[^>]*> daddiu at,at,[-0-9]+ [ ]*1ac: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+01b0 <[^>]*> ldl \$a0,[07]\(\$at\) -0+01b4 <[^>]*> ldr \$a0,[07]\(\$at\) -0+01b8 <[^>]*> lui \$at,0x0 +0+01b0 <[^>]*> ldl a0,[07]\(at\) +0+01b4 <[^>]*> ldr a0,[07]\(at\) +0+01b8 <[^>]*> lui at,0x0 [ ]*1b8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+01bc <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+01bc <[^>]*> daddiu at,at,[-0-9]+ [ ]*1bc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01c0 <[^>]*> ldl \$a0,[07]\(\$at\) -0+01c4 <[^>]*> ldr \$a0,[07]\(\$at\) -0+01c8 <[^>]*> lui \$at,0x0 +0+01c0 <[^>]*> ldl a0,[07]\(at\) +0+01c4 <[^>]*> ldr a0,[07]\(at\) +0+01c8 <[^>]*> lui at,0x0 [ ]*1c8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+01cc <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+01cc <[^>]*> daddiu at,at,[-0-9]+ [ ]*1cc: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01d0 <[^>]*> ldl \$a0,[07]\(\$at\) -0+01d4 <[^>]*> ldr \$a0,[07]\(\$at\) -0+01d8 <[^>]*> lui \$at,0x0 +0+01d0 <[^>]*> ldl a0,[07]\(at\) +0+01d4 <[^>]*> ldr a0,[07]\(at\) +0+01d8 <[^>]*> lui at,0x0 [ ]*1d8: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+01dc <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+01dc <[^>]*> daddiu at,at,[-0-9]+ [ ]*1dc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+01e0 <[^>]*> ldl \$a0,[07]\(\$at\) -0+01e4 <[^>]*> ldr \$a0,[07]\(\$at\) -0+01e8 <[^>]*> lui \$at,0x0 +0+01e0 <[^>]*> ldl a0,[07]\(at\) +0+01e4 <[^>]*> ldr a0,[07]\(at\) +0+01e8 <[^>]*> lui at,0x0 [ ]*1e8: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+01ec <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+01ec <[^>]*> daddiu at,at,[-0-9]+ [ ]*1ec: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+01f0 <[^>]*> ldl \$a0,[07]\(\$at\) -0+01f4 <[^>]*> ldr \$a0,[07]\(\$at\) -0+01f8 <[^>]*> lui \$at,[-0-9x]+ +0+01f0 <[^>]*> ldl a0,[07]\(at\) +0+01f4 <[^>]*> ldr a0,[07]\(at\) +0+01f8 <[^>]*> lui at,[-0-9x]+ [ ]*1f8: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+01fc <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+01fc <[^>]*> daddiu at,at,[-0-9]+ [ ]*1fc: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0200 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0204 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0208 <[^>]*> lui \$at,[-0-9x]+ +0+0200 <[^>]*> ldl a0,[07]\(at\) +0+0204 <[^>]*> ldr a0,[07]\(at\) +0+0208 <[^>]*> lui at,[-0-9x]+ [ ]*208: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+020c <[^>]*> daddiu \$at,\$at,0 +0+020c <[^>]*> daddiu at,at,0 [ ]*20c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0210 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0214 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0218 <[^>]*> lui \$at,[-0-9x]+ +0+0210 <[^>]*> ldl a0,[07]\(at\) +0+0214 <[^>]*> ldr a0,[07]\(at\) +0+0218 <[^>]*> lui at,[-0-9x]+ [ ]*218: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+021c <[^>]*> daddiu \$at,\$at,0 +0+021c <[^>]*> daddiu at,at,0 [ ]*21c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0220 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0224 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0228 <[^>]*> lui \$at,[-0-9x]+ +0+0220 <[^>]*> ldl a0,[07]\(at\) +0+0224 <[^>]*> ldr a0,[07]\(at\) +0+0228 <[^>]*> lui at,[-0-9x]+ [ ]*228: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+022c <[^>]*> daddiu \$at,\$at,0 +0+022c <[^>]*> daddiu at,at,0 [ ]*22c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0230 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0234 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0238 <[^>]*> lui \$at,[-0-9x]+ +0+0230 <[^>]*> ldl a0,[07]\(at\) +0+0234 <[^>]*> ldr a0,[07]\(at\) +0+0238 <[^>]*> lui at,[-0-9x]+ [ ]*238: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+023c <[^>]*> daddiu \$at,\$at,0 +0+023c <[^>]*> daddiu at,at,0 [ ]*23c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0240 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0244 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0248 <[^>]*> lui \$at,[-0-9x]+ +0+0240 <[^>]*> ldl a0,[07]\(at\) +0+0244 <[^>]*> ldr a0,[07]\(at\) +0+0248 <[^>]*> lui at,[-0-9x]+ [ ]*248: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+024c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+024c <[^>]*> daddiu at,at,[-0-9]+ [ ]*24c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0250 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0254 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0258 <[^>]*> lui \$at,[-0-9x]+ +0+0250 <[^>]*> ldl a0,[07]\(at\) +0+0254 <[^>]*> ldr a0,[07]\(at\) +0+0258 <[^>]*> lui at,[-0-9x]+ [ ]*258: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+025c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+025c <[^>]*> daddiu at,at,[-0-9]+ [ ]*25c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0260 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0264 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0268 <[^>]*> lui \$at,[-0-9x]+ +0+0260 <[^>]*> ldl a0,[07]\(at\) +0+0264 <[^>]*> ldr a0,[07]\(at\) +0+0268 <[^>]*> lui at,[-0-9x]+ [ ]*268: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+026c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+026c <[^>]*> daddiu at,at,[-0-9]+ [ ]*26c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0270 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0274 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0278 <[^>]*> lui \$at,[-0-9x]+ +0+0270 <[^>]*> ldl a0,[07]\(at\) +0+0274 <[^>]*> ldr a0,[07]\(at\) +0+0278 <[^>]*> lui at,[-0-9x]+ [ ]*278: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+027c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+027c <[^>]*> daddiu at,at,[-0-9]+ [ ]*27c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0280 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0284 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0288 <[^>]*> lui \$at,[-0-9x]+ +0+0280 <[^>]*> ldl a0,[07]\(at\) +0+0284 <[^>]*> ldr a0,[07]\(at\) +0+0288 <[^>]*> lui at,[-0-9x]+ [ ]*288: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+028c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+028c <[^>]*> daddiu at,at,[-0-9]+ [ ]*28c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0290 <[^>]*> ldl \$a0,[07]\(\$at\) -0+0294 <[^>]*> ldr \$a0,[07]\(\$at\) -0+0298 <[^>]*> lui \$at,[-0-9x]+ +0+0290 <[^>]*> ldl a0,[07]\(at\) +0+0294 <[^>]*> ldr a0,[07]\(at\) +0+0298 <[^>]*> lui at,[-0-9x]+ [ ]*298: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+029c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+029c <[^>]*> daddiu at,at,[-0-9]+ [ ]*29c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+02a0 <[^>]*> ldl \$a0,[07]\(\$at\) -0+02a4 <[^>]*> ldr \$a0,[07]\(\$at\) -0+02a8 <[^>]*> lui \$at,[-0-9x]+ +0+02a0 <[^>]*> ldl a0,[07]\(at\) +0+02a4 <[^>]*> ldr a0,[07]\(at\) +0+02a8 <[^>]*> lui at,[-0-9x]+ [ ]*2a8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+02ac <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+02ac <[^>]*> daddiu at,at,[-0-9]+ [ ]*2ac: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+02b0 <[^>]*> ldl \$a0,[07]\(\$at\) -0+02b4 <[^>]*> ldr \$a0,[07]\(\$at\) -0+02b8 <[^>]*> lui \$at,[-0-9x]+ +0+02b0 <[^>]*> ldl a0,[07]\(at\) +0+02b4 <[^>]*> ldr a0,[07]\(at\) +0+02b8 <[^>]*> lui at,[-0-9x]+ [ ]*2b8: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+02bc <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+02bc <[^>]*> daddiu at,at,[-0-9]+ [ ]*2bc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+02c0 <[^>]*> ldl \$a0,[07]\(\$at\) -0+02c4 <[^>]*> ldr \$a0,[07]\(\$at\) -0+02c8 <[^>]*> lui \$at,[-0-9x]+ +0+02c0 <[^>]*> ldl a0,[07]\(at\) +0+02c4 <[^>]*> ldr a0,[07]\(at\) +0+02c8 <[^>]*> lui at,[-0-9x]+ [ ]*2c8: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+02cc <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+02cc <[^>]*> daddiu at,at,[-0-9]+ [ ]*2cc: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+02d0 <[^>]*> ldl \$a0,[07]\(\$at\) -0+02d4 <[^>]*> ldr \$a0,[07]\(\$at\) +0+02d0 <[^>]*> ldl a0,[07]\(at\) +0+02d4 <[^>]*> ldr a0,[07]\(at\) ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/ulh-empic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/ulh-empic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/ulh-empic.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/ulh-empic.d Mon May 21 10:37:05 2001 @@ -8,84 +8,84 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> addiu \$at,\$gp,-16384 +0+0000 <[^>]*> addiu at,gp,-16384 [ ]*0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+0004 <[^>]*> lb \$a0,[01]\(\$at\) -0+0008 <[^>]*> lbu \$at,[01]\(\$at\) -0+000c <[^>]*> sll \$a0,\$a0,0x8 -0+0010 <[^>]*> or \$a0,\$a0,\$at -0+0014 <[^>]*> addiu \$at,\$gp,0 +0+0004 <[^>]*> lb a0,[01]\(at\) +0+0008 <[^>]*> lbu at,[01]\(at\) +0+000c <[^>]*> sll a0,a0,0x8 +0+0010 <[^>]*> or a0,a0,at +0+0014 <[^>]*> addiu at,gp,0 [ ]*14: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+0018 <[^>]*> lbu \$a0,[01]\(\$at\) -0+001c <[^>]*> lbu \$at,[01]\(\$at\) -0+0020 <[^>]*> sll \$a0,\$a0,0x8 -0+0024 <[^>]*> or \$a0,\$a0,\$at -0+0028 <[^>]*> addiu \$at,\$gp,0 +0+0018 <[^>]*> lbu a0,[01]\(at\) +0+001c <[^>]*> lbu at,[01]\(at\) +0+0020 <[^>]*> sll a0,a0,0x8 +0+0024 <[^>]*> or a0,a0,at +0+0028 <[^>]*> addiu at,gp,0 [ ]*28: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+002c <[^>]*> lwl \$a0,[03]\(\$at\) -0+0030 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0034 <[^>]*> addiu \$at,\$gp,0 +0+002c <[^>]*> lwl a0,[03]\(at\) +0+0030 <[^>]*> lwr a0,[03]\(at\) +0+0034 <[^>]*> addiu at,gp,0 [ ]*34: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+0038 <[^>]*> sb \$a0,[01]\(\$at\) -0+003c <[^>]*> srl \$a0,\$a0,0x8 -0+0040 <[^>]*> sb \$a0,[01]\(\$at\) -0+0044 <[^>]*> lbu \$at,[01]\(\$at\) -0+0048 <[^>]*> sll \$a0,\$a0,0x8 -0+004c <[^>]*> or \$a0,\$a0,\$at -0+0050 <[^>]*> addiu \$at,\$gp,0 +0+0038 <[^>]*> sb a0,[01]\(at\) +0+003c <[^>]*> srl a0,a0,0x8 +0+0040 <[^>]*> sb a0,[01]\(at\) +0+0044 <[^>]*> lbu at,[01]\(at\) +0+0048 <[^>]*> sll a0,a0,0x8 +0+004c <[^>]*> or a0,a0,at +0+0050 <[^>]*> addiu at,gp,0 [ ]*50: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0054 <[^>]*> swl \$a0,[03]\(\$at\) -0+0058 <[^>]*> swr \$a0,[03]\(\$at\) -0+005c <[^>]*> addiu \$at,\$gp,-16384 +0+0054 <[^>]*> swl a0,[03]\(at\) +0+0058 <[^>]*> swr a0,[03]\(at\) +0+005c <[^>]*> addiu at,gp,-16384 [ ]*5c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0060 <[^>]*> lb \$a0,[01]\(\$at\) -0+0064 <[^>]*> lbu \$at,[01]\(\$at\) -0+0068 <[^>]*> sll \$a0,\$a0,0x8 -0+006c <[^>]*> or \$a0,\$a0,\$at -0+0070 <[^>]*> addiu \$at,\$gp,-15384 +0+0060 <[^>]*> lb a0,[01]\(at\) +0+0064 <[^>]*> lbu at,[01]\(at\) +0+0068 <[^>]*> sll a0,a0,0x8 +0+006c <[^>]*> or a0,a0,at +0+0070 <[^>]*> addiu at,gp,-15384 [ ]*70: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0074 <[^>]*> lbu \$a0,[01]\(\$at\) -0+0078 <[^>]*> lbu \$at,[01]\(\$at\) -0+007c <[^>]*> sll \$a0,\$a0,0x8 -0+0080 <[^>]*> or \$a0,\$a0,\$at -0+0084 <[^>]*> addiu \$at,\$gp,-16383 +0+0074 <[^>]*> lbu a0,[01]\(at\) +0+0078 <[^>]*> lbu at,[01]\(at\) +0+007c <[^>]*> sll a0,a0,0x8 +0+0080 <[^>]*> or a0,a0,at +0+0084 <[^>]*> addiu at,gp,-16383 [ ]*84: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.* -0+0088 <[^>]*> lwl \$a0,[03]\(\$at\) -0+008c <[^>]*> lwr \$a0,[03]\(\$at\) -0+0090 <[^>]*> addiu \$at,\$gp,1 +0+0088 <[^>]*> lwl a0,[03]\(at\) +0+008c <[^>]*> lwr a0,[03]\(at\) +0+0090 <[^>]*> addiu at,gp,1 [ ]*90: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label -0+0094 <[^>]*> sb \$a0,[01]\(\$at\) -0+0098 <[^>]*> srl \$a0,\$a0,0x8 -0+009c <[^>]*> sb \$a0,[01]\(\$at\) -0+00a0 <[^>]*> lbu \$at,[01]\(\$at\) -0+00a4 <[^>]*> sll \$a0,\$a0,0x8 -0+00a8 <[^>]*> or \$a0,\$a0,\$at -0+00ac <[^>]*> addiu \$at,\$gp,1 +0+0094 <[^>]*> sb a0,[01]\(at\) +0+0098 <[^>]*> srl a0,a0,0x8 +0+009c <[^>]*> sb a0,[01]\(at\) +0+00a0 <[^>]*> lbu at,[01]\(at\) +0+00a4 <[^>]*> sll a0,a0,0x8 +0+00a8 <[^>]*> or a0,a0,at +0+00ac <[^>]*> addiu at,gp,1 [ ]*ac: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00b0 <[^>]*> swl \$a0,[03]\(\$at\) -0+00b4 <[^>]*> swr \$a0,[03]\(\$at\) -0+00b8 <[^>]*> addiu \$at,\$gp,1 +0+00b0 <[^>]*> swl a0,[03]\(at\) +0+00b4 <[^>]*> swr a0,[03]\(at\) +0+00b8 <[^>]*> addiu at,gp,1 [ ]*b8: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common -0+00bc <[^>]*> lb \$a0,[01]\(\$at\) -0+00c0 <[^>]*> lbu \$at,[01]\(\$at\) -0+00c4 <[^>]*> sll \$a0,\$a0,0x8 -0+00c8 <[^>]*> or \$a0,\$a0,\$at -0+00cc <[^>]*> addiu \$at,\$gp,1 +0+00bc <[^>]*> lb a0,[01]\(at\) +0+00c0 <[^>]*> lbu at,[01]\(at\) +0+00c4 <[^>]*> sll a0,a0,0x8 +0+00c8 <[^>]*> or a0,a0,at +0+00cc <[^>]*> addiu at,gp,1 [ ]*cc: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00d0 <[^>]*> lbu \$a0,[01]\(\$at\) -0+00d4 <[^>]*> lbu \$at,[01]\(\$at\) -0+00d8 <[^>]*> sll \$a0,\$a0,0x8 -0+00dc <[^>]*> or \$a0,\$a0,\$at -0+00e0 <[^>]*> addiu \$at,\$gp,-16383 +0+00d0 <[^>]*> lbu a0,[01]\(at\) +0+00d4 <[^>]*> lbu at,[01]\(at\) +0+00d8 <[^>]*> sll a0,a0,0x8 +0+00dc <[^>]*> or a0,a0,at +0+00e0 <[^>]*> addiu at,gp,-16383 [ ]*e0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00e4 <[^>]*> lwl \$a0,[03]\(\$at\) -0+00e8 <[^>]*> lwr \$a0,[03]\(\$at\) -0+00ec <[^>]*> addiu \$at,\$gp,-15383 +0+00e4 <[^>]*> lwl a0,[03]\(at\) +0+00e8 <[^>]*> lwr a0,[03]\(at\) +0+00ec <[^>]*> addiu at,gp,-15383 [ ]*ec: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00f0 <[^>]*> sb \$a0,[01]\(\$at\) -0+00f4 <[^>]*> srl \$a0,\$a0,0x8 -0+00f8 <[^>]*> sb \$a0,[01]\(\$at\) -0+00fc <[^>]*> lbu \$at,[01]\(\$at\) -0+0100 <[^>]*> sll \$a0,\$a0,0x8 -0+0104 <[^>]*> or \$a0,\$a0,\$at +0+00f0 <[^>]*> sb a0,[01]\(at\) +0+00f4 <[^>]*> srl a0,a0,0x8 +0+00f8 <[^>]*> sb a0,[01]\(at\) +0+00fc <[^>]*> lbu at,[01]\(at\) +0+0100 <[^>]*> sll a0,a0,0x8 +0+0104 <[^>]*> or a0,a0,at ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/ulh-svr4pic.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/ulh-svr4pic.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/ulh-svr4pic.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/ulh-svr4pic.d Mon May 21 10:37:05 2001 @@ -8,117 +8,117 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lw \$at,0\(\$gp\) +0+0000 <[^>]*> lw at,0\(gp\) [ ]*0: R_MIPS_GOT16 .data 0+0004 <[^>]*> nop -0+0008 <[^>]*> addiu \$at,\$at,0 +0+0008 <[^>]*> addiu at,at,0 [ ]*8: R_MIPS_LO16 .data -0+000c <[^>]*> lb \$a0,0\(\$at\) -0+0010 <[^>]*> lbu \$at,1\(\$at\) -0+0014 <[^>]*> sll \$a0,\$a0,0x8 -0+0018 <[^>]*> or \$a0,\$a0,\$at -0+001c <[^>]*> lw \$at,0\(\$gp\) +0+000c <[^>]*> lb a0,0\(at\) +0+0010 <[^>]*> lbu at,1\(at\) +0+0014 <[^>]*> sll a0,a0,0x8 +0+0018 <[^>]*> or a0,a0,at +0+001c <[^>]*> lw at,0\(gp\) [ ]*1c: R_MIPS_GOT16 big_external_data_label 0+0020 <[^>]*> nop -0+0024 <[^>]*> lbu \$a0,0\(\$at\) -0+0028 <[^>]*> lbu \$at,1\(\$at\) -0+002c <[^>]*> sll \$a0,\$a0,0x8 -0+0030 <[^>]*> or \$a0,\$a0,\$at -0+0034 <[^>]*> lw \$at,0\(\$gp\) +0+0024 <[^>]*> lbu a0,0\(at\) +0+0028 <[^>]*> lbu at,1\(at\) +0+002c <[^>]*> sll a0,a0,0x8 +0+0030 <[^>]*> or a0,a0,at +0+0034 <[^>]*> lw at,0\(gp\) [ ]*34: R_MIPS_GOT16 small_external_data_label 0+0038 <[^>]*> nop -0+003c <[^>]*> lwl \$a0,0\(\$at\) -0+0040 <[^>]*> lwr \$a0,3\(\$at\) -0+0044 <[^>]*> lw \$at,0\(\$gp\) +0+003c <[^>]*> lwl a0,0\(at\) +0+0040 <[^>]*> lwr a0,3\(at\) +0+0044 <[^>]*> lw at,0\(gp\) [ ]*44: R_MIPS_GOT16 big_external_common 0+0048 <[^>]*> nop -0+004c <[^>]*> sb \$a0,1\(\$at\) -0+0050 <[^>]*> srl \$a0,\$a0,0x8 -0+0054 <[^>]*> sb \$a0,0\(\$at\) -0+0058 <[^>]*> lbu \$at,1\(\$at\) -0+005c <[^>]*> sll \$a0,\$a0,0x8 -0+0060 <[^>]*> or \$a0,\$a0,\$at -0+0064 <[^>]*> lw \$at,0\(\$gp\) +0+004c <[^>]*> sb a0,1\(at\) +0+0050 <[^>]*> srl a0,a0,0x8 +0+0054 <[^>]*> sb a0,0\(at\) +0+0058 <[^>]*> lbu at,1\(at\) +0+005c <[^>]*> sll a0,a0,0x8 +0+0060 <[^>]*> or a0,a0,at +0+0064 <[^>]*> lw at,0\(gp\) [ ]*64: R_MIPS_GOT16 small_external_common 0+0068 <[^>]*> nop -0+006c <[^>]*> swl \$a0,0\(\$at\) -0+0070 <[^>]*> swr \$a0,3\(\$at\) -0+0074 <[^>]*> lw \$at,0\(\$gp\) +0+006c <[^>]*> swl a0,0\(at\) +0+0070 <[^>]*> swr a0,3\(at\) +0+0074 <[^>]*> lw at,0\(gp\) [ ]*74: R_MIPS_GOT16 .bss 0+0078 <[^>]*> nop -0+007c <[^>]*> addiu \$at,\$at,0 +0+007c <[^>]*> addiu at,at,0 [ ]*7c: R_MIPS_LO16 .bss -0+0080 <[^>]*> lb \$a0,0\(\$at\) -0+0084 <[^>]*> lbu \$at,1\(\$at\) -0+0088 <[^>]*> sll \$a0,\$a0,0x8 -0+008c <[^>]*> or \$a0,\$a0,\$at -0+0090 <[^>]*> lw \$at,0\(\$gp\) +0+0080 <[^>]*> lb a0,0\(at\) +0+0084 <[^>]*> lbu at,1\(at\) +0+0088 <[^>]*> sll a0,a0,0x8 +0+008c <[^>]*> or a0,a0,at +0+0090 <[^>]*> lw at,0\(gp\) [ ]*90: R_MIPS_GOT16 .bss 0+0094 <[^>]*> nop -0+0098 <[^>]*> addiu \$at,\$at,1000 +0+0098 <[^>]*> addiu at,at,1000 [ ]*98: R_MIPS_LO16 .bss -0+009c <[^>]*> lbu \$a0,0\(\$at\) -0+00a0 <[^>]*> lbu \$at,1\(\$at\) -0+00a4 <[^>]*> sll \$a0,\$a0,0x8 -0+00a8 <[^>]*> or \$a0,\$a0,\$at -0+00ac <[^>]*> lw \$at,0\(\$gp\) +0+009c <[^>]*> lbu a0,0\(at\) +0+00a0 <[^>]*> lbu at,1\(at\) +0+00a4 <[^>]*> sll a0,a0,0x8 +0+00a8 <[^>]*> or a0,a0,at +0+00ac <[^>]*> lw at,0\(gp\) [ ]*ac: R_MIPS_GOT16 .data 0+00b0 <[^>]*> nop -0+00b4 <[^>]*> addiu \$at,\$at,0 +0+00b4 <[^>]*> addiu at,at,0 [ ]*b4: R_MIPS_LO16 .data -0+00b8 <[^>]*> addiu \$at,\$at,1 -0+00bc <[^>]*> lwl \$a0,0\(\$at\) -0+00c0 <[^>]*> lwr \$a0,3\(\$at\) -0+00c4 <[^>]*> lw \$at,0\(\$gp\) +0+00b8 <[^>]*> addiu at,at,1 +0+00bc <[^>]*> lwl a0,0\(at\) +0+00c0 <[^>]*> lwr a0,3\(at\) +0+00c4 <[^>]*> lw at,0\(gp\) [ ]*c4: R_MIPS_GOT16 big_external_data_label 0+00c8 <[^>]*> nop -0+00cc <[^>]*> addiu \$at,\$at,1 -0+00d0 <[^>]*> sb \$a0,1\(\$at\) -0+00d4 <[^>]*> srl \$a0,\$a0,0x8 -0+00d8 <[^>]*> sb \$a0,0\(\$at\) -0+00dc <[^>]*> lbu \$at,1\(\$at\) -0+00e0 <[^>]*> sll \$a0,\$a0,0x8 -0+00e4 <[^>]*> or \$a0,\$a0,\$at -0+00e8 <[^>]*> lw \$at,0\(\$gp\) +0+00cc <[^>]*> addiu at,at,1 +0+00d0 <[^>]*> sb a0,1\(at\) +0+00d4 <[^>]*> srl a0,a0,0x8 +0+00d8 <[^>]*> sb a0,0\(at\) +0+00dc <[^>]*> lbu at,1\(at\) +0+00e0 <[^>]*> sll a0,a0,0x8 +0+00e4 <[^>]*> or a0,a0,at +0+00e8 <[^>]*> lw at,0\(gp\) [ ]*e8: R_MIPS_GOT16 small_external_data_label 0+00ec <[^>]*> nop -0+00f0 <[^>]*> addiu \$at,\$at,1 -0+00f4 <[^>]*> swl \$a0,0\(\$at\) -0+00f8 <[^>]*> swr \$a0,3\(\$at\) -0+00fc <[^>]*> lw \$at,0\(\$gp\) +0+00f0 <[^>]*> addiu at,at,1 +0+00f4 <[^>]*> swl a0,0\(at\) +0+00f8 <[^>]*> swr a0,3\(at\) +0+00fc <[^>]*> lw at,0\(gp\) [ ]*fc: R_MIPS_GOT16 big_external_common 0+0100 <[^>]*> nop -0+0104 <[^>]*> addiu \$at,\$at,1 -0+0108 <[^>]*> lb \$a0,0\(\$at\) -0+010c <[^>]*> lbu \$at,1\(\$at\) -0+0110 <[^>]*> sll \$a0,\$a0,0x8 -0+0114 <[^>]*> or \$a0,\$a0,\$at -0+0118 <[^>]*> lw \$at,0\(\$gp\) +0+0104 <[^>]*> addiu at,at,1 +0+0108 <[^>]*> lb a0,0\(at\) +0+010c <[^>]*> lbu at,1\(at\) +0+0110 <[^>]*> sll a0,a0,0x8 +0+0114 <[^>]*> or a0,a0,at +0+0118 <[^>]*> lw at,0\(gp\) [ ]*118: R_MIPS_GOT16 small_external_common 0+011c <[^>]*> nop -0+0120 <[^>]*> addiu \$at,\$at,1 -0+0124 <[^>]*> lbu \$a0,0\(\$at\) -0+0128 <[^>]*> lbu \$at,1\(\$at\) -0+012c <[^>]*> sll \$a0,\$a0,0x8 -0+0130 <[^>]*> or \$a0,\$a0,\$at -0+0134 <[^>]*> lw \$at,0\(\$gp\) +0+0120 <[^>]*> addiu at,at,1 +0+0124 <[^>]*> lbu a0,0\(at\) +0+0128 <[^>]*> lbu at,1\(at\) +0+012c <[^>]*> sll a0,a0,0x8 +0+0130 <[^>]*> or a0,a0,at +0+0134 <[^>]*> lw at,0\(gp\) [ ]*134: R_MIPS_GOT16 .bss 0+0138 <[^>]*> nop -0+013c <[^>]*> addiu \$at,\$at,0 +0+013c <[^>]*> addiu at,at,0 [ ]*13c: R_MIPS_LO16 .bss -0+0140 <[^>]*> addiu \$at,\$at,1 -0+0144 <[^>]*> lwl \$a0,0\(\$at\) -0+0148 <[^>]*> lwr \$a0,3\(\$at\) -0+014c <[^>]*> lw \$at,0\(\$gp\) +0+0140 <[^>]*> addiu at,at,1 +0+0144 <[^>]*> lwl a0,0\(at\) +0+0148 <[^>]*> lwr a0,3\(at\) +0+014c <[^>]*> lw at,0\(gp\) [ ]*14c: R_MIPS_GOT16 .bss 0+0150 <[^>]*> nop -0+0154 <[^>]*> addiu \$at,\$at,1000 +0+0154 <[^>]*> addiu at,at,1000 [ ]*154: R_MIPS_LO16 .bss -0+0158 <[^>]*> addiu \$at,\$at,1 -0+015c <[^>]*> sb \$a0,1\(\$at\) -0+0160 <[^>]*> srl \$a0,\$a0,0x8 -0+0164 <[^>]*> sb \$a0,0\(\$at\) -0+0168 <[^>]*> lbu \$at,1\(\$at\) -0+016c <[^>]*> sll \$a0,\$a0,0x8 -0+0170 <[^>]*> or \$a0,\$a0,\$at +0+0158 <[^>]*> addiu at,at,1 +0+015c <[^>]*> sb a0,1\(at\) +0+0160 <[^>]*> srl a0,a0,0x8 +0+0164 <[^>]*> sb a0,0\(at\) +0+0168 <[^>]*> lbu at,1\(at\) +0+016c <[^>]*> sll a0,a0,0x8 +0+0170 <[^>]*> or a0,a0,at ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/ulh-xgot.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/ulh-xgot.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/ulh-xgot.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/ulh-xgot.d Mon May 21 10:37:05 2001 @@ -8,147 +8,147 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lw \$at,0\(\$gp\) +0+0000 <[^>]*> lw at,0\(gp\) [ ]*0: R_MIPS_GOT16 .data 0+0004 <[^>]*> nop -0+0008 <[^>]*> addiu \$at,\$at,0 +0+0008 <[^>]*> addiu at,at,0 [ ]*8: R_MIPS_LO16 .data 0+000c <[^>]*> nop -0+0010 <[^>]*> lb \$a0,0\(\$at\) -0+0014 <[^>]*> lbu \$at,1\(\$at\) -0+0018 <[^>]*> sll \$a0,\$a0,0x8 -0+001c <[^>]*> or \$a0,\$a0,\$at -0+0020 <[^>]*> lui \$at,0x0 +0+0010 <[^>]*> lb a0,0\(at\) +0+0014 <[^>]*> lbu at,1\(at\) +0+0018 <[^>]*> sll a0,a0,0x8 +0+001c <[^>]*> or a0,a0,at +0+0020 <[^>]*> lui at,0x0 [ ]*20: R_MIPS_GOT_HI16 big_external_data_label -0+0024 <[^>]*> addu \$at,\$at,\$gp -0+0028 <[^>]*> lw \$at,0\(\$at\) +0+0024 <[^>]*> addu at,at,gp +0+0028 <[^>]*> lw at,0\(at\) [ ]*28: R_MIPS_GOT_LO16 big_external_data_label 0+002c <[^>]*> nop -0+0030 <[^>]*> lbu \$a0,0\(\$at\) -0+0034 <[^>]*> lbu \$at,1\(\$at\) -0+0038 <[^>]*> sll \$a0,\$a0,0x8 -0+003c <[^>]*> or \$a0,\$a0,\$at -0+0040 <[^>]*> lui \$at,0x0 +0+0030 <[^>]*> lbu a0,0\(at\) +0+0034 <[^>]*> lbu at,1\(at\) +0+0038 <[^>]*> sll a0,a0,0x8 +0+003c <[^>]*> or a0,a0,at +0+0040 <[^>]*> lui at,0x0 [ ]*40: R_MIPS_GOT_HI16 small_external_data_label -0+0044 <[^>]*> addu \$at,\$at,\$gp -0+0048 <[^>]*> lw \$at,0\(\$at\) +0+0044 <[^>]*> addu at,at,gp +0+0048 <[^>]*> lw at,0\(at\) [ ]*48: R_MIPS_GOT_LO16 small_external_data_label 0+004c <[^>]*> nop -0+0050 <[^>]*> lwl \$a0,0\(\$at\) -0+0054 <[^>]*> lwr \$a0,3\(\$at\) -0+0058 <[^>]*> lui \$at,0x0 +0+0050 <[^>]*> lwl a0,0\(at\) +0+0054 <[^>]*> lwr a0,3\(at\) +0+0058 <[^>]*> lui at,0x0 [ ]*58: R_MIPS_GOT_HI16 big_external_common -0+005c <[^>]*> addu \$at,\$at,\$gp -0+0060 <[^>]*> lw \$at,0\(\$at\) +0+005c <[^>]*> addu at,at,gp +0+0060 <[^>]*> lw at,0\(at\) [ ]*60: R_MIPS_GOT_LO16 big_external_common 0+0064 <[^>]*> nop -0+0068 <[^>]*> sb \$a0,1\(\$at\) -0+006c <[^>]*> srl \$a0,\$a0,0x8 -0+0070 <[^>]*> sb \$a0,0\(\$at\) -0+0074 <[^>]*> lbu \$at,1\(\$at\) -0+0078 <[^>]*> sll \$a0,\$a0,0x8 -0+007c <[^>]*> or \$a0,\$a0,\$at -0+0080 <[^>]*> lui \$at,0x0 +0+0068 <[^>]*> sb a0,1\(at\) +0+006c <[^>]*> srl a0,a0,0x8 +0+0070 <[^>]*> sb a0,0\(at\) +0+0074 <[^>]*> lbu at,1\(at\) +0+0078 <[^>]*> sll a0,a0,0x8 +0+007c <[^>]*> or a0,a0,at +0+0080 <[^>]*> lui at,0x0 [ ]*80: R_MIPS_GOT_HI16 small_external_common -0+0084 <[^>]*> addu \$at,\$at,\$gp -0+0088 <[^>]*> lw \$at,0\(\$at\) +0+0084 <[^>]*> addu at,at,gp +0+0088 <[^>]*> lw at,0\(at\) [ ]*88: R_MIPS_GOT_LO16 small_external_common 0+008c <[^>]*> nop -0+0090 <[^>]*> swl \$a0,0\(\$at\) -0+0094 <[^>]*> swr \$a0,3\(\$at\) -0+0098 <[^>]*> lw \$at,0\(\$gp\) +0+0090 <[^>]*> swl a0,0\(at\) +0+0094 <[^>]*> swr a0,3\(at\) +0+0098 <[^>]*> lw at,0\(gp\) [ ]*98: R_MIPS_GOT16 .bss 0+009c <[^>]*> nop -0+00a0 <[^>]*> addiu \$at,\$at,0 +0+00a0 <[^>]*> addiu at,at,0 [ ]*a0: R_MIPS_LO16 .bss 0+00a4 <[^>]*> nop -0+00a8 <[^>]*> lb \$a0,0\(\$at\) -0+00ac <[^>]*> lbu \$at,1\(\$at\) -0+00b0 <[^>]*> sll \$a0,\$a0,0x8 -0+00b4 <[^>]*> or \$a0,\$a0,\$at -0+00b8 <[^>]*> lw \$at,0\(\$gp\) +0+00a8 <[^>]*> lb a0,0\(at\) +0+00ac <[^>]*> lbu at,1\(at\) +0+00b0 <[^>]*> sll a0,a0,0x8 +0+00b4 <[^>]*> or a0,a0,at +0+00b8 <[^>]*> lw at,0\(gp\) [ ]*b8: R_MIPS_GOT16 .bss 0+00bc <[^>]*> nop -0+00c0 <[^>]*> addiu \$at,\$at,1000 +0+00c0 <[^>]*> addiu at,at,1000 [ ]*c0: R_MIPS_LO16 .bss 0+00c4 <[^>]*> nop -0+00c8 <[^>]*> lbu \$a0,0\(\$at\) -0+00cc <[^>]*> lbu \$at,1\(\$at\) -0+00d0 <[^>]*> sll \$a0,\$a0,0x8 -0+00d4 <[^>]*> or \$a0,\$a0,\$at -0+00d8 <[^>]*> lw \$at,0\(\$gp\) +0+00c8 <[^>]*> lbu a0,0\(at\) +0+00cc <[^>]*> lbu at,1\(at\) +0+00d0 <[^>]*> sll a0,a0,0x8 +0+00d4 <[^>]*> or a0,a0,at +0+00d8 <[^>]*> lw at,0\(gp\) [ ]*d8: R_MIPS_GOT16 .data 0+00dc <[^>]*> nop -0+00e0 <[^>]*> addiu \$at,\$at,0 +0+00e0 <[^>]*> addiu at,at,0 [ ]*e0: R_MIPS_LO16 .data 0+00e4 <[^>]*> nop -0+00e8 <[^>]*> addiu \$at,\$at,1 -0+00ec <[^>]*> lwl \$a0,0\(\$at\) -0+00f0 <[^>]*> lwr \$a0,3\(\$at\) -0+00f4 <[^>]*> lui \$at,0x0 +0+00e8 <[^>]*> addiu at,at,1 +0+00ec <[^>]*> lwl a0,0\(at\) +0+00f0 <[^>]*> lwr a0,3\(at\) +0+00f4 <[^>]*> lui at,0x0 [ ]*f4: R_MIPS_GOT_HI16 big_external_data_label -0+00f8 <[^>]*> addu \$at,\$at,\$gp -0+00fc <[^>]*> lw \$at,0\(\$at\) +0+00f8 <[^>]*> addu at,at,gp +0+00fc <[^>]*> lw at,0\(at\) [ ]*fc: R_MIPS_GOT_LO16 big_external_data_label 0+0100 <[^>]*> nop -0+0104 <[^>]*> addiu \$at,\$at,1 -0+0108 <[^>]*> sb \$a0,1\(\$at\) -0+010c <[^>]*> srl \$a0,\$a0,0x8 -0+0110 <[^>]*> sb \$a0,0\(\$at\) -0+0114 <[^>]*> lbu \$at,1\(\$at\) -0+0118 <[^>]*> sll \$a0,\$a0,0x8 -0+011c <[^>]*> or \$a0,\$a0,\$at -0+0120 <[^>]*> lui \$at,0x0 +0+0104 <[^>]*> addiu at,at,1 +0+0108 <[^>]*> sb a0,1\(at\) +0+010c <[^>]*> srl a0,a0,0x8 +0+0110 <[^>]*> sb a0,0\(at\) +0+0114 <[^>]*> lbu at,1\(at\) +0+0118 <[^>]*> sll a0,a0,0x8 +0+011c <[^>]*> or a0,a0,at +0+0120 <[^>]*> lui at,0x0 [ ]*120: R_MIPS_GOT_HI16 small_external_data_label -0+0124 <[^>]*> addu \$at,\$at,\$gp -0+0128 <[^>]*> lw \$at,0\(\$at\) +0+0124 <[^>]*> addu at,at,gp +0+0128 <[^>]*> lw at,0\(at\) [ ]*128: R_MIPS_GOT_LO16 small_external_data_label 0+012c <[^>]*> nop -0+0130 <[^>]*> addiu \$at,\$at,1 -0+0134 <[^>]*> swl \$a0,0\(\$at\) -0+0138 <[^>]*> swr \$a0,3\(\$at\) -0+013c <[^>]*> lui \$at,0x0 +0+0130 <[^>]*> addiu at,at,1 +0+0134 <[^>]*> swl a0,0\(at\) +0+0138 <[^>]*> swr a0,3\(at\) +0+013c <[^>]*> lui at,0x0 [ ]*13c: R_MIPS_GOT_HI16 big_external_common -0+0140 <[^>]*> addu \$at,\$at,\$gp -0+0144 <[^>]*> lw \$at,0\(\$at\) +0+0140 <[^>]*> addu at,at,gp +0+0144 <[^>]*> lw at,0\(at\) [ ]*144: R_MIPS_GOT_LO16 big_external_common 0+0148 <[^>]*> nop -0+014c <[^>]*> addiu \$at,\$at,1 -0+0150 <[^>]*> lb \$a0,0\(\$at\) -0+0154 <[^>]*> lbu \$at,1\(\$at\) -0+0158 <[^>]*> sll \$a0,\$a0,0x8 -0+015c <[^>]*> or \$a0,\$a0,\$at -0+0160 <[^>]*> lui \$at,0x0 +0+014c <[^>]*> addiu at,at,1 +0+0150 <[^>]*> lb a0,0\(at\) +0+0154 <[^>]*> lbu at,1\(at\) +0+0158 <[^>]*> sll a0,a0,0x8 +0+015c <[^>]*> or a0,a0,at +0+0160 <[^>]*> lui at,0x0 [ ]*160: R_MIPS_GOT_HI16 small_external_common -0+0164 <[^>]*> addu \$at,\$at,\$gp -0+0168 <[^>]*> lw \$at,0\(\$at\) +0+0164 <[^>]*> addu at,at,gp +0+0168 <[^>]*> lw at,0\(at\) [ ]*168: R_MIPS_GOT_LO16 small_external_common 0+016c <[^>]*> nop -0+0170 <[^>]*> addiu \$at,\$at,1 -0+0174 <[^>]*> lbu \$a0,0\(\$at\) -0+0178 <[^>]*> lbu \$at,1\(\$at\) -0+017c <[^>]*> sll \$a0,\$a0,0x8 -0+0180 <[^>]*> or \$a0,\$a0,\$at -0+0184 <[^>]*> lw \$at,0\(\$gp\) +0+0170 <[^>]*> addiu at,at,1 +0+0174 <[^>]*> lbu a0,0\(at\) +0+0178 <[^>]*> lbu at,1\(at\) +0+017c <[^>]*> sll a0,a0,0x8 +0+0180 <[^>]*> or a0,a0,at +0+0184 <[^>]*> lw at,0\(gp\) [ ]*184: R_MIPS_GOT16 .bss 0+0188 <[^>]*> nop -0+018c <[^>]*> addiu \$at,\$at,0 +0+018c <[^>]*> addiu at,at,0 [ ]*18c: R_MIPS_LO16 .bss 0+0190 <[^>]*> nop -0+0194 <[^>]*> addiu \$at,\$at,1 -0+0198 <[^>]*> lwl \$a0,0\(\$at\) -0+019c <[^>]*> lwr \$a0,3\(\$at\) -0+01a0 <[^>]*> lw \$at,0\(\$gp\) +0+0194 <[^>]*> addiu at,at,1 +0+0198 <[^>]*> lwl a0,0\(at\) +0+019c <[^>]*> lwr a0,3\(at\) +0+01a0 <[^>]*> lw at,0\(gp\) [ ]*1a0: R_MIPS_GOT16 .bss 0+01a4 <[^>]*> nop -0+01a8 <[^>]*> addiu \$at,\$at,1000 +0+01a8 <[^>]*> addiu at,at,1000 [ ]*1a8: R_MIPS_LO16 .bss 0+01ac <[^>]*> nop -0+01b0 <[^>]*> addiu \$at,\$at,1 -0+01b4 <[^>]*> sb \$a0,1\(\$at\) -0+01b8 <[^>]*> srl \$a0,\$a0,0x8 -0+01bc <[^>]*> sb \$a0,0\(\$at\) -0+01c0 <[^>]*> lbu \$at,1\(\$at\) -0+01c4 <[^>]*> sll \$a0,\$a0,0x8 -0+01c8 <[^>]*> or \$a0,\$a0,\$at +0+01b0 <[^>]*> addiu at,at,1 +0+01b4 <[^>]*> sb a0,1\(at\) +0+01b8 <[^>]*> srl a0,a0,0x8 +0+01bc <[^>]*> sb a0,0\(at\) +0+01c0 <[^>]*> lbu at,1\(at\) +0+01c4 <[^>]*> sll a0,a0,0x8 +0+01c8 <[^>]*> or a0,a0,at 0+01cc <[^>]*> nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/ulh.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/ulh.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/ulh.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/ulh.d Mon May 21 10:37:05 2001 @@ -7,368 +7,368 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lb \$a0,[01]\(\$zero\) -0+0004 <[^>]*> lbu \$at,[01]\(\$zero\) -0+0008 <[^>]*> sll \$a0,\$a0,0x8 -0+000c <[^>]*> or \$a0,\$a0,\$at -0+0010 <[^>]*> lb \$a0,[12]\(\$zero\) -0+0014 <[^>]*> lbu \$at,[12]\(\$zero\) -0+0018 <[^>]*> sll \$a0,\$a0,0x8 -0+001c <[^>]*> or \$a0,\$a0,\$at -0+0020 <[^>]*> li \$at,0x8000 -0+0024 <[^>]*> lb \$a0,[01]\(\$at\) -0+0028 <[^>]*> lbu \$at,[01]\(\$at\) -0+002c <[^>]*> sll \$a0,\$a0,0x8 -0+0030 <[^>]*> or \$a0,\$a0,\$at -0+0034 <[^>]*> lb \$a0,-3276[78]\(\$zero\) -0+0038 <[^>]*> lbu \$at,-3276[78]\(\$zero\) -0+003c <[^>]*> sll \$a0,\$a0,0x8 -0+0040 <[^>]*> or \$a0,\$a0,\$at -0+0044 <[^>]*> lui \$at,0x1 -0+0048 <[^>]*> lb \$a0,[01]\(\$at\) -0+004c <[^>]*> lbu \$at,[01]\(\$at\) -0+0050 <[^>]*> sll \$a0,\$a0,0x8 -0+0054 <[^>]*> or \$a0,\$a0,\$at -0+0058 <[^>]*> lui \$at,0x1 -0+005c <[^>]*> ori \$at,\$at,0xa5a5 -0+0060 <[^>]*> lb \$a0,[01]\(\$at\) -0+0064 <[^>]*> lbu \$at,[01]\(\$at\) -0+0068 <[^>]*> sll \$a0,\$a0,0x8 -0+006c <[^>]*> or \$a0,\$a0,\$at -0+0070 <[^>]*> lb \$a0,[01]\(\$a1\) -0+0074 <[^>]*> lbu \$at,[01]\(\$a1\) -0+0078 <[^>]*> sll \$a0,\$a0,0x8 -0+007c <[^>]*> or \$a0,\$a0,\$at -0+0080 <[^>]*> lb \$a0,[12]\(\$a1\) -0+0084 <[^>]*> lbu \$at,[12]\(\$a1\) -0+0088 <[^>]*> sll \$a0,\$a0,0x8 -0+008c <[^>]*> or \$a0,\$a0,\$at -0+0090 <[^>]*> lui \$at,[-0-9x]+ +0+0000 <[^>]*> lb a0,[01]\(zero\) +0+0004 <[^>]*> lbu at,[01]\(zero\) +0+0008 <[^>]*> sll a0,a0,0x8 +0+000c <[^>]*> or a0,a0,at +0+0010 <[^>]*> lb a0,[12]\(zero\) +0+0014 <[^>]*> lbu at,[12]\(zero\) +0+0018 <[^>]*> sll a0,a0,0x8 +0+001c <[^>]*> or a0,a0,at +0+0020 <[^>]*> li at,0x8000 +0+0024 <[^>]*> lb a0,[01]\(at\) +0+0028 <[^>]*> lbu at,[01]\(at\) +0+002c <[^>]*> sll a0,a0,0x8 +0+0030 <[^>]*> or a0,a0,at +0+0034 <[^>]*> lb a0,-3276[78]\(zero\) +0+0038 <[^>]*> lbu at,-3276[78]\(zero\) +0+003c <[^>]*> sll a0,a0,0x8 +0+0040 <[^>]*> or a0,a0,at +0+0044 <[^>]*> lui at,0x1 +0+0048 <[^>]*> lb a0,[01]\(at\) +0+004c <[^>]*> lbu at,[01]\(at\) +0+0050 <[^>]*> sll a0,a0,0x8 +0+0054 <[^>]*> or a0,a0,at +0+0058 <[^>]*> lui at,0x1 +0+005c <[^>]*> ori at,at,0xa5a5 +0+0060 <[^>]*> lb a0,[01]\(at\) +0+0064 <[^>]*> lbu at,[01]\(at\) +0+0068 <[^>]*> sll a0,a0,0x8 +0+006c <[^>]*> or a0,a0,at +0+0070 <[^>]*> lb a0,[01]\(a1\) +0+0074 <[^>]*> lbu at,[01]\(a1\) +0+0078 <[^>]*> sll a0,a0,0x8 +0+007c <[^>]*> or a0,a0,at +0+0080 <[^>]*> lb a0,[12]\(a1\) +0+0084 <[^>]*> lbu at,[12]\(a1\) +0+0088 <[^>]*> sll a0,a0,0x8 +0+008c <[^>]*> or a0,a0,at +0+0090 <[^>]*> lui at,[-0-9x]+ [ ]*90: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0094 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0094 <[^>]*> addiu at,at,[-0-9]+ [ ]*94: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0098 <[^>]*> lb \$a0,[01]\(\$at\) -0+009c <[^>]*> lbu \$at,[01]\(\$at\) -0+00a0 <[^>]*> sll \$a0,\$a0,0x8 -0+00a4 <[^>]*> or \$a0,\$a0,\$at -0+00a8 <[^>]*> lui \$at,0x0 +0+0098 <[^>]*> lb a0,[01]\(at\) +0+009c <[^>]*> lbu at,[01]\(at\) +0+00a0 <[^>]*> sll a0,a0,0x8 +0+00a4 <[^>]*> or a0,a0,at +0+00a8 <[^>]*> lui at,0x0 [ ]*a8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00ac <[^>]*> addiu \$at,\$at,[-0-9]+ +0+00ac <[^>]*> addiu at,at,[-0-9]+ [ ]*ac: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00b0 <[^>]*> lb \$a0,[01]\(\$at\) -0+00b4 <[^>]*> lbu \$at,[01]\(\$at\) -0+00b8 <[^>]*> sll \$a0,\$a0,0x8 -0+00bc <[^>]*> or \$a0,\$a0,\$at -0+00c0 <[^>]*> addiu \$at,\$gp,0 +0+00b0 <[^>]*> lb a0,[01]\(at\) +0+00b4 <[^>]*> lbu at,[01]\(at\) +0+00b8 <[^>]*> sll a0,a0,0x8 +0+00bc <[^>]*> or a0,a0,at +0+00c0 <[^>]*> addiu at,gp,0 [ ]*c0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00c4 <[^>]*> lb \$a0,[01]\(\$at\) -0+00c8 <[^>]*> lbu \$at,[01]\(\$at\) -0+00cc <[^>]*> sll \$a0,\$a0,0x8 -0+00d0 <[^>]*> or \$a0,\$a0,\$at -0+00d4 <[^>]*> lui \$at,0x0 +0+00c4 <[^>]*> lb a0,[01]\(at\) +0+00c8 <[^>]*> lbu at,[01]\(at\) +0+00cc <[^>]*> sll a0,a0,0x8 +0+00d0 <[^>]*> or a0,a0,at +0+00d4 <[^>]*> lui at,0x0 [ ]*d4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00d8 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+00d8 <[^>]*> addiu at,at,[-0-9]+ [ ]*d8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00dc <[^>]*> lb \$a0,[01]\(\$at\) -0+00e0 <[^>]*> lbu \$at,[01]\(\$at\) -0+00e4 <[^>]*> sll \$a0,\$a0,0x8 -0+00e8 <[^>]*> or \$a0,\$a0,\$at -0+00ec <[^>]*> addiu \$at,\$gp,0 +0+00dc <[^>]*> lb a0,[01]\(at\) +0+00e0 <[^>]*> lbu at,[01]\(at\) +0+00e4 <[^>]*> sll a0,a0,0x8 +0+00e8 <[^>]*> or a0,a0,at +0+00ec <[^>]*> addiu at,gp,0 [ ]*ec: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00f0 <[^>]*> lb \$a0,[01]\(\$at\) -0+00f4 <[^>]*> lbu \$at,[01]\(\$at\) -0+00f8 <[^>]*> sll \$a0,\$a0,0x8 -0+00fc <[^>]*> or \$a0,\$a0,\$at -0+0100 <[^>]*> lui \$at,[-0-9x]+ +0+00f0 <[^>]*> lb a0,[01]\(at\) +0+00f4 <[^>]*> lbu at,[01]\(at\) +0+00f8 <[^>]*> sll a0,a0,0x8 +0+00fc <[^>]*> or a0,a0,at +0+0100 <[^>]*> lui at,[-0-9x]+ [ ]*100: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0104 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0104 <[^>]*> addiu at,at,[-0-9]+ [ ]*104: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0108 <[^>]*> lb \$a0,[01]\(\$at\) -0+010c <[^>]*> lbu \$at,[01]\(\$at\) -0+0110 <[^>]*> sll \$a0,\$a0,0x8 -0+0114 <[^>]*> or \$a0,\$a0,\$at -0+0118 <[^>]*> addiu \$at,\$gp,[-0-9]+ +0+0108 <[^>]*> lb a0,[01]\(at\) +0+010c <[^>]*> lbu at,[01]\(at\) +0+0110 <[^>]*> sll a0,a0,0x8 +0+0114 <[^>]*> or a0,a0,at +0+0118 <[^>]*> addiu at,gp,[-0-9]+ [ ]*118: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+011c <[^>]*> lb \$a0,[01]\(\$at\) -0+0120 <[^>]*> lbu \$at,[01]\(\$at\) -0+0124 <[^>]*> sll \$a0,\$a0,0x8 -0+0128 <[^>]*> or \$a0,\$a0,\$at -0+012c <[^>]*> lui \$at,0x0 +0+011c <[^>]*> lb a0,[01]\(at\) +0+0120 <[^>]*> lbu at,[01]\(at\) +0+0124 <[^>]*> sll a0,a0,0x8 +0+0128 <[^>]*> or a0,a0,at +0+012c <[^>]*> lui at,0x0 [ ]*12c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0130 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0130 <[^>]*> addiu at,at,[-0-9]+ [ ]*130: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0134 <[^>]*> lb \$a0,[01]\(\$at\) -0+0138 <[^>]*> lbu \$at,[01]\(\$at\) -0+013c <[^>]*> sll \$a0,\$a0,0x8 -0+0140 <[^>]*> or \$a0,\$a0,\$at -0+0144 <[^>]*> lui \$at,0x0 +0+0134 <[^>]*> lb a0,[01]\(at\) +0+0138 <[^>]*> lbu at,[01]\(at\) +0+013c <[^>]*> sll a0,a0,0x8 +0+0140 <[^>]*> or a0,a0,at +0+0144 <[^>]*> lui at,0x0 [ ]*144: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0148 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0148 <[^>]*> addiu at,at,[-0-9]+ [ ]*148: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+014c <[^>]*> lb \$a0,[01]\(\$at\) -0+0150 <[^>]*> lbu \$at,[01]\(\$at\) -0+0154 <[^>]*> sll \$a0,\$a0,0x8 -0+0158 <[^>]*> or \$a0,\$a0,\$at -0+015c <[^>]*> addiu \$at,\$gp,1 +0+014c <[^>]*> lb a0,[01]\(at\) +0+0150 <[^>]*> lbu at,[01]\(at\) +0+0154 <[^>]*> sll a0,a0,0x8 +0+0158 <[^>]*> or a0,a0,at +0+015c <[^>]*> addiu at,gp,1 [ ]*15c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0160 <[^>]*> lb \$a0,[01]\(\$at\) -0+0164 <[^>]*> lbu \$at,[01]\(\$at\) -0+0168 <[^>]*> sll \$a0,\$a0,0x8 -0+016c <[^>]*> or \$a0,\$a0,\$at -0+0170 <[^>]*> lui \$at,0x0 +0+0160 <[^>]*> lb a0,[01]\(at\) +0+0164 <[^>]*> lbu at,[01]\(at\) +0+0168 <[^>]*> sll a0,a0,0x8 +0+016c <[^>]*> or a0,a0,at +0+0170 <[^>]*> lui at,0x0 [ ]*170: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0174 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0174 <[^>]*> addiu at,at,[-0-9]+ [ ]*174: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0178 <[^>]*> lb \$a0,[01]\(\$at\) -0+017c <[^>]*> lbu \$at,[01]\(\$at\) -0+0180 <[^>]*> sll \$a0,\$a0,0x8 -0+0184 <[^>]*> or \$a0,\$a0,\$at -0+0188 <[^>]*> addiu \$at,\$gp,1 +0+0178 <[^>]*> lb a0,[01]\(at\) +0+017c <[^>]*> lbu at,[01]\(at\) +0+0180 <[^>]*> sll a0,a0,0x8 +0+0184 <[^>]*> or a0,a0,at +0+0188 <[^>]*> addiu at,gp,1 [ ]*188: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+018c <[^>]*> lb \$a0,[01]\(\$at\) -0+0190 <[^>]*> lbu \$at,[01]\(\$at\) -0+0194 <[^>]*> sll \$a0,\$a0,0x8 -0+0198 <[^>]*> or \$a0,\$a0,\$at -0+019c <[^>]*> lui \$at,0x0 +0+018c <[^>]*> lb a0,[01]\(at\) +0+0190 <[^>]*> lbu at,[01]\(at\) +0+0194 <[^>]*> sll a0,a0,0x8 +0+0198 <[^>]*> or a0,a0,at +0+019c <[^>]*> lui at,0x0 [ ]*19c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+01a0 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01a0 <[^>]*> addiu at,at,[-0-9]+ [ ]*1a0: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+01a4 <[^>]*> lb \$a0,[01]\(\$at\) -0+01a8 <[^>]*> lbu \$at,[01]\(\$at\) -0+01ac <[^>]*> sll \$a0,\$a0,0x8 -0+01b0 <[^>]*> or \$a0,\$a0,\$at -0+01b4 <[^>]*> addiu \$at,\$gp,[-0-9]+ +0+01a4 <[^>]*> lb a0,[01]\(at\) +0+01a8 <[^>]*> lbu at,[01]\(at\) +0+01ac <[^>]*> sll a0,a0,0x8 +0+01b0 <[^>]*> or a0,a0,at +0+01b4 <[^>]*> addiu at,gp,[-0-9]+ [ ]*1b4: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+01b8 <[^>]*> lb \$a0,[01]\(\$at\) -0+01bc <[^>]*> lbu \$at,[01]\(\$at\) -0+01c0 <[^>]*> sll \$a0,\$a0,0x8 -0+01c4 <[^>]*> or \$a0,\$a0,\$at -0+01c8 <[^>]*> lui \$at,[-0-9x]+ +0+01b8 <[^>]*> lb a0,[01]\(at\) +0+01bc <[^>]*> lbu at,[01]\(at\) +0+01c0 <[^>]*> sll a0,a0,0x8 +0+01c4 <[^>]*> or a0,a0,at +0+01c8 <[^>]*> lui at,[-0-9x]+ [ ]*1c8: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+01cc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01cc <[^>]*> addiu at,at,[-0-9]+ [ ]*1cc: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+01d0 <[^>]*> lb \$a0,[01]\(\$at\) -0+01d4 <[^>]*> lbu \$at,[01]\(\$at\) -0+01d8 <[^>]*> sll \$a0,\$a0,0x8 -0+01dc <[^>]*> or \$a0,\$a0,\$at -0+01e0 <[^>]*> lui \$at,[-0-9x]+ +0+01d0 <[^>]*> lb a0,[01]\(at\) +0+01d4 <[^>]*> lbu at,[01]\(at\) +0+01d8 <[^>]*> sll a0,a0,0x8 +0+01dc <[^>]*> or a0,a0,at +0+01e0 <[^>]*> lui at,[-0-9x]+ [ ]*1e0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+01e4 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01e4 <[^>]*> addiu at,at,[-0-9]+ [ ]*1e4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01e8 <[^>]*> lb \$a0,[01]\(\$at\) -0+01ec <[^>]*> lbu \$at,[01]\(\$at\) -0+01f0 <[^>]*> sll \$a0,\$a0,0x8 -0+01f4 <[^>]*> or \$a0,\$a0,\$at -0+01f8 <[^>]*> lui \$at,[-0-9x]+ +0+01e8 <[^>]*> lb a0,[01]\(at\) +0+01ec <[^>]*> lbu at,[01]\(at\) +0+01f0 <[^>]*> sll a0,a0,0x8 +0+01f4 <[^>]*> or a0,a0,at +0+01f8 <[^>]*> lui at,[-0-9x]+ [ ]*1f8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+01fc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01fc <[^>]*> addiu at,at,[-0-9]+ [ ]*1fc: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0200 <[^>]*> lb \$a0,[01]\(\$at\) -0+0204 <[^>]*> lbu \$at,[01]\(\$at\) -0+0208 <[^>]*> sll \$a0,\$a0,0x8 -0+020c <[^>]*> or \$a0,\$a0,\$at -0+0210 <[^>]*> lui \$at,[-0-9x]+ +0+0200 <[^>]*> lb a0,[01]\(at\) +0+0204 <[^>]*> lbu at,[01]\(at\) +0+0208 <[^>]*> sll a0,a0,0x8 +0+020c <[^>]*> or a0,a0,at +0+0210 <[^>]*> lui at,[-0-9x]+ [ ]*210: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0214 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0214 <[^>]*> addiu at,at,[-0-9]+ [ ]*214: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0218 <[^>]*> lb \$a0,[01]\(\$at\) -0+021c <[^>]*> lbu \$at,[01]\(\$at\) -0+0220 <[^>]*> sll \$a0,\$a0,0x8 -0+0224 <[^>]*> or \$a0,\$a0,\$at -0+0228 <[^>]*> lui \$at,[-0-9x]+ +0+0218 <[^>]*> lb a0,[01]\(at\) +0+021c <[^>]*> lbu at,[01]\(at\) +0+0220 <[^>]*> sll a0,a0,0x8 +0+0224 <[^>]*> or a0,a0,at +0+0228 <[^>]*> lui at,[-0-9x]+ [ ]*228: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+022c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+022c <[^>]*> addiu at,at,[-0-9]+ [ ]*22c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0230 <[^>]*> lb \$a0,[01]\(\$at\) -0+0234 <[^>]*> lbu \$at,[01]\(\$at\) -0+0238 <[^>]*> sll \$a0,\$a0,0x8 -0+023c <[^>]*> or \$a0,\$a0,\$at -0+0240 <[^>]*> lui \$at,[-0-9x]+ +0+0230 <[^>]*> lb a0,[01]\(at\) +0+0234 <[^>]*> lbu at,[01]\(at\) +0+0238 <[^>]*> sll a0,a0,0x8 +0+023c <[^>]*> or a0,a0,at +0+0240 <[^>]*> lui at,[-0-9x]+ [ ]*240: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0244 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0244 <[^>]*> addiu at,at,[-0-9]+ [ ]*244: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0248 <[^>]*> lb \$a0,[01]\(\$at\) -0+024c <[^>]*> lbu \$at,[01]\(\$at\) -0+0250 <[^>]*> sll \$a0,\$a0,0x8 -0+0254 <[^>]*> or \$a0,\$a0,\$at -0+0258 <[^>]*> lui \$at,[-0-9x]+ +0+0248 <[^>]*> lb a0,[01]\(at\) +0+024c <[^>]*> lbu at,[01]\(at\) +0+0250 <[^>]*> sll a0,a0,0x8 +0+0254 <[^>]*> or a0,a0,at +0+0258 <[^>]*> lui at,[-0-9x]+ [ ]*258: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+025c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+025c <[^>]*> addiu at,at,[-0-9]+ [ ]*25c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0260 <[^>]*> lb \$a0,[01]\(\$at\) -0+0264 <[^>]*> lbu \$at,[01]\(\$at\) -0+0268 <[^>]*> sll \$a0,\$a0,0x8 -0+026c <[^>]*> or \$a0,\$a0,\$at -0+0270 <[^>]*> lui \$at,0x0 +0+0260 <[^>]*> lb a0,[01]\(at\) +0+0264 <[^>]*> lbu at,[01]\(at\) +0+0268 <[^>]*> sll a0,a0,0x8 +0+026c <[^>]*> or a0,a0,at +0+0270 <[^>]*> lui at,0x0 [ ]*270: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0274 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0274 <[^>]*> addiu at,at,[-0-9]+ [ ]*274: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0278 <[^>]*> lb \$a0,[01]\(\$at\) -0+027c <[^>]*> lbu \$at,[01]\(\$at\) -0+0280 <[^>]*> sll \$a0,\$a0,0x8 -0+0284 <[^>]*> or \$a0,\$a0,\$at -0+0288 <[^>]*> lui \$at,0x0 +0+0278 <[^>]*> lb a0,[01]\(at\) +0+027c <[^>]*> lbu at,[01]\(at\) +0+0280 <[^>]*> sll a0,a0,0x8 +0+0284 <[^>]*> or a0,a0,at +0+0288 <[^>]*> lui at,0x0 [ ]*288: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+028c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+028c <[^>]*> addiu at,at,[-0-9]+ [ ]*28c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0290 <[^>]*> lb \$a0,[01]\(\$at\) -0+0294 <[^>]*> lbu \$at,[01]\(\$at\) -0+0298 <[^>]*> sll \$a0,\$a0,0x8 -0+029c <[^>]*> or \$a0,\$a0,\$at -0+02a0 <[^>]*> lui \$at,0x0 +0+0290 <[^>]*> lb a0,[01]\(at\) +0+0294 <[^>]*> lbu at,[01]\(at\) +0+0298 <[^>]*> sll a0,a0,0x8 +0+029c <[^>]*> or a0,a0,at +0+02a0 <[^>]*> lui at,0x0 [ ]*2a0: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+02a4 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+02a4 <[^>]*> addiu at,at,[-0-9]+ [ ]*2a4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+02a8 <[^>]*> lb \$a0,[01]\(\$at\) -0+02ac <[^>]*> lbu \$at,[01]\(\$at\) -0+02b0 <[^>]*> sll \$a0,\$a0,0x8 -0+02b4 <[^>]*> or \$a0,\$a0,\$at -0+02b8 <[^>]*> lui \$at,0x0 +0+02a8 <[^>]*> lb a0,[01]\(at\) +0+02ac <[^>]*> lbu at,[01]\(at\) +0+02b0 <[^>]*> sll a0,a0,0x8 +0+02b4 <[^>]*> or a0,a0,at +0+02b8 <[^>]*> lui at,0x0 [ ]*2b8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+02bc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+02bc <[^>]*> addiu at,at,[-0-9]+ [ ]*2bc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+02c0 <[^>]*> lb \$a0,[01]\(\$at\) -0+02c4 <[^>]*> lbu \$at,[01]\(\$at\) -0+02c8 <[^>]*> sll \$a0,\$a0,0x8 -0+02cc <[^>]*> or \$a0,\$a0,\$at -0+02d0 <[^>]*> lui \$at,0x0 +0+02c0 <[^>]*> lb a0,[01]\(at\) +0+02c4 <[^>]*> lbu at,[01]\(at\) +0+02c8 <[^>]*> sll a0,a0,0x8 +0+02cc <[^>]*> or a0,a0,at +0+02d0 <[^>]*> lui at,0x0 [ ]*2d0: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+02d4 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+02d4 <[^>]*> addiu at,at,[-0-9]+ [ ]*2d4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+02d8 <[^>]*> lb \$a0,[01]\(\$at\) -0+02dc <[^>]*> lbu \$at,[01]\(\$at\) -0+02e0 <[^>]*> sll \$a0,\$a0,0x8 -0+02e4 <[^>]*> or \$a0,\$a0,\$at -0+02e8 <[^>]*> lui \$at,0x0 +0+02d8 <[^>]*> lb a0,[01]\(at\) +0+02dc <[^>]*> lbu at,[01]\(at\) +0+02e0 <[^>]*> sll a0,a0,0x8 +0+02e4 <[^>]*> or a0,a0,at +0+02e8 <[^>]*> lui at,0x0 [ ]*2e8: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+02ec <[^>]*> addiu \$at,\$at,[-0-9]+ +0+02ec <[^>]*> addiu at,at,[-0-9]+ [ ]*2ec: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+02f0 <[^>]*> lb \$a0,[01]\(\$at\) -0+02f4 <[^>]*> lbu \$at,[01]\(\$at\) -0+02f8 <[^>]*> sll \$a0,\$a0,0x8 -0+02fc <[^>]*> or \$a0,\$a0,\$at -0+0300 <[^>]*> lui \$at,0x0 +0+02f0 <[^>]*> lb a0,[01]\(at\) +0+02f4 <[^>]*> lbu at,[01]\(at\) +0+02f8 <[^>]*> sll a0,a0,0x8 +0+02fc <[^>]*> or a0,a0,at +0+0300 <[^>]*> lui at,0x0 [ ]*300: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0304 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0304 <[^>]*> addiu at,at,[-0-9]+ [ ]*304: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0308 <[^>]*> lb \$a0,[01]\(\$at\) -0+030c <[^>]*> lbu \$at,[01]\(\$at\) -0+0310 <[^>]*> sll \$a0,\$a0,0x8 -0+0314 <[^>]*> or \$a0,\$a0,\$at -0+0318 <[^>]*> lui \$at,[-0-9x]+ +0+0308 <[^>]*> lb a0,[01]\(at\) +0+030c <[^>]*> lbu at,[01]\(at\) +0+0310 <[^>]*> sll a0,a0,0x8 +0+0314 <[^>]*> or a0,a0,at +0+0318 <[^>]*> lui at,[-0-9x]+ [ ]*318: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+031c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+031c <[^>]*> addiu at,at,[-0-9]+ [ ]*31c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0320 <[^>]*> lb \$a0,[01]\(\$at\) -0+0324 <[^>]*> lbu \$at,[01]\(\$at\) -0+0328 <[^>]*> sll \$a0,\$a0,0x8 -0+032c <[^>]*> or \$a0,\$a0,\$at -0+0330 <[^>]*> lui \$at,[-0-9x]+ +0+0320 <[^>]*> lb a0,[01]\(at\) +0+0324 <[^>]*> lbu at,[01]\(at\) +0+0328 <[^>]*> sll a0,a0,0x8 +0+032c <[^>]*> or a0,a0,at +0+0330 <[^>]*> lui at,[-0-9x]+ [ ]*330: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0334 <[^>]*> addiu \$at,\$at,0 +0+0334 <[^>]*> addiu at,at,0 [ ]*334: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0338 <[^>]*> lb \$a0,[01]\(\$at\) -0+033c <[^>]*> lbu \$at,[01]\(\$at\) -0+0340 <[^>]*> sll \$a0,\$a0,0x8 -0+0344 <[^>]*> or \$a0,\$a0,\$at -0+0348 <[^>]*> lui \$at,[-0-9x]+ +0+0338 <[^>]*> lb a0,[01]\(at\) +0+033c <[^>]*> lbu at,[01]\(at\) +0+0340 <[^>]*> sll a0,a0,0x8 +0+0344 <[^>]*> or a0,a0,at +0+0348 <[^>]*> lui at,[-0-9x]+ [ ]*348: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+034c <[^>]*> addiu \$at,\$at,0 +0+034c <[^>]*> addiu at,at,0 [ ]*34c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0350 <[^>]*> lb \$a0,[01]\(\$at\) -0+0354 <[^>]*> lbu \$at,[01]\(\$at\) -0+0358 <[^>]*> sll \$a0,\$a0,0x8 -0+035c <[^>]*> or \$a0,\$a0,\$at -0+0360 <[^>]*> lui \$at,[-0-9x]+ +0+0350 <[^>]*> lb a0,[01]\(at\) +0+0354 <[^>]*> lbu at,[01]\(at\) +0+0358 <[^>]*> sll a0,a0,0x8 +0+035c <[^>]*> or a0,a0,at +0+0360 <[^>]*> lui at,[-0-9x]+ [ ]*360: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0364 <[^>]*> addiu \$at,\$at,0 +0+0364 <[^>]*> addiu at,at,0 [ ]*364: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0368 <[^>]*> lb \$a0,[01]\(\$at\) -0+036c <[^>]*> lbu \$at,[01]\(\$at\) -0+0370 <[^>]*> sll \$a0,\$a0,0x8 -0+0374 <[^>]*> or \$a0,\$a0,\$at -0+0378 <[^>]*> lui \$at,[-0-9x]+ +0+0368 <[^>]*> lb a0,[01]\(at\) +0+036c <[^>]*> lbu at,[01]\(at\) +0+0370 <[^>]*> sll a0,a0,0x8 +0+0374 <[^>]*> or a0,a0,at +0+0378 <[^>]*> lui at,[-0-9x]+ [ ]*378: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+037c <[^>]*> addiu \$at,\$at,0 +0+037c <[^>]*> addiu at,at,0 [ ]*37c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0380 <[^>]*> lb \$a0,[01]\(\$at\) -0+0384 <[^>]*> lbu \$at,[01]\(\$at\) -0+0388 <[^>]*> sll \$a0,\$a0,0x8 -0+038c <[^>]*> or \$a0,\$a0,\$at -0+0390 <[^>]*> lui \$at,[-0-9x]+ +0+0380 <[^>]*> lb a0,[01]\(at\) +0+0384 <[^>]*> lbu at,[01]\(at\) +0+0388 <[^>]*> sll a0,a0,0x8 +0+038c <[^>]*> or a0,a0,at +0+0390 <[^>]*> lui at,[-0-9x]+ [ ]*390: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0394 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0394 <[^>]*> addiu at,at,[-0-9]+ [ ]*394: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0398 <[^>]*> lb \$a0,[01]\(\$at\) -0+039c <[^>]*> lbu \$at,[01]\(\$at\) -0+03a0 <[^>]*> sll \$a0,\$a0,0x8 -0+03a4 <[^>]*> or \$a0,\$a0,\$at -0+03a8 <[^>]*> lui \$at,[-0-9x]+ +0+0398 <[^>]*> lb a0,[01]\(at\) +0+039c <[^>]*> lbu at,[01]\(at\) +0+03a0 <[^>]*> sll a0,a0,0x8 +0+03a4 <[^>]*> or a0,a0,at +0+03a8 <[^>]*> lui at,[-0-9x]+ [ ]*3a8: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+03ac <[^>]*> addiu \$at,\$at,[-0-9]+ +0+03ac <[^>]*> addiu at,at,[-0-9]+ [ ]*3ac: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+03b0 <[^>]*> lb \$a0,[01]\(\$at\) -0+03b4 <[^>]*> lbu \$at,[01]\(\$at\) -0+03b8 <[^>]*> sll \$a0,\$a0,0x8 -0+03bc <[^>]*> or \$a0,\$a0,\$at -0+03c0 <[^>]*> lui \$at,[-0-9x]+ +0+03b0 <[^>]*> lb a0,[01]\(at\) +0+03b4 <[^>]*> lbu at,[01]\(at\) +0+03b8 <[^>]*> sll a0,a0,0x8 +0+03bc <[^>]*> or a0,a0,at +0+03c0 <[^>]*> lui at,[-0-9x]+ [ ]*3c0: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+03c4 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+03c4 <[^>]*> addiu at,at,[-0-9]+ [ ]*3c4: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+03c8 <[^>]*> lb \$a0,[01]\(\$at\) -0+03cc <[^>]*> lbu \$at,[01]\(\$at\) -0+03d0 <[^>]*> sll \$a0,\$a0,0x8 -0+03d4 <[^>]*> or \$a0,\$a0,\$at -0+03d8 <[^>]*> lui \$at,[-0-9x]+ +0+03c8 <[^>]*> lb a0,[01]\(at\) +0+03cc <[^>]*> lbu at,[01]\(at\) +0+03d0 <[^>]*> sll a0,a0,0x8 +0+03d4 <[^>]*> or a0,a0,at +0+03d8 <[^>]*> lui at,[-0-9x]+ [ ]*3d8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+03dc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+03dc <[^>]*> addiu at,at,[-0-9]+ [ ]*3dc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+03e0 <[^>]*> lb \$a0,[01]\(\$at\) -0+03e4 <[^>]*> lbu \$at,[01]\(\$at\) -0+03e8 <[^>]*> sll \$a0,\$a0,0x8 -0+03ec <[^>]*> or \$a0,\$a0,\$at -0+03f0 <[^>]*> lui \$at,[-0-9x]+ +0+03e0 <[^>]*> lb a0,[01]\(at\) +0+03e4 <[^>]*> lbu at,[01]\(at\) +0+03e8 <[^>]*> sll a0,a0,0x8 +0+03ec <[^>]*> or a0,a0,at +0+03f0 <[^>]*> lui at,[-0-9x]+ [ ]*3f0: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+03f4 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+03f4 <[^>]*> addiu at,at,[-0-9]+ [ ]*3f4: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+03f8 <[^>]*> lb \$a0,[01]\(\$at\) -0+03fc <[^>]*> lbu \$at,[01]\(\$at\) -0+0400 <[^>]*> sll \$a0,\$a0,0x8 -0+0404 <[^>]*> or \$a0,\$a0,\$at -0+0408 <[^>]*> lui \$at,[-0-9x]+ +0+03f8 <[^>]*> lb a0,[01]\(at\) +0+03fc <[^>]*> lbu at,[01]\(at\) +0+0400 <[^>]*> sll a0,a0,0x8 +0+0404 <[^>]*> or a0,a0,at +0+0408 <[^>]*> lui at,[-0-9x]+ [ ]*408: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+040c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+040c <[^>]*> addiu at,at,[-0-9]+ [ ]*40c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0410 <[^>]*> lb \$a0,[01]\(\$at\) -0+0414 <[^>]*> lbu \$at,[01]\(\$at\) -0+0418 <[^>]*> sll \$a0,\$a0,0x8 -0+041c <[^>]*> or \$a0,\$a0,\$at -0+0420 <[^>]*> lui \$at,[-0-9x]+ +0+0410 <[^>]*> lb a0,[01]\(at\) +0+0414 <[^>]*> lbu at,[01]\(at\) +0+0418 <[^>]*> sll a0,a0,0x8 +0+041c <[^>]*> or a0,a0,at +0+0420 <[^>]*> lui at,[-0-9x]+ [ ]*420: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0424 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0424 <[^>]*> addiu at,at,[-0-9]+ [ ]*424: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0428 <[^>]*> lb \$a0,[01]\(\$at\) -0+042c <[^>]*> lbu \$at,[01]\(\$at\) -0+0430 <[^>]*> sll \$a0,\$a0,0x8 -0+0434 <[^>]*> or \$a0,\$a0,\$at -0+0438 <[^>]*> lui \$at,[-0-9x]+ +0+0428 <[^>]*> lb a0,[01]\(at\) +0+042c <[^>]*> lbu at,[01]\(at\) +0+0430 <[^>]*> sll a0,a0,0x8 +0+0434 <[^>]*> or a0,a0,at +0+0438 <[^>]*> lui at,[-0-9x]+ [ ]*438: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+043c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+043c <[^>]*> addiu at,at,[-0-9]+ [ ]*43c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0440 <[^>]*> lb \$a0,[01]\(\$at\) -0+0444 <[^>]*> lbu \$at,[01]\(\$at\) -0+0448 <[^>]*> sll \$a0,\$a0,0x8 -0+044c <[^>]*> or \$a0,\$a0,\$at -0+0450 <[^>]*> lui \$at,[-0-9x]+ +0+0440 <[^>]*> lb a0,[01]\(at\) +0+0444 <[^>]*> lbu at,[01]\(at\) +0+0448 <[^>]*> sll a0,a0,0x8 +0+044c <[^>]*> or a0,a0,at +0+0450 <[^>]*> lui at,[-0-9x]+ [ ]*450: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0454 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0454 <[^>]*> addiu at,at,[-0-9]+ [ ]*454: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0458 <[^>]*> lb \$a0,[01]\(\$at\) -0+045c <[^>]*> lbu \$at,[01]\(\$at\) -0+0460 <[^>]*> sll \$a0,\$a0,0x8 -0+0464 <[^>]*> or \$a0,\$a0,\$at -0+0468 <[^>]*> lbu \$a0,[01]\(\$zero\) -0+046c <[^>]*> lbu \$at,[01]\(\$zero\) -0+0470 <[^>]*> sll \$a0,\$a0,0x8 -0+0474 <[^>]*> or \$a0,\$a0,\$at +0+0458 <[^>]*> lb a0,[01]\(at\) +0+045c <[^>]*> lbu at,[01]\(at\) +0+0460 <[^>]*> sll a0,a0,0x8 +0+0464 <[^>]*> or a0,a0,at +0+0468 <[^>]*> lbu a0,[01]\(zero\) +0+046c <[^>]*> lbu at,[01]\(zero\) +0+0470 <[^>]*> sll a0,a0,0x8 +0+0474 <[^>]*> or a0,a0,at ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/ulw.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/ulw.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/ulw.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/ulw.d Mon May 21 10:37:05 2001 @@ -7,264 +7,264 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> lwl \$a0,[03]\(\$zero\) -0+0004 <[^>]*> lwr \$a0,[03]\(\$zero\) -0+0008 <[^>]*> lwl \$a0,[14]\(\$zero\) -0+000c <[^>]*> lwr \$a0,[14]\(\$zero\) -0+0010 <[^>]*> li \$at,0x8000 -0+0014 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0018 <[^>]*> lwr \$a0,[03]\(\$at\) -0+001c <[^>]*> lwl \$a0,-3276[58]\(\$zero\) -0+0020 <[^>]*> lwr \$a0,-3276[58]\(\$zero\) -0+0024 <[^>]*> lui \$at,0x1 -0+0028 <[^>]*> lwl \$a0,[03]\(\$at\) -0+002c <[^>]*> lwr \$a0,[03]\(\$at\) -0+0030 <[^>]*> lui \$at,0x1 -0+0034 <[^>]*> ori \$at,\$at,0xa5a5 -0+0038 <[^>]*> lwl \$a0,[03]\(\$at\) -0+003c <[^>]*> lwr \$a0,[03]\(\$at\) -0+0040 <[^>]*> lwl \$a0,[03]\(\$a1\) -0+0044 <[^>]*> lwr \$a0,[03]\(\$a1\) -0+0048 <[^>]*> lwl \$a0,[14]\(\$a1\) -0+004c <[^>]*> lwr \$a0,[-0-9]+\(\$a1\) -0+0050 <[^>]*> lui \$at,[-0-9x]+ +0+0000 <[^>]*> lwl a0,[03]\(zero\) +0+0004 <[^>]*> lwr a0,[03]\(zero\) +0+0008 <[^>]*> lwl a0,[14]\(zero\) +0+000c <[^>]*> lwr a0,[14]\(zero\) +0+0010 <[^>]*> li at,0x8000 +0+0014 <[^>]*> lwl a0,[03]\(at\) +0+0018 <[^>]*> lwr a0,[03]\(at\) +0+001c <[^>]*> lwl a0,-3276[58]\(zero\) +0+0020 <[^>]*> lwr a0,-3276[58]\(zero\) +0+0024 <[^>]*> lui at,0x1 +0+0028 <[^>]*> lwl a0,[03]\(at\) +0+002c <[^>]*> lwr a0,[03]\(at\) +0+0030 <[^>]*> lui at,0x1 +0+0034 <[^>]*> ori at,at,0xa5a5 +0+0038 <[^>]*> lwl a0,[03]\(at\) +0+003c <[^>]*> lwr a0,[03]\(at\) +0+0040 <[^>]*> lwl a0,[03]\(a1\) +0+0044 <[^>]*> lwr a0,[03]\(a1\) +0+0048 <[^>]*> lwl a0,[14]\(a1\) +0+004c <[^>]*> lwr a0,[-0-9]+\(a1\) +0+0050 <[^>]*> lui at,[-0-9x]+ [ ]*50: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0054 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0054 <[^>]*> addiu at,at,[-0-9]+ [ ]*54: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0058 <[^>]*> lwl \$a0,[03]\(\$at\) -0+005c <[^>]*> lwr \$a0,[03]\(\$at\) -0+0060 <[^>]*> lui \$at,0x0 +0+0058 <[^>]*> lwl a0,[03]\(at\) +0+005c <[^>]*> lwr a0,[03]\(at\) +0+0060 <[^>]*> lui at,0x0 [ ]*60: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0064 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0064 <[^>]*> addiu at,at,[-0-9]+ [ ]*64: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0068 <[^>]*> lwl \$a0,[03]\(\$at\) -0+006c <[^>]*> lwr \$a0,[03]\(\$at\) -0+0070 <[^>]*> addiu \$at,\$gp,0 +0+0068 <[^>]*> lwl a0,[03]\(at\) +0+006c <[^>]*> lwr a0,[03]\(at\) +0+0070 <[^>]*> addiu at,gp,0 [ ]*70: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0074 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0078 <[^>]*> lwr \$a0,[03]\(\$at\) -0+007c <[^>]*> lui \$at,0x0 +0+0074 <[^>]*> lwl a0,[03]\(at\) +0+0078 <[^>]*> lwr a0,[03]\(at\) +0+007c <[^>]*> lui at,0x0 [ ]*7c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0080 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0080 <[^>]*> addiu at,at,[-0-9]+ [ ]*80: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0084 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0088 <[^>]*> lwr \$a0,[03]\(\$at\) -0+008c <[^>]*> addiu \$at,\$gp,0 +0+0084 <[^>]*> lwl a0,[03]\(at\) +0+0088 <[^>]*> lwr a0,[03]\(at\) +0+008c <[^>]*> addiu at,gp,0 [ ]*8c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0090 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0094 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0098 <[^>]*> lui \$at,[-0-9x]+ +0+0090 <[^>]*> lwl a0,[03]\(at\) +0+0094 <[^>]*> lwr a0,[03]\(at\) +0+0098 <[^>]*> lui at,[-0-9x]+ [ ]*98: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+009c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+009c <[^>]*> addiu at,at,[-0-9]+ [ ]*9c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00a0 <[^>]*> lwl \$a0,[03]\(\$at\) -0+00a4 <[^>]*> lwr \$a0,[03]\(\$at\) -0+00a8 <[^>]*> addiu \$at,\$gp,[-0-9]+ +0+00a0 <[^>]*> lwl a0,[03]\(at\) +0+00a4 <[^>]*> lwr a0,[03]\(at\) +0+00a8 <[^>]*> addiu at,gp,[-0-9]+ [ ]*a8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00ac <[^>]*> lwl \$a0,[03]\(\$at\) -0+00b0 <[^>]*> lwr \$a0,[03]\(\$at\) -0+00b4 <[^>]*> lui \$at,0x0 +0+00ac <[^>]*> lwl a0,[03]\(at\) +0+00b0 <[^>]*> lwr a0,[03]\(at\) +0+00b4 <[^>]*> lui at,0x0 [ ]*b4: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+00b8 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+00b8 <[^>]*> addiu at,at,[-0-9]+ [ ]*b8: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00bc <[^>]*> lwl \$a0,[03]\(\$at\) -0+00c0 <[^>]*> lwr \$a0,[03]\(\$at\) -0+00c4 <[^>]*> lui \$at,0x0 +0+00bc <[^>]*> lwl a0,[03]\(at\) +0+00c0 <[^>]*> lwr a0,[03]\(at\) +0+00c4 <[^>]*> lui at,0x0 [ ]*c4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00c8 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+00c8 <[^>]*> addiu at,at,[-0-9]+ [ ]*c8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00cc <[^>]*> lwl \$a0,[03]\(\$at\) -0+00d0 <[^>]*> lwr \$a0,[03]\(\$at\) -0+00d4 <[^>]*> addiu \$at,\$gp,1 +0+00cc <[^>]*> lwl a0,[03]\(at\) +0+00d0 <[^>]*> lwr a0,[03]\(at\) +0+00d4 <[^>]*> addiu at,gp,1 [ ]*d4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00d8 <[^>]*> lwl \$a0,[03]\(\$at\) -0+00dc <[^>]*> lwr \$a0,[03]\(\$at\) -0+00e0 <[^>]*> lui \$at,0x0 +0+00d8 <[^>]*> lwl a0,[03]\(at\) +0+00dc <[^>]*> lwr a0,[03]\(at\) +0+00e0 <[^>]*> lui at,0x0 [ ]*e0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00e4 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+00e4 <[^>]*> addiu at,at,[-0-9]+ [ ]*e4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00e8 <[^>]*> lwl \$a0,[03]\(\$at\) -0+00ec <[^>]*> lwr \$a0,[03]\(\$at\) -0+00f0 <[^>]*> addiu \$at,\$gp,1 +0+00e8 <[^>]*> lwl a0,[03]\(at\) +0+00ec <[^>]*> lwr a0,[03]\(at\) +0+00f0 <[^>]*> addiu at,gp,1 [ ]*f0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00f4 <[^>]*> lwl \$a0,[03]\(\$at\) -0+00f8 <[^>]*> lwr \$a0,[03]\(\$at\) -0+00fc <[^>]*> lui \$at,0x0 +0+00f4 <[^>]*> lwl a0,[03]\(at\) +0+00f8 <[^>]*> lwr a0,[03]\(at\) +0+00fc <[^>]*> lui at,0x0 [ ]*fc: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0100 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0100 <[^>]*> addiu at,at,[-0-9]+ [ ]*100: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0104 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0108 <[^>]*> lwr \$a0,[03]\(\$at\) -0+010c <[^>]*> addiu \$at,\$gp,[-0-9]+ +0+0104 <[^>]*> lwl a0,[03]\(at\) +0+0108 <[^>]*> lwr a0,[03]\(at\) +0+010c <[^>]*> addiu at,gp,[-0-9]+ [ ]*10c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0110 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0114 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0118 <[^>]*> lui \$at,[-0-9x]+ +0+0110 <[^>]*> lwl a0,[03]\(at\) +0+0114 <[^>]*> lwr a0,[03]\(at\) +0+0118 <[^>]*> lui at,[-0-9x]+ [ ]*118: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+011c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+011c <[^>]*> addiu at,at,[-0-9]+ [ ]*11c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0120 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0124 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0128 <[^>]*> lui \$at,[-0-9x]+ +0+0120 <[^>]*> lwl a0,[03]\(at\) +0+0124 <[^>]*> lwr a0,[03]\(at\) +0+0128 <[^>]*> lui at,[-0-9x]+ [ ]*128: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+012c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+012c <[^>]*> addiu at,at,[-0-9]+ [ ]*12c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0130 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0134 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0138 <[^>]*> lui \$at,[-0-9x]+ +0+0130 <[^>]*> lwl a0,[03]\(at\) +0+0134 <[^>]*> lwr a0,[03]\(at\) +0+0138 <[^>]*> lui at,[-0-9x]+ [ ]*138: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+013c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+013c <[^>]*> addiu at,at,[-0-9]+ [ ]*13c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0140 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0144 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0148 <[^>]*> lui \$at,[-0-9x]+ +0+0140 <[^>]*> lwl a0,[03]\(at\) +0+0144 <[^>]*> lwr a0,[03]\(at\) +0+0148 <[^>]*> lui at,[-0-9x]+ [ ]*148: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+014c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+014c <[^>]*> addiu at,at,[-0-9]+ [ ]*14c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0150 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0154 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0158 <[^>]*> lui \$at,[-0-9x]+ +0+0150 <[^>]*> lwl a0,[03]\(at\) +0+0154 <[^>]*> lwr a0,[03]\(at\) +0+0158 <[^>]*> lui at,[-0-9x]+ [ ]*158: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+015c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+015c <[^>]*> addiu at,at,[-0-9]+ [ ]*15c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0160 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0164 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0168 <[^>]*> lui \$at,[-0-9x]+ +0+0160 <[^>]*> lwl a0,[03]\(at\) +0+0164 <[^>]*> lwr a0,[03]\(at\) +0+0168 <[^>]*> lui at,[-0-9x]+ [ ]*168: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+016c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+016c <[^>]*> addiu at,at,[-0-9]+ [ ]*16c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0170 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0174 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0178 <[^>]*> lui \$at,[-0-9x]+ +0+0170 <[^>]*> lwl a0,[03]\(at\) +0+0174 <[^>]*> lwr a0,[03]\(at\) +0+0178 <[^>]*> lui at,[-0-9x]+ [ ]*178: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+017c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+017c <[^>]*> addiu at,at,[-0-9]+ [ ]*17c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0180 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0184 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0188 <[^>]*> lui \$at,0x0 +0+0180 <[^>]*> lwl a0,[03]\(at\) +0+0184 <[^>]*> lwr a0,[03]\(at\) +0+0188 <[^>]*> lui at,0x0 [ ]*188: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+018c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+018c <[^>]*> addiu at,at,[-0-9]+ [ ]*18c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0190 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0194 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0198 <[^>]*> lui \$at,0x0 +0+0190 <[^>]*> lwl a0,[03]\(at\) +0+0194 <[^>]*> lwr a0,[03]\(at\) +0+0198 <[^>]*> lui at,0x0 [ ]*198: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+019c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+019c <[^>]*> addiu at,at,[-0-9]+ [ ]*19c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01a0 <[^>]*> lwl \$a0,[03]\(\$at\) -0+01a4 <[^>]*> lwr \$a0,[03]\(\$at\) -0+01a8 <[^>]*> lui \$at,0x0 +0+01a0 <[^>]*> lwl a0,[03]\(at\) +0+01a4 <[^>]*> lwr a0,[03]\(at\) +0+01a8 <[^>]*> lui at,0x0 [ ]*1a8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+01ac <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01ac <[^>]*> addiu at,at,[-0-9]+ [ ]*1ac: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+01b0 <[^>]*> lwl \$a0,[03]\(\$at\) -0+01b4 <[^>]*> lwr \$a0,[03]\(\$at\) -0+01b8 <[^>]*> lui \$at,0x0 +0+01b0 <[^>]*> lwl a0,[03]\(at\) +0+01b4 <[^>]*> lwr a0,[03]\(at\) +0+01b8 <[^>]*> lui at,0x0 [ ]*1b8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+01bc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01bc <[^>]*> addiu at,at,[-0-9]+ [ ]*1bc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01c0 <[^>]*> lwl \$a0,[03]\(\$at\) -0+01c4 <[^>]*> lwr \$a0,[03]\(\$at\) -0+01c8 <[^>]*> lui \$at,0x0 +0+01c0 <[^>]*> lwl a0,[03]\(at\) +0+01c4 <[^>]*> lwr a0,[03]\(at\) +0+01c8 <[^>]*> lui at,0x0 [ ]*1c8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+01cc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01cc <[^>]*> addiu at,at,[-0-9]+ [ ]*1cc: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01d0 <[^>]*> lwl \$a0,[03]\(\$at\) -0+01d4 <[^>]*> lwr \$a0,[03]\(\$at\) -0+01d8 <[^>]*> lui \$at,0x0 +0+01d0 <[^>]*> lwl a0,[03]\(at\) +0+01d4 <[^>]*> lwr a0,[03]\(at\) +0+01d8 <[^>]*> lui at,0x0 [ ]*1d8: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+01dc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01dc <[^>]*> addiu at,at,[-0-9]+ [ ]*1dc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+01e0 <[^>]*> lwl \$a0,[03]\(\$at\) -0+01e4 <[^>]*> lwr \$a0,[03]\(\$at\) -0+01e8 <[^>]*> lui \$at,0x0 +0+01e0 <[^>]*> lwl a0,[03]\(at\) +0+01e4 <[^>]*> lwr a0,[03]\(at\) +0+01e8 <[^>]*> lui at,0x0 [ ]*1e8: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+01ec <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01ec <[^>]*> addiu at,at,[-0-9]+ [ ]*1ec: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+01f0 <[^>]*> lwl \$a0,[03]\(\$at\) -0+01f4 <[^>]*> lwr \$a0,[03]\(\$at\) -0+01f8 <[^>]*> lui \$at,[-0-9x]+ +0+01f0 <[^>]*> lwl a0,[03]\(at\) +0+01f4 <[^>]*> lwr a0,[03]\(at\) +0+01f8 <[^>]*> lui at,[-0-9x]+ [ ]*1f8: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+01fc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01fc <[^>]*> addiu at,at,[-0-9]+ [ ]*1fc: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0200 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0204 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0208 <[^>]*> lui \$at,[-0-9x]+ +0+0200 <[^>]*> lwl a0,[03]\(at\) +0+0204 <[^>]*> lwr a0,[03]\(at\) +0+0208 <[^>]*> lui at,[-0-9x]+ [ ]*208: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+020c <[^>]*> addiu \$at,\$at,0 +0+020c <[^>]*> addiu at,at,0 [ ]*20c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0210 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0214 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0218 <[^>]*> lui \$at,[-0-9x]+ +0+0210 <[^>]*> lwl a0,[03]\(at\) +0+0214 <[^>]*> lwr a0,[03]\(at\) +0+0218 <[^>]*> lui at,[-0-9x]+ [ ]*218: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+021c <[^>]*> addiu \$at,\$at,0 +0+021c <[^>]*> addiu at,at,0 [ ]*21c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0220 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0224 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0228 <[^>]*> lui \$at,[-0-9x]+ +0+0220 <[^>]*> lwl a0,[03]\(at\) +0+0224 <[^>]*> lwr a0,[03]\(at\) +0+0228 <[^>]*> lui at,[-0-9x]+ [ ]*228: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+022c <[^>]*> addiu \$at,\$at,0 +0+022c <[^>]*> addiu at,at,0 [ ]*22c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0230 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0234 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0238 <[^>]*> lui \$at,[-0-9x]+ +0+0230 <[^>]*> lwl a0,[03]\(at\) +0+0234 <[^>]*> lwr a0,[03]\(at\) +0+0238 <[^>]*> lui at,[-0-9x]+ [ ]*238: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+023c <[^>]*> addiu \$at,\$at,0 +0+023c <[^>]*> addiu at,at,0 [ ]*23c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0240 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0244 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0248 <[^>]*> lui \$at,[-0-9x]+ +0+0240 <[^>]*> lwl a0,[03]\(at\) +0+0244 <[^>]*> lwr a0,[03]\(at\) +0+0248 <[^>]*> lui at,[-0-9x]+ [ ]*248: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+024c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+024c <[^>]*> addiu at,at,[-0-9]+ [ ]*24c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0250 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0254 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0258 <[^>]*> lui \$at,[-0-9x]+ +0+0250 <[^>]*> lwl a0,[03]\(at\) +0+0254 <[^>]*> lwr a0,[03]\(at\) +0+0258 <[^>]*> lui at,[-0-9x]+ [ ]*258: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+025c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+025c <[^>]*> addiu at,at,[-0-9]+ [ ]*25c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0260 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0264 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0268 <[^>]*> lui \$at,[-0-9x]+ +0+0260 <[^>]*> lwl a0,[03]\(at\) +0+0264 <[^>]*> lwr a0,[03]\(at\) +0+0268 <[^>]*> lui at,[-0-9x]+ [ ]*268: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+026c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+026c <[^>]*> addiu at,at,[-0-9]+ [ ]*26c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0270 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0274 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0278 <[^>]*> lui \$at,[-0-9x]+ +0+0270 <[^>]*> lwl a0,[03]\(at\) +0+0274 <[^>]*> lwr a0,[03]\(at\) +0+0278 <[^>]*> lui at,[-0-9x]+ [ ]*278: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+027c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+027c <[^>]*> addiu at,at,[-0-9]+ [ ]*27c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0280 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0284 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0288 <[^>]*> lui \$at,[-0-9x]+ +0+0280 <[^>]*> lwl a0,[03]\(at\) +0+0284 <[^>]*> lwr a0,[03]\(at\) +0+0288 <[^>]*> lui at,[-0-9x]+ [ ]*288: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+028c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+028c <[^>]*> addiu at,at,[-0-9]+ [ ]*28c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0290 <[^>]*> lwl \$a0,[03]\(\$at\) -0+0294 <[^>]*> lwr \$a0,[03]\(\$at\) -0+0298 <[^>]*> lui \$at,[-0-9x]+ +0+0290 <[^>]*> lwl a0,[03]\(at\) +0+0294 <[^>]*> lwr a0,[03]\(at\) +0+0298 <[^>]*> lui at,[-0-9x]+ [ ]*298: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+029c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+029c <[^>]*> addiu at,at,[-0-9]+ [ ]*29c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+02a0 <[^>]*> lwl \$a0,[03]\(\$at\) -0+02a4 <[^>]*> lwr \$a0,[03]\(\$at\) -0+02a8 <[^>]*> lui \$at,[-0-9x]+ +0+02a0 <[^>]*> lwl a0,[03]\(at\) +0+02a4 <[^>]*> lwr a0,[03]\(at\) +0+02a8 <[^>]*> lui at,[-0-9x]+ [ ]*2a8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+02ac <[^>]*> addiu \$at,\$at,[-0-9]+ +0+02ac <[^>]*> addiu at,at,[-0-9]+ [ ]*2ac: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+02b0 <[^>]*> lwl \$a0,[03]\(\$at\) -0+02b4 <[^>]*> lwr \$a0,[03]\(\$at\) -0+02b8 <[^>]*> lui \$at,[-0-9x]+ +0+02b0 <[^>]*> lwl a0,[03]\(at\) +0+02b4 <[^>]*> lwr a0,[03]\(at\) +0+02b8 <[^>]*> lui at,[-0-9x]+ [ ]*2b8: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+02bc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+02bc <[^>]*> addiu at,at,[-0-9]+ [ ]*2bc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+02c0 <[^>]*> lwl \$a0,[03]\(\$at\) -0+02c4 <[^>]*> lwr \$a0,[03]\(\$at\) -0+02c8 <[^>]*> lui \$at,[-0-9x]+ +0+02c0 <[^>]*> lwl a0,[03]\(at\) +0+02c4 <[^>]*> lwr a0,[03]\(at\) +0+02c8 <[^>]*> lui at,[-0-9x]+ [ ]*2c8: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+02cc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+02cc <[^>]*> addiu at,at,[-0-9]+ [ ]*2cc: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+02d0 <[^>]*> lwl \$a0,[03]\(\$at\) -0+02d4 <[^>]*> lwr \$a0,[03]\(\$at\) +0+02d0 <[^>]*> lwl a0,[03]\(at\) +0+02d4 <[^>]*> lwr a0,[03]\(at\) ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/usd.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/usd.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/usd.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/usd.d Mon May 21 10:37:05 2001 @@ -7,264 +7,264 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> sdl \$a0,[07]\(\$zero\) -0+0004 <[^>]*> sdr \$a0,[07]\(\$zero\) -0+0008 <[^>]*> sdl \$a0,[18]\(\$zero\) -0+000c <[^>]*> sdr \$a0,[18]\(\$zero\) -0+0010 <[^>]*> li \$at,0x8000 -0+0014 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0018 <[^>]*> sdr \$a0,[07]\(\$at\) -0+001c <[^>]*> sdl \$a0,-3276[18]\(\$zero\) -0+0020 <[^>]*> sdr \$a0,-3276[18]\(\$zero\) -0+0024 <[^>]*> lui \$at,0x1 -0+0028 <[^>]*> sdl \$a0,[07]\(\$at\) -0+002c <[^>]*> sdr \$a0,[07]\(\$at\) -0+0030 <[^>]*> lui \$at,0x1 -0+0034 <[^>]*> ori \$at,\$at,0xa5a5 -0+0038 <[^>]*> sdl \$a0,[07]\(\$at\) -0+003c <[^>]*> sdr \$a0,[07]\(\$at\) -0+0040 <[^>]*> sdl \$a0,[07]\(\$a1\) -0+0044 <[^>]*> sdr \$a0,[07]\(\$a1\) -0+0048 <[^>]*> sdl \$a0,[18]\(\$a1\) -0+004c <[^>]*> sdr \$a0,[-0-9]+\(\$a1\) -0+0050 <[^>]*> lui \$at,[-0-9x]+ +0+0000 <[^>]*> sdl a0,[07]\(zero\) +0+0004 <[^>]*> sdr a0,[07]\(zero\) +0+0008 <[^>]*> sdl a0,[18]\(zero\) +0+000c <[^>]*> sdr a0,[18]\(zero\) +0+0010 <[^>]*> li at,0x8000 +0+0014 <[^>]*> sdl a0,[07]\(at\) +0+0018 <[^>]*> sdr a0,[07]\(at\) +0+001c <[^>]*> sdl a0,-3276[18]\(zero\) +0+0020 <[^>]*> sdr a0,-3276[18]\(zero\) +0+0024 <[^>]*> lui at,0x1 +0+0028 <[^>]*> sdl a0,[07]\(at\) +0+002c <[^>]*> sdr a0,[07]\(at\) +0+0030 <[^>]*> lui at,0x1 +0+0034 <[^>]*> ori at,at,0xa5a5 +0+0038 <[^>]*> sdl a0,[07]\(at\) +0+003c <[^>]*> sdr a0,[07]\(at\) +0+0040 <[^>]*> sdl a0,[07]\(a1\) +0+0044 <[^>]*> sdr a0,[07]\(a1\) +0+0048 <[^>]*> sdl a0,[18]\(a1\) +0+004c <[^>]*> sdr a0,[-0-9]+\(a1\) +0+0050 <[^>]*> lui at,[-0-9x]+ [ ]*50: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0054 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+0054 <[^>]*> daddiu at,at,[-0-9]+ [ ]*54: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0058 <[^>]*> sdl \$a0,[07]\(\$at\) -0+005c <[^>]*> sdr \$a0,[07]\(\$at\) -0+0060 <[^>]*> lui \$at,[-0-9x]+ +0+0058 <[^>]*> sdl a0,[07]\(at\) +0+005c <[^>]*> sdr a0,[07]\(at\) +0+0060 <[^>]*> lui at,[-0-9x]+ [ ]*60: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0064 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+0064 <[^>]*> daddiu at,at,[-0-9]+ [ ]*64: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0068 <[^>]*> sdl \$a0,[07]\(\$at\) -0+006c <[^>]*> sdr \$a0,[07]\(\$at\) -0+0070 <[^>]*> daddiu \$at,\$gp,0 +0+0068 <[^>]*> sdl a0,[07]\(at\) +0+006c <[^>]*> sdr a0,[07]\(at\) +0+0070 <[^>]*> daddiu at,gp,0 [ ]*70: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0074 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0078 <[^>]*> sdr \$a0,[07]\(\$at\) -0+007c <[^>]*> lui \$at,0x0 +0+0074 <[^>]*> sdl a0,[07]\(at\) +0+0078 <[^>]*> sdr a0,[07]\(at\) +0+007c <[^>]*> lui at,0x0 [ ]*7c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0080 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+0080 <[^>]*> daddiu at,at,[-0-9]+ [ ]*80: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0084 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0088 <[^>]*> sdr \$a0,[07]\(\$at\) -0+008c <[^>]*> daddiu \$at,\$gp,0 +0+0084 <[^>]*> sdl a0,[07]\(at\) +0+0088 <[^>]*> sdr a0,[07]\(at\) +0+008c <[^>]*> daddiu at,gp,0 [ ]*8c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0090 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0094 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0098 <[^>]*> lui \$at,[-0-9x]+ +0+0090 <[^>]*> sdl a0,[07]\(at\) +0+0094 <[^>]*> sdr a0,[07]\(at\) +0+0098 <[^>]*> lui at,[-0-9x]+ [ ]*98: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+009c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+009c <[^>]*> daddiu at,at,[-0-9]+ [ ]*9c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00a0 <[^>]*> sdl \$a0,[07]\(\$at\) -0+00a4 <[^>]*> sdr \$a0,[07]\(\$at\) -0+00a8 <[^>]*> daddiu \$at,\$gp,[-0-9]+ +0+00a0 <[^>]*> sdl a0,[07]\(at\) +0+00a4 <[^>]*> sdr a0,[07]\(at\) +0+00a8 <[^>]*> daddiu at,gp,[-0-9]+ [ ]*a8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00ac <[^>]*> sdl \$a0,[07]\(\$at\) -0+00b0 <[^>]*> sdr \$a0,[07]\(\$at\) -0+00b4 <[^>]*> lui \$at,0x0 +0+00ac <[^>]*> sdl a0,[07]\(at\) +0+00b0 <[^>]*> sdr a0,[07]\(at\) +0+00b4 <[^>]*> lui at,0x0 [ ]*b4: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+00b8 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+00b8 <[^>]*> daddiu at,at,[-0-9]+ [ ]*b8: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00bc <[^>]*> sdl \$a0,[07]\(\$at\) -0+00c0 <[^>]*> sdr \$a0,[07]\(\$at\) -0+00c4 <[^>]*> lui \$at,0x0 +0+00bc <[^>]*> sdl a0,[07]\(at\) +0+00c0 <[^>]*> sdr a0,[07]\(at\) +0+00c4 <[^>]*> lui at,0x0 [ ]*c4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00c8 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+00c8 <[^>]*> daddiu at,at,[-0-9]+ [ ]*c8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00cc <[^>]*> sdl \$a0,[07]\(\$at\) -0+00d0 <[^>]*> sdr \$a0,[07]\(\$at\) -0+00d4 <[^>]*> daddiu \$at,\$gp,1 +0+00cc <[^>]*> sdl a0,[07]\(at\) +0+00d0 <[^>]*> sdr a0,[07]\(at\) +0+00d4 <[^>]*> daddiu at,gp,1 [ ]*d4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00d8 <[^>]*> sdl \$a0,[07]\(\$at\) -0+00dc <[^>]*> sdr \$a0,[07]\(\$at\) -0+00e0 <[^>]*> lui \$at,0x0 +0+00d8 <[^>]*> sdl a0,[07]\(at\) +0+00dc <[^>]*> sdr a0,[07]\(at\) +0+00e0 <[^>]*> lui at,0x0 [ ]*e0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00e4 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+00e4 <[^>]*> daddiu at,at,[-0-9]+ [ ]*e4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00e8 <[^>]*> sdl \$a0,[07]\(\$at\) -0+00ec <[^>]*> sdr \$a0,[07]\(\$at\) -0+00f0 <[^>]*> daddiu \$at,\$gp,1 +0+00e8 <[^>]*> sdl a0,[07]\(at\) +0+00ec <[^>]*> sdr a0,[07]\(at\) +0+00f0 <[^>]*> daddiu at,gp,1 [ ]*f0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00f4 <[^>]*> sdl \$a0,[07]\(\$at\) -0+00f8 <[^>]*> sdr \$a0,[07]\(\$at\) -0+00fc <[^>]*> lui \$at,0x0 +0+00f4 <[^>]*> sdl a0,[07]\(at\) +0+00f8 <[^>]*> sdr a0,[07]\(at\) +0+00fc <[^>]*> lui at,0x0 [ ]*fc: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0100 <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+0100 <[^>]*> daddiu at,at,[-0-9]+ [ ]*100: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0104 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0108 <[^>]*> sdr \$a0,[07]\(\$at\) -0+010c <[^>]*> daddiu \$at,\$gp,[-0-9]+ +0+0104 <[^>]*> sdl a0,[07]\(at\) +0+0108 <[^>]*> sdr a0,[07]\(at\) +0+010c <[^>]*> daddiu at,gp,[-0-9]+ [ ]*10c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0110 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0114 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0118 <[^>]*> lui \$at,[-0-9x]+ +0+0110 <[^>]*> sdl a0,[07]\(at\) +0+0114 <[^>]*> sdr a0,[07]\(at\) +0+0118 <[^>]*> lui at,[-0-9x]+ [ ]*118: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+011c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+011c <[^>]*> daddiu at,at,[-0-9]+ [ ]*11c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0120 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0124 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0128 <[^>]*> lui \$at,[-0-9x]+ +0+0120 <[^>]*> sdl a0,[07]\(at\) +0+0124 <[^>]*> sdr a0,[07]\(at\) +0+0128 <[^>]*> lui at,[-0-9x]+ [ ]*128: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+012c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+012c <[^>]*> daddiu at,at,[-0-9]+ [ ]*12c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0130 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0134 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0138 <[^>]*> lui \$at,[-0-9x]+ +0+0130 <[^>]*> sdl a0,[07]\(at\) +0+0134 <[^>]*> sdr a0,[07]\(at\) +0+0138 <[^>]*> lui at,[-0-9x]+ [ ]*138: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+013c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+013c <[^>]*> daddiu at,at,[-0-9]+ [ ]*13c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0140 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0144 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0148 <[^>]*> lui \$at,[-0-9x]+ +0+0140 <[^>]*> sdl a0,[07]\(at\) +0+0144 <[^>]*> sdr a0,[07]\(at\) +0+0148 <[^>]*> lui at,[-0-9x]+ [ ]*148: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+014c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+014c <[^>]*> daddiu at,at,[-0-9]+ [ ]*14c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0150 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0154 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0158 <[^>]*> lui \$at,[-0-9x]+ +0+0150 <[^>]*> sdl a0,[07]\(at\) +0+0154 <[^>]*> sdr a0,[07]\(at\) +0+0158 <[^>]*> lui at,[-0-9x]+ [ ]*158: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+015c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+015c <[^>]*> daddiu at,at,[-0-9]+ [ ]*15c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0160 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0164 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0168 <[^>]*> lui \$at,[-0-9x]+ +0+0160 <[^>]*> sdl a0,[07]\(at\) +0+0164 <[^>]*> sdr a0,[07]\(at\) +0+0168 <[^>]*> lui at,[-0-9x]+ [ ]*168: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+016c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+016c <[^>]*> daddiu at,at,[-0-9]+ [ ]*16c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0170 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0174 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0178 <[^>]*> lui \$at,[-0-9x]+ +0+0170 <[^>]*> sdl a0,[07]\(at\) +0+0174 <[^>]*> sdr a0,[07]\(at\) +0+0178 <[^>]*> lui at,[-0-9x]+ [ ]*178: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+017c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+017c <[^>]*> daddiu at,at,[-0-9]+ [ ]*17c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0180 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0184 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0188 <[^>]*> lui \$at,0x0 +0+0180 <[^>]*> sdl a0,[07]\(at\) +0+0184 <[^>]*> sdr a0,[07]\(at\) +0+0188 <[^>]*> lui at,0x0 [ ]*188: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+018c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+018c <[^>]*> daddiu at,at,[-0-9]+ [ ]*18c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0190 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0194 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0198 <[^>]*> lui \$at,0x0 +0+0190 <[^>]*> sdl a0,[07]\(at\) +0+0194 <[^>]*> sdr a0,[07]\(at\) +0+0198 <[^>]*> lui at,0x0 [ ]*198: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+019c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+019c <[^>]*> daddiu at,at,[-0-9]+ [ ]*19c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01a0 <[^>]*> sdl \$a0,[07]\(\$at\) -0+01a4 <[^>]*> sdr \$a0,[07]\(\$at\) -0+01a8 <[^>]*> lui \$at,0x0 +0+01a0 <[^>]*> sdl a0,[07]\(at\) +0+01a4 <[^>]*> sdr a0,[07]\(at\) +0+01a8 <[^>]*> lui at,0x0 [ ]*1a8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+01ac <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+01ac <[^>]*> daddiu at,at,[-0-9]+ [ ]*1ac: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+01b0 <[^>]*> sdl \$a0,[07]\(\$at\) -0+01b4 <[^>]*> sdr \$a0,[07]\(\$at\) -0+01b8 <[^>]*> lui \$at,0x0 +0+01b0 <[^>]*> sdl a0,[07]\(at\) +0+01b4 <[^>]*> sdr a0,[07]\(at\) +0+01b8 <[^>]*> lui at,0x0 [ ]*1b8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+01bc <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+01bc <[^>]*> daddiu at,at,[-0-9]+ [ ]*1bc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01c0 <[^>]*> sdl \$a0,[07]\(\$at\) -0+01c4 <[^>]*> sdr \$a0,[07]\(\$at\) -0+01c8 <[^>]*> lui \$at,0x0 +0+01c0 <[^>]*> sdl a0,[07]\(at\) +0+01c4 <[^>]*> sdr a0,[07]\(at\) +0+01c8 <[^>]*> lui at,0x0 [ ]*1c8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+01cc <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+01cc <[^>]*> daddiu at,at,[-0-9]+ [ ]*1cc: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01d0 <[^>]*> sdl \$a0,[07]\(\$at\) -0+01d4 <[^>]*> sdr \$a0,[07]\(\$at\) -0+01d8 <[^>]*> lui \$at,0x0 +0+01d0 <[^>]*> sdl a0,[07]\(at\) +0+01d4 <[^>]*> sdr a0,[07]\(at\) +0+01d8 <[^>]*> lui at,0x0 [ ]*1d8: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+01dc <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+01dc <[^>]*> daddiu at,at,[-0-9]+ [ ]*1dc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+01e0 <[^>]*> sdl \$a0,[07]\(\$at\) -0+01e4 <[^>]*> sdr \$a0,[07]\(\$at\) -0+01e8 <[^>]*> lui \$at,0x0 +0+01e0 <[^>]*> sdl a0,[07]\(at\) +0+01e4 <[^>]*> sdr a0,[07]\(at\) +0+01e8 <[^>]*> lui at,0x0 [ ]*1e8: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+01ec <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+01ec <[^>]*> daddiu at,at,[-0-9]+ [ ]*1ec: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+01f0 <[^>]*> sdl \$a0,[07]\(\$at\) -0+01f4 <[^>]*> sdr \$a0,[07]\(\$at\) -0+01f8 <[^>]*> lui \$at,[-0-9x]+ +0+01f0 <[^>]*> sdl a0,[07]\(at\) +0+01f4 <[^>]*> sdr a0,[07]\(at\) +0+01f8 <[^>]*> lui at,[-0-9x]+ [ ]*1f8: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+01fc <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+01fc <[^>]*> daddiu at,at,[-0-9]+ [ ]*1fc: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0200 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0204 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0208 <[^>]*> lui \$at,[-0-9x]+ +0+0200 <[^>]*> sdl a0,[07]\(at\) +0+0204 <[^>]*> sdr a0,[07]\(at\) +0+0208 <[^>]*> lui at,[-0-9x]+ [ ]*208: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+020c <[^>]*> daddiu \$at,\$at,0 +0+020c <[^>]*> daddiu at,at,0 [ ]*20c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0210 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0214 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0218 <[^>]*> lui \$at,[-0-9x]+ +0+0210 <[^>]*> sdl a0,[07]\(at\) +0+0214 <[^>]*> sdr a0,[07]\(at\) +0+0218 <[^>]*> lui at,[-0-9x]+ [ ]*218: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+021c <[^>]*> daddiu \$at,\$at,0 +0+021c <[^>]*> daddiu at,at,0 [ ]*21c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0220 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0224 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0228 <[^>]*> lui \$at,[-0-9x]+ +0+0220 <[^>]*> sdl a0,[07]\(at\) +0+0224 <[^>]*> sdr a0,[07]\(at\) +0+0228 <[^>]*> lui at,[-0-9x]+ [ ]*228: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+022c <[^>]*> daddiu \$at,\$at,0 +0+022c <[^>]*> daddiu at,at,0 [ ]*22c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0230 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0234 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0238 <[^>]*> lui \$at,[-0-9x]+ +0+0230 <[^>]*> sdl a0,[07]\(at\) +0+0234 <[^>]*> sdr a0,[07]\(at\) +0+0238 <[^>]*> lui at,[-0-9x]+ [ ]*238: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+023c <[^>]*> daddiu \$at,\$at,0 +0+023c <[^>]*> daddiu at,at,0 [ ]*23c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0240 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0244 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0248 <[^>]*> lui \$at,[-0-9x]+ +0+0240 <[^>]*> sdl a0,[07]\(at\) +0+0244 <[^>]*> sdr a0,[07]\(at\) +0+0248 <[^>]*> lui at,[-0-9x]+ [ ]*248: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+024c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+024c <[^>]*> daddiu at,at,[-0-9]+ [ ]*24c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0250 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0254 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0258 <[^>]*> lui \$at,[-0-9x]+ +0+0250 <[^>]*> sdl a0,[07]\(at\) +0+0254 <[^>]*> sdr a0,[07]\(at\) +0+0258 <[^>]*> lui at,[-0-9x]+ [ ]*258: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+025c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+025c <[^>]*> daddiu at,at,[-0-9]+ [ ]*25c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0260 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0264 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0268 <[^>]*> lui \$at,[-0-9x]+ +0+0260 <[^>]*> sdl a0,[07]\(at\) +0+0264 <[^>]*> sdr a0,[07]\(at\) +0+0268 <[^>]*> lui at,[-0-9x]+ [ ]*268: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+026c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+026c <[^>]*> daddiu at,at,[-0-9]+ [ ]*26c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0270 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0274 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0278 <[^>]*> lui \$at,[-0-9x]+ +0+0270 <[^>]*> sdl a0,[07]\(at\) +0+0274 <[^>]*> sdr a0,[07]\(at\) +0+0278 <[^>]*> lui at,[-0-9x]+ [ ]*278: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+027c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+027c <[^>]*> daddiu at,at,[-0-9]+ [ ]*27c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0280 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0284 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0288 <[^>]*> lui \$at,[-0-9x]+ +0+0280 <[^>]*> sdl a0,[07]\(at\) +0+0284 <[^>]*> sdr a0,[07]\(at\) +0+0288 <[^>]*> lui at,[-0-9x]+ [ ]*288: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+028c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+028c <[^>]*> daddiu at,at,[-0-9]+ [ ]*28c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0290 <[^>]*> sdl \$a0,[07]\(\$at\) -0+0294 <[^>]*> sdr \$a0,[07]\(\$at\) -0+0298 <[^>]*> lui \$at,[-0-9x]+ +0+0290 <[^>]*> sdl a0,[07]\(at\) +0+0294 <[^>]*> sdr a0,[07]\(at\) +0+0298 <[^>]*> lui at,[-0-9x]+ [ ]*298: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+029c <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+029c <[^>]*> daddiu at,at,[-0-9]+ [ ]*29c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+02a0 <[^>]*> sdl \$a0,[07]\(\$at\) -0+02a4 <[^>]*> sdr \$a0,[07]\(\$at\) -0+02a8 <[^>]*> lui \$at,[-0-9x]+ +0+02a0 <[^>]*> sdl a0,[07]\(at\) +0+02a4 <[^>]*> sdr a0,[07]\(at\) +0+02a8 <[^>]*> lui at,[-0-9x]+ [ ]*2a8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+02ac <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+02ac <[^>]*> daddiu at,at,[-0-9]+ [ ]*2ac: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+02b0 <[^>]*> sdl \$a0,[07]\(\$at\) -0+02b4 <[^>]*> sdr \$a0,[07]\(\$at\) -0+02b8 <[^>]*> lui \$at,[-0-9x]+ +0+02b0 <[^>]*> sdl a0,[07]\(at\) +0+02b4 <[^>]*> sdr a0,[07]\(at\) +0+02b8 <[^>]*> lui at,[-0-9x]+ [ ]*2b8: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+02bc <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+02bc <[^>]*> daddiu at,at,[-0-9]+ [ ]*2bc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+02c0 <[^>]*> sdl \$a0,[07]\(\$at\) -0+02c4 <[^>]*> sdr \$a0,[07]\(\$at\) -0+02c8 <[^>]*> lui \$at,[-0-9x]+ +0+02c0 <[^>]*> sdl a0,[07]\(at\) +0+02c4 <[^>]*> sdr a0,[07]\(at\) +0+02c8 <[^>]*> lui at,[-0-9x]+ [ ]*2c8: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+02cc <[^>]*> daddiu \$at,\$at,[-0-9]+ +0+02cc <[^>]*> daddiu at,at,[-0-9]+ [ ]*2cc: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+02d0 <[^>]*> sdl \$a0,[07]\(\$at\) -0+02d4 <[^>]*> sdr \$a0,[07]\(\$at\) +0+02d0 <[^>]*> sdl a0,[07]\(at\) +0+02d4 <[^>]*> sdr a0,[07]\(at\) ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/ush.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/ush.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/ush.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/ush.d Mon May 21 10:37:05 2001 @@ -7,449 +7,449 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> sb \$a0,[01]\(\$zero\) -0+0004 <[^>]*> srl \$at,\$a0,0x8 -0+0008 <[^>]*> sb \$at,[01]\(\$zero\) -0+000c <[^>]*> sb \$a0,[12]\(\$zero\) -0+0010 <[^>]*> srl \$at,\$a0,0x8 -0+0014 <[^>]*> sb \$at,[12]\(\$zero\) -0+0018 <[^>]*> li \$at,0x8000 -0+001c <[^>]*> sb \$a0,[01]\(\$at\) -0+0020 <[^>]*> srl \$a0,\$a0,0x8 -0+0024 <[^>]*> sb \$a0,[01]\(\$at\) -0+0028 <[^>]*> lbu \$at,[01]\(\$at\) -0+002c <[^>]*> sll \$a0,\$a0,0x8 -0+0030 <[^>]*> or \$a0,\$a0,\$at -0+0034 <[^>]*> sb \$a0,-3276[78]\(\$zero\) -0+0038 <[^>]*> srl \$at,\$a0,0x8 -0+003c <[^>]*> sb \$at,-3276[78]\(\$zero\) -0+0040 <[^>]*> lui \$at,0x1 -0+0044 <[^>]*> sb \$a0,[01]\(\$at\) -0+0048 <[^>]*> srl \$a0,\$a0,0x8 -0+004c <[^>]*> sb \$a0,[01]\(\$at\) -0+0050 <[^>]*> lbu \$at,[01]\(\$at\) -0+0054 <[^>]*> sll \$a0,\$a0,0x8 -0+0058 <[^>]*> or \$a0,\$a0,\$at -0+005c <[^>]*> lui \$at,0x1 -0+0060 <[^>]*> ori \$at,\$at,0xa5a5 -0+0064 <[^>]*> sb \$a0,[01]\(\$at\) -0+0068 <[^>]*> srl \$a0,\$a0,0x8 -0+006c <[^>]*> sb \$a0,[01]\(\$at\) -0+0070 <[^>]*> lbu \$at,[01]\(\$at\) -0+0074 <[^>]*> sll \$a0,\$a0,0x8 -0+0078 <[^>]*> or \$a0,\$a0,\$at -0+007c <[^>]*> sb \$a0,[01]\(\$a1\) -0+0080 <[^>]*> srl \$at,\$a0,0x8 -0+0084 <[^>]*> sb \$at,[01]\(\$a1\) -0+0088 <[^>]*> sb \$a0,[12]\(\$a1\) -0+008c <[^>]*> srl \$at,\$a0,0x8 -0+0090 <[^>]*> sb \$at,[12]\(\$a1\) -0+0094 <[^>]*> lui \$at,[-0-9x]+ +0+0000 <[^>]*> sb a0,[01]\(zero\) +0+0004 <[^>]*> srl at,a0,0x8 +0+0008 <[^>]*> sb at,[01]\(zero\) +0+000c <[^>]*> sb a0,[12]\(zero\) +0+0010 <[^>]*> srl at,a0,0x8 +0+0014 <[^>]*> sb at,[12]\(zero\) +0+0018 <[^>]*> li at,0x8000 +0+001c <[^>]*> sb a0,[01]\(at\) +0+0020 <[^>]*> srl a0,a0,0x8 +0+0024 <[^>]*> sb a0,[01]\(at\) +0+0028 <[^>]*> lbu at,[01]\(at\) +0+002c <[^>]*> sll a0,a0,0x8 +0+0030 <[^>]*> or a0,a0,at +0+0034 <[^>]*> sb a0,-3276[78]\(zero\) +0+0038 <[^>]*> srl at,a0,0x8 +0+003c <[^>]*> sb at,-3276[78]\(zero\) +0+0040 <[^>]*> lui at,0x1 +0+0044 <[^>]*> sb a0,[01]\(at\) +0+0048 <[^>]*> srl a0,a0,0x8 +0+004c <[^>]*> sb a0,[01]\(at\) +0+0050 <[^>]*> lbu at,[01]\(at\) +0+0054 <[^>]*> sll a0,a0,0x8 +0+0058 <[^>]*> or a0,a0,at +0+005c <[^>]*> lui at,0x1 +0+0060 <[^>]*> ori at,at,0xa5a5 +0+0064 <[^>]*> sb a0,[01]\(at\) +0+0068 <[^>]*> srl a0,a0,0x8 +0+006c <[^>]*> sb a0,[01]\(at\) +0+0070 <[^>]*> lbu at,[01]\(at\) +0+0074 <[^>]*> sll a0,a0,0x8 +0+0078 <[^>]*> or a0,a0,at +0+007c <[^>]*> sb a0,[01]\(a1\) +0+0080 <[^>]*> srl at,a0,0x8 +0+0084 <[^>]*> sb at,[01]\(a1\) +0+0088 <[^>]*> sb a0,[12]\(a1\) +0+008c <[^>]*> srl at,a0,0x8 +0+0090 <[^>]*> sb at,[12]\(a1\) +0+0094 <[^>]*> lui at,[-0-9x]+ [ ]*94: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0098 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0098 <[^>]*> addiu at,at,[-0-9]+ [ ]*98: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+009c <[^>]*> sb \$a0,[01]\(\$at\) -0+00a0 <[^>]*> srl \$a0,\$a0,0x8 -0+00a4 <[^>]*> sb \$a0,[01]\(\$at\) -0+00a8 <[^>]*> lbu \$at,[01]\(\$at\) -0+00ac <[^>]*> sll \$a0,\$a0,0x8 -0+00b0 <[^>]*> or \$a0,\$a0,\$at -0+00b4 <[^>]*> lui \$at,0x0 +0+009c <[^>]*> sb a0,[01]\(at\) +0+00a0 <[^>]*> srl a0,a0,0x8 +0+00a4 <[^>]*> sb a0,[01]\(at\) +0+00a8 <[^>]*> lbu at,[01]\(at\) +0+00ac <[^>]*> sll a0,a0,0x8 +0+00b0 <[^>]*> or a0,a0,at +0+00b4 <[^>]*> lui at,0x0 [ ]*b4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00b8 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+00b8 <[^>]*> addiu at,at,[-0-9]+ [ ]*b8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00bc <[^>]*> sb \$a0,[01]\(\$at\) -0+00c0 <[^>]*> srl \$a0,\$a0,0x8 -0+00c4 <[^>]*> sb \$a0,[01]\(\$at\) -0+00c8 <[^>]*> lbu \$at,[01]\(\$at\) -0+00cc <[^>]*> sll \$a0,\$a0,0x8 -0+00d0 <[^>]*> or \$a0,\$a0,\$at -0+00d4 <[^>]*> addiu \$at,\$gp,0 +0+00bc <[^>]*> sb a0,[01]\(at\) +0+00c0 <[^>]*> srl a0,a0,0x8 +0+00c4 <[^>]*> sb a0,[01]\(at\) +0+00c8 <[^>]*> lbu at,[01]\(at\) +0+00cc <[^>]*> sll a0,a0,0x8 +0+00d0 <[^>]*> or a0,a0,at +0+00d4 <[^>]*> addiu at,gp,0 [ ]*d4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00d8 <[^>]*> sb \$a0,[01]\(\$at\) -0+00dc <[^>]*> srl \$a0,\$a0,0x8 -0+00e0 <[^>]*> sb \$a0,[01]\(\$at\) -0+00e4 <[^>]*> lbu \$at,[01]\(\$at\) -0+00e8 <[^>]*> sll \$a0,\$a0,0x8 -0+00ec <[^>]*> or \$a0,\$a0,\$at -0+00f0 <[^>]*> lui \$at,[-0-9x]+ +0+00d8 <[^>]*> sb a0,[01]\(at\) +0+00dc <[^>]*> srl a0,a0,0x8 +0+00e0 <[^>]*> sb a0,[01]\(at\) +0+00e4 <[^>]*> lbu at,[01]\(at\) +0+00e8 <[^>]*> sll a0,a0,0x8 +0+00ec <[^>]*> or a0,a0,at +0+00f0 <[^>]*> lui at,[-0-9x]+ [ ]*f0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00f4 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+00f4 <[^>]*> addiu at,at,[-0-9]+ [ ]*f4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00f8 <[^>]*> sb \$a0,[01]\(\$at\) -0+00fc <[^>]*> srl \$a0,\$a0,0x8 -0+0100 <[^>]*> sb \$a0,[01]\(\$at\) -0+0104 <[^>]*> lbu \$at,[01]\(\$at\) -0+0108 <[^>]*> sll \$a0,\$a0,0x8 -0+010c <[^>]*> or \$a0,\$a0,\$at -0+0110 <[^>]*> addiu \$at,\$gp,0 +0+00f8 <[^>]*> sb a0,[01]\(at\) +0+00fc <[^>]*> srl a0,a0,0x8 +0+0100 <[^>]*> sb a0,[01]\(at\) +0+0104 <[^>]*> lbu at,[01]\(at\) +0+0108 <[^>]*> sll a0,a0,0x8 +0+010c <[^>]*> or a0,a0,at +0+0110 <[^>]*> addiu at,gp,0 [ ]*110: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0114 <[^>]*> sb \$a0,[01]\(\$at\) -0+0118 <[^>]*> srl \$a0,\$a0,0x8 -0+011c <[^>]*> sb \$a0,[01]\(\$at\) -0+0120 <[^>]*> lbu \$at,[01]\(\$at\) -0+0124 <[^>]*> sll \$a0,\$a0,0x8 -0+0128 <[^>]*> or \$a0,\$a0,\$at -0+012c <[^>]*> lui \$at,[-0-9x]+ +0+0114 <[^>]*> sb a0,[01]\(at\) +0+0118 <[^>]*> srl a0,a0,0x8 +0+011c <[^>]*> sb a0,[01]\(at\) +0+0120 <[^>]*> lbu at,[01]\(at\) +0+0124 <[^>]*> sll a0,a0,0x8 +0+0128 <[^>]*> or a0,a0,at +0+012c <[^>]*> lui at,[-0-9x]+ [ ]*12c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0130 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0130 <[^>]*> addiu at,at,[-0-9]+ [ ]*130: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0134 <[^>]*> sb \$a0,[01]\(\$at\) -0+0138 <[^>]*> srl \$a0,\$a0,0x8 -0+013c <[^>]*> sb \$a0,[01]\(\$at\) -0+0140 <[^>]*> lbu \$at,[01]\(\$at\) -0+0144 <[^>]*> sll \$a0,\$a0,0x8 -0+0148 <[^>]*> or \$a0,\$a0,\$at -0+014c <[^>]*> addiu \$at,\$gp,[-0-9]+ +0+0134 <[^>]*> sb a0,[01]\(at\) +0+0138 <[^>]*> srl a0,a0,0x8 +0+013c <[^>]*> sb a0,[01]\(at\) +0+0140 <[^>]*> lbu at,[01]\(at\) +0+0144 <[^>]*> sll a0,a0,0x8 +0+0148 <[^>]*> or a0,a0,at +0+014c <[^>]*> addiu at,gp,[-0-9]+ [ ]*14c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0150 <[^>]*> sb \$a0,[01]\(\$at\) -0+0154 <[^>]*> srl \$a0,\$a0,0x8 -0+0158 <[^>]*> sb \$a0,[01]\(\$at\) -0+015c <[^>]*> lbu \$at,[01]\(\$at\) -0+0160 <[^>]*> sll \$a0,\$a0,0x8 -0+0164 <[^>]*> or \$a0,\$a0,\$at -0+0168 <[^>]*> lui \$at,0x0 +0+0150 <[^>]*> sb a0,[01]\(at\) +0+0154 <[^>]*> srl a0,a0,0x8 +0+0158 <[^>]*> sb a0,[01]\(at\) +0+015c <[^>]*> lbu at,[01]\(at\) +0+0160 <[^>]*> sll a0,a0,0x8 +0+0164 <[^>]*> or a0,a0,at +0+0168 <[^>]*> lui at,0x0 [ ]*168: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+016c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+016c <[^>]*> addiu at,at,[-0-9]+ [ ]*16c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0170 <[^>]*> sb \$a0,[01]\(\$at\) -0+0174 <[^>]*> srl \$a0,\$a0,0x8 -0+0178 <[^>]*> sb \$a0,[01]\(\$at\) -0+017c <[^>]*> lbu \$at,[01]\(\$at\) -0+0180 <[^>]*> sll \$a0,\$a0,0x8 -0+0184 <[^>]*> or \$a0,\$a0,\$at -0+0188 <[^>]*> lui \$at,0x0 +0+0170 <[^>]*> sb a0,[01]\(at\) +0+0174 <[^>]*> srl a0,a0,0x8 +0+0178 <[^>]*> sb a0,[01]\(at\) +0+017c <[^>]*> lbu at,[01]\(at\) +0+0180 <[^>]*> sll a0,a0,0x8 +0+0184 <[^>]*> or a0,a0,at +0+0188 <[^>]*> lui at,0x0 [ ]*188: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+018c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+018c <[^>]*> addiu at,at,[-0-9]+ [ ]*18c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0190 <[^>]*> sb \$a0,[01]\(\$at\) -0+0194 <[^>]*> srl \$a0,\$a0,0x8 -0+0198 <[^>]*> sb \$a0,[01]\(\$at\) -0+019c <[^>]*> lbu \$at,[01]\(\$at\) -0+01a0 <[^>]*> sll \$a0,\$a0,0x8 -0+01a4 <[^>]*> or \$a0,\$a0,\$at -0+01a8 <[^>]*> addiu \$at,\$gp,1 +0+0190 <[^>]*> sb a0,[01]\(at\) +0+0194 <[^>]*> srl a0,a0,0x8 +0+0198 <[^>]*> sb a0,[01]\(at\) +0+019c <[^>]*> lbu at,[01]\(at\) +0+01a0 <[^>]*> sll a0,a0,0x8 +0+01a4 <[^>]*> or a0,a0,at +0+01a8 <[^>]*> addiu at,gp,1 [ ]*1a8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+01ac <[^>]*> sb \$a0,[01]\(\$at\) -0+01b0 <[^>]*> srl \$a0,\$a0,0x8 -0+01b4 <[^>]*> sb \$a0,[01]\(\$at\) -0+01b8 <[^>]*> lbu \$at,[01]\(\$at\) -0+01bc <[^>]*> sll \$a0,\$a0,0x8 -0+01c0 <[^>]*> or \$a0,\$a0,\$at -0+01c4 <[^>]*> lui \$at,0x0 +0+01ac <[^>]*> sb a0,[01]\(at\) +0+01b0 <[^>]*> srl a0,a0,0x8 +0+01b4 <[^>]*> sb a0,[01]\(at\) +0+01b8 <[^>]*> lbu at,[01]\(at\) +0+01bc <[^>]*> sll a0,a0,0x8 +0+01c0 <[^>]*> or a0,a0,at +0+01c4 <[^>]*> lui at,0x0 [ ]*1c4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+01c8 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01c8 <[^>]*> addiu at,at,[-0-9]+ [ ]*1c8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01cc <[^>]*> sb \$a0,[01]\(\$at\) -0+01d0 <[^>]*> srl \$a0,\$a0,0x8 -0+01d4 <[^>]*> sb \$a0,[01]\(\$at\) -0+01d8 <[^>]*> lbu \$at,[01]\(\$at\) -0+01dc <[^>]*> sll \$a0,\$a0,0x8 -0+01e0 <[^>]*> or \$a0,\$a0,\$at -0+01e4 <[^>]*> addiu \$at,\$gp,1 +0+01cc <[^>]*> sb a0,[01]\(at\) +0+01d0 <[^>]*> srl a0,a0,0x8 +0+01d4 <[^>]*> sb a0,[01]\(at\) +0+01d8 <[^>]*> lbu at,[01]\(at\) +0+01dc <[^>]*> sll a0,a0,0x8 +0+01e0 <[^>]*> or a0,a0,at +0+01e4 <[^>]*> addiu at,gp,1 [ ]*1e4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+01e8 <[^>]*> sb \$a0,[01]\(\$at\) -0+01ec <[^>]*> srl \$a0,\$a0,0x8 -0+01f0 <[^>]*> sb \$a0,[01]\(\$at\) -0+01f4 <[^>]*> lbu \$at,[01]\(\$at\) -0+01f8 <[^>]*> sll \$a0,\$a0,0x8 -0+01fc <[^>]*> or \$a0,\$a0,\$at -0+0200 <[^>]*> lui \$at,0x0 +0+01e8 <[^>]*> sb a0,[01]\(at\) +0+01ec <[^>]*> srl a0,a0,0x8 +0+01f0 <[^>]*> sb a0,[01]\(at\) +0+01f4 <[^>]*> lbu at,[01]\(at\) +0+01f8 <[^>]*> sll a0,a0,0x8 +0+01fc <[^>]*> or a0,a0,at +0+0200 <[^>]*> lui at,0x0 [ ]*200: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0204 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0204 <[^>]*> addiu at,at,[-0-9]+ [ ]*204: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0208 <[^>]*> sb \$a0,[01]\(\$at\) -0+020c <[^>]*> srl \$a0,\$a0,0x8 -0+0210 <[^>]*> sb \$a0,[01]\(\$at\) -0+0214 <[^>]*> lbu \$at,[01]\(\$at\) -0+0218 <[^>]*> sll \$a0,\$a0,0x8 -0+021c <[^>]*> or \$a0,\$a0,\$at -0+0220 <[^>]*> addiu \$at,\$gp,[-0-9]+ +0+0208 <[^>]*> sb a0,[01]\(at\) +0+020c <[^>]*> srl a0,a0,0x8 +0+0210 <[^>]*> sb a0,[01]\(at\) +0+0214 <[^>]*> lbu at,[01]\(at\) +0+0218 <[^>]*> sll a0,a0,0x8 +0+021c <[^>]*> or a0,a0,at +0+0220 <[^>]*> addiu at,gp,[-0-9]+ [ ]*220: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0224 <[^>]*> sb \$a0,[01]\(\$at\) -0+0228 <[^>]*> srl \$a0,\$a0,0x8 -0+022c <[^>]*> sb \$a0,[01]\(\$at\) -0+0230 <[^>]*> lbu \$at,[01]\(\$at\) -0+0234 <[^>]*> sll \$a0,\$a0,0x8 -0+0238 <[^>]*> or \$a0,\$a0,\$at -0+023c <[^>]*> lui \$at,[-0-9x]+ +0+0224 <[^>]*> sb a0,[01]\(at\) +0+0228 <[^>]*> srl a0,a0,0x8 +0+022c <[^>]*> sb a0,[01]\(at\) +0+0230 <[^>]*> lbu at,[01]\(at\) +0+0234 <[^>]*> sll a0,a0,0x8 +0+0238 <[^>]*> or a0,a0,at +0+023c <[^>]*> lui at,[-0-9x]+ [ ]*23c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0240 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0240 <[^>]*> addiu at,at,[-0-9]+ [ ]*240: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0244 <[^>]*> sb \$a0,[01]\(\$at\) -0+0248 <[^>]*> srl \$a0,\$a0,0x8 -0+024c <[^>]*> sb \$a0,[01]\(\$at\) -0+0250 <[^>]*> lbu \$at,[01]\(\$at\) -0+0254 <[^>]*> sll \$a0,\$a0,0x8 -0+0258 <[^>]*> or \$a0,\$a0,\$at -0+025c <[^>]*> lui \$at,[-0-9x]+ +0+0244 <[^>]*> sb a0,[01]\(at\) +0+0248 <[^>]*> srl a0,a0,0x8 +0+024c <[^>]*> sb a0,[01]\(at\) +0+0250 <[^>]*> lbu at,[01]\(at\) +0+0254 <[^>]*> sll a0,a0,0x8 +0+0258 <[^>]*> or a0,a0,at +0+025c <[^>]*> lui at,[-0-9x]+ [ ]*25c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0260 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0260 <[^>]*> addiu at,at,[-0-9]+ [ ]*260: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0264 <[^>]*> sb \$a0,[01]\(\$at\) -0+0268 <[^>]*> srl \$a0,\$a0,0x8 -0+026c <[^>]*> sb \$a0,[01]\(\$at\) -0+0270 <[^>]*> lbu \$at,[01]\(\$at\) -0+0274 <[^>]*> sll \$a0,\$a0,0x8 -0+0278 <[^>]*> or \$a0,\$a0,\$at -0+027c <[^>]*> lui \$at,[-0-9x]+ +0+0264 <[^>]*> sb a0,[01]\(at\) +0+0268 <[^>]*> srl a0,a0,0x8 +0+026c <[^>]*> sb a0,[01]\(at\) +0+0270 <[^>]*> lbu at,[01]\(at\) +0+0274 <[^>]*> sll a0,a0,0x8 +0+0278 <[^>]*> or a0,a0,at +0+027c <[^>]*> lui at,[-0-9x]+ [ ]*27c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0280 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0280 <[^>]*> addiu at,at,[-0-9]+ [ ]*280: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0284 <[^>]*> sb \$a0,[01]\(\$at\) -0+0288 <[^>]*> srl \$a0,\$a0,0x8 -0+028c <[^>]*> sb \$a0,[01]\(\$at\) -0+0290 <[^>]*> lbu \$at,[01]\(\$at\) -0+0294 <[^>]*> sll \$a0,\$a0,0x8 -0+0298 <[^>]*> or \$a0,\$a0,\$at -0+029c <[^>]*> lui \$at,[-0-9x]+ +0+0284 <[^>]*> sb a0,[01]\(at\) +0+0288 <[^>]*> srl a0,a0,0x8 +0+028c <[^>]*> sb a0,[01]\(at\) +0+0290 <[^>]*> lbu at,[01]\(at\) +0+0294 <[^>]*> sll a0,a0,0x8 +0+0298 <[^>]*> or a0,a0,at +0+029c <[^>]*> lui at,[-0-9x]+ [ ]*29c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+02a0 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+02a0 <[^>]*> addiu at,at,[-0-9]+ [ ]*2a0: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+02a4 <[^>]*> sb \$a0,[01]\(\$at\) -0+02a8 <[^>]*> srl \$a0,\$a0,0x8 -0+02ac <[^>]*> sb \$a0,[01]\(\$at\) -0+02b0 <[^>]*> lbu \$at,[01]\(\$at\) -0+02b4 <[^>]*> sll \$a0,\$a0,0x8 -0+02b8 <[^>]*> or \$a0,\$a0,\$at -0+02bc <[^>]*> lui \$at,[-0-9x]+ +0+02a4 <[^>]*> sb a0,[01]\(at\) +0+02a8 <[^>]*> srl a0,a0,0x8 +0+02ac <[^>]*> sb a0,[01]\(at\) +0+02b0 <[^>]*> lbu at,[01]\(at\) +0+02b4 <[^>]*> sll a0,a0,0x8 +0+02b8 <[^>]*> or a0,a0,at +0+02bc <[^>]*> lui at,[-0-9x]+ [ ]*2bc: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+02c0 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+02c0 <[^>]*> addiu at,at,[-0-9]+ [ ]*2c0: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+02c4 <[^>]*> sb \$a0,[01]\(\$at\) -0+02c8 <[^>]*> srl \$a0,\$a0,0x8 -0+02cc <[^>]*> sb \$a0,[01]\(\$at\) -0+02d0 <[^>]*> lbu \$at,[01]\(\$at\) -0+02d4 <[^>]*> sll \$a0,\$a0,0x8 -0+02d8 <[^>]*> or \$a0,\$a0,\$at -0+02dc <[^>]*> lui \$at,[-0-9x]+ +0+02c4 <[^>]*> sb a0,[01]\(at\) +0+02c8 <[^>]*> srl a0,a0,0x8 +0+02cc <[^>]*> sb a0,[01]\(at\) +0+02d0 <[^>]*> lbu at,[01]\(at\) +0+02d4 <[^>]*> sll a0,a0,0x8 +0+02d8 <[^>]*> or a0,a0,at +0+02dc <[^>]*> lui at,[-0-9x]+ [ ]*2dc: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+02e0 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+02e0 <[^>]*> addiu at,at,[-0-9]+ [ ]*2e0: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+02e4 <[^>]*> sb \$a0,[01]\(\$at\) -0+02e8 <[^>]*> srl \$a0,\$a0,0x8 -0+02ec <[^>]*> sb \$a0,[01]\(\$at\) -0+02f0 <[^>]*> lbu \$at,[01]\(\$at\) -0+02f4 <[^>]*> sll \$a0,\$a0,0x8 -0+02f8 <[^>]*> or \$a0,\$a0,\$at -0+02fc <[^>]*> lui \$at,[-0-9x]+ +0+02e4 <[^>]*> sb a0,[01]\(at\) +0+02e8 <[^>]*> srl a0,a0,0x8 +0+02ec <[^>]*> sb a0,[01]\(at\) +0+02f0 <[^>]*> lbu at,[01]\(at\) +0+02f4 <[^>]*> sll a0,a0,0x8 +0+02f8 <[^>]*> or a0,a0,at +0+02fc <[^>]*> lui at,[-0-9x]+ [ ]*2fc: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+0300 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0300 <[^>]*> addiu at,at,[-0-9]+ [ ]*300: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0304 <[^>]*> sb \$a0,[01]\(\$at\) -0+0308 <[^>]*> srl \$a0,\$a0,0x8 -0+030c <[^>]*> sb \$a0,[01]\(\$at\) -0+0310 <[^>]*> lbu \$at,[01]\(\$at\) -0+0314 <[^>]*> sll \$a0,\$a0,0x8 -0+0318 <[^>]*> or \$a0,\$a0,\$at -0+031c <[^>]*> lui \$at,0x0 +0+0304 <[^>]*> sb a0,[01]\(at\) +0+0308 <[^>]*> srl a0,a0,0x8 +0+030c <[^>]*> sb a0,[01]\(at\) +0+0310 <[^>]*> lbu at,[01]\(at\) +0+0314 <[^>]*> sll a0,a0,0x8 +0+0318 <[^>]*> or a0,a0,at +0+031c <[^>]*> lui at,0x0 [ ]*31c: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0320 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0320 <[^>]*> addiu at,at,[-0-9]+ [ ]*320: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0324 <[^>]*> sb \$a0,[01]\(\$at\) -0+0328 <[^>]*> srl \$a0,\$a0,0x8 -0+032c <[^>]*> sb \$a0,[01]\(\$at\) -0+0330 <[^>]*> lbu \$at,[01]\(\$at\) -0+0334 <[^>]*> sll \$a0,\$a0,0x8 -0+0338 <[^>]*> or \$a0,\$a0,\$at -0+033c <[^>]*> lui \$at,0x0 +0+0324 <[^>]*> sb a0,[01]\(at\) +0+0328 <[^>]*> srl a0,a0,0x8 +0+032c <[^>]*> sb a0,[01]\(at\) +0+0330 <[^>]*> lbu at,[01]\(at\) +0+0334 <[^>]*> sll a0,a0,0x8 +0+0338 <[^>]*> or a0,a0,at +0+033c <[^>]*> lui at,0x0 [ ]*33c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0340 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0340 <[^>]*> addiu at,at,[-0-9]+ [ ]*340: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0344 <[^>]*> sb \$a0,[01]\(\$at\) -0+0348 <[^>]*> srl \$a0,\$a0,0x8 -0+034c <[^>]*> sb \$a0,[01]\(\$at\) -0+0350 <[^>]*> lbu \$at,[01]\(\$at\) -0+0354 <[^>]*> sll \$a0,\$a0,0x8 -0+0358 <[^>]*> or \$a0,\$a0,\$at -0+035c <[^>]*> lui \$at,0x0 +0+0344 <[^>]*> sb a0,[01]\(at\) +0+0348 <[^>]*> srl a0,a0,0x8 +0+034c <[^>]*> sb a0,[01]\(at\) +0+0350 <[^>]*> lbu at,[01]\(at\) +0+0354 <[^>]*> sll a0,a0,0x8 +0+0358 <[^>]*> or a0,a0,at +0+035c <[^>]*> lui at,0x0 [ ]*35c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0360 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0360 <[^>]*> addiu at,at,[-0-9]+ [ ]*360: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0364 <[^>]*> sb \$a0,[01]\(\$at\) -0+0368 <[^>]*> srl \$a0,\$a0,0x8 -0+036c <[^>]*> sb \$a0,[01]\(\$at\) -0+0370 <[^>]*> lbu \$at,[01]\(\$at\) -0+0374 <[^>]*> sll \$a0,\$a0,0x8 -0+0378 <[^>]*> or \$a0,\$a0,\$at -0+037c <[^>]*> lui \$at,0x0 +0+0364 <[^>]*> sb a0,[01]\(at\) +0+0368 <[^>]*> srl a0,a0,0x8 +0+036c <[^>]*> sb a0,[01]\(at\) +0+0370 <[^>]*> lbu at,[01]\(at\) +0+0374 <[^>]*> sll a0,a0,0x8 +0+0378 <[^>]*> or a0,a0,at +0+037c <[^>]*> lui at,0x0 [ ]*37c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0380 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0380 <[^>]*> addiu at,at,[-0-9]+ [ ]*380: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0384 <[^>]*> sb \$a0,[01]\(\$at\) -0+0388 <[^>]*> srl \$a0,\$a0,0x8 -0+038c <[^>]*> sb \$a0,[01]\(\$at\) -0+0390 <[^>]*> lbu \$at,[01]\(\$at\) -0+0394 <[^>]*> sll \$a0,\$a0,0x8 -0+0398 <[^>]*> or \$a0,\$a0,\$at -0+039c <[^>]*> lui \$at,0x0 +0+0384 <[^>]*> sb a0,[01]\(at\) +0+0388 <[^>]*> srl a0,a0,0x8 +0+038c <[^>]*> sb a0,[01]\(at\) +0+0390 <[^>]*> lbu at,[01]\(at\) +0+0394 <[^>]*> sll a0,a0,0x8 +0+0398 <[^>]*> or a0,a0,at +0+039c <[^>]*> lui at,0x0 [ ]*39c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+03a0 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+03a0 <[^>]*> addiu at,at,[-0-9]+ [ ]*3a0: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+03a4 <[^>]*> sb \$a0,[01]\(\$at\) -0+03a8 <[^>]*> srl \$a0,\$a0,0x8 -0+03ac <[^>]*> sb \$a0,[01]\(\$at\) -0+03b0 <[^>]*> lbu \$at,[01]\(\$at\) -0+03b4 <[^>]*> sll \$a0,\$a0,0x8 -0+03b8 <[^>]*> or \$a0,\$a0,\$at -0+03bc <[^>]*> lui \$at,0x0 +0+03a4 <[^>]*> sb a0,[01]\(at\) +0+03a8 <[^>]*> srl a0,a0,0x8 +0+03ac <[^>]*> sb a0,[01]\(at\) +0+03b0 <[^>]*> lbu at,[01]\(at\) +0+03b4 <[^>]*> sll a0,a0,0x8 +0+03b8 <[^>]*> or a0,a0,at +0+03bc <[^>]*> lui at,0x0 [ ]*3bc: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+03c0 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+03c0 <[^>]*> addiu at,at,[-0-9]+ [ ]*3c0: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+03c4 <[^>]*> sb \$a0,[01]\(\$at\) -0+03c8 <[^>]*> srl \$a0,\$a0,0x8 -0+03cc <[^>]*> sb \$a0,[01]\(\$at\) -0+03d0 <[^>]*> lbu \$at,[01]\(\$at\) -0+03d4 <[^>]*> sll \$a0,\$a0,0x8 -0+03d8 <[^>]*> or \$a0,\$a0,\$at -0+03dc <[^>]*> lui \$at,0x0 +0+03c4 <[^>]*> sb a0,[01]\(at\) +0+03c8 <[^>]*> srl a0,a0,0x8 +0+03cc <[^>]*> sb a0,[01]\(at\) +0+03d0 <[^>]*> lbu at,[01]\(at\) +0+03d4 <[^>]*> sll a0,a0,0x8 +0+03d8 <[^>]*> or a0,a0,at +0+03dc <[^>]*> lui at,0x0 [ ]*3dc: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+03e0 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+03e0 <[^>]*> addiu at,at,[-0-9]+ [ ]*3e0: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+03e4 <[^>]*> sb \$a0,[01]\(\$at\) -0+03e8 <[^>]*> srl \$a0,\$a0,0x8 -0+03ec <[^>]*> sb \$a0,[01]\(\$at\) -0+03f0 <[^>]*> lbu \$at,[01]\(\$at\) -0+03f4 <[^>]*> sll \$a0,\$a0,0x8 -0+03f8 <[^>]*> or \$a0,\$a0,\$at -0+03fc <[^>]*> lui \$at,[-0-9x]+ +0+03e4 <[^>]*> sb a0,[01]\(at\) +0+03e8 <[^>]*> srl a0,a0,0x8 +0+03ec <[^>]*> sb a0,[01]\(at\) +0+03f0 <[^>]*> lbu at,[01]\(at\) +0+03f4 <[^>]*> sll a0,a0,0x8 +0+03f8 <[^>]*> or a0,a0,at +0+03fc <[^>]*> lui at,[-0-9x]+ [ ]*3fc: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0400 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0400 <[^>]*> addiu at,at,[-0-9]+ [ ]*400: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0404 <[^>]*> sb \$a0,[01]\(\$at\) -0+0408 <[^>]*> srl \$a0,\$a0,0x8 -0+040c <[^>]*> sb \$a0,[01]\(\$at\) -0+0410 <[^>]*> lbu \$at,[01]\(\$at\) -0+0414 <[^>]*> sll \$a0,\$a0,0x8 -0+0418 <[^>]*> or \$a0,\$a0,\$at -0+041c <[^>]*> lui \$at,[-0-9x]+ +0+0404 <[^>]*> sb a0,[01]\(at\) +0+0408 <[^>]*> srl a0,a0,0x8 +0+040c <[^>]*> sb a0,[01]\(at\) +0+0410 <[^>]*> lbu at,[01]\(at\) +0+0414 <[^>]*> sll a0,a0,0x8 +0+0418 <[^>]*> or a0,a0,at +0+041c <[^>]*> lui at,[-0-9x]+ [ ]*41c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0420 <[^>]*> addiu \$at,\$at,0 +0+0420 <[^>]*> addiu at,at,0 [ ]*420: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0424 <[^>]*> sb \$a0,[01]\(\$at\) -0+0428 <[^>]*> srl \$a0,\$a0,0x8 -0+042c <[^>]*> sb \$a0,[01]\(\$at\) -0+0430 <[^>]*> lbu \$at,[01]\(\$at\) -0+0434 <[^>]*> sll \$a0,\$a0,0x8 -0+0438 <[^>]*> or \$a0,\$a0,\$at -0+043c <[^>]*> lui \$at,[-0-9x]+ +0+0424 <[^>]*> sb a0,[01]\(at\) +0+0428 <[^>]*> srl a0,a0,0x8 +0+042c <[^>]*> sb a0,[01]\(at\) +0+0430 <[^>]*> lbu at,[01]\(at\) +0+0434 <[^>]*> sll a0,a0,0x8 +0+0438 <[^>]*> or a0,a0,at +0+043c <[^>]*> lui at,[-0-9x]+ [ ]*43c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0440 <[^>]*> addiu \$at,\$at,0 +0+0440 <[^>]*> addiu at,at,0 [ ]*440: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0444 <[^>]*> sb \$a0,[01]\(\$at\) -0+0448 <[^>]*> srl \$a0,\$a0,0x8 -0+044c <[^>]*> sb \$a0,[01]\(\$at\) -0+0450 <[^>]*> lbu \$at,[01]\(\$at\) -0+0454 <[^>]*> sll \$a0,\$a0,0x8 -0+0458 <[^>]*> or \$a0,\$a0,\$at -0+045c <[^>]*> lui \$at,[-0-9x]+ +0+0444 <[^>]*> sb a0,[01]\(at\) +0+0448 <[^>]*> srl a0,a0,0x8 +0+044c <[^>]*> sb a0,[01]\(at\) +0+0450 <[^>]*> lbu at,[01]\(at\) +0+0454 <[^>]*> sll a0,a0,0x8 +0+0458 <[^>]*> or a0,a0,at +0+045c <[^>]*> lui at,[-0-9x]+ [ ]*45c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0460 <[^>]*> addiu \$at,\$at,0 +0+0460 <[^>]*> addiu at,at,0 [ ]*460: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0464 <[^>]*> sb \$a0,[01]\(\$at\) -0+0468 <[^>]*> srl \$a0,\$a0,0x8 -0+046c <[^>]*> sb \$a0,[01]\(\$at\) -0+0470 <[^>]*> lbu \$at,[01]\(\$at\) -0+0474 <[^>]*> sll \$a0,\$a0,0x8 -0+0478 <[^>]*> or \$a0,\$a0,\$at -0+047c <[^>]*> lui \$at,[-0-9x]+ +0+0464 <[^>]*> sb a0,[01]\(at\) +0+0468 <[^>]*> srl a0,a0,0x8 +0+046c <[^>]*> sb a0,[01]\(at\) +0+0470 <[^>]*> lbu at,[01]\(at\) +0+0474 <[^>]*> sll a0,a0,0x8 +0+0478 <[^>]*> or a0,a0,at +0+047c <[^>]*> lui at,[-0-9x]+ [ ]*47c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0480 <[^>]*> addiu \$at,\$at,0 +0+0480 <[^>]*> addiu at,at,0 [ ]*480: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0484 <[^>]*> sb \$a0,[01]\(\$at\) -0+0488 <[^>]*> srl \$a0,\$a0,0x8 -0+048c <[^>]*> sb \$a0,[01]\(\$at\) -0+0490 <[^>]*> lbu \$at,[01]\(\$at\) -0+0494 <[^>]*> sll \$a0,\$a0,0x8 -0+0498 <[^>]*> or \$a0,\$a0,\$at -0+049c <[^>]*> lui \$at,[-0-9x]+ +0+0484 <[^>]*> sb a0,[01]\(at\) +0+0488 <[^>]*> srl a0,a0,0x8 +0+048c <[^>]*> sb a0,[01]\(at\) +0+0490 <[^>]*> lbu at,[01]\(at\) +0+0494 <[^>]*> sll a0,a0,0x8 +0+0498 <[^>]*> or a0,a0,at +0+049c <[^>]*> lui at,[-0-9x]+ [ ]*49c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+04a0 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+04a0 <[^>]*> addiu at,at,[-0-9]+ [ ]*4a0: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+04a4 <[^>]*> sb \$a0,[01]\(\$at\) -0+04a8 <[^>]*> srl \$a0,\$a0,0x8 -0+04ac <[^>]*> sb \$a0,[01]\(\$at\) -0+04b0 <[^>]*> lbu \$at,[01]\(\$at\) -0+04b4 <[^>]*> sll \$a0,\$a0,0x8 -0+04b8 <[^>]*> or \$a0,\$a0,\$at -0+04bc <[^>]*> lui \$at,[-0-9x]+ +0+04a4 <[^>]*> sb a0,[01]\(at\) +0+04a8 <[^>]*> srl a0,a0,0x8 +0+04ac <[^>]*> sb a0,[01]\(at\) +0+04b0 <[^>]*> lbu at,[01]\(at\) +0+04b4 <[^>]*> sll a0,a0,0x8 +0+04b8 <[^>]*> or a0,a0,at +0+04bc <[^>]*> lui at,[-0-9x]+ [ ]*4bc: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+04c0 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+04c0 <[^>]*> addiu at,at,[-0-9]+ [ ]*4c0: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+04c4 <[^>]*> sb \$a0,[01]\(\$at\) -0+04c8 <[^>]*> srl \$a0,\$a0,0x8 -0+04cc <[^>]*> sb \$a0,[01]\(\$at\) -0+04d0 <[^>]*> lbu \$at,[01]\(\$at\) -0+04d4 <[^>]*> sll \$a0,\$a0,0x8 -0+04d8 <[^>]*> or \$a0,\$a0,\$at -0+04dc <[^>]*> lui \$at,[-0-9x]+ +0+04c4 <[^>]*> sb a0,[01]\(at\) +0+04c8 <[^>]*> srl a0,a0,0x8 +0+04cc <[^>]*> sb a0,[01]\(at\) +0+04d0 <[^>]*> lbu at,[01]\(at\) +0+04d4 <[^>]*> sll a0,a0,0x8 +0+04d8 <[^>]*> or a0,a0,at +0+04dc <[^>]*> lui at,[-0-9x]+ [ ]*4dc: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+04e0 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+04e0 <[^>]*> addiu at,at,[-0-9]+ [ ]*4e0: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+04e4 <[^>]*> sb \$a0,[01]\(\$at\) -0+04e8 <[^>]*> srl \$a0,\$a0,0x8 -0+04ec <[^>]*> sb \$a0,[01]\(\$at\) -0+04f0 <[^>]*> lbu \$at,[01]\(\$at\) -0+04f4 <[^>]*> sll \$a0,\$a0,0x8 -0+04f8 <[^>]*> or \$a0,\$a0,\$at -0+04fc <[^>]*> lui \$at,[-0-9x]+ +0+04e4 <[^>]*> sb a0,[01]\(at\) +0+04e8 <[^>]*> srl a0,a0,0x8 +0+04ec <[^>]*> sb a0,[01]\(at\) +0+04f0 <[^>]*> lbu at,[01]\(at\) +0+04f4 <[^>]*> sll a0,a0,0x8 +0+04f8 <[^>]*> or a0,a0,at +0+04fc <[^>]*> lui at,[-0-9x]+ [ ]*4fc: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0500 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0500 <[^>]*> addiu at,at,[-0-9]+ [ ]*500: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0504 <[^>]*> sb \$a0,[01]\(\$at\) -0+0508 <[^>]*> srl \$a0,\$a0,0x8 -0+050c <[^>]*> sb \$a0,[01]\(\$at\) -0+0510 <[^>]*> lbu \$at,[01]\(\$at\) -0+0514 <[^>]*> sll \$a0,\$a0,0x8 -0+0518 <[^>]*> or \$a0,\$a0,\$at -0+051c <[^>]*> lui \$at,[-0-9x]+ +0+0504 <[^>]*> sb a0,[01]\(at\) +0+0508 <[^>]*> srl a0,a0,0x8 +0+050c <[^>]*> sb a0,[01]\(at\) +0+0510 <[^>]*> lbu at,[01]\(at\) +0+0514 <[^>]*> sll a0,a0,0x8 +0+0518 <[^>]*> or a0,a0,at +0+051c <[^>]*> lui at,[-0-9x]+ [ ]*51c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+0520 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0520 <[^>]*> addiu at,at,[-0-9]+ [ ]*520: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0524 <[^>]*> sb \$a0,[01]\(\$at\) -0+0528 <[^>]*> srl \$a0,\$a0,0x8 -0+052c <[^>]*> sb \$a0,[01]\(\$at\) -0+0530 <[^>]*> lbu \$at,[01]\(\$at\) -0+0534 <[^>]*> sll \$a0,\$a0,0x8 -0+0538 <[^>]*> or \$a0,\$a0,\$at -0+053c <[^>]*> lui \$at,[-0-9x]+ +0+0524 <[^>]*> sb a0,[01]\(at\) +0+0528 <[^>]*> srl a0,a0,0x8 +0+052c <[^>]*> sb a0,[01]\(at\) +0+0530 <[^>]*> lbu at,[01]\(at\) +0+0534 <[^>]*> sll a0,a0,0x8 +0+0538 <[^>]*> or a0,a0,at +0+053c <[^>]*> lui at,[-0-9x]+ [ ]*53c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0540 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0540 <[^>]*> addiu at,at,[-0-9]+ [ ]*540: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0544 <[^>]*> sb \$a0,[01]\(\$at\) -0+0548 <[^>]*> srl \$a0,\$a0,0x8 -0+054c <[^>]*> sb \$a0,[01]\(\$at\) -0+0550 <[^>]*> lbu \$at,[01]\(\$at\) -0+0554 <[^>]*> sll \$a0,\$a0,0x8 -0+0558 <[^>]*> or \$a0,\$a0,\$at -0+055c <[^>]*> lui \$at,[-0-9x]+ +0+0544 <[^>]*> sb a0,[01]\(at\) +0+0548 <[^>]*> srl a0,a0,0x8 +0+054c <[^>]*> sb a0,[01]\(at\) +0+0550 <[^>]*> lbu at,[01]\(at\) +0+0554 <[^>]*> sll a0,a0,0x8 +0+0558 <[^>]*> or a0,a0,at +0+055c <[^>]*> lui at,[-0-9x]+ [ ]*55c: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+0560 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0560 <[^>]*> addiu at,at,[-0-9]+ [ ]*560: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0564 <[^>]*> sb \$a0,[01]\(\$at\) -0+0568 <[^>]*> srl \$a0,\$a0,0x8 -0+056c <[^>]*> sb \$a0,[01]\(\$at\) -0+0570 <[^>]*> lbu \$at,[01]\(\$at\) -0+0574 <[^>]*> sll \$a0,\$a0,0x8 -0+0578 <[^>]*> or \$a0,\$a0,\$at -0+057c <[^>]*> lui \$at,[-0-9x]+ +0+0564 <[^>]*> sb a0,[01]\(at\) +0+0568 <[^>]*> srl a0,a0,0x8 +0+056c <[^>]*> sb a0,[01]\(at\) +0+0570 <[^>]*> lbu at,[01]\(at\) +0+0574 <[^>]*> sll a0,a0,0x8 +0+0578 <[^>]*> or a0,a0,at +0+057c <[^>]*> lui at,[-0-9x]+ [ ]*57c: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0580 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0580 <[^>]*> addiu at,at,[-0-9]+ [ ]*580: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0584 <[^>]*> sb \$a0,[01]\(\$at\) -0+0588 <[^>]*> srl \$a0,\$a0,0x8 -0+058c <[^>]*> sb \$a0,[01]\(\$at\) -0+0590 <[^>]*> lbu \$at,[01]\(\$at\) -0+0594 <[^>]*> sll \$a0,\$a0,0x8 -0+0598 <[^>]*> or \$a0,\$a0,\$at -0+059c <[^>]*> lui \$at,[-0-9x]+ +0+0584 <[^>]*> sb a0,[01]\(at\) +0+0588 <[^>]*> srl a0,a0,0x8 +0+058c <[^>]*> sb a0,[01]\(at\) +0+0590 <[^>]*> lbu at,[01]\(at\) +0+0594 <[^>]*> sll a0,a0,0x8 +0+0598 <[^>]*> or a0,a0,at +0+059c <[^>]*> lui at,[-0-9x]+ [ ]*59c: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+05a0 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+05a0 <[^>]*> addiu at,at,[-0-9]+ [ ]*5a0: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+05a4 <[^>]*> sb \$a0,[01]\(\$at\) -0+05a8 <[^>]*> srl \$a0,\$a0,0x8 -0+05ac <[^>]*> sb \$a0,[01]\(\$at\) -0+05b0 <[^>]*> lbu \$at,[01]\(\$at\) -0+05b4 <[^>]*> sll \$a0,\$a0,0x8 -0+05b8 <[^>]*> or \$a0,\$a0,\$at +0+05a4 <[^>]*> sb a0,[01]\(at\) +0+05a8 <[^>]*> srl a0,a0,0x8 +0+05ac <[^>]*> sb a0,[01]\(at\) +0+05b0 <[^>]*> lbu at,[01]\(at\) +0+05b4 <[^>]*> sll a0,a0,0x8 +0+05b8 <[^>]*> or a0,a0,at 0+05bc <[^>]*> nop diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/mips/usw.d binutils-2.11.90.0.15/gas/testsuite/gas/mips/usw.d --- binutils-2.11.90.0.8/gas/testsuite/gas/mips/usw.d Thu Jun 3 11:02:03 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/mips/usw.d Mon May 21 10:37:06 2001 @@ -7,264 +7,264 @@ .*: +file format .*mips.* Disassembly of section .text: -0+0000 <[^>]*> swl \$a0,[03]\(\$zero\) -0+0004 <[^>]*> swr \$a0,[03]\(\$zero\) -0+0008 <[^>]*> swl \$a0,[14]\(\$zero\) -0+000c <[^>]*> swr \$a0,[14]\(\$zero\) -0+0010 <[^>]*> li \$at,0x8000 -0+0014 <[^>]*> swl \$a0,[03]\(\$at\) -0+0018 <[^>]*> swr \$a0,[03]\(\$at\) -0+001c <[^>]*> swl \$a0,-3276[58]\(\$zero\) -0+0020 <[^>]*> swr \$a0,-3276[58]\(\$zero\) -0+0024 <[^>]*> lui \$at,0x1 -0+0028 <[^>]*> swl \$a0,[03]\(\$at\) -0+002c <[^>]*> swr \$a0,[03]\(\$at\) -0+0030 <[^>]*> lui \$at,0x1 -0+0034 <[^>]*> ori \$at,\$at,0xa5a5 -0+0038 <[^>]*> swl \$a0,[03]\(\$at\) -0+003c <[^>]*> swr \$a0,[03]\(\$at\) -0+0040 <[^>]*> swl \$a0,[03]\(\$a1\) -0+0044 <[^>]*> swr \$a0,[03]\(\$a1\) -0+0048 <[^>]*> swl \$a0,[14]\(\$a1\) -0+004c <[^>]*> swr \$a0,[-0-9]+\(\$a1\) -0+0050 <[^>]*> lui \$at,[-0-9x]+ +0+0000 <[^>]*> swl a0,[03]\(zero\) +0+0004 <[^>]*> swr a0,[03]\(zero\) +0+0008 <[^>]*> swl a0,[14]\(zero\) +0+000c <[^>]*> swr a0,[14]\(zero\) +0+0010 <[^>]*> li at,0x8000 +0+0014 <[^>]*> swl a0,[03]\(at\) +0+0018 <[^>]*> swr a0,[03]\(at\) +0+001c <[^>]*> swl a0,-3276[58]\(zero\) +0+0020 <[^>]*> swr a0,-3276[58]\(zero\) +0+0024 <[^>]*> lui at,0x1 +0+0028 <[^>]*> swl a0,[03]\(at\) +0+002c <[^>]*> swr a0,[03]\(at\) +0+0030 <[^>]*> lui at,0x1 +0+0034 <[^>]*> ori at,at,0xa5a5 +0+0038 <[^>]*> swl a0,[03]\(at\) +0+003c <[^>]*> swr a0,[03]\(at\) +0+0040 <[^>]*> swl a0,[03]\(a1\) +0+0044 <[^>]*> swr a0,[03]\(a1\) +0+0048 <[^>]*> swl a0,[14]\(a1\) +0+004c <[^>]*> swr a0,[-0-9]+\(a1\) +0+0050 <[^>]*> lui at,[-0-9x]+ [ ]*50: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+0054 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0054 <[^>]*> addiu at,at,[-0-9]+ [ ]*54: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0058 <[^>]*> swl \$a0,[03]\(\$at\) -0+005c <[^>]*> swr \$a0,[03]\(\$at\) -0+0060 <[^>]*> lui \$at,[-0-9x]+ +0+0058 <[^>]*> swl a0,[03]\(at\) +0+005c <[^>]*> swr a0,[03]\(at\) +0+0060 <[^>]*> lui at,[-0-9x]+ [ ]*60: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+0064 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0064 <[^>]*> addiu at,at,[-0-9]+ [ ]*64: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0068 <[^>]*> swl \$a0,[03]\(\$at\) -0+006c <[^>]*> swr \$a0,[03]\(\$at\) -0+0070 <[^>]*> addiu \$at,\$gp,0 +0+0068 <[^>]*> swl a0,[03]\(at\) +0+006c <[^>]*> swr a0,[03]\(at\) +0+0070 <[^>]*> addiu at,gp,0 [ ]*70: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+0074 <[^>]*> swl \$a0,[03]\(\$at\) -0+0078 <[^>]*> swr \$a0,[03]\(\$at\) -0+007c <[^>]*> lui \$at,0x0 +0+0074 <[^>]*> swl a0,[03]\(at\) +0+0078 <[^>]*> swr a0,[03]\(at\) +0+007c <[^>]*> lui at,0x0 [ ]*7c: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+0080 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0080 <[^>]*> addiu at,at,[-0-9]+ [ ]*80: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0084 <[^>]*> swl \$a0,[03]\(\$at\) -0+0088 <[^>]*> swr \$a0,[03]\(\$at\) -0+008c <[^>]*> addiu \$at,\$gp,0 +0+0084 <[^>]*> swl a0,[03]\(at\) +0+0088 <[^>]*> swr a0,[03]\(at\) +0+008c <[^>]*> addiu at,gp,0 [ ]*8c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+0090 <[^>]*> swl \$a0,[03]\(\$at\) -0+0094 <[^>]*> swr \$a0,[03]\(\$at\) -0+0098 <[^>]*> lui \$at,[-0-9x]+ +0+0090 <[^>]*> swl a0,[03]\(at\) +0+0094 <[^>]*> swr a0,[03]\(at\) +0+0098 <[^>]*> lui at,[-0-9x]+ [ ]*98: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+009c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+009c <[^>]*> addiu at,at,[-0-9]+ [ ]*9c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+00a0 <[^>]*> swl \$a0,[03]\(\$at\) -0+00a4 <[^>]*> swr \$a0,[03]\(\$at\) -0+00a8 <[^>]*> addiu \$at,\$gp,[-0-9]+ +0+00a0 <[^>]*> swl a0,[03]\(at\) +0+00a4 <[^>]*> swr a0,[03]\(at\) +0+00a8 <[^>]*> addiu at,gp,[-0-9]+ [ ]*a8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+00ac <[^>]*> swl \$a0,[03]\(\$at\) -0+00b0 <[^>]*> swr \$a0,[03]\(\$at\) -0+00b4 <[^>]*> lui \$at,0x0 +0+00ac <[^>]*> swl a0,[03]\(at\) +0+00b0 <[^>]*> swr a0,[03]\(at\) +0+00b4 <[^>]*> lui at,0x0 [ ]*b4: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+00b8 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+00b8 <[^>]*> addiu at,at,[-0-9]+ [ ]*b8: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+00bc <[^>]*> swl \$a0,[03]\(\$at\) -0+00c0 <[^>]*> swr \$a0,[03]\(\$at\) -0+00c4 <[^>]*> lui \$at,0x0 +0+00bc <[^>]*> swl a0,[03]\(at\) +0+00c0 <[^>]*> swr a0,[03]\(at\) +0+00c4 <[^>]*> lui at,0x0 [ ]*c4: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+00c8 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+00c8 <[^>]*> addiu at,at,[-0-9]+ [ ]*c8: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+00cc <[^>]*> swl \$a0,[03]\(\$at\) -0+00d0 <[^>]*> swr \$a0,[03]\(\$at\) -0+00d4 <[^>]*> addiu \$at,\$gp,1 +0+00cc <[^>]*> swl a0,[03]\(at\) +0+00d0 <[^>]*> swr a0,[03]\(at\) +0+00d4 <[^>]*> addiu at,gp,1 [ ]*d4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label -0+00d8 <[^>]*> swl \$a0,[03]\(\$at\) -0+00dc <[^>]*> swr \$a0,[03]\(\$at\) -0+00e0 <[^>]*> lui \$at,0x0 +0+00d8 <[^>]*> swl a0,[03]\(at\) +0+00dc <[^>]*> swr a0,[03]\(at\) +0+00e0 <[^>]*> lui at,0x0 [ ]*e0: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+00e4 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+00e4 <[^>]*> addiu at,at,[-0-9]+ [ ]*e4: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+00e8 <[^>]*> swl \$a0,[03]\(\$at\) -0+00ec <[^>]*> swr \$a0,[03]\(\$at\) -0+00f0 <[^>]*> addiu \$at,\$gp,1 +0+00e8 <[^>]*> swl a0,[03]\(at\) +0+00ec <[^>]*> swr a0,[03]\(at\) +0+00f0 <[^>]*> addiu at,gp,1 [ ]*f0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common -0+00f4 <[^>]*> swl \$a0,[03]\(\$at\) -0+00f8 <[^>]*> swr \$a0,[03]\(\$at\) -0+00fc <[^>]*> lui \$at,0x0 +0+00f4 <[^>]*> swl a0,[03]\(at\) +0+00f8 <[^>]*> swr a0,[03]\(at\) +0+00fc <[^>]*> lui at,0x0 [ ]*fc: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+0100 <[^>]*> addiu \$at,\$at,[-0-9]+ +0+0100 <[^>]*> addiu at,at,[-0-9]+ [ ]*100: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0104 <[^>]*> swl \$a0,[03]\(\$at\) -0+0108 <[^>]*> swr \$a0,[03]\(\$at\) -0+010c <[^>]*> addiu \$at,\$gp,[-0-9]+ +0+0104 <[^>]*> swl a0,[03]\(at\) +0+0108 <[^>]*> swr a0,[03]\(at\) +0+010c <[^>]*> addiu at,gp,[-0-9]+ [ ]*10c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* -0+0110 <[^>]*> swl \$a0,[03]\(\$at\) -0+0114 <[^>]*> swr \$a0,[03]\(\$at\) -0+0118 <[^>]*> lui \$at,[-0-9x]+ +0+0110 <[^>]*> swl a0,[03]\(at\) +0+0114 <[^>]*> swr a0,[03]\(at\) +0+0118 <[^>]*> lui at,[-0-9x]+ [ ]*118: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+011c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+011c <[^>]*> addiu at,at,[-0-9]+ [ ]*11c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0120 <[^>]*> swl \$a0,[03]\(\$at\) -0+0124 <[^>]*> swr \$a0,[03]\(\$at\) -0+0128 <[^>]*> lui \$at,[-0-9x]+ +0+0120 <[^>]*> swl a0,[03]\(at\) +0+0124 <[^>]*> swr a0,[03]\(at\) +0+0128 <[^>]*> lui at,[-0-9x]+ [ ]*128: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+012c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+012c <[^>]*> addiu at,at,[-0-9]+ [ ]*12c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0130 <[^>]*> swl \$a0,[03]\(\$at\) -0+0134 <[^>]*> swr \$a0,[03]\(\$at\) -0+0138 <[^>]*> lui \$at,[-0-9x]+ +0+0130 <[^>]*> swl a0,[03]\(at\) +0+0134 <[^>]*> swr a0,[03]\(at\) +0+0138 <[^>]*> lui at,[-0-9x]+ [ ]*138: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+013c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+013c <[^>]*> addiu at,at,[-0-9]+ [ ]*13c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0140 <[^>]*> swl \$a0,[03]\(\$at\) -0+0144 <[^>]*> swr \$a0,[03]\(\$at\) -0+0148 <[^>]*> lui \$at,[-0-9x]+ +0+0140 <[^>]*> swl a0,[03]\(at\) +0+0144 <[^>]*> swr a0,[03]\(at\) +0+0148 <[^>]*> lui at,[-0-9x]+ [ ]*148: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+014c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+014c <[^>]*> addiu at,at,[-0-9]+ [ ]*14c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0150 <[^>]*> swl \$a0,[03]\(\$at\) -0+0154 <[^>]*> swr \$a0,[03]\(\$at\) -0+0158 <[^>]*> lui \$at,[-0-9x]+ +0+0150 <[^>]*> swl a0,[03]\(at\) +0+0154 <[^>]*> swr a0,[03]\(at\) +0+0158 <[^>]*> lui at,[-0-9x]+ [ ]*158: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+015c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+015c <[^>]*> addiu at,at,[-0-9]+ [ ]*15c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0160 <[^>]*> swl \$a0,[03]\(\$at\) -0+0164 <[^>]*> swr \$a0,[03]\(\$at\) -0+0168 <[^>]*> lui \$at,[-0-9x]+ +0+0160 <[^>]*> swl a0,[03]\(at\) +0+0164 <[^>]*> swr a0,[03]\(at\) +0+0168 <[^>]*> lui at,[-0-9x]+ [ ]*168: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+016c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+016c <[^>]*> addiu at,at,[-0-9]+ [ ]*16c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0170 <[^>]*> swl \$a0,[03]\(\$at\) -0+0174 <[^>]*> swr \$a0,[03]\(\$at\) -0+0178 <[^>]*> lui \$at,[-0-9x]+ +0+0170 <[^>]*> swl a0,[03]\(at\) +0+0174 <[^>]*> swr a0,[03]\(at\) +0+0178 <[^>]*> lui at,[-0-9x]+ [ ]*178: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+017c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+017c <[^>]*> addiu at,at,[-0-9]+ [ ]*17c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0180 <[^>]*> swl \$a0,[03]\(\$at\) -0+0184 <[^>]*> swr \$a0,[03]\(\$at\) -0+0188 <[^>]*> lui \$at,0x0 +0+0180 <[^>]*> swl a0,[03]\(at\) +0+0184 <[^>]*> swr a0,[03]\(at\) +0+0188 <[^>]*> lui at,0x0 [ ]*188: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+018c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+018c <[^>]*> addiu at,at,[-0-9]+ [ ]*18c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0190 <[^>]*> swl \$a0,[03]\(\$at\) -0+0194 <[^>]*> swr \$a0,[03]\(\$at\) -0+0198 <[^>]*> lui \$at,0x0 +0+0190 <[^>]*> swl a0,[03]\(at\) +0+0194 <[^>]*> swr a0,[03]\(at\) +0+0198 <[^>]*> lui at,0x0 [ ]*198: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+019c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+019c <[^>]*> addiu at,at,[-0-9]+ [ ]*19c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+01a0 <[^>]*> swl \$a0,[03]\(\$at\) -0+01a4 <[^>]*> swr \$a0,[03]\(\$at\) -0+01a8 <[^>]*> lui \$at,0x0 +0+01a0 <[^>]*> swl a0,[03]\(at\) +0+01a4 <[^>]*> swr a0,[03]\(at\) +0+01a8 <[^>]*> lui at,0x0 [ ]*1a8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+01ac <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01ac <[^>]*> addiu at,at,[-0-9]+ [ ]*1ac: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+01b0 <[^>]*> swl \$a0,[03]\(\$at\) -0+01b4 <[^>]*> swr \$a0,[03]\(\$at\) -0+01b8 <[^>]*> lui \$at,0x0 +0+01b0 <[^>]*> swl a0,[03]\(at\) +0+01b4 <[^>]*> swr a0,[03]\(at\) +0+01b8 <[^>]*> lui at,0x0 [ ]*1b8: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+01bc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01bc <[^>]*> addiu at,at,[-0-9]+ [ ]*1bc: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+01c0 <[^>]*> swl \$a0,[03]\(\$at\) -0+01c4 <[^>]*> swr \$a0,[03]\(\$at\) -0+01c8 <[^>]*> lui \$at,0x0 +0+01c0 <[^>]*> swl a0,[03]\(at\) +0+01c4 <[^>]*> swr a0,[03]\(at\) +0+01c8 <[^>]*> lui at,0x0 [ ]*1c8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+01cc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01cc <[^>]*> addiu at,at,[-0-9]+ [ ]*1cc: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+01d0 <[^>]*> swl \$a0,[03]\(\$at\) -0+01d4 <[^>]*> swr \$a0,[03]\(\$at\) -0+01d8 <[^>]*> lui \$at,0x0 +0+01d0 <[^>]*> swl a0,[03]\(at\) +0+01d4 <[^>]*> swr a0,[03]\(at\) +0+01d8 <[^>]*> lui at,0x0 [ ]*1d8: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+01dc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01dc <[^>]*> addiu at,at,[-0-9]+ [ ]*1dc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+01e0 <[^>]*> swl \$a0,[03]\(\$at\) -0+01e4 <[^>]*> swr \$a0,[03]\(\$at\) -0+01e8 <[^>]*> lui \$at,0x0 +0+01e0 <[^>]*> swl a0,[03]\(at\) +0+01e4 <[^>]*> swr a0,[03]\(at\) +0+01e8 <[^>]*> lui at,0x0 [ ]*1e8: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+01ec <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01ec <[^>]*> addiu at,at,[-0-9]+ [ ]*1ec: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+01f0 <[^>]*> swl \$a0,[03]\(\$at\) -0+01f4 <[^>]*> swr \$a0,[03]\(\$at\) -0+01f8 <[^>]*> lui \$at,[-0-9x]+ +0+01f0 <[^>]*> swl a0,[03]\(at\) +0+01f4 <[^>]*> swr a0,[03]\(at\) +0+01f8 <[^>]*> lui at,[-0-9x]+ [ ]*1f8: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+01fc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+01fc <[^>]*> addiu at,at,[-0-9]+ [ ]*1fc: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0200 <[^>]*> swl \$a0,[03]\(\$at\) -0+0204 <[^>]*> swr \$a0,[03]\(\$at\) -0+0208 <[^>]*> lui \$at,[-0-9x]+ +0+0200 <[^>]*> swl a0,[03]\(at\) +0+0204 <[^>]*> swr a0,[03]\(at\) +0+0208 <[^>]*> lui at,[-0-9x]+ [ ]*208: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+020c <[^>]*> addiu \$at,\$at,0 +0+020c <[^>]*> addiu at,at,0 [ ]*20c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0210 <[^>]*> swl \$a0,[03]\(\$at\) -0+0214 <[^>]*> swr \$a0,[03]\(\$at\) -0+0218 <[^>]*> lui \$at,[-0-9x]+ +0+0210 <[^>]*> swl a0,[03]\(at\) +0+0214 <[^>]*> swr a0,[03]\(at\) +0+0218 <[^>]*> lui at,[-0-9x]+ [ ]*218: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+021c <[^>]*> addiu \$at,\$at,0 +0+021c <[^>]*> addiu at,at,0 [ ]*21c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0220 <[^>]*> swl \$a0,[03]\(\$at\) -0+0224 <[^>]*> swr \$a0,[03]\(\$at\) -0+0228 <[^>]*> lui \$at,[-0-9x]+ +0+0220 <[^>]*> swl a0,[03]\(at\) +0+0224 <[^>]*> swr a0,[03]\(at\) +0+0228 <[^>]*> lui at,[-0-9x]+ [ ]*228: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+022c <[^>]*> addiu \$at,\$at,0 +0+022c <[^>]*> addiu at,at,0 [ ]*22c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+0230 <[^>]*> swl \$a0,[03]\(\$at\) -0+0234 <[^>]*> swr \$a0,[03]\(\$at\) -0+0238 <[^>]*> lui \$at,[-0-9x]+ +0+0230 <[^>]*> swl a0,[03]\(at\) +0+0234 <[^>]*> swr a0,[03]\(at\) +0+0238 <[^>]*> lui at,[-0-9x]+ [ ]*238: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+023c <[^>]*> addiu \$at,\$at,0 +0+023c <[^>]*> addiu at,at,0 [ ]*23c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+0240 <[^>]*> swl \$a0,[03]\(\$at\) -0+0244 <[^>]*> swr \$a0,[03]\(\$at\) -0+0248 <[^>]*> lui \$at,[-0-9x]+ +0+0240 <[^>]*> swl a0,[03]\(at\) +0+0244 <[^>]*> swr a0,[03]\(at\) +0+0248 <[^>]*> lui at,[-0-9x]+ [ ]*248: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+024c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+024c <[^>]*> addiu at,at,[-0-9]+ [ ]*24c: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+0250 <[^>]*> swl \$a0,[03]\(\$at\) -0+0254 <[^>]*> swr \$a0,[03]\(\$at\) -0+0258 <[^>]*> lui \$at,[-0-9x]+ +0+0250 <[^>]*> swl a0,[03]\(at\) +0+0254 <[^>]*> swr a0,[03]\(at\) +0+0258 <[^>]*> lui at,[-0-9x]+ [ ]*258: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+025c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+025c <[^>]*> addiu at,at,[-0-9]+ [ ]*25c: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+0260 <[^>]*> swl \$a0,[03]\(\$at\) -0+0264 <[^>]*> swr \$a0,[03]\(\$at\) -0+0268 <[^>]*> lui \$at,[-0-9x]+ +0+0260 <[^>]*> swl a0,[03]\(at\) +0+0264 <[^>]*> swr a0,[03]\(at\) +0+0268 <[^>]*> lui at,[-0-9x]+ [ ]*268: [A-Z0-9_]*HI[A-Z0-9_]* .data.* -0+026c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+026c <[^>]*> addiu at,at,[-0-9]+ [ ]*26c: [A-Z0-9_]*LO[A-Z0-9_]* .data.* -0+0270 <[^>]*> swl \$a0,[03]\(\$at\) -0+0274 <[^>]*> swr \$a0,[03]\(\$at\) -0+0278 <[^>]*> lui \$at,[-0-9x]+ +0+0270 <[^>]*> swl a0,[03]\(at\) +0+0274 <[^>]*> swr a0,[03]\(at\) +0+0278 <[^>]*> lui at,[-0-9x]+ [ ]*278: [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label -0+027c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+027c <[^>]*> addiu at,at,[-0-9]+ [ ]*27c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label -0+0280 <[^>]*> swl \$a0,[03]\(\$at\) -0+0284 <[^>]*> swr \$a0,[03]\(\$at\) -0+0288 <[^>]*> lui \$at,[-0-9x]+ +0+0280 <[^>]*> swl a0,[03]\(at\) +0+0284 <[^>]*> swr a0,[03]\(at\) +0+0288 <[^>]*> lui at,[-0-9x]+ [ ]*288: [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label -0+028c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+028c <[^>]*> addiu at,at,[-0-9]+ [ ]*28c: [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label -0+0290 <[^>]*> swl \$a0,[03]\(\$at\) -0+0294 <[^>]*> swr \$a0,[03]\(\$at\) -0+0298 <[^>]*> lui \$at,[-0-9x]+ +0+0290 <[^>]*> swl a0,[03]\(at\) +0+0294 <[^>]*> swr a0,[03]\(at\) +0+0298 <[^>]*> lui at,[-0-9x]+ [ ]*298: [A-Z0-9_]*HI[A-Z0-9_]* big_external_common -0+029c <[^>]*> addiu \$at,\$at,[-0-9]+ +0+029c <[^>]*> addiu at,at,[-0-9]+ [ ]*29c: [A-Z0-9_]*LO[A-Z0-9_]* big_external_common -0+02a0 <[^>]*> swl \$a0,[03]\(\$at\) -0+02a4 <[^>]*> swr \$a0,[03]\(\$at\) -0+02a8 <[^>]*> lui \$at,[-0-9x]+ +0+02a0 <[^>]*> swl a0,[03]\(at\) +0+02a4 <[^>]*> swr a0,[03]\(at\) +0+02a8 <[^>]*> lui at,[-0-9x]+ [ ]*2a8: [A-Z0-9_]*HI[A-Z0-9_]* small_external_common -0+02ac <[^>]*> addiu \$at,\$at,[-0-9]+ +0+02ac <[^>]*> addiu at,at,[-0-9]+ [ ]*2ac: [A-Z0-9_]*LO[A-Z0-9_]* small_external_common -0+02b0 <[^>]*> swl \$a0,[03]\(\$at\) -0+02b4 <[^>]*> swr \$a0,[03]\(\$at\) -0+02b8 <[^>]*> lui \$at,[-0-9x]+ +0+02b0 <[^>]*> swl a0,[03]\(at\) +0+02b4 <[^>]*> swr a0,[03]\(at\) +0+02b8 <[^>]*> lui at,[-0-9x]+ [ ]*2b8: [A-Z0-9_]*HI[A-Z0-9_]* .bss.* -0+02bc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+02bc <[^>]*> addiu at,at,[-0-9]+ [ ]*2bc: [A-Z0-9_]*LO[A-Z0-9_]* .bss.* -0+02c0 <[^>]*> swl \$a0,[03]\(\$at\) -0+02c4 <[^>]*> swr \$a0,[03]\(\$at\) -0+02c8 <[^>]*> lui \$at,[-0-9x]+ +0+02c0 <[^>]*> swl a0,[03]\(at\) +0+02c4 <[^>]*> swr a0,[03]\(at\) +0+02c8 <[^>]*> lui at,[-0-9x]+ [ ]*2c8: [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* -0+02cc <[^>]*> addiu \$at,\$at,[-0-9]+ +0+02cc <[^>]*> addiu at,at,[-0-9]+ [ ]*2cc: [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* -0+02d0 <[^>]*> swl \$a0,[03]\(\$at\) -0+02d4 <[^>]*> swr \$a0,[03]\(\$at\) +0+02d0 <[^>]*> swl a0,[03]\(at\) +0+02d4 <[^>]*> swr a0,[03]\(at\) ... diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/sparc/sparc.exp binutils-2.11.90.0.15/gas/testsuite/gas/sparc/sparc.exp --- binutils-2.11.90.0.8/gas/testsuite/gas/sparc/sparc.exp Fri Jun 11 06:41:56 1999 +++ binutils-2.11.90.0.15/gas/testsuite/gas/sparc/sparc.exp Fri Jun 1 20:50:15 2001 @@ -18,6 +18,7 @@ proc gas_64_check { } { if [istarget sparc*-*-*] { run_dump_test "synth" + run_dump_test "unalign" if [gas_64_check] { run_dump_test "asi" run_dump_test "membar" diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/sparc/unalign.d binutils-2.11.90.0.15/gas/testsuite/gas/sparc/unalign.d --- binutils-2.11.90.0.8/gas/testsuite/gas/sparc/unalign.d Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/sparc/unalign.d Sat Jun 2 23:18:03 2001 @@ -0,0 +1,18 @@ +#as: +#objdump: -Dr +#name: sparc unaligned relocs + +.*: +file format .*sparc.* + +Disassembly of section .text: +Disassembly of section .data: + +0+ : + 0: 01 00 00 00 nop + 1: R_SPARC_UA32 fred + 4: 00 02 00 00 (unimp|illtrap) 0x20000 + 6: R_SPARC_UA16 jim + 8: 03 00 00 00 sethi %hi\(0\), %g1 + 9: R_SPARC_UA64 harry + c: 00 00 00 00 (unimp|illtrap) 0 + 10: 00 04 05 06 (unimp|illtrap) 0x40506 diff -uprN binutils-2.11.90.0.8/gas/testsuite/gas/sparc/unalign.s binutils-2.11.90.0.15/gas/testsuite/gas/sparc/unalign.s --- binutils-2.11.90.0.8/gas/testsuite/gas/sparc/unalign.s Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/gas/testsuite/gas/sparc/unalign.s Fri Jun 1 20:50:16 2001 @@ -0,0 +1,15 @@ +# Test unaligned reloc generation + + .data +foo: + .byte 0x1 + .uaword fred + .byte 0x2 + .uahalf jim + .byte 0x3 + .uaxword harry + .byte 0x4 + .byte 0x5 + .byte 0x6 + + diff -uprN binutils-2.11.90.0.8/gas/write.c binutils-2.11.90.0.15/gas/write.c --- binutils-2.11.90.0.8/gas/write.c Fri Apr 13 11:47:27 2001 +++ binutils-2.11.90.0.15/gas/write.c Sun May 27 11:44:41 2001 @@ -61,10 +61,8 @@ extern CONST int md_short_jump_size; extern CONST int md_long_jump_size; #endif -/* Used to control final evaluation of expressions that are more - complex than symbol + constant. 1 means set final value for simple - expressions, 2 means set final value for more complex expressions. */ -int finalize_syms = 1; +/* Used to control final evaluation of expressions. */ +int finalize_syms = 0; int symbol_table_frozen; void print_fixup PARAMS ((fixS *)); @@ -760,10 +758,10 @@ adjust_reloc_syms (abfd, sec, xxx) symbols, though, since they are not in the regular symbol table. */ if (sym != NULL) - resolve_symbol_value (sym, finalize_syms); + resolve_symbol_value (sym); if (fixp->fx_subsy != NULL) - resolve_symbol_value (fixp->fx_subsy, finalize_syms); + resolve_symbol_value (fixp->fx_subsy); /* If this symbol is equated to an undefined symbol, convert the fixup to being against that symbol. */ @@ -1576,14 +1574,15 @@ write_object_file () if (!changed) break; } + /* Relaxation has completed. Freeze all syms. */ + finalize_syms = 1; + bfd_map_over_sections (stdoutput, size_seg, (char *) 0); #else relax_and_size_all_segments (); + finalize_syms = 1; #endif /* BFD_ASSEMBLER */ - /* Relaxation has completed. Freeze all syms. */ - finalize_syms = 2; - #if defined (BFD_ASSEMBLER) && defined (OBJ_COFF) && defined (TE_GO32) /* Now that the segments have their final sizes, run through the sections and set their vma and lma. !BFD gas sets them, and BFD gas @@ -1902,7 +1901,7 @@ write_object_file () symbolS *symp; for (symp = symbol_rootP; symp; symp = symbol_next (symp)) - resolve_symbol_value (symp, finalize_syms); + resolve_symbol_value (symp); } resolve_local_symbol_values (); @@ -1950,7 +1949,7 @@ write_object_file () /* Do it again, because adjust_reloc_syms might introduce more symbols. They'll probably only be section symbols, but they'll still need to have the values computed. */ - resolve_symbol_value (symp, finalize_syms); + resolve_symbol_value (symp); /* Skip symbols which were equated to undefined or common symbols. */ @@ -2242,8 +2241,9 @@ relax_segment (segment_frag_root, segmen if (offset % fragP->fr_var != 0) { - as_bad (_("alignment padding (%lu bytes) not a multiple of %ld"), - (unsigned long) offset, (long) fragP->fr_var); + as_bad_where (fragP->fr_file, fragP->fr_line, + _("alignment padding (%lu bytes) not a multiple of %ld"), + (unsigned long) offset, (long) fragP->fr_var); offset -= (offset % fragP->fr_var); } @@ -2354,10 +2354,11 @@ relax_segment (segment_frag_root, segmen { char buf[50]; sprint_value (buf, (addressT) lie->addnum); - as_warn (_(".word %s-%s+%s didn't fit"), - S_GET_NAME (lie->add), - S_GET_NAME (lie->sub), - buf); + as_warn_where (fragP->fr_file, fragP->fr_line, + _(".word %s-%s+%s didn't fit"), + S_GET_NAME (lie->add), + S_GET_NAME (lie->sub), + buf); } lie->added = 1; if (fragP->fr_subtype == 0) @@ -2452,23 +2453,31 @@ relax_segment (segment_frag_root, segmen } case rs_space: + growth = 0; if (symbolP) { - growth = S_GET_VALUE (symbolP); - if (symbol_get_frag (symbolP) != &zero_address_frag + offsetT amount; + + amount = S_GET_VALUE (symbolP); + if (S_GET_SEGMENT (symbolP) != absolute_section || S_IS_COMMON (symbolP) || ! S_IS_DEFINED (symbolP)) - as_bad_where (fragP->fr_file, fragP->fr_line, - _(".space specifies non-absolute value")); - fragP->fr_symbol = 0; - if (growth < 0) { - as_warn (_(".space or .fill with negative value, ignored")); - growth = 0; + as_bad_where (fragP->fr_file, fragP->fr_line, + _(".space specifies non-absolute value")); + /* Prevent repeat of this error message. */ + fragP->fr_symbol = 0; } + else if (amount < 0) + { + as_warn_where (fragP->fr_file, fragP->fr_line, + _(".space or .fill with negative value, ignored")); + fragP->fr_symbol = 0; + } + else + growth = (was_address + amount + - fragP->fr_next->fr_address); } - else - growth = 0; break; case rs_machine_dependent: @@ -2488,7 +2497,7 @@ relax_segment (segment_frag_root, segmen valueT value; int size; - value = resolve_symbol_value (fragP->fr_symbol, 0); + value = resolve_symbol_value (fragP->fr_symbol); size = sizeof_leb128 (value, fragP->fr_subtype); growth = size - fragP->fr_offset; fragP->fr_offset = size; @@ -2611,7 +2620,7 @@ fixup_segment (fixP, this_segment_type) if (sub_symbolP) { - resolve_symbol_value (sub_symbolP, finalize_syms); + resolve_symbol_value (sub_symbolP); if (add_symbolP == NULL || add_symbol_segment == absolute_section) { if (add_symbolP != NULL) diff -uprN binutils-2.11.90.0.8/gprof/ChangeLog binutils-2.11.90.0.15/gprof/ChangeLog --- binutils-2.11.90.0.8/gprof/ChangeLog Fri Apr 6 15:34:11 2001 +++ binutils-2.11.90.0.15/gprof/ChangeLog Mon May 21 10:37:29 2001 @@ -1,3 +1,9 @@ +2001-05-16 Alexandre Oliva + + * gmon_io.c (gmon_io_read, gmon_io_write_vma, + gmon_io_write_32, gmon_io_write_8, gmon_io_write): Adjust + argument list for K&R C. + 2001-04-06 Stephane Carrez * gprof.texi: Put @c man begin and @c man end indications diff -uprN binutils-2.11.90.0.8/gprof/configure binutils-2.11.90.0.15/gprof/configure --- binutils-2.11.90.0.8/gprof/configure Sat Mar 17 12:48:05 2001 +++ binutils-2.11.90.0.15/gprof/configure Mon May 21 11:39:53 2001 @@ -713,49 +713,249 @@ test "$host_alias" != "$target_alias" && NONENONEs,x,x, && program_prefix=${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:720: 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 + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi - echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6 -echo "configure:719: checking for strerror in -lcposix" >&5 -ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then +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:750: 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 - ac_save_LIBS="$LIBS" -LIBS="-lcposix $LIBS" -cat > conftest.$ac_ext <&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test -z "$CC"; then + case "`uname -s`" in + *win32* | *WIN32*) + # 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:801: 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 + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="cl" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + ;; + esac + fi + test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } +fi + +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +echo "configure:833: 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. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +cat > conftest.$ac_ext << EOF + +#line 844 "configure" #include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char strerror(); -int main() { -strerror() -; return 0; } +main(){return(0);} EOF -if { (eval echo configure:738: \"$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" +if { (eval echo configure:849: \"$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 + ac_cv_prog_cc_cross=no + else + ac_cv_prog_cc_cross=yes + fi else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + ac_cv_prog_cc_works=no +fi +rm -fr conftest* +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 +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:875: 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:880: 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 + cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes +else + ac_cv_prog_gcc=no +fi +fi + +echo "$ac_t""$ac_cv_prog_gcc" 1>&6 + +if test $ac_cv_prog_gcc = yes; then + GCC=yes +else + GCC= +fi + +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:908: 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 + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_cc_g=yes +else + ac_cv_prog_cc_g=no fi rm -f conftest* -LIBS="$ac_save_LIBS" fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + +echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi + +echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 +echo "configure:940: 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 echo "$ac_t""yes" 1>&6 - LIBS="$LIBS -lcposix" + ISC=yes # If later tests want to check for ISC. + cat >> confdefs.h <<\EOF +#define _POSIX_SOURCE 1 +EOF + + if test "$GCC" = yes; then + CC="$CC -posix" + else + CC="$CC -Xp" + fi else echo "$ac_t""no" 1>&6 + ISC= fi - - BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${srcdir}/../bfd/configure.in` # Find a good install program. We prefer a C program (faster), @@ -770,7 +970,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:774: checking for a BSD compatible install" >&5 +echo "configure:974: 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 @@ -823,7 +1023,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:827: checking whether build environment is sane" >&5 +echo "configure:1027: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -880,7 +1080,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:884: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1084: 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 @@ -926,7 +1126,7 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:930: checking for working aclocal" >&5 +echo "configure:1130: 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. @@ -939,7 +1139,7 @@ else fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:943: checking for working autoconf" >&5 +echo "configure:1143: 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. @@ -952,7 +1152,7 @@ else fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:956: checking for working automake" >&5 +echo "configure:1156: 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. @@ -965,7 +1165,7 @@ else fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:969: checking for working autoheader" >&5 +echo "configure:1169: 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. @@ -978,7 +1178,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:982: checking for working makeinfo" >&5 +echo "configure:1182: 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. @@ -996,7 +1196,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 ;; *) @@ -1019,7 +1219,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 ;; *) @@ -1042,7 +1242,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 ;; *) @@ -1061,228 +1261,6 @@ else enable_fast_install=yes 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:1068: 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 - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="gcc" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -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:1098: 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 - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_prog_rejected=no - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - break - fi - done - IFS="$ac_save_ifs" -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# -gt 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" "$@" - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - if test -z "$CC"; then - case "`uname -s`" in - *win32* | *WIN32*) - # 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:1149: 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 - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="cl" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - ;; - esac - fi - test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } -fi - -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1181: 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. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -cat > conftest.$ac_ext << EOF - -#line 1192 "configure" -#include "confdefs.h" - -main(){return(0);} -EOF -if { (eval echo configure:1197: \"$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 - ac_cv_prog_cc_cross=no - else - ac_cv_prog_cc_cross=yes - fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_prog_cc_works=no -fi -rm -fr conftest* -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 -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:1223: 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:1228: 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 - cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then - ac_cv_prog_gcc=yes -else - ac_cv_prog_gcc=no -fi -fi - -echo "$ac_t""$ac_cv_prog_gcc" 1>&6 - -if test $ac_cv_prog_gcc = yes; then - GCC=yes -else - GCC= -fi - -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:1256: 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 - echo 'void f(){}' > conftest.c -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then - ac_cv_prog_cc_g=yes -else - ac_cv_prog_cc_g=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi - # Check whether --with-gnu-ld or --without-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval="$with_gnu_ld" @@ -1292,10 +1270,10 @@ 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:1299: checking for ld used by GCC" >&5 +echo "configure:1277: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -1303,7 +1281,7 @@ echo "configure:1299: 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='/[^/][^/]*/\.\./' @@ -1325,12 +1303,12 @@ echo "configure:1299: 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:1329: checking for GNU ld" >&5 +echo "configure:1307: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1332: checking for non-GNU ld" >&5 +echo "configure:1310: 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 @@ -1338,11 +1316,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 @@ -1351,11 +1329,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 @@ -1363,24 +1341,24 @@ 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:1367: checking if the linker ($LD) is GNU ld" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then +echo "configure:1345: 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 # 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 -echo "configure:1384: checking for $LD option to reload object files" >&5 +echo "configure:1362: 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 @@ -1392,13 +1370,13 @@ 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:1396: checking for BSD-compatible nm" >&5 -if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then +echo "configure:1374: 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 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 @@ -1410,27 +1388,27 @@ 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 -echo "configure:1434: checking whether ln -s works" >&5 +echo "configure:1412: 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 @@ -1451,7 +1429,7 @@ else fi echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 -echo "configure:1455: checking how to recognise dependant libraries" >&5 +echo "configure:1433: 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 @@ -1469,8 +1447,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 ;; @@ -1479,8 +1457,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 ;; @@ -1489,14 +1467,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 @@ -1509,29 +1500,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 @@ -1539,25 +1529,30 @@ irix5* | irix6*) # This must be Linux ELF. linux-gnu*) - case "$host_cpu" in - alpha* | i*86 | powerpc* | sparc* | ia64* ) + case $host_cpu in + alpha* | hppa* | 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' @@ -1574,14 +1569,18 @@ solaris*) lt_cv_file_magic_test_file=/lib/libc.so ;; +sysv5uw[78]* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + 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 ;; @@ -1594,13 +1593,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:1598: checking for object suffix" >&5 +echo "configure:1597: 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:1604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1603: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -1620,7 +1619,7 @@ ac_objext=$ac_cv_objext echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1624: checking for executable suffix" >&5 +echo "configure:1623: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1630,7 +1629,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:1634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:1633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -1659,15 +1658,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:1667: checking for ${ac_tool_prefix}file" >&5 +echo "configure:1666: 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. ;; @@ -1683,7 +1682,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" @@ -1725,11 +1724,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:1729: checking for file" >&5 +echo "configure:1728: 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. ;; @@ -1745,7 +1744,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" @@ -1796,7 +1795,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:1800: checking for $ac_word" >&5 +echo "configure:1799: 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 @@ -1828,7 +1827,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:1832: checking for $ac_word" >&5 +echo "configure:1831: 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 @@ -1863,7 +1862,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:1867: checking for $ac_word" >&5 +echo "configure:1866: 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 @@ -1895,7 +1894,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:1899: checking for $ac_word" >&5 +echo "configure:1898: 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 @@ -1933,8 +1932,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. @@ -1959,12 +1958,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 1966 "configure"' > conftest.$ac_ext - if { (eval echo configure:1967: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - case "`/usr/bin/file conftest.o`" in + echo '#line 1965 "configure"' > conftest.$ac_ext + if { (eval echo configure:1966: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -1984,7 +1983,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:1988: checking whether the C compiler needs -belf" >&5 +echo "configure:1987: 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 @@ -1997,14 +1996,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:2007: \"$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 @@ -2114,7 +2113,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtoo # clobbered by the next message. exec 5>>./config.log - @@ -2128,7 +2126,7 @@ exec 5>>./config.log # 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:2132: checking for $ac_word" >&5 +echo "configure:2130: 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 @@ -2158,7 +2156,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:2162: checking for $ac_word" >&5 +echo "configure:2160: 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 @@ -2209,7 +2207,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:2213: checking for $ac_word" >&5 +echo "configure:2211: 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 @@ -2241,7 +2239,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:2245: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:2243: 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. @@ -2252,12 +2250,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 2256 "configure" +#line 2254 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:2261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2259: \"$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 @@ -2283,12 +2281,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:2287: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:2285: 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:2292: checking whether we are using GNU C" >&5 +echo "configure:2290: 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 @@ -2297,7 +2295,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2301: \"$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:2299: \"$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 @@ -2316,7 +2314,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:2320: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:2318: 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 @@ -2359,7 +2357,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:2363: checking for a BSD compatible install" >&5 +echo "configure:2361: 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 @@ -2415,12 +2413,12 @@ test -z "$INSTALL_DATA" && INSTALL_DATA= for ac_func in setmode do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2419: checking for $ac_func" >&5 +echo "configure:2417: 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:2445: \"$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 @@ -2470,7 +2468,7 @@ done ALL_LINGUAS= echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:2474: checking how to run the C preprocessor" >&5 +echo "configure:2472: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -2485,13 +2483,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:2495: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2493: \"$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 : @@ -2502,13 +2500,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:2512: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2510: \"$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 : @@ -2519,13 +2517,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:2529: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2527: \"$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 : @@ -2552,7 +2550,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:2556: checking for $ac_word" >&5 +echo "configure:2554: 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 @@ -2580,12 +2578,12 @@ else fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2584: checking for ANSI C header files" >&5 +echo "configure:2582: 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 @@ -2593,7 +2591,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2597: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2595: \"$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* @@ -2610,7 +2608,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 @@ -2628,7 +2626,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 @@ -2649,7 +2647,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2660,7 +2658,7 @@ if (XOR (islower (i), ISLOWER (i)) || to exit (0); } EOF -if { (eval echo configure:2664: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2684,12 +2682,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2688: checking for working const" >&5 +echo "configure:2686: 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:2740: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2759,21 +2757,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2763: checking for inline" >&5 +echo "configure:2761: 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:2775: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2799,12 +2797,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2803: checking for off_t" >&5 +echo "configure:2801: 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 @@ -2832,12 +2830,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2836: checking for size_t" >&5 +echo "configure:2834: 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 @@ -2867,19 +2865,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:2871: checking for working alloca.h" >&5 +echo "configure:2869: 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:2883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2881: \"$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 @@ -2900,12 +2898,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:2904: checking for alloca" >&5 +echo "configure:2902: 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:2935: \"$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 @@ -2965,12 +2963,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2969: checking whether alloca needs Cray hooks" >&5 +echo "configure:2967: 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:2999: checking for $ac_func" >&5 +echo "configure:2997: 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:3025: \"$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 @@ -3050,7 +3048,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:3054: checking stack direction for C alloca" >&5 +echo "configure:3052: 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 @@ -3058,7 +3056,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:3079: \"$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 @@ -3102,17 +3100,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:3106: checking for $ac_hdr" >&5 +echo "configure:3104: 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:3116: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3114: \"$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* @@ -3141,12 +3139,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3145: checking for $ac_func" >&5 +echo "configure:3143: 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:3171: \"$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 @@ -3194,7 +3192,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:3198: checking for working mmap" >&5 +echo "configure:3196: 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 @@ -3202,7 +3200,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:3344: \"$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 @@ -3370,17 +3368,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:3374: checking for $ac_hdr" >&5 +echo "configure:3372: 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:3384: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3382: \"$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* @@ -3410,12 +3408,12 @@ done __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3414: checking for $ac_func" >&5 +echo "configure:3412: 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:3440: \"$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 @@ -3467,12 +3465,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3471: checking for $ac_func" >&5 +echo "configure:3469: 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:3497: \"$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 @@ -3529,19 +3527,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3533: checking for LC_MESSAGES" >&5 +echo "configure:3531: 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:3545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3543: \"$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 @@ -3562,7 +3560,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3566: checking whether NLS is requested" >&5 +echo "configure:3564: 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" @@ -3582,7 +3580,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3586: checking whether included gettext is requested" >&5 +echo "configure:3584: 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" @@ -3601,17 +3599,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3605: checking for libintl.h" >&5 +echo "configure:3603: 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:3615: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3613: \"$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* @@ -3628,19 +3626,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:3632: checking for gettext in libc" >&5 +echo "configure:3630: 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:3644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3642: \"$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 @@ -3656,7 +3654,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:3660: checking for bindtextdomain in -lintl" >&5 +echo "configure:3658: 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 @@ -3664,7 +3662,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:3677: \"$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 @@ -3691,19 +3689,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:3695: checking for gettext in libintl" >&5 +echo "configure:3693: 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:3705: \"$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 @@ -3731,7 +3729,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:3735: checking for $ac_word" >&5 +echo "configure:3733: 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 @@ -3765,12 +3763,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3769: checking for $ac_func" >&5 +echo "configure:3767: 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:3795: \"$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 @@ -3820,7 +3818,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:3824: checking for $ac_word" >&5 +echo "configure:3822: 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 @@ -3856,7 +3854,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:3860: checking for $ac_word" >&5 +echo "configure:3858: 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 @@ -3888,7 +3886,7 @@ else fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -3928,7 +3926,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:3932: checking for $ac_word" >&5 +echo "configure:3930: 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 @@ -3962,7 +3960,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:3966: checking for $ac_word" >&5 +echo "configure:3964: 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 @@ -3998,7 +3996,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:4002: checking for $ac_word" >&5 +echo "configure:4000: 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 @@ -4088,7 +4086,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4092: checking for catalogs to be installed" >&5 +echo "configure:4090: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4116,17 +4114,17 @@ echo "configure:4092: 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:4120: checking for linux/version.h" >&5 +echo "configure:4118: 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:4130: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4128: \"$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* @@ -4189,12 +4187,12 @@ fi echo $ac_n "checking whether weak symbol works""... $ac_c" 1>&6 -echo "configure:4193: checking whether weak symbol works" >&5 +echo "configure:4191: 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:4205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libiberty_cv_have_weak_symbol=no else @@ -4227,14 +4225,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:4231: checking for library containing dlopen" >&5 +echo "configure:4229: 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:4247: \"$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 @@ -4256,7 +4254,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:4269: \"$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 @@ -4290,7 +4288,7 @@ fi fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:4294: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:4292: 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" @@ -4315,7 +4313,7 @@ fi echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:4319: checking for executable suffix" >&5 +echo "configure:4317: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4325,7 +4323,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:4329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:4327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -4350,17 +4348,17 @@ for ac_hdr in sys/gmon_out.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4354: checking for $ac_hdr" >&5 +echo "configure:4352: 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:4364: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4362: \"$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* @@ -4388,12 +4386,12 @@ done echo $ac_n "checking the size of gmon pointers""... $ac_c" 1>&6 -echo "configure:4392: checking the size of gmon pointers" >&5 +echo "configure:4390: checking the size of gmon pointers" >&5 if test "$cross_compiling" = yes; then gmon_ptr_size=4 else cat > conftest.$ac_ext < #include @@ -4416,7 +4414,7 @@ main() #endif } EOF -if { (eval echo configure:4420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4418: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then gmon_ptr_size=`cat conftestval` else @@ -4606,6 +4604,7 @@ s%@build_alias@%$build_alias%g s%@build_cpu@%$build_cpu%g s%@build_vendor@%$build_vendor%g s%@build_os@%$build_os%g +s%@CC@%$CC%g s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g s%@INSTALL_DATA@%$INSTALL_DATA%g @@ -4617,7 +4616,6 @@ s%@AUTOMAKE@%$AUTOMAKE%g s%@AUTOHEADER@%$AUTOHEADER%g s%@MAKEINFO@%$MAKEINFO%g s%@SET_MAKE@%$SET_MAKE%g -s%@CC@%$CC%g s%@LN_S@%$LN_S%g s%@OBJEXT@%$OBJEXT%g s%@EXEEXT@%$EXEEXT%g diff -uprN binutils-2.11.90.0.8/gprof/gmon_io.c binutils-2.11.90.0.15/gprof/gmon_io.c --- binutils-2.11.90.0.8/gprof/gmon_io.c Thu Mar 15 14:56:30 2001 +++ binutils-2.11.90.0.15/gprof/gmon_io.c Mon May 21 10:37:35 2001 @@ -76,7 +76,7 @@ DEFUN (gmon_io_read_32, (ifp, valp), FIL } int -DEFUN (gmon_io_read, (ifp, valp), FILE * ifp AND char *buf AND size_t n) +DEFUN (gmon_io_read, (ifp, buf, n), FILE * ifp AND char *buf AND size_t n) { if (fread (buf, 1, n, ifp) != n) return 1; @@ -84,7 +84,7 @@ DEFUN (gmon_io_read, (ifp, valp), FILE * } int -DEFUN (gmon_io_write_vma, (ofp, valp), FILE * ofp AND bfd_vma val) +DEFUN (gmon_io_write_vma, (ofp, val), FILE * ofp AND bfd_vma val) { char buf[8]; @@ -111,7 +111,7 @@ DEFUN (gmon_io_write_vma, (ofp, valp), F } int -DEFUN (gmon_io_write_32, (ofp, valp), FILE * ofp AND unsigned int val) +DEFUN (gmon_io_write_32, (ofp, val), FILE * ofp AND unsigned int val) { char buf[4]; @@ -122,7 +122,7 @@ DEFUN (gmon_io_write_32, (ofp, valp), FI } int -DEFUN (gmon_io_write_8, (ofp, valp), FILE * ofp AND unsigned char val) +DEFUN (gmon_io_write_8, (ofp, val), FILE * ofp AND unsigned char val) { char buf[1]; @@ -133,7 +133,7 @@ DEFUN (gmon_io_write_8, (ofp, valp), FIL } int -DEFUN (gmon_io_write, (ofp, valp), FILE * ofp AND char *buf AND size_t n) +DEFUN (gmon_io_write, (ofp, buf, n), FILE * ofp AND char *buf AND size_t n) { if (fwrite (buf, 1, n, ofp) != n) return 1; diff -uprN binutils-2.11.90.0.8/include/ChangeLog binutils-2.11.90.0.15/include/ChangeLog --- binutils-2.11.90.0.8/include/ChangeLog Sat May 12 00:05:51 2001 +++ binutils-2.11.90.0.15/include/ChangeLog Fri Jun 1 20:48:22 2001 @@ -1,3 +1,7 @@ +2001-05-16 Matt Kraai + + * partition.h: Fix misspelling of `implementation'. + 2001-05-10 Kaveh R. Ghazi * ansidecl.h (NULL_PTR): Delete. @@ -160,7 +164,7 @@ 2000-09-04 Alex Samuel - * dyn-string.h: Adjust formatting. + * dyn-string.h: Adjust formatting. (dyn_string_insert_char): New macro. New declaration. 2000-08-28 Jason Merrill @@ -233,7 +237,7 @@ * dyn-string.h: Move here from gcc/dyn-string.h. Add new functions. * demangle.h (DMGL_GNU_NEW_ABI): New macro. - (DMGL_STYLE_MASK): Or in DMGL_GNU_NEW_ABI. + (DMGL_STYLE_MASK): Or in DMGL_GNU_NEW_ABI. (current_demangling_style): Add gnu_new_abi_demangling. (GNU_NEW_ABI_DEMANGLING_STYLE_STRING): New macro. (GNU_NEW_ABI_DEMANGLING): Likewise. @@ -257,7 +261,7 @@ Tue May 30 16:53:34 2000 Andrew Cagney 2000-05-17 S. Bharadwaj Yadavalli Rick Gorton - + * bfdlink.h (struct bfd_link_info): Add emitrelocations flag. 2000-05-08 Alan Modra diff -uprN binutils-2.11.90.0.8/include/coff/ChangeLog binutils-2.11.90.0.15/include/coff/ChangeLog --- binutils-2.11.90.0.8/include/coff/ChangeLog Tue Mar 27 08:47:42 2001 +++ binutils-2.11.90.0.15/include/coff/ChangeLog Thu May 24 21:23:27 2001 @@ -1,3 +1,11 @@ +2001-04-05 Tom Rix + + * rs6000.h : move xcoff32 external structures from xcofflink. + * rs6k64.h : move xcoff64 external structures from xcofflink. + * internal.h : promote 32 bit structure elements to 64 bit + for xcoff64 support + * xcoff.h : New file. + 2001-03-23 Nick Clifton * a29k.h: Fix compile time warning. diff -uprN binutils-2.11.90.0.8/include/coff/internal.h binutils-2.11.90.0.15/include/coff/internal.h --- binutils-2.11.90.0.8/include/coff/internal.h Thu Mar 15 14:53:03 2001 +++ binutils-2.11.90.0.15/include/coff/internal.h Thu May 24 21:23:29 2001 @@ -173,7 +173,7 @@ struct internal_aouthdr unsigned long tagentries; /* number of tag entries to follow */ /* RS/6000 stuff */ - unsigned long o_toc; /* address of TOC */ + bfd_vma o_toc; /* address of TOC */ short o_snentry; /* section number for entry point */ short o_sntext; /* section number for text */ short o_sndata; /* section number for data */ @@ -184,8 +184,8 @@ struct internal_aouthdr short o_algndata; /* max alignment for data */ short o_modtype; /* Module type field, 1R,RE,RO */ short o_cputype; /* Encoded CPU type */ - unsigned long o_maxstack; /* max stack size allowed. */ - unsigned long o_maxdata; /* max data size allowed. */ + bfd_vma o_maxstack; /* max stack size allowed. */ + bfd_vma o_maxdata; /* max data size allowed. */ /* ECOFF stuff */ bfd_vma bss_start; /* Base of bss section. */ @@ -357,8 +357,8 @@ struct internal_lineno { union { - long l_symndx; /* function name symbol index, iff l_lnno == 0*/ - long l_paddr; /* (physical) address of line number */ + bfd_signed_vma l_symndx; /* function name symbol index, iff l_lnno == 0*/ + bfd_signed_vma l_paddr; /* (physical) address of line number */ } l_addr; unsigned long l_lnno; /* line number */ }; @@ -381,7 +381,7 @@ struct internal_syment } _n_n; char *_n_nptr[2]; /* allows for overlaying */ } _n; - long n_value; /* value of symbol */ + bfd_vma n_value; /* value of symbol */ short n_scnum; /* section number */ unsigned short n_flags; /* copy of flags from filhdr */ unsigned short n_type; /* type and derived type */ @@ -468,7 +468,7 @@ union internal_auxent { struct { /* if ISFCN, tag, or .bb */ - long x_lnnoptr; /* ptr to fcn line # */ + bfd_signed_vma x_lnnoptr; /* ptr to fcn line # */ union { /* entry ndx past block end */ long l; @@ -519,7 +519,7 @@ union internal_auxent { union { /* csect length or enclosing csect */ - long l; + bfd_signed_vma l; struct coff_ptr_struct *p; } x_scnlen; long x_parmhash; /* parm type hash index */ diff -uprN binutils-2.11.90.0.8/include/coff/rs6000.h binutils-2.11.90.0.15/include/coff/rs6000.h --- binutils-2.11.90.0.8/include/coff/rs6000.h Thu Mar 15 14:53:04 2001 +++ binutils-2.11.90.0.15/include/coff/rs6000.h Thu May 24 21:23:29 2001 @@ -1,5 +1,5 @@ /* IBM RS/6000 "XCOFF" file definitions for BFD. - Copyright 1990, 1991, 1993, 1994, 1995 Free Software Foundation, Inc. + Copyright (C) 1990, 1991 Free Software Foundation, Inc. FIXME: Can someone provide a transliteration of this name into ASCII? Using the following chars caused a compiler warning on HIUX (so I replaced them with octal escapes), and isn't useful without an understanding of what @@ -7,10 +7,17 @@ Written by Mimi Ph\373\364ng-Th\345o V\365 of IBM and John Gilmore of Cygnus Support. */ -#define DO_NOT_DEFINE_AOUTHDR -#define DO_NOT_DEFINE_AUXENT -#define L_LNNO_SIZE 2 -#include "coff/external.h" +/********************** FILE HEADER **********************/ + +struct external_filehdr { + char f_magic[2]; /* magic number */ + char f_nscns[2]; /* number of sections */ + char f_timdat[4]; /* time & date stamp */ + char f_symptr[4]; /* file pointer to symtab */ + char f_nsyms[4]; /* number of symtab entries */ + char f_opthdr[2]; /* sizeof(optional hdr) */ + char f_flags[2]; /* flags */ +}; /* IBM RS/6000 */ #define U802WRMAGIC 0730 /* writeable text segments **chh** */ @@ -21,8 +28,13 @@ ((x).f_magic != U802ROMAGIC && (x).f_magic != U802WRMAGIC && \ (x).f_magic != U802TOCMAGIC) +#define FILHDR struct external_filehdr +#define FILHSZ 20 + + /********************** AOUT "OPTIONAL HEADER" **********************/ + typedef struct { unsigned char magic[2]; /* type of file */ @@ -54,115 +66,149 @@ AOUTHDR; #define SMALL_AOUTSZ (28) #define AOUTHDRSZ 72 -#define RS6K_AOUTHDR_OMAGIC 0x0107 /* old: text & data writeable */ -#define RS6K_AOUTHDR_NMAGIC 0x0108 /* new: text r/o, data r/w */ -#define RS6K_AOUTHDR_ZMAGIC 0x010B /* paged: text r/o, both page-aligned */ +/********************** SECTION HEADER **********************/ -/* More names of "special" sections. */ -#define _PAD ".pad" -#define _LOADER ".loader" -/* XCOFF uses a special .loader section with type STYP_LOADER. */ -#define STYP_LOADER 0x1000 +struct external_scnhdr { + char s_name[8]; /* section name */ + char s_paddr[4]; /* physical address, aliased s_nlib */ + char s_vaddr[4]; /* virtual address */ + char s_size[4]; /* section size */ + char s_scnptr[4]; /* file ptr to raw data for section */ + char s_relptr[4]; /* file ptr to relocation */ + char s_lnnoptr[4]; /* file ptr to line numbers */ + char s_nreloc[2]; /* number of relocation entries */ + char s_nlnno[2]; /* number of line number entries*/ + char s_flags[4]; /* flags */ +}; -/* XCOFF uses a special .debug section with type STYP_DEBUG. */ -#define STYP_DEBUG 0x2000 +#define SCNHDR struct external_scnhdr +#define SCNHSZ 40 -/* XCOFF handles line number or relocation overflow by creating - another section header with STYP_OVRFLO set. */ -#define STYP_OVRFLO 0x8000 +/********************** LINE NUMBERS **********************/ -union external_auxent -{ - struct - { - char x_tagndx[4]; /* str, un, or enum tag indx */ +/* 1 line number entry for every "breakpointable" source line in a section. + * Line numbers are grouped on a per function basis; first entry in a function + * grouping will have l_lnno = 0 and in place of physical address will be the + * symbol table index of the function name. + */ +struct external_lineno { + union { + char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/ + char l_paddr[4]; /* (physical) address of line number */ + } l_addr; + char l_lnno[2]; /* line number */ +}; - union - { - struct - { - char x_lnno[2]; /* declaration line number */ - char x_size[2]; /* str/union/array size */ - } x_lnsz; - char x_fsize[4]; /* size of function */ +#define LINENO struct external_lineno +#define LINESZ 6 - } x_misc; - union - { - struct /* if ISFCN, tag, or .bb */ - { - char x_lnnoptr[4]; /* ptr to fcn line # */ - char x_endndx[4]; /* entry ndx past block end */ - } x_fcn; - - struct /* if ISARY, up to 4 dimen. */ - { - char x_dimen[E_DIMNUM][2]; - } x_ary; +/********************** SYMBOLS **********************/ - } x_fcnary; +#define E_SYMNMLEN 8 /* # characters in a symbol name */ +#define E_FILNMLEN 14 /* # characters in a file name */ +#define E_DIMNUM 4 /* # array dimensions in auxiliary entry */ - char x_tvndx[2]; /* tv index */ +struct external_syment +{ + union { + char e_name[E_SYMNMLEN]; + struct { + char e_zeroes[4]; + char e_offset[4]; + } e; + } e; + char e_value[4]; + char e_scnum[2]; + char e_type[2]; + char e_sclass[1]; + char e_numaux[1]; +}; - } x_sym; - union - { - char x_fname[E_FILNMLEN]; - struct - { - char x_zeroes[4]; - char x_offset[4]; - } x_n; - - } x_file; - - struct - { - char x_scnlen[4]; /* section length */ - char x_nreloc[2]; /* # relocation entries */ - char x_nlinno[2]; /* # line numbers */ - } x_scn; - - struct - { - char x_tvfill[4]; /* tv fill value */ - char x_tvlen[2]; /* length of .tv */ - char x_tvran[2][2]; /* tv range */ - } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ - - struct - { - unsigned char x_scnlen[4]; - unsigned char x_parmhash[4]; - unsigned char x_snhash[2]; - unsigned char x_smtyp[1]; - unsigned char x_smclas[1]; - unsigned char x_stab[4]; - unsigned char x_snstab[2]; - } x_csect; +#define N_BTMASK (017) +#define N_TMASK (060) +#define N_BTSHFT (4) +#define N_TSHIFT (2) + + +union external_auxent { + struct { + char x_tagndx[4]; /* str, un, or enum tag indx */ + union { + struct { + char x_lnno[2]; /* declaration line number */ + char x_size[2]; /* str/union/array size */ + } x_lnsz; + char x_fsize[4]; /* size of function */ + } x_misc; + union { + struct { /* if ISFCN, tag, or .bb */ + char x_lnnoptr[4]; /* ptr to fcn line # */ + char x_endndx[4]; /* entry ndx past block end */ + } x_fcn; + struct { /* if ISARY, up to 4 dimen. */ + char x_dimen[E_DIMNUM][2]; + } x_ary; + } x_fcnary; + char x_tvndx[2]; /* tv index */ + } x_sym; + + union { + char x_fname[E_FILNMLEN]; + struct { + char x_zeroes[4]; + char x_offset[4]; + } x_n; + } x_file; + + struct { + char x_scnlen[4]; /* section length */ + char x_nreloc[2]; /* # relocation entries */ + char x_nlinno[2]; /* # line numbers */ + } x_scn; + + struct { + char x_tvfill[4]; /* tv fill value */ + char x_tvlen[2]; /* length of .tv */ + char x_tvran[2][2]; /* tv range */ + } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ + + struct { + unsigned char x_scnlen[4]; + unsigned char x_parmhash[4]; + unsigned char x_snhash[2]; + unsigned char x_smtyp[1]; + unsigned char x_smclas[1]; + unsigned char x_stab[4]; + unsigned char x_snstab[2]; + } x_csect; + }; +#define SYMENT struct external_syment +#define SYMESZ 18 #define AUXENT union external_auxent #define AUXESZ 18 - #define DBXMASK 0x80 /* for dbx storage mask */ #define SYMNAME_IN_DEBUG(symptr) ((symptr)->n_sclass & DBXMASK) + + /********************** RELOCATION DIRECTIVES **********************/ -struct external_reloc -{ + +struct external_reloc { char r_vaddr[4]; char r_symndx[4]; char r_size[1]; char r_type[1]; }; + #define RELOC struct external_reloc #define RELSZ 10 @@ -171,3 +217,51 @@ struct external_reloc #define DEFAULT_TEXT_SECTION_ALIGNMENT 4 /* For new sections we havn't heard of before */ #define DEFAULT_SECTION_ALIGNMENT 4 + +/* The ldhdr structure. This appears at the start of the .loader + section. */ + +struct external_ldhdr +{ + bfd_byte l_version[4]; + bfd_byte l_nsyms[4]; + bfd_byte l_nreloc[4]; + bfd_byte l_istlen[4]; + bfd_byte l_nimpid[4]; + bfd_byte l_impoff[4]; + bfd_byte l_stlen[4]; + bfd_byte l_stoff[4]; +}; + +#define LDHDRSZ (8 * 4) + +struct external_ldsym +{ + union + { + bfd_byte _l_name[SYMNMLEN]; + struct + { + bfd_byte _l_zeroes[4]; + bfd_byte _l_offset[4]; + } _l_l; + } _l; + bfd_byte l_value[4]; + bfd_byte l_scnum[2]; + bfd_byte l_smtype[1]; + bfd_byte l_smclas[1]; + bfd_byte l_ifile[4]; + bfd_byte l_parm[4]; +}; + +#define LDSYMSZ (8 + 3 * 4 + 2 + 2) + +struct external_ldrel +{ + bfd_byte l_vaddr[4]; + bfd_byte l_symndx[4]; + bfd_byte l_rtype[2]; + bfd_byte l_rsecnm[2]; +}; + +#define LDRELSZ (2 * 4 + 2 * 2) diff -uprN binutils-2.11.90.0.8/include/coff/rs6k64.h binutils-2.11.90.0.15/include/coff/rs6k64.h --- binutils-2.11.90.0.8/include/coff/rs6k64.h Thu Mar 15 14:53:04 2001 +++ binutils-2.11.90.0.15/include/coff/rs6k64.h Thu May 24 21:23:29 2001 @@ -1,6 +1,5 @@ /* IBM RS/6000 "XCOFF64" file definitions for BFD. - - Copyright 2000 Free Software Foundation, Inc. + Copyright (C) 2000 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,47 +13,58 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + +/********************** FILE HEADER **********************/ -#define DO_NOT_DEFINE_AOUTHDR -#define DO_NOT_DEFINE_SCNHDR -#define DO_NOT_DEFINE_LINENO -#define DO_NOT_DEFINE_AUXENT -#include "coff/external.h" +struct external_filehdr { + char f_magic[2]; /* magic number */ + char f_nscns[2]; /* number of sections */ + char f_timdat[4]; /* time & date stamp */ + char f_symptr[8];/* file pointer to symtab */ + char f_opthdr[2]; /* sizeof(optional hdr) */ + char f_flags[2]; /* flags */ + char f_nsyms[4]; /* number of symtab entries */ +}; /* IBM RS/6000 */ #define U803XTOCMAGIC 0757 /* readonly text segments and TOC, XCOFF64 */ #define BADMAG(x) ((x).f_magic != U803XTOCMAGIC) +#define FILHDR struct external_filehdr +#define FILHSZ 24 + /********************** AOUT "OPTIONAL HEADER" **********************/ + typedef struct { - unsigned char magic[2]; /* type of file */ - unsigned char vstamp[2]; /* version stamp */ - unsigned char o_debugger[4]; /* reserved */ + unsigned char magic[2]; /* type of file */ + unsigned char vstamp[2]; /* version stamp */ + unsigned char o_debugger[4]; /* reserved */ unsigned char text_start[8]; /* base of text used for this file */ unsigned char data_start[8]; /* base of data used for this file */ unsigned char o_toc[8]; /* address of TOC */ - unsigned char o_snentry[2]; /* section number of entry point */ - unsigned char o_sntext[2]; /* section number of .text section */ - unsigned char o_sndata[2]; /* section number of .data section */ - unsigned char o_sntoc[2]; /* section number of TOC */ - unsigned char o_snloader[2]; /* section number of .loader section */ - unsigned char o_snbss[2]; /* section number of .bss section */ - unsigned char o_algntext[2]; /* .text alignment */ - unsigned char o_algndata[2]; /* .data alignment */ - unsigned char o_modtype[2]; /* module type (??) */ - unsigned char o_cputype[2]; /* cpu type */ - unsigned char o_resv2[4]; /* reserved */ - unsigned char tsize[8]; /* text size bytes, padded to FW bdry */ - unsigned char dsize[8]; /* initialized data " " */ - unsigned char bsize[8]; /* uninitialized data " " */ - unsigned char entry[8]; /* entry pt. */ + unsigned char o_snentry[2]; /* section number of entry point */ + unsigned char o_sntext[2]; /* section number of .text section */ + unsigned char o_sndata[2]; /* section number of .data section */ + unsigned char o_sntoc[2]; /* section number of TOC */ + unsigned char o_snloader[2]; /* section number of .loader section */ + unsigned char o_snbss[2]; /* section number of .bss section */ + unsigned char o_algntext[2]; /* .text alignment */ + unsigned char o_algndata[2]; /* .data alignment */ + unsigned char o_modtype[2]; /* module type (??) */ + unsigned char o_cputype[2]; /* cpu type */ + unsigned char o_resv2[4]; /* reserved */ + unsigned char tsize[8]; /* text size bytes, padded to FW bdry */ + unsigned char dsize[8]; /* initialized data " " */ + unsigned char bsize[8]; /* uninitialized data " " */ + unsigned char entry[8]; /* entry pt. */ unsigned char o_maxstack[8]; /* max stack size (??) */ unsigned char o_maxdata[8]; /* max data size (??) */ - unsigned char o_resv3[16]; /* reserved */ + unsigned char o_resv3[16]; /* reserved */ } AOUTHDR; @@ -62,15 +72,11 @@ AOUTHDR; #define SMALL_AOUTSZ (0) #define AOUTHDRSZ 72 -#define RS6K_AOUTHDR_OMAGIC 0x0107 /* old: text & data writeable */ -#define RS6K_AOUTHDR_NMAGIC 0x0108 /* new: text r/o, data r/w */ -#define RS6K_AOUTHDR_ZMAGIC 0x010B /* paged: text r/o, both page-aligned */ +/********************** SECTION HEADER **********************/ -/********************** SECTION HEADER **********************/ -struct external_scnhdr -{ - char s_name[8]; /* section name */ +struct external_scnhdr { + char s_name[8]; /* section name */ char s_paddr[8]; /* physical address, aliased s_nlib */ char s_vaddr[8]; /* virtual address */ char s_size[8]; /* section size */ @@ -79,121 +85,114 @@ struct external_scnhdr char s_lnnoptr[8]; /* file ptr to line numbers */ char s_nreloc[4]; /* number of relocation entries */ char s_nlnno[4]; /* number of line number entries*/ - char s_flags[4]; /* flags */ - char s_pad[4]; /* padding */ + char s_flags[4]; /* flags */ + char s_pad[4]; /* padding */ }; -/* - * names of "special" sections - */ -#define _TEXT ".text" -#define _DATA ".data" -#define _BSS ".bss" -#define _PAD ".pad" -#define _LOADER ".loader" #define SCNHDR struct external_scnhdr #define SCNHSZ 72 -/* XCOFF uses a special .loader section with type STYP_LOADER. */ -#define STYP_LOADER 0x1000 - -/* XCOFF uses a special .debug section with type STYP_DEBUG. */ -#define STYP_DEBUG 0x2000 - -/* XCOFF handles line number or relocation overflow by creating - another section header with STYP_OVRFLO set. */ -#define STYP_OVRFLO 0x8000 - /********************** LINE NUMBERS **********************/ /* 1 line number entry for every "breakpointable" source line in a section. - Line numbers are grouped on a per function basis; first entry in a function - grouping will have l_lnno = 0 and in place of physical address will be the - symbol table index of the function name. */ -struct external_lineno -{ - union - { - char l_symndx[8];/* function name symbol index, iff l_lnno == 0*/ - char l_paddr[8]; /* (physical) address of line number */ - } l_addr; - - char l_lnno[4]; /* line number */ + * Line numbers are grouped on a per function basis; first entry in a function + * grouping will have l_lnno = 0 and in place of physical address will be the + * symbol table index of the function name. + */ +struct external_lineno { + union { + char l_symndx[4];/* function name symbol index, iff l_lnno == 0*/ + char l_paddr[8]; /* (physical) address of line number */ + } l_addr; + char l_lnno[4]; /* line number */ }; + #define LINENO struct external_lineno + #define LINESZ 12 -union external_auxent +/********************** SYMBOLS **********************/ + +#define E_SYMNMLEN 8 /* # characters in a symbol name */ +#define E_FILNMLEN 14 /* # characters in a file name */ +#define E_DIMNUM 4 /* # array dimensions in auxiliary entry */ + +struct external_syment { - struct - { - union - { - struct - { - char x_lnno[4]; /* declaration line number */ - char x_size[2]; /* str/union/array size */ - } x_lnsz; - - struct - { - char x_lnnoptr[8];/* ptr to fcn line */ - char x_fsize[4]; /* size of function */ - char x_endndx[4]; /* entry ndx past block end */ - } x_fcn; + char e_value[8]; + char e_offset[4]; + char e_scnum[2]; + char e_type[2]; + char e_sclass[1]; + char e_numaux[1]; +}; - } x_fcnary; - } x_sym; + +#define N_BTMASK (017) +#define N_TMASK (060) +#define N_BTSHFT (4) +#define N_TSHIFT (2) + + +union external_auxent { + + struct { + union { + struct { + char x_lnno[4]; /* declaration line number */ + char x_size[2]; /* str/union/array size */ + } x_lnsz; + struct { + char x_lnnoptr[8];/* ptr to fcn line */ + char x_fsize[4]; /* size of function */ + char x_endndx[4]; /* entry ndx past block end */ + } x_fcn; + } x_fcnary; + } x_sym; - union - { - char x_fname[E_FILNMLEN]; - - struct - { - char x_zeroes[4]; - char x_offset[4]; - char x_pad[6]; - unsigned char x_ftype[1]; - unsigned char x_resv[2]; - } x_n; - - } x_file; - - struct - { - char x_exptr[8]; - char x_fsize[4]; - char x_endndx[4]; - char x_pad[1]; - } x_except; - - struct - { - unsigned char x_scnlen_lo[4]; - unsigned char x_parmhash[4]; - unsigned char x_snhash[2]; - unsigned char x_smtyp[1]; - unsigned char x_smclas[1]; - unsigned char x_scnlen_hi[4]; - unsigned char x_pad[1]; - } x_csect; - - struct - { - char x_pad[17]; - char x_auxtype[1]; - } x_auxtype; + union { + char x_fname[E_FILNMLEN]; + struct { + char x_zeroes[4]; + char x_offset[4]; + char x_pad[6]; + unsigned char x_ftype[1]; + unsigned char x_resv[2]; + } x_n; + } x_file; + + struct { + char x_exptr[8]; + char x_fsize[4]; + char x_endndx[4]; + char x_pad[1]; + } x_except; + + struct { + unsigned char x_scnlen_lo[4]; + unsigned char x_parmhash[4]; + unsigned char x_snhash[2]; + unsigned char x_smtyp[1]; + unsigned char x_smclas[1]; + unsigned char x_scnlen_hi[4]; + unsigned char x_pad[1]; + } x_csect; + + struct { + char x_pad[17]; + char x_auxtype[1]; + } x_auxtype; }; +#define SYMENT struct external_syment +#define SYMESZ 18 #define AUXENT union external_auxent #define AUXESZ 18 - #define DBXMASK 0x80 /* for dbx storage mask */ #define SYMNAME_IN_DEBUG(symptr) ((symptr)->n_sclass & DBXMASK) @@ -204,16 +203,19 @@ union external_auxent #define _AUX_FILE 252 #define _AUX_CSECT 251 + + /********************** RELOCATION DIRECTIVES **********************/ -struct external_reloc -{ + +struct external_reloc { char r_vaddr[8]; char r_symndx[4]; char r_size[1]; char r_type[1]; }; + #define RELOC struct external_reloc #define RELSZ 14 @@ -222,3 +224,44 @@ struct external_reloc #define DEFAULT_TEXT_SECTION_ALIGNMENT 4 /* For new sections we havn't heard of before */ #define DEFAULT_SECTION_ALIGNMENT 4 + +/* The ldhdr structure. This appears at the start of the .loader + section. */ + +struct external_ldhdr +{ + bfd_byte l_version[4]; + bfd_byte l_nsyms[4]; + bfd_byte l_nreloc[4]; + bfd_byte l_istlen[4]; + bfd_byte l_nimpid[4]; + bfd_byte l_stlen[4]; + bfd_byte l_impoff[8]; + bfd_byte l_stoff[8]; + bfd_byte l_symoff[8]; + bfd_byte l_rldoff[8]; +}; +#define LDHDRSZ (56) + +struct external_ldsym +{ + bfd_byte l_value[8]; + bfd_byte l_offset[4]; + bfd_byte l_scnum[2]; + bfd_byte l_smtype[1]; + bfd_byte l_smclas[1]; + bfd_byte l_ifile[4]; + bfd_byte l_parm[4]; +}; + +#define LDSYMSZ (24) + +struct external_ldrel +{ + bfd_byte l_vaddr[8]; + bfd_byte l_rtype[2]; + bfd_byte l_rsecnm[2]; + bfd_byte l_symndx[4]; +}; + +#define LDRELSZ (16) diff -uprN binutils-2.11.90.0.8/include/coff/xcoff.h binutils-2.11.90.0.15/include/coff/xcoff.h --- binutils-2.11.90.0.8/include/coff/xcoff.h Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/include/coff/xcoff.h Thu May 24 21:23:30 2001 @@ -0,0 +1,617 @@ +/* Internal format of XCOFF object file data structures for BFD. + + Copyright 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. + Written by Ian Lance Taylor , Cygnus Support. + + This file is part of BFD, the Binary File Descriptor library. + + This program 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 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _INTERNAL_XCOFF_H +#define _INTERNAL_XCOFF_H + +/* + * LINKER + */ + +/* + * names of "special" sections + */ +#define _TEXT ".text" +#define _DATA ".data" +#define _BSS ".bss" +#define _PAD ".pad" +#define _LOADER ".loader" + +/* XCOFF uses a special .loader section with type STYP_LOADER. */ +#define STYP_LOADER 0x1000 + +/* XCOFF uses a special .debug section with type STYP_DEBUG. */ +#define STYP_DEBUG 0x2000 + +/* XCOFF handles line number or relocation overflow by creating + another section header with STYP_OVRFLO set. */ +#define STYP_OVRFLO 0x8000 + +#define RS6K_AOUTHDR_OMAGIC 0x0107 /* old: text & data writeable */ +#define RS6K_AOUTHDR_NMAGIC 0x0108 /* new: text r/o, data r/w */ +#define RS6K_AOUTHDR_ZMAGIC 0x010B /* paged: text r/o, both page-aligned */ + + +/* XCOFF relocation types. + The relocations are described in the function + xcoff[64]_ppc_relocate_section in coff64-rs6000.c and coff-rs6000.c */ + +#define R_POS (0x00) +#define R_NEG (0x01) +#define R_REL (0x02) +#define R_TOC (0x03) +#define R_RTB (0x04) +#define R_GL (0x05) +#define R_TCL (0x06) +#define R_BA (0x08) +#define R_BR (0x0a) +#define R_RL (0x0c) +#define R_RLA (0x0d) +#define R_REF (0x0f) +#define R_TRL (0x12) +#define R_TRLA (0x13) +#define R_RRTBI (0x14) +#define R_RRTBA (0x15) +#define R_CAI (0x16) +#define R_CREL (0x17) +#define R_RBA (0x18) +#define R_RBAC (0x19) +#define R_RBR (0x1a) +#define R_RBRC (0x1b) + + +/* + * Storage class #defines, from /usr/include/storclass.h + * That are not already defined in internal.h + */ +#define C_INFO 110 /* Comment string in .info section */ + + +/* + * AUXILLARY SYMBOL ENTRIES + * + * auxemt + */ + +/* x_smtyp values: */ + +#define SMTYP_ALIGN(x) ((x) >> 3) /* log2 of alignment */ +#define SMTYP_SMTYP(x) ((x) & 0x7) /* symbol type */ +/* Symbol type values: */ +#define XTY_ER 0 /* External reference */ +#define XTY_SD 1 /* Csect definition */ +#define XTY_LD 2 /* Label definition */ +#define XTY_CM 3 /* .BSS */ +#define XTY_EM 4 /* Error message */ +#define XTY_US 5 /* "Reserved for internal use" */ + +/* x_smclas values: */ + +#define XMC_PR 0 /* Read-only program code */ +#define XMC_RO 1 /* Read-only constant */ +#define XMC_DB 2 /* Read-only debug dictionary table */ +#define XMC_TC 3 /* Read-write general TOC entry */ +#define XMC_UA 4 /* Read-write unclassified */ +#define XMC_RW 5 /* Read-write data */ +#define XMC_GL 6 /* Read-only global linkage */ +#define XMC_XO 7 /* Read-only extended operation */ +#define XMC_SV 8 /* Read-only supervisor call */ +#define XMC_BS 9 /* Read-write BSS */ +#define XMC_DS 10 /* Read-write descriptor csect */ +#define XMC_UC 11 /* Read-write unnamed Fortran common */ +#define XMC_TI 12 /* Read-only traceback index csect */ +#define XMC_TB 13 /* Read-only traceback table csect */ +/* 14 ??? */ +#define XMC_TC0 15 /* Read-write TOC anchor */ +#define XMC_TD 16 /* Read-write data in TOC */ + +/* The ldhdr structure. This appears at the start of the .loader + section. */ + +struct internal_ldhdr +{ + /* + * The version number: + * 1 : 32 bit + * 2 : 64 bit + */ + unsigned long l_version; + /* The number of symbol table entries. */ + bfd_size_type l_nsyms; + /* The number of relocation table entries. */ + bfd_size_type l_nreloc; + /* The length of the import file string table. */ + bfd_size_type l_istlen; + /* The number of import files. */ + bfd_size_type l_nimpid; + /* The offset from the start of the .loader section to the first + entry in the import file table. */ + bfd_size_type l_impoff; + /* The length of the string table. */ + bfd_size_type l_stlen; + /* The offset from the start of the .loader section to the first + entry in the string table. */ + bfd_size_type l_stoff; + /* The offset to start of the symbol table, only in XCOFF64 */ + bfd_vma l_symoff; + /* The offset to the start of the relocation table, only in XCOFF64 */ + bfd_vma l_rldoff; +}; + +/* The ldsym structure. This is used to represent a symbol in the + .loader section. */ + +struct internal_ldsym +{ + union + { + /* The symbol name if <= SYMNMLEN characters. */ + char _l_name[SYMNMLEN]; + struct + { + /* Zero if the symbol name is more than SYMNMLEN characters. */ + long _l_zeroes; + /* The offset in the string table if the symbol name is more + than SYMNMLEN characters. */ + long _l_offset; + } _l_l; + } _l; + /* The symbol value. */ + bfd_vma l_value; + /* The symbol section number. */ + short l_scnum; + /* The symbol type and flags. */ + char l_smtype; + /* The symbol storage class. */ + char l_smclas; + /* The import file ID. */ + bfd_size_type l_ifile; + /* Offset to the parameter type check string. */ + bfd_size_type l_parm; +}; + +/* These flags are for the l_smtype field (the lower three bits are an + XTY_* value). */ + +/* Imported symbol. */ +#define L_IMPORT (0x40) +/* Entry point. */ +#define L_ENTRY (0x20) +/* Exported symbol. */ +#define L_EXPORT (0x10) + +/* The ldrel structure. This is used to represent a reloc in the + .loader section. */ + +struct internal_ldrel +{ + /* The reloc address. */ + bfd_vma l_vaddr; + /* The symbol table index in the .loader section symbol table. */ + bfd_size_type l_symndx; + /* The relocation type and size. */ + short l_rtype; + /* The section number this relocation applies to. */ + short l_rsecnm; +}; + +/* An entry in the XCOFF linker hash table. */ +struct xcoff_link_hash_entry +{ + struct bfd_link_hash_entry root; + + /* Symbol index in output file. Set to -1 initially. Set to -2 if + there is a reloc against this symbol. */ + long indx; + + /* If we have created a TOC entry for this symbol, this is the .tc + section which holds it. */ + asection *toc_section; + + union + { + /* If we have created a TOC entry (the XCOFF_SET_TOC flag is + set), this is the offset in toc_section. */ + bfd_vma toc_offset; + /* If the TOC entry comes from an input file, this is set to the + symbol index of the C_HIDEXT XMC_TC or XMC_TD symbol. */ + long toc_indx; + } u; + + /* If this symbol is a function entry point which is called, this + field holds a pointer to the function descriptor. If this symbol + is a function descriptor, this field holds a pointer to the + function entry point. */ + struct xcoff_link_hash_entry *descriptor; + + /* The .loader symbol table entry, if there is one. */ + struct internal_ldsym *ldsym; + + /* If XCOFF_BUILT_LDSYM is set, this is the .loader symbol table + index. If XCOFF_BUILD_LDSYM is clear, and XCOFF_IMPORT is set, + this is the l_ifile value. */ + long ldindx; + + /* Some linker flags. */ + unsigned long flags; + + /* The storage mapping class. */ + unsigned char smclas; +}; + +/* + * #define for xcoff_link_hash_entry.flags + * + * XCOFF_REF_REGULAR + * Symbol is referenced by a regular object. + * + * XCOFF_DEF_REGULAR + * Symbol is defined by a regular object. + * + * XCOFF_DEF_DYNAMIC + * Symbol is defined by a dynamic object. + * + * XCOFF_LDREL + * Symbol is used in a reloc being copied into the .loader section. + * + * XCOFF_ENTRY + * Symbol is the entry point. + * + * XCOFF_CALLED + * Symbol is called; this is, it appears in a R_BR reloc. + * + * XCOFF_SET_TOC + * Symbol needs the TOC entry filled in. + * + * XCOFF_IMPORT + * Symbol is explicitly imported. + * + * XCOFF_EXPORT + * Symbol is explicitly exported. + * + * XCOFF_BUILT_LDSYM + * Symbol has been processed by xcoff_build_ldsyms. + * + * XCOFF_MARK + * Symbol is mentioned by a section which was not garbage collected. + * + * XCOFF_HAS_SIZE + * Symbol size is recorded in size_list list from hash table. + * + * XCOFF_DESCRIPTOR + * Symbol is a function descriptor. + * + * XCOFF_MULTIPLY_DEFINED + * Multiple definitions have been for the symbol. + * + * XCOFF_RTINIT + * Symbol is the __rtinit symbol + * + */ + +#define XCOFF_REF_REGULAR 0x00000001 +#define XCOFF_DEF_REGULAR 0x00000002 +#define XCOFF_DEF_DYNAMIC 0x00000004 +#define XCOFF_LDREL 0x00000008 +#define XCOFF_ENTRY 0x00000010 +#define XCOFF_CALLED 0x00000020 +#define XCOFF_SET_TOC 0x00000040 +#define XCOFF_IMPORT 0x00000080 +#define XCOFF_EXPORT 0x00000100 +#define XCOFF_BUILT_LDSYM 0x00000200 +#define XCOFF_MARK 0x00000400 +#define XCOFF_HAS_SIZE 0x00000800 +#define XCOFF_DESCRIPTOR 0x00001000 +#define XCOFF_MULTIPLY_DEFINED 0x00002000 +#define XCOFF_RTINIT 0x00004000 + + +/* The XCOFF linker hash table. */ + +#define XCOFF_NUMBER_OF_SPECIAL_SECTIONS 6 +#define XCOFF_SPECIAL_SECTION_TEXT 0 +#define XCOFF_SPECIAL_SECTION_ETEXT 1 +#define XCOFF_SPECIAL_SECTION_DATA 2 +#define XCOFF_SPECIAL_SECTION_EDATA 3 +#define XCOFF_SPECIAL_SECTION_END 4 +#define XCOFF_SPECIAL_SECTION_END2 5 + +struct xcoff_link_hash_table +{ + struct bfd_link_hash_table root; + + /* The .debug string hash table. We need to compute this while + reading the input files, so that we know how large the .debug + section will be before we assign section positions. */ + struct bfd_strtab_hash *debug_strtab; + + /* The .debug section we will use for the final output. */ + asection *debug_section; + + /* The .loader section we will use for the final output. */ + asection *loader_section; + + /* A count of non TOC relative relocs which will need to be + allocated in the .loader section. */ + size_t ldrel_count; + + /* The .loader section header. */ + struct internal_ldhdr ldhdr; + + /* The .gl section we use to hold global linkage code. */ + asection *linkage_section; + + /* The .tc section we use to hold toc entries we build for global + linkage code. */ + asection *toc_section; + + /* The .ds section we use to hold function descriptors which we + create for exported symbols. */ + asection *descriptor_section; + + /* The list of import files. */ + struct xcoff_import_file *imports; + + /* Required alignment of sections within the output file. */ + unsigned long file_align; + + /* Whether the .text section must be read-only. */ + boolean textro; + + /* Whether garbage collection was done. */ + boolean gc; + + /* A linked list of symbols for which we have size information. */ + struct xcoff_link_size_list + { + struct xcoff_link_size_list *next; + struct xcoff_link_hash_entry *h; + bfd_size_type size; + } *size_list; + + /* Magic sections: _text, _etext, _data, _edata, _end, end. */ + asection *special_sections[XCOFF_NUMBER_OF_SPECIAL_SECTIONS]; +}; + + +/* This structure is used to pass information through + xcoff_link_hash_traverse. */ + +struct xcoff_loader_info +{ + /* Set if a problem occurred. */ + boolean failed; + /* Output BFD. */ + bfd *output_bfd; + /* Link information structure. */ + struct bfd_link_info *info; + /* Whether all defined symbols should be exported. */ + boolean export_defineds; + /* Number of ldsym structures. */ + size_t ldsym_count; + /* Size of string table. */ + size_t string_size; + /* String table. */ + bfd_byte *strings; + /* Allocated size of string table. */ + size_t string_alc; +}; + +/* In case we're on a 32-bit machine, construct a 64-bit "-1" value + from smaller values. Start with zero, widen, *then* decrement. */ +#define MINUS_ONE (((bfd_vma)0) - 1) + + +/* + * __rtinit + * from /usr/include/rtinit.h + */ +struct __rtinit { + int (*rtl)(); /* Pointer to runtime linker */ + int init_offset; /* Offset to array of init functions + (0 if none). */ + int fini_offset; /* Offset to array of fini functions + (0 if none). */ + int __rtinit_descriptor_size; /* Size of __RTINIT_DESCRIPTOR. + This value should be used instead + of sizeof(__RTINIT_DESCRIPTOR). */ +}; + +#define RTINIT_DESCRIPTOR_SIZE (12) + +struct __rtinit_descriptor { + int f; /* Init/fini function. */ + int name_offset; /* Offset (within __rtinit symbol) + to name of function. */ + unsigned char flags; /* Flags */ +}; + + + +/* + * ARCHIVE + */ + +#define XCOFFARMAG "\012" +#define XCOFFARMAGBIG "\012" +#define SXCOFFARMAG 8 + +/* This terminates an XCOFF archive member name. */ + +#define XCOFFARFMAG "`\012" +#define SXCOFFARFMAG 2 + +/* XCOFF archives start with this (printable) structure. */ + +struct xcoff_ar_file_hdr +{ + /* Magic string. */ + char magic[SXCOFFARMAG]; + + /* Offset of the member table (decimal ASCII string). */ + char memoff[12]; + + /* Offset of the global symbol table (decimal ASCII string). */ + char symoff[12]; + + /* Offset of the first member in the archive (decimal ASCII string). */ + char firstmemoff[12]; + + /* Offset of the last member in the archive (decimal ASCII string). */ + char lastmemoff[12]; + + /* Offset of the first member on the free list (decimal ASCII + string). */ + char freeoff[12]; +}; + +#define SIZEOF_AR_FILE_HDR (5 * 12 + SXCOFFARMAG) + +/* This is the equivalent data structure for the big archive format. */ + +struct xcoff_ar_file_hdr_big +{ + /* Magic string. */ + char magic[SXCOFFARMAG]; + + /* Offset of the member table (decimal ASCII string). */ + char memoff[20]; + + /* Offset of the global symbol table for 32-bit objects (decimal ASCII + string). */ + char symoff[20]; + + /* Offset of the global symbol table for 64-bit objects (decimal ASCII + string). */ + char symoff64[20]; + + /* Offset of the first member in the archive (decimal ASCII string). */ + char firstmemoff[20]; + + /* Offset of the last member in the archive (decimal ASCII string). */ + char lastmemoff[20]; + + /* Offset of the first member on the free list (decimal ASCII + string). */ + char freeoff[20]; +}; + +#define SIZEOF_AR_FILE_HDR_BIG (6 * 20 + SXCOFFARMAG) + + +/* Each XCOFF archive member starts with this (printable) structure. */ + +struct xcoff_ar_hdr +{ + /* File size not including the header (decimal ASCII string). */ + char size[12]; + + /* File offset of next archive member (decimal ASCII string). */ + char nextoff[12]; + + /* File offset of previous archive member (decimal ASCII string). */ + char prevoff[12]; + + /* File mtime (decimal ASCII string). */ + char date[12]; + + /* File UID (decimal ASCII string). */ + char uid[12]; + + /* File GID (decimal ASCII string). */ + char gid[12]; + + /* File mode (octal ASCII string). */ + char mode[12]; + + /* Length of file name (decimal ASCII string). */ + char namlen[4]; + + /* This structure is followed by the file name. The length of the + name is given in the namlen field. If the length of the name is + odd, the name is followed by a null byte. The name and optional + null byte are followed by XCOFFARFMAG, which is not included in + namlen. The contents of the archive member follow; the number of + bytes is given in the size field. */ +}; + +#define SIZEOF_AR_HDR (7 * 12 + 4) + +/* The equivalent for the big archive format. */ + +struct xcoff_ar_hdr_big +{ + /* File size not including the header (decimal ASCII string). */ + char size[20]; + + /* File offset of next archive member (decimal ASCII string). */ + char nextoff[20]; + + /* File offset of previous archive member (decimal ASCII string). */ + char prevoff[20]; + + /* File mtime (decimal ASCII string). */ + char date[12]; + + /* File UID (decimal ASCII string). */ + char uid[12]; + + /* File GID (decimal ASCII string). */ + char gid[12]; + + /* File mode (octal ASCII string). */ + char mode[12]; + + /* Length of file name (decimal ASCII string). */ + char namlen[4]; + + /* This structure is followed by the file name. The length of the + name is given in the namlen field. If the length of the name is + odd, the name is followed by a null byte. The name and optional + null byte are followed by XCOFFARFMAG, which is not included in + namlen. The contents of the archive member follow; the number of + bytes is given in the size field. */ +}; + +#define SIZEOF_AR_HDR_BIG (3 * 20 + 4 * 12 + 4) + +/* We often have to distinguish between the old and big file format. + Make it a bit cleaner. We can use `xcoff_ardata' here because the + `hdr' member has the same size and position in both formats. */ +#define xcoff_big_format_p(abfd) \ + (xcoff_ardata (abfd)->magic[1] == 'b') + +/* We store a copy of the xcoff_ar_file_hdr in the tdata field of the + artdata structure. Similar for the big archive. */ +#define xcoff_ardata(abfd) \ + ((struct xcoff_ar_file_hdr *) bfd_ardata (abfd)->tdata) +#define xcoff_ardata_big(abfd) \ + ((struct xcoff_ar_file_hdr_big *) bfd_ardata (abfd)->tdata) + +/* We store a copy of the xcoff_ar_hdr in the arelt_data field of an + archive element. Similar for the big archive. */ +#define arch_eltdata(bfd) ((struct areltdata *) ((bfd)->arelt_data)) +#define arch_xhdr(bfd) \ + ((struct xcoff_ar_hdr *) arch_eltdata (bfd)->arch_header) +#define arch_xhdr_big(bfd) \ + ((struct xcoff_ar_hdr_big *) arch_eltdata (bfd)->arch_header) + +#endif /* _INTERNAL_XCOFF_H */ diff -uprN binutils-2.11.90.0.8/include/elf/ChangeLog binutils-2.11.90.0.15/include/elf/ChangeLog --- binutils-2.11.90.0.8/include/elf/ChangeLog Sat May 12 00:05:57 2001 +++ binutils-2.11.90.0.15/include/elf/ChangeLog Fri Jun 1 20:48:28 2001 @@ -1,3 +1,8 @@ +2001-05-15 Ralf Baechle + + * common.h: Remove definition of EM_MIPS_RS4_BE. The constant was + never in active use and is used otherwise by the ABI. + 2001-05-07 Thiemo Seufer * external.h: Fix typo. @@ -159,6 +164,11 @@ * ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define. + +2000-08-07 Nick Clifton + + * ppc.h: Remove spurious CYGNUS LOCAL comments. + * v850.h: Likewise. 2000-07-22 Jason Eckhardt diff -uprN binutils-2.11.90.0.8/include/elf/common.h binutils-2.11.90.0.15/include/elf/common.h --- binutils-2.11.90.0.8/include/elf/common.h Tue Apr 24 09:29:03 2001 +++ binutils-2.11.90.0.15/include/elf/common.h Mon May 21 11:39:54 2001 @@ -105,7 +105,6 @@ Foundation, Inc., 59 Temple Place - Suit #define EM_860 7 /* Intel 80860 */ #define EM_MIPS 8 /* MIPS R3000 (officially, big-endian only) */ #define EM_S370 9 /* IBM System/370 */ -#define EM_MIPS_RS4_BE 10 /* MIPS R4000 big-endian */ /* Depreciated */ #define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian (Oct 4 1999 Draft)*/ /* Depreciated */ #define EM_PARISC 15 /* HPPA */ diff -uprN binutils-2.11.90.0.8/include/opcode/ChangeLog binutils-2.11.90.0.15/include/opcode/ChangeLog --- binutils-2.11.90.0.8/include/opcode/ChangeLog Sat May 12 08:02:25 2001 +++ binutils-2.11.90.0.15/include/opcode/ChangeLog Fri Jun 1 20:48:32 2001 @@ -1,3 +1,15 @@ +2001-05-23 Thiemo Seufer + + * mips.h (CPU_R12000): Define. + +2001-05-23 John Healy + + * cgen.h: Increased CGEN_MAX_SYNTAX_ELEMENTS to 48. + +2001-05-15 Thiemo Seufer + + * mips.h (INSN_ISA_MASK): Define. + 2001-05-12 Alan Modra * i386.h (i386_optab): Second operand of cvtps2dq is an xmm reg, @@ -1105,7 +1117,7 @@ Mon Feb 2 17:10:38 1998 Steve Haworth * tic30.h: New file. -Jan 22 17:54:56 1998 Nick Clifton +Thu Jan 22 17:54:56 1998 Nick Clifton * cgen.h: Add prototypes for cgen_save_fixups(), cgen_restore_fixups(), and cgen_swap_fixups(). Change prototype diff -uprN binutils-2.11.90.0.8/include/opcode/cgen.h binutils-2.11.90.0.15/include/opcode/cgen.h --- binutils-2.11.90.0.8/include/opcode/cgen.h Thu Mar 15 14:53:12 2001 +++ binutils-2.11.90.0.15/include/opcode/cgen.h Wed May 23 10:54:46 2001 @@ -736,7 +736,7 @@ typedef struct the data is recorded in the parse/insert/extract/print switch statements. */ /* This should be at least as large as necessary for any target. */ -#define CGEN_MAX_SYNTAX_ELEMENTS 40 +#define CGEN_MAX_SYNTAX_ELEMENTS 48 /* A target may know its own precise maximum. Assert that it falls below the above limit. */ diff -uprN binutils-2.11.90.0.8/include/opcode/mips.h binutils-2.11.90.0.15/include/opcode/mips.h --- binutils-2.11.90.0.8/include/opcode/mips.h Thu Mar 15 14:53:15 2001 +++ binutils-2.11.90.0.15/include/opcode/mips.h Wed May 23 10:54:48 2001 @@ -307,6 +307,7 @@ struct mips_opcode ORs of these bits, indicatingthat they support the instructions defined at the given level. */ +#define INSN_ISA_MASK 0x0000ffff #define INSN_ISA1 0x00000010 #define INSN_ISA2 0x00000020 #define INSN_ISA3 0x00000040 @@ -357,6 +358,7 @@ struct mips_opcode #define CPU_R6000 6000 #define CPU_R8000 8000 #define CPU_R10000 10000 +#define CPU_R12000 12000 #define CPU_MIPS16 16 #define CPU_MIPS32 32 #define CPU_MIPS32_4K 3204113 /* 32, 04, octal 'K'. */ diff -uprN binutils-2.11.90.0.8/include/partition.h binutils-2.11.90.0.15/include/partition.h --- binutils-2.11.90.0.8/include/partition.h Fri Mar 31 09:16:52 2000 +++ binutils-2.11.90.0.15/include/partition.h Mon May 21 10:35:21 2001 @@ -1,5 +1,5 @@ -/* List implentation of a partition of consecutive integers. - Copyright (C) 2000 Free Software Foundation, Inc. +/* List implementation of a partition of consecutive integers. + Copyright (C) 2000, 2001 Free Software Foundation, Inc. Contributed by CodeSourcery, LLC. This file is part of GNU CC. diff -uprN binutils-2.11.90.0.8/ld/ChangeLog binutils-2.11.90.0.15/ld/ChangeLog --- binutils-2.11.90.0.8/ld/ChangeLog Sat May 12 00:08:01 2001 +++ binutils-2.11.90.0.15/ld/ChangeLog Sun Jun 10 10:55:09 2001 @@ -1,3 +1,148 @@ +2001-06-08 Alan Modra + + * ldlang.c (record_bfd_errors): Remove. + + * emultempl/aix.em: Fix copyright dates. + +2001-06-07 Andreas Jaeger + + * elf_x86_64.sh (NONPAGED_TEXT_START_ADDR): Increase. + (TEXT_START_ADDR): Likewise. + +2001-06-06 Martin Schwidefsky + + * configure.host: Set HOSTING_CRT0/HOSTING_LIBS correctly for s/390. + +2001-06-05 Danny Smith + + * emultempl/pe.em (init): Reduce default stack reserve to 0x200000. + +2001-05-31 H.J. Lu + + * ldlang.c (open_input_bfds): Don't change the bfd error + handler whilst loading symbols. + +2001-05-28 Nick Clifton + + * configure.tgt: Remove i370-mvs architecture, it is not currently + supported. + +2001-05-25 H.J. Lu + + * emulparams/ppcmacos.sh: Add SYSCALL_MASK and SYMBOL_MODE_MASK + like emulparams/aixppc.sh. + +2001-05-25 H.J. Lu + + * emultempl/beos.em (gld${EMULATION_NAME}_before_parse): Move + setting of output_filename after bfd_scan_arch. + * emultempl/pe.em: Likewise. + +2001-05-25 H.J. Lu + + * emulparams/aixrs6.sh: Add SYSCALL_MASK and SYMBOL_MODE_MASK + like emulparams/aixppc.sh. + + * emultempl/aix.em (sc): Use ${srcdir}/emultempl/ostring.sed + instead of ${srcdir}/emultempl/stringify.sed. + +2001-05-25 Timothy Wall + + * emulparams/elf64_aix.sh: Change settings to match IBM linker + output. + +2001-05-25 Alan Modra + + * configure.host: Replace linuxoldld with linux*oldld. + * configure.tgt: Likewise. + +2001-05-24 H.J. Lu + + * emultempl/stringify.sed: Removed again. + +2001-05-24 H.J. Lu + + * emultempl/aix.em (OUTPUT_ARCH): Defined. + (gld${EMULATION_NAME}_before_parse): Initialize + ldfile_output_architecture, ldfile_output_machine and + ldfile_output_machine_name from ${OUTPUT_ARCH} if possible. + * emultempl/beos.em: Likewise. + * emultempl/elf32.em: Likewise. + * emultempl/linux.em: Likewise. + * emultempl/mipsecoff.em: Likewise. + * emultempl/pe.em: Likewise. + * emultempl/sunos.em: Likewise. + +2001-05-24 Tom Rix + + * emultempl/aix.em : (gld${EMULATION_NAME}_read_file) + udate import file format. + (change_symbol_mode) New, same + (is_syscall) New, same + * emulparams/aixppc.sh : add SYSCALL_MASK and SYMBOL_MODE_MASK + * emulparams/aixppc64.sh : same + * emulparams/aixrs6.sh : same + * emulparams/ppcmacos.sh : same + * emultempl/aix.em : use strtoull to parse options + * Makefile.am : add eaixppc64 emulation for xcoff64 + * Makefile.in : same + * configure.tgt : same + + * scripttempl/aix.sc : default text section offset to 0x10000000 + default data section offset to 0x20000000 + add .sv3264 and .sv64 pseudo sections + loader and debug sections use the currect section offset. + + * emultempl/aix.em : Add xcoff64 support + Add -binitfini support + (gld${EMULATION_NAME}_before_parse) -binitfini + (gld${EMULATION_NAME}_parse_args) same + (gld${EMULATION_NAME}_before_allocation) format change for special + sections + + * emulparams/aixppc64.sh : New file for xcoff64 support + +2001-05-23 Alexandre Oliva + + * emultempl/elf32.em (ELF_INTERPRETER_SET_DEFAULT): Use this new + variable to avoid non-portable shell construct. + +2001-05-23 Thiemo Seufer + + * ldmain.c (get_emulation): Add -mips5 command line argument. + +2001-05-22 Alexandre Oliva + + * emulparams/elf_i386_ldso.sh: New, copied from elf_i386.sh. + (ELF_INTERPRETER_NAME): Define it. + * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Use + it. + * configure.tgt (targ_emul, targ_extra_emuls) + [i[3456]86-*-solaris2*, i[3456]86-*-solaris*]: Use elf_i386_ldso + as primary, elf_i386 as extra. + * Makefile.am (ALL_EMULATIONS): Added eelf_i386_ldso.o. + (eelf_i386_ldso.c): New rule. + * Makefile.in: Rebuilt. + +2001-05-22 Nick Clifton + + * lexsup.c (ld_options): Allow -I to be an alias for + --dynamic-linker. This is for Solaris compatability. + * ld.texinfo: Document that -I can be used. + * ld.1: Regenerate. + +2001-05-16 Alan Modra + + * ldlang.c (wild_doit): Use linker_has_input to reliably determine + whether an input section is the first one assigned to an output + section. + Assorted formatting fixes. + +2001-05-14 DJ Delorie + + * Makefile.am (ld.dvi): Search bfd/doc for texinfo files. + * Makefile.in: Ditto. + 2001-05-11 Jakub Jelinek * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Put @@ -39,7 +184,7 @@ * 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". @@ -181,20 +326,6 @@ * emultempl/m68kelf.em (m68k_elf_after_allocation): Call after_allocation_default, not gld..._before_allocation. - -2001-02-28 Matt Hiller - - * testsuite/ld-scripts/crossref.exp: Initialize flags to - [big_or_little_endian]. - * testsuite/ld-undefined/undefined.exp: Ditto, and include $flags - in ld invocations. - * testsuite/lib/ld-lib.exp (big_or_little_endian): Recognize -EB, - -eb, -EL and -el. - (is_endian_output_format): New function. - (default_ld_link): Set flags to [big_or_little_endian] only if ld - is being invoked such that the output format being used is of - known endianness. - (default_ld_simple_link): Ditto. 2001-02-27 Alan Modra diff -uprN binutils-2.11.90.0.8/ld/Makefile.am binutils-2.11.90.0.15/ld/Makefile.am --- binutils-2.11.90.0.8/ld/Makefile.am Wed May 2 15:25:16 2001 +++ binutils-2.11.90.0.15/ld/Makefile.am Thu May 24 23:17:13 2001 @@ -162,6 +162,7 @@ ALL_EMULATIONS = \ eelf_i386.o \ eelf_i386_be.o \ eelf_i386_chaos.o \ + eelf_i386_ldso.o \ eelf_s390.o \ egld960.o \ egld960coff.o \ @@ -260,7 +261,8 @@ ALL_64_EMULATIONS = \ eelf64bmip.o \ eelf64btsmip.o \ eelf64ltsmip.o \ - eelf64hppa.o + eelf64hppa.o \ + eaixppc64.o ALL_EMUL_EXTRA_OFILES = \ deffilep.o \ @@ -323,6 +325,9 @@ GEN_DEPENDS = $(srcdir)/genscripts.sh st ea29k.c: $(srcdir)/emulparams/a29k.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/a29k.sc ${GEN_DEPENDS} ${GENSCRIPTS} a29k "$(tdir_a29k)" +eaixppc64.c: $(srcdir)/emulparams/aixppc64.sh \ + $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS} + ${GENSCRIPTS} aixppc64 "$(tdir_aixppc64)" eaixppc.c: $(srcdir)/emulparams/aixppc.sh \ $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS} ${GENSCRIPTS} aixppc "$(tdir_aixppc)" @@ -537,6 +542,9 @@ eelf_i386_be.c: $(srcdir)/emulparams/elf eelf_i386_chaos.c: $(srcdir)/emulparams/elf_i386_chaos.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_i386_chaos "$(tdir_elf_i386_chaos)" +eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf_i386_ldso "$(tdir_elf_i386_ldso)" eelf_s390.c: $(srcdir)/emulparams/elf_s390.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_s390 "$(tdir_elf_s390)" @@ -921,7 +929,7 @@ ld.info: $(srcdir)/ld.texinfo configdoc. ld.dvi: $(srcdir)/ld.texinfo configdoc.texi ldver.texi TEXINPUTS=$(top_srcdir)/../texinfo:$$TEXINPUTS \ - MAKEINFO="$(MAKEINFO) -I $(srcdir) -I $(BFDDIR)/doc" $(TEXI2DVI) $(srcdir)/ld.texinfo + MAKEINFO="$(MAKEINFO) -I $(srcdir) -I $(BFDDIR)/doc" $(TEXI2DVI) -I $(BFDDIR)/doc $(srcdir)/ld.texinfo # Build the man page from the texinfo file # The sed command removes the no-adjust Nroff command so that diff -uprN binutils-2.11.90.0.8/ld/Makefile.in binutils-2.11.90.0.15/ld/Makefile.in --- binutils-2.11.90.0.8/ld/Makefile.in Wed May 2 15:25:16 2001 +++ binutils-2.11.90.0.15/ld/Makefile.in Thu May 24 23:17:13 2001 @@ -270,6 +270,7 @@ ALL_EMULATIONS = \ eelf_i386.o \ eelf_i386_be.o \ eelf_i386_chaos.o \ + eelf_i386_ldso.o \ eelf_s390.o \ egld960.o \ egld960coff.o \ @@ -386,6 +387,7 @@ HFILES = ld.h ldctor.h ldemul.h ldexp.h ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \ ldwrite.h mri.h deffile.h pe-dll.h +ALL_64_EMULATIONS = eaixppc64.o 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 GENERATED_CFILES = ldgram.c ldlex.c deffilep.c GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h @@ -1037,6 +1039,9 @@ stringify.sed: ${srcdir}/emultempl/$(STR ea29k.c: $(srcdir)/emulparams/a29k.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/a29k.sc ${GEN_DEPENDS} ${GENSCRIPTS} a29k "$(tdir_a29k)" +eaixppc64.c: $(srcdir)/emulparams/aixppc64.sh \ + $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS} + ${GENSCRIPTS} aixppc64 "$(tdir_aixppc64)" eaixppc.c: $(srcdir)/emulparams/aixppc.sh \ $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS} ${GENSCRIPTS} aixppc "$(tdir_aixppc)" @@ -1251,6 +1256,9 @@ eelf_i386_be.c: $(srcdir)/emulparams/elf eelf_i386_chaos.c: $(srcdir)/emulparams/elf_i386_chaos.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_i386_chaos "$(tdir_elf_i386_chaos)" +eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf_i386_ldso "$(tdir_elf_i386_ldso)" eelf_s390.c: $(srcdir)/emulparams/elf_s390.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_s390 "$(tdir_elf_s390)" @@ -1624,7 +1632,7 @@ ld.info: $(srcdir)/ld.texinfo configdoc. ld.dvi: $(srcdir)/ld.texinfo configdoc.texi ldver.texi TEXINPUTS=$(top_srcdir)/../texinfo:$$TEXINPUTS \ - MAKEINFO="$(MAKEINFO) -I $(srcdir) -I $(BFDDIR)/doc" $(TEXI2DVI) $(srcdir)/ld.texinfo + MAKEINFO="$(MAKEINFO) -I $(srcdir) -I $(BFDDIR)/doc" $(TEXI2DVI) -I $(BFDDIR)/doc $(srcdir)/ld.texinfo # Build the man page from the texinfo file # The sed command removes the no-adjust Nroff command so that diff -uprN binutils-2.11.90.0.8/ld/configure binutils-2.11.90.0.15/ld/configure --- binutils-2.11.90.0.8/ld/configure Wed May 2 15:25:17 2001 +++ binutils-2.11.90.0.15/ld/configure Mon May 21 11:39:54 2001 @@ -1556,7 +1556,7 @@ irix5* | irix6*) # This must be Linux ELF. linux-gnu*) case $host_cpu in - alpha* | i*86 | powerpc* | sparc* | ia64* ) + alpha* | hppa* | 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 @@ -1595,6 +1595,10 @@ solaris*) lt_cv_file_magic_test_file=/lib/libc.so ;; +sysv5uw[78]* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) case $host_vendor in ncr) @@ -1615,13 +1619,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:1619: checking for object suffix" >&5 +echo "configure:1623: 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:1625: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -1641,7 +1645,7 @@ ac_objext=$ac_cv_objext echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1645: checking for executable suffix" >&5 +echo "configure:1649: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1651,7 +1655,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:1655: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:1659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -1684,7 +1688,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:1688: checking for ${ac_tool_prefix}file" >&5 +echo "configure:1692: 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 @@ -1746,7 +1750,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:1750: checking for file" >&5 +echo "configure:1754: 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 @@ -1817,7 +1821,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:1821: checking for $ac_word" >&5 +echo "configure:1825: 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 @@ -1849,7 +1853,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:1853: checking for $ac_word" >&5 +echo "configure:1857: 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 @@ -1884,7 +1888,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:1888: checking for $ac_word" >&5 +echo "configure:1892: 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 @@ -1916,7 +1920,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:1920: checking for $ac_word" >&5 +echo "configure:1924: 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 @@ -1983,8 +1987,8 @@ test x"$pic_mode" = xno && libtool_flags case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 1987 "configure"' > conftest.$ac_ext - if { (eval echo configure:1988: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 1991 "configure"' > conftest.$ac_ext + if { (eval echo configure:1992: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" @@ -2005,7 +2009,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:2009: checking whether the C compiler needs -belf" >&5 +echo "configure:2013: 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 @@ -2018,14 +2022,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:2033: \"$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 @@ -2202,7 +2206,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:2206: checking for $ac_word" >&5 +echo "configure:2210: 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 @@ -2232,7 +2236,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:2236: checking for $ac_word" >&5 +echo "configure:2240: 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 @@ -2283,7 +2287,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:2287: checking for $ac_word" >&5 +echo "configure:2291: 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 @@ -2315,7 +2319,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:2319: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:2323: 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. @@ -2326,12 +2330,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 2330 "configure" +#line 2334 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:2335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2339: \"$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 @@ -2357,12 +2361,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:2361: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:2365: 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:2366: checking whether we are using GNU C" >&5 +echo "configure:2370: 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 @@ -2371,7 +2375,7 @@ else yes; #endif EOF -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 +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2379: \"$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 @@ -2390,7 +2394,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:2394: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:2398: 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 @@ -2433,7 +2437,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:2437: checking for a BSD compatible install" >&5 +echo "configure:2441: 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 @@ -2488,7 +2492,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:2492: checking how to run the C preprocessor" >&5 +echo "configure:2496: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -2503,13 +2507,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:2513: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2517: \"$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 : @@ -2520,13 +2524,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:2530: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2534: \"$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 : @@ -2537,13 +2541,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:2547: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2551: \"$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 : @@ -2570,7 +2574,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:2574: checking for $ac_word" >&5 +echo "configure:2578: 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 @@ -2598,12 +2602,12 @@ else fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2602: checking for ANSI C header files" >&5 +echo "configure:2606: 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 @@ -2611,7 +2615,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2615: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2619: \"$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* @@ -2628,7 +2632,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 @@ -2646,7 +2650,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 @@ -2667,7 +2671,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2678,7 +2682,7 @@ if (XOR (islower (i), ISLOWER (i)) || to exit (0); } EOF -if { (eval echo configure:2682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2702,12 +2706,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2706: checking for working const" >&5 +echo "configure:2710: 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:2764: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2777,21 +2781,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2781: checking for inline" >&5 +echo "configure:2785: 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:2799: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2817,12 +2821,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2821: checking for off_t" >&5 +echo "configure:2825: 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 @@ -2850,12 +2854,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2854: checking for size_t" >&5 +echo "configure:2858: 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 @@ -2885,19 +2889,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:2889: checking for working alloca.h" >&5 +echo "configure:2893: 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:2901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2905: \"$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 @@ -2918,12 +2922,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:2922: checking for alloca" >&5 +echo "configure:2926: 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:2959: \"$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 @@ -2983,12 +2987,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2987: checking whether alloca needs Cray hooks" >&5 +echo "configure:2991: 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:3017: checking for $ac_func" >&5 +echo "configure:3021: 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:3049: \"$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 @@ -3068,7 +3072,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:3072: checking stack direction for C alloca" >&5 +echo "configure:3076: 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 @@ -3076,7 +3080,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:3103: \"$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 @@ -3120,17 +3124,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:3124: checking for $ac_hdr" >&5 +echo "configure:3128: 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:3134: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3138: \"$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* @@ -3159,12 +3163,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3163: checking for $ac_func" >&5 +echo "configure:3167: 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:3195: \"$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 @@ -3212,7 +3216,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:3216: checking for working mmap" >&5 +echo "configure:3220: 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 @@ -3220,7 +3224,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:3368: \"$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 @@ -3388,17 +3392,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:3392: checking for $ac_hdr" >&5 +echo "configure:3396: 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:3402: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3406: \"$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* @@ -3428,12 +3432,12 @@ done __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3432: checking for $ac_func" >&5 +echo "configure:3436: 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:3464: \"$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 @@ -3485,12 +3489,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3489: checking for $ac_func" >&5 +echo "configure:3493: 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:3521: \"$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 @@ -3547,19 +3551,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3551: checking for LC_MESSAGES" >&5 +echo "configure:3555: 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:3563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3567: \"$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 @@ -3580,7 +3584,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3584: checking whether NLS is requested" >&5 +echo "configure:3588: 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" @@ -3600,7 +3604,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3604: checking whether included gettext is requested" >&5 +echo "configure:3608: 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" @@ -3619,17 +3623,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3623: checking for libintl.h" >&5 +echo "configure:3627: 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:3633: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3637: \"$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* @@ -3646,19 +3650,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:3650: checking for gettext in libc" >&5 +echo "configure:3654: 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:3662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3666: \"$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 @@ -3674,7 +3678,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:3678: checking for bindtextdomain in -lintl" >&5 +echo "configure:3682: 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 @@ -3682,7 +3686,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:3701: \"$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 @@ -3709,19 +3713,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:3713: checking for gettext in libintl" >&5 +echo "configure:3717: 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:3729: \"$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 @@ -3749,7 +3753,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:3753: checking for $ac_word" >&5 +echo "configure:3757: 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 @@ -3783,12 +3787,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3787: checking for $ac_func" >&5 +echo "configure:3791: 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:3819: \"$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 @@ -3838,7 +3842,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:3842: checking for $ac_word" >&5 +echo "configure:3846: 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 @@ -3874,7 +3878,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:3878: checking for $ac_word" >&5 +echo "configure:3882: 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 @@ -3906,7 +3910,7 @@ else fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -3946,7 +3950,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:3950: checking for $ac_word" >&5 +echo "configure:3954: 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 @@ -3980,7 +3984,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:3984: checking for $ac_word" >&5 +echo "configure:3988: 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 @@ -4016,7 +4020,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:4020: checking for $ac_word" >&5 +echo "configure:4024: 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 @@ -4106,7 +4110,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4110: checking for catalogs to be installed" >&5 +echo "configure:4114: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4134,17 +4138,17 @@ echo "configure:4110: 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:4138: checking for linux/version.h" >&5 +echo "configure:4142: 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:4148: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4152: \"$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* @@ -4209,7 +4213,7 @@ fi echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:4213: checking for executable suffix" >&5 +echo "configure:4217: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4219,7 +4223,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:4223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:4227: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -4245,7 +4249,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:4249: checking for $ac_word" >&5 +echo "configure:4253: 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 @@ -4281,7 +4285,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:4285: checking for $ac_word" >&5 +echo "configure:4289: 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 @@ -4314,7 +4318,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:4318: checking for $ac_word" >&5 +echo "configure:4322: 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 @@ -4348,7 +4352,7 @@ then *) ac_lib=l ;; esac echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 -echo "configure:4352: checking for yywrap in -l$ac_lib" >&5 +echo "configure:4356: 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 @@ -4356,7 +4360,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:4375: \"$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 @@ -4390,7 +4394,7 @@ fi fi echo $ac_n "checking lex output file root""... $ac_c" 1>&6 -echo "configure:4394: checking lex output file root" >&5 +echo "configure:4398: 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 @@ -4411,7 +4415,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:4415: checking whether yytext is a pointer" >&5 +echo "configure:4419: 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 @@ -4423,14 +4427,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:4438: \"$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 @@ -4453,7 +4457,7 @@ fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:4457: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:4461: 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" @@ -4487,17 +4491,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:4491: checking for $ac_hdr" >&5 +echo "configure:4495: 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:4501: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4505: \"$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* @@ -4526,12 +4530,12 @@ done for ac_func in sbrk do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4530: checking for $ac_func" >&5 +echo "configure:4534: 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:4562: \"$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 @@ -4583,12 +4587,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:4587: checking for $ac_hdr that defines DIR" >&5 +echo "configure:4591: 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> @@ -4596,7 +4600,7 @@ int main() { DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:4600: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -4621,7 +4625,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:4625: checking for opendir in -ldir" >&5 +echo "configure:4629: 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 @@ -4629,7 +4633,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:4648: \"$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 @@ -4662,7 +4666,7 @@ fi else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:4666: checking for opendir in -lx" >&5 +echo "configure:4670: 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 @@ -4670,7 +4674,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:4689: \"$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 @@ -4705,12 +4709,12 @@ fi echo $ac_n "checking whether weak symbol works""... $ac_c" 1>&6 -echo "configure:4709: checking whether weak symbol works" >&5 +echo "configure:4713: 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:4727: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libiberty_cv_have_weak_symbol=no else @@ -4743,14 +4747,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:4747: checking for library containing dlopen" >&5 +echo "configure:4751: 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:4769: \"$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 @@ -4772,7 +4776,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:4791: \"$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 @@ -4815,12 +4819,12 @@ EOF esac echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6 -echo "configure:4819: checking whether strstr must be declared" >&5 +echo "configure:4823: 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 < @@ -4841,7 +4845,7 @@ int main() { char *(*pfn) = (char *(*)) strstr ; return 0; } EOF -if { (eval echo configure:4845: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4849: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_strstr=no else @@ -4862,12 +4866,12 @@ EOF fi echo $ac_n "checking whether free must be declared""... $ac_c" 1>&6 -echo "configure:4866: checking whether free must be declared" >&5 +echo "configure:4870: 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 < @@ -4888,7 +4892,7 @@ int main() { char *(*pfn) = (char *(*)) free ; return 0; } EOF -if { (eval echo configure:4892: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4896: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_free=no else @@ -4909,12 +4913,12 @@ EOF fi echo $ac_n "checking whether sbrk must be declared""... $ac_c" 1>&6 -echo "configure:4913: checking whether sbrk must be declared" >&5 +echo "configure:4917: 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 < @@ -4935,7 +4939,7 @@ int main() { char *(*pfn) = (char *(*)) sbrk ; return 0; } EOF -if { (eval echo configure:4939: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4943: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_sbrk=no else @@ -4956,12 +4960,12 @@ EOF fi echo $ac_n "checking whether getenv must be declared""... $ac_c" 1>&6 -echo "configure:4960: checking whether getenv must be declared" >&5 +echo "configure:4964: 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 < @@ -4982,7 +4986,7 @@ int main() { char *(*pfn) = (char *(*)) getenv ; return 0; } EOF -if { (eval echo configure:4986: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4990: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_getenv=no else @@ -5003,12 +5007,12 @@ EOF fi echo $ac_n "checking whether environ must be declared""... $ac_c" 1>&6 -echo "configure:5007: checking whether environ must be declared" >&5 +echo "configure:5011: 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 < @@ -5029,7 +5033,7 @@ int main() { char *(*pfn) = (char *(*)) environ ; return 0; } EOF -if { (eval echo configure:5033: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5037: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_environ=no else @@ -5057,19 +5061,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:5061: checking whether ANSI C string concatenation works" >&5 +echo "configure:5065: 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:5077: \"$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.8/ld/configure.host binutils-2.11.90.0.15/ld/configure.host --- binutils-2.11.90.0.8/ld/configure.host Fri Feb 23 21:11:07 2001 +++ binutils-2.11.90.0.15/ld/configure.host Sat Jun 9 00:13:01 2001 @@ -81,7 +81,7 @@ i[3456]86-*-sco* | i[3456]86-*-isc*) HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` /lib/crtn.o' ;; -i[3456]86-*-linux*aout* | i[3456]86-*-linuxoldld) +i[3456]86-*-linux*aout* | i[3456]86-*-linux*oldld) HOSTING_CRT0=/usr/lib/crt0.o ;; @@ -189,12 +189,12 @@ powerpc*-*-linux-gnu*) HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` /usr/lib/crtn.o' ;; -s390x-*-linux) - HOSTING_CRT0='-dynamic-linker /lib/ld.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ -f /usr/lib/crtbegin.o ]; then echo /usr/lib/crtbegin.o; else gcc --print-file-name=crtbegin.o; fi`' +s390x-*-linux-gnu*) + HOSTING_CRT0='-dynamic-linker /lib/ld64.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ -f /usr/lib/crtbegin.o ]; then echo /usr/lib/crtbegin.o; else gcc --print-file-name=crtbegin.o; fi`' HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; elif [ -f /usr/lib/crtend.o ]; then echo /usr/lib/crtend.o; else gcc --print-file-name=crtend.o; fi` /usr/lib/crtn.o' ;; -s390-*-linux) +s390-*-linux-gnu*) HOSTING_CRT0='-dynamic-linker /lib/ld.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ -f /usr/lib/crtbegin.o ]; then echo /usr/lib/crtbegin.o; else gcc --print-file-name=crtbegin.o; fi`' HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; elif [ -f /usr/lib/crtend.o ]; then echo /usr/lib/crtend.o; else gcc --print-file-name=crtend.o; fi` /usr/lib/crtn.o' ;; diff -uprN binutils-2.11.90.0.8/ld/configure.tgt binutils-2.11.90.0.15/ld/configure.tgt --- binutils-2.11.90.0.8/ld/configure.tgt Wed May 2 15:25:17 2001 +++ binutils-2.11.90.0.15/ld/configure.tgt Fri Jun 1 21:47:28 2001 @@ -114,7 +114,6 @@ m68*-ericsson-ose) targ_emul=sun3 ;; m68*-apple-aux*) targ_emul=m68kaux ;; *-tandem-none) targ_emul=st2000 ;; i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;; -i370-*-mvs*) targ_emul=mvs ;; i[3456]86-*-vsta) targ_emul=vsta ;; i[3456]86-go32-rtems*) targ_emul=i386go32 ;; i[3456]86-*-go32) targ_emul=i386go32 ;; @@ -134,7 +133,7 @@ i[3456]86-*-linux*aout*) targ_emul=i386l targ_extra_emuls=elf_i386 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` ;; -i[3456]86-*-linuxoldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; +i[3456]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; i[3456]86-*-linux-gnu*) targ_emul=elf_i386 targ_extra_emuls=i386linux tdir_i386linux=${targ_alias}aout @@ -144,9 +143,13 @@ x86_64-*-linux-gnu*) targ_emul=elf_x86_6 tdir_i386linux=${targ_alias}aout ;; i[3456]86-*-sysv[45]*) targ_emul=elf_i386 ;; -i[3456]86-*-solaris2*) targ_emul=elf_i386 ;; +i[3456]86-*-solaris2*) targ_emul=elf_i386_ldso + targ_extra_emuls="elf_i386" + ;; i[3456]86-*-unixware) targ_emul=elf_i386 ;; -i[3456]86-*-solaris*) targ_emul=elf_i386 ;; +i[3456]86-*-solaris*) targ_emul=elf_i386_ldso + targ_extra_emuls="elf_i386" + ;; i[3456]86-*-netbsd*) targ_emul=i386nbsd ;; i[3456]86-*-netware) targ_emul=i386nw ;; i[3456]86-*-elf*) targ_emul=elf_i386 ;; @@ -328,8 +331,12 @@ powerpc-*-macos*) targ_emul=ppcmacos ;; powerpc-*-netware*) targ_emul=ppcnw ;; powerpcle-*-pe) targ_emul=ppcpe ;; powerpcle-*-winnt*) targ_emul=ppcpe ;; -powerpcle-*-cygwin*) targ_emul=ppcpe ;; -powerpc-*-aix*) targ_emul=aixppc ;; +powerpcle-*-cygwin*) targ_emul=ppcpe ;; + +powerpc-*-aix*) targ_emul=aixppc + targ_extra_emuls="aixppc64" + tdir_aixppc64=${targ_alias} + ;; powerpc-*-beos*) targ_emul=aixppc ;; rs6000-*-aix*) targ_emul=aixrs6 ;; tic30-*-*aout*) targ_emul=tic30aout ;; diff -uprN binutils-2.11.90.0.8/ld/emulparams/aixppc.sh binutils-2.11.90.0.15/ld/emulparams/aixppc.sh --- binutils-2.11.90.0.8/ld/emulparams/aixppc.sh Thu Jun 3 11:02:10 1999 +++ binutils-2.11.90.0.15/ld/emulparams/aixppc.sh Thu May 24 21:25:47 2001 @@ -2,3 +2,5 @@ TEMPLATE_NAME=aix SCRIPT_NAME=aix OUTPUT_FORMAT="aixcoff-rs6000" ARCH=powerpc +SYSCALL_MASK=0x77 +SYMBOL_MODE_MASK=0x0d diff -uprN binutils-2.11.90.0.8/ld/emulparams/aixppc64.sh binutils-2.11.90.0.15/ld/emulparams/aixppc64.sh --- binutils-2.11.90.0.8/ld/emulparams/aixppc64.sh Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/ld/emulparams/aixppc64.sh Thu May 24 21:25:52 2001 @@ -0,0 +1,14 @@ +TEMPLATE_NAME=aix +SCRIPT_NAME=aix +OUTPUT_FORMAT="aixcoff64-rs6000" +ARCH=powerpc +SYSCALL_MASK=0xcc +SYMBOL_MODE_MASK=0x0e +# +# This script is called by genscripts.sh. genscripts does not produce the +# the correct lib search path for the aixppc64 because the default emulation +# is aixppc. Aix libs can have 32 bit and 64 bit objects in them so it is +# ok for both the aixppc and aixppc64 linkers to look at the same place. +# $libdir is defined in genscripts.sh before aixppc64.sh is sourced in +# so it will be valid. +LIB_PATH="/lib:/usr/lib:$libdir:/usr/local/lib" diff -uprN binutils-2.11.90.0.8/ld/emulparams/aixrs6.sh binutils-2.11.90.0.15/ld/emulparams/aixrs6.sh --- binutils-2.11.90.0.8/ld/emulparams/aixrs6.sh Thu Jun 3 11:02:10 1999 +++ binutils-2.11.90.0.15/ld/emulparams/aixrs6.sh Fri May 25 14:29:30 2001 @@ -2,3 +2,5 @@ TEMPLATE_NAME=aix SCRIPT_NAME=aix OUTPUT_FORMAT="aixcoff-rs6000" ARCH=rs6000 +SYSCALL_MASK=0x77 +SYMBOL_MODE_MASK=0x0d diff -uprN binutils-2.11.90.0.8/ld/emulparams/elf64_aix.sh binutils-2.11.90.0.15/ld/emulparams/elf64_aix.sh --- binutils-2.11.90.0.8/ld/emulparams/elf64_aix.sh Sat May 12 00:08:13 2001 +++ binutils-2.11.90.0.15/ld/emulparams/elf64_aix.sh Fri May 25 12:07:48 2001 @@ -5,12 +5,11 @@ TEMPLATE_NAME=elf32 OUTPUT_FORMAT="elf64-ia64-aix-little" ARCH=ia64 MACHINE= -MAXPAGESIZE=0x1000 -TEXT_START_ADDR="0x100000000" -DATA_ADDR="0x200000000 + (. & (${MAXPAGESIZE} - 1))" +MAXPAGESIZE=0x10000 +TEXT_START_ADDR="0x10000000" +DATA_ADDR="0x20000000 + (. & (${MAXPAGESIZE} - 1))" GENERATE_SHLIB_SCRIPT=yes NOP=0x00300000010070000002000001000400 # a bundle full of nops -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*) *(.gnu.linkonce.ia64unwi.*) } .IA_64.unwind : { *(.IA_64.unwind*) *(.gnu.linkonce.ia64unw.*) }' diff -uprN binutils-2.11.90.0.8/ld/emulparams/elf_i386_ldso.sh binutils-2.11.90.0.15/ld/emulparams/elf_i386_ldso.sh --- binutils-2.11.90.0.8/ld/emulparams/elf_i386_ldso.sh Wed Dec 31 16:00:00 1969 +++ binutils-2.11.90.0.15/ld/emulparams/elf_i386_ldso.sh Wed May 23 10:57:02 2001 @@ -0,0 +1,11 @@ +SCRIPT_NAME=elf +OUTPUT_FORMAT="elf32-i386" +TEXT_START_ADDR=0x08048000 +MAXPAGESIZE=0x1000 +NONPAGED_TEXT_START_ADDR=0x08048000 +ARCH=i386 +MACHINE= +NOP=0x9090 +TEMPLATE_NAME=elf32 +GENERATE_SHLIB_SCRIPT=yes +ELF_INTERPRETER_NAME=\"/usr/lib/ld.so.1\" diff -uprN binutils-2.11.90.0.8/ld/emulparams/elf_x86_64.sh binutils-2.11.90.0.15/ld/emulparams/elf_x86_64.sh --- binutils-2.11.90.0.8/ld/emulparams/elf_x86_64.sh Wed May 2 14:53:19 2001 +++ binutils-2.11.90.0.15/ld/emulparams/elf_x86_64.sh Sat Jun 9 00:13:01 2001 @@ -1,9 +1,9 @@ SCRIPT_NAME=elf ELFSIZE=64 OUTPUT_FORMAT="elf64-x86-64" -TEXT_START_ADDR=0x1000 +TEXT_START_ADDR=0x400000 MAXPAGESIZE=0x100000 -NONPAGED_TEXT_START_ADDR=0x1000 +NONPAGED_TEXT_START_ADDR=0x400000 ARCH=i386 MACHINE= NOP=0x9090 diff -uprN binutils-2.11.90.0.8/ld/emulparams/ppcmacos.sh binutils-2.11.90.0.15/ld/emulparams/ppcmacos.sh --- binutils-2.11.90.0.8/ld/emulparams/ppcmacos.sh Thu Jun 3 11:02:10 1999 +++ binutils-2.11.90.0.15/ld/emulparams/ppcmacos.sh Fri May 25 15:57:57 2001 @@ -2,3 +2,5 @@ TEMPLATE_NAME=aix SCRIPT_NAME=aix OUTPUT_FORMAT="xcoff-powermac" ARCH=powerpc +SYSCALL_MASK=0x77 +SYMBOL_MODE_MASK=0x0d diff -uprN binutils-2.11.90.0.8/ld/emultempl/aix.em binutils-2.11.90.0.15/ld/emultempl/aix.em --- binutils-2.11.90.0.8/ld/emultempl/aix.em Wed May 2 14:53:21 2001 +++ binutils-2.11.90.0.15/ld/emultempl/aix.em Sat Jun 9 00:13:01 2001 @@ -1,13 +1,19 @@ # This shell script emits a C file. -*- C -*- # It does some substitutions. +if [ -z "$MACHINE" ]; then + OUTPUT_ARCH=${ARCH} +else + OUTPUT_ARCH=${ARCH}:${MACHINE} +fi cat >e${EMULATION_NAME}.c < AIX support by Ian Lance Taylor + AIX 64 bit support by Tom Rix This file is part of GLD, the Gnu Linker. @@ -38,14 +44,17 @@ Foundation, Inc., 59 Temple Place - Suit #include "ld.h" #include "ldmain.h" +#include "ldemul.h" +#include "ldfile.h" #include "ldmisc.h" #include "ldexp.h" #include "ldlang.h" -#include "ldfile.h" -#include "ldemul.h" #include "ldctor.h" #include "ldgram.h" +#include "coff/internal.h" +#include "coff/xcoff.h" + static void gld${EMULATION_NAME}_before_parse PARAMS ((void)); static int gld${EMULATION_NAME}_parse_args PARAMS ((int, char **)); static void gld${EMULATION_NAME}_after_open PARAMS ((void)); @@ -102,15 +111,35 @@ struct export_symbol_list static struct export_symbol_list *export_symbols; +/* Maintains the 32 or 64 bit mode state of import file */ +static unsigned int symbol_mode = 0x04; + /* This routine is called before anything else is done. */ static void gld${EMULATION_NAME}_before_parse() { #ifndef TARGET_ /* I.e., if not generic. */ - ldfile_output_architecture = bfd_arch_${ARCH}; + const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}"); + if (arch) + { + ldfile_output_architecture = arch->arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_${ARCH}; #endif /* not TARGET_ */ config.has_shared = true; + + /* + * The link_info.[init|fini]_functions are initialized in ld/lexsup.c. + * Override them here so we can use the link_info.init_function as a + * state flag that lets the backend know that -binitfini has been done. + */ + link_info.init_function = NULL; + link_info.fini_function = NULL; + } /* Handle AIX specific options. */ @@ -125,27 +154,81 @@ gld${EMULATION_NAME}_parse_args (argc, a int indx; int longind; int optc; - long val; + bfd_signed_vma val; char *end; -#define OPTION_IGNORE (300) -#define OPTION_AUTOIMP (OPTION_IGNORE + 1) -#define OPTION_ERNOTOK (OPTION_AUTOIMP + 1) -#define OPTION_EROK (OPTION_ERNOTOK + 1) -#define OPTION_EXPORT (OPTION_EROK + 1) -#define OPTION_IMPORT (OPTION_EXPORT + 1) -#define OPTION_LOADMAP (OPTION_IMPORT + 1) -#define OPTION_MAXDATA (OPTION_LOADMAP + 1) -#define OPTION_MAXSTACK (OPTION_MAXDATA + 1) -#define OPTION_MODTYPE (OPTION_MAXSTACK + 1) -#define OPTION_NOAUTOIMP (OPTION_MODTYPE + 1) -#define OPTION_NOSTRCMPCT (OPTION_NOAUTOIMP + 1) -#define OPTION_PD (OPTION_NOSTRCMPCT + 1) -#define OPTION_PT (OPTION_PD + 1) -#define OPTION_STRCMPCT (OPTION_PT + 1) -#define OPTION_UNIX (OPTION_STRCMPCT + 1) + enum { + OPTION_IGNORE = 300, + OPTION_AUTOIMP, + OPTION_ERNOTOK, + OPTION_EROK, + OPTION_EXPORT, + OPTION_IMPORT, + OPTION_INITFINI, + OPTION_LOADMAP, + OPTION_MAXDATA, + OPTION_MAXSTACK, + OPTION_MODTYPE, + OPTION_NOAUTOIMP, + OPTION_NOSTRCMPCT, + OPTION_PD, + OPTION_PT, + OPTION_STRCMPCT, + OPTION_UNIX + }; + + /* + b64 is an empty option. The native linker uses -b64 for xcoff64 support + Our linker uses -m aixppc64 for xcoff64 support. The choice for the + correct emulation is done in collect2.c via the environmental varible + LDEMULATION. + + binitfini has special handling in the linker backend. The native linker + uses the arguemnts to generate a table of init and fini functions for + the executable. The important use for this option is to support aix 4.2+ + c++ constructors and destructors. This is tied into gcc via collect2.c. + The function table is accessed by the runtime linker/loader by checking if + the first symbol in the loader symbol table is "__rtinit". The native + linker generates this table and the loader symbol. The gnu linker looks + for the symbol "__rtinit" and makes it the first loader symbol. It is the + responsiblity of the user to define the __rtinit symbol. The format for + __rtinit is given by the aix system file /usr/include/rtinit.h. You can + look at collect2.c to see an example of how this is done for 32 and 64 bit. + Below is an exmaple of a 32 bit assembly file that defines __rtinit. + + .file "my_rtinit.s" + + .csect .data[RW],3 + .globl __rtinit + .extern init_function + .extern fini_function + + __rtinit: + .long 0 + .long f1i - __rtinit + .long f1f - __rtinit + .long f2i - f1i + .align 3 + f1i: .long init_function + .long s1i - __rtinit + .long 0 + f2i: .long 0 + .long 0 + .long 0 + f1f: .long fini_function + .long s1f - __rtinit + .long 0 + f2f: .long 0 + .long 0 + .long 0 + .align 3 + s1i: .string "init_function" + .align 3 + s1f: .string "fini_function" - static struct option longopts[] = { + */ + + static const struct option longopts[] = { {"basis", no_argument, NULL, OPTION_IGNORE}, {"bautoimp", no_argument, NULL, OPTION_AUTOIMP}, {"bcomprld", no_argument, NULL, OPTION_IGNORE}, @@ -163,6 +246,7 @@ gld${EMULATION_NAME}_parse_args (argc, a {"bhalt", required_argument, NULL, OPTION_IGNORE}, {"bI", required_argument, NULL, OPTION_IMPORT}, {"bimport", required_argument, NULL, OPTION_IMPORT}, + {"binitfini", required_argument, NULL, OPTION_INITFINI}, {"bl", required_argument, NULL, OPTION_LOADMAP}, {"bloadmap", required_argument, NULL, OPTION_LOADMAP}, {"bmaxdata", required_argument, NULL, OPTION_MAXDATA}, @@ -184,6 +268,7 @@ gld${EMULATION_NAME}_parse_args (argc, a {"bso", no_argument, NULL, OPTION_AUTOIMP}, {"bstrcmpct", no_argument, NULL, OPTION_STRCMPCT}, {"btextro", no_argument, &textro, 1}, + {"b64", no_argument, NULL, 0}, {"static", no_argument, NULL, OPTION_NOAUTOIMP}, {"unix", no_argument, NULL, OPTION_UNIX}, {NULL, no_argument, NULL, 0} @@ -202,21 +287,21 @@ gld${EMULATION_NAME}_parse_args (argc, a The AIX linker uses : to separate the option from the argument; changing it to = lets us treat it as a getopt option. */ indx = optind; - if (indx == 0) + if (indx == 0) { indx = 1; - if (indx < argc && strncmp (argv[indx], "-b", 2) == 0) - { - char *s; + } - for (s = argv[indx]; *s != '\0'; s++) - { - if (*s == ':') - { - *s = '='; - break; - } - } + if (indx < argc && strncmp (argv[indx], "-b", 2) == 0) { + char *s; + + for (s = argv[indx]; *s != '\0'; s++) { + if (*s == ':') { + *s = '='; + break; + } } + } + /* We add s and u so to the short options list so that -s and -u on the command line do not match -static and -unix. */ @@ -238,7 +323,7 @@ gld${EMULATION_NAME}_parse_args (argc, a break; case 'D': - val = strtol (optarg, &end, 0); + val = strtoll (optarg, &end, 0); if (*end != '\0') einfo ("%P: warning: ignoring invalid -D number %s\n", optarg); else if (val != -1) @@ -265,7 +350,7 @@ gld${EMULATION_NAME}_parse_args (argc, a number, we assume the AIX option is intended. Otherwise, we assume the usual GNU ld -T option is intended. We can't just ignore the AIX option, because gcc passes it to the linker. */ - val = strtoul (optarg, &end, 0); + val = strtoull (optarg, &end, 0); if (*end != '\0') { optind = prevoptind; @@ -277,6 +362,41 @@ gld${EMULATION_NAME}_parse_args (argc, a case OPTION_IGNORE: break; + case OPTION_INITFINI: { + /* + * The aix linker init fini has the format : + * + * -binitfini:[ Initial][:Termination][:Priority] + * + * it allows the Termination and Priority to be optional. + * + * Since we support only one init/fini pair, we ignore the Priority. + * + * Define the special symbol __rtinit. + * + * strtok does not correctly handle the case of -binitfini::fini: so + * do it by hand + */ + char *t, *i, *f; + + i = t = optarg; + while (*t && ':' != *t) t++; + if (*t) *t++ = 0; + + if (0 != strlen(i)) { + link_info.init_function = i; + } + + f = t; + while (*t && ':' != *t) t++; + *t = 0; + + if (0 != strlen(f)) { + link_info.fini_function = f; + } + } + break; + case OPTION_AUTOIMP: link_info.static_link = false; break; @@ -313,7 +433,7 @@ gld${EMULATION_NAME}_parse_args (argc, a break; case OPTION_MAXDATA: - val = strtoul (optarg, &end, 0); + val = strtoull (optarg, &end, 0); if (*end != '\0') einfo ("%P: warning: ignoring invalid -bmaxdata number %s\n", optarg); @@ -322,7 +442,7 @@ gld${EMULATION_NAME}_parse_args (argc, a break; case OPTION_MAXSTACK: - val = strtoul (optarg, &end, 0); + val = strtoull (optarg, &end, 0); if (*end != '\0') einfo ("%P: warning: ignoring invalid -bmaxstack number %s\n", optarg); @@ -355,7 +475,7 @@ gld${EMULATION_NAME}_parse_args (argc, a start on. The offset within the page should still be the offset within the file, so we need to build an appropriate expression. */ - val = strtoul (optarg, &end, 0); + val = strtoull (optarg, &end, 0); if (*end != '\0') einfo ("%P: warning: ignoring invalid -pD number %s\n", optarg); else @@ -378,7 +498,7 @@ gld${EMULATION_NAME}_parse_args (argc, a /* This set the page that the .text section is supposed to start on. The offset within the page should still be the offset within the file. */ - val = strtoul (optarg, &end, 0); + val = strtoull (optarg, &end, 0); if (*end != '\0') einfo ("%P: warning: ignoring invalid -pT number %s\n", optarg); else @@ -499,22 +619,21 @@ gld${EMULATION_NAME}_before_allocation ( struct filelist *fl; struct export_symbol_list *el; char *libpath; - asection *special_sections[6]; + asection *special_sections[XCOFF_NUMBER_OF_SPECIAL_SECTIONS]; int i; /* Handle the import and export files, if any. */ for (fl = import_files; fl != NULL; fl = fl->next) gld${EMULATION_NAME}_read_file (fl->name, true); - for (el = export_symbols; el != NULL; el = el->next) - { - struct bfd_link_hash_entry *h; - - h = bfd_link_hash_lookup (link_info.hash, el->name, false, false, false); - if (h == NULL) - einfo ("%P%F: bfd_link_hash_lookup of export symbol failed: %E\n"); - if (! bfd_xcoff_export_symbol (output_bfd, &link_info, h, el->syscall)) - einfo ("%P%F: bfd_xcoff_export_symbol failed: %E\n"); - } + for (el = export_symbols; el != NULL; el = el->next) { + struct bfd_link_hash_entry *h; + + h = bfd_link_hash_lookup (link_info.hash, el->name, false, false, false); + if (h == NULL) + einfo ("%P%F: bfd_link_hash_lookup of export symbol failed: %E\n"); + if (! bfd_xcoff_export_symbol (output_bfd, &link_info, h, el->syscall)) + einfo ("%P%F: bfd_xcoff_export_symbol failed: %E\n"); + } /* Track down all relocations called for by the linker script (these are typically constructor/destructor entries created by @@ -562,109 +681,186 @@ gld${EMULATION_NAME}_before_allocation ( /* Look through the special sections, and put them in the right place in the link ordering. This is especially magic. */ - for (i = 0; i < 6; i++) - { - asection *sec; - lang_output_section_statement_type *os; - lang_statement_union_type **pls; - lang_input_section_type *is; - const char *oname; - boolean start; + for (i = 0; i < XCOFF_NUMBER_OF_SPECIAL_SECTIONS; i++) { + asection *sec; + lang_output_section_statement_type *os; + lang_statement_union_type **pls; + lang_input_section_type *is; + const char *oname; + boolean start; + + sec = special_sections[i]; + if (sec == NULL) + continue; + + /* Remove this section from the list of the output section. + This assumes we know what the script looks like. */ + is = NULL; + os = lang_output_section_find (sec->output_section->name); + if (os == NULL) { + einfo ("%P%F: can't find output section %s\n", + sec->output_section->name); + } - sec = special_sections[i]; - if (sec == NULL) - continue; + for (pls = &os->children.head; *pls != NULL; pls = &(*pls)->next) { - /* Remove this section from the list of the output section. - This assumes we know what the script looks like. */ - is = NULL; - os = lang_output_section_find (sec->output_section->name); - if (os == NULL) - einfo ("%P%F: can't find output section %s\n", - sec->output_section->name); - for (pls = &os->children.head; *pls != NULL; pls = &(*pls)->next) - { - if ((*pls)->header.type == lang_input_section_enum - && (*pls)->input_section.section == sec) - { - is = (lang_input_section_type *) *pls; - *pls = (*pls)->next; + if ((*pls)->header.type == lang_input_section_enum && + (*pls)->input_section.section == sec) { + is = (lang_input_section_type *) *pls; + *pls = (*pls)->next; + break; + } + + if ((*pls)->header.type == lang_wild_statement_enum) { + lang_statement_union_type **pwls; + + for (pwls = &(*pls)->wild_statement.children.head; + *pwls != NULL; + pwls = &(*pwls)->next) { + + if ((*pwls)->header.type == lang_input_section_enum && + (*pwls)->input_section.section == sec) { + + is = (lang_input_section_type *) *pwls; + *pwls = (*pwls)->next; break; - } - if ((*pls)->header.type == lang_wild_statement_enum) - { - lang_statement_union_type **pwls; + } + } + + if (is != NULL) + break; + } + } - for (pwls = &(*pls)->wild_statement.children.head; - *pwls != NULL; - pwls = &(*pwls)->next) - { - if ((*pwls)->header.type == lang_input_section_enum - && (*pwls)->input_section.section == sec) - { - is = (lang_input_section_type *) *pwls; - *pwls = (*pwls)->next; - break; - } - } - if (is != NULL) - break; - } - } + if (is == NULL) { + einfo ("%P%F: can't find %s in output section\n", + bfd_get_section_name (sec->owner, sec)); + } + + /* Now figure out where the section should go. */ + switch (i) { + + default: /* to avoid warnings */ + case XCOFF_SPECIAL_SECTION_TEXT: + /* _text */ + oname = ".text"; + start = true; + break; + + case XCOFF_SPECIAL_SECTION_ETEXT: + /* _etext */ + oname = ".text"; + start = false; + break; + + case XCOFF_SPECIAL_SECTION_DATA: + /* _data */ + oname = ".data"; + start = true; + break; + + case XCOFF_SPECIAL_SECTION_EDATA: + /* _edata */ + oname = ".data"; + start = false; + break; + + case XCOFF_SPECIAL_SECTION_END: + case XCOFF_SPECIAL_SECTION_END2: + /* _end and end */ + oname = ".bss"; + start = false; + break; + } - if (is == NULL) - einfo ("%P%F: can't find %s in output section\n", - bfd_get_section_name (sec->owner, sec)); + os = lang_output_section_find (oname); - /* Now figure out where the section should go. */ - switch (i) - { - default: /* to avoid warnings */ - case 0: - /* _text */ - oname = ".text"; - start = true; - break; - case 1: - /* _etext */ - oname = ".text"; - start = false; - break; - case 2: - /* _data */ - oname = ".data"; - start = true; - break; - case 3: - /* _edata */ - oname = ".data"; - start = false; - break; - case 4: - case 5: - /* _end and end */ - oname = ".bss"; - start = false; - break; - } + if (start) { + is->header.next = os->children.head; + os->children.head = (lang_statement_union_type *) is; + } else { + is->header.next = NULL; + lang_statement_append (&os->children, + (lang_statement_union_type *) is, + &is->header.next); + } + } +} - os = lang_output_section_find (oname); +static int change_symbol_mode (char *input) +{ + /* + * 1 : state changed + * 0 : no change + */ + + char *symbol_mode_string[] = { + "# 32", /* 0x01 */ + "# 64", /* 0x02 */ + "# no32", /* 0x04 */ + "# no64", /* 0x08 */ + NULL, + }; + unsigned int bit; + char *string; - if (start) - { - is->header.next = os->children.head; - os->children.head = (lang_statement_union_type *) is; - } - else - { - is->header.next = NULL; - lang_statement_append (&os->children, - (lang_statement_union_type *) is, - &is->header.next); - } + for (bit = 0; ; bit++) { + string = symbol_mode_string[bit]; + if (NULL == string) + return 0; + + if (0 == strcmp(input, string)) { + symbol_mode = (1 << bit); + return 1; + } + } + /* should not be here */ + return 0; +} + + +static int is_syscall(char *input) +{ + /* + * 1 : yes + * 0 : ignore + * -1 : error, try something else + */ + unsigned int bit; + char *string; + + char *syscall_string[] = { + "svc", /* 0x01 */ + "svc32", /* 0x02 */ + "svc3264", /* 0x04 */ + "svc64", /* 0x08 */ + "syscall", /* 0x10 */ + "syscall32", /* 0x20 */ + "syscall3264", /* 0x40 */ + "syscall64", /* 0x80 */ + NULL + }; + + for (bit = 0; ;bit++) { + + string = syscall_string[bit]; + if (NULL == string) { + return -1; } + + if (0 == strcmp(input, string)) { + if (1 << bit & ${SYSCALL_MASK}) { + return 1; + } else { + return 0; + } + } + } + /* should not be here */ + return -1; } + /* Read an import or export file. For an import file, this is called by the before_allocation emulation routine. For an export file, this is called by the parse_args emulation routine. */ @@ -700,6 +896,15 @@ gld${EMULATION_NAME}_read_file (filename impmember = NULL; lineno = 0; + + /* + * default to 32 and 64 bit mode + * symbols at top of /lib/syscalls.exp do not have a mode modifier and they + * are not repeated, assume 64 bit routines also want to use them. + * See the routine change_symbol_mode for more information. + */ + symbol_mode = 0x04; + while ((c = getc (f)) != EOF) { char *s; @@ -720,10 +925,11 @@ gld${EMULATION_NAME}_read_file (filename s = (char *) obstack_base (o); while (isspace ((unsigned char) *s)) ++s; - if (*s == '\0' - || *s == '*' - || (*s == '#' && s[1] == ' ') - || (! import && *s == '#' && s[1] == '!')) + if (*s == '\0' || + *s == '*' || + change_symbol_mode (s) || + (*s == '#' && s[1] == ' ') || + (! import && *s == '#' && s[1] == '!')) { obstack_free (o, obstack_base (o)); continue; @@ -802,100 +1008,111 @@ gld${EMULATION_NAME}_read_file (filename continue; } - /* This is a symbol to be imported or exported. */ - symname = s; - syscall = false; - address = (bfd_vma) -1; - - while (! isspace ((unsigned char) *s) && *s != '\0') - ++s; - if (*s != '\0') - { - char *se; - - *s++ = '\0'; + if (symbol_mode & ${SYMBOL_MODE_MASK}) { - while (isspace ((unsigned char) *s)) - ++s; + /* This is a symbol to be imported or exported. */ + symname = s; + syscall = false; + address = (bfd_vma) -1; + + while (! isspace ((unsigned char) *s) && *s != '\0') + ++s; + if (*s != '\0') + { + char *se; + + *s++ = '\0'; + + while (isspace ((unsigned char) *s)) + ++s; + + se = s; + while (! isspace ((unsigned char) *se) && *se != '\0') + ++se; + if (*se != '\0') + { + *se++ = '\0'; + while (isspace ((unsigned char) *se)) + ++se; + if (*se != '\0') + einfo ("%s%d: warning: syntax error in import/export file\n", + filename, lineno); + } - se = s; - while (! isspace ((unsigned char) *se) && *se != '\0') - ++se; - if (*se != '\0') - { - *se++ = '\0'; - while (isspace ((unsigned char) *se)) - ++se; - if (*se != '\0') - einfo ("%s%d: warning: syntax error in import/export file\n", - filename, lineno); - } - - if (s == se) - { - /* There was no address after all. */ - } - else if (strcasecmp (s, "svc") == 0 - || strcasecmp (s, "syscall") == 0) - syscall = true; - else - { + if (s != se) { + int status; char *end; - - address = strtoul (s, &end, 0); - if (*end != '\0') - einfo ("%s:%d: warning: syntax error in import/export file\n", - filename, lineno); - } - } - - if (! import) - { - struct export_symbol_list *n; - - ldlang_add_undef (symname); - n = ((struct export_symbol_list *) - xmalloc (sizeof (struct export_symbol_list))); - n->next = export_symbols; - n->name = xstrdup (symname); - n->syscall = syscall; - export_symbols = n; - } - else - { - h = bfd_link_hash_lookup (link_info.hash, symname, false, false, - true); - if (h == NULL || h->type == bfd_link_hash_new) - { - /* We can just ignore attempts to import an unreferenced - symbol. */ - } - else - { - if (! bfd_xcoff_import_symbol (output_bfd, &link_info, h, - address, imppath, impfile, - impmember)) - einfo ("%X%s:%d: failed to import symbol %s: %E\n", - filename, lineno, symname); + + status = is_syscall(s); + + switch (status) { + case 1: + /* this is a system call */ + syscall = true; + break; + + case 0: + /* ignore this system call */ + break; + + default: + /* not a system call, check for address */ + address = strtoul (s, &end, 0); + if (*end != '\0') { + einfo ("%s:%d: warning: syntax error in import/export file\n", filename, lineno); + + } + } } - } + } + if (! import) + { + struct export_symbol_list *n; + + ldlang_add_undef (symname); + n = ((struct export_symbol_list *) + xmalloc (sizeof (struct export_symbol_list))); + n->next = export_symbols; + n->name = xstrdup (symname); + n->syscall = syscall; + export_symbols = n; + } + else + { + h = bfd_link_hash_lookup (link_info.hash, symname, false, false, + true); + if (h == NULL || h->type == bfd_link_hash_new) + { + /* We can just ignore attempts to import an unreferenced + symbol. */ + } + else + { + if (! bfd_xcoff_import_symbol (output_bfd, &link_info, h, + address, imppath, impfile, + impmember)) + einfo ("%X%s:%d: failed to import symbol %s: %E\n", + filename, lineno, symname); + } + } + } obstack_free (o, obstack_base (o)); } - + if (obstack_object_size (o) > 0) { - einfo ("%s:%d: warning: ignoring unterminated last line\n", - filename, lineno); - obstack_free (o, obstack_base (o)); - } + einfo ("%s:%d: warning: ignoring unterminated last line\n", + filename, lineno); + obstack_free (o, obstack_base (o)); + } - if (! keep) - { - obstack_free (o, NULL); - free (o); + if (! keep) + { + obstack_free (o, NULL); + free (o); + } } -} /* This routine saves us from worrying about declaring free. */ @@ -986,7 +1203,7 @@ then # Scripts compiled in. # sed commands to quote an ld script as a C string. -sc="-f stringify.sed" +sc="-f ${srcdir}/emultempl/ostring.sed" cat >>e${EMULATION_NAME}.c <e${EMULATION_NAME}.c <arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_${ARCH}; output_filename = "a.exe"; - ldfile_output_architecture = bfd_arch_${ARCH}; } /* PE format extra command line options. */ diff -uprN binutils-2.11.90.0.8/ld/emultempl/elf32.em binutils-2.11.90.0.15/ld/emultempl/elf32.em --- binutils-2.11.90.0.8/ld/emultempl/elf32.em Wed May 2 23:45:40 2001 +++ binutils-2.11.90.0.15/ld/emultempl/elf32.em Thu May 24 23:17:14 2001 @@ -3,6 +3,11 @@ # This file is now misnamed, because it supports both 32 bit and 64 bit # ELF emulations. test -z "${ELFSIZE}" && ELFSIZE=32 +if [ -z "$MACHINE" ]; then + OUTPUT_ARCH=${ARCH} +else + OUTPUT_ARCH=${ARCH}:${MACHINE} +fi cat >e${EMULATION_NAME}.c <>e${EMULATION_NAME}.c <arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`; config.dynamic_link = ${DYNAMIC_LINK-true}; config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo true ; else echo false ; fi`; } @@ -804,6 +817,18 @@ gld${EMULATION_NAME}_find_statement_assi EOF if test x"$LDEMUL_BEFORE_ALLOCATION" != xgld"$EMULATION_NAME"_before_allocation; then + if test x"${ELF_INTERPRETER_NAME+set}" = xset; then + ELF_INTERPRETER_SET_DEFAULT=" + if (sinterp != NULL) + { + sinterp->contents = ${ELF_INTERPRETER_NAME}; + sinterp->_raw_size = strlen (sinterp->contents) + 1; + } + +" + else + ELF_INTERPRETER_SET_DEFAULT= + fi cat >>e${EMULATION_NAME}.c <e${EMULATION_NAME}.c <arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_${ARCH}; config.dynamic_link = true; config.has_shared = true; } diff -uprN binutils-2.11.90.0.8/ld/emultempl/mipsecoff.em binutils-2.11.90.0.15/ld/emultempl/mipsecoff.em --- binutils-2.11.90.0.8/ld/emultempl/mipsecoff.em Thu Mar 15 14:57:12 2001 +++ binutils-2.11.90.0.15/ld/emultempl/mipsecoff.em Thu May 24 22:45:30 2001 @@ -1,5 +1,10 @@ # This shell script emits a C file. -*- C -*- # It does some substitutions. +if [ -z "$MACHINE" ]; then + OUTPUT_ARCH=${ARCH} +else + OUTPUT_ARCH=${ARCH}:${MACHINE} +fi cat >e${EMULATION_NAME}.c <arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_${ARCH}; #endif /* not TARGET_ */ } diff -uprN binutils-2.11.90.0.8/ld/emultempl/pe.em binutils-2.11.90.0.15/ld/emultempl/pe.em --- binutils-2.11.90.0.8/ld/emultempl/pe.em Wed May 2 14:53:23 2001 +++ binutils-2.11.90.0.15/ld/emultempl/pe.em Sat Jun 9 00:13:01 2001 @@ -1,5 +1,10 @@ # This shell script emits a C file. -*- C -*- # It does some substitutions. +if [ -z "$MACHINE" ]; then + OUTPUT_ARCH=${ARCH} +else + OUTPUT_ARCH=${ARCH}:${MACHINE} +fi rm -f e${EMULATION_NAME}.c (echo;echo;echo;echo;echo)>e${EMULATION_NAME}.c # there, now line numbers match ;-) cat >>e${EMULATION_NAME}.c <arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_${ARCH}; output_filename = "${EXECUTABLE_NAME:-a.exe}"; - ldfile_output_architecture = bfd_arch_${ARCH}; #ifdef DLL_SUPPORT config.has_shared = 1; @@ -254,7 +267,7 @@ static definfo init[] = #endif D(MinorSubsystemVersion,"__minor_subsystem_version__", 0), D(Subsystem,"__subsystem__", ${SUBSYSTEM}), - D(SizeOfStackReserve,"__size_of_stack_reserve__", 0x2000000), + D(SizeOfStackReserve,"__size_of_stack_reserve__", 0x200000), D(SizeOfStackCommit,"__size_of_stack_commit__", 0x1000), D(SizeOfHeapReserve,"__size_of_heap_reserve__", 0x100000), D(SizeOfHeapCommit,"__size_of_heap_commit__", 0x1000), diff -uprN binutils-2.11.90.0.8/ld/emultempl/sunos.em binutils-2.11.90.0.15/ld/emultempl/sunos.em --- binutils-2.11.90.0.8/ld/emultempl/sunos.em Sat Mar 17 12:48:15 2001 +++ binutils-2.11.90.0.15/ld/emultempl/sunos.em Thu May 24 23:17:15 2001 @@ -1,5 +1,10 @@ # This shell script emits a C file. -*- C -*- # It does some substitutions. +if [ -z "$MACHINE" ]; then + OUTPUT_ARCH=${ARCH} +else + OUTPUT_ARCH=${ARCH}:${MACHINE} +fi cat >e${EMULATION_NAME}.c <arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_${ARCH}; config.dynamic_link = true; config.has_shared = true; } diff -uprN binutils-2.11.90.0.8/ld/ld.1 binutils-2.11.90.0.15/ld/ld.1 --- binutils-2.11.90.0.8/ld/ld.1 Fri Apr 13 11:21:08 2001 +++ binutils-2.11.90.0.15/ld/ld.1 Sat Jun 9 00:18:39 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 Jun 9 00:18:38 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.13" "2001-06-09" "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.8/ld/ld.texinfo binutils-2.11.90.0.15/ld/ld.texinfo --- binutils-2.11.90.0.8/ld/ld.texinfo Fri Apr 13 11:47:35 2001 +++ binutils-2.11.90.0.15/ld/ld.texinfo Wed May 23 11:36:06 2001 @@ -966,6 +966,7 @@ demangle by default unless the environme is set. These options may be used to override the default. @cindex dynamic linker, from command line +@kindex -I@var{file} @kindex --dynamic-linker @var{file} @item --dynamic-linker @var{file} Set the name of the dynamic linker. This is only meaningful when diff -uprN binutils-2.11.90.0.8/ld/ldlang.c binutils-2.11.90.0.15/ld/ldlang.c --- binutils-2.11.90.0.8/ld/ldlang.c Sat May 12 00:58:10 2001 +++ binutils-2.11.90.0.15/ld/ldlang.c Sat Jun 9 00:13:01 2001 @@ -42,9 +42,8 @@ Software Foundation, 59 Temple Place - S #include /* FORWARDS */ -static lang_statement_union_type *new_statement PARAMS ((enum statement_enum, - size_t, - lang_statement_list_type *)); +static lang_statement_union_type *new_statement + PARAMS ((enum statement_enum, size_t, lang_statement_list_type *)); /* LOCALS */ static struct obstack stat_obstack; @@ -128,7 +127,6 @@ static bfd_vma size_input_section fill_type, bfd_vma, boolean)); static void lang_finish PARAMS ((void)); static void ignore_bfd_errors PARAMS ((const char *, ...)); -static void record_bfd_errors PARAMS ((const char *, ...)); static void lang_check PARAMS ((void)); static void lang_common PARAMS ((void)); static boolean lang_one_common PARAMS ((struct bfd_link_hash_entry *, PTR)); @@ -192,18 +190,22 @@ struct unique_sections *unique_section_l etree_type *base; /* Relocation base - or null */ -#if defined(__STDC__) || defined(ALMOST_STDC) +#if defined (__STDC__) || defined (ALMOST_STDC) #define cat(a,b) a##b #else #define cat(a,b) a/**/b #endif -/* Don't beautify the line below with "innocent" whitespace, it breaks the K&R C preprocessor! */ -#define new_stat(x, y) (cat (x,_type)*) new_statement (cat (x,_enum), sizeof (cat (x,_type)), y) +/* Don't beautify the line below with "innocent" whitespace, it breaks + the K&R C preprocessor! */ +#define new_stat(x, y) \ + (cat (x,_type)*) new_statement (cat (x,_enum), sizeof (cat (x,_type)), y) -#define outside_section_address(q) ((q)->output_offset + (q)->output_section->vma) +#define outside_section_address(q) \ + ((q)->output_offset + (q)->output_section->vma) -#define outside_symbol_address(q) ((q)->value + outside_section_address (q->section)) +#define outside_symbol_address(q) \ + ((q)->value + outside_section_address (q->section)) #define SECTION_NAME_MAP_LENGTH (16) @@ -245,14 +247,16 @@ walk_wild_section (ptr, section, file, c if (ptr->exclude_filename_list != NULL) { struct name_list *list_tmp; - for (list_tmp = ptr->exclude_filename_list; list_tmp; list_tmp = list_tmp->next) + for (list_tmp = ptr->exclude_filename_list; + list_tmp; + list_tmp = list_tmp->next) { boolean match; if (wildcardp (list_tmp->name)) - match = fnmatch (list_tmp->name, file->filename, 0) == 0 ? true : false; + match = fnmatch (list_tmp->name, file->filename, 0) == 0; else - match = strcmp (list_tmp->name, file->filename) == 0 ? true : false; + match = strcmp (list_tmp->name, file->filename) == 0; if (match) return; @@ -275,9 +279,9 @@ walk_wild_section (ptr, section, file, c if (section == NULL) match = true; else if (wildcard) - match = fnmatch (section, sname, 0) == 0 ? true : false; + match = fnmatch (section, sname, 0) == 0; else - match = strcmp (section, sname) == 0 ? true : false; + match = strcmp (section, sname) == 0; /* If this is a wild-card output section statement, exclude sections that match UNIQUE_SECTION_LIST. */ @@ -450,7 +454,7 @@ new_statement (type, size, list) We can be supplied with requests for input files more than once; they may, for example be split over serveral lines like foo.o(.text) - foo.o(.data) etc, so when asked for a file we check that we havn't + foo.o(.data) etc, so when asked for a file we check that we haven't got it already so we don't duplicate the bfd. */ static lang_input_statement_type * @@ -1136,12 +1140,10 @@ wild_doit (ptr, section, output, file) flagword flags; if (output->bfd_section == NULL) - { - init_os (output); - first = true; - } - else - first = false; + init_os (output); + + first = ! output->bfd_section->linker_has_input; + output->bfd_section->linker_has_input = 1; /* Add a section reference to the list. */ new = new_stat (lang_input_section, ptr); @@ -1690,7 +1692,8 @@ closest_target_match (target, data) /* Oh dear, we now have two potential candidates for a successful match. Compare their names and choose the better one. */ - if (name_compare (target->name, original->name) > name_compare (winner->name, original->name)) + if (name_compare (target->name, original->name) + > name_compare (winner->name, original->name)) winner = target; /* Keep on searching until wqe have checked them all. */ @@ -1786,7 +1789,8 @@ open_output (name) /* Try to find a target as similar as possible to the default target, but which has the desired endian characteristic. */ - (void) bfd_search_for_target (closest_target_match, (PTR) target); + (void) bfd_search_for_target (closest_target_match, + (PTR) target); /* Oh dear - we could not find any targets that satisfy our requirements. */ @@ -1909,7 +1913,6 @@ open_input_bfds (s, force) if (s->input_statement.real) { lang_statement_list_type add; - bfd_error_handler_type pfn; s->input_statement.target = current_target; @@ -1924,17 +1927,10 @@ open_input_bfds (s, force) bfd_archive)) s->input_statement.loaded = false; - lang_list_init (& add); - - /* We need to know if an error occurs whilst loading the - symbols, since this means that a valid executable can - not be produced. */ - pfn = bfd_set_error_handler (record_bfd_errors); + lang_list_init (&add); load_symbols (&s->input_statement, &add); - bfd_set_error_handler (pfn); - if (add.head != NULL) { *add.tail = s->next; @@ -2687,8 +2683,10 @@ size_input_section (this_ptr, output_sec } #define IGNORE_SECTION(bfd, s) \ - (((bfd_get_section_flags (bfd, s) & (SEC_ALLOC | SEC_LOAD)) != (SEC_ALLOC | SEC_LOAD)) \ + (((bfd_get_section_flags (bfd, s) & (SEC_ALLOC | SEC_LOAD)) \ + != (SEC_ALLOC | SEC_LOAD)) \ || bfd_section_size (bfd, s) == 0) + /* Check to see if any allocated sections overlap with other allocated sections. This can happen when the linker script specifically specifies the output section addresses of the two sections. */ @@ -2699,7 +2697,6 @@ lang_check_section_addresses () asection *s; unsigned opb = bfd_octets_per_byte (output_bfd); - /* Scan all sections in the output list. */ for (s = output_bfd->sections; s != NULL; s = s->next) { @@ -2810,8 +2807,9 @@ lang_size_sections (s, output_section_st case lang_output_section_statement_enum: { bfd_vma after; - lang_output_section_statement_type *os = &s->output_section_statement; + lang_output_section_statement_type *os; + os = &s->output_section_statement; if (os->bfd_section == NULL) /* This section was never actually created. */ break; @@ -2866,10 +2864,12 @@ lang_size_sections (s, output_section_st && ! link_info.relocateable && strcmp (os->region->name, "*default*") == 0 && lang_memory_region_list != NULL - && (strcmp (lang_memory_region_list->name, "*default*") != 0 + && (strcmp (lang_memory_region_list->name, + "*default*") != 0 || lang_memory_region_list->next != NULL)) einfo (_("%P: warning: no memory region specified for section `%s'\n"), - bfd_get_section_name (output_bfd, os->bfd_section)); + bfd_get_section_name (output_bfd, + os->bfd_section)); dot = os->region->current; @@ -2878,7 +2878,8 @@ lang_size_sections (s, output_section_st bfd_vma olddot; olddot = dot; - dot = align_power (dot, os->bfd_section->alignment_power); + dot = align_power (dot, + os->bfd_section->alignment_power); if (dot != olddot && config.warn_section_align) einfo (_("%P: warning: changing start of section %s by %u bytes\n"), @@ -3195,9 +3196,9 @@ lang_do_assignments (s, output_section_s case lang_output_section_statement_enum: { - lang_output_section_statement_type *os = - &(s->output_section_statement); + lang_output_section_statement_type *os; + os = &(s->output_section_statement); if (os->bfd_section != NULL) { dot = os->bfd_section->vma; @@ -3370,8 +3371,10 @@ lang_set_startof () h = bfd_link_hash_lookup (link_info.hash, buf, false, false, true); if (h != NULL && h->type == bfd_link_hash_undefined) { - unsigned opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, - ldfile_output_machine); + unsigned opb; + + opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, + ldfile_output_machine); h->type = bfd_link_hash_defined; if (s->_cooked_size != 0) h->u.def.value = s->_cooked_size / opb; @@ -3458,53 +3461,6 @@ lang_finish () } } - -/* This is the routine to handle BFD error messages. */ - -#ifdef ANSI_PROTOTYPES - -static void -record_bfd_errors (const char *s, ...) -{ - va_list p; - - einfo ("%P: "); - - va_start (p, s); - - vfprintf (stderr, s, p); - - va_end (p); - - fprintf (stderr, "\n"); - - einfo ("%X"); -} - -#else /* ! defined (ANSI_PROTOTYPES) */ - -static void -record_bfd_errors (va_alist) - va_dcl -{ - va_list p; - const char *s; - - einfo ("%P: "); - - va_start (p); - - s = va_arg (p, const char *); - vfprintf (stderr, s, p); - - va_end (p); - - fprintf (stderr, "\n"); - - einfo ("%X"); -} - -#endif /* ! defined (ANSI_PROTOTYPES) */ /* This is a small function used when we want to ignore errors from BFD. */ @@ -4257,8 +4213,9 @@ lang_section_start (name, address) const char *name; etree_type *address; { - lang_address_statement_type *ad = new_stat (lang_address_statement, stat_ptr); + lang_address_statement_type *ad; + ad = new_stat (lang_address_statement, stat_ptr); ad->section_name = name; ad->address = address; } @@ -4651,9 +4608,7 @@ lang_record_phdrs () lang_final_phase_enum); if (! bfd_record_phdr (output_bfd, l->type, - l->flags == NULL ? false : true, - flags, - l->at == NULL ? false : true, + l->flags != NULL, flags, l->at != NULL, at, l->filehdr, l->phdrs, c, secs)) einfo (_("%F%P: bfd_record_phdr failed: %E\n")); } diff -uprN binutils-2.11.90.0.8/ld/ldmain.c binutils-2.11.90.0.15/ld/ldmain.c --- binutils-2.11.90.0.8/ld/ldmain.c Wed May 2 15:25:18 2001 +++ binutils-2.11.90.0.15/ld/ldmain.c Wed May 23 11:36:06 2001 @@ -541,7 +541,8 @@ get_emulation (argc, argv) else if (strcmp (argv[i], "-mips1") == 0 || strcmp (argv[i], "-mips2") == 0 || strcmp (argv[i], "-mips3") == 0 - || strcmp (argv[i], "-mips4") == 0) + || strcmp (argv[i], "-mips4") == 0 + || strcmp (argv[i], "-mips5") == 0) { /* FIXME: The arguments -mips1, -mips2 and -mips3 are passed to the linker by some MIPS compilers. They diff -uprN binutils-2.11.90.0.8/ld/lexsup.c binutils-2.11.90.0.15/ld/lexsup.c --- binutils-2.11.90.0.8/ld/lexsup.c Wed May 2 15:16:08 2001 +++ binutils-2.11.90.0.15/ld/lexsup.c Wed May 23 11:36:07 2001 @@ -203,6 +203,8 @@ static const struct ld_option ld_options TWO_DASHES }, { {"soname", required_argument, NULL, OPTION_SONAME}, 'h', N_("FILENAME"), N_("Set internal name of shared library"), ONE_DASH }, + { {"dynamic-linker", required_argument, NULL, OPTION_DYNAMIC_LINKER}, + 'I', N_("PROGRAM"), N_("Set the dynamic linker to use"), TWO_DASHES }, { {"library", required_argument, NULL, 'l'}, 'l', N_("LIBNAME"), N_("Search for library LIBNAME"), TWO_DASHES }, { {"library-path", required_argument, NULL, 'L'}, @@ -294,8 +296,6 @@ static const struct ld_option ld_options '\0', N_("[=STYLE]"), N_("Demangle symbol names [using STYLE]"), TWO_DASHES }, { {"demangler", no_argument, NULL, OPTION_DEMANGLER}, '\0', "DSO:FUNCTION", N_("Set DSO and demangler function"), TWO_DASHES }, - { {"dynamic-linker", required_argument, NULL, OPTION_DYNAMIC_LINKER}, - '\0', N_("PROGRAM"), N_("Set the dynamic linker to use"), TWO_DASHES }, { {"embedded-relocs", no_argument, NULL, OPTION_EMBEDDED_RELOCS}, '\0', NULL, N_("Generate embedded relocs"), TWO_DASHES}, { {"fini", required_argument, NULL, OPTION_FINI}, @@ -652,6 +652,7 @@ parse_args (argc, argv) case OPTION_DEMANGLER: demangler = optarg; break; + case 'I': /* Used on Solaris. */ case OPTION_DYNAMIC_LINKER: command_line.interpreter = optarg; break; diff -uprN binutils-2.11.90.0.8/ld/scripttempl/aix.sc binutils-2.11.90.0.15/ld/scripttempl/aix.sc --- binutils-2.11.90.0.8/ld/scripttempl/aix.sc Thu Jun 3 11:02:11 1999 +++ binutils-2.11.90.0.15/ld/scripttempl/aix.sc Thu May 24 21:25:54 2001 @@ -10,6 +10,8 @@ ENTRY(__start) SECTIONS { .pad 0 : { *(.pad) } + + . = 0x10000000; .text ${RELOCATING-0} : { ${RELOCATING+PROVIDE (_text = .);} *(.text) @@ -22,11 +24,14 @@ SECTIONS *(.tb) ${RELOCATING+PROVIDE (_etext = .);} } - .data 0 : { + . = 0x20000000; + .data . : { ${RELOCATING+PROVIDE (_data = .);} *(.data) *(.rw) *(.sv) + *(.sv64) + *(.sv3264) *(.ua) . = ALIGN(4); ${CONSTRUCTING+CONSTRUCTORS} @@ -45,10 +50,12 @@ SECTIONS ${RELOCATING+PROVIDE (_end = .);} ${RELOCATING+PROVIDE (end = .);} } - .loader 0 : { + + .loader : { *(.loader) } - .debug 0 : { + + .debug : { *(.debug) } } diff -uprN binutils-2.11.90.0.8/ld/testsuite/ChangeLog binutils-2.11.90.0.15/ld/testsuite/ChangeLog --- binutils-2.11.90.0.8/ld/testsuite/ChangeLog Wed May 2 23:32:53 2001 +++ binutils-2.11.90.0.15/ld/testsuite/ChangeLog Sun Jun 10 10:55:09 2001 @@ -1,3 +1,68 @@ +2001-06-06 H.J. Lu + + * ld-bootstrap/bootstrap.exp: Rebuild tmpdir/ld2 with tmpdir/ld3 + on Linux/mips. + + * ld-elfvers/vers.exp: Also run on Linux/mips. + * ld-elfvsb/elfvsb.exp: Likewise. + * ld-shared/shared.exp: Likewise. + + * ld-selective/selective.exp: Mark selective2, selective3, + selective4 and selective5 xfail on Linux/mips. + + * ld-shared/main.c: Skip invalid -Bsymbolic tests on Linux/mips. + + * symbolic.dat: Remove invalid -Bsymbolic tests on Linux/mips. + + * ld-srec/srec.exp: Add Linux/mips to xfail. + +2001-06-06 Martin Schwidefsky + + * ld-undefined/undefined.exp: Add a setup_xfail line for a test + that will always fail on s/390. + +2001-05-28 kaz Kojima + + * ld-sh/sh.exp: For sh-*-linux-gnu target add a start address for + the text section. + +2001-05-25 Alan Modra + + * ld-elfvers/vers.exp: Replace linuxoldld with linux*oldld and + linuxaout with linux*aout. + +2001-05-24 H.J. Lu + + * ld-scripts/phdrs.exp: Add sparc64 to 64 bit platform. + +2001-05-18 H.J. Lu + + * ld-elfvers/vers.exp: Revert the last change. + + * ld-elfvers/vers2.ver: Put back "tmpdir/" the version + references. + * ld-elfvers/vers3.ver: Likewise. + * ld-elfvers/vers6.ver: Likewise. + * ld-elfvers/vers18.ver: Likewise. + +2001-05-17 H.J. Lu + + * ld-elfvers/vers.exp: Pass "-rpath .:$tmpdir" to "vers19". + + * ld-elfvers/vers1.ver: Remove "tmpdir/" from the version + definition. + * ld-elfvers/vers2.ver: Likewise. + * ld-elfvers/vers3.ver: Likewise. + * ld-elfvers/vers4a.ver: Likewise. + * ld-elfvers/vers6.ver: Likewise. + * ld-elfvers/vers7a.ver: Likewise. + * ld-elfvers/vers8.ver: Likewise. + * ld-elfvers/vers9.ver: Likewise. + * ld-elfvers/vers15.ver: Likewise. + * ld-elfvers/vers16a.ver: Likewise. + * ld-elfvers/vers17.ver: Likewise. + * ld-elfvers/vers18.ver: Likewise. + 2001-05-03 H.J. Lu * ld-elfvers/vers19.ver: Expect vers17.so instead of @@ -35,6 +100,19 @@ * ld-scripts/cross2.t: Support any type of text/data sections, not just the canonical ones. + +2001-02-28 Matt Hiller + + * ld-scripts/crossref.exp: Initialize flags to [big_or_little_endian]. + * ld-undefined/undefined.exp: Ditto, and include $flags in ld + invocations. + * lib/ld-lib.exp (big_or_little_endian): Recognize -EB, -eb, -EL + and -el. + (is_endian_output_format): New function. + (default_ld_link): Set flags to [big_or_little_endian] only if ld + is being invoked such that the output format being used is of + known endianness. + (default_ld_simple_link): Ditto. 2001-02-14 H.J. Lu diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-bootstrap/bootstrap.exp binutils-2.11.90.0.15/ld/testsuite/ld-bootstrap/bootstrap.exp --- binutils-2.11.90.0.8/ld/testsuite/ld-bootstrap/bootstrap.exp Sat Mar 17 12:48:15 2001 +++ binutils-2.11.90.0.15/ld/testsuite/ld-bootstrap/bootstrap.exp Sat Jun 9 00:13:01 2001 @@ -115,6 +115,16 @@ foreach flags {"" "strip" "--static" "-- continue } } + } else { + if { [istarget mips*-*-linux*] } { + # On Linux/mips, tmpdir/ld2 != tmpdir/ld3 is normal since + # they are generated by different linkers, tmpdir/ld1 and + # tmpdir/ld2. So we rebuild tmpdir/ld2 with tmpdir/ld3. + if ![ld_link tmpdir/ld3 tmpdir/ld2 "$flags $OFILES $BFDLIB $LIBIBERTY"] { + fail $testname + continue + } + } } send_log "cmp tmpdir/ld2 tmpdir/ld3\n" diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers.exp binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers.exp --- binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers.exp Sat Mar 17 12:48:16 2001 +++ binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers.exp Sat Jun 9 00:13:02 2001 @@ -40,13 +40,14 @@ if { ![istarget i?86-*-sysv4*] \ && ![istarget sparc*-*-solaris2*] \ && ![istarget sparc*-*-linux*] \ && ![istarget arm*-*-linux*] \ + && ![istarget mips*-*-linux*] \ && ![istarget alpha*-*-linux*] } { return } -if { [istarget i?86-*-linuxaout*] \ - || [istarget i?86-*-linuxoldld*] \ - || [istarget m68k-*-linuxaout*] } { +if { [istarget i?86-*-linux*aout*] \ + || [istarget i?86-*-linux*oldld*] \ + || [istarget m68k-*-linux*aout*] } { return } diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers1.ver binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers1.ver --- binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers1.ver Thu Jun 3 11:02:11 1999 +++ binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers1.ver Mon May 21 10:38:01 2001 @@ -1,5 +1,5 @@ Version definitions: -1 0x01 0x0a26881f tmpdir/vers1.so +1 0x01 0x0c96425f vers1.so 2 0x00 0x0a7927b1 VERS_1.1 3 0x00 0x0a7927b2 VERS_1.2 VERS_1.1 diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers15.ver binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers15.ver --- binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers15.ver Thu Jun 3 11:02:11 1999 +++ binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers15.ver Mon May 21 10:38:01 2001 @@ -1,5 +1,5 @@ Version definitions: -1 0x01 0x0d8a2605 tmpdir/vers15 +1 0x01 0x07cc9645 vers15 2 0x00 0x0a7927b2 VERS_1.2 3 0x00 0x0a7927b1 VERS_1.1 diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers16a.ver binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers16a.ver --- binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers16a.ver Thu Jun 3 11:02:11 1999 +++ binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers16a.ver Mon May 21 10:38:01 2001 @@ -1,3 +1,3 @@ Version definitions: -1 0x01 0x0601cfbf tmpdir/vers16a.so +1 0x01 0x064c090f vers16a.so 2 0x00 0x0a7927b1 VERS_1.1 diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers17.ver binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers17.ver --- binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers17.ver Fri Jul 9 08:21:41 1999 +++ binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers17.ver Mon May 21 10:38:01 2001 @@ -1,3 +1,3 @@ Version definitions: -1 0x01 0x02605d3f tmpdir/vers17.so +1 0x01 0x0964f95f vers17.so 2 0x00 0x0a7922b0 VERS_2.0 diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers18.ver binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers18.ver --- binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers18.ver Fri Jul 9 08:21:41 1999 +++ binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers18.ver Mon May 21 10:38:02 2001 @@ -1,5 +1,5 @@ Version definitions: -1 0x01 0x02608d3f tmpdir/vers18.so +1 0x01 0x0964e95f vers18.so 2 0x00 0x0a7927b1 VERS_1.1 3 0x00 0x0a7927b2 VERS_1.2 VERS_1.1 diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers2.ver binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers2.ver --- binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers2.ver Thu Jun 3 11:02:11 1999 +++ binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers2.ver Mon May 21 10:38:02 2001 @@ -1,5 +1,5 @@ Version definitions: -1 0x01 0x0a26181f tmpdir/vers2.so +1 0x01 0x0c96525f vers2.so 2 0x00 0x08785b51 VERS_XXX_1.1 Version References: diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers4a.ver binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers4a.ver --- binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers4a.ver Thu Jun 3 11:02:11 1999 +++ binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers4a.ver Mon May 21 10:38:03 2001 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x0d8a26e1 tmpdir/vers4a +1 0x01 0x07cc96a1 vers4a 2 0x00 0x0a7922b0 VERS_2.0 diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers7a.ver binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers7a.ver --- binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers7a.ver Thu Jun 3 11:02:11 1999 +++ binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers7a.ver Mon May 21 10:38:03 2001 @@ -1,4 +1,4 @@ Version definitions: -1 0x01 0x0269fd3f tmpdir/vers7a.so +1 0x01 0x096d595f vers7a.so 2 0x00 0x05aa7921 VERS_1 diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers8.ver binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers8.ver --- binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers8.ver Thu Jun 3 11:02:11 1999 +++ binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers8.ver Mon May 21 10:38:03 2001 @@ -1,5 +1,5 @@ Version definitions: -1 0x01 0x0a26f81f tmpdir/vers8.so +1 0x01 0x0c96b25f vers8.so 2 0x00 0x0a7927b1 VERS_1.1 3 0x00 0x0a7927b2 VERS_1.2 VERS_1.1 diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers9.ver binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers9.ver --- binutils-2.11.90.0.8/ld/testsuite/ld-elfvers/vers9.ver Thu Jun 3 11:02:11 1999 +++ binutils-2.11.90.0.15/ld/testsuite/ld-elfvers/vers9.ver Mon May 21 10:38:03 2001 @@ -1,5 +1,5 @@ Version definitions: -1 0x01 0x04d8a269 tmpdir/vers9 +1 0x01 0x007cc969 vers9 2 0x00 0x0a7927b1 VERS_1.1 3 0x00 0x0a7927b2 VERS_1.2 diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-elfvsb/elfvsb.exp binutils-2.11.90.0.15/ld/testsuite/ld-elfvsb/elfvsb.exp --- binutils-2.11.90.0.8/ld/testsuite/ld-elfvsb/elfvsb.exp Sat Mar 17 12:48:17 2001 +++ binutils-2.11.90.0.15/ld/testsuite/ld-elfvsb/elfvsb.exp Sat Jun 9 00:13:02 2001 @@ -29,6 +29,7 @@ if ![isnative] then {return} if { ![istarget i?86-*-linux*] \ && ![istarget ia64-*-linux*] \ && ![istarget m68k-*-linux*] \ + && ![istarget mips*-*-linux*] \ && ![istarget powerpc-*-linux*] \ && ![istarget arm*-*-linux*] \ && ![istarget alpha*-*-linux*] \ @@ -266,6 +267,7 @@ proc visibility_run {visibility} { if { ![ string match $visibility "hidden_undef" ] && ![ string match $visibility "protected_undef" ] } { setup_xfail "ia64-*-linux*" + setup_xfail "mips*-*-linux*" } visibility_test $visibility vnp "visibility ($visibility) (non PIC, load offset)" \ mainnp.o sh1np.o sh2np.o elfvsb \ diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-scripts/phdrs.exp binutils-2.11.90.0.15/ld/testsuite/ld-scripts/phdrs.exp --- binutils-2.11.90.0.8/ld/testsuite/ld-scripts/phdrs.exp Wed May 2 14:53:31 2001 +++ binutils-2.11.90.0.15/ld/testsuite/ld-scripts/phdrs.exp Thu May 24 22:45:37 2001 @@ -49,7 +49,7 @@ set phdrs_regexp \ # On a 64 bit ELF format, we need different numbers. if { [istarget alpha*-*-*] || [istarget "ia64*-*-*"] || [istarget "hppa*64*-*-*"] || [istarget "x86_64*-*-*"] - || [istarget "s390x*-*-*"]} then { + || [istarget "s390x*-*-*"] || [istarget "sparc64*-*-*"]} then { set phdrs_regexp \ ".*Program Header:.*PHDR *off *0x00*40 *vaddr *0x00*800040 *paddr *0x00*800040.*filesz *0x0\[0-9a-f\]* *memsz *0x0\[0-9a-f\]* flags r--.*LOAD *off *0x00* *vaddr *0x00*800000 *paddr *0x00*800000.*filesz *0x00*\[0-9a-f\]* *memsz *0x0\[0-9a-f\]* *flags r-x.*LOAD *off *0x0\[0-9a-f\]* *vaddr *0x00*80*\[0-9a-f\]* *paddr *0x00*80*\[0-9a-f\]*.*filesz *0x0\[0-9a-f\]* *memsz *0x0\[0-9a-f\]* *flags *rw-.*" } diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-selective/selective.exp binutils-2.11.90.0.15/ld/testsuite/ld-selective/selective.exp --- binutils-2.11.90.0.8/ld/testsuite/ld-selective/selective.exp Fri Apr 6 15:34:37 2001 +++ binutils-2.11.90.0.15/ld/testsuite/ld-selective/selective.exp Sat Jun 9 00:13:02 2001 @@ -39,10 +39,10 @@ if {[istarget "*-*-pe"]} { # FIXME: Instead of table, read settings from each source-file. set seltests { {selective1 C 1.c {} {} {dropme1 dropme2} {}} - {selective2 C 2.c {} {} {foo} {}} - {selective3 C 2.c {-u foo} {foo} {{foo 0}} {}} - {selective4 C++ 3.cc {} {start foo__1A foo__1B} {bar__1A} {}} - {selective5 C++ 4.cc {} {} {foo__1B foo__1A} {}} + {selective2 C 2.c {} {} {foo} {mips*-*}} + {selective3 C 2.c {-u foo} {foo} {{foo 0}} {mips*-*}} + {selective4 C++ 3.cc {} {start foo__1A foo__1B} {bar__1A} {mips*-*}} + {selective5 C++ 4.cc {} {} {foo__1B foo__1A} {mips*-*}} {selective6 C++ 5.cc {} {} {foo__1B foo__1A dropme1__Fv dropme2__Fv} {*-*-*}} } diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-sh/sh.exp binutils-2.11.90.0.15/ld/testsuite/ld-sh/sh.exp --- binutils-2.11.90.0.8/ld/testsuite/ld-sh/sh.exp Thu Mar 15 14:57:30 2001 +++ binutils-2.11.90.0.15/ld/testsuite/ld-sh/sh.exp Fri Jun 1 20:51:13 2001 @@ -56,7 +56,14 @@ if ![ld_assemble $as "-relax $srcdir/$su set testsrec "SH relaxing to S-records" -if ![ld_simple_link $ld tmpdir/sh1.s1 "-relax --oformat srec tmpdir/sh1.o"] { +if [istarget sh*-linux-gnu] { + # This target needs the explicit entry address. + catch "exec $objdump -x tmpdir/sh1 | grep start\\ address | sed s/start\\ address//" entry_addr + set srec_relax_arg "-Ttext $entry_addr -relax --oformat srec tmpdir/sh1.o" +} else { + set srec_relax_arg "-relax --oformat srec tmpdir/sh1.o" +} +if ![ld_simple_link $ld tmpdir/sh1.s1 $srec_relax_arg ] { fail $testsrec } else { # The file name is embedded in the S-records, so create both diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-shared/main.c binutils-2.11.90.0.15/ld/testsuite/ld-shared/main.c --- binutils-2.11.90.0.8/ld/testsuite/ld-shared/main.c Mon Jul 19 09:48:26 1999 +++ binutils-2.11.90.0.15/ld/testsuite/ld-shared/main.c Sat Jun 9 00:13:02 2001 @@ -55,6 +55,7 @@ main () printf ("shlib_maincall () == %d\n", shlib_maincall ()); #endif printf ("main_called () == %d\n", main_called ()); +#ifndef SYMBOLIC_TEST printf ("shlib_checkfunptr1 (shlib_shlibvar1) == %d\n", shlib_checkfunptr1 (shlib_shlibvar1)); #ifndef XCOFF_TEST @@ -76,6 +77,7 @@ main () else printf ("!="); printf (" main_called\n"); +#endif #endif printf ("shlib_check () == %d\n", shlib_check ()); return 0; diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-shared/shared.exp binutils-2.11.90.0.15/ld/testsuite/ld-shared/shared.exp --- binutils-2.11.90.0.8/ld/testsuite/ld-shared/shared.exp Wed May 2 15:25:20 2001 +++ binutils-2.11.90.0.15/ld/testsuite/ld-shared/shared.exp Sat Jun 9 00:13:02 2001 @@ -36,6 +36,7 @@ if { ![istarget i?86-*-sysv4*] \ && ![istarget ia64-*-linux*] \ && ![istarget m68k-*-linux*] \ && ![istarget mips*-*-irix5*] \ + && ![istarget mips*-*-linux*] \ && ![istarget powerpc-*-elf*] \ && ![istarget powerpc-*-linux*] \ && ![istarget powerpc-*-sysv4*] \ @@ -204,6 +205,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $ setup_xfail "*-*-linux*libc1" setup_xfail "powerpc-*-linux*" setup_xfail "ia64-*-linux*" + setup_xfail "mips*-*-linux*" shared_test shnp "shared (non PIC, load offset)" \ mainnp.o sh1np.o sh2np.o shared \ "-T $srcdir/$subdir/elf-offset.ld" @@ -222,8 +224,8 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $ shared_test shp "shared" mainnp.o sh1p.o sh2p.o xcoff } else { shared_test shp "shared" mainnp.o sh1p.o sh2p.o shared - ld_compile "$CC $CFLAGS -DXCOFF_TEST $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o - ld_compile "$CC $CFLAGS -DXCOFF_TEST $SHCFLAG $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o + ld_compile "$CC $CFLAGS -DSYMBOLIC_TEST -DXCOFF_TEST $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o + ld_compile "$CC $CFLAGS -DSYMBOLIC_TEST -DXCOFF_TEST $SHCFLAG $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o shared_test shp "shared -Bsymbolic" mainnp.o sh1p.o sh2p.o symbolic "-Bsymbolic" ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-shared/symbolic.dat binutils-2.11.90.0.15/ld/testsuite/ld-shared/symbolic.dat --- binutils-2.11.90.0.8/ld/testsuite/ld-shared/symbolic.dat Wed May 2 14:53:32 2001 +++ binutils-2.11.90.0.15/ld/testsuite/ld-shared/symbolic.dat Sat Jun 9 00:13:02 2001 @@ -5,6 +5,4 @@ shlib_shlibvar1 () == 3 shlib_shlibvar2 () == 4 shlib_shlibcall () == 5 main_called () == 6 -shlib_checkfunptr1 (shlib_shlibvar1) == 0 -shlib_getfunptr1 () != shlib_shlibvar1 shlib_check () == 1 diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-srec/srec.exp binutils-2.11.90.0.15/ld/testsuite/ld-srec/srec.exp --- binutils-2.11.90.0.8/ld/testsuite/ld-srec/srec.exp Thu Mar 15 14:57:32 2001 +++ binutils-2.11.90.0.15/ld/testsuite/ld-srec/srec.exp Sat Jun 9 00:13:02 2001 @@ -341,7 +341,7 @@ setup_xfail "i*86-*-aout*" # These tests fail on the native MIPS ELF targets because the GP value # in the .reginfo section is not updated when the S-record version is # written out. The mips-elf target itself does not use a .reginfo section. -setup_xfail "mips*-*-irix5*" "mips*-*-irix6*" +setup_xfail "mips*-*-irix5*" "mips*-*-irix6*" "mips*-*-linux*" # The S-record linker doesn't do the magic TOC handling that XCOFF # linkers do. @@ -394,7 +394,7 @@ if ![ld_compile "$CXX $CXXFLAGS -fgnu-li # See above. setup_xfail "i*86-*-aout*" -setup_xfail "mips*-*-irix5*" "mips*-*-irix6*" +setup_xfail "mips*-*-irix5*" "mips*-*-irix6*" "mips*-*-linux*" setup_xfail "*-*-aix*" "*-*-xcoff*" setup_xfail "arm*-*-*" setup_xfail "strongarm*-*-*" diff -uprN binutils-2.11.90.0.8/ld/testsuite/ld-undefined/undefined.exp binutils-2.11.90.0.15/ld/testsuite/ld-undefined/undefined.exp --- binutils-2.11.90.0.8/ld/testsuite/ld-undefined/undefined.exp Fri Apr 6 15:34:39 2001 +++ binutils-2.11.90.0.15/ld/testsuite/ld-undefined/undefined.exp Sat Jun 9 00:13:02 2001 @@ -135,4 +135,11 @@ setup_xfail i?86-*-freebsd* setup_xfail mcore-*-elf setup_xfail mips-sgi-irix6* +# The undefined test fails on 31 bit s/390 because the address of the +# function `this_function_is_not_defined' is stored in the literal pool of +# the function. Therefore the line number in the error message is 8 instead +# of 9. On 64 bit s/390 this works because of the new brasl instruction that +# doesn't need a literal pool entry. +setup_xfail s390-*-elf + checkund $ml $testline diff -uprN binutils-2.11.90.0.8/libiberty/ChangeLog binutils-2.11.90.0.15/libiberty/ChangeLog --- binutils-2.11.90.0.8/libiberty/ChangeLog Sat May 12 00:05:42 2001 +++ binutils-2.11.90.0.15/libiberty/ChangeLog Mon May 21 10:35:13 2001 @@ -1,3 +1,7 @@ +2001-05-16 Matt Kraai + + * partition.c: Fix misspelling of `implementation'. + 2001-05-09 Thiemo Seufer * md5.c (md5_init_ctx): Declare constants as unsigned. diff -uprN binutils-2.11.90.0.8/libiberty/ChangeLog.linux binutils-2.11.90.0.15/libiberty/ChangeLog.linux --- binutils-2.11.90.0.8/libiberty/ChangeLog.linux Tue Apr 24 14:26:54 2001 +++ binutils-2.11.90.0.15/libiberty/ChangeLog.linux Sun Jun 10 10:55:09 2001 @@ -1,3 +1,8 @@ +2001-06-4 H.J. Lu + + * cp-demangle.c (cp_demangle_type): Call demangling_new with + DMGL_GNU_V3. + 2001-04-24 H.J. Lu * cplus-dem.c (dlopen): Mark them weak so that -ldl is not diff -uprN binutils-2.11.90.0.8/libiberty/cp-demangle.c binutils-2.11.90.0.15/libiberty/cp-demangle.c --- binutils-2.11.90.0.8/libiberty/cp-demangle.c Sat May 12 00:05:46 2001 +++ binutils-2.11.90.0.15/libiberty/cp-demangle.c Sun Jun 10 10:55:09 2001 @@ -3524,7 +3524,7 @@ cp_demangle_type (type_name, result) dyn_string_t result; { status_t status; - demangling_t dm = demangling_new (type_name); + demangling_t dm = demangling_new (type_name, DMGL_GNU_V3); if (dm == NULL) return STATUS_ALLOCATION_FAILED; diff -uprN binutils-2.11.90.0.8/libiberty/partition.c binutils-2.11.90.0.15/libiberty/partition.c --- binutils-2.11.90.0.8/libiberty/partition.c Thu Jun 15 14:07:56 2000 +++ binutils-2.11.90.0.15/libiberty/partition.c Mon May 21 10:35:18 2001 @@ -1,5 +1,5 @@ -/* List implentation of a partition of consecutive integers. - Copyright (C) 2000 Free Software Foundation, Inc. +/* List implementation of a partition of consecutive integers. + Copyright (C) 2000, 2001 Free Software Foundation, Inc. Contributed by CodeSourcery, LLC. This file is part of GNU CC. diff -uprN binutils-2.11.90.0.8/libtool.m4 binutils-2.11.90.0.15/libtool.m4 --- binutils-2.11.90.0.8/libtool.m4 Fri Apr 13 11:17:40 2001 +++ binutils-2.11.90.0.15/libtool.m4 Mon May 21 10:33:45 2001 @@ -597,7 +597,7 @@ irix5* | irix6*) # This must be Linux ELF. linux-gnu*) case $host_cpu in - alpha* | i*86 | powerpc* | sparc* | ia64* ) + alpha* | hppa* | 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 @@ -634,6 +634,10 @@ sco3.2v5*) solaris*) lt_cv_deplibs_check_method=pass_all lt_cv_file_magic_test_file=/lib/libc.so + ;; + +[sysv5uw[78]* | sysv4*uw2*)] + lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) diff -uprN binutils-2.11.90.0.8/ltcf-c.sh binutils-2.11.90.0.15/ltcf-c.sh --- binutils-2.11.90.0.8/ltcf-c.sh Fri Apr 13 11:17:40 2001 +++ binutils-2.11.90.0.15/ltcf-c.sh Sat Jun 9 00:13:01 2001 @@ -188,8 +188,8 @@ EOF archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; @@ -411,10 +411,17 @@ else ;; hpux9* | hpux10* | hpux11*) - case $host_os in - hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; - *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; - esac + if test $with_gcc = yes; then + case "$host_os" in + hpux9*) archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; + *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; + esac + else + case $host_os in + hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; + *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; + esac + fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes @@ -506,11 +513,15 @@ else solaris*) no_undefined_flag=' -z defs' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + if test "$with_gcc" = yes; then + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in @@ -585,8 +596,13 @@ else runpath_var=LD_RUN_PATH ;; - unixware7*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + sysv5uw7* | unixware7*) + no_undefined_flag='${wl}-z ${wl}text' + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; diff -uprN binutils-2.11.90.0.8/ltcf-cxx.sh binutils-2.11.90.0.15/ltcf-cxx.sh --- binutils-2.11.90.0.8/ltcf-cxx.sh Tue Apr 24 09:10:42 2001 +++ binutils-2.11.90.0.15/ltcf-cxx.sh Fri Jun 1 20:46:15 2001 @@ -106,7 +106,7 @@ if { ac_try='${CC-c++} -E conftest.$ac_e # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmds='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' else with_gcc=no @@ -196,8 +196,8 @@ case $host_os in hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' # Warning - without using the other run time loading flags, -berok will # link without error, but may produce a broken library. - no_undefined_flag='${wl}-bnoerok' - allow_undefined_flag='${wl}-berok" + no_undefined_flag=' ${wl}-bnoerok' + allow_undefined_flag=' ${wl}-berok' # -bexpall does not export symbols beginning with underscore (_) always_export_symbols=yes # Exported symbols can be pulled into shared objects from archives @@ -270,14 +270,14 @@ case $host_os in # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmds='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test $with_gcc = yes; then if test $with_gnu_ld = no; then case "$host_os" in - hpux9*) archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; - *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; + hpux9*) archive_cmds='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; + *) archive_cmds='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else @@ -302,9 +302,9 @@ case $host_os in *) if test "$with_gcc" = yes; then if test "$with_gnu_ld" = no; then - archive_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' else - archive_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib' + archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib' fi fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' @@ -332,7 +332,7 @@ case $host_os in # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmds='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest.so 2>&1 | egrep "ld"`; rm -f libconftest.so; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest.so 2>&1 | egrep "ld"`; rm -f libconftest.so; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' hardcode_libdir_flag_spec='${wl}--rpath,$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' @@ -358,7 +358,7 @@ case $host_os in # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmds='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; esac ;; @@ -386,19 +386,6 @@ case $host_os in # NetBSD uses g++ - do we need to do anything? ;; osf3*) - if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmds='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' - fi - case $cc_basename in KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler @@ -436,28 +423,28 @@ case $host_os in # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmds='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) - # FIXME: insert proper C++ library support - ld_shlibs=no + if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' + else + # FIXME: insert proper C++ library support + ld_shlibs=no + fi ;; esac ;; osf4* | osf5*) - if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmds='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' - fi - case $cc_basename in KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler @@ -498,11 +485,24 @@ case $host_os in # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmds='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) - # FIXME: insert proper C++ library support - ld_shlibs=no + if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' + else + # FIXME: insert proper C++ library support + ld_shlibs=no + fi ;; esac ;; @@ -571,7 +571,7 @@ case $host_os in # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmds='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep "\-R|\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep "\-R|\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is @@ -598,7 +598,7 @@ case $host_os in # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmds="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. @@ -609,7 +609,7 @@ case $host_os in # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmds="$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" fi hardcode_libdir_flag_spec='${wl}-R $wl$libdir' @@ -916,7 +916,7 @@ if (eval $ac_compile) 2>&5; then # the conftest object file. pre_test_object_deps_done=no - for p in `eval $output_verbose_link_cmds`; do + for p in `eval $output_verbose_link_cmd`; do case $p in diff -uprN binutils-2.11.90.0.8/ltcf-gcj.sh binutils-2.11.90.0.15/ltcf-gcj.sh --- binutils-2.11.90.0.8/ltcf-gcj.sh Fri Apr 13 11:17:41 2001 +++ binutils-2.11.90.0.15/ltcf-gcj.sh Mon May 21 10:33:45 2001 @@ -181,8 +181,8 @@ EOF archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; @@ -431,7 +431,7 @@ else if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + archive_cmds='$LD -shared -nodefaultlibs -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='${wl}-R$libdir' hardcode_direct=yes @@ -569,8 +569,13 @@ else runpath_var=LD_RUN_PATH ;; - unixware7*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + sysv5uw7* | unixware7*) + no_undefined_flag='${wl}-z ${wl}text' + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; diff -uprN binutils-2.11.90.0.8/ltconfig binutils-2.11.90.0.15/ltconfig --- binutils-2.11.90.0.8/ltconfig Tue Apr 24 09:28:46 2001 +++ binutils-2.11.90.0.15/ltconfig Fri Jun 1 21:47:06 2001 @@ -182,7 +182,7 @@ progname=`$echo "X$0" | $Xsed -e 's%^.*/ PROGRAM=ltconfig PACKAGE=libtool VERSION=1.4a -TIMESTAMP=" (1.641.2.228 2001/04/20 08:53:18)" +TIMESTAMP=" (1.641.2.256 2001/05/28 20:09:07)" ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' rm="rm -f" @@ -783,11 +783,15 @@ if test "${lt_cv_sys_max_cmd_len+set}" = echo $ac_n "(cached) $ac_c" 1>&6 else i=0 - testring="ABCDEF" - while test `$CONFIG_SHELL $0 --fallback-echo "X$testring" >/dev/null 2>&1` == `echo "X$testring" >/dev/null 2>&1` && + testring="ABCD" + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while test "X"`$CONFIG_SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \ + = "XX$testring" && new_result=`expr "X$testring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && - test $i != 32 # 1 MB should be enough + test $i != 18 # 1 MB should be enough do i=`expr $i + 1` testring=$testring$testring @@ -826,8 +830,8 @@ else chmod -w . save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -o out/conftest2.$objext" - echo "$progname:829: checking if $compiler supports -c -o file.$objext" >&5 - if { (eval echo $progname:830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$objext; then + echo "$progname:833: checking if $compiler supports -c -o file.$objext" >&5 + if { (eval echo $progname:834: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$objext; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -880,8 +884,8 @@ if test "$with_gcc" = yes; then echo $lt_simple_compile_test_code > conftest.$ac_ext save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext" - echo "$progname:883: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 - if { (eval echo $progname:884: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then + echo "$progname:887: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 + if { (eval echo $progname:888: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -984,6 +988,7 @@ aix3*) ;; aix4* | aix5*) + version_type=linux if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' @@ -1002,7 +1007,7 @@ aix4* | aix5*) # We preserve .a as extension for shared libraries though AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}.so$major.o' + soname_spec='${libname}${release}.so$major' fi # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm @@ -1217,6 +1222,8 @@ linux-gnu*) ;; netbsd*) + need_lib_prefix=no + need_version=no version_type=sunos if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' @@ -1374,7 +1381,7 @@ cygwin* | mingw* | pw32*) symcode='[ABCDGISTW]' ;; hpux*) # Its linker distinguishes data from code symbols - global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'" + global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" ;; irix*) symcode='[BCDEGRST]' @@ -1404,7 +1411,7 @@ fi for ac_symprfx in "" "_"; do # Write the raw and C identifiers. -global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" + global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" # Check to see that the pipe works correctly. pipe_works=no @@ -1421,11 +1428,11 @@ void nm_test_func(){} int main(){nm_test_var='a';nm_test_func();return(0);} EOF - echo "$progname:1424: checking if global_symbol_pipe works" >&5 - if { (eval echo $progname:1425: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then + echo "$progname:1431: checking if global_symbol_pipe works" >&5 + if { (eval echo $progname:1432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then # Now try to grab the symbols. nlist=conftest.nm - if { echo "$progname:1428: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then + if { echo "$progname:1435: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then @@ -1462,7 +1469,7 @@ const struct { lt_preloaded_symbols[] = { EOF - sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.$ac_ext + sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" >> conftest.$ac_ext cat <<\EOF >> conftest.$ac_ext {0, (lt_ptr_t) 0} }; @@ -1477,7 +1484,7 @@ EOF save_CFLAGS="$CFLAGS" LIBS="conftstm.$objext" CFLAGS="$CFLAGS$no_builtin_flag" - if { (eval echo $progname:1480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + if { (eval echo $progname:1487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then pipe_works=yes else echo "$progname: failed program was:" >&5 @@ -1581,14 +1588,14 @@ else if test "X${lt_cv_dlopen+set}" != Xset; then lt_cv_dlopen=no lt_cv_dlopen_libs= echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "$progname:1584: checking for dlopen in -ldl" >&5 +echo "$progname:1591: checking for dlopen in -ldl" >&5 if test "X${ac_cv_lib_dl_dlopen+set}" = Xset; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo $progname:1611: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_lib_dl_dlopen=yes else @@ -1620,12 +1627,12 @@ if test "X$ac_cv_lib_dl_dlopen" = Xyes; else echo "$ac_t""no" 1>&6 echo $ac_n "checking for dlopen""... $ac_c" 1>&6 -echo "$progname:1623: checking for dlopen" >&5 +echo "$progname:1630: checking for dlopen" >&5 if test "X${ac_cv_func_dlopen+set}" = Xset; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -1650,7 +1657,7 @@ dlopen(); ; return 0; } EOF -if { (eval echo $progname:1653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo $progname:1660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_dlopen=yes else @@ -1667,14 +1674,14 @@ if test "X$ac_cv_func_dlopen" = Xyes; th else echo "$ac_t""no" 1>&6 echo $ac_n "checking for dlopen in -lsvld""... $ac_c" 1>&6 -echo "$progname:1670: checking for dlopen in -lsvld" >&5 +echo "$progname:1677: checking for dlopen in -lsvld" >&5 if test "X${ac_cv_lib_svld_dlopen+set}" = Xset; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lsvld $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo $progname:1697: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_lib_svld_dlopen=yes else @@ -1706,14 +1713,14 @@ if test "X$ac_cv_lib_svld_dlopen" = Xyes else echo "$ac_t""no" 1>&6 echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6 -echo "$progname:1709: checking for dld_link in -ldld" >&5 +echo "$progname:1716: checking for dld_link in -ldld" >&5 if test "X${ac_cv_lib_dld_dld_link+set}" = Xset; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-ldld $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo $progname:1736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_lib_dld_dld_link=yes else @@ -1745,12 +1752,12 @@ if test "X$ac_cv_lib_dld_dld_link" = Xye else echo "$ac_t""no" 1>&6 echo $ac_n "checking for shl_load""... $ac_c" 1>&6 -echo "$progname:1748: checking for shl_load" >&5 +echo "$progname:1755: checking for shl_load" >&5 if test "X${ac_cv_func_shl_load+set}" = Xset; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -1775,7 +1782,7 @@ shl_load(); ; return 0; } EOF -if { (eval echo $progname:1778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo $progname:1785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_shl_load=yes else @@ -1793,14 +1800,14 @@ if test "X$ac_cv_func_shl_load" = Xyes; else echo "$ac_t""no" 1>&6 echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "$progname:1796: checking for shl_load in -ldld" >&5 +echo "$progname:1803: checking for shl_load in -ldld" >&5 if test "X${ac_cv_lib_dld_shl_load+set}" = Xset; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-ldld $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo $progname:1824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_lib_dld_shl_load=yes else @@ -1861,18 +1868,18 @@ fi for ac_hdr in dlfcn.h; do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "$progname:1864: checking for $ac_hdr" >&5 +echo "$progname:1871: checking for $ac_hdr" >&5 if eval "test \"`echo 'X$''{'ac_cv_header_$ac_safe'+set}'`\" = Xset"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int fnord = 0; int main () { return(0); } EOF ac_try="$ac_compile >/dev/null 2>conftest.out" -{ (eval echo $progname:1875: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo $progname:1882: \"$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* @@ -1900,7 +1907,7 @@ done LIBS="$lt_cv_dlopen_libs $LIBS" echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6 -echo "$progname:1903: checking whether a program can dlopen itself" >&5 +echo "$progname:1910: checking whether a program can dlopen itself" >&5 if test "X${lt_cv_dlopen_self+set}" = Xset; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1908,7 +1915,7 @@ else lt_cv_dlopen_self=cross else cat > conftest.$ac_ext < @@ -1955,7 +1962,7 @@ int main() { if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } EOF -if { (eval echo $progname:1958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo $progname:1965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then lt_cv_dlopen_self=yes else @@ -1974,7 +1981,7 @@ echo "$ac_t""$lt_cv_dlopen_self" 1>&6 if test "$lt_cv_dlopen_self" = yes; then LDFLAGS="$LDFLAGS $link_static_flag" echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6 -echo "$progname:1977: checking whether a statically linked program can dlopen itself" >&5 +echo "$progname:1984: checking whether a statically linked program can dlopen itself" >&5 if test "X${lt_cv_dlopen_self_static+set}" = Xset; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1982,7 +1989,7 @@ else lt_cv_dlopen_self_static=cross else cat > conftest.$ac_ext < @@ -2029,7 +2036,7 @@ int main() { if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } EOF -if { (eval echo $progname:2032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo $progname:2039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then lt_cv_dlopen_self_static=yes else diff -uprN binutils-2.11.90.0.8/ltmain.sh binutils-2.11.90.0.15/ltmain.sh --- binutils-2.11.90.0.8/ltmain.sh Tue Apr 24 09:28:46 2001 +++ binutils-2.11.90.0.15/ltmain.sh Fri Jun 1 21:47:07 2001 @@ -56,7 +56,7 @@ modename="$progname" PROGRAM=ltmain.sh PACKAGE=libtool VERSION=1.4a -TIMESTAMP=" (1.641.2.228 2001/04/20 08:53:18)" +TIMESTAMP=" (1.641.2.256 2001/05/28 20:09:07)" default_mode= help="Try \`$progname --help' for more information." @@ -246,6 +246,11 @@ if test -n "$prevopt"; then exit 1 fi +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + if test -z "$show_help"; then # Infer the operation mode. @@ -1110,7 +1115,7 @@ EOF continue ;; esac - fi + fi # test -n $prev prevarg="$arg" @@ -1151,7 +1156,7 @@ EOF -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: not more than one -exported-symbols argument allowed" + $echo "$modename: more than one -exported-symbols argument is not allowed" exit 1 fi if test "X$arg" = "X-export-symbols"; then @@ -1173,7 +1178,7 @@ EOF esac continue ;; - + -L*) dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` # We need an absolute path. @@ -1207,28 +1212,15 @@ EOF ;; -l*) - if test "$arg" = "-lc"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) - # These systems don't actually have c library (as such) - continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs -framework System" - continue - ;; - esac - elif test "$arg" = "-lm"; then + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-pw32* | *-*-beos*) - # These systems don't actually have math library (as such) + # These systems don't actually have a C or math library (as such) continue ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody math library is in the System framework - deplibs="$deplibs -framework System" - continue + *-*-mingw* | *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue ;; esac fi @@ -1255,9 +1247,7 @@ EOF $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 fast_install=no ;; - *) - no_install=yes - ;; + *) no_install=yes ;; esac continue ;; @@ -1307,7 +1297,7 @@ EOF ;; -static) - # The effects of -static are defined in a previous loop. + # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least @@ -1517,14 +1507,14 @@ EOF ;; esac ;; - esac + esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" fi - done + done # argument parsing loop if test -n "$prev"; then $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 @@ -1582,7 +1572,6 @@ EOF finalize_command="$finalize_command $arg" fi - oldlibs= # calculate the name of the file, without its directory outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` libobjs_save="$libobjs" @@ -1656,8 +1645,8 @@ EOF newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries - uninst_deplibs= # uninstalled libtool libraries - uninst_path= # paths that contain uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv link" @@ -1679,34 +1668,29 @@ EOF newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; - *) passes="conv" + *) passes="conv" ;; esac for pass in $passes; do - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi if test $linkmode = prog; then + # Determine which files to process case $pass in - dlopen) libs="$dlfiles" ;; + dlopen) + libs="$dlfiles" + save_deplibs="$deplibs" # Collect dlpreopened libraries + deplibs= + ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi - if test $pass = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi for deplib in $libs; do lib= found=no case $deplib in -l*) - if test $linkmode != lib && test $linkmode != prog; then - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + if test $linkmode = oldlib && test $linkmode = obj; then + $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2 continue fi if test $pass = conv; then @@ -1723,6 +1707,7 @@ EOF fi done if test "$found" != yes; then + # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" @@ -1732,7 +1717,7 @@ EOF fi continue fi - ;; + ;; # -l -L*) case $linkmode in lib) @@ -1755,11 +1740,11 @@ EOF fi ;; *) - $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2 ;; - esac + esac # linkmode continue - ;; + ;; # -L -R*) if test $pass = link; then dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` @@ -1803,21 +1788,17 @@ EOF fi continue ;; - esac - ;; + esac # linkmode + ;; # *.$libext *.lo | *.$objext) - if test $pass = conv; then - deplibs="$deplib $deplibs" - elif test $linkmode = prog; then - if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi + if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" fi continue ;; @@ -1825,7 +1806,7 @@ EOF alldeplibs=yes continue ;; - esac + esac # case $deplib if test $found = yes || test -f "$lib"; then : else $echo "$modename: cannot find the library \`$lib'" 1>&2 @@ -1860,13 +1841,14 @@ EOF if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || - { test $linkmode != prog && test $linkmode != lib; }; then + { test $linkmode = oldlib && test $linkmode = obj; }; then + # Add dl[pre]opened files of deplib test -n "$dlopen" && dlfiles="$dlfiles $dlopen" test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" fi if test $pass = conv; then - # only check for convenience libraries + # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then @@ -1889,7 +1871,7 @@ EOF exit 1 fi continue - fi + fi # $pass = conv # Get the name of the library we link against. linklib= @@ -1909,15 +1891,13 @@ EOF fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" + # statically, we need to preload. + dlprefiles="$dlprefiles $lib" else newdlfiles="$newdlfiles $lib" fi continue - fi + fi # $pass = dlopen # We need an absolute path. case $ladir in @@ -1948,8 +1928,8 @@ EOF dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later - uninst_path="$uninst_path $abs_ladir" - fi + notinst_path="$notinst_path $abs_ladir" + fi # $installed = yes name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` # This library was specified with -dlpreopen. @@ -1968,17 +1948,17 @@ EOF else newdlprefiles="$newdlprefiles $dir/$linklib" fi - fi + fi # $pass = dlpreopen if test -z "$libdir"; then - # link the convenience library + # Link the convenience library if test $linkmode = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else - deplibs="$lib $deplibs" # used for prog,scan pass + deplibs="$lib $deplibs" fi continue fi @@ -2010,23 +1990,17 @@ EOF *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac tmp_libs="$tmp_libs $deplib" - done + done # for deplib continue - fi + fi # $linkmode = prog... - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var"; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $dir" ;; - esac - fi + link_static=no # Whether the deplib will be linked statically + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # Link against this shared library + if test "$linkmode,$pass" = "prog,link" || + { test $linkmode = lib && test $hardcode_into_libs = yes; }; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. @@ -2039,7 +2013,6 @@ EOF esac ;; esac - case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) @@ -2049,7 +2022,18 @@ EOF esac ;; esac - fi + if test $linkmode = prog; then + # We need to hardcode the library path + if test -n "$shlibpath_var"; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $dir" ;; + esac + fi + fi + fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || @@ -2058,40 +2042,11 @@ EOF # We only need to search for static libraries continue fi - fi - link_static=no # Whether the deplib will be linked statically - if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then if test "$installed" = no; then - uninst_deplibs="$uninst_deplibs $lib" + notinst_deplibs="$notinst_deplibs $lib" need_relink=yes fi - # This is a shared library - if test $linkmode = lib && - test $hardcode_into_libs = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname @@ -2149,7 +2104,7 @@ EOF # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib - fi + fi # test -n $old_archive_from_expsyms_cmds if test $linkmode = prog || test "$mode" != relink; then add_shlibpath= @@ -2248,6 +2203,15 @@ EOF fi fi elif test $linkmode = prog; then + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + + # Try to link the static library # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. @@ -2264,6 +2228,7 @@ EOF if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. + # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo @@ -2271,13 +2236,30 @@ EOF echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + echo "*** Therefore, libtool will create a static module, that should work " + echo "*** as long as the dlopening application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi else convenience="$convenience $dir/$old_library" old_convenience="$old_convenience $dir/$old_library" deplibs="$dir/$old_library $deplibs" link_static=yes fi - fi + fi # link shared/static library? if test $linkmode = lib; then if test -n "$dependency_libs" && @@ -2351,10 +2333,9 @@ EOF *) deplibs="$path $deplibs" ;; esac done - fi - fi - done - dependency_libs="$newdependency_libs" + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs if test $pass = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do @@ -2362,6 +2343,7 @@ EOF done fi if test $pass != dlopen; then + test $pass != scan && dependency_libs="$newdependency_libs" if test $pass != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= @@ -2384,40 +2366,20 @@ EOF eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac + -L*) new_libs="$deplib $new_libs" ;; + *) + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac done tmp_libs= for deplib in $new_libs; do @@ -2432,9 +2394,14 @@ EOF esac done eval $var=\"$tmp_libs\" - done + done # for var fi - done + if test "$pass" = "conv" && + { test "$linkmode" = "lib" || test "$linkmode" = "prog"; }; then + libs="$deplibs" # reset libs + deplibs= + fi + done # for pass if test $linkmode = prog; then dlfiles="$newdlfiles" dlprefiles="$newdlprefiles" @@ -2442,10 +2409,6 @@ EOF case $linkmode in oldlib) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 - fi - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 fi @@ -2737,7 +2700,7 @@ EOF fi # Eliminate all temporary directories. - for path in $uninst_path; do + for path in $notinst_path; do lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'` deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'` dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'` @@ -2788,11 +2751,14 @@ EOF # Rhapsody C library is in the System framework deplibs="$deplibs -framework System" ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; *) - # Add libc to deplibs on all other systems if necessary. - if test $build_libtool_need_lc = "yes"; then - deplibs="$deplibs -lc" - fi + # Add libc to deplibs on all other systems if necessary. + if test $build_libtool_need_lc = "yes"; then + deplibs="$deplibs -lc" + fi ;; esac fi @@ -2836,7 +2802,7 @@ EOF for i in $deplibs; do name="`expr $i : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. - if test "$name" != "" -a "$name" != "0"; then + if test -n "$name" && test "$name" != "0"; then libname=`eval \\$echo \"$libname_spec\"` deplib_matches=`eval \\$echo \"$library_names_spec\"` set dummy $deplib_matches @@ -2861,7 +2827,7 @@ EOF for i in $deplibs; do name="`expr $i : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. - if test "$name" != "" -a "$name" != "0"; then + if test -n "$name" && test "$name" != "0"; then $rm conftest $LTCC -o conftest conftest.c $i # Did it work? @@ -2901,7 +2867,7 @@ EOF for a_deplib in $deplibs; do name="`expr $a_deplib : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. - if test "$name" != "" -a "$name" != "0"; then + if test -n "$name" && test "$name" != "0"; then libname=`eval \\$echo \"$libname_spec\"` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` @@ -2953,7 +2919,7 @@ EOF for a_deplib in $deplibs; do name="`expr $a_deplib : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. - if test "$name" != "" -a "$name" != "0"; then + if test -n "$name" && test "$name" != "0"; then libname=`eval \\$echo \"$libname_spec\"` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` @@ -3003,6 +2969,13 @@ EOF libname=$libname_save name=$name_save + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + if test "$droppeddeps" = yes; then if test "$module" = yes; then echo @@ -3122,9 +3095,7 @@ EOF else soname="$realname" fi - if test x$dlname = x; then - dlname=$soname - fi + test -z "$dlname" && dlname=$soname lib="$output_objdir/$realname" for link @@ -3535,7 +3506,7 @@ EOF prog) case $host in - *cygwin*) output=`echo $output | sed -e 's,.exe$,,;s,$,.exe,'` ;; + *cygwin*) output=`echo $output | sed -e 's,.exe$,,;s,$,.exe,'` ;; esac if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 @@ -3552,6 +3523,14 @@ EOF fi fi + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" @@ -4014,7 +3993,7 @@ relink_command=\"$relink_command > /dev/ # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variable: - uninst_deplibs='$uninst_deplibs' + notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$echo are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then @@ -4082,8 +4061,9 @@ else # relink executable if necessary if test -n \"\$relink_command\"; then - if (eval \$relink_command); then : + if relink_command_output=\`eval \$relink_command 2>&1\`; then : else + $echo \"\$relink_command_output\" >&2 $rm \"\$progdir/\$file\" exit 1 fi @@ -4735,7 +4715,7 @@ relink_command=\"$relink_command\"" # Do a test to see if this is really a libtool program. if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - uninst_deplibs= + notinst_deplibs= relink_command= # If there is no directory component, then add one. @@ -4745,13 +4725,13 @@ relink_command=\"$relink_command\"" esac # Check the variables that should have been set. - if test -z "$uninst_deplibs"; then + if test -z "$notinst_deplibs"; then $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 exit 1 fi finalize=yes - for lib in $uninst_deplibs; do + for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then @@ -4866,11 +4846,10 @@ relink_command=\"$relink_command\"" if test -n "$current_libdirs"; then # Maybe just do a dry run. test -n "$run" && current_libdirs=" -n$current_libdirs" - exec $SHELL $0 --finish$current_libdirs - exit 1 + exec_cmd='$SHELL $0 --finish$current_libdirs' + else + exit 0 fi - - exit 0 ;; # libtool finish mode @@ -4908,7 +4887,7 @@ relink_command=\"$relink_command\"" fi # Exit here if they wanted silent mode. - test "$show" = : && exit 0 + test "$show" = ":" && exit 0 echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" @@ -5073,11 +5052,8 @@ relink_command=\"$relink_command\"" LANG="$save_LANG"; export LANG fi - # Now actually exec the command. - eval "exec \$cmd$args" - - $echo "$modename: cannot exec \$cmd$args" - exit 1 + # Now prepare to actually exec the command. + exec_cmd='"$cmd"$args' else # Display what would be done. if test -n "$shlibpath_var"; then @@ -5131,14 +5107,16 @@ relink_command=\"$relink_command\"" # Remember objdir for removal later, being careful to avoid duplicates if test $mode = clean; then - case " $rmdirs " in + case " $rmdirs " in *" $objdir "*) ;; *) rmdirs="$rmdirs $objdir" ;; esac fi - + # Don't error if the file doesn't exist and rm -f was used. - if test -L "$file" >/dev/null 2>&1 || test -f "$file"; then + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then : elif test -d "$file"; then exit_status=1 @@ -5239,8 +5217,8 @@ relink_command=\"$relink_command\"" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then - $show "rmdir $dir" - $run rmdir $dir >/dev/null 2>&1 + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 fi done @@ -5254,11 +5232,18 @@ relink_command=\"$relink_command\"" ;; esac - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit 1 + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit 1 + fi fi # test -z "$show_help" +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit 1 +fi + # We need to display help for each of the modes. case $mode in "") $echo \ @@ -5316,6 +5301,8 @@ Compile a source file into a libtool lib This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only -static always build a \`.o' file suitable for static linking COMPILE-COMMAND is a command to be used in creating a \`standard' object file diff -uprN binutils-2.11.90.0.8/opcodes/ChangeLog binutils-2.11.90.0.15/opcodes/ChangeLog --- binutils-2.11.90.0.8/opcodes/ChangeLog Sat May 12 08:20:52 2001 +++ binutils-2.11.90.0.15/opcodes/ChangeLog Sun Jun 10 10:55:09 2001 @@ -1,3 +1,91 @@ +2001-06-10 Alan Modra + + * configure.in: Sort 'ta' case statement. + * configure: Regenerate. + + * i386-dis.c (dis386_att): Add 'H' to conditional branch and + loop,jcxz insns. + (disx86_64_att): Likewise. + (dis386_twobyte_att): Likewise. + (print_insn_i386): Don't print branch hints as a prefix. + (putop): 'H' macro prints branch hints. + (get64): Kill compile warnings. + +2001-06-09 Alexandre Oliva + + * sh-opc.h (sh_table): Don't use empty initializers. + +2001-06-06 Christian Groessler + + * z8k-dis.c: Fix formatting. + (unpack_instr): Remove unused cases in switch statement. Add + safety abort() in default case. + (unparse_instr): Add safety abort() in default case. + +2001-06-06 Peter Jakubek + + * m68k-dis.c (print_insn_m68k): Fix typo. + * m68k-opc.c (m68k_opcodes): Correct allowed operands for + mcf (ColdFire) div, rem and moveb instructions. + +2001-06-06 Alan Modra + + * i386-dis.c (cond_jump_flag, loop_jcxz_flag): Define. + (cond_jump_mode, loop_jcxz_mode): Define. + (dis386_att): Add cond_jump_flag and loop_jcxz_flag as + appropriate, and 'F' suffix to loop insns. + (disx86_64_att): Likewise. + (dis386_twobyte_att): Likewise. + (print_insn_i386): Don't output addr prefix for loop, jcxz insns. + Output data size prefix for long conditional jumps. Output cs and + ds branch hints. + (putop): Handle 'F', and mark PREFIX_ADDR used for case 'E'. + (OP_J): Don't make PREFIX_DATA used. + +2001-06-04 Alexandre Oliva + + * sh-opc.h (sh_table): Complete last element entry to avoid + compiler warning. + +2001-05-16 Thiemo Seufer + + * mips-dis.c (mips_isa_type): Add MIPS r12k support. + +2001-05-23 Alan Modra + + * arc-opc.c: Whitespace changes. + +2001-05-18 Hans-Peter Nilsson + + * cris-opc.c (cris_spec_regs): Add missing initializer field for + last element. + +2001-05-15 Frank Ch. Eigler + + * cgen-dis.in (extract_normal): Complete support for min + + * mips-dis.c (INSNLEN): Rename MAXLEN. + (std_reg_names): Replace by mips32_reg_names and mips64_reg_names. + (print_insn_arg): Remove $ prefix of register names. + (set_mips_isa_type): Remove. + (mips_isa_type): New function. + (get_mips_isa): New Function. + (print_insn_mips): Rename _print_insn_mips. + (_print_insn_mips): New function, contains code which was + duplicated in print_insn_big_mips and print_insn_little_mips. + (print_insn_big_mips): Moved code to _print_insn_mips. + (print_insn_little_mips): Likewise. + (print_mips16_insn_arg): Remove $ prefix of register names. + Print error message before abort. + +2001-05-14 J.T. Conklin + + * ppc-opc.c (powerpc_opcodes): Fixed extended opcode field of + simplified mnemonics used for setting PPC750-specific special + purpose registers. + 2001-05-12 H.J. Lu * i386-dis.c (print_insn_i386): Always set `mod', `reg' and diff -uprN binutils-2.11.90.0.8/opcodes/arc-opc.c binutils-2.11.90.0.15/opcodes/arc-opc.c --- binutils-2.11.90.0.8/opcodes/arc-opc.c Sat May 12 08:20:54 2001 +++ binutils-2.11.90.0.15/opcodes/arc-opc.c Wed May 23 10:53:26 2001 @@ -654,7 +654,7 @@ arc_opcode_init_insert () int arc_opcode_limm_p (limmp) - long *limmp; + long *limmp; { if (limmp) *limmp = limm; @@ -668,12 +668,12 @@ arc_opcode_limm_p (limmp) static arc_insn insert_reg (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand; - int mods; - const struct arc_operand_value *reg; - long value; - const char **errmsg; + arc_insn insn; + const struct arc_operand *operand; + int mods; + const struct arc_operand_value *reg; + long value; + const char **errmsg; { static char buf[100]; enum operand op_type = OP_NONE; @@ -800,12 +800,12 @@ insert_reg (insn, operand, mods, reg, va static arc_insn insert_flag (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand ATTRIBUTE_UNUSED; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value ATTRIBUTE_UNUSED; - const char **errmsg ATTRIBUTE_UNUSED; + arc_insn insn; + const struct arc_operand *operand ATTRIBUTE_UNUSED; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value ATTRIBUTE_UNUSED; + const char **errmsg ATTRIBUTE_UNUSED; { /* We can't store anything in the insn until we've parsed the registers. Just record the fact that we've got this flag. `insert_reg' will use it @@ -818,12 +818,12 @@ insert_flag (insn, operand, mods, reg, v static arc_insn insert_nullify (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value; - const char **errmsg ATTRIBUTE_UNUSED; + arc_insn insn; + const struct arc_operand *operand; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value; + const char **errmsg ATTRIBUTE_UNUSED; { nullify_p = 1; insn |= (value & ((1 << operand->bits) - 1)) << operand->shift; @@ -837,12 +837,12 @@ insert_nullify (insn, operand, mods, reg static arc_insn insert_flagfinish (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value ATTRIBUTE_UNUSED; - const char **errmsg ATTRIBUTE_UNUSED; + arc_insn insn; + const struct arc_operand *operand; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value ATTRIBUTE_UNUSED; + const char **errmsg ATTRIBUTE_UNUSED; { if (flag_p && !flagshimm_handled_p) { @@ -858,12 +858,12 @@ insert_flagfinish (insn, operand, mods, static arc_insn insert_cond (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value; - const char **errmsg ATTRIBUTE_UNUSED; + arc_insn insn; + const struct arc_operand *operand; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value; + const char **errmsg ATTRIBUTE_UNUSED; { cond_p = 1; insn |= (value & ((1 << operand->bits) - 1)) << operand->shift; @@ -878,12 +878,12 @@ insert_cond (insn, operand, mods, reg, v static arc_insn insert_forcelimm (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand ATTRIBUTE_UNUSED; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value ATTRIBUTE_UNUSED; - const char **errmsg ATTRIBUTE_UNUSED; + arc_insn insn; + const struct arc_operand *operand ATTRIBUTE_UNUSED; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value ATTRIBUTE_UNUSED; + const char **errmsg ATTRIBUTE_UNUSED; { cond_p = 1; return insn; @@ -891,12 +891,12 @@ insert_forcelimm (insn, operand, mods, r static arc_insn insert_addr_wb (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value ATTRIBUTE_UNUSED; - const char **errmsg ATTRIBUTE_UNUSED; + arc_insn insn; + const struct arc_operand *operand; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value ATTRIBUTE_UNUSED; + const char **errmsg ATTRIBUTE_UNUSED; { addrwb_p = 1 << operand->shift; return insn; @@ -904,12 +904,12 @@ insert_addr_wb (insn, operand, mods, reg static arc_insn insert_base (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand; - int mods; - const struct arc_operand_value *reg; - long value; - const char **errmsg; + arc_insn insn; + const struct arc_operand *operand; + int mods; + const struct arc_operand_value *reg; + long value; + const char **errmsg; { if (reg != NULL) { @@ -955,12 +955,12 @@ insert_base (insn, operand, mods, reg, v static arc_insn insert_offset (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand; - int mods; - const struct arc_operand_value *reg; - long value; - const char **errmsg; + arc_insn insn; + const struct arc_operand *operand; + int mods; + const struct arc_operand_value *reg; + long value; + const char **errmsg; { long minval, maxval; @@ -1050,11 +1050,11 @@ insert_offset (insn, operand, mods, reg, static long extract_st_syntax (insn, operand, mods, opval, invalid) - arc_insn *insn; - const struct arc_operand *operand ATTRIBUTE_UNUSED; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value **opval ATTRIBUTE_UNUSED; - int *invalid; + arc_insn *insn; + const struct arc_operand *operand ATTRIBUTE_UNUSED; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value **opval ATTRIBUTE_UNUSED; + int *invalid; { #define ST_SYNTAX(V,B,O) \ ((ls_operand[LS_VALUE] == (V) && \ @@ -1081,7 +1081,7 @@ extract_st_syntax (insn, operand, mods, int arc_limm_fixup_adjust(insn) - arc_insn insn; + arc_insn insn; { int retval = 0; @@ -1100,12 +1100,12 @@ arc_limm_fixup_adjust(insn) static arc_insn insert_st_syntax (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand ATTRIBUTE_UNUSED; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value ATTRIBUTE_UNUSED; - const char **errmsg; + arc_insn insn; + const struct arc_operand *operand ATTRIBUTE_UNUSED; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value ATTRIBUTE_UNUSED; + const char **errmsg; { if (ST_SYNTAX(OP_SHIMM,OP_REG,OP_NONE) && shimm != 0) { @@ -1185,12 +1185,12 @@ insert_st_syntax (insn, operand, mods, r static arc_insn insert_ld_syntax (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand ATTRIBUTE_UNUSED; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value ATTRIBUTE_UNUSED; - const char **errmsg; + arc_insn insn; + const struct arc_operand *operand ATTRIBUTE_UNUSED; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value ATTRIBUTE_UNUSED; + const char **errmsg; { #define LD_SYNTAX(D,B,O) \ ((ls_operand[LS_DEST] == (D) && \ @@ -1226,11 +1226,11 @@ insert_ld_syntax (insn, operand, mods, r static long extract_ld_syntax (insn, operand, mods, opval, invalid) - arc_insn *insn; - const struct arc_operand *operand ATTRIBUTE_UNUSED; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value **opval ATTRIBUTE_UNUSED; - int *invalid; + arc_insn *insn; + const struct arc_operand *operand ATTRIBUTE_UNUSED; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value **opval ATTRIBUTE_UNUSED; + int *invalid; { int test = insn[0] & I(-1); @@ -1257,12 +1257,12 @@ extract_ld_syntax (insn, operand, mods, static arc_insn insert_shimmfinish (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value ATTRIBUTE_UNUSED; - const char **errmsg ATTRIBUTE_UNUSED; + arc_insn insn; + const struct arc_operand *operand; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value ATTRIBUTE_UNUSED; + const char **errmsg ATTRIBUTE_UNUSED; { if (shimm_p) insn |= (shimm & ((1 << operand->bits) - 1)) << operand->shift; @@ -1283,12 +1283,12 @@ insert_shimmfinish (insn, operand, mods, static arc_insn insert_limmfinish (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand ATTRIBUTE_UNUSED; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value ATTRIBUTE_UNUSED; - const char **errmsg ATTRIBUTE_UNUSED; + arc_insn insn; + const struct arc_operand *operand ATTRIBUTE_UNUSED; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value ATTRIBUTE_UNUSED; + const char **errmsg ATTRIBUTE_UNUSED; { #if 0 if (limm_p) @@ -1299,12 +1299,12 @@ insert_limmfinish (insn, operand, mods, static arc_insn insert_jumpflags (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value; - const char **errmsg; + arc_insn insn; + const struct arc_operand *operand; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value; + const char **errmsg; { if (!flag_p) { @@ -1336,12 +1336,12 @@ insert_jumpflags (insn, operand, mods, r static arc_insn insert_unopmacro (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value ATTRIBUTE_UNUSED; - const char **errmsg ATTRIBUTE_UNUSED; + arc_insn insn; + const struct arc_operand *operand; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value ATTRIBUTE_UNUSED; + const char **errmsg ATTRIBUTE_UNUSED; { insn |= ((insn >> ARC_SHIFT_REGB) & ARC_MASK_REG) << operand->shift; return insn; @@ -1351,12 +1351,12 @@ insert_unopmacro (insn, operand, mods, r static arc_insn insert_reladdr (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value; - const char **errmsg; + arc_insn insn; + const struct arc_operand *operand; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value; + const char **errmsg; { if (value & 3) *errmsg = "branch address not on 4 byte boundary"; @@ -1380,12 +1380,12 @@ insert_reladdr (insn, operand, mods, reg static arc_insn insert_absaddr (insn, operand, mods, reg, value, errmsg) - arc_insn insn; - const struct arc_operand *operand ATTRIBUTE_UNUSED; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value *reg ATTRIBUTE_UNUSED; - long value ATTRIBUTE_UNUSED; - const char **errmsg; + arc_insn insn; + const struct arc_operand *operand ATTRIBUTE_UNUSED; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value *reg ATTRIBUTE_UNUSED; + long value ATTRIBUTE_UNUSED; + const char **errmsg; { if (limm_p) { @@ -1434,11 +1434,11 @@ arc_opcode_init_extract () static long extract_reg (insn, operand, mods, opval, invalid) - arc_insn *insn; - const struct arc_operand *operand; - int mods; - const struct arc_operand_value **opval; - int *invalid ATTRIBUTE_UNUSED; + arc_insn *insn; + const struct arc_operand *operand; + int mods; + const struct arc_operand_value **opval; + int *invalid ATTRIBUTE_UNUSED; { int regno; long value; @@ -1550,11 +1550,11 @@ extract_reg (insn, operand, mods, opval, static long extract_flag (insn, operand, mods, opval, invalid) - arc_insn *insn; - const struct arc_operand *operand; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value **opval; - int *invalid ATTRIBUTE_UNUSED; + arc_insn *insn; + const struct arc_operand *operand; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value **opval; + int *invalid ATTRIBUTE_UNUSED; { int f; const struct arc_operand_value *val; @@ -1581,11 +1581,11 @@ extract_flag (insn, operand, mods, opval static long extract_cond (insn, operand, mods, opval, invalid) - arc_insn *insn; - const struct arc_operand *operand; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value **opval; - int *invalid ATTRIBUTE_UNUSED; + arc_insn *insn; + const struct arc_operand *operand; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value **opval; + int *invalid ATTRIBUTE_UNUSED; { long cond; const struct arc_operand_value *val; @@ -1608,11 +1608,11 @@ extract_cond (insn, operand, mods, opval static long extract_reladdr (insn, operand, mods, opval, invalid) - arc_insn *insn; - const struct arc_operand *operand; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value **opval ATTRIBUTE_UNUSED; - int *invalid ATTRIBUTE_UNUSED; + arc_insn *insn; + const struct arc_operand *operand; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value **opval ATTRIBUTE_UNUSED; + int *invalid ATTRIBUTE_UNUSED; { long addr; @@ -1626,11 +1626,11 @@ extract_reladdr (insn, operand, mods, op /* extract the flags bits from a j or jl long immediate. */ static long extract_jumpflags(insn, operand, mods, opval, invalid) - arc_insn *insn; - const struct arc_operand *operand; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value **opval ATTRIBUTE_UNUSED; - int *invalid; + arc_insn *insn; + const struct arc_operand *operand; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value **opval ATTRIBUTE_UNUSED; + int *invalid; { if (!flag_p || !limm_p) *invalid = 1; @@ -1642,11 +1642,11 @@ extract_jumpflags(insn, operand, mods, o static long extract_st_offset (insn, operand, mods, opval, invalid) - arc_insn *insn; - const struct arc_operand *operand; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value **opval ATTRIBUTE_UNUSED; - int *invalid; + arc_insn *insn; + const struct arc_operand *operand; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value **opval ATTRIBUTE_UNUSED; + int *invalid; { int value = 0; @@ -1669,11 +1669,11 @@ extract_st_offset (insn, operand, mods, static long extract_ld_offset (insn, operand, mods, opval, invalid) - arc_insn *insn; - const struct arc_operand *operand; - int mods; - const struct arc_operand_value **opval; - int *invalid; + arc_insn *insn; + const struct arc_operand *operand; + int mods; + const struct arc_operand_value **opval; + int *invalid; { int test = insn[0] & I(-1); int value; @@ -1698,11 +1698,11 @@ extract_ld_offset (insn, operand, mods, static long extract_unopmacro (insn, operand, mods, opval, invalid) - arc_insn *insn; - const struct arc_operand *operand ATTRIBUTE_UNUSED; - int mods ATTRIBUTE_UNUSED; - const struct arc_operand_value **opval ATTRIBUTE_UNUSED; - int *invalid; + arc_insn *insn; + const struct arc_operand *operand ATTRIBUTE_UNUSED; + int mods ATTRIBUTE_UNUSED; + const struct arc_operand_value **opval ATTRIBUTE_UNUSED; + int *invalid; { /* This misses the case where B == ARC_REG_SHIMM_UPDATE && C == ARC_REG_SHIMM (or vice versa). No big deal. Those insns will get @@ -1719,8 +1719,8 @@ extract_unopmacro (insn, operand, mods, const struct arc_operand_value * arc_opcode_lookup_suffix (type, value) - const struct arc_operand *type; - int value; + const struct arc_operand *type; + int value; { register const struct arc_operand_value *v,*end; struct arc_ext_operand_value *ext_oper = arc_ext_operands; @@ -1744,8 +1744,8 @@ arc_opcode_lookup_suffix (type, value) static const struct arc_operand_value * lookup_register (type, regno) - int type; - long regno; + int type; + long regno; { register const struct arc_operand_value *r,*end; struct arc_ext_operand_value *ext_oper = arc_ext_operands; @@ -1771,14 +1771,14 @@ lookup_register (type, regno) int arc_insn_is_j(insn) - arc_insn insn; + arc_insn insn; { return (insn & (I(-1))) == I(0x7); } int arc_insn_not_jl(insn) - arc_insn insn; + arc_insn insn; { return ((insn & (I(-1)|A(-1)|C(-1)|R(-1,7,1)|R(-1,9,1))) != (I(0x7) | R(-1,9,1))); @@ -1804,7 +1804,7 @@ arc_operand_type(int opertype) struct arc_operand_value * get_ext_suffix(s) - char *s; + char *s; { struct arc_ext_operand_value *suffix = arc_ext_operands; diff -uprN binutils-2.11.90.0.8/opcodes/cgen-dis.in binutils-2.11.90.0.15/opcodes/cgen-dis.in --- binutils-2.11.90.0.8/opcodes/cgen-dis.in Sat May 12 00:04:41 2001 +++ binutils-2.11.90.0.15/opcodes/cgen-dis.in Mon May 21 10:34:08 2001 @@ -300,7 +300,7 @@ print_insn (cd, pc, info, buf, buflen) } else length = CGEN_EXTRACT_FN (cd, insn) - (cd, insn, &ex_info, insn_value, &fields, pc); + (cd, insn, &ex_info, insn_value_cropped, &fields, pc); /* length < 0 -> error */ if (length < 0) diff -uprN binutils-2.11.90.0.8/opcodes/configure binutils-2.11.90.0.15/opcodes/configure --- binutils-2.11.90.0.8/opcodes/configure Fri Apr 27 14:04:01 2001 +++ binutils-2.11.90.0.15/opcodes/configure Sun Jun 10 10:55:09 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 @@ -721,7 +732,7 @@ test "$host_alias" != "$target_alias" && echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6 -echo "configure:725: checking for strerror in -lcposix" >&5 +echo "configure:736: checking for strerror in -lcposix" >&5 ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -729,7 +740,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcposix $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:755: \"$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 @@ -780,7 +791,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:784: checking for a BSD compatible install" >&5 +echo "configure:795: 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 @@ -833,7 +844,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:837: checking whether build environment is sane" >&5 +echo "configure:848: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -890,7 +901,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:894: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:905: 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 @@ -936,7 +947,7 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:940: checking for working aclocal" >&5 +echo "configure:951: 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. @@ -949,7 +960,7 @@ else fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:953: checking for working autoconf" >&5 +echo "configure:964: 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. @@ -962,7 +973,7 @@ else fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:966: checking for working automake" >&5 +echo "configure:977: 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. @@ -975,7 +986,7 @@ else fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:979: checking for working autoheader" >&5 +echo "configure:990: 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. @@ -988,7 +999,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:992: checking for working makeinfo" >&5 +echo "configure:1003: 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. @@ -1011,7 +1022,7 @@ fi # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1015: checking for $ac_word" >&5 +echo "configure:1026: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1043,7 +1054,7 @@ fi # 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:1047: checking for $ac_word" >&5 +echo "configure:1058: 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 @@ -1075,7 +1086,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:1079: checking for $ac_word" >&5 +echo "configure:1090: 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 @@ -1181,7 +1192,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:1185: checking for $ac_word" >&5 +echo "configure:1196: 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 @@ -1211,7 +1222,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:1215: checking for $ac_word" >&5 +echo "configure:1226: 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 @@ -1262,7 +1273,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:1266: checking for $ac_word" >&5 +echo "configure:1277: 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 @@ -1294,7 +1305,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1298: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1309: 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. @@ -1305,12 +1316,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 1309 "configure" +#line 1320 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1325: \"$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 @@ -1336,12 +1347,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:1340: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1351: 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:1345: checking whether we are using GNU C" >&5 +echo "configure:1356: 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 @@ -1350,7 +1361,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1354: \"$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:1365: \"$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 @@ -1369,7 +1380,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:1373: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1384: 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 @@ -1412,7 +1423,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:1416: checking for ld used by GCC" >&5 +echo "configure:1427: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -1442,10 +1453,10 @@ echo "configure:1416: 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:1446: checking for GNU ld" >&5 +echo "configure:1457: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1449: checking for non-GNU ld" >&5 +echo "configure:1460: 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 @@ -1480,7 +1491,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:1484: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:1495: 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 @@ -1497,7 +1508,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:1501: checking for $LD option to reload object files" >&5 +echo "configure:1512: 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 @@ -1509,7 +1520,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:1513: checking for BSD-compatible nm" >&5 +echo "configure:1524: 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 @@ -1547,7 +1558,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:1551: checking whether ln -s works" >&5 +echo "configure:1562: 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 @@ -1568,7 +1579,7 @@ else fi echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 -echo "configure:1572: checking how to recognise dependant libraries" >&5 +echo "configure:1583: 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 @@ -1669,7 +1680,7 @@ irix5* | irix6*) # This must be Linux ELF. linux-gnu*) case $host_cpu in - alpha* | i*86 | powerpc* | sparc* | ia64* ) + alpha* | hppa* | 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 @@ -1708,6 +1719,10 @@ solaris*) lt_cv_file_magic_test_file=/lib/libc.so ;; +sysv5uw[78]* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) case $host_vendor in ncr) @@ -1728,13 +1743,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:1732: checking for object suffix" >&5 +echo "configure:1747: 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:1738: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1753: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -1754,7 +1769,7 @@ ac_objext=$ac_cv_objext echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1758: checking for executable suffix" >&5 +echo "configure:1773: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1764,10 +1779,10 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:1768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:1783: \"$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 @@ -1791,7 +1806,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:1795: checking for ${ac_tool_prefix}file" >&5 +echo "configure:1810: 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 @@ -1853,7 +1868,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:1857: checking for file" >&5 +echo "configure:1872: 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 @@ -1924,7 +1939,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:1928: checking for $ac_word" >&5 +echo "configure:1943: 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 @@ -1956,7 +1971,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:1960: checking for $ac_word" >&5 +echo "configure:1975: 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 @@ -1991,7 +2006,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:1995: checking for $ac_word" >&5 +echo "configure:2010: 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 @@ -2023,7 +2038,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:2027: checking for $ac_word" >&5 +echo "configure:2042: 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 @@ -2090,8 +2105,8 @@ test x"$pic_mode" = xno && libtool_flags case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 2094 "configure"' > conftest.$ac_ext - if { (eval echo configure:2095: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 2109 "configure"' > conftest.$ac_ext + if { (eval echo configure:2110: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" @@ -2112,7 +2127,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:2116: checking whether the C compiler needs -belf" >&5 +echo "configure:2131: 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 @@ -2125,14 +2140,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:2151: \"$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 @@ -2300,7 +2315,7 @@ if test -z "$target" ; then fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:2304: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:2319: 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" @@ -2325,7 +2340,7 @@ fi echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:2329: checking for executable suffix" >&5 +echo "configure:2344: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2335,10 +2350,10 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:2339: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:2354: \"$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 @@ -2361,7 +2376,7 @@ ac_exeext=$EXEEXT # 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:2365: checking for $ac_word" >&5 +echo "configure:2380: 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 @@ -2391,7 +2406,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:2395: checking for $ac_word" >&5 +echo "configure:2410: 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 @@ -2442,7 +2457,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:2446: checking for $ac_word" >&5 +echo "configure:2461: 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 @@ -2474,7 +2489,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:2478: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:2493: 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. @@ -2485,12 +2500,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 2489 "configure" +#line 2504 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:2494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2509: \"$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 @@ -2516,12 +2531,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:2520: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:2535: 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:2525: checking whether we are using GNU C" >&5 +echo "configure:2540: 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 @@ -2530,7 +2545,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2534: \"$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:2549: \"$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 @@ -2549,7 +2564,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:2553: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:2568: 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 @@ -2583,7 +2598,7 @@ fi ALL_LINGUAS= echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:2587: checking how to run the C preprocessor" >&5 +echo "configure:2602: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -2598,13 +2613,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:2608: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2623: \"$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 : @@ -2615,13 +2630,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:2625: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2640: \"$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 : @@ -2632,13 +2647,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:2642: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2657: \"$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 : @@ -2665,7 +2680,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:2669: checking for $ac_word" >&5 +echo "configure:2684: 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 @@ -2693,12 +2708,12 @@ else fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2697: checking for ANSI C header files" >&5 +echo "configure:2712: 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 @@ -2706,7 +2721,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2710: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2725: \"$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* @@ -2723,7 +2738,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 @@ -2741,7 +2756,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 @@ -2762,7 +2777,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2773,7 +2788,7 @@ if (XOR (islower (i), ISLOWER (i)) || to exit (0); } EOF -if { (eval echo configure:2777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2792: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2797,12 +2812,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2801: checking for working const" >&5 +echo "configure:2816: 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:2870: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2872,21 +2887,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2876: checking for inline" >&5 +echo "configure:2891: 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:2905: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2912,12 +2927,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2916: checking for off_t" >&5 +echo "configure:2931: 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 @@ -2945,12 +2960,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2949: checking for size_t" >&5 +echo "configure:2964: 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 @@ -2980,19 +2995,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:2984: checking for working alloca.h" >&5 +echo "configure:2999: 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:2996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3011: \"$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 @@ -3013,12 +3028,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:3017: checking for alloca" >&5 +echo "configure:3032: 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:3065: \"$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 @@ -3078,12 +3093,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:3082: checking whether alloca needs Cray hooks" >&5 +echo "configure:3097: 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:3112: checking for $ac_func" >&5 +echo "configure:3127: 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:3155: \"$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 @@ -3163,7 +3178,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:3167: checking stack direction for C alloca" >&5 +echo "configure:3182: 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 @@ -3171,7 +3186,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:3209: \"$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 @@ -3215,17 +3230,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:3219: checking for $ac_hdr" >&5 +echo "configure:3234: 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:3229: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3244: \"$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* @@ -3254,12 +3269,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3258: checking for $ac_func" >&5 +echo "configure:3273: 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:3301: \"$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 @@ -3307,7 +3322,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:3311: checking for working mmap" >&5 +echo "configure:3326: 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 @@ -3315,7 +3330,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:3474: \"$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 @@ -3483,17 +3498,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:3487: checking for $ac_hdr" >&5 +echo "configure:3502: 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:3497: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3512: \"$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* @@ -3523,12 +3538,12 @@ done __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3527: checking for $ac_func" >&5 +echo "configure:3542: 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:3570: \"$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 @@ -3580,12 +3595,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3584: checking for $ac_func" >&5 +echo "configure:3599: 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:3627: \"$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 @@ -3642,19 +3657,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3646: checking for LC_MESSAGES" >&5 +echo "configure:3661: 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:3658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3673: \"$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 @@ -3675,7 +3690,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3679: checking whether NLS is requested" >&5 +echo "configure:3694: 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" @@ -3695,7 +3710,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3699: checking whether included gettext is requested" >&5 +echo "configure:3714: 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" @@ -3714,17 +3729,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3718: checking for libintl.h" >&5 +echo "configure:3733: 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:3728: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3743: \"$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* @@ -3741,19 +3756,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:3745: checking for gettext in libc" >&5 +echo "configure:3760: 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:3757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3772: \"$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 @@ -3769,7 +3784,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:3773: checking for bindtextdomain in -lintl" >&5 +echo "configure:3788: 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 @@ -3777,7 +3792,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:3807: \"$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 @@ -3804,19 +3819,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:3808: checking for gettext in libintl" >&5 +echo "configure:3823: 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:3835: \"$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 @@ -3844,7 +3859,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:3848: checking for $ac_word" >&5 +echo "configure:3863: 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 @@ -3878,12 +3893,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3882: checking for $ac_func" >&5 +echo "configure:3897: 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:3925: \"$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 @@ -3933,7 +3948,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:3937: checking for $ac_word" >&5 +echo "configure:3952: 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 @@ -3969,7 +3984,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:3973: checking for $ac_word" >&5 +echo "configure:3988: 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 @@ -4001,7 +4016,7 @@ else fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -4041,7 +4056,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:4045: checking for $ac_word" >&5 +echo "configure:4060: 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 @@ -4075,7 +4090,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:4079: checking for $ac_word" >&5 +echo "configure:4094: 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 @@ -4111,7 +4126,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:4115: checking for $ac_word" >&5 +echo "configure:4130: 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 @@ -4201,7 +4216,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4205: checking for catalogs to be installed" >&5 +echo "configure:4220: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4229,17 +4244,17 @@ echo "configure:4205: 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:4233: checking for linux/version.h" >&5 +echo "configure:4248: 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:4243: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4258: \"$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* @@ -4316,7 +4331,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:4320: checking for a BSD compatible install" >&5 +echo "configure:4335: 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 @@ -4373,17 +4388,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:4377: checking for $ac_hdr" >&5 +echo "configure:4392: 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:4387: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4402: \"$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* @@ -4532,8 +4547,8 @@ if test x${all_targets} = xfalse ; then bfd_pdp11_arch) ta="$ta pdp11-dis.lo pdp11-opc.lo" ;; bfd_pj_arch) ta="$ta pj-dis.lo pj-opc.lo" ;; bfd_powerpc_arch) ta="$ta ppc-dis.lo ppc-opc.lo" ;; - bfd_pyramid_arch) ;; bfd_powerpc_64_arch) ta="$ta ppc-dis.lo ppc-opc.lo" ;; + bfd_pyramid_arch) ;; bfd_romp_arch) ;; bfd_rs6000_arch) ta="$ta ppc-dis.lo ppc-opc.lo" ;; bfd_s390_arch) ta="$ta s390-dis.lo s390-opc.lo" ;; diff -uprN binutils-2.11.90.0.8/opcodes/configure.in binutils-2.11.90.0.15/opcodes/configure.in --- binutils-2.11.90.0.8/opcodes/configure.in Fri Apr 27 14:04:01 2001 +++ binutils-2.11.90.0.15/opcodes/configure.in Sun Jun 10 10:55:09 2001 @@ -199,8 +199,8 @@ if test x${all_targets} = xfalse ; then bfd_pdp11_arch) ta="$ta pdp11-dis.lo pdp11-opc.lo" ;; bfd_pj_arch) ta="$ta pj-dis.lo pj-opc.lo" ;; bfd_powerpc_arch) ta="$ta ppc-dis.lo ppc-opc.lo" ;; - bfd_pyramid_arch) ;; bfd_powerpc_64_arch) ta="$ta ppc-dis.lo ppc-opc.lo" ;; + bfd_pyramid_arch) ;; bfd_romp_arch) ;; bfd_rs6000_arch) ta="$ta ppc-dis.lo ppc-opc.lo" ;; bfd_s390_arch) ta="$ta s390-dis.lo s390-opc.lo" ;; diff -uprN binutils-2.11.90.0.8/opcodes/cris-opc.c binutils-2.11.90.0.15/opcodes/cris-opc.c --- binutils-2.11.90.0.8/opcodes/cris-opc.c Thu Mar 15 14:52:03 2001 +++ binutils-2.11.90.0.15/opcodes/cris-opc.c Mon May 21 10:34:13 2001 @@ -70,7 +70,7 @@ cris_spec_regs[] = {"p14", 14, 4, cris_ver_v3p, NULL}, {"usp", 15, 4, cris_ver_v10p, NULL}, {"p15", 15, 4, cris_ver_v10p, NULL}, - {NULL, 0, 0, NULL} + {NULL, 0, 0, cris_ver_version_all, NULL} }; /* All CRIS opcodes are 16 bits. diff -uprN binutils-2.11.90.0.8/opcodes/i386-dis.c binutils-2.11.90.0.15/opcodes/i386-dis.c --- binutils-2.11.90.0.8/opcodes/i386-dis.c Sat May 12 08:31:39 2001 +++ binutils-2.11.90.0.15/opcodes/i386-dis.c Sun Jun 10 10:55:09 2001 @@ -250,6 +250,9 @@ fetch_data (info, addr) #define OPSUF OP_3DNowSuffix, 0 #define OPSIMD OP_SIMD_Suffix, 0 +#define cond_jump_flag NULL, cond_jump_mode +#define loop_jcxz_flag NULL, loop_jcxz_mode + /* bits in sizeflag */ #if 0 /* leave undefined until someone adds the extra flag to objdump */ #define SUFFIX_ALWAYS 4 @@ -312,6 +315,8 @@ static void BadOp PARAMS ((void)); #define q_mode 5 /* quad word operand */ #define x_mode 6 #define m_mode 7 /* d_mode in 32bit, q_mode in 64bit mode. */ +#define cond_jump_mode 8 +#define loop_jcxz_mode 9 #define es_reg 100 #define cs_reg 101 @@ -430,6 +435,8 @@ struct dis386 { 'A' => print 'b' if no register operands or suffix_always is true 'B' => print 'b' if suffix_always is true 'E' => print 'e' if 32-bit form of jcxz + 'F' => print 'w' or 'l' depending on address size prefix (loop insns) + 'H' => print ",pt" or ",pn" branch hint 'L' => print 'l' if suffix_always is true 'N' => print 'n' if instruction has no wait "prefix" 'O' => print 'd', or 'o' @@ -574,23 +581,23 @@ static const struct dis386 dis386_att[] { "outsb", indirDX, Xb, XX }, { "outsR", indirDX, Xv, XX }, /* 70 */ - { "jo", Jb, XX, XX }, - { "jno", Jb, XX, XX }, - { "jb", Jb, XX, XX }, - { "jae", Jb, XX, XX }, - { "je", Jb, XX, XX }, - { "jne", Jb, XX, XX }, - { "jbe", Jb, XX, XX }, - { "ja", Jb, XX, XX }, + { "joH", Jb, cond_jump_flag, XX }, + { "jnoH", Jb, cond_jump_flag, XX }, + { "jbH", Jb, cond_jump_flag, XX }, + { "jaeH", Jb, cond_jump_flag, XX }, + { "jeH", Jb, cond_jump_flag, XX }, + { "jneH", Jb, cond_jump_flag, XX }, + { "jbeH", Jb, cond_jump_flag, XX }, + { "jaH", Jb, cond_jump_flag, XX }, /* 78 */ - { "js", Jb, XX, XX }, - { "jns", Jb, XX, XX }, - { "jp", Jb, XX, XX }, - { "jnp", Jb, XX, XX }, - { "jl", Jb, XX, XX }, - { "jge", Jb, XX, XX }, - { "jle", Jb, XX, XX }, - { "jg", Jb, XX, XX }, + { "jsH", Jb, cond_jump_flag, XX }, + { "jnsH", Jb, cond_jump_flag, XX }, + { "jpH", Jb, cond_jump_flag, XX }, + { "jnpH", Jb, cond_jump_flag, XX }, + { "jlH", Jb, cond_jump_flag, XX }, + { "jgeH", Jb, cond_jump_flag, XX }, + { "jleH", Jb, cond_jump_flag, XX }, + { "jgH", Jb, cond_jump_flag, XX }, /* 80 */ { GRP1b }, { GRP1S }, @@ -701,10 +708,10 @@ static const struct dis386 dis386_att[] { FLOAT }, { FLOAT }, /* e0 */ - { "loopne", Jb, XX, XX }, - { "loope", Jb, XX, XX }, - { "loop", Jb, XX, XX }, - { "jEcxz", Jb, XX, XX }, + { "loopneFH", Jb, loop_jcxz_flag, XX }, + { "loopeFH", Jb, loop_jcxz_flag, XX }, + { "loopFH", Jb, loop_jcxz_flag, XX }, + { "jEcxzH", Jb, loop_jcxz_flag, XX }, { "inB", AL, Ib, XX }, { "inS", eAX, Ib, XX }, { "outB", Ib, AL, XX }, @@ -1160,23 +1167,23 @@ static const struct dis386 disx86_64_att { "outsb", indirDX, Xb, XX }, { "outsR", indirDX, Xv, XX }, /* 70 */ - { "jo", Jb, XX, XX }, - { "jno", Jb, XX, XX }, - { "jb", Jb, XX, XX }, - { "jae", Jb, XX, XX }, - { "je", Jb, XX, XX }, - { "jne", Jb, XX, XX }, - { "jbe", Jb, XX, XX }, - { "ja", Jb, XX, XX }, + { "joH", Jb, cond_jump_flag, XX }, + { "jnoH", Jb, cond_jump_flag, XX }, + { "jbH", Jb, cond_jump_flag, XX }, + { "jaeH", Jb, cond_jump_flag, XX }, + { "jeH", Jb, cond_jump_flag, XX }, + { "jneH", Jb, cond_jump_flag, XX }, + { "jbeH", Jb, cond_jump_flag, XX }, + { "jaH", Jb, cond_jump_flag, XX }, /* 78 */ - { "js", Jb, XX, XX }, - { "jns", Jb, XX, XX }, - { "jp", Jb, XX, XX }, - { "jnp", Jb, XX, XX }, - { "jl", Jb, XX, XX }, - { "jge", Jb, XX, XX }, - { "jle", Jb, XX, XX }, - { "jg", Jb, XX, XX }, + { "jsH", Jb, cond_jump_flag, XX }, + { "jnsH", Jb, cond_jump_flag, XX }, + { "jpH", Jb, cond_jump_flag, XX }, + { "jnpH", Jb, cond_jump_flag, XX }, + { "jlH", Jb, cond_jump_flag, XX }, + { "jgeH", Jb, cond_jump_flag, XX }, + { "jleH", Jb, cond_jump_flag, XX }, + { "jgH", Jb, cond_jump_flag, XX }, /* 80 */ { GRP1b }, { GRP1S }, @@ -1287,10 +1294,10 @@ static const struct dis386 disx86_64_att { FLOAT }, { FLOAT }, /* e0 */ - { "loopne", Jb, XX, XX }, - { "loope", Jb, XX, XX }, - { "loop", Jb, XX, XX }, - { "jEcxz", Jb, XX, XX }, + { "loopneFH", Jb, loop_jcxz_flag, XX }, + { "loopeFH", Jb, loop_jcxz_flag, XX }, + { "loopFH", Jb, loop_jcxz_flag, XX }, + { "jEcxzH", Jb, loop_jcxz_flag, XX }, { "inB", AL, Ib, XX }, { "inS", eAX, Ib, XX }, { "outB", Ib, AL, XX }, @@ -1763,23 +1770,23 @@ static const struct dis386 dis386_twobyt { PREGRP23 }, { PREGRP20 }, /* 80 */ - { "jo", Jv, XX, XX }, - { "jno", Jv, XX, XX }, - { "jb", Jv, XX, XX }, - { "jae", Jv, XX, XX }, - { "je", Jv, XX, XX }, - { "jne", Jv, XX, XX }, - { "jbe", Jv, XX, XX }, - { "ja", Jv, XX, XX }, + { "joH", Jv, cond_jump_flag, XX }, + { "jnoH", Jv, cond_jump_flag, XX }, + { "jbH", Jv, cond_jump_flag, XX }, + { "jaeH", Jv, cond_jump_flag, XX }, + { "jeH", Jv, cond_jump_flag, XX }, + { "jneH", Jv, cond_jump_flag, XX }, + { "jbeH", Jv, cond_jump_flag, XX }, + { "jaH", Jv, cond_jump_flag, XX }, /* 88 */ - { "js", Jv, XX, XX }, - { "jns", Jv, XX, XX }, - { "jp", Jv, XX, XX }, - { "jnp", Jv, XX, XX }, - { "jl", Jv, XX, XX }, - { "jge", Jv, XX, XX }, - { "jle", Jv, XX, XX }, - { "jg", Jv, XX, XX }, + { "jsH", Jv, cond_jump_flag, XX }, + { "jnsH", Jv, cond_jump_flag, XX }, + { "jpH", Jv, cond_jump_flag, XX }, + { "jnpH", Jv, cond_jump_flag, XX }, + { "jlH", Jv, cond_jump_flag, XX }, + { "jgeH", Jv, cond_jump_flag, XX }, + { "jleH", Jv, cond_jump_flag, XX }, + { "jgH", Jv, cond_jump_flag, XX }, /* 90 */ { "seto", Eb, XX, XX }, { "setno", Eb, XX, XX }, @@ -3126,17 +3133,30 @@ print_insn_i386 (pc, info) used_prefixes |= PREFIX_LOCK; } - if (!uses_SSE_prefix && (prefixes & PREFIX_DATA)) - sizeflag ^= DFLAG; - if (prefixes & PREFIX_ADDR) { sizeflag ^= AFLAG; - if (sizeflag & AFLAG) - oappend ("addr32 "); - else - oappend ("addr16 "); - used_prefixes |= PREFIX_ADDR; + if (dp->bytemode2 != loop_jcxz_mode) + { + if (sizeflag & AFLAG) + oappend ("addr32 "); + else + oappend ("addr16 "); + used_prefixes |= PREFIX_ADDR; + } + } + + if (!uses_SSE_prefix && (prefixes & PREFIX_DATA)) + { + sizeflag ^= DFLAG; + if (dp->bytemode2 == cond_jump_mode && dp->bytemode1 == v_mode) + { + if (sizeflag & DFLAG) + oappend ("data32 "); + else + oappend ("data16 "); + used_prefixes |= PREFIX_DATA; + } } if (need_modrm) @@ -3717,6 +3737,34 @@ putop (template, sizeflag) case 'E': /* For jcxz/jecxz */ if (sizeflag & AFLAG) *obufp++ = 'e'; + used_prefixes |= (prefixes & PREFIX_ADDR); + break; + case 'F': + if ((prefixes & PREFIX_ADDR) +#ifdef SUFFIX_ALWAYS + || (sizeflag & SUFFIX_ALWAYS) +#endif + ) + { + if (sizeflag & AFLAG) + *obufp++ = 'l'; + else + *obufp++ = 'w'; + used_prefixes |= (prefixes & PREFIX_ADDR); + } + break; + case 'H': + if ((prefixes & (PREFIX_CS | PREFIX_DS)) == PREFIX_CS + || (prefixes & (PREFIX_CS | PREFIX_DS)) == PREFIX_DS) + { + used_prefixes |= prefixes & (PREFIX_CS | PREFIX_DS); + *obufp++ = ','; + *obufp++ = 'p'; + if (prefixes & PREFIX_DS) + *obufp++ = 't'; + else + *obufp++ = 'n'; + } break; case 'I': if (intel_syntax) @@ -4357,23 +4405,24 @@ OP_G (bytemode, sizeflag) static bfd_vma get64 () { - unsigned int a = 0; - unsigned int b = 0; - bfd_vma x = 0; - + bfd_vma x; #ifdef BFD64 + unsigned int a; + unsigned int b; + FETCH_DATA (the_info, codep + 8); a = *codep++ & 0xff; a |= (*codep++ & 0xff) << 8; a |= (*codep++ & 0xff) << 16; a |= (*codep++ & 0xff) << 24; - b |= (*codep++ & 0xff); + b = *codep++ & 0xff; b |= (*codep++ & 0xff) << 8; b |= (*codep++ & 0xff) << 16; b |= (*codep++ & 0xff) << 24; x = a + ((bfd_vma) b << 32); #else abort(); + x = 0; #endif return x; } @@ -4703,7 +4752,6 @@ OP_J (bytemode, sizeflag) displacement is added! */ mask = 0xffff; } - used_prefixes |= (prefixes & PREFIX_DATA); break; default: oappend (INTERNAL_DISASSEMBLER_ERROR); diff -uprN binutils-2.11.90.0.8/opcodes/m68k-dis.c binutils-2.11.90.0.15/opcodes/m68k-dis.c --- binutils-2.11.90.0.8/opcodes/m68k-dis.c Thu Mar 15 14:52:12 2001 +++ binutils-2.11.90.0.15/opcodes/m68k-dis.c Sat Jun 9 00:13:02 2001 @@ -268,7 +268,7 @@ print_insn_m68k (memaddr, info) arch_mask = mcf5206e; break; case bfd_mach_mcf5307: - arch_mask = mcf5407; + arch_mask = mcf5307; break; case bfd_mach_mcf5407: arch_mask = mcf5407; diff -uprN binutils-2.11.90.0.8/opcodes/m68k-opc.c binutils-2.11.90.0.15/opcodes/m68k-opc.c --- binutils-2.11.90.0.8/opcodes/m68k-opc.c Thu Mar 15 14:52:12 2001 +++ binutils-2.11.90.0.15/opcodes/m68k-opc.c Sat Jun 9 00:13:02 2001 @@ -305,22 +305,20 @@ const struct m68k_opcode m68k_opcodes[] {"dbvc", one(0054310), one(0177770), "DsBw", m68000up }, {"dbvs", one(0054710), one(0177770), "DsBw", m68000up }, -{"divsw", one(0100700), one(0170700), ";wDd", m68000up }, -{"divsw", one(0100700), one(0170700), "vsDd", mcf5307up | mcf5206e }, +{"divsw", one(0100700), one(0170700), ";wDd", m68000up | mcf5307up | mcf5206e }, {"divsl", two(0046100,0006000),two(0177700,0107770),";lD3D1", m68020up|cpu32 }, {"divsl", two(0046100,0004000),two(0177700,0107770),";lDD", m68020up|cpu32 }, -{"divsl", two(0046100,0004000),two(0177700,0107770),"vsDD", mcf5307up | mcf5206e }, +{"divsl", two(0046100,0004000),two(0177700,0107770),"qsDD", mcf5307up | mcf5206e }, {"divsll", two(0046100,0004000),two(0177700,0107770),";lD3D1",m68020up|cpu32 }, {"divsll", two(0046100,0004000),two(0177700,0107770),";lDD", m68020up|cpu32 }, -{"divuw", one(0100300), one(0170700), ";wDd", m68000up }, -{"divuw", one(0100300), one(0170700), "vsDd", mcf5307up | mcf5206e }, +{"divuw", one(0100300), one(0170700), ";wDd", m68000up | mcf5307up | mcf5206e }, {"divul", two(0046100,0002000),two(0177700,0107770),";lD3D1", m68020up|cpu32 }, {"divul", two(0046100,0000000),two(0177700,0107770),";lDD", m68020up|cpu32 }, -{"divul", two(0046100,0000000),two(0177700,0107770),"vsDD", mcf5307up | mcf5206e }, +{"divul", two(0046100,0000000),two(0177700,0107770),"qsDD", mcf5307up | mcf5206e }, {"divull", two(0046100,0000000),two(0177700,0107770),";lD3D1",m68020up|cpu32 }, {"divull", two(0046100,0000000),two(0177700,0107770),";lDD", m68020up|cpu32 }, @@ -1340,9 +1338,15 @@ const struct m68k_opcode m68k_opcodes[] /* The move opcode can generate the movea and moveq instructions. */ {"moveb", one(0010000), one(0170000), ";b$d", m68000up }, -{"moveb", one(0010000), one(0170000), "ms%d", mcf }, -{"moveb", one(0010000), one(0170000), "nspd", mcf }, -{"moveb", one(0010000), one(0170000), "obmd", mcf }, +{"moveb", one(0010000), one(0170070), "Ds$d", mcf }, +{"moveb", one(0010020), one(0170070), "as$d", mcf }, +{"moveb", one(0010030), one(0170070), "+s$d", mcf }, +{"moveb", one(0010040), one(0170070), "-s$d", mcf }, +{"moveb", one(0010000), one(0170000), "nsqd", mcf }, +{"moveb", one(0010000), one(0170700), "obDd", mcf }, +{"moveb", one(0010200), one(0170700), "obad", mcf }, +{"moveb", one(0010300), one(0170700), "ob+d", mcf }, +{"moveb", one(0010400), one(0170700), "ob-d", mcf }, {"moveb", one(0010000), one(0170000), "obnd", mcf5407 }, {"movew", one(0030000), one(0170000), "*w%d", m68000up }, @@ -1732,8 +1736,8 @@ const struct m68k_opcode m68k_opcodes[] {"pvalid", two(0xf000, 0x2c00), two(0xffc0, 0xfff8), "A3&s", m68851 }, /* FIXME: don't allow Dw==Dx. */ -{"remsl", two(0x4c40, 0x0800), two(0xffc0, 0x8ff8), "vsD3D1", mcf5307up | mcf5206e }, -{"remul", two(0x4c40, 0x0000), two(0xffc0, 0x8ff8), "vsD3D1", mcf5307up | mcf5206e }, +{"remsl", two(0x4c40, 0x0800), two(0xffc0, 0x8ff8), "qsD3D1", mcf5307up | mcf5206e }, +{"remul", two(0x4c40, 0x0000), two(0xffc0, 0x8ff8), "qsD3D1", mcf5307up | mcf5206e }, {"reset", one(0047160), one(0177777), "", m68000up }, diff -uprN binutils-2.11.90.0.8/opcodes/mips-dis.c binutils-2.11.90.0.15/opcodes/mips-dis.c --- binutils-2.11.90.0.8/opcodes/mips-dis.c Tue Mar 27 08:46:53 2001 +++ binutils-2.11.90.0.15/opcodes/mips-dis.c Wed May 23 10:53:39 2001 @@ -36,36 +36,22 @@ Foundation, Inc., 59 Temple Place - Suit #include "elf/mips.h" #endif -static int print_insn_mips16 PARAMS ((bfd_vma, struct disassemble_info *)); +/* Mips instructions are at maximum this many bytes long. */ +#define INSNLEN 4 + +static int _print_insn_mips + PARAMS ((bfd_vma, struct disassemble_info *, enum bfd_endian)); +static int print_insn_mips + PARAMS ((bfd_vma, unsigned long int, struct disassemble_info *)); +static void print_insn_arg + PARAMS ((const char *, unsigned long, bfd_vma, struct disassemble_info *)); +static int print_insn_mips16 + PARAMS ((bfd_vma, struct disassemble_info *)); static void print_mips16_insn_arg PARAMS ((int, const struct mips_opcode *, int, boolean, int, bfd_vma, struct disassemble_info *)); - -/* Mips instructions are never longer than this many bytes. */ -#define MAXLEN 4 - -static void print_insn_arg PARAMS ((const char *, unsigned long, bfd_vma, - struct disassemble_info *)); -static int _print_insn_mips PARAMS ((bfd_vma, unsigned long int, - struct disassemble_info *)); - -/* FIXME: This should be shared with gdb somehow. */ -#define STD_REGISTER_NAMES \ - { "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", \ - "t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7", \ - "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", \ - "t8", "t9", "k0", "k1", "gp", "sp", "s8", "ra", \ - "sr", "lo", "hi", "bad", "cause","pc", \ - "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ - "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \ - "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",\ - "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",\ - "fsr", "fir", "fp", "inx", "rand", "tlblo","ctxt", "tlbhi",\ - "epc", "prid"\ - } - -static CONST char * CONST std_reg_names[] = STD_REGISTER_NAMES; +/* FIXME: These should be shared with gdb somehow. */ /* The mips16 register names. */ static const char * const mips16_reg_names[] = @@ -73,11 +59,42 @@ static const char * const mips16_reg_nam "s0", "s1", "v0", "v1", "a0", "a1", "a2", "a3" }; -/* Scalar register names. set_mips_isa_type() decides which register name +static const char * const mips32_reg_names[] = +{ + "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", + "t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7", + "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", + "t8", "t9", "k0", "k1", "gp", "sp", "s8", "ra", + "sr", "lo", "hi", "bad", "cause", "pc", + "fv0", "$f1", "fv1", "$f3", "ft0", "$f5", "ft1", "$f7", + "ft2", "$f9", "ft3", "$f11", "fa0", "$f13", "fa1", "$f15", + "ft4", "f17", "ft5", "f19", "fs0", "f21", "fs1", "f23", + "fs2", "$f25", "fs3", "$f27", "fs4", "$f29", "fs5", "$f31", + "fsr", "fir", "fp", "inx", "rand", "tlblo", "ctxt", "tlbhi", + "epc", "prid" +}; + +static const char * const mips64_reg_names[] = +{ + "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", + "a4", "a5", "a6", "a7", "t0", "t1", "t2", "t3", + "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", + "t8", "t9", "k0", "k1", "gp", "sp", "s8", "ra", + "sr", "lo", "hi", "bad", "cause", "pc", + "fv0", "$f1", "fv1", "$f3", "ft0", "ft1", "ft2", "ft3", + "ft4", "ft5", "ft6", "ft7", "fa0", "fa1", "fa2", "fa3", + "fa4", "fa5", "fa6", "fa7", "ft8", "ft9", "ft10", "ft11", + "fs0", "fs1", "fs2", "fs3", "fs4", "fs5", "fs6", "fs7", + "fsr", "fir", "fp", "inx", "rand", "tlblo", "ctxt", "tlbhi", + "epc", "prid" +}; + +/* Scalar register names. _print_insn_mips() decides which register name table to use. */ -static CONST char * CONST *reg_names = NULL; +static const char * const *reg_names = NULL; -/* subroutine */ +/* Print insn arguments for 32/64-bit code */ + static void print_insn_arg (d, l, pc, info) const char *d; @@ -99,13 +116,13 @@ print_insn_arg (d, l, pc, info) case 'b': case 'r': case 'v': - (*info->fprintf_func) (info->stream, "$%s", + (*info->fprintf_func) (info->stream, "%s", reg_names[(l >> OP_SH_RS) & OP_MASK_RS]); break; case 't': case 'w': - (*info->fprintf_func) (info->stream, "$%s", + (*info->fprintf_func) (info->stream, "%s", reg_names[(l >> OP_SH_RT) & OP_MASK_RT]); break; @@ -149,33 +166,33 @@ print_insn_arg (d, l, pc, info) if (delta & 0x8000) delta |= ~0xffff; (*info->print_address_func) - ((delta << 2) + pc + 4, + ((delta << 2) + pc + INSNLEN, info); break; case 'd': - (*info->fprintf_func) (info->stream, "$%s", + (*info->fprintf_func) (info->stream, "%s", reg_names[(l >> OP_SH_RD) & OP_MASK_RD]); break; case 'U': { /* First check for both rd and rt being equal. */ - int reg = (l >> OP_SH_RD) & OP_MASK_RD; + unsigned int reg = (l >> OP_SH_RD) & OP_MASK_RD; if (reg == ((l >> OP_SH_RT) & OP_MASK_RT)) - (*info->fprintf_func) (info->stream, "$%s", + (*info->fprintf_func) (info->stream, "%s", reg_names[reg]); else { /* If one is zero use the other. */ if (reg == 0) - (*info->fprintf_func) (info->stream, "$%s", + (*info->fprintf_func) (info->stream, "%s", reg_names[(l >> OP_SH_RT) & OP_MASK_RT]); else if (((l >> OP_SH_RT) & OP_MASK_RT) == 0) - (*info->fprintf_func) (info->stream, "$%s", + (*info->fprintf_func) (info->stream, "%s", reg_names[reg]); else /* Bogus, result depends on processor. */ - (*info->fprintf_func) (info->stream, "$%s or $%s", + (*info->fprintf_func) (info->stream, "%s or %s", reg_names[reg], reg_names[(l >> OP_SH_RT) & OP_MASK_RT]); } @@ -183,7 +200,7 @@ print_insn_arg (d, l, pc, info) break; case 'z': - (*info->fprintf_func) (info->stream, "$%s", reg_names[0]); + (*info->fprintf_func) (info->stream, "%s", reg_names[0]); break; case '<': @@ -239,13 +256,13 @@ print_insn_arg (d, l, pc, info) break; case 'E': - (*info->fprintf_func) (info->stream, "$%d", - (l >> OP_SH_RT) & OP_MASK_RT); + (*info->fprintf_func) (info->stream, "%s", + reg_names[(l >> OP_SH_RT) & OP_MASK_RT]); break; case 'G': - (*info->fprintf_func) (info->stream, "$%d", - (l >> OP_SH_RD) & OP_MASK_RD); + (*info->fprintf_func) (info->stream, "%s", + reg_names[(l >> OP_SH_RD) & OP_MASK_RD]); break; case 'N': @@ -277,124 +294,127 @@ print_insn_arg (d, l, pc, info) } } -#if SYMTAB_AVAILABLE - -/* Figure out the MIPS ISA and CPU based on the machine number. - FIXME: What does this have to do with SYMTAB_AVAILABLE? */ +/* Figure out the MIPS ISA and CPU based on the machine number. */ static void -set_mips_isa_type (mach, isa, cputype) +mips_isa_type (mach, isa, cputype) int mach; int *isa; int *cputype; { - int target_processor = CPU_UNKNOWN; - int mips_isa = ISA_UNKNOWN; - - /* Use standard MIPS register names by default. */ - reg_names = std_reg_names; - switch (mach) { case bfd_mach_mips3000: - target_processor = CPU_R3000; - mips_isa = ISA_MIPS1; + *cputype = CPU_R3000; + *isa = ISA_MIPS1; break; case bfd_mach_mips3900: - target_processor = CPU_R3900; - mips_isa = ISA_MIPS1; + *cputype = CPU_R3900; + *isa = ISA_MIPS1; break; case bfd_mach_mips4000: - target_processor = CPU_R4000; - mips_isa = ISA_MIPS3; + *cputype = CPU_R4000; + *isa = ISA_MIPS3; break; case bfd_mach_mips4010: - target_processor = CPU_R4010; - mips_isa = ISA_MIPS2; + *cputype = CPU_R4010; + *isa = ISA_MIPS2; break; case bfd_mach_mips4100: - target_processor = CPU_VR4100; - mips_isa = ISA_MIPS3; + *cputype = CPU_VR4100; + *isa = ISA_MIPS3; break; case bfd_mach_mips4111: - target_processor = CPU_VR4100; /* FIXME: Shouldn't this be CPU_R4111 ??? */ - mips_isa = ISA_MIPS3; + *cputype = CPU_R4111; + *isa = ISA_MIPS3; break; case bfd_mach_mips4300: - target_processor = CPU_R4300; - mips_isa = ISA_MIPS3; + *cputype = CPU_R4300; + *isa = ISA_MIPS3; break; case bfd_mach_mips4400: - target_processor = CPU_R4400; - mips_isa = ISA_MIPS3; + *cputype = CPU_R4400; + *isa = ISA_MIPS3; break; case bfd_mach_mips4600: - target_processor = CPU_R4600; - mips_isa = ISA_MIPS3; + *cputype = CPU_R4600; + *isa = ISA_MIPS3; break; case bfd_mach_mips4650: - target_processor = CPU_R4650; - mips_isa = ISA_MIPS3; + *cputype = CPU_R4650; + *isa = ISA_MIPS3; break; case bfd_mach_mips5000: - target_processor = CPU_R5000; - mips_isa = ISA_MIPS4; + *cputype = CPU_R5000; + *isa = ISA_MIPS4; break; case bfd_mach_mips6000: - target_processor = CPU_R6000; - mips_isa = ISA_MIPS2; + *cputype = CPU_R6000; + *isa = ISA_MIPS2; break; case bfd_mach_mips8000: - target_processor = CPU_R8000; - mips_isa = ISA_MIPS4; + *cputype = CPU_R8000; + *isa = ISA_MIPS4; break; case bfd_mach_mips10000: - target_processor = CPU_R10000; - mips_isa = ISA_MIPS4; + *cputype = CPU_R10000; + *isa = ISA_MIPS4; + break; + case bfd_mach_mips12000: + *cputype = CPU_R12000; + *isa = ISA_MIPS4; break; case bfd_mach_mips16: - target_processor = CPU_MIPS16; - mips_isa = ISA_MIPS3; + *cputype = CPU_MIPS16; + *isa = ISA_MIPS3; break; case bfd_mach_mips32: - target_processor = CPU_MIPS32; - mips_isa = ISA_MIPS32; + *cputype = CPU_MIPS32; + *isa = ISA_MIPS32; break; case bfd_mach_mips32_4k: - target_processor = CPU_MIPS32_4K; - mips_isa = ISA_MIPS32; + *cputype = CPU_MIPS32_4K; + *isa = ISA_MIPS32; break; case bfd_mach_mips5: - target_processor = CPU_MIPS5; - mips_isa = ISA_MIPS5; + *cputype = CPU_MIPS5; + *isa = ISA_MIPS5; break; case bfd_mach_mips64: - target_processor = CPU_MIPS64; - mips_isa = ISA_MIPS64; + *cputype = CPU_MIPS64; + *isa = ISA_MIPS64; break; case bfd_mach_mips_sb1: - target_processor = CPU_SB1; - mips_isa = ISA_MIPS64; + *cputype = CPU_SB1; + *isa = ISA_MIPS64; break; default: - target_processor = CPU_R3000; - mips_isa = ISA_MIPS3; + *cputype = CPU_R3000; + *isa = ISA_MIPS3; break; } - - *isa = mips_isa; - *cputype = target_processor; } -#endif /* SYMTAB_AVAILABLE */ +/* Figure out ISA from disassemble_info data */ +static int +get_mips_isa (info) + struct disassemble_info *info; +{ + int isa; + int cpu; + + mips_isa_type (info->mach, &isa, &cpu); + return isa; +} + /* Print the mips instruction at address MEMADDR in debugged memory, on using INFO. Returns length of the instruction, in bytes, which is - always 4. BIGENDIAN must be 1 if this is big-endian code, 0 if + always INSNLEN. BIGENDIAN must be 1 if this is big-endian code, 0 if this is little-endian code. */ static int -_print_insn_mips (memaddr, word, info) +print_insn_mips (memaddr, word, info) bfd_vma memaddr; unsigned long int word; struct disassemble_info *info; @@ -432,10 +452,10 @@ _print_insn_mips (memaddr, word, info) target_processor = mips_target_info.processor; mips_isa = mips_target_info.isa; #else - set_mips_isa_type (info->mach, &mips_isa, &target_processor); + mips_isa_type (info->mach, &mips_isa, &target_processor); #endif - info->bytes_per_chunk = 4; + info->bytes_per_chunk = INSNLEN; info->display_endian = info->endian; op = mips_hash[(word >> OP_SH_OP) & OP_MASK_OP]; @@ -460,29 +480,29 @@ _print_insn_mips (memaddr, word, info) print_insn_arg (d, word, memaddr, info); } - return 4; + return INSNLEN; } } } /* Handle undefined instructions. */ (*info->fprintf_func) (info->stream, "0x%x", word); - return 4; + return INSNLEN; } - - + /* In an environment where we do not know the symbol type of the instruction we are forced to assume that the low order bit of the instructions' address may mark it as a mips16 instruction. If we are single stepping, or the pc is within the disassembled function, this works. Otherwise, we need a clue. Sometimes. */ -int -print_insn_big_mips (memaddr, info) +static int +_print_insn_mips (memaddr, info, endianness) bfd_vma memaddr; struct disassemble_info *info; + enum bfd_endian endianness; { - bfd_byte buffer[4]; + bfd_byte buffer[INSNLEN]; int status; #if 1 @@ -501,10 +521,28 @@ print_insn_big_mips (memaddr, info) return print_insn_mips16 (memaddr, info); #endif - status = (*info->read_memory_func) (memaddr, buffer, 4, info); + /* Use mips64_reg_names for new ABI. */ + if (info->flavour == bfd_target_elf_flavour + && info->symbols != NULL + && (((get_mips_isa(info) | INSN_ISA_MASK) & ISA_MIPS2) != 0) + && ((elf_elfheader (bfd_asymbol_bfd(*(info->symbols)))->e_flags + & EF_MIPS_ABI2) != 0)) + reg_names = mips64_reg_names; + else + reg_names = mips32_reg_names; + + status = (*info->read_memory_func) (memaddr, buffer, INSNLEN, info); if (status == 0) - return _print_insn_mips (memaddr, (unsigned long) bfd_getb32 (buffer), - info); + { + unsigned long insn; + + if (endianness == BFD_ENDIAN_BIG) + insn = (unsigned long) bfd_getb32 (buffer); + else + insn = (unsigned long) bfd_getl32 (buffer); + + return print_insn_mips (memaddr, insn, info); + } else { (*info->memory_error_func) (status, memaddr, info); @@ -513,37 +551,19 @@ print_insn_big_mips (memaddr, info) } int -print_insn_little_mips (memaddr, info) +print_insn_big_mips (memaddr, info) bfd_vma memaddr; struct disassemble_info *info; { - bfd_byte buffer[4]; - int status; - - -#if 1 - if (memaddr & 0x01) - return print_insn_mips16 (memaddr, info); -#endif - -#if SYMTAB_AVAILABLE - if (info->mach == 16 - || (info->flavour == bfd_target_elf_flavour - && info->symbols != NULL - && ((*(elf_symbol_type **) info->symbols)->internal_elf_sym.st_other - == STO_MIPS16))) - return print_insn_mips16 (memaddr, info); -#endif + return _print_insn_mips (memaddr, info, BFD_ENDIAN_BIG); +} - status = (*info->read_memory_func) (memaddr, buffer, 4, info); - if (status == 0) - return _print_insn_mips (memaddr, (unsigned long) bfd_getl32 (buffer), - info); - else - { - (*info->memory_error_func) (status, memaddr, info); - return -1; - } +int +print_insn_little_mips (memaddr, info) + bfd_vma memaddr; + struct disassemble_info *info; +{ + return _print_insn_mips (memaddr, info, BFD_ENDIAN_LITTLE); } /* Disassemble mips16 instructions. */ @@ -563,7 +583,6 @@ print_insn_mips16 (memaddr, info) info->bytes_per_chunk = 2; info->display_endian = info->endian; - info->insn_info_valid = 1; info->branch_delay_insns = 0; info->data_size = 0; @@ -707,7 +726,7 @@ print_insn_mips16 (memaddr, info) static void print_mips16_insn_arg (type, op, l, use_extend, extend, memaddr, info) - int type; + char type; const struct mips_opcode *op; int l; boolean use_extend; @@ -725,36 +744,36 @@ print_mips16_insn_arg (type, op, l, use_ case 'y': case 'w': - (*info->fprintf_func) (info->stream, "$%s", + (*info->fprintf_func) (info->stream, "%s", mips16_reg_names[((l >> MIPS16OP_SH_RY) & MIPS16OP_MASK_RY)]); break; case 'x': case 'v': - (*info->fprintf_func) (info->stream, "$%s", + (*info->fprintf_func) (info->stream, "%s", mips16_reg_names[((l >> MIPS16OP_SH_RX) & MIPS16OP_MASK_RX)]); break; case 'z': - (*info->fprintf_func) (info->stream, "$%s", + (*info->fprintf_func) (info->stream, "%s", mips16_reg_names[((l >> MIPS16OP_SH_RZ) & MIPS16OP_MASK_RZ)]); break; case 'Z': - (*info->fprintf_func) (info->stream, "$%s", + (*info->fprintf_func) (info->stream, "%s", mips16_reg_names[((l >> MIPS16OP_SH_MOVE32Z) & MIPS16OP_MASK_MOVE32Z)]); break; case '0': - (*info->fprintf_func) (info->stream, "$%s", reg_names[0]); + (*info->fprintf_func) (info->stream, "%s", mips32_reg_names[0]); break; case 'S': - (*info->fprintf_func) (info->stream, "$%s", reg_names[29]); + (*info->fprintf_func) (info->stream, "%s", mips32_reg_names[29]); break; case 'P': @@ -762,18 +781,18 @@ print_mips16_insn_arg (type, op, l, use_ break; case 'R': - (*info->fprintf_func) (info->stream, "$%s", reg_names[31]); + (*info->fprintf_func) (info->stream, "%s", mips32_reg_names[31]); break; case 'X': - (*info->fprintf_func) (info->stream, "$%s", - reg_names[((l >> MIPS16OP_SH_REGR32) + (*info->fprintf_func) (info->stream, "%s", + mips32_reg_names[((l >> MIPS16OP_SH_REGR32) & MIPS16OP_MASK_REGR32)]); break; case 'Y': - (*info->fprintf_func) (info->stream, "$%s", - reg_names[MIPS16OP_EXTRACT_REG32R (l)]); + (*info->fprintf_func) (info->stream, "%s", + mips32_reg_names[MIPS16OP_EXTRACT_REG32R (l)]); break; case '<': @@ -1058,10 +1077,10 @@ print_mips16_insn_arg (type, op, l, use_ if (amask > 0 && amask < 5) { - (*info->fprintf_func) (info->stream, "$%s", reg_names[4]); + (*info->fprintf_func) (info->stream, "%s", mips32_reg_names[4]); if (amask > 1) - (*info->fprintf_func) (info->stream, "-$%s", - reg_names[amask + 3]); + (*info->fprintf_func) (info->stream, "-%s", + mips32_reg_names[amask + 3]); need_comma = 1; } @@ -1074,20 +1093,20 @@ print_mips16_insn_arg (type, op, l, use_ } else if (smask > 0) { - (*info->fprintf_func) (info->stream, "%s$%s", + (*info->fprintf_func) (info->stream, "%s%s", need_comma ? "," : "", - reg_names[16]); + mips32_reg_names[16]); if (smask > 1) - (*info->fprintf_func) (info->stream, "-$%s", - reg_names[smask + 15]); + (*info->fprintf_func) (info->stream, "-%s", + mips32_reg_names[smask + 15]); need_comma = 1; } if (l & 1) { - (*info->fprintf_func) (info->stream, "%s$%s", + (*info->fprintf_func) (info->stream, "%s%s", need_comma ? "," : "", - reg_names[31]); + mips32_reg_names[31]); need_comma = 1; } @@ -1102,6 +1121,11 @@ print_mips16_insn_arg (type, op, l, use_ break; default: + /* xgettext:c-format */ + (*info->fprintf_func) + (info->stream, + _("# internal disassembler error, unrecognised modifier (%c)"), + type); abort (); } } diff -uprN binutils-2.11.90.0.8/opcodes/ppc-opc.c binutils-2.11.90.0.15/opcodes/ppc-opc.c --- binutils-2.11.90.0.8/opcodes/ppc-opc.c Fri Mar 30 22:40:46 2001 +++ binutils-2.11.90.0.15/opcodes/ppc-opc.c Mon May 21 10:34:22 2001 @@ -2907,25 +2907,6 @@ const struct powerpc_opcode powerpc_opco { "mtdmasa3", XSPR(31,451,219), XSPR_MASK, PPC403, { RT } }, { "mtdmacc3", XSPR(31,451,220), XSPR_MASK, PPC403, { RT } }, { "mtdmasr", XSPR(31,451,224), XSPR_MASK, PPC403, { RT } }, -{ "mtummcr0", XSPR(31,451,936), XSPR_MASK, PPC750, { RT } }, -{ "mtupmc1", XSPR(31,451,937), XSPR_MASK, PPC750, { RT } }, -{ "mtupmc2", XSPR(31,451,938), XSPR_MASK, PPC750, { RT } }, -{ "mtusia", XSPR(31,451,939), XSPR_MASK, PPC750, { RT } }, -{ "mtummcr1", XSPR(31,451,940), XSPR_MASK, PPC750, { RT } }, -{ "mtupmc3", XSPR(31,451,941), XSPR_MASK, PPC750, { RT } }, -{ "mtupmc4", XSPR(31,451,942), XSPR_MASK, PPC750, { RT } }, -{ "mtmmcr0", XSPR(31,451,952), XSPR_MASK, PPC750, { RT } }, -{ "mtpmc1", XSPR(31,451,953), XSPR_MASK, PPC750, { RT } }, -{ "mtpmc2", XSPR(31,451,954), XSPR_MASK, PPC750, { RT } }, -{ "mtsia", XSPR(31,451,955), XSPR_MASK, PPC750, { RT } }, -{ "mtmmcr1", XSPR(31,451,956), XSPR_MASK, PPC750, { RT } }, -{ "mtpmc3", XSPR(31,451,957), XSPR_MASK, PPC750, { RT } }, -{ "mtpmc4", XSPR(31,451,958), XSPR_MASK, PPC750, { RT } }, -{ "mtl2cr", XSPR(31,451,1017), XSPR_MASK, PPC750, { RT } }, -{ "mtictc", XSPR(31,451,1019), XSPR_MASK, PPC750, { RT } }, -{ "mtthrm1", XSPR(31,451,1020), XSPR_MASK, PPC750, { RT } }, -{ "mtthrm2", XSPR(31,451,1021), XSPR_MASK, PPC750, { RT } }, -{ "mtthrm3", XSPR(31,451,1022), XSPR_MASK, PPC750, { RT } }, { "mtdcr", X(31,451), X_MASK, PPC403, { SPR, RS } }, { "divdu", XO(31,457,0,0), XO_MASK, PPC64, { RT, RA, RB } }, @@ -3021,6 +3002,25 @@ const struct powerpc_opcode powerpc_opco { "mtpbu1", XSPR(31,467,1021), XSPR_MASK, PPC403, { RT } }, { "mtpbl2", XSPR(31,467,1022), XSPR_MASK, PPC403, { RT } }, { "mtpbu2", XSPR(31,467,1023), XSPR_MASK, PPC403, { RT } }, +{ "mtummcr0", XSPR(31,467,936), XSPR_MASK, PPC750, { RT } }, +{ "mtupmc1", XSPR(31,467,937), XSPR_MASK, PPC750, { RT } }, +{ "mtupmc2", XSPR(31,467,938), XSPR_MASK, PPC750, { RT } }, +{ "mtusia", XSPR(31,467,939), XSPR_MASK, PPC750, { RT } }, +{ "mtummcr1", XSPR(31,467,940), XSPR_MASK, PPC750, { RT } }, +{ "mtupmc3", XSPR(31,467,941), XSPR_MASK, PPC750, { RT } }, +{ "mtupmc4", XSPR(31,467,942), XSPR_MASK, PPC750, { RT } }, +{ "mtmmcr0", XSPR(31,467,952), XSPR_MASK, PPC750, { RT } }, +{ "mtpmc1", XSPR(31,467,953), XSPR_MASK, PPC750, { RT } }, +{ "mtpmc2", XSPR(31,467,954), XSPR_MASK, PPC750, { RT } }, +{ "mtsia", XSPR(31,467,955), XSPR_MASK, PPC750, { RT } }, +{ "mtmmcr1", XSPR(31,467,956), XSPR_MASK, PPC750, { RT } }, +{ "mtpmc3", XSPR(31,467,957), XSPR_MASK, PPC750, { RT } }, +{ "mtpmc4", XSPR(31,467,958), XSPR_MASK, PPC750, { RT } }, +{ "mtl2cr", XSPR(31,467,1017), XSPR_MASK, PPC750, { RT } }, +{ "mtictc", XSPR(31,467,1019), XSPR_MASK, PPC750, { RT } }, +{ "mtthrm1", XSPR(31,467,1020), XSPR_MASK, PPC750, { RT } }, +{ "mtthrm2", XSPR(31,467,1021), XSPR_MASK, PPC750, { RT } }, +{ "mtthrm3", XSPR(31,467,1022), XSPR_MASK, PPC750, { RT } }, { "mtspr", X(31,467), X_MASK, COM, { SPR, RS } }, { "dcbi", X(31,470), XRT_MASK, PPC, { RA, RB } }, diff -uprN binutils-2.11.90.0.8/opcodes/sh-opc.h binutils-2.11.90.0.15/opcodes/sh-opc.h --- binutils-2.11.90.0.8/opcodes/sh-opc.h Thu Mar 15 14:52:14 2001 +++ binutils-2.11.90.0.15/opcodes/sh-opc.h Sun Jun 10 10:55:09 2001 @@ -835,7 +835,7 @@ sh_opcode_info sh_table[] = { /* 1111nn0111111101 ftrv XMTRX_M4,*/{"ftrv",{XMTRX_M4,V_REG_N},{HEX_F,REG_NM,HEX_F,HEX_D}, arch_sh4_up}, -{ 0 } +{ 0, {0}, {0}, 0 } }; #endif diff -uprN binutils-2.11.90.0.8/opcodes/z8k-dis.c binutils-2.11.90.0.15/opcodes/z8k-dis.c --- binutils-2.11.90.0.8/opcodes/z8k-dis.c Tue Apr 24 09:11:17 2001 +++ binutils-2.11.90.0.15/opcodes/z8k-dis.c Sat Jun 9 00:13:02 2001 @@ -142,7 +142,7 @@ int z8k_lookup_instr PARAMS ((unsigned c static void output_instr PARAMS ((instr_data_s *, unsigned long, disassemble_info *)); static void unpack_instr PARAMS ((instr_data_s *, int, disassemble_info *)); -static void unparse_instr PARAMS ((instr_data_s *,int)); +static void unparse_instr PARAMS ((instr_data_s *, int)); static int print_insn_z8k (addr, info, is_segmented) @@ -334,15 +334,6 @@ unpack_instr (instr_data, is_segmented, switch (datum_class) { - case CLASS_X: - instr_data->address = instr_nibl; - break; - case CLASS_BA: - instr_data->displacement = instr_nibl; - break; - case CLASS_BX: - instr_data->arg_reg[datum_value] = instr_nibl; - break; case CLASS_DISP: switch (datum_value) { @@ -412,12 +403,6 @@ unpack_instr (instr_data, is_segmented, case CLASS_CC: instr_data->cond_code = instr_nibl; break; -#if 0 - case CLASS_CTRL: - instr_data->ctrl_code = instr_nibl; - break; -#endif - case CLASS_DA: case CLASS_ADDRESS: if (is_segmented) { @@ -465,38 +450,21 @@ unpack_instr (instr_data, is_segmented, case CLASS_BIT: instr_data->ctrl_code = instr_nibl & 0x7; break; - case CLASS_IR: - instr_data->arg_reg[datum_value] = instr_nibl; - break; case CLASS_FLAGS: instr_data->flags = instr_nibl; break; case CLASS_REG: instr_data->arg_reg[datum_value] = instr_nibl; break; - case CLASS_REG_BYTE: - instr_data->arg_reg[datum_value] = instr_nibl; - break; - case CLASS_REG_WORD: - instr_data->arg_reg[datum_value] = instr_nibl; - break; - case CLASS_REG_QUAD: - instr_data->arg_reg[datum_value] = instr_nibl; - break; - case CLASS_REG_LONG: - instr_data->arg_reg[datum_value] = instr_nibl; - break; case CLASS_REGN0: instr_data->arg_reg[datum_value] = instr_nibl; break; - case CLASS_PR: - instr_data->arg_reg[datum_value] = instr_nibl; - break; case CLASS_DISP8: instr_data->displacement = instr_data->insn_start + 2 + (signed char)instr_byte * 2; nibl_count += 1; break; default: + abort (); break; } @@ -605,6 +573,7 @@ unparse_instr (instr_data,is_segmented) strcat (out_str, tmp_str); break; default: + abort (); break; } }