diff options
author | nobody <> | 2004-01-26 12:52:12 +0000 |
---|---|---|
committer | nobody <> | 2004-01-26 12:52:12 +0000 |
commit | aa0e88e3d758559942e192f3075a3edc0b2f222d (patch) | |
tree | 71afb6fbfb9d80e4b7b8ee31e758ebc905cf6c48 | |
parent | 5f2fbaa631ada809193f3619152ecdcd956cc63d (diff) | |
download | gdb-aa0e88e3d758559942e192f3075a3edc0b2f222d.zip gdb-aa0e88e3d758559942e192f3075a3edc0b2f222d.tar.gz gdb-aa0e88e3d758559942e192f3075a3edc0b2f222d.tar.bz2 |
This commit was manufactured by cvs2svn to create branch
'carlton_dictionary-branch'.
Cherrypick from master 2004-01-26 12:52:10 UTC DJ Delorie <dj@redhat.com> 'merge from gcc':
bfd/ChangeLog-0203
bfd/doc/ChangeLog-9103
gdb/ChangeLog-2003
gdb/config/sparc/linux64.mh
gdb/config/sparc/linux64.mt
gdb/config/sparc/nm-sol2.h
gdb/config/sparc/obsd.mt
gdb/config/sparc/obsd64.mt
gdb/config/sparc/sol2-64.mt
gdb/config/sparc/sol2.mh
gdb/config/sparc/sol2.mt
gdb/config/sparc/sparc.mt
gdb/config/sparc/sparc64.mt
gdb/config/sparc/tm-sol2.h
gdb/config/sparc/tm-vxworks.h
gdb/config/sparc/vxworks.mt
gdb/mi/ChangeLog-1999-2003
gdb/sparc-linux-tdep.c
gdb/sparc-nat.h
gdb/sparc-sol2-nat.c
gdb/sparc-sol2-tdep.c
gdb/sparc64-linux-nat.c
gdb/sparc64-linux-tdep.c
gdb/sparc64-nat.c
gdb/sparc64-sol2-tdep.c
gdb/sparc64nbsd-tdep.c
gdb/sparc64obsd-tdep.c
gdb/sparcobsd-tdep.c
gdb/testsuite/gdb.base/gdb1476.c
gdb/testsuite/gdb.base/gdb1476.exp
gdb/testsuite/gdb.base/sepdebug.c
gdb/testsuite/gdb.base/sepdebug.exp
gdb/testsuite/gdb.cp/bs15503.cc
gdb/testsuite/gdb.cp/bs15503.exp
gdb/testsuite/gdb.cp/exception.cc
gdb/testsuite/gdb.cp/exception.exp
gdb/testsuite/gdb.mi/ChangeLog-1999-2003
gdb/tui/ChangeLog-1998-2003
gdb/tui/tui-command.c
gdb/tui/tui-command.h
gdb/tui/tui-data.c
gdb/tui/tui-data.h
gdb/tui/tui-disasm.c
gdb/tui/tui-disasm.h
gdb/tui/tui-io.c
gdb/tui/tui-io.h
gdb/tui/tui-layout.c
gdb/tui/tui-layout.h
gdb/tui/tui-regs.c
gdb/tui/tui-regs.h
gdb/tui/tui-source.c
gdb/tui/tui-source.h
gdb/tui/tui-stack.c
gdb/tui/tui-stack.h
gdb/tui/tui-win.c
gdb/tui/tui-win.h
gdb/tui/tui-windata.c
gdb/tui/tui-windata.h
gdb/tui/tui-wingeneral.c
gdb/tui/tui-wingeneral.h
gdb/tui/tui-winsource.c
gdb/tui/tui-winsource.h
include/ChangeLog-9103
include/coff/ChangeLog-9103
include/elf/ChangeLog-9103
include/opcode/ChangeLog-9103
libiberty/configure.ac
libiberty/cp-demangle.h
libiberty/cp-demint.c
opcodes/ChangeLog-0001
opcodes/ChangeLog-0203
sim/m32r/syscall.h
sim/m32r/traps-linux.c
73 files changed, 60017 insertions, 0 deletions
diff --git a/bfd/ChangeLog-0203 b/bfd/ChangeLog-0203 new file mode 100644 index 0000000..f99029a --- /dev/null +++ b/bfd/ChangeLog-0203 @@ -0,0 +1,11405 @@ +2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + Adfd m32r-linux and PIC support. Add new ABI that uses RELA. + * config.bfd (m32r*-*-linux*, m32r*le-*-linux*, m32r*le-*-*): Added. + * configure.in (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec, + bfd_elf32_m32rle_vec): Added + * configure: Regenerated. + * elf32-m32r.c (m32r_info_to_howto, m32r_elf_adjust_dynamic_symbol, + m32r_elf_size_dynamic_sections, m32r_elf_create_dynamic_sections, + m32r_elf_finish_dynamic_sections, m32r_elf_finish_dynamic_symbol, + allocate_dynrelocs, readonly_dynrelocs, m32r_elf_reloc_type_class, + m32r_elf_fake_sections): Added. + (m32r_elf_howto_table): Added + R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA, + R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA, + R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA, + R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA, + R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT, + R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24, + R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT, + R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF, + R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO, + R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO, + R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO, + R_M32R_GOTPC_LO. + (m32r_elf_relocate_section, m32r_elf_check_relocs): Changed for + New ABI. + * reloc.c: Add BFD_RELOC_M32R_GOT24, BFD_RELOC_M32R_26_PLTREL, + BFD_RELOC_M32R_COPY, BFD_RELOC_M32R_GLOB_DAT, + BFD_RELOC_M32R_JMP_SLOT, BFD_RELOC_M32R_RELATIVE, + BFD_RELOC_M32R_GOTOFF, BFD_RELOC_M32R_GOTPC24, + BFD_RELOC_M32R_GOT16_HI_ULO, BFD_RELOC_M32R_GOT16_HI_SLO, + BFD_RELOC_M32R_GOT16_LO, BFD_RELOC_M32R_GOTPC_HI_ULO, + BFD_RELOC_M32R_GOTPC_HI_SLO, BFD_RELOC_M32R_GOTPC_LO. + * targets.c (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec, + bfd_elf32_m32rle_vec): Added. + * bfd-in2.h: Regenerated. + * libbfd.h: Regenerated. + +2003-12-19 Danny Smith <dannysmith@users.sourceforge.net> + + * coffcode.h (styp_to_sec_flags): Don't treat .reloc section + as SEC_DEBUGGING. + +2003-12-18 Richard Sandiford <rsandifo@redhat.com> + + * elf32-mips.c (elf_mips_howto_table_rel): Replace all uses of + mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. Use + _bfd_mips_elf_hi16_reloc for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16, + _bfd_mips_elf_lo16_reloc for R_MIPS_LO16 and R_MIPS_GNU_REL_LO16, + and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16. Change rightshift + to 16 for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16. + (mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc) + (mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete. + (_bfd_mips_elf32_gprel16_reloc): Remove special case. + (mips_elf_gprel32_reloc, mips32_64bit_reloc): Likewise. + + * elf64-mips.c (mips_elf64_howto_table_rel): Replace all uses of + mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. Use + _bfd_mips_elf_hi16_reloc for R_MIPS_HI16, _bfd_mips_elf_lo16_reloc + for R_MIPS_LO16 and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16. + Change R_MIPS_HI16's rightshift to 16. + (mips_elf64_howto_table_rela): Replace all uses of + mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. + Use _bfd_mips_elf_generic_reloc for R_MIPS_GOT16 as well. + (mips_elf64_hi16_reloc, mips_elf64_got16_reloc): Delete. + (mips_elf64_shift6_reloc): Remove special case. Use + _bfd_mips_elf_generic_reloc instead of returning bfd_reloc_continue. + + * elfn32-mips.c (prev_reloc_section): Delete. + (prev_reloc_address, prev_reloc_addend): Delete. + (elf_mips_howto_table_rel, elf_mips_howto_table_rela): As for + elf64-mips.c + (GET_RELOC_ADDEND, SET_RELOC_ADDEND): Delete. + (mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc) + (mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete. + (mips_elf_gprel16_reloc): Delete use of GET_RELOC_ADDEND. + (mips_elf_literal_reloc, mips_elf_gprel32_reloc): Likewise. + (mips16_jump_reloc, mips16_gprel_reloc): Likewise. + (mips_elf_shift6_reloc): Likewise. Delete use of SET_RELOC_ADDEND. + + * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Use + _bfd_relocate_contents to install an in-place addend. + (mips_hi16): New structure. + (mips_hi16_list): Moved from elf32-mips.c. + (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_got16_reloc): New functions. + (_bfd_mips_elf_lo16_reloc, _bfd_mips_elf_generic_reloc): New functions. + (mips_elf_calculate_relocation): Assume addend is unshifted. + (_bfd_mips_elf_relocate_section): Don't apply the howto rightshift + on top of the usual high-part shift. Don't shift the addend right + before calling mips_elf_calculate_relocation. + + * elfxx-mips.h (_bfd_mips_elf_hi16_reloc): Declare. + (_bfd_mips_elf_got16_reloc, _bfd_mips_elf_lo16_reloc): Declare. + (_bfd_mips_elf_generic_reloc): Declare. + +2003-12-16 Eric Youngdale <eric@mkssoftware.com> + Nick Clifton <nickc@redhat.com> + + * peicode.h (pe_ILF_build_a_bfd): Only skip one instance of each + prefix character, if they are present. + +2003-12-15 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru> + Nick Clifton <nickc@redhat.com> + + * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Ensure that correct flags + are set on known section types. + +2003-12-12 Nick Clifton <nickc@redhat.com> + + * po/ro.po: Updated translation. + +2003-12-12 Alan Modra <amodra@bigpond.net.au> + + * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Check for + NULL dyn_h. + +2003-12-11 Nick Clifton <nickc@redhat.com> + + * elf.c (INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments. + +2003-12-08 Richard Sandiford <rsandifo@redhat.com> + + * elfxx-mips.h, elfxx-mips.c, cpu-mips.c: Convert prototypes. + Remove casts that were only needed for K&R compatibility. + +2003-12-08 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct elf_backend_data): Remove "bfd *" and add + "elflink_hash_entry *" param to elf_backend_link_output_symbol_hook. + Add "elflink_hash_entry *" param to elf_backend_output_arch_syms. + * elflink.h (elf_link_output_sym): Add "elflink_hash_entry *" param, + and pass to output_symbol_hook. + (elf_bfd_final_link): Adjust elf_link_output_sym calls. + (elf_link_output_extsym): Likewise. + (elf_link_input_bfd): Likewise. + * elf32-sh64.c (sh64_elf_link_output_symbol_hook): Adjust. + * elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise. + * elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise. + * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise. + * elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise. + * elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise. + * elf64-sparc.c (sparc64_elf_output_arch_syms): Likewise. + * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise. + Validate dynh->h against h. + * elf64-ppc.c (struct ppc_link_hash_entry): Add adjust_done bitfield. + (link_hash_newfunc): Init it. + (adjust_opd_syms): New function. + (ppc64_elf_edit_opd): Set adjust_done when global .opd sym adjusted. + Set opd.adjust for all .opd relocs. Call adjust_opd_syms. + (ppc64_elf_tls_optimize): Adjust possible .opd sym values here. + (ppc64_elf_relocate_section): Also adjust syms not a multiple of 24. + (ppc64_elf_output_symbol_hook): New function. + (elf_backend_link_output_symbol_hook): Define. + +2003-12-07 Richard Sandiford <rsandifo@redhat.com> + + * elf32-mips.c, elfn32-mips.c, elf64-mips.c: Convert prototypes. + Remove casts that were only needed for K&R compatibility. + +2003-12-05 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru> + + * coff-arm.c (aoutarm_std_reloc_howto [ARM_WINCE]): Set + partial_inplace for these relocs to FALSE for comptability with + the MS linker. + Remap ARM_26D relocation from 5 to 0. This fixes "bad fixup" error + generated by MS linker, and brings the relocation in line the MS + PE documentation. + +2003-12-04 H.J. Lu <hongjiu.lu@intel.com> + + * elf32-ppc.c (ppc_elf_relax_section): Don't check relax_finalizing. + +2003-12-04 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_ia64_relax_section): Use the + need_relax_finalize field in link_info instead of + relax_finalizing to check if the relax finalize pass is being + done. + +2003-12-04 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru> + + * coff-arm.c (coff_arm_relocate_section, bfd_arm_process_before_allocation): + Change ARM26* to ARM_26* in comments to match definitions. + (coff_arm_adjust_symndx): Replace hard-coded constants with + appropriate definitions (ARM_26*). + +2003-12-04 Alan Modra <amodra@bigpond.net.au> + + * coff-i860.c (coff_i860_reloc_nyi): Return bfd_reloc_not_supported. + * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Warning fixes. + (mn10300_elf_relax_section): Likewise. + * nlm32-alpha.c (ONES): Define. + (nlm32_alpha_howto_table): Use it to avoid warnings. + +2003-12-04 Alan Modra <amodra@bigpond.net.au> + + * elf32-i386.c (elf_i386_object_p): Delete. + (elf_backend_object_p): Don't define. + * elf32-s390.c (elf_s390_object_p): No need to alloc tdata here. + * elf32-sh.c (sh_elf_object_p): Likewise. + * elf32-sparc.c (elf32_sparc_object_p): Likewise. + * elf64-alpha.c (elf64_alpha_object_p): Likewise. + * elf64-s390.c (elf_s390_object_p): Likewise. + * elf64-x86-64.c (elf64_x86_64_elf_object_p): Likewise. + +2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * archures.c (bfd_mach_m32r2): Add new machine type. + * bfd-in2.h: Regenerate. + * cpu-m32r.c : Add new machine type. + * elf32-m32r.c (m32r_elf_object_p, m32r_elf_final_write_processing, + m32r_elf_merge_private_bfd_data): Add support for new machine + type. + +2003-12-03 Dave Airlie <airlied@linux.ie> + + * config.bfd: Add vax-linux-gnu target. + * configure.in: Likewise. + * configure: Regenerate. + +2003-12-03 Alan Modra <amodra@bigpond.net.au> + + * ecoff.c (ecoff_link_add_archive_symbols): Update for renamed + bfd_link_hash_entry field "next" -> "und_next". + * linker.c (_bfd_link_hash_newfunc): Likewise. + (bfd_link_add_undef): Likewise. + (_bfd_generic_link_add_archive_symbols): Likewise. + (_bfd_generic_link_add_one_symbol): Likewise. + * xcofflink.c (xcoff_link_add_symbols): Likewise. + +2003-12-02 Nick Clifton <nickc@redhat.com> + + * configure.in (ALL_LINGUAS): Add ro. + * po/ro.po: New Romanian translation. + +2003-12-02 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + +2003-12-01 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru> + + * coffcode.h (coff_compute_section_file_positions): Set page_size + to 1 instead of 0 in the case file alignment value is zero. + +2003-12-01 Kazu Hirata <kazu@cs.umass.edu> + + * coff-rs6000.c: Remove ARGSUSED and VARARGS. + * coff64-rs6000.c: Likewise. + * coffcode.h: Likewise. + * elf32-vax.c: Likewise. + * hash.c: Likewise. + * hppabsd-core.c: Likewise. + * hpux-core.c: Likewise. + * ihex.c: Likewise. + * netbsd-core.c: Likewise. + * osf-core.c: Likewise. + * pdp11.c: Likewise. + * ptrace-core.c: Likewise. + * sco5-core.c: Likewise. + * section.c: Likewise. + * sunos.c: Likewise. + * trad-core.c: Likewise. + +2003-12-01 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (is_elf_hash_table): Take hash tab rather than info arg. + * elf.c (_bfd_elf_merge_sections): Adjust to suit. + (_bfd_elf_link_just_syms): Likewise. + (bfd_elf_get_needed_list): Likewise. + (bfd_elf_get_runpath_list): Likewise. + (_bfd_elf_link_hash_copy_indirect): Remove unneeded parens. + * elf32-hppa.c (elf32_hppa_setup_section_lists): Don't check hash tab + creator flavour. + (elf32_hppa_set_gp): Look up output sections rather than using htab. + * elf32-i960.c: Comment fix. Formatting. + * elf32-m32r.c (m32r_elf_add_symbol_hook): Use is_elf_hash_table + rather than testing creator flavour. + * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise. + * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise. + * elflink.c (_bfd_elf_link_create_dynamic_sections): Adjust for + is_elf_hash_table change. Remove redundant test. + (bfd_elf_record_link_assignment): Use is_elf_hash_table rather than + testing creator flavour. + (elf_link_record_local_dynamic_symbol): Adjust for is_elf_hash_table. + (_bfd_elf_fix_symbol_flags): Likewise. + (_bfd_elf_adjust_dynamic_symbol): Likewise. + * elflink.h (elf_link_add_object_symbols): Likewise. Remove redundant + checks. Use is_elf_hash_table rather than testing creator flavour. + Use hash_table throughout in place of info->hash. + (elf_add_dynamic_entry): Adjust for is_elf_hash_table change. + (NAME(bfd_elf,size_dynamic_sections)): Likewise. Remove redundant + check. + (elf_bfd_final_link): Adjust for is_elf_hash_table change. + (elf_link_check_versioned_symbol): Use is_elf_hash_table rather than + testing creator flavour. + (elf_gc_sections): Add is_elf_hash_table check. + (elf_gc_common_finalize_got_offsets): Likewise. + (elf_bfd_discard_info): Adjust for is_elf_hash_table change. Remove + redundant check. + * elfxx-ia64.c (elfNN_ia64_relax_section): Use is_elf_hash_table + rather than testing creator flavour. + +2003-11-28 Christian Groessler <chris@groessler.org> + + * cpu-z8k.c: Convert to ISO C90. + * coff-z8k.c: Likewise. + +2003-11-27 Alexandre Oliva <aoliva@redhat.com> + + * elf-bfd.h (elf_backend_data::elf_backend_modify_segment_map): + Add link info argument. + * elf32-i370.c (elf_backend_modify_segment_map): Likewise. + * elf32-ppc.c (ppc_elf_modify_segment_map): Likewise. + * elf32-xtensa.c (elf_xtensa_modify_segment_map): Likewise. + * elf64-hppa.c (elf64_hppa_modify_segment_map): Likewise. + * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise. + * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise. + * elfxx-mips.h (_bfd_mips_elf_modify_segment_map): Likewise. + * elf.c (assign_file_positions_except_relocs, + assign_file_positions_for_segments): Likewise. Adjust calls. + +2003-11-27 Mark Kettenis <kettenis@gnu.org> + + * elf.c (elfcore_grok_netbsd_procinfo): Make a pseudosection out + of the note. + +2003-11-26 Daniel Jacobowitz <drow@mvista.com> + Richard Sandiford <rsandifo@redhat.com> + + * elfxx-mips.c (mips_elf_set_global_got_offset): Don't set no_fn_stub. + (mips_elf_set_no_stub): New function. + (mips_elf_multi_got): Call it. + (_bfd_mips_elf_finish_dynamic_symbol): If a relocation is needed for + a secondary GOT entry, create an R_MIPS_32 or R_MIPS_64 relocation and + use mips_elf_create_dynamic_relocation to deal with any compatibility + issues. Store the adjusted addend in the GOT slot. + +2003-11-25 Mattias Engdegård <mattias@virtutech.se> + + * stabs.c (_bfd_link_section_stabs): Skip N_EXCL stabs when + procesing N_BINCL stabs. + +2003-11-25 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc_type_of_stub): Disallow stubs other than + ppc_stub_plt_call to symbols defined in shared libs. + +2003-11-22 Jakub Jelinek <jakub@redhat.com> + + * elf-bfd.h (ELF_LINK_POINTER_EQUALITY_NEEDED): Define new flag. + * elf.c (_bfd_elf_link_hash_copy_indirect): Copy it. + * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise. + (elf_i386_check_relocs): Set it. + (elf_i386_finish_dynamic_symbol): If it is not set, + clear st_value of SHN_UNDEF symbol. + +2003-11-20 Jim Blandy <jimb@redhat.com> + + * cpu-powerpc.c (powerpc_compatible): Any ISA in the PowerPC + family is a superset of <bfd_arch_rs6000,bfd_mach_rs6k>. + +2003-11-20 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * elf32-s390.c (elf_s390_relocate_section): Don't recalculate symbol + section for reloc output and subtract the output section's address + from the addend when converting a relocation into one against a + section symbol. + * elf64-s390.c (elf_s390_relocate_section): Likewise. + +2003-11-18 James E Wilson <wilson@specifixinc.com> + + * elfxx-ia64.c (get_fptr): For fptr_rel, use dynobj not abfd. + (elfNN_ia64_size_dynamic_sections): When stripping sections, check + for ia64_info->rel_fptr_sec. + +2003-11-18 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (toc_adjusting_stub_needed): Exit early if section + size is zero. + +2003-11-17 Daniel Jacobowitz <drow@mvista.com> + + * elf.c (_bfd_elf_link_hash_copy_indirect): Copy + ELF_LINK_HASH_NEEDS_PLT. Fix formatting. + * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise. + * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise. + * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise. + * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise. + * elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise. + * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. + * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise. + * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise. + * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise. + * elf32-xtensa.c (elf_xtensa_copy_indirect_symbol): Remove. + (elf_backend_copy_indirect_symbol): Don't define. + +2003-11-14 Daniel Jacobowitz <drow@mvista.com> + + * elfxx-mips.c (mips_elf_merge_gots): Weaken assert for local + GOT entries. + +2003-11-13 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * elf32-s390.c (elf_s390_relocate_section): Only convert R_390_32 + to R_390_RELATIVE. Convert the other relocations against local + symbols to relocations against the start of the section. + * elf64-s390.c (elf_s390_relocate_section): Only convert R_390_64 + to R_390_RELATIVE. Convert the other relocations against local + symbols to relocations against the start of the section. + +2003-11-11 Nick Clifton <nickc@redhat.com> + + * elf-m10300.c (bfd_mn10300_elf_size_dynamic_sections): Use + info->executable not info->shared to decide if a .interp section + should be present. + * elf32-arm.h (elf32_arm_size_dynamic_sections): Likewise. + * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise. + * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise. + * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise. + * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise. + * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise. + * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise. + * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise. + * elfxx-mips.c (_bfd_mips_size_dynamic_sections): Likewise. + * elflink.h (size_dynamic_sections): Likewise. + +2003-11-10 Jonathan Wilson <jonwil@tpgi.com.au> + + * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Swap out tls pointer. + (_bfd_XXi_final_link_postscript): Look for __tks_used symbol. If + found initialise the tls data directory entry. + +2003-11-07 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_install_value): Delete. + (shared_stub_entry, stub_entry): Make them arrays of ints. + Remove initial branch. + (ppc_elf_relax_section): Write one branch around all trampolines + instead. Correct bogus R_PPC_PLTREL24 handling. Correct + branch range check. Only use shared_stub_entry when shared. + Test that branches can reach stubs. Write trampolines out at + end so that just one realloc is used. Handle little-endian + mode. Move relevant code from ppc_elf_install_value to here. + (ppc_elf_relocate_section): Move code handling RELAX32 from + ppc_elf_install_value to here. + +2003-11-06 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_howto_raw); Add entry for R_PPC_RELAX32PC. + (ppc_elf_install_value): Handle R_PPC_RELAX32PC. Merge duplicate + cases. + (shared_stub_entry): Correct opcode. + (ppc_elf_relax_section): Generate R_PPC_RELAX32PC relocs. + (ppc_elf_relocate_section): Handle them. + +2003-11-05 Alan Modra <amodra@bigpond.net.au> + + * elf.c (_bfd_elf_rela_local_sym): Accept asection **, and return + updated section in case of merged section. + * elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration. + * elf-hppa.h (elf_hppa_relocate_section): Adjust call. + * elf-m10200.c (mn10200_elf_relocate_section): Likewise. + * elf-m10300.c (mn10300_elf_relocate_section): Likewise. + * elf32-arm.h (elf32_arm_relocate_section): Likewise. + * elf32-avr.c (elf32_avr_relocate_section): Likewise. + * elf32-cris.c (cris_elf_relocate_section): Likewise. + * elf32-fr30.c (fr30_elf_relocate_section): Likewise. + * elf32-frv.c (elf32_frv_relocate_section): Likewise. + * elf32-h8300.c (elf32_h8_relocate_section): Likewise. + * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. + * elf32-i370.c (i370_elf_relocate_section): Likewise. + * elf32-i860.c (elf32_i860_relocate_section): Likewise. + * elf32-m32r.c (m32r_elf_relocate_section): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-mcore.c (mcore_elf_relocate_section): Likewise. + * elf32-msp430.c (elf32_msp430_relocate_section): Likewise. + * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf32-s390.c (elf_s390_relocate_section): Likewise. + * elf32-sh.c (sh_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf32-v850.c (v850_elf_relocate_section) Likewise. + * elf32-vax.c (elf_vax_relocate_section): Likewise. + * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. + * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. + * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. + * elf64-mmix.c (mmix_elf_relocate_section): Likewise. + * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. + * elf64-s390.c (elf_s390_relocate_section): Likewise. + * elf64-sh64.c (sh_elf64_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. + + * elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol + section for reloc output. + * elf32-i370.c (i370_elf_relocate_section): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf32-vax.c (elf_vax_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + + * elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything + for R_PPC_RELAX32 reloc. Don't bother checking ppc_elf_install_value + return value. + * elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check + sec->id. + +2003-11-05 Alan Modra <amodra@bigpond.net.au> + + * elf32-d10v.c (extract_rel_addend, insert_rel_addend): New functions. + (elf32_d10v_relocate_section): Use them to handle -r reloc + adjustments, and in place of _bfd_elf_rela_local_sym. + + * cpu-iq2000.c (arch_info_struct): Warning fix. + +2003-11-05 Alan Modra <amodra@bigpond.net.au> + + * elf32-hppa.c (ELIMINATE_COPY_RELOCS): Define. + (elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on + weakdefs. + (elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS. + (elf32_hppa_adjust_dynamic_symbol): Likewise. Copy weakdef + NON_GOT_REF. + (allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and + SYMBOL_CALLS_LOCAL. Discard relocs for undef weak syms with + non-default visibility. + (elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and + SYMBOL_CALLS_LOCAL. + +2003-11-04 Alan Modra <amodra@bigpond.net.au> + + * aout-target.h, aoutf1.h, bfdio.c, bfdwin.c: Update copyright date. + * coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto. + * coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto. + * cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto. + * cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto. + * gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto. + * nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto. + + * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Fix + "dereferencing type-punned pointer" warnings. + + * aout-adobe.c (aout_adobe_set_section_contents): Constify location. + * aoutx.h (NAME(aout,set_section_contents)): Ditto. + * bfd-in2.h: Regenerate. + * binary.c (binary_set_section_contents): Ditto. + * bout.c (b_out_set_section_contents): Ditto. + * coff-tic54x.c (tic54x_set_section_contents): Ditto. + * coffcode.h (coff_set_section_contents): Ditto. + * ecoff.c (_bfd_ecoff_set_section_contents): Ditto. + * elf-bfd.h (_bfd_elf_set_section_contents): Ditto. + * elf.c (_bfd_elf_set_section_contents): Ditto. + * elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto. + * elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto. + * i386msdos.c (msdos_set_section_contents): Ditto. + * ieee.c (ieee_set_section_contents): Ditto. + * ihex.c (ihex_set_section_contents): Ditto. + * libaout.h (NAME(aout,set_section_contents)): Ditto. + * libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto. + (_bfd_generic_set_section_contents): Ditto. + * libbfd.h: Regenerate. + * libbfd.c (_bfd_generic_set_section_contents): Ditto. + * libecoff.h (_bfd_ecoff_set_section_contents): Ditto. + * libnlm.h (nlmNAME(set_section_contents)): Ditto. + (struct nlm_backend_data <nlm_mangle_relocs>): Ditto. + * mmo.c (mmo_set_section_contents): Ditto. + * nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto. + * nlm32-i386.c (nlm_i386_mangle_relocs): Ditto. + * nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto. + * nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto. + * nlmcode.h (nlm_set_section_contents): Ditto. + * oasys.c (oasys_set_section_contents): Ditto. + * pdp11.c (NAME(aout,set_section_contents)): Ditto. + * ppcboot.c (ppcboot_set_section_contents): Ditto. + * srec.c (srec_set_section_contents): Ditto. + * targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto. + * tekhex.c (tekhex_set_section_contents): Ditto. + (move_section_contents): Ditto. + * versados.c (versados_set_section_contents): Ditto. + * vms-misc.c (_bfd_save_vms_section): Ditto. + * vms.c (vms_set_section_contents): Ditto. + * vms.h (_bfd_save_vms_section): Ditto. + +2003-11-04 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc_size_one_stub): Size relbrlt. Accept info arg + rather than htab. + (ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal. Zero + relbrlt size. + (ppc64_elf_build_stubs): Allocate space for relbrlt. + +2003-11-04 Alan Modra <amodra@bigpond.net.au> + + * bfd-in.h (_bfd_elf_tls_setup): Declare. + * bfd-in2.h: Regenerate. + * elf-bfd.h (struct elf_link_tls_segment): Delete. + (struct elf_link_hash_table): Add tls_sec and tls_size. + * elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size. + * elflink.c (_bfd_elf_tls_setup): New function. + * elflink.h (struct elf_final_link_info): Remove first_tls_sec. + (elf_bfd_final_link): Don't set first_tls_sec here. Update code + saving tls segment info, round segment size up. + (elf_link_output_extsym): Adjust code using tls segment info. + (elf_link_input_bfd): Likewise. + * elf32-i386.c (dtpoff_base, tpoff): Likewise. + * elf32-s390.c (dtpoff_base, tpoff): Likewise. + * elf32-sh.c (dtpoff_base, tpoff): Likewise. + * elf32-sparc.c (dtpoff_base, tpoff): Likewise. + * elf64-s390.c (dtpoff_base, tpoff): Likewise. + * elf64-x86-64.c (dtpoff_base, tpoff): Likewise. + * elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise. + (elfNN_ia64_dtprel_base): Likewise. + * elf64-alpha.c (alpha_get_dtprel_base): Likewise. + (alpha_get_tprel_base): Likewise. + (struct alpha_relax_info): Remove tls_segment. + (elf64_alpha_relax_got_load): Adjust invocation of + alpha_get_dtprel_base and alpha_get_tprel_base. + (elf64_alpha_relax_tls_get_addr): Likewise. + (elf64_alpha_relax_section): Likewise. + (elf64_alpha_relocate_section): Likewise. + (elf64_alpha_relax_find_tls_segment): Delete. + * elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec. + (ppc_elf_tls_setup): Call _bfd_elf_tls_setup. Return section. + (ppc_elf_relocate_section): Adjust to use elf.tls_sec. + * elf32-ppc.h (ppc_elf_tls_setup): Update. + * elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec. + (ppc64_elf_tls_setup): Call _bfd_elf_tls_setup. Return section. + (ppc64_elf_tls_optimize): Adjust to use elf.tls_sec. + (ppc64_elf_relocate_section): Likewise. + * elf64-ppc.h (ppc64_elf_tls_setup): Update. + +2003-11-03 Daniel Jacobowitz <drow@mvista.com> + + * elf-bfd.h (struct elf_backend_data): Remove plt_header_size. + * elf-m10300.c (elf_backend_plt_header_size): Don't define. + * elf32-arm.h (elf_backend_plt_header_size): Don't define. + * elf32-cris.c (elf_backend_plt_header_size): Don't define. + * elf32-i386.c (elf_backend_plt_header_size): Don't define. + * elf32-mips.c (elf_backend_plt_header_size): Don't define. + * elf32-ppc.c (elf_backend_plt_header_size): Don't define. + * elf32-s390.c (elf_backend_plt_header_size): Don't define. + * elf32-sh.c (elf_backend_plt_header_size): Don't define. + * elf32-sparc.c (elf_backend_plt_header_size): Don't define. + * elf64-alpha.c (elf_backend_plt_header_size): Don't define. + * elf64-hppa.c (elf_backend_plt_header_size): Don't define. + * elf64-mips.c (elf_backend_plt_header_size): Don't define. + * elf64-ppc.c (elf_backend_plt_header_size): Don't define. + * elf64-s390.c (elf_backend_plt_header_size): Don't define. + * elf64-sh64.c (elf_backend_plt_header_size): Don't define. + * elf64-sparc.c (elf_backend_plt_header_size): Don't define. + * elf64-x86-64.c (elf_backend_plt_header_size): Don't define. + * elfn32-mips.c (elf_backend_plt_header_size): Don't define. + * elfxx-ia64.c (elf_backend_plt_header_size): Don't define. + * elfxx-target.h (elf_backend_plt_header_size): Don't define + or include in target initializer. + +2003-11-03 Andrew Cagney <cagney@redhat.com> + + * section.c (bfd_set_section_contents): Make the "location" buffer + constant. + * bfd-in2.h: Re-generate. + +2003-10-30 Andrew Cagney <cagney@redhat.com> + + * syms.c: Replace "struct symbol_cache_entry" with "struct + bfd_symbol". + * vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto. + * mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto. + * cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto. + * bfd-in2.h: Re-generate. + +2003-10-30 Jakub Jelinek <jakub@redhat.com> + + * elfxx-ia64.c: Include objalloc.h, hashtab.h. + (struct elfNN_ia64_local_hash_entry): Remove root. Add id and r_sym + fields. + (struct elfNN_ia64_local_hash_table): Remove. + (struct elfNN_ia64_link_hash_table): Change loc_hash_table's type + to htab_t. Add loc_hash_memory field. + (elfNN_ia64_local_hash_table_init, elfNN_ia64_new_loc_hash_entry): + Removed. + (elfNN_ia64_local_htab_hash, elfNN_ia64_local_htab_eq): New + functions. + (elfNN_ia64_hash_table_create): Use hashtab.h hashtable for + loc_hash_table. Initialize loc_hash_memory. + (elfNN_ia64_hash_table_free): New function. + (elfNN_ia64_local_hash_lookup): Remove. + (elfNN_ia64_local_dyn_sym_thunk): Change into htab_traverse + callback. + (elfNN_ia64_dyn_sym_traverse): Use htab_traverse. + (get_local_sym_hash): Use hashtab.h hashtable for loc_hash_table. + (bfd_elfNN_bfd_link_hash_table_free): Define. + +2003-10-30 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (_bfd_elf_link_record_dynamic_symbol): Modify versioned + symbol string in place. + +2003-10-30 Jim Blandy <jimb@redhat.com> + + * cpu-rs6000.c (rs6000_compatible): Check the correct arch_info + object's mach field: all PowerPC machines are supersets of the + original rs6000, but not later rs6000 machines. + +2003-10-30 Alan Modra <amodra@bigpond.net.au> + + * dwarf2.c (struct attribute): Delete "unsnd", "snd" and "addr". + Add "val" and "sval" fields. + (DW_STRING, DW_UNSND, DW_BLOCK, DW_SND, DW_ADDR): Delete. + (read_attribute_value): Expand and adjust DW_* occurrences. + (scan_unit_for_functions, parse_comp_unit): Likewise. + +2003-10-30 Phil Edwards <phil@codesourcery.com> + + * config.bfd (arm-*-vxworks): Remove separate stanza; merge with + other common ELF triples. + (i[3-7]86-*-vxworks): Change to ELF format. + (mips*-*-windiss): New triple, add to common MIPS/ELF stanza. + (sh-*-vxworks): New stanza. + +2003-10-30 Lars Knoll <lars@trolltech.com> + Michael Matz <matz@suse.de> + Jakub Jelinek <jakub@redhat.com> + Alan Modra <amodra@bigpond.net.au> + + * merge.c (struct sec_merge_sec_info): Update comment. + (struct sec_merge_hash_entry): Remove entsize. + (sec_merge_hash_lookup): Only adjust alignment when creating. + (sec_merge_emit): Remove register keyword. + (cmplengthentry, last4_eq, last_eq): Delete. + (strrevcmp, strrevcmp_align, is_suffix): New. + (merge_strings): Use them to implement fast suffix merging. + * elf-strtab.c (struct elf_strtab_hash_entry): Update comments. + Make "len" signed. + (_bfd_elf_strtab_add): Lose on >2G strings. + (_bfd_elf_strtab_emit): Don't emit strings with len < 0. + (cmplengthentry, last4_eq): Delete. + (strrevcmp, is_suffix): New. + (_bfd_elf_strtab_finalize): Rework to implement fast suffix merging. + +2003-10-29 Daniel Jacobowitz <drow@mvista.com> + + * elf32-arm.h (elf32_arm_final_link_relocate): Move check for + SEC_ALLOC. + +2003-10-29 Philip Blundell <philb@gnu.org> + + * elf32-arm.h (elf32_arm_plt0_entry, elf32_arm_plt_entry): New + code sequence. + (PLT_HEADER_SIZE): New. + (struct elf32_arm_pcrel_relocs_copied): Rename to ... + (struct elf32_arm_relocs_copied): ... this. Count both + pcrel and non-pcrel relocs. All uses updated. + (struct elf32_arm_link_hash_table): Add pointers to dynamic linker + sections and symbol/section mapping cache. + (create_got_section): New. + (elf32_arm_create_dynamic_sections): New. + (elf_backend_create_dynamic_sections): Use it. + (elf32_arm_final_link_relocate): Support garbage collection of relocs. + (elf32_arm_check_relocs): Likewise. + (elf32_arm_adjust_dynamic_symbol): Likewise. + (elf32_arm_copy_indirect_symbol): New. + (elf32_arm_link_hash_table_create): Initialise new fields. + (elf32_arm_gc_sweep_hook): Implement. + (elf32_arm_discard_copies): Delete. + (elf32_arm_finish_dynamic_symbol): Use new PLT code. + (elf32_arm_finish_dynamic_sections): Likewise. + (elf_backend_can_refcount): Define. + (elf_backend_copy_indirect_symbol): Likewise. + (elf_backend_plt_header_size): Set to PLT_HEADER_SIZE. + +2003-10-29 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (elf_backend_grok_prstatus): Define. + (elf_backend_grok_psinfo): Define. + (ppc64_elf_grok_prstatus, ppc64_elf_grok_psinfo): New functions. + + * elf.c (_bfd_elfcore_make_pseudosection): Allow multiple + sections with the same name. + (elfcore_grok_lwpstatus): Likewise. + (elfcore_grok_win32pstatus): Likewise. + (elfcore_grok_note): Likewise. + (elfcore_grok_nto_status): Likewise. + (elfcore_grok_nto_gregs): Likewise. + +2003-10-27 Daniel Jacobowitz <drow@mvista.com> + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic + objects. + +2003-10-14 Richard Sandiford <rsandifo@redhat.com> + + * elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno. + +2003-10-24 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Look up + hash table for real symbols. + +2003-10-23 Michael Snyder <msnyder@redhat.com> + + * section.c (asection): Fix typo in comment. + +2003-10-23 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (get_tls_mask): Add toc_symndx param, save toc + reloc symbol index to it. Don't allow gd syms in shared libs + to be optimized. + (ppc64_elf_tls_optimize): Adjust get_tls_mask call. + (ppc64_elf_size_stubs): Likewise. + (ppc64_elf_relocate_section): Check that tls relocs are only used + with tls syms, and similarly for non-tls. Correct symbol used + when optimizing toc tls code. + +2003-10-22 Nick Clifton <nickc@redhat.com> + + * peicode.h (coff_swap_scnhdr_in): Only remove padding when + processing an executable. + +2003-10-22 Jakub Jelinek <jakub@redhat.com> + + * elflink.c (_bfd_elf_export_symbol): Adjust for globals and locals + field changes. + (_bfd_elf_link_assign_sym_version): Likewise. + * elflink.h (size_dynamic_sections): Likewise. + +2003-10-21 Alexandre Oliva <aoliva@redhat.com>, + Michael Snyder <msnyder@redhat.com> + + * archures.c (bfd_mach_sh4a, bfd_mach_sh4al_dsp, bfd_mach_sh4_nofpu, + bfd_mach_sh4a_nofpu): New machine types. + * bfd-in2.h: Rebuilt. + * cpu-sh.c (compatible): Remove unused function. + (SH4A_NEXT, SH4AL_DSP_NEXT, SH4_NOFPU_NEXT, SH4A_NOFPU_NEXT): New. + (arch_info_struct): Add sh4a, sh4al_dsp, sh4-nofpu and sh4a-nofpu. + * elf32-sh.c (sh_elf_set_mach_from_flags): Handle them. + +2003-10-21 Wouter van Heyst <wouter@vidicode.nl> + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Correct text + describing mismatched formats involving the Maverick FP type. + +2003-10-21 Anil Paranjpe <anilp1@KPITCummins.com> + + * binary.c (binary_object_p): Pass machine flag along with + architecture. + +2003-10-21 Thorsten Brehm <brehm@gmx.net> + + * archures.c (bfd_default_scan): Add support for mcf528x. + * ieee.c (ieee_write_processor): Likewise. + +2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com> + Bernardo Innocenti <bernie@develer.com> + + * archures.c: Add MCF528x (MCFv4) support. + * bfd/cpu-m68k.c (arch_info_struct): Likewise. + * bfd-in2.h: Regenerate. + +2003-10-20 Andrew Cagney <cagney@redhat.com> + + * targets.c: Replace "struct sec" with "struct bfd_section" + * syms.c, sparclynx.c, section.c, opncls.c: Ditto. + * libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto. + * elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto. + * aout-tic30.c, aout-target.h: + * bfd-in2.h, libcoff.h, libbfd.h: Regenerate. + +2003-10-18 Hans-Peter Nilsson <hp@bitrange.com> + + Support linker relaxation of new R_MMIX_PUSHJ_STUBBABLE relocs. + * elf64-mmix.c (MAX_PUSHJ_STUB_SIZE): New macro. + (struct _mmix_elf_section_data): New member pjs. + (mmix_set_relaxable_size, mmix_elf_get_section_contents): New + functions. + (elf_mmix_howto_table): New entry for R_MMIX_PUSHJ_STUBBABLE. + (mmix_reloc_map): Ditto. + (mmix_elf_relocate_section): Handle R_MMIX_PUSHJ_STUBBABLE. + (mmix_final_link_relocate, mmix_elf_check_common_relocs): Ditto. + (mmix_elf_perform_relocation): Ditto. Don't mark parameter addr + unused. + (mmix_elf_check_relocs): Move early return to after + mmix_elf_check_common_relocs call. + (mmix_elf_symbol_processing): Fix cut-and-pasto in head comment. + (_bfd_mmix_before_linker_allocation): Rename from + _bfd_mmix_prepare_linker_allocated_gregs. All referers changed. + Arrange to set the initial relaxable size of sections. + (_bfd_mmix_after_linker_allocation): Rename from + _bfd_mmix_finalize_linker_allocated_gregs. + (mmix_elf_relax_section): Relax a R_MMIX_PUSHJ_STUBBABLE reloc. + (bfd_elf64_get_section_contents): Define. + * reloc.c: Add ENUMX for BFD_RELOC_MMIX_PUSHJ_STUBBABLE. + * libbfd.h, bfd-in2.h: Regenerate. + + * reloc.c (bfd_generic_relax_section): Default-set + section->_cooked_size here. + (bfd_generic_get_relocated_section_contents): Don't set it here. + Explain why. + +2003-10-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * elf32-hppa.c (elf32_hppa_relocate_section): Skip relocation if + output section has been discarded. + +2003-10-17 Shrinivas Atre <shrinivasa@KPITCummins.com> + + * coff-h8300.c (funcvec_hash_newfunc): Handle normal mode. + (h8300_reloc16_extra_cases): Likewise. + (h8300_bfd_link_add_symbols): Likewise. + +2003-10-17 Dhananjay Deshpande <dhananjayd@kpitcummins.com> + + * cpu-h8300.c (h8300sxn_info_struct): Correct address size. + (h8300sn_info_struct): Likewise. + (h8300hn_info_struct): Likewise. + +2003-10-16 Pavel Roskin <proski@gnu.org> + + * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't calculate image size + for sections which lack size info. + +2003-10-17 Danny Smith <dannysmith@users.sourceforge.net> + + * configure.host: Add __USE_MINGW_FSEEK to HDEFINES for + mingw32. + +2003-10-16 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also warn + undefined patterns with '*'. + +2003-10-16 H.J. Lu <hongjiu.lu@intel.com> + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't + use the last CIE from a different section. + (_bfd_elf_write_section_eh_frame): Don't pad beyond the raw + size of the output section. + +2003-10-07 Roland McGrath <roland@redhat.com> + + * elf.c (_bfd_elf_make_section_from_phdr): Set alignment_power of + new section from p_align header field. + +2003-10-16 H.J. Lu <hongjiu.lu@intel.com> + + * elf32-xtensa.c (xtensa_read_table_entries): The external size + of entry is 8 bytes. + +2003-10-15 Andrew Cagney <cagney@redhat.com> + + * targets.c (BFD_JUMP_TABLE_SYMBOLS): Replace NAME##_get_symtab + with NAME##_canonicalize_symtab. + * libcoff-in.h (coff_canonicalize_symtab): Update. + * xsym.h (bfd_sym_canonicalize_symtab): Update. + * elf-bfd.h (_bfd_elf_canonicalize_symtab): Update. + * coffgen.c (coff_canonicalize_symtab): Update. + * libbfd-in.h (_bfd_nosymbols_canonicalize_symtab): Update. + * libnlm.h (nlmNAME(canonicalize_symtab)): Update. + * ieee.c (ieee_vec): Update comment. + * libecoff.h (_bfd_ecoff_canonicalize_symtab): Update. + * mmo.c (mmo_canonicalize_symtab): Update. + * nlm-target.h (nlm_canonicalize_symtab): Update. + * nlmcode.h (nlm_canonicalize_symtab): Update. + * i386msdos.c (msdos_canonicalize_symtab): Update. + * hp300hpux.c (MY (canonicalize_symtab)): Update. + * oasys.c (oasys_canonicalize_symtab): Update. + * som.c (som_canonicalize_symtab): Update. + * pef.c (bfd_pef_canonicalize_symtab): Update. + * nlmcode.h (nlm_canonicalize_symtab): Update. + * xsym.c (bfd_sym_canonicalize_symtab): Update. + * vms.c (vms_canonicalize_symtab): Update. + * versados.c (versados_canonicalize_symtab): Update. + * mach-o.c (bfd_mach_o_canonicalize_symtab): Update. + * ieee.c (ieee_canonicalize_symtab): Update. + * pdp11.c (NAME(aout,canonicalize_symtab)): Update. + * reloc.c: Update comment. + * libaout.h (NAME(aout,canonicalize_symtab)): Update. + * coff64-rs6000.c (aix5coff64_vec): Update. + * coff64-rs6000.c (bfd_xcoff_aix5_backend_data): Update. + * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update. + * aoutx.h (NAME(aout,canonicalize_symtab)): Update. + * elfxx-target.h (bfd_elfNN_canonicalize_symtab): Update. + * hp300hpux.c (MY_canonicalize_symtab): Update. + * ecoff.c (_bfd_ecoff_canonicalize_symtab): Update. + * aout-tic30.c (MY_canonicalize_symtab): Update. + * aout-target.h (MY_canonicalize_symtab): Update. + * ppcboot.c (ppcboot_canonicalize_symtab): Update. + * elf.c (_bfd_elf_canonicalize_symtab): Update. + * elfcode.h (elf_canonicalize_symtab): Update. + * ihex.c (ihex_canonicalize_symtab): Update. + * tekhex.c (tekhex_canonicalize_symtab): Update. + * binary.c (binary_canonicalize_symtab): Update. + * srec.c (srec_canonicalize_symtab): Update. + +2003-10-15 Kazu Hirata <kazu@cs.umass.edu> + + * elf32-h8300.c (elf_reloc_map): Fix a comment typo. + +2003-10-15 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (sh_elf_relocate_section): Handle R_SH_IMM_*_PCREL + relocations. + (sh_elf_check_relocs): Likewise. + + * elf32-sh64.c (elf_backend_merge_symbol_attribute): Define. + (sh64_elf_merge_symbol_attribute): New. + * elf64-sh64.c (elf_backend_merge_symbol_attribute): Define. + (sh64_elf64_merge_symbol_attribute): New. + +2003-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf-bfd.h (struct elf_backend_data): New function pointer member + elf_backend_merge_symbol_attribute. + * elflink.h (elf_link_add_object_symbols): Adjust call to + elf_backend_merge_symbol_attribute if the backend defined it. + * elfxx-target.h (elf_backend_merge_symbol_attribute): New macro. + (elfNN_bed): Add that to the initializer. + +2003-10-14 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (get_is_linkonce_section): Delete. + (xtensa_is_property_section, xtensa_is_littable_section): Use + XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Do not recognize + linkonce sections containing ".xt.insn" and ".xt.lit" substrings. + (xtensa_get_property_section_name): Check section name instead of + calling get_is_linkonce_section. Remove unused bfd parameter. Use + XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Never generate + linkonce section names by appending ".xt.insn" or ".xt.lit". + (xtensa_read_table_entries): Remove bfd argument in call to + xtensa_get_property_section_name. Free section name when done. + (elf_xtensa_combine_prop_entries): Free leaking table. + +2003-10-13 Richard Sandiford <rsandifo@redht.com> + + * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add + DT_MIPS_LIBLIST or DT_MIPS_CONFLICT entries. + (_bfd_mips_elf_finish_dynamic_symbol): Don't handle them. Don't + handle DT_MIPS_MSYM. Set DT_RELSZ based on the number of relocations + that were needed. + (_bfd_mips_elf_modify_segment_map): Fix placement of PT_MIPS_OPTIONS. + (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_UCODE. + +2003-10-13 H.J. Lu <hongjiu.lu@intel.com> + + * bfd-in.h (bfd_elf32_ia64_after_parse): New prototype. + (bfd_elf64_ia64_after_parse): Likewise. + * bfd-in2.h: Regenerated. + + * elfxx-ia64.c (oor_ip): New. + (oor_branch_size): Likewise. + (bfd_elfNN_ia64_after_parse): Likewise. + (elfNN_ia64_relax_section): Use oor_ip if oor_branch_size + equals sizeof (oor_ip). + +2003-10-12 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf64-sh64.c (sh_elf64_relocate_section): Tidy up for the + renumbering of some relocation numbers. + +2003-10-11 Alan Modra <amodra@bigpond.net.au> + + * coff-sh.c: Move definition of MAP and guard more code with + COFF_IMAGE_WITH_PE. + + * section.c (bfd_get_section_size_before_reloc): Ignore reloc_done. + * bfd-in2.h: Regenerate. + +2003-10-10 H.J. Lu <hongjiu.lu@intel.com> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * doc/Makefile.in: Likewise. + +2003-10-09 H.J. Lu <hongjiu.lu@intel.com> + + * cofflink.c: Include "safe-ctype.h". + (coff_link_add_symbols): Use ISDIGIT instead of isdigit. + +2003-10-08 Dave Brolley <brolley@redhat.com> + On behalf of Michael Snyder <msnyder@redhat.com> + + * archures.c: Add FRV fr550 machine. + * cpu-frv.c: Ditto. + * elf32-frv.c: Ditto. + * bfd-in2.h: Regenerate. + +2003-10-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c (STUB_MOVE,STUB_LI16): Fix stub code + for non-SGI N64 ABI. Improve code consitency. + +2003-10-07 Alexandre Oliva <aoliva@redhat.com> + + * elf32-frv.c (elf32_frv_howto_table): Set R_FRV_LABEL16's + rightshift to 2. + +2003-10-07 Nathan Sidwell <nathan@codesourcery.com> + + * libbfd-in.h (_bfd_link_section_stabs): Add string offset + parameter. + * cofflink.c (coff_link_add_symbols): Deal with split stab + sections. + * elflink.h (elf_link_add_object_symbols): Deal with split stab + sections. + * stabs.c (_bfd_link_section_stabs): Add string offset parameter. + * libbfd.h: Regenerated. + + * coffcode.h (coff_set_alignment_hook): With PE_COFF reloc + overflow, set reloc start position to after the count + reloc. Subtract one from num relocs. Give error on 0xffff relocs + and no overflow. + * cofflink.c (_bfd_coff_final_link): Deal with PE_COFF reloc + overflow. + * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do overflow if >= + 0xffff. + +2003-10-06 H.J. Lu <hongjiu.lu@intel.com> + + * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Pad the + last CIE/FDE if needed. + +2003-10-06 Nick Clifton <nickc@redhat.com> + + * targets.c (_bfd_target_vector): Include bfd_elf64_sparc_vec if + BFD64 is enabled. + +2003-10-06 Matt Thomas <matt@3am-software.com> + + * config.bfd: Move the hppa*-*-netbsd* case to the hppa*-*-linux* case. + +2003-10-06 Robert Millan <robertmh@gnu.org> + + * configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet. + * config.bfd: Likewise. + * configure: Regenerate. + +2003-10-04 Christian Groessler <chris@groessler.org> + + * coff-z8k.c (extra_case): Fix displacement length check for R_JR + and R_CALLR. + +2003-10-04 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*. + * elf32-m68hc11.c: Likewise. + * elf32-m68hc12.c: Likewise. + * elf32-m68hc1x.h: Likewise. + +2003-10-04 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Fix merge + of flags between HC12 and HCS12. + +2003-10-04 Bryce McKinlay <bryce@mckinlay.net.nz> + + * merge.c (_bfd_merge_sections): Set SEC_EXCLUDE flag on sections + which become empty after merging. + +2003-09-30 Jakub Jelinek <jakub@redhat.com> + + * elfxx-ia64.c (ia64_howto_table): Fix size of R_IA64_TPREL64[LM]SB, + R_IA64_DTPREL{32,64}[LM]SB and R_IA64_DTPMOD64[LM]SB. + +2003-09-30 Chris Demetriou <cgd@broadcom.com> + + * archures.c (bfd_mach_mipsisa64r2): New define. + * bfd-in2.h: Regenerate. + * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2. + * cpu-mips.c (I_mipsisa64r2): New enum value. + (arch_info_struct): Add entry for I_mipsisa64r2. + * elfxx-mips.c (_bfd_elf_mips_mach) + (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2. + (mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case. + (mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2. + +2003-09-29 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New. + Handle SHN_IA_64_ANSI_COMMON. + (elf_backend_section_from_bfd_section): Defined. + +2003-09-26 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (elf_link_read_relocs_from_section): Add an argument + of a pointer to section. Check bad symbol index. + (_bfd_elf_link_read_relocs): Modify calls to + elf_link_read_relocs_from_section. + +2003-09-23 DJ Delorie <dj@redhat.com> + + * elf32-sh.c (sh_elf_howto_table): R_SH_SWITCH8, + R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY, + R_SH_LOOP_START,R_SH_LOOP_END moved to "reserved" spaces, + R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U, + R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U, + R_SH_PSHA, R_SH_PSHL added. + (sh_reloc_map): Add R_SH_DIR16 and R_SH_DIR8. + (sh_elf_relocate_section): Support new relocs. + +2003-09-23 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (elf_xtensa_relocate_section): Fix typo that clobbered + dynamic relocation offsets. + +2003-09-23 Alan Modra <amodra@bigpond.net.au> + + * simple.c (bfd_simple_get_relocated_section_contents): Free the + hash table using _bfd_generic_link_hash_table_free. + +2003-09-23 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct bfd_elf_special_section): Remove "suffix". Change + type of prefix_length and suffix_length to int. Rename "attributes" + to "attr". Comment. + (_bfd_elf_get_sec_type_attr): Update prototype. + * elf.c (get_special_section): Rewrite. + (_bfd_elf_get_sec_type_attr): Return struct rather than passing in + attr and type pointers. + (_bfd_elf_new_section_hook): Adjust for above. + (special_sections): Merge suffix with prefix. Set + prefix_length for all entries. Set suffix_length appropriately. + * elf32-m32r.c (m32r_elf_special_sections): Likewise. + * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise. + * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise. + * elf32-mcore.c (mcore_elf_special_sections): Likewise. + * elf32-sh64.c (sh64_elf_special_sections): Likewise. + * elf32-v850.c (v850_elf_special_sections): Likewise. + * elf32-xtensa.c (elf_xtensa_special_sections): Likewise. + * elf64-alpha.c (elf64_alpha_special_sections): Likewise. + * elf64-hppa.c (elf64_hppa_special_sections): Likewise. + * elf64-ppc.c (ppc64_elf_special_sections): Likewise. + * elf64-sh64.c (sh64_elf64_special_sections): Likewise. + * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise. + * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise. + * elf32-ppc.c (ppc_elf_special_sections): Likewise. Fix .plt flags. + +2003-09-21 Daniel Jacobowitz <drow@mvista.com> + + * elf64-alpha.c (elf64_alpha_create_got_section): Initialize + ->got if the section already exists. + +2003-09-19 Nathan Sidwell <nathan@codesourcery.com> + + * dwarf2.c (decode_line_info): Cope with an initially empty + filename table. + +2003-09-18 H.J. Lu <hongjiu.lu@intel.com> + + * acinclude.m4: Include ../config/accross.m4. + * aclocal.m4: Regenerated. + + * configure.host (HOST_64BIT_TYPE): Remove if it is set to long + or long long. + (HOST_U_64BIT_TYPE): Remove if it is set to unsigned long long. + (host64): Remove if HOST_64BIT_TYPE is set to long. + + * configure.in (HOST_64BIT_TYPE): Set according to the size of + long and long long. + (HOST_U_64BIT_TYPE): Likewise. + (host64): Likewise. + * configure: Regenerated. + +2003-09-19 Alan Modra <amodra@bigpond.net.au> + + * elf.c (elfcore_write_note): Don't use sizeof(Elf_External_note) + since some ABIs round up the size of the struct. + +2003-09-18 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (_bfd_elf_merge_symbol): Allow type change if + the old symbol is undefined and the new symbol is defined. + +2003-09-18 Andreas Schwab <schwab@suse.de> + + * simple.c (bfd_simple_get_relocated_section_contents): Use + _bfd_generic_link_hash_table_create instead of + bfd_link_hash_table_create. + +2003-09-10 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections + started with ".sbss" or "".sdata" as SHF_IA_64_SHORT. + +2003-09-10 John David Anglin <dave.anglin@nrc-cnrc.nrc.ca> + Randolph Chung <randolph@tausq.org> + + * elf32-hppa.c (struct elf32_hppa_link_hash_entry, + hppa_link_hash_newfunc, hppa_build_one_stub, + elf32_hppa_adjust_dynamic_symbol, mark_PIC_calls, allocate_plt_static, + allocate_dynrelocs, elf32_hppa_size_dynamic_sections, + elf32_hppa_finish_dynamic_symbol): Remove pic_call field and all code + for generating import stubs for calls to statically linked PIC + functions. + (hppa_type_of_stub): Don't generate an import stub for calls to + statically linked pic functions. Generate import stubs for calls + in a shared object, to functions not in a regular file, and to + defined weak functions. Add new argument INFO. + (hppa_build_one_stub): Don't undef ADDIL_DP. + (elf32_hppa_check_relocs): Don't set SEC_HAS_GOT_REF flag. + (elf32_hppa_size_stubs): Pass info to hppa_type_of_stub. + (final_link_relocate): Change all DLTIND relocs to DPREL relocs in a + non-shared link. Convert instructions that use the the linkage table + pointer, or a facsimile thereof, to use the global data pointer when + the reloc has been changed. + +2003-09-08 Joel Brobecker <brobecker@gnat.com> + + * archures.c: Add new machine names for hppa. + * bfd-in2.h: Regenerate. + * cpu-hppa.c: Use the new machine names. + +2003-09-06 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc1x.h (struct m68hc11_elf_link_hash_table): Remove + all_local_syms member. + * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Use bfd_elf_get_elf_syms + to get the local symbols. + +2003-09-06 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11. + (elf_backend_special_sections): Define.a + + PR savannah/4950: + * elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors + section is read-only. + +2003-09-04 Nick Clifton <nickc@redhat.com> + + * archures.c (bfd_mach_v850e1): Define. + * bfd-in2.h: Regenerate. + * cpu-v850.h (scan): Accept bfd_mach_v850e1. + (arch_info_struct): Include an entry for bfd_mach_v850e1. + * elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag. + (v850_elf_final_write_processing): Accept bfd_mach_v850e1. + (v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag. + (v850_elf_merge_private_bfd_data): Allow v850e1 binaries to be + linked with v850e binaries. Mark the output as v850e. + +2003-09-03 Nick Clifton <nickc@redhat.com> + + * cofflink.c (_bfd_coff_link_input_bfd): Do not skip section + symbols that are used in relocs. + +2003-08-30 Robert Millan <robertmh@gnu.org> + + * configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet. + * config.bfd: Likewise. + * configure: Regenerate. + +2003-08-31 Christian Groessler <chris@groessler.org> + + * elf32-i860.c (i860_howto_pc26_reloc): Finish relocation here + instead of returning bfd_reloc_continue. + +2003-08-31 Andreas Jaeger <aj@suse.de> + + * merge.c: Update to ISO C90. + +2003-08-27 Ian Lance Taylor <ian@airs.com> + + * configure.in: Check for strtoull. + * bfd.c (bfd_scan_vma): Use strtoull when available. + * configure, config.in: Regenerate. + + * configure.in: Define and substitute BFD_HOST_LONG_LONG. + * bfd-in.h: Define BFD_HOST_LONG_LONG. Test it rather than + __GNUC__ when deciding whether to use long long for + BFD_HOST_64_BIT. + * configure, Makefile.in, doc/Makefile.in, bfd-in2.h: Regenerate. + +2003-08-27 Christian Groessler <chris@groessler.org> + + * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc, + i860_howto_splitn_reloc, i860_howto_highadj_reloc): New + functions. + (elf32_i860_howto_table): Insert the new functions as + 'special_function's in the proper reloc type entries. + +2003-08-27 Richard Sandiford <rsandifo@redhat.com> + + * elf32-frv.c (elf32_frv_relocate_section): Use + _bfd_elf_rela_local_sym. + +2003-08-26 Michael Snyder <msnyder@redhat.com> + + * cpu-frv.c: Remove unused enum. + +2003-08-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * reloc.c: Fix documentation for MIPS ELF relocations. + libbfd.h: Regenerate. + bfd-in2.h: Regenerate. + +2003-08-24 Jason Eckhardt <jle@rice.edu> + + * coff-i860.c (CALC_ADDEND): Define to be a no-op. + +2003-08-24 Jason Eckhardt <jle@rice.edu> + + * elf32-i860.c (elf32_i860_relocate_pc16): Subtract 4 and + shift by 2 before storing the relocated value. + +2003-08-23 Jason Eckhardt <jle@rice.edu> + + * coff-i860.c (coff_i860_reloc_nyi): New function. + (howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH, + LOWn, SPLITn, and BRADDR. + (RTYPE2HOWTO): Check that the r_type is within the howto_table + before trying to access the entry. + (coff_i860_rtype_to_howto): Likewise. + (coff_i860_reloc_type_lookup): New function. + (i860_reloc_processing): New function. + (coff_bfd_reloc_type_lookup): Define macro. + (RELOC_PROCESSING): Define macro. + Minor formatting adjustments. + +2003-08-23 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_link_add_object_symbols): Don't crash on NULL owner. + +2003-08-22 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_ia64_create_dynamic_sections): Align the + .got section at 8 bytes. + +2003-08-21 Nick Clifton <nickc@redhat.com> + + * cofflink.c: Update to ISO C90 and tidy up formatting. + +2003-08-21 Randolph Chung <tausq@debian.org> + + * elf32-hppa.c (elf32_hppa_object_p): For elf32-hppa-linux, objects + can have OSABI=Linux or OSABI=SysV. Check for both. + * elf64-hppa.c (elf64_hppa_object_p): Likewise. + +2003-08-21 Nick Clifton <nickc@redhat.com> + + * po/sv.po: Updated Swedish translation. + +2003-08-20 Richard Sandiford <rsandifo@redhat.com> + + * elf64-mips.c (elf_backend_copy_indirect_symbol): Define. + +2003-08-20 Nick Clifton <nickc@redhat.com> + + * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): New macro used to + replace some duplicated code in most elfxx-xxxx.c files. This + version uses the new fields in bfd_link_info. + + * elf-m10300.c (mn10300_elf_relocate_section): Use new macro. + * elf32-arm.h (elf32_arm_relocate_section): Likewise. + * elf32-cris.c (cris_elf_relocate_section): Likewise. + * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. + * elf32-i386.c (elf_i386_relocate_section): Likewise. + * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise. + * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf32-s390.c (elf_s390_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf32-vax.c (elf_vax_relocate_section): Likewise. + * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. + * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. + * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. + * elf64-s390.c (elf_s390_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. + + * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols, + elf_hppa_remark_useless_dynamic_symbols, + elf_hppa_relocate_section): Use the new fields in + bfd_link_info structure. + * elf32-sh.c (sh_elf_relocate_section): Likewise. + * elf64-alpha.c (elf64_alpha_check_relocs): Likewise. + * elf64-hppa.c (elf64_hppa_check_relocs): Likewise. + * elf64-sh64.c (sh_elf64_relocate_section): Likewise. + * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise. + * elfxx-mips.c (mips_elf_calculate_relocation): Likewise. + + * elflink.h (elf_link_output_extsym): Fix test for reporting + undefined symbols in shared libraries. Remove redundant test + of shlib_undefined when reporting references to forced local + symbols. + +2003-08-18 Andreas Schwab <schwab@suse.de> + + * libpei.h (bfd_pe_executable_p): Also recognize efi-app + executables. + +2003-08-17 Hans-Peter Nilsson <hp@bitrange.com> + + * simple.c (bfd_simple_get_relocated_section_contents): Move + reloc_done hack to before first bfd_section_size call. Change all + returns to use new wrapper macro RETURN, restoring sec->reloc_done. + +2003-08-16 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c: Don't include elf/ppc.h. + +2003-08-14 Richard Sandiford <rsandifo@redhat.com> + + * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Fix PT_DYNAMIC + code to work with 64-bit bfds. + +2003-08-14 Alan Modra <amodra@bigpond.net.au> + + * dep-in.sed: Remove libintl.h. + * Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Unset LC_COLLATE. + (POTFILES.in): Remove target. + * Makefile.in: Regenerate. + +2003-08-12 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_next_input_section): Update comment. + (ppc64_elf_relocate_section): For zero sym R_PPC64_TOC relocs, + use the function sym from the previous reloc. + +2003-08-11 Jakub Jelinek <jakub@redhat.com> + + * elf32-i386.c (elf_i386_relocate_section): Make undefined symbols + fatal if -pie. + * elf32-s390.c (elf_s390_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. + * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. + * elf64-s390.c (elf_s390_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + (ppc_elf_relocate_section) <case R_PPC_RELAX32>: Issue fatal error + on undefined symbols if -pie. + * elf32-sh.c (sh_elf_relocate_section): Likewise. + +2003-08-11 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_relocate_section): Add special case for crt1.o + branch to __libc_start_main. + +2003-08-08 Dmitry Diky <diwil@mail.ru> + + * archures.c: Add xW42 and xE42 parts. Sort MPU list according to + gcc order. + * cpu-msp430.c: Likewise. + * elf32-msp430.c: Likewise. + * bfd-in2.h: Regenerate. + +2003-08-07 Alan Modra <amodra@bigpond.net.au> + + * elfxx-target.h: Remove PTR cast. + * targets.c (bfd_target): Make backend_data const void *. + * elf-bfd.h: Constify all occurrences of struct elf_backend_data. + * elf-m10300.c: Likewise. + * elf.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-m68hc1x.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-s390.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-sh64.c: Likewise. + * elf32-sparc.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-mips.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-s390.c: Likewise. + * elf64-sh64.c: Likewise. + * elf64-sparc.c: Likewise. + * elf64-x86-64.c: Likewise. + * elfcode.h: Likewise. + * elfcore.h: Likewise. + * elflink.c: Likewise. + * elflink.h: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * elfxx-mips.h: Likewise. + * elf.c (prep_headers): Remove useless check for null backend_data. + * bfd-in2.h: Regenerate. + + * elf-bfd.h: Remove PARAMS macro. Replace PTR with void *. + (NAME): Use ## rather than CONCAT4 macro. + * elfcode.h: Remove one remaining PARAMS macro. + * elf-eh-frame.c: Convert to C90, remove unneeded casts and prototypes. + * elf-strtab.c: Likewise. + * elf-hppa.h: Likewise. + * elf32-hppa.h: Likewise. + * elf32-hppa.c: Likewise. + (elf32_hppa_add_symbol_hook): Delete. + (elf_backend_add_symbol_hook): Don't define. + * libhppa.h: Convert to C90. Replace INLINE with inline. + +2003-08-06 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc_stub_name): Tweak names for better readability. + (ppc64_elf_adjust_dynamic_symbol): Allow copy relocs against + function descriptors, but warn. + (ppc_build_one_stub): Remove a couple of vars. Move code creating + stub syms so that we can avoid a stub sym if we already have a + plt sym. Do not redefine an existing symbol. + (ppc64_elf_build_stubs): When --emit-stub-syms, print a symbol for + glink. + +2003-08-06 Nick Clifton <nickc@redhat.com> + + * po/fr.po: Updated French translation. + +2003-08-06 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (_bfd_elf_create_dynamic_sections): Mark .dynbss with + SEC_LINKER_CREATED. + +2003-08-05 Daniel Jacobowitz <drow@mvista.com> + + * elf32-arm.h (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. + (elf32_arm_final_link_relocate, elf32_arm_relocate_section): Use it. + +2003-08-03 Jeff Muizelaar <muizelaar@rogers.com> + + * coffcode.h (coff_slurp_line_table): Return with a warning + message if the line number table could not be read. + +2003-08-04 Nick Clifton <nickc@redhat.com> + + * elflink.h (elf_link_add_object_symbols): Prepend "warning: " + to messages produced for .gnu.warning.SYMBOL sections. + +2003-08-04 Alan Modra <amodra@bigpond.net.au> + + * elfcode.h: Convert to C90, remove unneeded casts and prototypes. + * elfcore.h: Likewise. + * elflink.c: Likewise. + * elflink.h: Likewise. + * elf.c (sym_is_global): Remove INLINE. + (align_file_position): Replace INLINE with inline. + * elfcode.h (elf_swap_dyn_in, elf_swap_dyn_out): Remove INLINE. + (elf_file_p): Replace INLINE with inline. + +2003-08-02 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here. + +2003-08-01 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (get_got): Align the .got section at 8 bytes. + +2003-08-01 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use + ElfNN_External_Rela instead of Elf64_External_Rela. + +2003-08-01 Nick Clifton <nickc@redhat.com> + + * config.bfd: Add code to catch obsolete configurations and warn + about them unless --enable-obsolete is used. Use this to mark + vax-vms port as obsolete. + +2003-07-30 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_install_value): Tidy. + (ppc_elf_relax_section): Remove dead code. Remove unnecessary casts. + Formatting. + * elfxx-target.h: Remove PARAMS macro. Formatting. + +2003-07-30 Alan Modra <amodra@bigpond.net.au> + + * elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF. + * elf64-ppc.c (get_fdh): New function, split out from + ppc64_elf_edit_opd. + (ppc64_elf_check_relocs): Use get_fdh. + (func_desc_adjust): Likewise. Tidy. + (ppc64_elf_edit_opd): Tighten reloc checks. Free local_syms on error + exit. Use get_fdh. Account for superfluous dynamic relocs. + (ppc64_elf_relocate_section): Warning fix. + +2003-07-30 Jason Eckhardt <jle@rice.edu> + + * coff-i860.c: Convert to ISO C90. Remove superflous prototypes. + +2003-07-30 Jason Eckhardt <jle@rice.edu> + + * elf32-i860.c: Convert to ISO C90. Remove superflous prototypes. + +2003-07-30 Randolph Chung <tausq@debian.org> + + * elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak. + * elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type. + +2003-07-30 Alan Modra <amodra@bigpond.net.au> + + * elf.c: Convert to C90, remove unnecessary prototypes and casts. + Replace PTR with void *. Formatting. + (_bfd_elf_assign_file_position_for_section): Remove INLINE. + (make_mapping): Likewise. + +2003-07-29 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (func_desc_adjust): Give linker created function + descriptor symbols a size and type. + (ppc64_elf_relocate_section): Correct lq insn test. + +2003-07-28 Eric Christopher <echristo@redhat.com> + + * elf32-ppc.c (R_PPC_RELAX32): New relocation. + (ppc_elf_install_value): New function. + (ppc_elf_sort_rela): Remove. + (ppc_elf_relax_section): Rewrite. Remove old relaxation + and replace with out of range branch stubs. + (ppc_elf_relocate_section): Handle R_PPC_RELAX32. + +2003-07-29 Alexandre Oliva <aoliva@redhat.com> + + * elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table + from input_bfd. + +2003-07-28 Alan Modra <amodra@bigpond.net.au> + + * elf.c (special_sections): Set attributes for .got and .plt. + +2003-07-27 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs + on function descriptors. + (ELIMINATE_COPY_RELOCS): Expand comment. + (ppc64_elf_special_sections): Move. Don't include non-ppc64 sections. + Do include ".toc1". + +2003-07-25 H.J. Lu <hongjiu.lu@intel.com> + + * elf.c (_bfd_elf_new_section_hook): Set the default section + type to SHT_NULL. + (elf_fake_sections): Set the section type based on asect->flags + if it is SHT_NULL. Don't abort on processor specific section + types. + +2003-07-25 H.J. Lu <hongjiu.lu@intel.com> + + * bfd-in2.h: Regenerated. + +2003-07-25 H.J. Lu <hongjiu.lu@intel.com> + + * elf-bfd.h (bfd_elf_special_section): New. + (elf_backend_data): Add special_sections, a pointer to + bfd_elf_special_section. + (elf_section_type). New. + (elf_section_flags): New. + (_bfd_elf_get_sec_type_attr): New. + + * elf.c (_bfd_elf_make_section_from_shdr): Always use the + real section type/flags. + (special_sections): New. + (get_special_section): New. + (_bfd_elf_get_sec_type_attr): New. + (_bfd_elf_new_section_hook): Check special_section to set + elf_section_type and elf_section_flags. + (elf_fake_sections): Don't use section name to set ELF section + data. + + * elf32-m32r.c (m32r_elf_special_sections): New. + (elf_backend_special_sections): Defined. + + * elf32-m68hc11.c (elf32_m68hc11_special_sections): New. + (elf_backend_special_sections): Defined. + + * elf32-mcore.c (mcore_elf_special_sections): New. + (elf_backend_special_sections): Defined. + + * elf32-ppc.c (ppc_elf_special_sections): New. + (elf_backend_special_sections): Defined. + + * elf32-sh64.c (sh64_elf_special_sections): New. + (elf_backend_special_sections): Defined. + + * elf32-v850.c (v850_elf_special_sections): New. + (elf_backend_special_sections): Defined. + + * elf32-xtensa.c (elf_xtensa_special_sections): New. + (elf_backend_special_sections): Defined. + + * elf64-alpha.c (elf64_alpha_special_sections): New. + (elf_backend_special_sections): Defined. + + * elf64-hppa.c (elf64_hppa_special_sections): New. + (elf_backend_special_sections): Defined. + + * elf64-ppc.c (ppc64_elf_special_sections): New. + (elf_backend_special_sections): Defined. + + * elf64-sh64.c (sh64_elf64_special_sections): New. + (elf_backend_special_sections): Defined. + + * elfxx-ia64.c (elfNN_ia64_special_sections): New. + (elf_backend_special_sections): Defined. + + * elfxx-mips.c (_bfd_mips_elf_special_sections): New. + + * elfxx-mips.h (_bfd_mips_elf_special_sections): New. + (elf_backend_special_sections): Defined. + + * elfxx-target.h (elf_backend_special_sections): New. Default + to NULL. + (elfNN_bed): Initialize special_sections. + + * section.c (bfd_abs_section): Remove const. + (bfd_und_section): Likewise. + (bfd_com_section): Likewise. + (bfd_ind_section): Likewise. + +2003-07-24 Nick Clifton <nickc@redhat.com> + + * coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code + sections are assigned the LOAD attribute. + +2003-07-25 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c: Convert to C90. Replace PTR with void *. + * elf32-sh64-com.c: Likewise. + * elf32-sh64.c: Likewise. + * elf32-sh64.h: Likewise. + * elf64-sh64.c: Likewise. + +2003-07-24 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL. + (allocate_dynrelocs): Likewise. + (sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL. + (sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL. + +2003-07-24 Nick Clifton <nickc@redhat.com> + + * po/fr.po: Updated French translation. + +2003-07-23 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move + near the beginning of the file. Swap order of arguments. Call + _bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0. + (elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call. + (elf_xtensa_relocate_section): Likewise. + (shrink_dynamic_reloc_sections): Likewise. + +2003-07-23 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (plt_reloc_count): Fix typo in comment. + (elf_xtensa_size_dynamic_sections): Use elf_discarded_section. + (elf_xtensa_combine_prop_entries): Avoid returning non-zero without + first printing an error message. + (elf_xtensa_finish_dynamic_sections): Likewise. + (elf_xtensa_discard_info_for_section): Adjust size of .got.loc when + discarding literal table entries. + (elf_xtensa_merge_private_bfd_data): Remove newline from error message. + (elf_xtensa_do_asm_simplify): Likewise. + +2003-07-23 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when + we have a local symbol in common section. + +2003-07-22 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for + weak symbols. + +2003-07-22 Nick Clifton <nickc@redhat.com> + + * coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to + expected RS6000 storage classes. + +2003-07-21 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark + output_bfd unused to silence gcc. + +2003-07-21 Nick Clifton <nickc@redhat.com> + + * po/sv.po: Updated Swedish translation. + +2003-07-21 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use.. + (_bfd_elf_symbol_refs_local_p): ..this. Declare. + * elflink.c (_bfd_elf_symbol_refs_local_p): New function. + * elf32-i386.c (elf_i386_relocate_section): Remove h NULL test + now done in _bfd_elf_symbol_refs_local_p. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + +2003-07-18 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change. + +2003-07-18 H.J. Lu <hongjiu.lu@intel.com> + + * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo. + (SYMBOL_CALLS_LOCAL): Likewise. + + * elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE + immediately if symbol isn't defined locally. + +2003-07-18 Richard Henderson <rth@redhat.com> + + * elflink.c (_bfd_elf_dynamic_symbol_p): New. + * elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it. + (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it. + * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise. + * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise. + * elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise. + * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise. + Update all callers to provide the relocation being resolved. + +2003-07-17 Shaun Jackman <sjackman@pathwayconnect.com> + + * config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to + targ_cflags. + +2003-07-17 Nick Clifton <nickc@redhat.com> + + * po/es.po: New Spanish translation. + * po/sv.po: New Swedish translation. + * po/opcodes.pot: Regenerate. + +2003-07-16 Richard Henderson <rth@redhat.com> + + * config.bfd, configure.host, configure.in: Remove ia64-aix support. + * elfxx-ia64.c, targets.c: Likewise. + +2003-07-16 Richard Henderson <rth@redhat.com> + + * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false + for symbols defined locally plus -Bsymbolic. Tidy logic. + +2003-07-15 Richard Sandiford <rsandifo@redhat.com> + + * archures.c (bfd_mach_mips7000): New. + * bfd-in2.h: Regenerated. + * cpu-mips.c (arch_info_struct): Add an entry for mips:7000. + * elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000. + (mips_mach_extensions): Add an entry for it. + +2003-07-14 Nick Clifton <nickc@redhat.com> + + * po/tr.po: Update with latest version. + * po/SRC-POTFILES.in: Regenerate. + * po/bfd.pot: Regenerate. + * Makfile.in: Regenerate. + * configure: Regenerate. + +2003-07-12 Jeff Baker <jbaker@qnx.com> + + * bfd/config.bfd (__QNXTARGET__): Define for Neutrino architectures. + * bfd/elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino. + * bfd/elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino. + * bfd/elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino. + +2003-07-12 Jeff Muizelaar <muizelaar@rogers.com> + + * coffcode.h (coff_set_section_contents): Set the + IMAGE_FILE_32BIT_MACHINE flag for PE targets. + +2003-07-11 Richard Sandiford <rsandifo@redhat.com> + + * bfd-in.h (bfd_h8300_pad_address): Declare. + * bfd-in2.h: Regenerate. + * cpu-h8300.c (bfd_h8300_pad_address): New function. + * coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize + addresses before checking whether they can be relaxed. + (h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check. + Don't complain about overflows in general 8-bit relocations. + * elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address. + Fix handling of R_H8_DIR24A8. + +2003-07-11 Richard Sandiford <rsandifo@redhat.com> + + * elf32-h8300.c: Convert function prototypes and definitions + to C90 syntax. + * coff-h8300.c: Likewise. + * cpu-h8300.c: Likewise. + +2003-07-11 Alan Modra <amodra@bigpond.net.au> + + * po/SRC-POTFILES.in: Regenerate. + * po/bfd.pot: Likewise. + +2003-07-10 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new + .got.loc section. Do not set SEC_ALLOC or SEC_LOAD flags for the + .xt.lit.plt section. + (elf_xtensa_size_dynamic_sections): Set size of the .got.loc section + and allocate memory for it. + (elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output + section to the .got.loc section. + (elf_xtensa_finish_dynamic_sections): Fix up call to + elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to + the address of .got.loc. + (relax_property_section): Shrink .got.loc to match changes in any + literal table section. + (xtensa_is_property_section): Change to match + xtensa_get_property_section_name. + (xtensa_is_littable_section): New. + +2003-07-10 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of + -1LL. + +2003-07-10 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo. + (BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo. + Run "make dep-am". + * Makefile.in: Regenerate. + +2003-07-10 Alexandre Oliva <aoliva@redhat.com> + + 2001-09-12 Alexandre Oliva <aoliva@redhat.com> + * elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300. + (ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300. + 2001-06-02 Nick Clifton <nickc@cambridge.redhat.com> + * elf32-am33lin.c: Rename global functions. + 2001-05-09 Alexandre Oliva <aoliva@redhat.com> + * config.bfd (am33_2.0, am33_2.0-*-linux*): Added. + * configure.in (bfd_elf32_am33lin_vec): Added. + * Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo. + (elf32-am33lin.lo): List dependencies. + * aclocal.m4, configure, Makefile.in: Rebuilt. + * elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, + ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if + ELF_ARCH was not defined before. + (elf_symbol_leading_char): Define if not defined. + * elf32-am33lin.c: Override the definitions above. + * targets.c (bfd_elf32_am33lin_vec): New. + +2003-07-09 Alexandre Oliva <aoliva@redhat.com> + + 2002-12-12 Alexandre Oliva <aoliva@redhat.com> + * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize + pcrel_relocs_copied. + 2001-12-13 Alexandre Oliva <aoliva@redhat.com> + * elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from + ld-linux.so.2 to ld.so.1. + 2001-10-10 Alexandre Oliva <aoliva@redhat.com> + * elf-m10300.c (elf_mn10300_sizeof_plt0): New macro. + (_bfd_mn10300_elf_adjust_dynamic_symbol): Use it. + (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise. + * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate + .rela.* section contents with bfd_zalloc. + 2001-09-25 Alexandre Oliva <aoliva@redhat.com> + * elf-m10300.c: Added declarations for functions missing them. + Merge some shared-library changes from the i386 back-end. Use + R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and + R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate. + (struct elf32_mn10300_link_hash_entry): Remove duplicates of + members of elf_link_hash_entry. Adjusted references. + (mn10300_elf_final_link_relocate): dynobj was already loaded + into a local variable, use it. + 2001-09-21 Nick Clifton <nickc@cambridge.redhat.com> + * elf-m10300.c: Add missing function prototypes. + 2001-08-24 Alexandre Oliva <aoliva@redhat.com> + * elf-m10300.c (mn10300_elf_relocate_section): Don't compute + relocation for dynamic relocations. + 2001-05-16 Alexandre Oliva <aoliva@redhat.com> + * reloc.c (BFD_RELOC_MN10300_GOTOFF24): New. + * elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and + PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32. + (_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT... + (_bfd_mn10300_elf_create_got_section): ... here, so that its + adress is already known at the time we compute relaxations. + (mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32 + and PLT32 to narrower relocations. + * libbfd.h, bfd-in2.h: Rebuilt. + 2001-04-12 Alexandre Oliva <aoliva@redhat.com> + * reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24, + BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY, + BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT, + BFD_RELOC_MN10300_RELATIVE): New relocs. + * libbfd.h, bfd-in2.h: Rebuilt. + * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New. + (struct elf32_mn10300_link_hash_entry): Added DSO-related + fields. + (elf_mn10300_howto): Defined new relocation types. + (mn10300_reloc_map): Map them. + (_bfd_mn10300_elf_create_got_section): New fn. + (mn10300_elf_check_relocs): Handle PIC relocs. + (mn10300_elf_final_link_relocate): Likewise. + (mn10300_elf_relocate_section): Handle DSOs. + (PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros. + (elf_mn10300_plt0_entry, elf_mn10300_plt_entry, + elf_mn10300_pic_plt_entry): New. + (elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset, + elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset, + elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset, + elf_mn10300_plt_reloc_offset: New macros. + (ELF_DYNAMIC_INTERPRETER): Likewise. + (_bfd_mn10300_elf_create_dynamic_sections): New function. + (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise. + (_bfd_mn10300_elf_discard_copies): Likewise. + (_bfd_mn10300_elf_size_dynamic_sections): Likewise. + (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise. + (_bfd_mn10300_elf_finish_dynamic_sections): Likewise. + (elf_backend_can_gc_sections, + elf_backend_create_dynamic_sections, + elf_backend_adjust_dynamic_sections, + elf_backend_size_dynamic_sections, + elf_backend_finish_dynamic_symbol, + elf_backend_finish_dynamic_sections, elf_backend_want_got_plt, + elf_backend_plt_readonly, elf_backend_want_plt_sym, + elf_backend_got_header_size, elf_backend_plt_header_size): New + macros. + +2003-07-09 Alexandre Oliva <aoliva@redhat.com> + + 2001-05-06 Alexandre Oliva <aoliva@redhat.com> + * elf-m10300.c (compute_function_info): Account for AM33 + registers in `movm' when computing stack space for `call' when + linking for AM33/2.0 link. + 2000-04-01 Alexandre Oliva <aoliva@cygnus.com> + * archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332. + * bfd-in2.h: Rebuilt. + * cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch. + * elf-m10300.c: Updated. + 2000-03-31 Alexandre Oliva <aoliva@cygnus.com> + * archures.c (bfd_mach_am332): Defined. + * bfd-in2.h: Rebuilt. + * cpu-m10300.c (bfd_am332_arch): Defined. + (bfd_am33_arch): Chained with am33-2. + * elf-m10300.c (elf_mn10300_mach): Handle am332. + (_bfd_mn10300_elf_final_write_processing): Likewise. + +2003-07-09 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL. + +2003-07-10 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (bfd_elf64_mkobject): Define. + (struct ppc64_elf_obj_tdata): New. + (ppc64_elf_tdata, ppc64_tlsld_got): Define. + (ppc64_elf_mkobject): New function. + (struct got_entry): Add "owner". Move "tls_type". + (struct ppc_link_hash_table): Delete "relgot", "tlsld_got". + (ppc64_elf_init_stub_bfd): New function. + (create_got_section): Create header .got in dynobj. Create .got + and .rela.got in each bfd. Stash pointers in ppc64_elf_obj_tdata. + (ppc64_elf_create_dynamic_sections): Don't call create_got_section. + Look for dynobj .got, and test it. + (ppc64_elf_copy_indirect_symbol): Adjust for changed got. + (update_local_sym_info): Likewise. + (ppc64_elf_check_relocs): Likewise. + (ppc64_elf_gc_sweep_hook): Likewise. + (ppc64_elf_tls_optimize): Likewise. + (allocate_dynrelocs): Likewise. + (ppc64_elf_size_dynamic_sections): Likewise. + (ppc64_elf_relocate_section): Likewise. + (ppc64_elf_next_toc_section): Update comment. + (toc_adjusting_stub_needed): Remove unneeded cast. + (ppc64_elf_build_stubs): Check for stub sections in stub bfd by + testing section flags. + (ppc64_elf_build_stubs): Likewise. + (ppc64_elf_size_stubs): Likewise. Remove stub_bfd param. + (ppc64_elf_finish_dynamic_sections): Write out got sections. + (func_desc_adjust): Copy over dynamic info for undef weaks. + * elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare. + (ppc64_elf_size_stubs): Update prototype. + * elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn + input sections rather than scanning dynobj. + +2003-07-09 Richard Sandiford <rsandifo@redhat.com> + + * elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index. + (bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete. + (mips_elf_create_msym_section): Delete. + (mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index. + (_bfd_mips_elf_copy_indirect_symbol): Likewise. + (_bfd_mips_elf_create_dynamic_sections): Don't create .msym. + (_bfd_mips_elf_size_dynamic_sections): Don't calculate its size. + (_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM. + (_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym. + (_bfd_mips_elf_finish_dynamic_sections): Likewise. + +2003-07-09 Richard Sandiford <rsandifo@redhat.com> + + * elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the + symbols protected. + +2003-07-09 Richard Sandiford <rsandifo@redhat.com> + + * elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling + of relocations whose offset is -2. + +2003-07-09 Richard Sandiford <rsandifo@redhat.com> + + * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat + forced-local symbols like other locals. Don't create relocations + against STN_UNDEF in irix objects. + +2003-07-09 Richard Sandiford <rsandifo@redhat.com> + + * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI- + compatible objects, add the values of defined external symbols + to the addend. + +2003-07-09 Richard Sandiford <rsandifo@redhat.com> + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always + initialize a GOT entry to the symbol's st_value. + +2003-07-08 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers.. + * elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here. New. + (ppc_elf_tdata): Define. + (elf_local_ptr_offsets): Adjust. + (ppc_elf_mkobject): New function. + (bfd_elf32_mkobject): Define. + + * elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format. + * elfcore.h (elf_core_file_p): Likewise. + * section.c (bfd_section_init): Remove prototype. + +2003-07-08 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer + field. + (enum elf_linker_section_enum): Delete. + (struct elf_linker_section): Delete. + (struct elf_linker_section_pointers): Delete. + (struct elf_obj_tdata): Remove #if 0 chunk. Remove linker_section. + Make linker_section_pointers a void**. + (elf_local_ptr_offsets, elf_linker_section): Don't define. + * elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version + of old item in elf-bfd.h. + (struct elf_linker_section): Likewise. + (struct elf_linker_section_pointers): Likewise. + (elf_local_ptr_offsets): Define. + (struct ppc_elf_link_hash_entry): Add linker_section_pointer. + (ppc_elf_link_hash_newfunc): Init it. + (struct ppc_elf_link_hash_table): Add sbss. + (ppc_elf_link_hash_table_create): zmalloc rather than clearing + individual fields. + (elf_create_linker_section): Fold into.. + (ppc_elf_create_linker_section): ..here. Remove hole_size code. + Make rela section here if shared. + (elf_find_pointer_linker_section): Pass lsect rather than enum. + (elf_create_pointer_linker_section): Adjust. zalloc rather than + clearing in a loop. + (elf_finish_pointer_linker_section): Adjust. Don't make rela + section here. + (ppc_elf_check_relocs): Adjust. + (ppc_elf_add_symbol_hook): Tighten hash creator test. Remove code + creating .sbss by hand. + * elf.c (_bfd_elf_link_hash_newfunc): Adjust. + +2003-07-04 Jakub Jelinek <jakub@redhat.com> + + * elf32-s390.c (elf_howto_table): Change R_390_GOT12 to + complain_overflow_bitfield. + * elf64-s390.c (elf_howto_table): Change R_390_GOT12 to + complain_overflow_bitfield. + +2003-07-04 Jakub Jelinek <jakub@redhat.com> + + * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return + true even if -pie. + +2003-07-04 Jakub Jelinek <jakub@redhat.com> + + * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec. + (elfNN_ia64_dynamic_symbol_p): Change info->shared into + !info->executable. + (get_fptr): For -pie create .opd as writable section and create + .rela.opd as well. + (elfNN_ia64_check_relocs): Change info->shared into + !info->executable. + (allocate_fptr): Likewise. + (allocate_dynrel_entries): Account for a relative reloc for -pie + @fptr(). Don't account for a relative reloc if -pie want_ltoff_fptr + for undefweak symbol. Account for an IPLT reloc in .rela.opd + section if -pie. + (set_got_entry): Don't create a relative reloc if -pie + want_ltoff_fptr for undefweak symbol. + (set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie. + (elfNN_ia64_relocate_section): Emit a relative reloc for -pie + @fptr(). + + * elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol + even if -pie. + * elf32-i386.c (elf_i386_relocate_section): Likewise. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + * elf64-s390.c (elf_s390_relocate_section): Likewise. + * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. + * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf32-s390.c (elf_s390_relocate_section): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + +2003-07-04 Paul Clarke <paulc@senet.com.au> + + * elf32-h8300.c (R_H8_DIR32A16): Fix name field. + (elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation. + <R_H8_DIR32A16>: Fix type of relocation. + +2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic + sections were created already. Remove unnecessary tests of + the previous change. + +2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (sh_elf_create_dynamic_sections): Don't call + bfd_make_section for existing sections. + +2003-07-04 Alan Modra <amodra@bigpond.net.au> + + * elf32-sparc.c (elf32_sparc_check_relocs): Don't call + create_got_section if we already have done so. + * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise. + (sh_elf_check_relocs): Likewise. + (sh_elf_adjust_dynamic_symbol): Delete "dynobj" var. Use + htab->root.dynobj instead. + (sh_elf_check_relocs): Likewise. + (sh_elf_finish_dynamic_sections): Likewise. + + * section.c (bfd_make_section): Return NULL for existing section. + +2003-07-04 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call + ppc_elf_create_got if we've already done so. + + * elf-bfd.h (_bfd_elf_create_linker_section) Don't declare. + (_bfd_elf_find_pointer_linker_section): Likewise. + (bfd_elf32_create_pointer_linker_section): Likewise. + (bfd_elf32_finish_pointer_linker_section): Likewise. + (bfd_elf64_create_pointer_linker_section): Likewise. + (bfd_elf64_finish_pointer_linker_section): Likewise. + (_bfd_elf_make_linker_section_rela): Likewise. + * elfcode.h (elf_create_pointer_linker_section): Don't define. + (elf_finish_pointer_linker_section): Likewise. + * elflink.c (_bfd_elf_make_linker_section_rela): Delete. + (_bfd_elf_create_linker_section): Move this function.. + (_bfd_elf_find_pointer_linker_section): ..and this.. + * elflink.h (elf_create_pointer_linker_section): ..and this.. + (elf_finish_pointer_linker_section): ..and this.. + * elf32-ppc.c: ..to here, renaming to the following, and adjusting + calls. + (elf_create_linker_section): Convert to C90, tidy. + (elf_find_pointer_linker_section): Likewise. + (elf_create_pointer_linker_section): Likewise. + (elf_finish_pointer_linker_section): Likewise. + * elf32-i370.c: Delete #if 0 code. + +2003-07-02 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and + _restf* to be satisfied by shared libs, and always force them local. + (toc_adjusting_stub_needed): Avoid scanning linker created sections. + Correct test for "bl". + (ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for + primary opcode 31. + +2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * elf32-s390.c (s390_elf_ldisp_reloc): New prototype. + (s390_tls_reloc): New function. + (elf_howto_table): Add long displacement relocations R_390_20, + R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20. + (elf_s390_reloc_type_lookup): Likewise. + (elf_s390_check_relocs): Likewise. + (elf_s390_gc_sweep_hook): Likewise. + (elf_s390_relocate_section): Likewise. + * elf64-s390.c: Same changes as for elf32-s390.c. + * reloc.c: Add long displacement relocations BFD_RELOC_390_20, + BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and + BFD_RELOC_390_TLS_GOTIE20. + * bfd-in2.h: Regenerate. + * libbfd.h: Likewise. + +2003-06-30 Alan Modra <amodra@bigpond.net.au> + + * cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts. + (ins_imms, ins_immsm1u4): Likewise. Warning fix. + +2003-06-29 Alan Modra <amodra@bigpond.net.au> + + * archive.c: Convert to C90, remove unnecessary prototypes and casts. + Replace PTR with void *. Formatting. + * archive64.c: Likewise. + * archures.c: Likewise. + * bfd-in.h: Likewise. + * bfd.c: Likewise. + * bfdio.c: Likewise. + * bfdwin.c: Likewise. + * cache.c: Likewise. + * corefile.c: Likewise. + * format.c: Likewise. + * init.c: Likewise. + * libbfd-in.h: Likewise. + * libbfd.c: Likewise. + * linker.c: Likewise. + * opncls.c: Likewise. + * reloc.c: Likewise. + * section.c: Likewise. + * simple.c: Likewise. + * syms.c: Likewise. + * targets.c: Likewise. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + + * ecoff.c (bfd_debug_section): Add missing kept_section initialization. + * libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined. + * libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify. + (bfd_getb64): Rewrite without parens. + (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise. + * cache.c (insert, snip): Remove INLINE. + * linker.c (bfd_link_add_undef): Likewise. + +2003-06-29 Andreas Jaeger <aj@suse.de> + + * elf64-x86-64.c: Convert to ISO C90 prototypes, remove + unnecessary prototypes. Replace PTR with void *. + (elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to + trim plt entries. Move undefweak non-default visibility test ... + (allocate_dynrelocs): ... from here. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO. + Change all callers. + (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL. Use + SYMBOL_REFERENCES_LOCAL for dynreloc check. + (elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for + dynreloc and .got relocs. + (elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL + for .got relocs. + +2003-06-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c: Allow lazy binding for R_MIPS_JALR. + +2003-06-27 Nick Clifton <nickc@redhat.com> + + * opncls.c (bfd_add_gnu_debuglink_section): Rename to + bfd_add_gnu_debuglink_section and only create the section, do not + fill in its contents. + (bfd_fill_in_gnu_debuglink_section): New function. Fill in the + contents of a .gnu-debuglink section. + * bfd-in2.h: Regenerate. + +2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c: Revert .got alignment to 2**4. + +2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elf32-mips.c: Fix addend for _gp_disp special symbol. + +2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default + relocation header setup. + +2003-06-25 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast. + (ppc_elf_reloc_type_lookup): Modify comment. + (ppc_elf_info_to_howto): Ditto. + (ppc_elf_relocate_section): Ditto. + (ppc_elf_check_relocs): Call ppc_elf_howto_init. + +2003-06-25 Alan Modra <amodra@bigpond.net.au> + + * aout-ns32k.c: Correct spelling of "relocatable". + * aoutx.h: Likewise. + * bfd-in.h: Likewise. + * bfd.c: Likewise. + * bout.c: Likewise. + * coff-a29k.c: Likewise. + * coff-alpha.c: Likewise. + * coff-arm.c: Likewise. + * coff-i386.c: Likewise. + * coff-i860.c: Likewise. + * coff-i960.c: Likewise. + * coff-m68k.c: Likewise. + * coff-m88k.c: Likewise. + * coff-mcore.c: Likewise. + * coff-mips.c: Likewise. + * coff-or32.c: Likewise. + * coff-ppc.c: Likewise. + * coff-rs6000.c: Likewise. + * coff-sh.c: Likewise. + * coff-tic80.c: Likewise. + * coff64-rs6000.c: Likewise. + * cofflink.c: Likewise. + * cpu-ns32k.c: Likewise. + * ecoff.c: Likewise. + * ecofflink.c: Likewise. + * elf-bfd.h: Likewise. + * elf-eh-frame.c: Likewise. + * elf-hppa.h: Likewise. + * elf-m10200.c: Likewise. + * elf-m10300.c: Likewise. + * elf.c: Likewise. + * elf32-arm.h: Likewise. + * elf32-avr.c: Likewise. + * elf32-cris.c: Likewise. + * elf32-d10v.c: Likewise. + * elf32-dlx.c: Likewise. + * elf32-fr30.c: Likewise. + * elf32-frv.c: Likewise. + * elf32-h8300.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-i370.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-i860.c: Likewise. + * elf32-i960.c: Likewise. + * elf32-ip2k.c: Likewise. + * elf32-iq2000.c: Likewise. + * elf32-m32r.c: Likewise. + * elf32-m68hc11.c: Likewise. + * elf32-m68hc1x.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-mcore.c: Likewise. + * elf32-mips.c: Likewise. + * elf32-msp430.c: Likewise. + * elf32-openrisc.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-s390.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-sh64.c: Likewise. + * elf32-sparc.c: Likewise. + * elf32-v850.c: Likewise. + * elf32-vax.c: Likewise. + * elf32-xstormy16.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-mips.c: Likewise. + * elf64-mmix.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-s390.c: Likewise. + * elf64-sh64.c: Likewise. + * elf64-sparc.c: Likewise. + * elf64-x86-64.c: Likewise. + * elfcode.h: Likewise. + * elflink.h: Likewise. + * elfn32-mips.c: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * i386linux.c: Likewise. + * ieee.c: Likewise. + * libcoff-in.h: Likewise. + * linker.c: Likewise. + * m68klinux.c: Likewise. + * pdp11.c: Likewise. + * pe-mips.c: Likewise. + * peXXigen.c: Likewise. + * reloc.c: Likewise. + * reloc16.c: Likewise. + * sparclinux.c: Likewise. + * sunos.c: Likewise. + * syms.c: Likewise. + * versados.c: Likewise. + * vms.c: Likewise. + * xcofflink.c: Likewise. + * bfd-in2.h: Regenerate. + * libcoff.h: Regenerate. + * libbfd.h: Regenerate. + +2003-06-24 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against + local sym errors. + + * elf32-i386.c: Convert to C90 function definitions, remove unnecessary + prototypes and casts. Replace PTR with void *. Formatting. + * elf32-ppc.c: Likewise. Break long strings too. + (ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type. + (ppc_elf_unhandled_reloc): Internationalize error message. + * elf32-ppc.h: Remove PARAMS. + +2003-06-23 Mark Mitchell <mark@codesourcery.com> + + * elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count + APUinfo slots. + (ppc_elf_final_write_processing): Likewise. + +2003-06-23 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.h (elf_link_input_bfd): Check raw size when using + kept_section to preserve debug information discarded by + linkonce. + +2003-06-20 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (struct ppc_link_hash_table): Add top_id. + (ppc64_elf_setup_section_lists): Set it. + (ppc64_elf_relocate_section): Check sym section id against top_id. + (ppc_build_one_stub): Comment on top_id. + +2003-06-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de> + + * config.bfd: Add tic4x-*-rtems*. + +2003-06-20 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c: Convert to C90 function definitions, remove unnecessary + prototypes and casts. Replace PTR with void *. Format copyright. + Mention ABI links. + (struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt, + sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt. + (ppc_type_of_stub): Make r_type an enum. + (ppc64_elf_size_stubs): Likewise. + * elf64-ppc.h: Remove PARAMS macro. + +2003-06-19 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of + elf hash tab fields. + + * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype. + (ppc64_elf_info_to_howto): Likewise. + (ppc64_elf_build_stubs): Add "stats" param, and print statistics. + * elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype. + +2003-06-19 Alan Modra <amodra@bigpond.net.au> + + * elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32 + reloc overflow on discarded eh_frame entries. + +2003-06-19 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (toc_adjusting_stub_needed): New function. + (ppc64_elf_next_input_section): Use it here to set has_gp_reloc. + Return error condition. + (ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections + that have has_gp_reloc set. + (struct ppc_link_hash_table): Add stub_count. + (ppc_build_one_stub): Increment it. + (ppc64_elf_link_hash_table_create): zmalloc rather than clearing + individual fields. + * elf64-ppc.h (ppc64_elf_next_input_section): Update prototype. + +2003-06-18 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_gc_record_vtentry): Revert last change. Correct + size calculation from addend. Round size up. + +2003-06-18 Hans-Peter Nilsson <hp@axis.com> + + * elf32-cris.c (cris_elf_relocate_section) <case + R_CRIS_32_GOTREL>: When linking a program, don't complain about a + symbol from a normal object or an undefined weak symbol. + +2003-06-18 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on + R_PPC64_TOC relocs. + +2003-06-17 H.J. Lu <hongjiu.lu@intel.com> + + * section.c (struct sec): Put back kept_section. + (STD_SECTION): Put back kept_section initialization. + * bfd-in2.h: Regenerate. + + * elflink.h (elf_link_input_bfd): Also check discarded linkonce + sections for relocateable output. Use kept_section to preserve + debug information discarded by linkonce. + +2003-06-17 Roland McGrath <roland@redhat.com> + + * elfxx-ia64.c (elfNN_ia64_relocate_section): Support + segment-relative relocation between different segments. + +2003-06-17 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc + optimizations earlier. + + * elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index. + Restore previous input_list type. + (ppc64_elf_link_hash_table_create): Undo last change. + (ppc64_elf_setup_section_lists): Reinstate code setting up input lists + per output section, but don't bother with bfd_abs_section marker. + (ppc64_elf_next_input_section): Adjust for multiple input section + lists. + (group_sections): Likewise. + +2003-06-17 Jakub Jelinek <jakub@redhat.com> + + * elf64-ppc.c (ppc64_elf_relocation_section): Ensure + *r_offset == r_addend for RELATIVE relocs against .got. + +2003-06-17 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs. + +2003-06-17 Nick Clifton <nickc@redhat.com> + + * elflink.h (elf_gc_record_vtentry): Allocate an extra element + in the vtable_entries_used array to allow for the accessing + the largest element. + +2003-06-17 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (struct ppc_link_hash_table): Remove top_index. Modify + input_list. + (ppc64_elf_link_hash_table_create): Init input_list here. + (ppc64_elf_setup_section_lists): Remove code setting up input lists + per output section. Set toc_off for abs and other standard sections. + (ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc. + (ppc64_elf_next_input_section): Adjust for single input section list. + Don't set toc_curr from input bfds that haven't set elf_gp. + (group_sections): Adjust for single input section list. + + * elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero. + +2003-06-16 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel + tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a + dtprel entry. Ensure TLS_LD DTPMOD reloc has a zero addend. Write + got section for RELATIVE relocs. Fix wrong comment. Change condition + under which dynamic relocs update the section contents. + +2003-06-13 Robert Millan <zeratul2@wanadoo.es> + + * config.bfd: Add i386-netbsd-gnu target. + +2003-06-12 Nick Clifton <nickc@redhat.com> + + * opncls.c (calc_crc32): Rename to + bfd_calc_gnu_debuglink_crc32 and export. + (GNU_DEBUGLINK): Define and use to replace occurrences of + hard-coded ".gnu_debuglink" in the code. + (get_debug_link_info): Prevent aborts by replacing call to + xmalloc with a call to malloc. + (find_separate_debug_file): Prevent aborts by replacing calls + to xmalloc and xstrdup with calls to malloc and strdup. + (bfd_add_gnu_debuglink): New function. Add a .gnu_debuglink + section to a bfd. + * bfd-in2.h: Regenerate. + +2003-06-12 Federico G. Schwindt <fgsch@lodoss.net> + + * config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]): + New target (was i[3-7]86-*-openbsd* before). + (i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec. + (vax-*-openbsd*): New target. + +2003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options + for n32, too. + (MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too. + (mips_elf_rel_dyn_section): Use appropriate section alignment. + (mips_elf_create_got_section): Likewise. + (_bfd_mips_elf_create_dynamic_sections): Likewise. + +2003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elf32-mips.c (mips_elf_generic_reloc): New Function. + (elf_mips_howto_table_rel): Use it. + (gprel32_with_gp): Move prototype. + (mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend. + Use mips_elf_generic_reloc. + (mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend. + Code cleanup. + (_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of + zero addend. + (mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic + as in the other *_gprel*_reloc functions. + (gprel32_with_gp): Handle partial_inplace properly. + (mips32_64bit_reloc): Use mips_elf_generic_reloc. + (mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend. + Do addend handling directly instead of calling + _bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly. + * elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead + of zero addend. Handle partial_inplace properly. + (mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero + addend. + (mips_elf64_gprel16_reloc): Likewise. + (mips_elf64_literal_reloc): Likewise. + (mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment + logic as in the other *_gprel*_reloc functions. Handle + partial_inplace properly. + (mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero + addend. Handle partial_inplace properly. + (mips16_gprel_reloc): Likewise. Do addend handling directly instead + of calling _bfd_mips_elf_gprel16_with_gp. + * elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL. + (mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead + of zero addend. + (mips_elf_shift6_reloc): Handle partial_inplace properly. + (mips16_gprel_reloc): Likewise. Do addend handling directly instead + of calling _bfd_mips_elf_gprel16_with_gp. + * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle + partial_inplace properly. Fix wrong addend handling. Fix overflow + check. + (_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and + exported. + (mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend. + (_bfd_mips_elf_relocate_section): Likewise. + (mips_elf_create_dynamic_relocation): Update sec_info_type access. + * elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration. + (_bfd_mips_elf_sign_extend): New prototype. + +2003-06-11 Federico G. Schwindt <fgsch@lodoss.net> + + * config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]): + New target (was sparc-*-openbsd* before). + (sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec. + + * configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo. + * configure: Regenerate. + +2003-06-11 H.J. Lu <hongjiu.lu@intel.com> + + * po/Make-in (DESTDIR): New. + (install-data-yes): Support $(DESTDIR). + (uninstall): Likewise. + +2003-06-11 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am (config.status): Depend on version.h. + Run "make dep-am". + * Makefile.in: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2003-06-10 Alan Modra <amodra@bigpond.net.au> + Gary Hade <garyhade@us.ibm.com> + + * elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq. + +2003-06-10 Richard Sandiford <rsandifo@redhat.com> + + * archures.c (bfd_mach_h8300sxn): New architecture. + * bfd-in2.h: Regenerate. + * cpu-h8300.c (h8300_scan): Check for 'sxn'. + (h8300sxn_info_struct): New. + (h8300sx_info_struct): Link to it. + * elf32-h8300.c (elf32_h8_mach): Add h8300sxn case. + (elf32_h8_final_write_processing): Likewise. + +2003-06-08 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by + elfxx-target.h so that we can use elf_backend_got_header_size. + (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete. + (GLINK_CALL_STUB_SIZE): Modify. Define new glink call stub and + associated macros. + (ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct + dst_mask. + (enum ppc_stub_type): Add ppc_stub_long_branch_r2off and + ppc_stub_plt_branch_r2off. + (struct ppc_stub_hash_entry): Reorganize. + (struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed, + toc_curr, toc_off and emit_stub_syms. + (ppc64_elf_link_hash_table_create): Init them. + (ppc_stub_name): Correct string size. + (ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs. + (ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries + used. + (ppc_type_of_stub): Tweak root.type test. + (build_plt_stub): Remove glink code. Adjust for insn macro changes. + (ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and + ppc_stub_plt_branch_r2off. + (ppc_build_one_stub): Likewise. Fix var shadowing. Correct addis,addi + range test. Use toc_off to calculte r2 values. Handle emit_stub_syms. + (ppc64_elf_setup_section_lists): Remove htab creator flavour test. + Initialize elf_gp and toc_curr. + (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions. + (ppc64_elf_next_input_section): Set toc_off. + (group_sections): Ensure groups have the same TOC. + (ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub. + (ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab. + Build new glink stub. + (ppc64_elf_relocate_section): Handle multiple TOCs. Fix comments. + (ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK. + * elf64-ppc.h (ppc64_elf_build_stubs): Update prototype. + (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare. + * section.c (struct sec): Rename flag12 to has_gp_reloc. + (STD_SECTION): Update. + * ecoff.c (bfd_debug_section): Update comment. + * bfd-in2.h: Regenerate. + +2003-06-05 Daniel Jacobowitz <drow@mvista.com> + + * elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference + NULL function pointers. + +2003-06-05 Daniel Jacobowitz <drow@mvista.com> + + * simple.c (bfd_simple_get_relocated_section_contents): Call + _bfd_generic_link_add_symbols instead of bfd_link_add_symbols. + +2003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com> + + * coff-tic54x.c: Removed the ticoff0_bad_format_hook() and + ticoff1_bad_format_hook() functions. Removed the coff0 and coff1 + swaptables. + * coff-tic4x.c: Ditto + * coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC + and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro + CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(), + ticoff1_bad_format_hook() functions. Created the coff0 and coff1 + swap tables. + * coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros. + * coff-a29k.c: Append COFF_SWAP_TABLE argument + * coff-apollo.c: Ditto + * coff-arm.c: Ditto + * coff-h8300.c: Ditto + * coff-h8500.c: Ditto + * coff-i960.c: Ditto + * coff-m68k.c: Ditto + * coff-m88k.c: Ditto + * coff-mcore.c: Ditto + * coff-sh.c: Ditto + * coff-sparc.c: Ditto + * coff-tic80.c: Ditto + * coff-we32k.c: Ditto + * coff-z8k.c: Ditto + * coff-w65.c: Ditto + +2003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com> + + * coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed + initialization bug + +2003-06-03 Jakub Jelinek <jakub@redhat.com> + + * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK. + (bfd_section_from_phdr): Likewise. + (map_sections_to_segments): Create PT_GNU_STACK segment header. + (get_program_header_size): Count with PT_GNU_STACK. + * elf-bfd.h (struct elf_obj_tdata): Add stack_flags. + * elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags. + +2003-06-03 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.h (elf_link_input_bfd): Call linker error_handler + for discarded definitions. + +2003-06-03 Elias Athanasopoulos <elathan@phys.uoa.gr> + + * syms.c (decode_section_type): Return 'n' if section flags are + SEC_HAS_CONTENTS && SEC_READONLY. + +2003-06-03 Nick Clifton <nickc@redhat.com> + + * elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to + R_V850_ABS32. Add entry for R_V850_REL32. + (v850_elf_reloc_map): Likewise. + (v850_elf_check_relocs): Likewise. + (v850_elf_perform_relocation): Likewise. + (v850_elf_final_link_relocate): Likewise. Include computation + to make R_V850_REl32 pc-relative. + +2003-06-03 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section + and DT_DEBUG dynamic tag even for position independent executables. + * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize. + +2003-06-02 Daniel Jacobowitz <drow@mvista.com> + + * config.bfd: Move obsolete entries out of the range of the + targmatch sed script. + +2003-06-02 Daniel Jacobowitz <drow@mvista.com> + + * config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete. + +2003-05-31 Jakub Jelinek <jakub@redhat.com> + + * elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192 + plt entries, not just 8191. + +2003-05-30 Daniel Jacobowitz <drow@mvista.com> + + * elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index. + Reported by Ken Faiczak <kfaiczak@SANDVINE.com>. + +2003-05-30 Ulrich Drepper <drepper@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + * elflink.h (elf_link_add_object_symbols): Use !info->executable + instead of info->shared where appropriate. + (bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise. + * elflink.c (_bfd_elf_create_got_section): Likewise. + (_bfd_elf_link_create_dynamic_sections): Likewise. + (_bfd_elf_link_assign_sym_version): Likewise. + * elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section + and DT_DEBUG dynamic tag even for position independent executables. + * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise. + * elf32-s390.c (elf_s390_size_dynamic_sections: Likewise. + * elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise. + * elf64-s390.c (elf_s390_size_dynamic_sections: Likewise. + * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise. + * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise. + * elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise. + * elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise. + * elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise. + +2003-05-30 Kris Warkentin <kewarken@qnx.com> + + * elf.c (elfcore_grok_nto_status): Only set lwpid for the active or + signalled thread. + (elfcore_grok_nto_gregs): Only make .reg section for the active thread. + +2003-05-29 Nick Clifton <nickc@redhat.com> + + * pef.c: Include "safe-ctype.h" instead of <ctype.h>. + Tidy up formatting. + * Makefile.am: Add dependency on safe-ctype.h. + * Makefile.in: Regenerate. + +2003-05-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c: Don't force symbols local unconditionally. + +2003-05-28 Alan Modra <amodra@bigpond.net.au> + + * elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus + undefined_symbol call. + +2003-05-27 Richard Sandiford <rsandifo@redhat.com> + + * elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting. + (mips_elf_link_hash_table): Likewise. + +2003-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used + R_MIPS_GNU_REL16_S2 support. + (bfd_elf64_bfd_reloc_type_lookup): Use it. + (mips_elf64_rtype_to_howto): Use it. + * elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used + R_MIPS_GNU_REL16_S2 support. + (bfd_elf32_bfd_reloc_type_lookup): Use it. + (mips_elf_n32_rtype_to_howto): Use it. + +2003-05-21 Stuart F. Downing <sdowning@fame.com> + + * som.h: Define PA_2_0 before including a.out.h + +2003-05-07 Eric Christopher <echristo@redhat.com> + Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust + pic tests, change to warning. + (_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting. + +2003-05-21 Marcus Comstedt <marcus@mc.pp.se> + + * config.bfd: Check for a target triplet of shl-...-netbsdelf as + well as shle-...-netbsdelf. Remove duplicate entry. + +2003-05-21 Nick Clifton <nickc@redhat.com> + + * elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask + for X_STORMY16_REL_12 reloc. + + * elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check + the type of the hash table in the bfd_link_info structure. + (bfd_elf_get_runpath_list): Likewise. + +2003-05-19 Roland McGrath <roland@redhat.com> + + * elf.c (bfd_elf_bfd_from_remote_memory): New function. + * bfd-in.h: Declare it. + * bfd-in2.h: Regenerated. + * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function. + * elf-bfd.h (struct elf_backend_data): New function pointer member + elf_backend_bfd_from_remote_memory. + (_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory): + Declare them. + * elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro. + (elfNN_bed): Add that to the initializer. + +2003-05-15 Roland McGrath <roland@redhat.com> + + * elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section. + +2003-05-20 Jakub Jelinek <jakub@redhat.com> + + * elflink.h (elf_link_output_extsym): Only issue error about != + STV_DEFAULT symbols if they are bfd_link_hash_undefined. + +2003-05-20 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF + when removing the old definition for symbols with non-default + visibility. + +2003-05-18 Jason Eckhardt <jle@rice.edu> + + * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation. + +2003-05-17 Andreas Schwab <schwab@suse.de> + + * elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in + elf_section_data during processing of pc-relative and absolute + relocations. + (elf_m68k_relocate_section): Use the cached reloc section instead + of computing it again. Fix handling of visibility. Don't modify + addend when copying over a relocation into the output. + +2003-05-17 Alan Modra <amodra@bigpond.net.au> + + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL + to trim plt entries. Move undefweak non-default visibility test.. + (allocate_dynrelocs): ..from here. + * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test + dynamic_sections_created here. Update comment. Move undefweak + non-default visibility test.. + (allocate_dynrelocs): ..from here. Fix comment. + * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL + to trim plt entries. Move undefweak non-default visibility test.. + (allocate_dynrelocs): ..from here. Fix comment. + * elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with + STV_DEFAULT rather than comparing with zero. + * elflink.c (_bfd_elf_merge_symbol): Likewise. + (_bfd_elf_fix_symbol_flags): Likewise. Format comment. + +2003-05-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null + pointers. + (_bfd_set_gp_value): Likewise. + +2003-05-16 Michael Snyder <msnyder@redhat.com> + From Bernd Schmidt <bernds@redhat.com> + * archures.c (bfd_mach_h8300sx): New. + * bfd-in2.h: Regenerate. + * cpu-h8300.c (h8300_scan)): Add support for h8300sx. + (h8300sx_info_struct): New. + (h8300s_info_struct): Link to it. + * elf32-h8300.c (elf32_h8_mach): Add support for h8300sx. + (elf32_h8_final_write_processing): Likewise. + (elf32_h8_relax_section): Likewise. + +2003-05-16 Kelley Cook <kelleycook@wideopenwest.com> + + * config.bfd: Accept i[3-7]86 variants. + * configure.host: Likewise. + * configure.in: Likewise. + * configure: Regenerate. + +2003-05-15 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected + symbol. + +2003-05-15 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.h (elf_link_check_versioned_symbol): Also allow + the base version. + +2003-05-15 Alan Modra <amodra@bigpond.net.au> + H.J. Lu <hongjiu.lu@intel.com> + + * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL. + (elf_i386_relocate_section): Likewise. + * elf32-ppc.c (allocate_dynrelocs): Likewise. + (ppc_elf_relocate_section): Likewise. + * elf64-ppc.c (allocate_dynrelocs): Likewise. + (ppc64_elf_relocate_section): Likewise. + +2003-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case. + +2003-05-13 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for + processor capability, allow merge of HC12 and HCS12 in some cases. + (m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc. + * cpu-m68hc12.c (bfd_m68hc12s_arch): New struct. + (bfd_m68hc12_arch): Link it. + (scan_mach): New function. + +2003-05-13 Andrew Haley <aph@redhat.com> + + * elf.c (bfd_elf_hash): Mask lower 32 bits of hash. + +2003-05-13 Alan Modra <amodra@bigpond.net.au> + H.J. Lu <hongjiu.lu@intel.com> + + * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from + elf32-ppc.c. Add ELF_LINK_FORCED_LOCAL check. + * elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete. + (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check. + (ppc_elf_relocate_section): Likewise. + * elf64-ppc.c (allocate_dynrelocs): Likewise. + (ppc64_elf_relocate_section): Likewise. Use for .got relocs too. + (ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt + relocs need no other types. + * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for + dynreloc check. + (elf_i386_relocate_section): Likewise. Use for .got relocs too. + (elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for + .got relocs. + +2003-05-13 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols, + copy ELF_LINK_NON_GOT_REF from weakdef. + (allocate_dynrelocs): For undef weak syms with non-default + visibility, a) don't allocate plt entries, b) don't allocate + .got relocs, c) discard dyn rel space + (sh_elf_relocate_section): d) don't generate .got relocs, e) + don't generate dynamic relocs. + (sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF + for weakdefs when symbol already adjusted. + +2003-05-12 Nick Clifton <nickc@redhat.com> + + * elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield' + overflow detection for R_XSTORMY16_16 reloc. + +2003-05-12 Paul Clarke <paulc@senet.com.au> + + * elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc. + +2003-05-11 Jason Eckhardt <jle@rice.edu> + + * elf32-i860.c (elf32_i860_relocate_highadj): Properly + adjust upper bits. + (elf32_i860_relocate_splitn): Obtain upper 5 bits from the + proper place. + (elf32_i860_relocate_pc16): Obtain upper 5 bits from the + proper place. + +2003-05-11 Andreas Schwab <schwab@suse.de> + + * elf32-m68k.c (elf_m68k_relocate_section): Replace ugly + complicated tests for unresolvable relocs with a simple direct + scheme using "unresolved_reloc" var. Report some detail on + bfd_reloc_outofrange and similar errors. + +2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section): + Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO. + * elf64-s390.c: Likewise. + +2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one. + (elf_s390_adjust_dynamic_symbol): For weak symbols, copy + ELF_LINK_NON_GOT_REF from weakdef. + (elf_s390_copy_indirect_symbol): Test whether the weakdef sym has + already been adjusted before treating it specially. + * el64-s390.c: Likwise. + +2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * elf32-s390.c (allocate_dynrelocs): For undef weak syms with + non-default visibility, a) don't make them dynamic, b) discard + space for dynamic relocs. + (elf_s390_relocate_section): Initialize the GOT entries and skip + R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined + symbols with non-default visibility. + * elf64-s390.c: Likewise. + +2003-05-09 Alan Modra <amodra@bigpond.net.au> + + * cpu-arm.c (arm_check_note): Warning fix. + * elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes. Arrange + to keep relocs if edited. + (iq2000_elf_print_private_bfd_data): Return TRUE. + * elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not + ELF64_R_SYM. + (elfNN_ia64_relax_ldxmov): Warning fix. + * xtensa-isa.c (xtensa_add_isa): Warning fix. + * xtensa-modules.c (get_num_opcodes): Warning fix. + +2003-05-09 Andrey Petrov <petrov@netbsd.org> + + * elf.c (elf_fake_sections): Use correct cast for sh_name. + +2003-05-09 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (_bfd_elf_link_create_dynamic_sections): Move from + elflink.h. Replace LOG_FILE_ALIGN with bed->s->log_file_align. + (_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align. + (bfd_elf_record_link_assignment): Move from elflink.h. + (_bfd_elf_merge_symbol): Likewise. + (_bfd_elf_add_default_symbol): Likewise. + (_bfd_elf_export_symbol): Likewise. + (_bfd_elf_link_find_version_dependencies): Likewise. + (_bfd_elf_link_assign_sym_version): Likewise. + (_bfd_elf_link_read_relocs): Likewise. + (_bfd_elf_link_size_reloc_section): Likewise. + (_bfd_elf_fix_symbol_flags): Likewise. + (_bfd_elf_adjust_dynamic_symbol): Likewise. + (_bfd_elf_link_sec_merge_syms): Likewise. + (elf_link_read_relocs_from_section): Likewise. Use bed->s->sizeof_rel + and bed->s->sizeof_rela. + (_bfd_elf_link_output_relocs): Likewise. + * elf-bfd.h (struct elf_size_info): Rename file_align to + log_file_align. + (struct elf_info_failed): Move from elflink.h. + (struct elf_assign_sym_version_info): Likewise. + (struct elf_find_verdep_info): Likewise. + (_bfd_elf_create_dynamic_sections): Delete duplicate declaration. + (_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol, + _bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies, + _bfd_elf_link_assign_sym_version, + _bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs, + _bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs, + _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol, + _bfd_elf_link_sec_merge_syms): Declare. + (bfd_elf32_link_create_dynamic_sections): Don't declare. + (_bfd_elf32_link_read_relocs): Likewise. + (bfd_elf64_link_create_dynamic_sections): Likewise. + (_bfd_elf64_link_read_relocs): Likewise. + * elflink.h: Move lots o' stuff elsewhere. + * bfd-in.h (bfd_elf32_record_link_assignment): Don't declare. + (bfd_elf64_record_link_assignment): Likewise. + (bfd_elf_record_link_assignment): Declare. + * bfd-in2.h: Regenerate. + * elfcode.h (elf_link_create_dynamic_sections): Don't declare. + (NAME(_bfd_elf,size_info)): Adjust for log_file_align. + * elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align. + (assign_file_positions_for_segments): Likewise. + (assign_file_positions_except_relocs): Likewise. + (swap_out_syms, elfcore_write_note): Likewise. + * elf-m10200.c: Adjust for changed function names. + * elf-m10300.c: Likewise. + * elf32-arm.h: Likewise. + * elf32-h8300.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-ip2k.c: Likewise. + * elf32-m32r.c: Likewise. + * elf32-m68hc11.c: Likewise. + * elf32-m68hc1x.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-mips.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-v850.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-mmix.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-sh64.c: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + (MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align. + * elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align. + * elf64-hppa.c (hppa64_elf_size_info): Likewise. + * elf64-mips.c (mips_elf64_size_info): Likewise. + * elf64-s390.c (s390_elf64_size_info): Likewise. + * elf64-sparc.c (sparc64_elf_size_info): Likewise. + +2003-05-08 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.h (elf_add_default_symbol): After skipping the + unversioned symbol, go to non-default one. + +2003-05-07 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the + want_plt field. + (elfNN_ia64_relocate_section): Don't do dynamic symbol lookup + for symbols with non-default visibility. + +2003-05-07 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.h (elf_link_check_versioned_symbol): Also handle the + case that a DSO references a hidden symbol which may be + satisfied by a versioned symbol in another DSO. + (elf_link_output_extsym): Check versioned definition for hidden + symbol referenced by a DSO. + +2003-05-07 Nick Clifton <nickc@redhat.com> + + * elf32-xstormy16.c (xstormy16_elf_howto_table): Reset + R_XSTORMY16_16 reloc to ignore overflows. + +2003-05-06 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve + error message for mixing different-endian files. Check for ABI + compatibility of input files with the selected emulation. + +2003-05-05 Alan Modra <amodra@bigpond.net.au> + + * elf32-i386.c (allocate_dynrelocs): For undef weak syms with + non-default visibility, a) don't make them dynamic, b) discard + space for dynamic relocs. + * elf64-x86-64.c (allocate_dynrelocs): Likewise. + + * elf32-ppc.c (allocate_dynrelocs): For undef weak syms with + non-default visibility, a) don't allocate plt entries, b) don't + allocate .got relocs, c) discard dyn rel space, + (ppc_elf_relocate_section): d) don't generate .got relocs, e) + don't generate dynamic relocs. + * elf64-ppc.c (allocate_dynrelocs): As above. + (ppc64_elf_relocate_section): As above. + +2003-05-05 Andreas Jaeger <aj@suse.de> + + * elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic + relocation entries for weak undefined symbols with non-default + visibility. + (elf64_x86_64_relocate_section): Initialize the GOT entries and + skip R_386_32/R_386_PC32 for weak undefined symbols with + non-default visibility. + +2003-05-04 H.J. Lu <hjl@gnu.org> + + * elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic + relocation entries for weak undefined symbols with non-default + visibility. + (elf_i386_relocate_section): Initialize the GOT entries and + skip R_386_32/R_386_PC32 for weak undefined symbols with + non-default visibility. + + * elfxx-ia64.c (allocate_fptr): Don't allocate function + descriptors for weak undefined symbols with non-default + visibility. + (allocate_dynrel_entries): Don't allocate relocation entries + for symbols resolved to 0. + (set_got_entry): Don't install dynamic relocation for weak + undefined symbols with non-default visibility. + (set_pltoff_entry): Likewise. + + * elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols + with non-default visibility. + (elf_link_output_extsym): Don't make weak undefined symbols + with non-default visibility dynamic. + +2003-05-04 H.J. Lu <hjl@gnu.org> + + * elflink.h (elf_merge_symbol): Correctly handle weak definition. + +2003-05-04 H.J. Lu <hjl@gnu.org> + + * elflink.h (elf_merge_symbol): Don't record a hidden/internal + symbol dynamic. Check indirection when removing the old + definition for symbols with non-default visibility. + (elf_add_default_symbol): Skip when told by elf_merge_symbol. + +2003-05-02 Nick Clifton <nickc@redhat.com> + + * elf32-xstormy16.c (xstormy16_elf_howto_table): Make the + R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about + unsigned overflow. + +2003-05-02 Andreas Jaeger <aj@suse.de> + + * elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy + ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted. + (ELIMINATE_COPY_RELOCS): Define as one. Use throughout. + (elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy + ELF_LINK_NON_GOT_REF from weakdef. + +2003-05-02 Charles Lepple <clepple@ghz.cc> + Nick Clifton <nickc@redhat.com> + + * acinclude.m4: Fix name of --enable-install-libbfd switch. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * Makefile.in: Regenerate. + +2003-05-01 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the + weakdef sym has already been adjusted before treating it specially. + * elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy + ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted. + * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. + (ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF. + +2003-04-28 H.J. Lu <hjl@gnu.org> + + * elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during + the relax finalize pass. + + * section.c (struct sec): Add need_finalize_relax and remove + flag11. + (STD_SECTION): Update struct sec initializer. + * bfd-in2.h: Regenerated. + +2003-04-28 H.J. Lu <hjl@gnu.org> + + * elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol + to copy any information related to dynamic linking when we flip + the indirection. + +2003-04-27 H.J. Lu <hjl@gnu.org> + + * elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New. + (ELF_LINK_DYNAMIC_WEAK): New. + + * elflink.h (elf_merge_symbol): Add one argument to indicate if + a symbol should be skipped. Ignore definitions in dynamic + objects for symbols with non-default visibility. + (elf_add_default_symbol): Adjusted. + (elf_link_add_object_symbols): Check if a symbol should be + skipped. Don't merge the visibility field with the one from + a dynamic object. + (elf_link_check_versioned_symbol): Use undef_bfd. + (elf_link_output_extsym): Warn if a forced local symbol is + referenced from dynamic objects. Make non-weak undefined symbol + with non-default visibility a fatal error. + +2003-04-27 Daniel Jacobowitz <drow@mvista.com> + + * configure.in: Bump version on HEAD to 2.14.90. + * configure: Regenerated. + +2003-04-26 Stephane Carrez <stcarrez@nerim.fr> + + PR savannah/3331: + * elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group + when we couldn't relax something. + +2003-04-25 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_merge_symbol): When we find a regular definition + for an indirect symbol, flip the indirection so that the old + direct symbol now points to the new definition. + +2003-04-24 Roland McGrath <roland@redhat.com> + + * elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr". + +2003-04-24 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c: Formatting and comment fixes. + (ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol. + (ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs. + +2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com> + + * archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added. + * bfd-in2.h: Rebuilt. + * coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG. + * coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC + & H8300SNMAGIC. + (coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn. + * cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn. + (h8300sn_info_struct, h8300hn_info_struct): New. + * elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn + (elf32_h8_final_write_processing): Likewise. + +2003-04-23 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (tpoff): New. + (struct elf_sh_dyn_relocs): Remove tls_tpoff32. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO. + (allocate_dynrelocs): Don't make unnecessary dynamic TLS + relocations. Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses. + (sh_elf_relocate_section): Likewise. Remove unnecessary tests. + (dtpoff_base): Fix wrong indentation. + (sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS + relocations. Don't set tls_tpoff32 flag. Don't make unnecessary + R_SH_TLS_TPOFF32 relocations. + +2003-04-23 J"orn Rennecke <joern.rennecke@superh.com> + + * archures.c (enum bfd_architecture): Amend comment to refer to SuperH. + * cpu-sh.c: Likewise. + * elf32-sh.c: Likewise. + * reloc.c (bfd_reloc_code_real): Likewise. + * elf32-sh64-com.c: Change comment to refer to SuperH. + * elf32-sh64.c: Likewise. + * elf64-sh64.c: Likewise. + * bfd-in2.h (enum bfd_architecture): Regenerate. + +2003-04-23 Alan Modra <amodra@bigpond.net.au> + + From Julien LEMOINE <speedblue@debian.org> + * elf32-i386.c (elf_i386_info_to_howto): Delete. + (elf_info_to_howto): Define as elf_i386_info_to_howto_rel. + +2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * archures.c: Replace references to Mitsubishi M32R with references + to Renesas M32R. + * relocs.c: Likewise. + * bfd-in2.h: Regenerate. + +2003-04-21 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an + executable when a symbol is defined both regular and dynamic. + +2003-04-21 Stephane Carrez <stcarrez@nerim.fr> + + * Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo. + (elf32-m68hc1x.lo): Update dependencies + * configure.in: Add elf32-m68hc1x.lo. + * configure: Rebuild. + * Makefile.in: Rebuild. + +2003-04-21 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c) + (m68hc11_elf_hash_table_create): New function. + (elf32_m68hc11_link_hash_table_free): New function. + (stub_hash_newfunc): New function. + (m68hc11_add_stub): New function. + (elf32_m68hc11_add_symbol_hook): New function. + (elf32_m68hc11_setup_section_lists): New function. + (elf32_m68hc11_next_input_section): New function. + (elf32_m68hc11_size_stubs): New function. + (elf32_m68hc11_build_stubs): New function. + (m68hc11_get_relocation_value): New function. + (elf32_m68hc11_relocate_section): Call the above to redirect + some relocations to the trampoline code. + (m68hc11_elf_export_one_stub): New function. + (m68hc11_elf_set_symbol): New function. + (elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse. + (m68hc11_elf_get_bank_parameters): Get parameters only when the info + is not yet initialized. + + * elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c) + (elf32_m68hc11_stub_hash_entry): New struct. + (m68hc11_page_info): Add trampoline handler address. + (m68hc11_elf_link_hash_table): Add stubs generation members. + (elf32_m68hc11_add_symbol_hook): Declare. + (elf32_m68hc11_setup_section_lists): Declare. + (elf32_m68hc11_size_stubs): Declare. + (elf32_m68hc11_build_stubs): Declare. + + * elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c. + (elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise. + (elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto. + (_bfd_m68hc11_elf_set_private_flags): Ditto. + (_bfd_m68hc11_elf_merge_private_bfd_data): Ditto. + (_bfd_m68hc11_elf_print_private_bfd_data): Ditto. + (bfd_elf32_bfd_link_hash_table_create): Define. + (elf_backend_add_symbol_hook): Define. + (m68hc11_elf_bfd_link_hash_table_create): New function. + (m68hc11_elf_build_one_stub): New function. + (m68hc11_elf_size_one_stub): New function. + (m68hc11_elf_bfd_link_hash_table_create): Install the above. + (bfd_elf32_bfd_link_hash_table_create): Define. + + * elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove. + (m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked. + (m68hc12_phys_addr): Ditto. + (m68hc12_phys_page): Ditto. + (m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c. + (elf32_m68hc11_gc_mark_hook): Likewise. + (elf32_m68hc11_gc_sweep_hook): Likewise. + (elf32_m68hc11_check_relocs): Likewise. + (elf32_m68hc11_relocate_section): Likewise. + (_bfd_m68hc12_elf_set_private_flags): Likewise. + (_bfd_m68hc12_elf_merge_private_bfd_data): Likewise. + (_bfd_m68hc12_elf_print_private_bfd_data): Likewise. + (m68hc12_elf_build_one_stub): New function. + (m68hc12_elf_size_one_stub): New function. + (m68hc12_elf_bfd_link_hash_table_create): New function, use the above. + (elf_backend_add_symbol_hook): Define. + (elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks. + +2003-04-18 Nick Clifton <nickc@redhat.com> + + * format.c (bfd_check_format_matches): Only check associated + vector if the matching_vector has been created. + +2003-04-15 Alexandre Oliva <aoliva@redhat.com> + + * dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in + 2003-04-09's change. + +2003-04-15 Brian Ford <ford@vss.fsi.com> + + * peicode.h (coff_swap_scnhdr_in): If a section holds + uninitialized data and is from an object file or from an + executable image that has not initialized the s_size field, or if + the physical size is padded, use the virtual size (stored in + s_paddr) instead. + +2003-04-15 H.J. Lu <hjl@gnu.org> + + * elflink.h (elf_link_add_object_symbols): Properly report + filename for alignment reduction. + +2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com> + + * archures.c: Replace occurrances of 'Hitachi' with 'Renesas'. + * reloc.c: Likewise. + * coff-h8300.c: Likewise. + * coff-h8500.c: Likewise. + * coff-sh.c: Likewise. + * cpu-h8300.c: Likewise. + * cpu-sh.c: Likewise. + * elf32-h8300.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-sh64-com.c: Likewise. + * elf32-sh64.c: Likewise. + * elf64-sh64.c: Likewise. + * bfd-in2.h: Regenerate. + +2003-04-14 H.J. Lu <hjl@gnu.org> + + * elflink.h (elf_link_add_object_symbols): Maintain maximum + alignment for common symbols. Warn reducing alignment for + common symbols. Report old filename when symbol size changes. + +2003-04-12 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other + occurrences of the same test changed in the previous patch. + Optimize. + +2003-04-11 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (mips_elf_get_global_gotsym_index): New. + (mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to + GOT_DISP/addend only if the symbol got a global GOT entry. + +2003-04-10 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (mips_elf_calculate_relocation): Decay + GOT_PAGE/GOT_OFST referencing overridable symbol to + GOT_DISP/addend. + (_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing + global symbol as GOT_DISP. + +2003-04-10 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the + next relocation on an undefined symbol. + +2003-04-09 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>: + Ignore relocations against r_symndx == 0. + +2003-04-09 H.J. Lu <hjl@gnu.org> + + * elf64-alpha.c (elf64_alpha_relocate_section): Don't return + FALSE for undefined symbols. + * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. + +2003-04-09 Alexandre Oliva <aoliva@redhat.com> + + * dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard + and IRIX-specific shift-to-64-bit 4-byte lengths before following + addr_size. + +2003-04-08 Alexandre Oliva <aoliva@redhat.com> + + * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor) + pointer size from ABI, not arch_bits_per_address. + +2003-04-07 Kevin Buettner <kevinb@redhat.com> + + * elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related + constants for n32 ABI. + +2003-04-06 Andrew Cagney <cagney@redhat.com> + + * simple.c (bfd_simple_get_relocated_section_contents): Disable + free that leads to GDB vs BFD memory corruption. + +2003-04-04 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust + symbols that mark the end of the section. + (m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when + converting to a relative branch so that the offset is computed after + the relaxation; also relocate a jsr into a bsr if possible but don't + relax them if they are to a far symbol as we need to call the + trampoline code. + (elf_m68hc11_howto_table): Set pcrel_offset to true. + +2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com> + + * archures.c: Namespace cleanup. Rename bfd_mach_c3x to + bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x + * bfd-in2.h: Regenerate + * coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/ + * cpu-tic4x.c: Ditto + +2003-04-03 Nick Clifton <nickc@redhat.com> + + * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss + differently for object files and executables. + * peicode.h (coff_swap_scnhdr_in): Only set the s_size field + for object files or for executables who have not already + initialised the field. + * libpei.h (bfd_pe_executable_p): New macro. Return true if + the PE format bfd is an executable. + +2003-04-03 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL + here as it's too early to reliably determine locality. + (ppc_elf_gc_sweep_hook): Likewise. + (SYMBOL_REFERENCES_LOCAL): Expand comment. + +2003-04-02 Bob Wilson <bob.wilson@acm.org> + + * xtensa-modules.c: Remove comment indicating that this is a + generated file. + +2003-04-02 Alan Modra <amodra@bigpond.net.au> + + * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj. + +2003-04-01 Bob Wilson <bob.wilson@acm.org> + + * Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo. + (ALL_MACHINES_CFILES): Add cpu-xtensa.c. + (BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and + xtensa-modules.lo. + (BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and + xtensa-modules.c. + (cpu-xtensa.lo): New target. + (elf32-xtensa.lo): Likewise. + (xtensa-isa.lo): Likewise. + (xtensa-modules.lo): Likewise. + * Makefile.in: Regenerate. + * archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa. + (bfd_archures_list): Add bfd_xtensa_arch. + * config.bfd: Handle xtensa-*-*. + * configure.in: Handle bfd_elf32_xtensa_{le,be}_vec. + * configure: Regenerate. + * reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE, + PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}. + * targets.c (bfd_elf32_xtensa_be_vec): Declare. + (bfd_elf32_xtensa_le_vec): Likewise. + (bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec. + * cpu-xtensa.c: New file. + * elf32-xtensa.c: Likewise. + * xtensa-isa.c: Likewise. + * xtensa-modules.c: Likewise. + * libbfd.h: Regenerate. + * bfd-in2.h: Likewise. + +2003-04-01 Nick Clifton <nickc@redhat.com> + + * archures.c (bfd_mach_arm_unknown): Define. + * bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes, + bfd_arm_get_mach_from_notes): Prototype. + * bfd-in2.h: Regenerate. + * coff-arm.c (coff_arm_merge_private_bfd_data): Call + bfd_arm_merge_machines. + (coff_arm_final_link_postscript): Call bfd_arm_update_notes. + * coffcode.h (coff_set_arch_mach_hook): Call + bfd_arm_get_mach_from_notes. + * coffgen.c (coff_real_object_p): Revert previous delta. + * cpu_arm.c (arm_check_note): New function. Examine a note in a + .note section. + (bfd_arm_merge_machines): New function: Handle the merging of ARM + binaries compiled for different architectures.. + (bfd_arm_update_notes): New function: Update an ARM note section. + (bfd_arm_get_mach_from_notes): New function: Extract a bfd machine + number from an ARM note section. + * elf32-arm.h (elf32_arm_object_p): Use + bfd_arm_get_mach_from_notes. + (elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines. + (elf32_arm_final_write_processing): Use bfd_arm_update_notes. + +2003-04-01 Ben Elliston <bje@wasabisystems.com> + + * dwarf2.c (read_attribute_value): Correct typo in comment. + +2003-04-01 Nick Clifton <nickc@redhat.com> + + * dwarf2.c (concat_filename): Use bfd_malloc() and strdup() + instead of concat(). + (decode_line_info): Only free filename if it is not NULL. + (add_line_info): Make a copy of the filename when storing it into + the info structure. + +2003-03-31 Andreas Schwab <schwab@suse.de> + Daniel Jacobowitz <drow@mvista.com> + + * simple.c (bfd_simple_get_relocated_section_contents): Add + parameter symbol_table. Optionally use it instead of the symbol + table from the bfd. Save and restore output offsets and output + sections around bfd_get_relocated_section_contents. Fix a memory + leak. + (simple_save_output_info, simple_restore_output_info): New + functions. + * bfd-in2.h: Regenerate. + * dwarf2.c (read_abbrevs): Use + bfd_simple_get_relocated_section_contents instead of + bfd_get_section_contents. + (decode_line_info): Likewise. + (_bfd_dwarf2_find_nearest_line): Likewise. Don't call + find_rela_addend. + (find_rela_addend): Remove. + * elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for + debugging sections. + (elfNN_ia64_hash_table_create): Create the hash table with malloc, + not bfd_zalloc. + +2003-03-31 David Heine <dlheine@suif.stanford.edu> + + * aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of + bfd_alloc. + * dwarf2.c (concat_filename): Always allocate space for the + returned filename. + (decode_line_info): Free the allocated filename returned by + concat_filename. + * elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks. + * elf.c (copy_private_bfd_data): Likewise. + (_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer. + * elflink.h (elf_link_sort_relocs): Fix memory leak. + * format.c (bfd_check_format_matches): Likewise. + * linker.c (bfd_generic_final_link): Likewise. + * opncls.c (find_separate_debug_info): Likewise. + * simple.c (bfd_simple_get_relocated_section_contents): Likewise. + +2003-03-28 H.J. Lu <hjl@gnu.org> + + * elflink.h (elf_link_add_object_symbols): Correctly combine + visibilities. + +2003-03-27 Jakub Jelinek <jakub@redhat.com> + + * elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset + to -1 before recomputing got offsets. + +2003-03-26 Andreas Schwab <schwab@suse.de> + + * elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. + (elf_m68k_relocate_section): Use it to correctly handle symbols + forced to be local. + (elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got + entries for symbols that are forced to be local. + +2003-03-25 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (_bfd_mips_relax_section): New function. + * elfxx-mips.h (_bfd_mips_relax_section): Declare. + * elfn32-mips.c, elf64-mips.c: Use it. + +2003-03-25 Stan Cox <scox@redhat.com> + Nick Clifton <nickc@redhat.com> + + Contribute support for Intel's iWMMXt chip - an ARM variant: + + * archures.c: Add bfd_mach_arm_iWMMXt. + * reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt + object files to be linked with XScale ones. + (coff_arm_final_link_postscript): Update note section. + * coffcode.h (coff_set_arch_mach_hook): Handle note section. + * coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook + after identifying a coff binary. + * cpu-arm.c (processors): Add iWMMXt. + (arch_inf): Likewise. + * elf32-arm.h (arm_object_p): Handle note section. + (elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to + be linked with XScale ones. + (elf32_arm_section_flags): New function: Set flags on note section. + (elf32_arm_final_write_processing): Handle note section. + +2003-03-21 DJ Delorie <dj@redhat.com> + + * elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call + _bfd_elf_rela_local_sym. + +2003-03-20 H.J. Lu <hjl@gnu.org> + + * elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for + non-ELF outputs. + +2003-03-20 Nick Clifton <nickc@redhat.com> + + * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and + $idata5 in case bfd_coff_final_link is not called. + +2003-03-19 Jakub Jelinek <jakub@redhat.com> + + * elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count + field. + (canon_reloc_count): Define. + (sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table, + sparc64_elf_canonicalize_dynamic_reloc): Use it instead of + reloc_count. + (sparc64_elf_canonicalize_reloc): New routine. + (bfd_elf64_canonicalize_reloc): Define. + +2003-03-18 Jakub Jelinek <jakub@redhat.com> + + * elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation + againt mergeable sections. Take r_addend into account when caching + trampolines. + +2003-03-18 Richard Henderson <rth@redhat.com> + + * elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for + local symbols that have no dyninfo. + +2003-03-14 Gene Smith <gene.smith@siemens.com> + + * ieee.c (ieee_write_expression): Handle the case where symbol is + NULL. + General formatting improvements. + +2003-03-13 Nick Clifton <nickc@redhat.com> + + * configure.in (LINGUAS): Add zh_CN. + * configure: Regenerate. + * po/zh_CN.po: New file. + +2003-03-13 Elias Athanasopoulos <elathan@phys.uoa.gr> + + * aout-cris.c (BYTES_IN_WORD): Don't define. + aout-encap.c: Likewise. + aout-ns32k.c: Likewise. + aout-tic30.c: Likewise. + hp300bsd.c: Likewise. + i386aout.c: Likewise. + i386dynix.c: Likewise. + i386linux.c: Likewise. + i386lynx.c: Likewise. + i386mach3.c: Likewise. + m68k4knetbsd.c: Likewise. + m68klinux.c: Likewise. + m68klynx.c: Likewise. + m68knetbsd.c: Likewise. + m88kmach3.c: Likewise. + mipsbsd.c: Likewise. + newsos3.c: Likewise. + sparclinux.c: Likewise. + sparclynx.c: Likewise. + sparcnetbsd.c: Likewise. + vaxbsd.c: Likewise. Fix comment formatting. + +2003-03-12 Alexandre Oliva <aoliva@redhat.com> + + * Reverted 2003-03-02's patch. + + * elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it + overridable. + * elf64-mips.c (mips_elf64_canonicalize_reloc, + mips_elf64_get_dynamic_reloc_upper_bound, + mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c. + (bfd_elf64_get_canonicalize_reloc, + bfd_elf64_get_dynamic_reloc_upper_bound, + bfd_elf64_canonicalize_dynamic_reloc): Define. + (mips_elf64_slurp_reloc_table): Support dynamic. + (mips_elf64_slurp_one_reloc_table): Adjust. + +2003-03-12 Nick Clifton <nickc@redhat.com> + + * xsym.c (bfd_sym_fetch_type_information_table_entry): Change + 'index' to 'offset' in test for zero value. + +2003-03-11 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create + dynamic relocations pointing to local or section symbols, use the + NULL symbol instead. Document the choice to not emit an + additional R_MIPS_64 relocation. + +2003-03-11 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from + zero index dynamic tls relocs generated for the GOT. Tidy code. + Set "relocation" to 1 on DTPMOD32 relocs. Optimize HA adjustment. + * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. + +2003-03-07 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after + a tls_get_addr call. + + * elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one. + (ppc_elf_adjust_dynamic_symbol): For weak symbols, copy + ELF_LINK_NON_GOT_REF from weakdef. + * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one. + (ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy + ELF_LINK_NON_GOT_REF from weakdef. + * elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one. Use throughout. + (elf_i386_adjust_dynamic_symbol): For weak symbols, copy + ELF_LINK_NON_GOT_REF from weakdef. + +2003-03-06 Jakub Jelinek <jakub@redhat.com> + Andrew Haley <aph@redhat.com> + + * elflink.h (elf_bfd_discard_info): Don't process eh frames if + output is relocateable. + +2003-03-06 Steven Konopa <skonopa@kgo.csc.com> + + * som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and + R_COMMENT. + +2003-03-06 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize + error messages. + (ELIMINATE_COPY_RELOCS): Define to zero. + (ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating + TLSLD relocs. Report reloc types on a number of errors. Optimize + LOCAL24PC check for non-local syms. Don't capitalize error messages. + * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero. + (ppc64_elf_relocate_section): Don't deref htab->tls_sec when + calculating TLSLD relocs. Report reloc types on a number of errors. + Don't capitalize error messages. + +2003-03-03 H.J. Lu <hjl@gnu.org> + + * elfxx-ia64.c (USE_BRL): Removed. + (oor_ip): Removed. + +2003-03-03 J"orn Rennecke <joern.rennecke@superh.com> + + * elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary + relocation (no special function), and make it non-partial_inplace. + (sh_elf_relax_section): When creating a bsr, use a consistent value + no matter if the symbol is extern or not; set addend to -4. + Don't swap load / non-load instructions for SH4. + (sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset + rather than if the symbol is external to determine if adjusting the + offset makes sense. Adjust the addend too if appropriate. + (sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the + relocation. + +2003-03-03 Nick Clifton <nickc@redhat.com> + + * po/da.po: Installed latest translation. + +2003-03-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elf32-mips.c (elf_mips_howto_table_rel): Change definition of + R_MIPS_PC16 to rightshift 2. + (elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc. + (bfd_elf32_bfd_reloc_type_lookup): Support + BFD_RELOC_MIPSEMB_16_PCREL_S2. + * elf64-mips.c (mips_elf64_howto_table_rel): Change definition of + R_MIPS_PC16 to rightshift 2. + (mips_elf64_howto_table_rela): Likewise. + (mips_reloc_map): Map to rightshifted BFD reloc. + * elfn32-mips.c: The same as in elf64-mips.c. + * elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment. + (mips_elf_calculate_relocation): Handle rightshifted addends for + R_MIPS_PC16. + * reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for + MIPS Embedded PIC. Remove superfluous empty COMMENT. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2003-02-28 Richard Henderson <rth@redhat.com> + + * elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds + for ltoff22x relaxation. + +2003-03-01 Alan Modra <amodra@bigpond.net.au> + + * bfd-in.h (_bfd): Don't define. + * bfd.c: Rename occurrences of "struct _bfd" to "struct bfd". + * syms.c: Likewise. + * bfd-in2.h: Regenerate. + +2003-02-27 Richard Henderson <rth@redhat.com> + + * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx; + (elfNN_ia64_check_relocs): Set it. + (allocate_global_data_got): Check it. + (allocate_local_got): Likewise. + (allocate_dynrel_entries): Likewise. + (elfNN_ia64_relax_ldxmov): New. + (elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV. + (elfNN_ia64_choose_gp): Split out from ... + (elfNN_ia64_final_link): ... here. + +2003-02-27 Andrew Cagney <cagney@redhat.com> + + * bfd.c (struct bfd): Rename "struct _bfd". + * bfd-in.h: Update copyright. + (struct bfd): Rename "struct _bfd". + (_bfd): Define for backward compatibility. + * bfd-in2.h: Regenerate. + +2003-02-25 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr + and rel_hdr2 when initially counting input relocs rather than after + creating output reloc sections. + (elf_link_read_relocs_from_section): Don't abort with wrong reloc + sizes. + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + +2003-02-24 Kris Warkentin <kewarken@qnx.com> + + * elf.c (elfcore_read_notes): Add check for QNX style core file. + (elfcore_grog_nto_note): New function. + (elfcore_grog_nto_gregs): New function. + (elfcore_grog_nto_status): New function. + +2003-02-24 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (_bfd_elf_create_got_section): Check existing .got + section flags before concluding that we've already been called. + Don't use register keyword. + (_bfd_elf_create_dynamic_sections): Don't use register keyword. + (_bfd_elf_create_linker_section): Formatting. + +2003-02-20 jmc <jmc@prioris.mini.pw.edu.pl> + + * coff-h8300.c: Fix typo: intial -> initial. + * coff-ppc.c: Likewise. + +2003-02-20 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c: Formatting. + (allocate_dynrelocs): LD and GD relocs against the same sym need + separate GOT entries. + (ppc_elf_relocate_section): Correct GOT handling for multiple GOT + entries per symbol. + +2003-02-19 Alan Modra <amodra@bigpond.net.au> + + * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc + removal. Localize vars. Remove unnecessary dynobj test. + * elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead + of INFO. + (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses, + and optimize. + (elf_i386_relocate_section): Likewise. + (elf_i386_gc_sweep_hook): Simplify dyn reloc removal. Localize vars. + * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise. + * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise. + * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise. + * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise. + * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. Remove + local_dynrel for section too. Don't touch HIPLT22, LOPLT10, PCPLT32 + or PCPLT10 relocs. Don't subtract twice on PLT32 relocs. + Formatting. + + * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define. + (ppc64_elf_check_relocs): Use it. Correct comment. Move SEC_ALLOC + test. + (ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO. + (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses, + and optimize. Use ELIMINATE_COPY_RELOCS. + (ppc64_elf_relocate_section): Likewise. + + * elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field. + (ppc_elf_copy_indirect_symbol): Copy pc_count field. + (ELIMINATE_COPY_RELOCS): Define. + (ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO. + (MUST_BE_DYN_RELOC): Define. + (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses, + and optimize. Trim dyn_relocs. + (ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll + not be used. Do generate dyn_relocs for copy reloc avoidance. Keep + track of pc_rel dyn relocs. + (ppc_elf_relocate_section): Remove "will_become_local". Adjust + WILL_CALL_FINISH_DYNAMIC_SYMBOL use. Trim dyn relocs as per + allocate_dynrelocs. Don't recalculate "sec". + +2003-02-18 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test. + * elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount + on invalid LD relocs. + (allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry. + (ppc64_elf_relocate_section): Unify new handling of LD relocs and + tlsld_got entry. Use IS_PPC64_TLS_RELOC. + + * elf32-ppc.h: New file. + * elf32-ppc.c: Include elf32-ppc.h. + (NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define. + (struct ppc_elf_link_hash_entry): Rename "root" to "elf". Adjust uses. + Add "tls_mask" field. + (TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define. + (struct ppc_elf_link_hash_table): Rename "root" to "elf". Adjust uses. + Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss, + sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields. + Make use of htab shortcuts throughout file. + (ppc_elf_link_hash_newfunc): Init tls_mask field. + (ppc_elf_link_hash_table_create): Init new fields. + (ppc_elf_copy_indirect_symbol): Copy tls_mask. + (ppc_elf_howto_raw): Add tls relocs. + (ppc_elf_reloc_type_lookup): Handle them. + (ppc_elf_unhandled_reloc): New function. + (ppc_elf_create_got): Stash got section pointer in hash table, + return status. Make .rela.got too. + (ppc_elf_create_dynamic_sections): Stash section pointers in htab. + (ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when + NON_GOT_REF set. Don't allocate space in .plt here.. + (allocate_dynrelocs): ..do so here instead, properly ref-counting and + not allocating plt entries unnecessarily. Allocate got entries here. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. + (ppc_elf_size_dynamic_sections): Allocate local got entries. Pass + "info" during allocate_dynrelocs hash traversal. Use htab section + shortcuts rather than searching for named sections. Get rid of + "plt" and "strip" booleans. + (update_local_sym_info, bad_shared_reloc): New functions. + (ppc_elf_check_relocs): Handle TLS relocs. Move .rela.got creation to + ppc_elf_create_got. Don't mark got or plt reloc syms dynamic, do so + in allocate_dynreloc. Use update_local_sym_info and bad_shared_reloc. + Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16, + R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA + in shared libs. R_PPC_PLTREL32 is a plt reloc too. Refcount all + relocs that might use a plt entry. Set NON_GOT_REF too. + Enumerate all do-nothing relocs. + (ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs. Handle + tls relocs and all plt relocs. + (ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions. + (ppc_elf_finish_dynamic_symbol): Don't build got entries here. + (ppc_elf_finish_dynamic_sections): Rewrite tag code using htab + shortcuts. + (ppc_elf_relocate_section): Tidy. Handle TLS relocs. Use + bfd_elf_local_sym_name. Simplify unresolved reloc code. Build got + entries and got relocs here. Warn on non-zero got reloc addend. + Split out branch taken/not taken reloc code into a separate switch + and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs. + Split out HA reloc adjustments to separate switch statement. Don't + warn on reloc overflow if we've already warned about undefined. + Don't rebuild sym name when reporting errors. Report all possible + errors from _bfd_final_link_relocate. + (bfd_elf32_bfd_final_link): Don't define. + +2003-02-18 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r". Don't + rebuild sym name when reporting errors. + +2003-02-17 Nick Clifton <nickc@redhat.com> + + * elflink.h (elf_link_output_extsym): Only check + allow_shlib_undefined for shared libraries. + * elf32-i386.c (elf_i386_relocate_section): Remove bogus check + of allow_shlib_undefined. + * elf32-cris.c (cris_elf_relocate_section): Likewise. + * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf32-s390.c (elf_s390_relocate_section): Likewise. + * elf32-sh.c (sh_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf32-vax.c (elf_vax_relocate_section): Likewise. + * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. + * elf64-hppa.c (elf64_hppa_relocate_section): Likewise. + * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. + * elf64-s390.c (elf_s390_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. + * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise. + +2003-02-17 Nick Clifton <nickc@redhat.com> + + * elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the + address field to use in the comparison. + (SEGMENT_OVERLAPS): Check that LMAs overlap as well. + +2003-02-14 Bob Wilson <bob.wilson@acm.org> + + * elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF + backends when checking if the generic ELF target should be used. + + * syms.c (_bfd_stab_section_find_nearest_line): For line number stabs + outside of functions, treat values as absolute addresses. + + * bfd.c: Change embedded documentation to use consistent indentation + and to split up long lines. Change informal style of description + for functions lacking real documentation. + * coffcode.h: Break up long lines in embedded documentation. + * format.c: Likewise. + * targets.c: Likewise. + * libcoff.h: Regenerate. + * bfd-in2.h: Regenerate. + +2003-02-14 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr. + (ppc64_elf_copy_indirect_symbol): Merge tls_mask too. + (ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs. + (allocate_dynrelocs): Don't treat undefined and undefweak specially. + (ppc_size_one_stub): Fix warning, and tighten plt entry check. + (group_sections): Don't share a stub section if stubs are for a large + section. Adjust comment. + (ppc64_elf_size_stubs): Roughly double the size left for stubs if + !stubs_always_before_branch. + (ppc64_elf_relocate_section): Initialize tlsld GOT entry once. Don't + treat undefined and undefweak specially when processing dyn relocs. + +2003-02-13 Jakub Jelinek <jakub@redhat.com> + + * elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO. + +2003-02-13 Nick Clifton <nickc@redhat.com> + + * elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs + in computation of offset to insert into BL instruction. + +2003-02-11 Uwe Stieber <uwe@wwws.de> + + * config.bfd: Add support for kaOS as cross build target system. + +2003-02-11 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_check_relocs): Match versioned + .__tls_get_addr too. + (ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect. + +2003-02-10 Kaz kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field. + (elf_sh_link_hash_entry): Remove tls_tpoff32 field. + (sh_elf_link_hash_newfunc): Remove the initialization of + tls_tpoff32 field. + (allocate_dynrelocs): Keep dyn_relocs if it includes the entry + for which tls_tpoff32 flag is set. + (sh_elf_relocate_section): Covert to LE only if the dyn_relocs + of the symbol includes the entry matched with the input_section + and having tls_tpoff32 flag on. When linking statically, set + symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol + is defined in this executable. + (sh_elf_check_relocs): Set tls_tpoff32 flag appropriately. + +2003-02-10 Jakub Jelinek <jakub@redhat.com> + + * elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE + even if there is just non-empty .rela.plt. + +2003-02-10 Nick Clifton <nickc@redhat.com> + + * archures.c (bfd_mach_arm_ep9312): Define. + * bfd-in2.h: Regenerate. + * cpu-arm.c (processors[]): Add ep9312. + (bfd_arm_arch): Add ep9312. + * elf32-arm.h (elf32_arm_merge_private_data): Update error + messages and add test for Maverick floating point support. + (elf32_arm_print_private_bfd_data): Handle + EF_ARM_MAVERICK_FLOAT flag. + (elf32_arm_object_p): New function. + (elf_backend_object_p): Define. + +2003-02-10 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c: Rename assorted occurrences of tls_type and similar + variables, structure fields or function params to tls_mask or + similar to better reflect usage. + (struct got_entry): Comment. + (struct ppc_link_hash_entry): Expand comment, and renumber TLS_*. + (get_tls_mask): Rename from get_tls_type. + +2003-02-09 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (TLS_GD_LD): Don't define.. + (TLS_GD): ..define this instead and update all uses. + (TLS_TPRELGD): Define. + (ppc64_elf_link_hash_table_create): Tweak initialization of + init_refcount and init_offset. + (ppc64_elf_check_relocs): Add one extra element to t_symndx array. + Mark second slot of GD or LD toc entries. + (get_tls_type): Return an int. Distinguish toc GD and LD entries + from other tls types. + (ppc64_elf_tls_setup): New function, split out from.. + (ppc64_elf_tls_optimize): ..here. Don't optimize when symbols are + defined in a dynamic object. Fix LD optimization. Don't set TLS_TPREL + on GD->IE optimization, use TLS_TPRELGD instead. Use get_tls_type + return value to properly decide whether toc GD and LD entries can + optimize away __tls_get_addr call. Check next reloc after DTPMOD64 + to determine GD or LD rather than looking at TLS_LD flag. Don't + attempt to adjust got entry tls_type here.. + (allocate_dynrelocs): ..instead, adjust got entry tls_type here, and + look for possible merges. + (ppc64_elf_size_dynamic_sections): Adjust local got entries for + optimization. + (ppc64_elf_size_stubs): Tweak __tls_get_addr fudge. + (ppc64_elf_relocate_section): Rename some vars to better reflect usage. + Make use of return value from get_tls_type to properly detect GD and + LD optimizations. Split tlsld/gd hi/ha from lo/ds case. Don't + handle tls_get_addr removal when looking at REL24 relocs, do it when + looking at the previous reloc. Check reloc after DTPMOD64 to determine + GD or LD. + * elf64-ppc.h (ppc64_elf_tls_setup): Declare. + +2003-02-08 Alan Modra <amodra@bigpond.net.au> + + * elf32-hppa.c (group_sections): Don't share a stub section if + stubs are for a large section. + + * elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for + stubs if !stubs_always_before_branch. + +2003-02-07 Nick Clifton <nickc@redhat.com> + + * elf.c (swap_out_syms): Generate an error message if an + equivalent output section cannot be found for a symbol. + +2003-02-07 Jakub Jelinek <jakub@redhat.com> + + * elf64-alpha.c (elf64_alpha_relax_section): Don't crash if + local_got_entries is NULL. + +2003-02-06 Andreas Schwab <schwab@suse.de> + + * elf-eh-frame.c (get_DW_EH_PE_signed): Define. + (read_value): Add parameter is_signed, use signed extraction if + the value is signed. + (_bfd_elf_write_section_eh_frame): Pass signed flag of the + encoding to read_value. + +2003-02-06 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and + plt info when called to transfer weak sym info. + +2003-02-05 Alan Modra <amodra@bigpond.net.au> + + * reloc.c: Add PPC and PPC64 TLS relocs. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + * elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare. + (ppc64_elf_howto_raw): Add TLS howto's. Adjust R_PPC64_NONE to be + against a 32 bit field. + (ppc64_elf_reloc_type_lookup): Handle TLS relocs. + (_ppc64_elf_section_data): Add t_symndx and comments. + (ppc64_elf_section_data): Use elf_section_data macro. + (ppc64_elf_new_section_hook): American spelling. + (struct got_entry, struct plt_entry): New. + (MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC. + (struct ppc_stub_hash_entry): Add "addend" field. + (struct ppc_link_hash_entry): Add "tls_type". + (TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL, + TLS_EXPLICIT): Define. + (struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got. + (link_hash_newfunc): Init new fields. + (ppc64_elf_link_hash_table_create): Likewise. Set init_refcount and + init_offset to NULL. + (ppc64_elf_copy_indirect_symbol): Copy got and plt info. Don't call + _bfd_elf_link_hash_copy_indirect, rather insert relevant code from + there. + (update_local_sym_info, update_plt_info): New functions. + (ppc64_elf_check_relocs): Use them. Handle TLS relocs. Adjust GOT + handling to use got.glist rather than got.refcount. Likewise for PLT. + (ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists. + (func_desc_adjust): Adjust for new PLT list. + (ppc64_elf_adjust_dynamic_symbol): Likewise. + (get_sym_h, get_tls_type): New functions. + (ppc64_elf_edit_opd): Remove unused variable. Use get_sym_h. + (ppc64_elf_tls_optimize): New function. + (allocate_dynrelocs): Adjust for new PLT and GOT lists. Allocate + TLS relocs. + (ppc64_elf_size_dynamic_sections): Likewise. + (ppc_type_of_stub): Adjust for new PLT list. + (ppc_build_one_stub): Likewise. + (ppc64_elf_size_stubs): Likewise. Use get_sym_h. Treat __tls_get_addr + calls specially. + (ppc64_elf_relocate_section): Adjust for new GOT and PLT lists. Handle + TLS relocs. Report local syms using bfd_elf_local_sym_name. Don't + init GOT entries that have a reloc. Generate GOT relocs here.. + (ppc64_elf_finish_dynamic_symbol): ..not here. Adjust for PLT list. + * elf64-ppc.h (ppc64_elf_tls_optimize): Declare. + +2003-02-04 Andreas Schwab <schwab@suse.de> + + * elf32-m68k.c (elf_m68k_hash_entry): Define. + (elf_m68k_link_hash_traverse): Remove. + (elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and + elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to + reduce casting. + (elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of + casting. + (elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse + instead of elf_m68k_link_hash_traverse. + (elf_m68k_discard_copies): Change first parameter to pointer to + struct elf_link_hash_entry and use elf_m68k_hash_entry when struct + elf_m68k_link_hash_entry is needed. + +2003-02-04 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct got_entry, struct plt_entry): Forward declare. + (struct elf_link_hash_entry): Add "glist" and "plist" fields to + "got" union, and declare as gotplt_union. Use gotplt_uinion for + "plt" field. + (struct elf_link_hash_table): Make "init_refcount" a gotplt_union. + Add "init_offset" field. + (struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union. + (elf_local_got_ents): Declare. + * elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got" + and "plt". + (_bfd_elf_link_hash_hide_symbol): Use "init_offset". + (_bfd_elf_link_hash_table_init): Set "init_offset". + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount + from init_offset. + (elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset. + + * elf.c (bfd_elf_local_sym_name): Split out from.. + (group_signature): ..here. + * elf-bfd.h (bfd_elf_local_sym_name): Declare. + +2003-02-04 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (enum elf_link_info_type): Remove. + (struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields + to struct sec. Remove linkonce_p field. + (elf_linkonce_p): Delete. + (elf_discarded_section): Update for sec_info_type change. + * section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc, + flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24. + (ELF_INFO_TYPE_NONE): Define. + (ELF_INFO_TYPE_STABS): Define. + (ELF_INFO_TYPE_MERGE): Define. + (ELF_INFO_TYPE_EH_FRAME): Define. + (ELF_INFO_TYPE_JUST_SYMS): Define. + (STD_SECTION): Update struct sec initializer. + * ecoff.c (bfd_debug_section): Likewise. + * elf.c: Likewise. Update occurrences of sec_info_type and use_rela_p. + * elflink.h: Likewise. + * elf-eh-frame.c: Likewise. + * elf64-alpha.c: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * bfd-in2.h: Regenerate. + + * elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than + referring to used_by_bfd. + * elf64-sparc.c (sec_do_relax): Likewise. + * elf64-mmix.c (mmix_elf_section_data): Likewise. + * elfxx-mips.c (mips_elf_section_data): Likewise. + * ieee.c (ieee_slurp_section_data): Use ieee_per_section macro. + (ieee_get_section_contents): Likewise. + (ieee_new_section_hook): Formatting. + (ieee_canonicalize_reloc): Remove commented out code. + * mmo.c (mmo_section_data): Define. Use throughout file. + * oasys.c (oasys_get_section_contents): Use oasys_per_section macro. + +2003-01-31 Graydon Hoare <graydon@redhat.com> + + * Makefile.am (opncls.lo): Add dependency upon libiberty.h. + * Makefile.in: Regenerate. + * opncls.c (calc_crc32, get_debug_link_info, + seperate_debug_file_exists, find_seperate_debug_file): New + internal functions. + (bfd_follow_gnu_debuglink): New function. Follow the pointer + contained inside a .gnu_debuglink section. + * bfd-in2.h: Regenerate. + +2003-01-29 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference + entry->abfd when it's NULL. + +2003-01-27 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle + _bfd_elf_section_offset returning -2 the same way as -1. + + * elfxx-mips.c (mips_elf_multi_got): New function. + (struct mips_got_entry): Make symndx and gotidx signed. Moved + addend into union along with address and link hash entry. + (struct mips_got_info): Added bfd2got and next. + (struct mips_elf_hash_sort_data): Added max_unref_got_dynindx. + (mips_elf_got_section, mips_elf_create_got_section): Use + SEC_EXCLUDE bit to tell whether we really need the got + section. Take boolean arguments to disregard an excluded + section, or to create it as excluded. Adjust all callers. + Use mips_elf_got_section all over. + (mips_elf_local_got_index, mips_elf_got_page, + mips_elf_got16_entry): Take input bfd as argument, and pass it + on to mips_elf_create_local_got_entry. + (mips_elf_global_got_index, mips_elf_create_local_got_entry): + Take input bfd as argument, and manage entries in the + appropriate GOT. + (mips_elf_got_offset_from_index): Take input bfd as argument, + and use it to adjust the GP offset of the bfd. + (mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move + unreferenced GOT entries of global symbols to the end. + (mips_elf_record_global_got_symbol): Take input bfd as + argument. Add entries to the master GOT hash table. + (struct mips_elf_bfd2got_hash): New. + (struct mips_elf_got_per_bfd_arg): New. + (struct mips_elf_set_global_got_offset_arg): New. + (mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash, + mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash, + mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd, + mips_elf_merge_gots, mips_elf_set_global_got_offset, + mips_elf_resolve_final_got_entry, + mips_elf_resolve_final_got_entries, mips_elf_adjust_gp, + mips_elf_got_for_ibfd): New functions. + (ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT. + (MIPS_ELF_GOT_MAX_SIZE): New macro. + (STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT. + (mips_elf_got_entry_hash): Take new fields into account. Use + mips_elf_hash_bfd_vma. + (mips_elf_got_entry_eq): Take new fields into account. + (mips_elf_create_got_section): Initialize new fields. + (mips_elf_calculate_relocation): Pass input_bfd to functions + that now take it. Adjust gp for the input_bfd. + (mips_elf_allocate_dynamic_relocation, + mips_elf_create_dynamic_relocation, + _bfd_mips_elf_create_dynamic_sections): Use... + (mips_elf_rel_dyn_section): New function. Borrow code from... + (_bfd_mips_elf_check_relocs): Pass input_bfd to functions that + now take it. Create the got section if needed, even if + excluded, before recording a global got symbol. Move some + code to... + (mips_elf_record_local_got_symbol): New fn. + (_bfd_mips_elf_size_dynamic_sections): Disable combreloc. + Compute multi-got global entries offsets. Move GOT code to... + (_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got + if the GOT is too big. + (_bfd_mips_elf_finish_dynamic_symbol): Set got entry of + undefweak symbol to zero. Generate dynamic relocations for + non-primary GOT entries for global symbols. + (_bfd_mips_elf_finish_dynamic_sections): Handle multi-got + case. Generate dynamic relocations for local got entries. + Sort dynamic relocations on N64 too, using... + (sort_dynamic_relocs_64): New fns. + (_bfd_mips_elf_hide_symbol): Adjust multi-got counters. + (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT. + +2003-01-27 Alexandre Oliva <aoliva@redhat.com> + + * bfd.c (struct _bfd): Added id field. + * opncls.c (_bfd_id_counter): New static variable. + (_bfd_new_bfd): Use it. + * bfd-in2.h: Rebuilt. + +2003-01-25 Alan Modra <amodra@bigpond.net.au> + + * elf32-sparc.c (bfd_elf32_new_section_hook): Define. + +2003-01-25 Jakub Jelinek <jakub@redhat.com> + + * elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs. + (elf32_sparc_rev32_howto): New variable. + (sparc_reloc_map): Add TLS relocs. + (elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto): + Handle REV32. + (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject): + New functions. + (struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry, + struct elf32_sparc_link_hash_table): + New structures. + (elf32_sparc_tdata, elf32_sparc_local_got_tls_type, + elf32_sparc_hash_table): Define. + (link_hash_newfunc, elf32_sparc_link_hash_table_create, + create_got_section, elf32_sparc_create_dynamic_sections, + elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New + functions. + (elf32_sparc_check_relocs): Handle TLS relocs. Add dynamic reloc + reference counting. + (elf32_sparc_gc_sweep_hook): Likewise. + (elf32_sparc_adjust_dynamic_symbol): Likewise. + (elf32_sparc_size_dynamic_sections): Likewise. + (elf32_sparc_relocate_section): Likewise. + (allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff): + New functions. + (elf32_sparc_object_p): Allocate backend private object data. + (bfd_elf32_bfd_link_hash_table_create, + elf_backend_copy_indirect_symbol, bfd_elf32_mkobject, + elf_backend_can_refcount): Define. + (elf_backend_create_dynamic_sections): Define to + elf32_sparc_create_dynamic_sections. + * reloc.c: Add SPARC TLS relocs. + * bfd-in2.h, libbfd.h: Rebuilt. + * elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs. + (sparc_reloc_map): Likewise. + +2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * bfd-in2.h: Regenerate. + * elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition, + s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions. + (elf_howto_table): Add TLS relocs. + (elf_s390_reloc_type_lookup): Likewise. + (elf_s390_link_hash_entry): Add tls_type. + (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type): + New macros. + (elf_s390_link_hash_table): Add tls_ldm_got. + (link_hash_newfunc): Initialize tls_type. + (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got. + (elf_s390_copy_indirect_symbol): Copy tls_type information. + (elf_s390_check_relocs): Support TLS relocs. + (elf_s390_gc_sweep_hook): Likewise. + (allocate_dynrelocs): Likewise. + (elf_s390_size_dynamic_sections): Likewise. + (elf_s390_relocate_section): Likewise. + (elf_s390_finish_dynamic_symbol): Likewise. + (bfd_elf32_mkobject): Define for TLS. + * elf64-s390.c: Same changes as for elf32-s390.c. + * libbfd.h: Regenerate. + * reloc.c: Add s390 TLS relocations. + +2003-01-24 Charles Lepple <clepple@ghz.cc> + + * aclocal.m4: Fix name of --enable-install-libbfd switch. + +2003-01-23 Nick Clifton <nickc@redhat.com> + + * Add sh2e support: + 2002-04-02 Elena Zannoni <ezannoni@redhat.com> + * archures.c (bfd_mach_sh2e): Added. + * bfd-in2.h: Rebuilt. + * cpu-sh.c (arch_info_struct): Added SH2e. + * elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E. + +2003-01-23 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change + dynindx to an int. Rearrange for better packing. + * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done. + * elf32-mips.c (bfd_elf32_new_section_hook): Define. + * elf32-sh64.h: New. Split out from include/elf/sh.h. + (struct _sh64_elf_section_data): New struct. + (sh64_elf_section_data): Don't dereference sh64_info (was tdata). + * elf32-sh64-com.c: Include elf32-sh64.h. + * elf32-sh64.c: Likewise. + (sh64_elf_new_section_hook): New function. + (bfd_elf32_new_section_hook): Define. + (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change. + (sh64_bfd_elf_copy_private_section_data): Likewise. + (sh64_elf_final_write_processing): Likewise. + * elf32-sparc.c (struct elf32_sparc_section_data): New. + (elf32_sparc_new_section_hook): New function. + (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete. + (sec_do_relax): Define. + (elf32_sparc_relax_section): Adjust to use sec_do_relax. + (elf32_sparc_relocate_section): Likewise. + * elf64-mips.c (bfd_elf64_new_section_hook): Define. + * elf64-mmix.c (struct _mmix_elf_section_data): New. + (mmix_elf_section_data): Define. Use throughout file. + (mmix_elf_new_section_hook): New function. + (bfd_elf64_new_section_hook): Define. + * elf64-ppc.c (struct _ppc64_elf_section_data): New. + (ppc64_elf_section_data): Define. Use throughout. + (ppc64_elf_new_section_hook): New function. + (bfd_elf64_new_section_hook): Define. + * elf64-sparc.c (struct sparc64_elf_section_data): New. + (sparc64_elf_new_section_hook): New function. + (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete. + (sec_do_relax): Define. + (sparc64_elf_relax_section): Adjust to use sec_do_relax. + (sparc64_elf_relocate_section): Likewise. + (bfd_elf64_new_section_hook): Define. + * elfn32-mips.c (bfd_elf32_new_section_hook): Define. + * elfxx-mips.c (struct _mips_elf_section_data): New. + (mips_elf_section_data): Define. Use throughout. + (_bfd_mips_elf_new_section_hook): New function. + (mips_elf_create_got_section): Don't alloc used_by_bfd. + * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare. + * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef. + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + +2003-01-21 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New. + (struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value. + (elf64_alpha_adjust_dynamic_symbol): Set them. + (elf64_alpha_size_plt_section_1): Reset them when plt entry removed. + (elf64_alpha_relax_tls_get_addr): Handle LDM relocs. Frob the + symbol index when relaxing LDM to TPREL. + (elf64_alpha_relax_section): Likewise. Allow relaxation of GD + relocs, even if the target isn't locally defined. + (elf64_alpha_check_relocs): Frob LDM reloc symndx to zero. + (elf64_alpha_relocate_section): Likewise. Force TP-relative + relocs vs symndx 0 to the tp base. + +2003-01-21 Fabio Alemagna <falemagn@aros.org> + + * config.bfd: Handle i[3456]86-*-aros*. + +2003-01-21 Andreas Schwab <schwab@suse.de> + + * elf32-ppc.c (struct ppc_elf_dyn_relocs): Define. + (struct ppc_elf_link_hash_entry): Define. + (ppc_elf_hash_entry): New function. + (struct ppc_elf_link_hash_table): Define. + (ppc_elf_hash_table): New function. + (ppc_elf_link_hash_newfunc): New function. + (ppc_elf_link_hash_table_create): New function. + (ppc_elf_copy_indirect_symbol): New function. + (allocate_dynrelocs): New function. + (readonly_dynrelocs): New function. + (ppc_elf_size_dynamic_sections): Allocate space for dynamic + relocs and determine DT_TEXTREL. + (ppc_elf_check_relocs): Don't do that here, just count the + dynamic relocs. + (ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the + removed section. + (bfd_elf32_bfd_link_hash_table_create): Define. + (elf_backend_copy_indirect_symbol): Define. + +2003-01-21 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and + TPREL also get a reloc if shared. Remove SREL support. + (elf64_alpha_emit_dynrel): New. + (elf64_alpha_relocate_section): Use it. Resolve dynamic TPREL + and GOTTPREL relocs to local symbols against the tp base. + (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel. + + * elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got + use count before clobbering r_type. + (elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn + ordering would mean dataflow inspection is necessary. + +2003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com> + + * coffcode.h (coff_set_flags): Added get/set arch hooks. + +2003-01-20 Fabio Alemagna <falemagn@aros.org> + + * elf32-sh.c: Treat elfNN_bed like other macros defined in + elfxx-target.h and #undef it before #define'ing it. + * elf32-i386.c: Likewise. + * elf32-sh64.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-sh64.c: Likewise. + +2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * bfd-in2.h: Regenerate. + * elf32-s390.c (elf_s390_adjust_gotplt): New prototype. + (elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add + R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16, + R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16, + R_390_PLTOFF32 and R_390_PLTOFF64. + (elf_s390_reloc_type_lookup): Likewise. + (struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track + of GOTPLT references to a function. + (link_hash_newfunc): Initialize gotplt_refcount. + (elf_s390_check_relocs): Move allocation of local_got_refcounts array + and creation of the got section out of the main switch. Add support + for the gotoff, gotplt and pltoff relocations. + (elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt + and pltoff. + (elf_s390_adjust_gotplt): New function. + (elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed + plt entries. + (allocate_dynrelocs): Add comment. + (elf_s390_relocate_section): Change r_type to unsigned. Add support + for gotoff, gotplt and pltoff relocations. + * elf64-s390.c: Same changes as for elf32-s390.c. + * libbfd.h: Regenerate. + * reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12, + BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64, + BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32 + and BFD_RELOC_390_PLTOFF64. + +2003-01-18 Jakub Jelinek <jakub@redhat.com> + + * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle + R_IA64_TPREL64[LM]SB against non-global symbol properly. + +2003-01-16 Jakub Jelinek <jakub@redhat.com> + + * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add + self_dtpmod_done and self_dtpmod_offset. + (allocate_global_data_got): Only use one got entry for all + dtpmod relocs against local symbols. + (allocate_dynrel_entries): Only need .rela.got entry for + dtpmod against global symbol. + (elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset. + Reserve space in .rela.got for the local dtpmod entry. + (set_got_entry): Initialize the common local dtpmod .got entry. + (elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB + and R_IA_64_DTPREL64MSB. + +2003-01-16 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h. + (R_PPC_*): Rename all occurrences to R_PPC64_*. + (R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30. + (enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type. + (ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other + relative relocs, not with absolute ones. + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2003-01-15 Andreas Schwab <schwab@suse.de> + + * elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a + relocation against a non-allocated readonly section. + +2003-01-10 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA. + * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. PLTGOT16_HA too. + +2002-01-08 Klee Dienes <kdienes@apple.com> + + * Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c. + (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c. + * Makefile.in: Regenerate. + +2003-01-08 Alexandre Oliva <aoliva@redhat.com> + + * elfn32-mips.c (prev_reloc_section): New. + (GET_RELOC_ADDEND): Use it. Parenthesize macro arguments. + (SET_RELOC_ADDEND): Parenthesize macro argument. + +2003-01-07 John David Anglin <dave.anglin@nrc.gc.ca> + + * elf32-hppa.c (final_link_relocate): For all DP relative relocations, + adjust addil instructions if the symbol has no section. + +2003-01-07 DJ Delorie <dj@redhat.com> + + * elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not + partial_inplace. + +2003-01-07 Andreas Schwab <schwab@suse.de> + + * elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for + PC relative relocations. + (elf_m68k_discard_copies): Set it here instead. + +2002-01-02 Ben Elliston <bje@redhat.com> + Jeff Johnston <jjohnstn@redhat.com> + + * Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo. + (ALL_MACHINES_CFILES): Add cpu-iq2000.c. + (BFD32_BACKENDS): Add elf32-iq2000.lo. + (BFD32_BACKENDS_CFILES): Add elf32-iq2000.c. + (cpu-iq2000.lo): New target. + * Makefile.in: Regenerate. + * config.bfd: Handle iq2000-*-elf. + * archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000. + (bfd_archures_list): Add bfd_iq2000_arch. + * configure.in: Handle bfd_elf32_iq2000_vec. + * configure: Regenerate. + * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21, + and BFD_RELOC_IQ2000_UHI16. + * targets.c (bfd_elf32_iq2000_vec): Declare. + (bfd_target_vector): Add bfd_elf32_iq2000_vec. + * elf.c (prep_headers): Set e_machine to EM_IQ2000. + * cpu-iq2000.c: New file. + * elf32-iq2000.c: Likewise. + * libbfd.h: Regenerate. + * bfd-in2.h: Likewise. + +2003-01-02 Richard Sandiford <rsandifo@redhat.com> + + * elfxx-mips.c: Include libiberty.h. + (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove. + (mips_set_isa_flags): New function, split out from... + (_bfd_mips_elf_final_write_processing): ...here. Only call + mips_set_isa_flags if the EF_MIPS_MACH bits are clear. + (mips_mach_extensions): New array. + (mips_32bit_flags_p): New function. + (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks. + Use mips_32bit_flags_p to check if one binary is 32-bit and the + other is 64-bit. When adopting IBFD's architecture, adopt the + bfd_mach as well as the flags. + +2003-01-02 Nick Kelsey <nickk@ubicom.com> + + * elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to + fix internal errors, fix bad code generation, fix incorrect stabs + information, and improve ability to eliminate redundant page + instructions. Added code to ip2k_final_link_relocate to self-verify + the linker relaxation. Fix formatting problems. + +2002-12-30 Chris Demetriou <cgd@broadcom.com> + + * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case. + * archures.c (bfd_mach_mipsisa32r2): New define. + * bfd-in2.h: Regenerate. + * cpu-mips.c (I_mipsisa32r2): New enum value. + (arch_info_struct): Add entry for I_mipsisa32r2. + * elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach) + (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2. + (_bfd_mips_elf_final_write_processing): Add + bfd_mach_mipsisa32r2 case. + (_bfd_mips_elf_merge_private_bfd_data): Handle merging of + binaries marked as using MIPS32 Release 2. + +2002-12-30 Dmitry Diky <diwil@mail.ru> + + * Makefile.am: Add msp430 target. + * configure.in: Likewise. + * Makefile.in: Regenerate. + * configure: Regenerate. + * archures.c: Add msp430 architecture vector. + * config.bfd: Likewise. + * reloc.c: Add msp430 relocs. + * targets.c: Add msp320 target. + * cpu-msp430.c: New file: msp430 cpu detection. + * elf32-msp430.c: New file: msp430 reloc processing. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2002-12-28 Jakub Jelinek <jakub@redhat.com> + + * elf.c (elf_sort_sections): Don't reorder .tbss. + (assign_file_positions_for_segments): Only adjust off/voff + for increased alignment in PT_LOAD or PT_NOTE segment, + but adjust p_filesz for .tbss too. in PT_LOAD consider + .tbss to have zero memory size. + (copy_private_bfd_data) [SECTION_SIZE]: Define. + [IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it. + [INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections + into PT_TLS segment. Never put SHF_TLS sections in + segments other than PT_TLS or PT_LOAD. + + * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt + sh_entsize. + +2002-12-23 DJ Delorie <dj@redhat.com> + + * coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal. + +2002-12-23 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_link_output_extsym): Heed strip_discarded. + +2002-12-23 Nick Clifton <nickc@redhat.com> + + * archures.c (bfd_arch_get_compatible): Add third parameter + 'accept_unknowns'. Only accept unknown format BFDs if + accept_unknowns is true, or if the format is "binary". + * bfd-in2.h: Regenerate. + +2002-12-21 Nick Clifton <nickc@redhat.com> + + * coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround + that subtracted 8 from pc relative relocations. + +2002-12-20 Kazu Hirata <kazu@cs.umass.edu> + + * coff-h8300.c: Fix comment typos. + * coffcode.h: Likewise. + * cpu-cris.c: Likewise. + * elf32-vax.c: Likewise. + * genlink.h: Likewise. + * linker.c: Likewise. + * som.c: Likewise. + * tekhex.c: Likewise. + * vms-misc.c: Likewise. + +2002-12-20 DJ Delorie <dj@redhat.com> + + * reloc.c: Add BFD_RELOC_XSTORMY16_12. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12. + (xstormy16_reloc_map): Add R_XSTORMY16_12. + +2002-12-19 Kazu Hirata <kazu@cs.umass.edu> + + * doc/bfdint.texi: Fix typos. + +2002-12-20 Paul Eggert <eggert@twinsun.com> + + Port to POSIX 1003.1-2001. + * acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o". + * configure.in (build-warnings): Likewise. + (Horrible hacks to build DLLs on Windows): Do not rely on "tail -1". + * aclocal.m4: Regenerate. + * config.in: Regenerate. + * configure: Regenerate. + +2002-12-19 Alan Modra <amodra@bigpond.net.au> + + * coff-h8300.c: Include libiberty.h. + (h8300_reloc16_extra_cases): Check the hash table creator before + referencing h8300 specific fields. Stash the hash table pointer + in a local var. Comment typo fixes. + (h8300_bfd_link_add_symbols): Likewise. + + * reloc.c (struct reloc_howto_struct): Revise src_mask and + dst_mask comments. + * bfd-in2.h: Regenerate. + +2002-12-18 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc + code a little. Comment on dynamic relocs against section symbols. + +2002-12-17 Roger Sayle <roger@eyesopen.com> + + * configure.host (ia64-*-hpux*): Support 64 bit targets using + the HP compiler's "long long". + +2002-12-16 Andrew MacLeod <amacleod@redhat.com> + + * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16 + and R_XSTORMY16_HI16) howto entries. + (xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16. + (xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to + determine the start of the second reloc table. + +2002-12-16 Nathan Tallent <eraxxon@alumni.rice.edu> + + * ecofflink.c: Fix the reading of the debugging information + of Tru64/Alpha binaries that are produced by recent Compaq + compilers. + (mk_fdrtab): Fix error in creating the FDR (file descriptor) + table. + (lookup_line): Because of the strange information sometimes + generated by Compaq's recent compilers, change how the FDR + table is searched so that PDRs (procedure descriptors) are + correctly found. Note that this change is really more of a hack; + however, I have included extensive documentation as to why + this is the best solution short of an extensive rewrite or + another hack. + (fdrtab_lookup): Add comments to explain the algorithm. + +2002-12-12 Alexandre Oliva <aoliva@redhat.com> + + * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder + initializers to match struct declaration. + +2002-12-12 Alan Modra <amodra@bigpond.net.au> + + * dwarf2.c (comp_unit_contains_address): Comment typo fix. + * elf.c (get_program_header_size): Likewise. + * elf32-m32r.c (m32r_elf_lo16_reloc): Likewise. + (m32r_elf_generic_reloc): Likewise. + * elf32-ppc.c (ppc_elf_howto_init): Likewise. + * elflink.h (elf_bfd_discard_info): Likewise. + +2002-12-12 Alan Modra <amodra@bigpond.net.au> + + * elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset + to DT_JMPREL. Use srelplt input section size for DT_PLTRELSZ and + DT_RELSZ adjustment, not output section. Avoid writing tags when + unchanged. Don't assume linker script is sane, adjust DT_REL too. + * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw + size of srelplt for DT_PLTRELSZ. Use srelplt input section size for + DT_RELASZ adjustment, not output section. Avoid writing tags when + unchanged. Adjust DT_RELA. + * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better + formatting. Avoid writing tags when unchanged. Adjust DT_RELA. + +2002-12-12 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (mips_elf_calculate_relocation): Don't divide + addend by 4. + +2002-12-12 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (struct mips_got_entry): New. + (struct mips_got_info): Added got_entries field. + (mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions. + (mips_elf_local_got_index, mips_elf_got_page, + mips_elf_got16_entry): Re-implement in terms of new... + (mips_elf_create_local_got_entry): Rewrite to use got_entries. + Change return type. + (mips_elf_highest): Warning clean-up. + (mips_elf_create_got_section): Initialize got_entries. + (_bfd_mips_elf_check_relocs): Use got_entries to estimate + local got size. + (_bfd_mips_elf_size_dynamic_sections): Do not account for + GOT_PAGE entries, since we now reuse GOT16 entries. + +2002-12-10 Jason Thorpe <thorpej@wasabisystems.com> + + * aoutx.h (set_section_contents): Allow an otherwise unrepresentable + read-only section that lies after .text and before .data to be + written into the output file and included in a_text. + (translate_to_native_sym_flags): If an otherwise unrepresentable + section was merged with .text, convert its symbols to N_TEXT + symbols. + * libaout.h (aout_section_merge_with_text_p): New macro. + +2002-12-08 Alan Modra <amodra@bigpond.net.au> + + * bfd-in.h: Comment typo fix. Formatting. + * bfd-in2.h: Regenerate. + * coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix. + * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype. + * elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix. + +2002-12-05 Richard Henderson <rth@redhat.com> + + * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI. + Only send PCREL21B though the plt. Fix installed reloc type. + (elfNN_ia64_relocate_section): Give error for dynamic reloc + against PCREL22 or PCREL64I; clean up error messages for + branch relocs. + +2002-12-04 Kevin Buettner <kevinb@redhat.com> + + * elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo): + New functions. + (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define. + +2002-12-04 David Mosberger <davidm@hpl.hp.com> + + * cpu-ia64-opc.c: Add operand constant "ar.csd". + +2002-12-04 H.J. Lu <hjl@gnu.org> + + * elfxx-ia64.c (get_local_sym_hash): Use section ID instead of + BFD address when constructing local name. + +2002-12-04 Andreas Schwab <schwab@suse.de> + + * elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec + member. + (elf_m68k_link_hash_table_create): Initialize it. + (elf_m68k_check_relocs): Handle symbols that are forced to be + local due to visibility changes. + (elf_m68k_adjust_dynamic_symbol): Likewise. + (elf_m68k_size_dynamic_sections): Likewise. + (elf_m68k_discard_copies): Likewise. + (elf_m68k_relocate_section): Likewise. + +2002-12-04 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_edit_opd): Correct typo. + +2002-12-04 Alan Modra <amodra@bigpond.net.au> + + * srec.c (srec_write_symbols): Restore '$' prefix to address + accidentally removed in 2002-04-04 change. + (srec_get_symtab): Use 0 instead of `(long) FALSE'. + +2002-12-03 Nick Clifton <nickc@redhat.com> + + * elf32-ppc.c (apuinfo_list_init): New function. + (apuinfo_list_add): New function: Add a value to the list. + (apuinfo_list_length): New function: Return the number of + values on the list. + (apuinfo_list_element): New function: Return a value on the + list. + (apuinfo_list_finish): New function: Free the resources used + by the list. + (ppc_elf_begin_write_processing): New function. Scan the + input bfds for apuinfo sections. + (ppc_elf_write_section): New function: Delay the creation of + the contents of an apuinfo section in an output bfd. + (ppc_elf_final_write_processing): New function. Create the + contents of an apuinfo section in an output bfd. + (elf_backend_begin_write_processing): Define. + (elf_backend_final_write_processing): Define. + (elf_backend_write_section): Define. + +2002-12-03 Richard Henderson <rth@redhat.com> + + * cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry. + +2002-12-01 Stephane Carrez <stcarrez@nerim.fr> + + Fix PR savannah/1417: + * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust + branch if it goes to the start of the deleted region. + +2002-12-01 Stephane Carrez <stcarrez@nerim.fr> + + * bfd-in2.h (bfd_mach_m6812): Rebuild. + * archures.c (bfd_mach_m6812_default, bfd_mach_m6812, + bfd_mach_m6812s): Declare. + + * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function. + (_bfd_m68hc12_elf_set_private_flags): Call it. + (_bfd_m68hc12_elf_print_private_bfd_data): Report processor version. + (_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and + report microcontroller incompatibilities (HC12 vs HCS12). + (elf_backend_object_p): Update. + +2002-11-30 Alan Modra <amodra@bigpond.net.au> + + * bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete. + (enum bfd_boolean, boolean): Delete. + (bfd_boolean): Typedef to an int. + (FALSE, TRUE): Define. + * aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c, + aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h, + aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c, + binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c, + coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c, + coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c, + coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c, + coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c, + coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c, + coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c, + corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c, + cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, + cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, + cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c, + cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c, + cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c, + cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c, + cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c, + cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c, + cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c, + dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c, + elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c, + elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c, + elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c, + elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, + elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c, + elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c, + elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c, + elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c, + elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c, + elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c, + elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c, + elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, + elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h, + elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h, + elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c, + hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c, + i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c, + libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h, + libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c, + m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c, + mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c, + nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c, + pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c, + pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c, + pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c, + reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c, + som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c, + syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c, + vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h, + xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with + bfd_boolean, true with TRUE, false with FALSE. Simplify comparisons + of bfd_boolean vars with TRUE/FALSE. Formatting. + * bfd-in2.h, libbfd.h, libcoff.h: Regenerate + +2002-11-28 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h: Replace occurrences of Elf32_Internal_* and + Elf64_Internal_* with Elf_Internal_*. Replace Elf_Internal_Rel + with Elf_Internal_Rela. + * elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h, + elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, + elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, + elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c, + elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c, + elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c, + elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c, + elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c, + elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, + elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c, + elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto. + * elf-hppa.h (elf_hppa_internal_shdr): Delete. Use Elf_Internal_Shdr + throughout instead. + * elf.c (_bfd_elf_no_info_to_howto_rel): Delete. + * elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *. + Remove INLINE keyword. + (elf_swap_reloc_in): Likewise. Also clear r_addend. + (elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand + as a bfd_byte *. + (elf_write_relocs): Consolidate REL and RELA code. + (elf_slurp_reloc_table_from_section): Simplify REL code. + (NAME(_bfd_elf,size_info)): Populate reloc swap entries. + * elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define. + * elflink.h (elf_link_read_relocs_from_section): Consolidate REL and + RELA code. + (elf_link_adjust_relocs): Likewise. Don't malloc space for temp + reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL. + (elf_link_output_relocs): Likewise. + (elf_reloc_link_order): Likewise. + (elf_finish_pointer_linker_section): Likewise. + (struct elf_link_sort_rela): Remove union. + (elf_link_sort_cmp1): Update to suit. + (elf_link_sort_cmp2): Here too. + (elf_link_sort_relocs): Consolidate REL and RELA code. Fix memory + over-allocation for int_rels_per_ext_rel != 1 case. + * elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls. + * elf32-i386.c: Likewise. + * elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out. + * elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c, + elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise. + * elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out. + * elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, + elf64-sparc.c, elf64-x86-64.c: Likewise. + * elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out. + * elfxx-mips.c (sort_dynamic_relocs): Likewise for + bfd_elf32_swap_reloc_in. + + * elf32-arm.h: Update elf32_arm_info_to_howto calls. + * elf32-mips.c: Likewise for mips_info_to_howto_rel. + (mips_elf64_swap_reloc_in): Zero r_addend. + (mips_elf64_be_swap_reloc_in): Likewise. + (mips_elf64_slurp_one_reloc_table): Simplify. + + * elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries. + * elf64-hppa.c (hppa64_elf_size_info): Likewise. + * elf64-sparc.c (sparc64_elf_size_info): Likewise. + +2002-11-28 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (sh_elf_relocate_section): Don't complain about + unresolved debugging relocs in dynamic applications. + * elf64-sh64.c (sh_elf64_relocate_section): Likewise. + +2002-11-26 Alan Modra <amodra@bigpond.net.au> + + * elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs. + (_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs + on a relocatable link. Comment typos. + * elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure + in the order they are declared. Clear elf_hash_value too. + (_bfd_elf_link_hash_table_init): Likewise assign in order. Clear + eh_info and tls_segment. + * elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets + sorted when discarding relocs by turning them into R_*_NONE. + + * libbfd.c (warn_deprecated): Comment spelling. + * po/SRC-POTFILES.in: Regenerate. + +2002-11-21 Richard Henderson <rth@redhat.com> + + * elflink.h (elf_link_add_object_symbols): Don't overwrite the + arch's st_other bits when merging visibilities. + (elf_link_output_extsym): Tidy clearing of visibility field. + +2002-11-21 Alan Modra <amodra@bigpond.net.au> + + * coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define. + (SWAP_OUT_RELOC_OFFSET): Define. + +2002-11-20 Alexandre Oliva <aoliva@redhat.com> + + * elf.c (_bfd_elf_link_hash_table_init): Make sure + can_refcount is properly extended to the type of + init_refcount. + +2002-11-19 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (MIPS_RELOC_RELA_P): New macro. + (_bfd_mips_elf_relocate_section): Use it. + + * elfxx-mips.c (MNAME): New macro. + (_bfd_mips_elf_check_relocs): Use it. + (_bfd_mips_elf_discard_info): Likewise. + (_bfd_mips_elf_final_link): Likewise. + +2002-11-19 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust + rel_hdr.sh_size too. + +2002-11-18 Klee Dienes <kdienes@apple.com> + + * Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo. + (BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c. + (BFD_H_FILES): Add bfdwin.c, bfdio.c. + (LIBBFD_H_FILES): Add bfdwin.c, bfdio.c. + Add dependencies for bfdwin.c, bfdio.c. + * bfd.c: Remove bfd_get_mtime, bfd_get_size. + * libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal, + bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite, + bfd_tell, bfd_flush, bfd_stat, bfd_seek. + * bfdio.c: New file. Contains real_read, bfd_bread, bfd_write, + bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime, + bfd_get_size (moved from libbfd.c and bfd.c). + * bfdwin.c New file. Contains _bfd_window_internal, + bfd_init_window, bfd_free_window, bfd_get_file_window (moved from + libbfd.c and bfd.c). + * po/SRC-POTFILES.in: Regenerate. + * po/bfd.pot: Regenerate. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + * aclocal.m4: Regenerate. + * Makefile.in: Regenerate. + * configure: Regenerate. + +2002-11-18 Klee Dienes <kdienes@apple.com> + + * bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY. + +2002-11-15 Kazu Hirata <kazu@cs.umass.edu> + + * coff-h8300.c (h8300_reloc16_estimate): Do not optimize away + jsr after a short jump. + * elf32-h8300.c (elf32_h8_relax_section): Likewise. + +2002-11-15 Klee Dienes <kdienes@apple.com> + + * pef.c (bfd_pef_convert_architecture): Move declaration of + ARCH_POWERPC and ARCH_M68K to the start of the function. + +2002-11-14 Svein E. Seldal <Svein.Seldal@solidas.com> + + * coff-tic4x.c (tic4x_howto_table): Formatting fixup + +2002-11-14 Hans-Peter Nilsson <hp@bitrange.com> + + * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): + For bpo_gregs_section->contents, allocate _raw_size, not + _cooked_size. + +2002-11-13 Klee Dienes <kdienes@apple.com> + + * config.bfd: Add entries for powerpc-*-darwin and cousins. + +2002-11-13 H.J. Lu <hjl@gnu.org> + + * elfcode.h (elf_object_p): Don't restore abfd->arch_info. + +2002-11-13 Klee Dienes <kdienes@apple.com> + Alan Modra <amodra@bigpond.net.au> + + * bfd.c (struct bfd_preserve): New. + (bfd_preserve_save): New function. + (bfd_preserve_restore): Ditto. + (bfd_preserve_finish): Ditto. + * bfd-in2.h: Regenerate. + * mach-o.c: Formatting. + (bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned. + (bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish. + (bfd_mach_o_core_p): Ditto. + (bfd_mach_o_scan): Pass in mdata. + * mach-o.h (bfd_mach_o_scan): Update prototype. + * pef.c: Formatting. + (bfd_pef_object_p): Use bfd_preserve_save/restore/finish. + (bfd_pef_xlib_object_p): Ditto. + (bfd_pef_scan): Pass in mdata. Move version check to bfd_pef_object_p. + * pef.h (bfd_pef_scan): Update prototype. + * xsym.c: Formatting, K&R fixes. + (bfd_sym_object_p): Use bfd_preserve_save/restore/finish. + (bfd_sym_scan): New function split out from bfd_sym_object_p. + * xsym.h (bfd_sym_scan): Declare. + * elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish. + * elfcore.h (elf_core_file_p): Likewise. + * targets.c (_bfd_target_vector): Revert 2002-11-08 change. + +2002-11-12 Nick Clifton <nickc@redhat.com> + + * po/da.po: Updated Danish translation. + +2002-11-12 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_link_add_object_symbols): Optimize stabs for + relocatable link too. + (elf_link_input_bfd): When emitting relocs, adjust offsets for + eh_frame and stab sections. Zap deleted relocs. + (elf_reloc_symbol_deleted_p): Return true for zero r_symndx. + (elf_bfd_discard_info): Run for relocatable link too. + * elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd. Make global. + Handle ld -r case. + (ppc64_elf_size_dynamic_sections): Don't call edit_opd from here. + * elf64-ppc.h (ppc64_elf_edit_opd): Declare. + + * elf-bfd.h (struct cie_header): Move from elf_eh-frame.c. + (struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise. + (struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise. + (enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR. + (struct eh_frame_hdr_info): Add "hdr_sec", remove "split". + (struct elf_link_hash_table): Add eh_info. + (struct elf_obj_tdata): Change eh_frame_hdr to an asection *. + (_bfd_elf_discard_section_eh_frame): Update prototype. + (_bfd_elf_discard_section_eh_frame_hdr): Likewise. + (_bfd_elf_write_section_eh_frame): Likewise. + (_bfd_elf_write_section_eh_frame_hdr): Likewise. + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec" + param. Get "hdr_info" from link hash table. + (_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param. Get + header section from link hash table. Save header section to elf_tdata. + (_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec". Use + header section from link hash table. Don't alloc hdr_info. Clear + hdr_sec instead of setting "strip". + (_bfd_elf_eh_frame_section_offset): Formatting. + (_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param. + Get header section from link hash table. + (_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param. + Get header section from link hash table. + * elf.c (map_sections_to_segments): Use cached eh_frame_hdr. + (get_program_header_size): Likewise. + (_bfd_elf_section_offset): Formatting. + * elflink.h (elf_link_create_dynamic_sections): Stash eh frame header + section pointer in link hash table. + (elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr + and _bfd_elf_write_section_eh_frame calls. Update comment about + eh_frame entries. + (elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and + _bfd_elf_discard_section_eh_frame_hdr calls. Remove "ehdr". + + * po/SRC-POTFILES.in: Regenerate. + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero + relocs for discarded FDEs. Remove dead code. + (_bfd_elf_write_section_eh_frame_hdr): Remove dead code. + * elflink.h (elf_bfd_discard_info): Don't save edited relocs. + Tidy conditions under which stabs are edited. Formatting. + * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows + from discarded relocs. + * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output + section adjustments after testing magic values. + +2002-11-12 Thomas Moestl <tmm@FreeBSD.org> + + * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct + references to large plt symbols. + +2002-11-12 Klee Dienes <kdienes@apple.com> + + * mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when + looking for an unused section name. + +2002-11-11 Kazu Hirata <kazu@cs.umass.edu> + + * coff-h8300.c: Fix formatting. + * elf32-h8300.c: Likewise. + * reloc16.c: Likewise. + +2002-11-09 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com> + + * elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output + section when dynamic section unused; _bfd_strip_section_from_output + instead. + +2002-11-08 Alan Modra <amodra@bigpond.net.au> + + * targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec + and sym_vec. + + * dwarf2.c: Revert last change. + +2002-11-07 Michal Ludvig <mludvig@suse.cz> + + * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info, + _bfd_dwarf2_find_nearest_line): Use + bfd_simple_get_relocated_section_contents() instead of + bfd_get_section_contents(). + * reloc.c (bfd_perform_relocation): Add sanity check. + * simple.c (simple_get_relocated_section_contents): If the section + does not have any relocs associated with it, just return the + unadjusted contents. + +2002-11-07 Hans-Peter Nilsson <hp@axis.com> + + * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT, + case R_CRIS_32_GOT>: Correct test for filling in constant .got + contents, enabling for a non-DSO, for symbols defined in the + program with --export-dynamic. + +2002-11-07 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c: Comment typo fixes. + (ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input. + +2002-11-07 Nick Clifton <nickc@redhat.com> + + * po/da.po: Updated Danish translation. + +2002-11-06 Alexandre Oliva <aoliva@redhat.com> + + * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate + exactly three internal relocs per external reloc. Set reloc_count + to the external reloc count. + +2002-11-06 Klee Dienes <kdienes@apple.com> + + * coff-stgo32.c (stub_bytes): Mark as const. + Fix comment formatting. + +2002-11-06 Klee Dienes <kdienes@apple.com> + + * Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and + xsym.lo. + (BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c. + (SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h + * archures.c (enum bfd_architecture): Add bfd_arch_m98k. + * bfd.c (struct bfd): Add private data for mach-o, pef, and sym. + * targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and + sym. + (_bfd_target_vector): Add target vectors for mach-o, pef, and sym. + * Makefile.in: Regenerate. + * doc/Makefile.in: Regenerate. + * bfd-in2.h: Regenerate. + * xsym.c: New file. Contains support for the Apple/Metrowerks + xSYM debugging format. + * xsym.h: New file. + * pef.c: New file. Contains support for the Apple Code Fragment + Manager Preferred Executable Format + * pef.h: New file. + * pef-traceback.h: New file. Contains support for parsing PowerPC + traceback tables as used by PEF executables (and perhaps other + systems as well). + * mach-o.c: New file. Contains support for the Mach-O object file + format. + * mach-o.h: New file. + * mach-o-target.c: New file. Declares the mach-o targets + themselves. Included three times by mach-o.c; each time with a + different set of macros set. + +2002-11-06 Graeme Peterson <gp@qnx.com> + + * Makefile.am: Remove entries for elf32-qnx.[ch]. + * Makefile.in: Regenerate. + * config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec, + ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use + bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec. + * configure.in: Remove support for bfd_elf32_sh{l}qnx_vec, + bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec, + and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets. + bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec. + * configure: Regenerate. + * elf32-qnx.c: Remove. + * elf32-qnx.h: Remove. + * elf.c: Remove calls to QNX specific set_nonloadable_filepos, + is_contained_by_filepos, and copy_private_bfd_data_p. + * elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos, + is_contained_by_filepos, and copy_private_bfd_data_p. + * elf32-i386.c: Remove QNX extended bfd support. + * elf32-ppc.c: Remove QNX extended bfd support. + * elf32-sh.c: Remove QNX extended bfd support. + * elfarm-nabi.c: Remove QNX extended bfd support. + * targets.c: Remove qnx vectors. + * elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove + (elf_backend_is_contained_by_filepos): Remove. + (elf_backend_copy_private_bfd_data_p): Remove. + * po/SRC-POTFILES.in: Regenerate. + +2002-11-06 David O'Brien <obrien@FreeBSD.org> + Alan Modra <amodra@bigpond.net.au> + + * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of + dynamic relocs against section symbols for the output section vma. + +2002-11-05 Alan Modra <amodra@bigpond.net.au> + + * elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn, + t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove. + +2002-11-05 Kaz Kojima <kkojima@rr.iij4u.or.jp> + Alan Modra <amodra@bigpond.net.au> + + * config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64 + vectors in target_selvecs. + (shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors + in target_selvecs. + (sh-*-netbsdelf*): Likewise. + * configure.in (assocvecs): New variable. Handle assocvecs like + selvecs. + * configure: Regenerate. + * format.c (bfd_check_format_matches): Store bfd_target pointers + in matching_vector instead of target names. Select first target + from bfd_associated_vector that matches a list of ambiguous targets. + * targets.c (_bfd_associated_vector): New array. + (bfd_associated_vector): New variable. + (_bfd_target_vector): Add bfd_elf*_sh64*lin_vec. + * libbfd-in.h (bfd_associated_vector): Declare. + * libbfd.h: Regenerate. + +2002-11-05 Elias Athanasopoulos <eathan@otenet.gr> + + * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is + non-NULL before dereferencing. + +2002-11-04 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * vms.c (vms_object_p): Restore the start address when returning + NULL. + +2002-11-04 Alan Modra <amodra@bigpond.net.au> + Hans-Peter Nilsson <hp@axis.com> + + * elflink.h (struct elf_final_link_info): Add shndxbuf_size. + (elf_bfd_final_link): Don't bother zeroing symtab_hdr fields. + Set up a larger symshndxbuf, and write it out. Free it on + exit rather than freeing symbuf twice. Correct section index + on output section symbol loop. + (elf_link_output_sym): Accumulate symbol extension section + indices, reallocating symshndxbuf rather than writing it out. + (elf_link_flush_output_syms): Don't flush symshndxbuf. + * elf.c (assign_section_numbers): Init i_shdrp to all zero. + Use bfd_zalloc to clear i_shdrp[0] too. + +2002-11-03 Stephen Clarke <stephen.clarke@earthling.net> + + * elf32-sh64-com.c (sh64_address_in_cranges): Use + _raw_size of cranges section if _cooked_size not yet set. + +2002-11-03 Hans-Peter Nilsson <hp@axis.com> + + * elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters + for bfd_elf32_swap_symbol_out. + +2002-10-31 David O'Brien <obrien@FreeBSD.org> + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix + signed and unsigned in comparison. + +2002-10-30 Daniel Jacobowitz <drow@mvista.com> + + * coffcode.h: Remove extraneous '\'. + +2002-10-28 H.J. Lu <hjl@gnu.org> + + * Makefile.am (targets.lo): Depend on Makefile instead of + config.status. + (archures.lo): Likewise. + * Makefile.in: Regenerated. + +2002-10-25 Jason Thorpe <thorpej@wasabisystems.com> + + * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add + bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to + targ_selvecs. + +2002-10-25 Jim Wilson <wilson@redhat.com> + + * elf64-sh64.c (sh_elf64_relocate_section): Call + _bfd_elf_rela_local_sym. Handle relocs against STT_SECTION symbol + of SHF_MERGE section. + +2002-10-25 Hans-Peter Nilsson <hp@axis.com> + + * simple.c: Correct placement of ATTRIBUTE_UNUSED. + +2002-10-24 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to + unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to + unsigned int. + (NAME(aout,final_link)): Cast enum used in assignment. + (aout_link_write_symbols): Cast enums in comparisons, int values to + boolean, enums in assignments to int. + (aout_link_input_section_std): Cast rel->r_index to unsigned int. + (aout_link_input_section_ext): Likewise. Cast enums used in + comparisons with unsigned ints. + (aout_link_reloc_link_order): Cast enum to int in assignment. + * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr + calls to char *. + * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in + assignment. + * bfd-in2.h (bfd_set_section_vma): Likewise. + * bfd.c (bfd_record_phdr): Cast enums in assignments. + * binary.c (bfd_alloc): Cast enum to long. + * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean. + * dwarf2.c (read_abbrevs): Add casts to enum types. + (read_attribute_value): Likewise. + (arange_add): Cast result of bfd_zalloc call. + (comp_unit_contains_address): Return true and false. + (comp_unit_find_nearest_line): Cast return to boolean. + * format.c (bfd_check_format_matches, bfd_set_format): Likewise. + * gen-aout.c: define macro '_' if not defined. + * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR. + (bfd_bwrite): Cast bfd_realloc to bfd_byte *. + (bfd_write_bigendian_4byte_int): Cast return to boolean. + (bfd_seek): Cast bfd_realloc to bfd_byte *. + (bfd_generic_is_local_label_name): Cast return to boolean. + * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'. + * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to + struct bfd_hash_entry *. + (_bfd_generic_link_hash_newfunc): likewise. + (_bfd_generic_final_link): Cast enum to unsigned int. + * merge.c (sec_merge_emit): Cast return to boolean. + (merge_strings): Add casts to const unsigned char *. + * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int. + (bfd_generic_get_relocated_section_content): Cast enum to unsigned int. + * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result + to struct bfd_hash_entry *. + (bfd_set_section_content): Add cast to PTR in comparison. + * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol, + simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous, + simple_dummy_unattached_reloc, + bfd_simple_get_relocated_section_contents): Add K&R declarations and + function definitions. + * srec.c (S3Forced): Initialize to false. + (srec_get_symtab): Cast return value from bfd_alloc to asymbol *. + * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons. + (_bfd_discard_section_stabs): Likewise. Also cast return to boolean. + * syms.c (bfd_is_undefined_symclass): Cast return to boolean. + (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in + comparisons. + +2002-10-23 Jakub Jelinek <jakub@redhat.com> + + * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic + relocs into shared lib non-allocated reloc sections. + +2002-10-23 Nathan Tallent <eraxxon@alumni.rice.edu> + + * dwarf2.c (add_line_info): Ensure that the line_info_table is + sorted even when given an out-of-order line sequence. + (lookup_address_in_line_info_table): When an exact VMA match is + not found, return line information with the closest VMA. + +2002-10-23 Ross Alexander <ross.alexander@uk.neceur.com> + + * elf64-hppa.c: Force DT_FLAGS to always be set. Required by + HPUX 11.00 patch PHSS_26559. + +2002-10-22 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move + the options section into a separate section unless IRIX 6 + compatibility is enabled. + +2002-10-22 Alexandre Oliva <aoliva@redhat.com> + + * elflink.h (struct elf_link_sort_rela): Turn rel and rela + into arrays. + (elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust. + (elf_link_sort_relocs): Likewise. Take int_rels_per_ext_rel + into account. + * elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose + R_MIPS_REL32 with R_MIPS64 if ABI_64_P. + +2002-10-21 Graeme Peterson <gp@qnx.com> + + * targets.c (_bfd_target_vector): Add missing qnx vectors. + +2002-10-21 Alan Modra <amodra@bigpond.net.au> + + * targets.c (bfd_target_list): Don't return the default target twice. + +2002-10-21 Elias Athanasopoulos <eathan@otenet.gr> + + * archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace + perror with bfd_perror. + +2002-10-19 H.J. Lu <hjl@gnu.org> + + * elflink.h (elf_link_add_object_symbols): Correctly handle + DT_RPATH and DT_RUNPATH. + +2002-10-19 Mark Kettenis <kettenis@gnu.org> + + * elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes. + +2002-10-17 Denis Chertykov <denisc@overta.ru> + + * elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code + for ip2k port. + +2002-10-17 Alan Modra <amodra@bigpond.net.au> + + * elfxx-target.h (USE_REL): Don't define as 1. + * elf32-arm.h (USE_REL): Provide a default define of 0. + Use #if rather than #ifdef when testing USE_REL. + * elf32-m32r.c: Likewise. + + * elf32-arc.c (USE_REL): Define as 1. + * elf32-d10v.c (USE_REL): Likewise. + * elf32-m32r.c (USE_REL): Likewise. + * elf32-m68hc11.c (USE_REL): Likewise. + * elf32-m68hc12.c (USE_REL): Likewise. + * elf32-or32.c (USE_REL): Likewise. + * elfarm-nabi.c (USE_REL): Likewise. + +2002-10-16 Jakub Jelinek <jakub@redhat.com> + + * config.bfd (s390-*-linux*): Add targ64_selvecs. + (s390x-*-linux*): Add targ_selvecs. + +2002-10-16 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo, + elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo, + elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo, + elf32-sh64-nbsd.lo, elf32-shqnx.lo. Add elf32-qnx.lo. + (BFD32_BACKENDS_CFILES): Likewise for corresponding C files. + (BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo. + (BFD64_BACKENDS_CFILES): Likewise for corresponding C files. + (SOURCE_HFILES): Add elf32-qnx.h. + (BUILD_HFILES): Add bfdver.h. + Run "make dep-am". + * Makefile.in: Regenerate. + * configure.in Update bfd vector dependencies. + * configure: Regenerate. + * elf32-i386-fbsd.c: Delete. Move code to elf32-i386.c. + * elf32-i386qnx.c: Likewise. + * elf32-ppcqnx.c: Delete. Move code to elf32-ppc.c. + * elf32-sh-nbsd.c: Delete. Move code to elf32-sh.c. + * elf32-sh-lin.c: Likewise. + * elf32-shqnx.c: Likewise. + * elf32-sh64-lin.c: Delete. Move code to elf32-sh64.c. + * elf32-sh64-nbsd.c: Likewise. + * elf64-sh64-lin.c: Delete. Move code to elf64-sh64.c. + * elf64-sh64-nbsd.c: Likewise. + * elfarmqnx-nabi.c: Delete. Move code to elfarm-nabi.c. + * elf32-arm.h (ELF_MAXPAGESIZE): Always define. + * elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests. + * elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests. + * elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define. + (elf_backend_is_contained_by_filepos): Likewise. + (elf_backend_copy_private_bfd_data_p): Likewise. + Globalize and move functions to.. + * elf32-qnx.c: ..here. New file. + * elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests. Don't + emit target vectors when INCLUDE_SHMEDIA. + * elf32-sh64.c: Remove ELF_ARCH test. Move TARGET_* etc. defines to + end of file. + * elf64-sh64.c: Remove ELF_ARCH test. + * elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test. + * po/BLD-POTFILES.in: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2002-10-16 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects + loaded with --just-symbols. + + * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define. + * elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define. + * elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define. + * elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define. + +2002-10-15 Richard Henderson <rth@redhat.com> + + * Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd. + (BFD64_BACKENDS_CFILES): Likewise. + * configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha. + * elf64-alpha-fbsd.c: Remove file, move code ... + * elf64-alpha.c: ... here. + * Makefile.in, configure: Rebuild. + +2002-10-14 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment + VALUE, not ADDEND. + +2002-10-14 Stephen Clarke <stephen.clarke@superh.com> + + * elf32-sh.c (elf_sh_link_hash_entry): Replace + datalabel_got_offset with union of datalabel_got + offset and refcount. + (sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount. + (allocate_dynrelocs): Delete unnecessary code for + STT_DATALABEL type. Create entry in got for + datalabel version of symbol if datalabel_got.refcount > 0. + (sh_elf_relocate_section): Use datalabel_got union. + (sh_elf_gc_sweep_hook): Pull common code to initialize + h and eh out of switch statement. Declare seen_stt_datalabel. + Initialize it. Decrement datalabel_got.refcount for + got relocs when seen_stt_datalabel is true. + Decrement local_got_refcounts entry for datalabel got relocs + of local symbols. + (sh_elf_copy_indirect_symbol): Copy datalabel_got field over. + (sh_elf_check_relocs): Declare seen_stt_datalabel. + Initialize it. When seen_stt_datalabel is true, increment + datalabel_got refcount rather than got.refcount. + (sh_elf_finish_dynamic_symbol): Create relocs to + initialize got entry for datalabel version of symbol. + +2002-10-14 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + (BFD_H_FILES): Remove version.h. + * bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move.. + * version.h: ..to here. + * configure.in (bfd_version_date): Remove. + (AC_OUTPUT): Make bfdver.h from version.h. + * bfd.c: #include "bfdver.h". + * vms-hdr.c: Likewise. + * Makefile.in: Regenerate. + * bfd-in2.h: Regenerate. + * configure: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2002-10-14 Alan Modra <amodra@bigpond.net.au> + + * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086, + bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64, + bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64, + bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850, + bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8, + bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple, + bfd_mach_ia64_elf64, bfd_mach_ia64_elf32, + bfd_mach_ip2022, bfd_mach_ip2022ext, + bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber. + * bfd-in2.h: Regenerate. + +2002-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative + endian vector to targ_selvecs. + +2002-10-13 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (mips_elf_calculate_relocation): Take + save_addend argument. Don't apply the 32-bit mask to a + GPREL32 value if it's to be used in another relocation. Don't + use forced-check computation of local_p to decide whether to + add gp0 to GPREL16 value. Don't use only the lowest 16 bits + of the addend of a non-in-place GPREL16 relocation. + (_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to + mips_elf_calculate_relocation(). + +2002-10-12 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs + with symbols in other sections if we relaxed something; the sections + output offsets must be re-computed before. + +2002-10-12 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols + handling to use Elf_Internal_Sym. + (m68hc11_elf_relax_delete_bytes): Likewise. + +2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject, + sh_elf_object_p, dtpoff_base): New functions. + (sh_elf_howto_table): Add TLS relocs. + (sh_reloc_map): Likewise. + (sh_elf_info_to_howto): Support TLS relocs. + (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32. + (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type): + New macros. + (sh_elf_obj_tdata): New. + (elf_sh_link_hash_table): Add tls_ldm_got. + (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got. + (allocate_dynrelocs): Support TLS relocs. + (sh_elf_size_dynamic_sections): Likewise. + (sh_elf_relocate_section): Support TLS relocs. Don't try to find + .rela.got section when found already. Return false after printing + error about unresolvable relocation. + (sh_elf_gc_sweep_hook): Support TLS relocs. + (sh_elf_check_relocs): Likewise. + (sh_elf_finish_dynamic_symbol): Likewise. + (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case. + * reloc.c: Add SH TLS relocs. + * bfd-in2.h, libbfd.h: Regenerate. + +2002-10-11 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in: Regenerated. + +2002-10-11 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.am: Run dep-am. + (BFD_H_DEP): Add simple.c and linker.c. + (BFD32_LIBS): Add simple.lo. + (BFD32_LIBS_CFILES): Add simple.c. + * Makefile.in: Regenerated. + * bfd-in2.h: Regenerated. + * simple.c: New file. + +2002-10-11 Alan Modra <amodra@bigpond.net.au> + + * coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers. + (record_thumb_to_arm_glue): Likewise. + * ecoff.c (ecoff_link_add_externals): Likewise. + * elf32-arm.h (record_arm_to_thumb_glue): Likewise. + (record_thumb_to_arm_glue): Likewise. + * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise. + * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise. + * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise. + * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise. + * elf64-ppc.c (func_desc_adjust): Likewise. + * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise. + (sh64_elf64_create_dynamic_sections): Likewise. + * elflink.c (_bfd_elf_create_got_section): Likewise. + (_bfd_elf_create_dynamic_sections): Likewise. + (_bfd_elf_create_linker_section): Likewise. + * elflink.h (elf_add_default_symbol): Likewise. + (elf_link_create_dynamic_sections): Likewise. + (NAME(bfd_elf,size_dynamic_sections)): Likewise. + * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise. + * elfxx-mips.c (mips_elf_create_got_section): Likewise. + (_bfd_mips_elf_add_symbol_hook): Likewise. + (_bfd_mips_elf_create_dynamic_sections): Likewise. + * linker.c (generic_link_add_symbol_list): Likewise. + * xcofflink.c (xcoff_link_add_symbols): Likewise. + + * elfxx-ia64.c (oor_brl, oor_ip): Conditionally define. + + * elf64-ppc.c (edit_opd): Only zero opd syms when function is + completely removed. Correct local sym adjustment. + +2002-10-10 Stephen Clarke <stephen.clarke@superh.com> + + * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le): + Correct mistake in calculation of address of .got. + * elf64-sh64.c (elf_sh64_pic_plt_entry_be, + elf_sh64_pic_plt_entry_le): Likewise. + +2002-10-09 Richard Shann <richard.shann@superh.com> + Stephen Clarke <stephen.clarke@superh.com> + + * Makefile.am: Add entries for elf32-sh64-lin.c and + elf64-sh64-lin.c. Regenerate. + * Makefile.in: Regenerate. + * config.bfd: Change sh64eb-*-linux* and sh64-*-linux* + to use sh64 vectors rather than sh vectors. + * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec, + bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec. + * configure: Regenerate. + * elf32-sh64-lin.c: New file. + * elf64-sh64-lin.c: New file. + * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec, + bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec. + +2002-10-08 H.J. Lu <hjl@gnu.org> + + * elf32-i386.c (elf_i386_relocate_section): Re-arrange the + IE->LE transition for R_386_TLS_IE. + +2002-10-08 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (edit_opd): Correct test for discarded sections. + +2002-10-07 Mark Elbrecht <snowball3@softhome.net> + + * cofflink.c (mark_relocs): Don't mark relocations in excluded + sections. + +2002-10-07 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent + code. + + * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx. + +2002-10-06 Alan Modra <amodra@bigpond.net.au> + + * opncls.c: Formatting. + (_bfd_new_bfd): Use a smaller section hash table. + +2002-10-05 Alexandre Oliva <aoliva@redhat.com> + + * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type + of the other two relocations packed with a REL32 to NONE. + +2002-10-02 Stephen Clarke <stephen.clarke@superh.com> + + * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount. + (sh_elf_link_hash_newfunc): Initialize it. + (allocate_dynrelocs): Transfer gotplt refs from plt.refcount + to got.refcount for symbols that are forced local or when + we have direct got refs. + (sh_elf_gc_sweep_hook): Adjust gotplt_refcount. Use it + to correctly adjust got.refcount and plt.refcount. + (sh_elf_copy_indirect_symbol): Copy gotplt_refcount across. + (sh_elf_check_relocs): Increment gotplt_refcount. + +2002-10-01 Jakub Jelinek <jakub@redhat.com> + + * elf32-i386.c (elf_i386_relocate_section): Fix + movl foo@indntpoff, %eax IE->LE transition. + +2002-10-01 Jakub Jelinek <jakub@redhat.com> + + * elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD + sequence and its transitions. + +2002-10-01 Jakub Jelinek <jakub@redhat.com> + + * elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32 + to st_value + addend in non-code sections. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve + R_X86_64_DTPOFF32 to st_value + addend in non-code sections. + +2002-09-30 Gavin Romig-Koch <gavin@redhat.com> + Ken Raeburn <raeburn@cygnus.com> + Aldy Hernandez <aldyh@redhat.com> + Eric Christopher <echristo@redhat.com> + Richard Sandiford <rsandifo@redhat.com> + + * archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New. + (bfd_mach_mips5500): New. + * cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New. + (arch_info_struct): Add corresponding entries here. + * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120, + E_MIPS_MACH_5400 and E_MIPS_MACH_5500. + (_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120, + bfd_mach_mips5400 and bfd_mach_mips5500. + (_bfd_mips_elf_mach_extends_p): New function. + (_bfd_mips_elf_merge_private_bfd_data): Use it to help merge + the EF_MIPS_MACH flags. + * bfd-in2.h: Regenerate. + +2002-09-28 Jason Thorpe <thorpej@wasabisystems.com> + + * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip + .got sections. + +2002-09-28 Alan Modra <amodra@bigpond.net.au> + + * elf.c (map_sections_to_segments): Correct test for start of + writable section in the same page as end of read-only section. + +2002-09-27 Matt Thomas <matt@3am-software.com> + + * elf32-vax.c (elf_vax_check_relocs): Remove unused + local_got_refcounts usage. Remove allocation of got slot. + (elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage. + Remove de-allocation of got slot. + (elf_vax_size_dynamic_section): Fix some indentation. Add hash + traversal for elf_vax_instantiate_got_entries. Allow empty .got + sections to be GC'ed. + (elf_vax_instantiate_got_entries): New function. + (elf_vax_relocate_section): Simplify R_VAX_GOT32 handling. Remove + tests that are now handled by elf_vax_instantiate_got_entries. + Assert GOT entry falls within .got section size. Remove redundant + comparisions. Fix comments. + +2002-09-27 Jakub Jelinek <jakub@redhat.com> + + * reloc.c: Add x86-64 TLS relocs. + * bfd-in2.h, libbfd.h: Rebuilt. + * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit + relocs. Add TLS relocs. + (x86_64_reloc_map): Add TLS relocs. + (elf64_x86_64_info_to_howto): Adjust for added TLS relocs. + (struct elf64_x86_64_link_hash_entry): Add tls_type field. + (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define. + (elf64_x86_64_hash_entry): Define. + (struct elf64_x86_64_obj_tdata): New. + (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define. + (struct elf64_x86_64_link_hash_table): Add tls_ld_got. + (link_hash_newfunc): Initialize tls_type. + (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got. + (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary. + (elf64_x86_64_mkobject): New. + (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata. + (elf64_x86_64_tls_transition): New. + (elf64_x86_64_check_relocs): Add r_type variable and use it. + Handle TLS relocs. + (elf64_x86_64_gc_sweep_hook): Handle TLS relocs. + (allocate_dynrelocs): Allocate GOT space for TLS relocs. + (elf64_x86_64_size_dynamic_sections): Likewise. + (dtpoff_base, tpoff): New. + (elf64_x86_64_relocate_section): Handle TLS relocs. + (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT + entries. + (bfd_elf64_mkobject): Define. + + * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set + DF_STATIC_TLS if shared. + +2002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded + empty relocation sections. + +2002-09-26 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here. + (ppc64_elf_build_stubs): Build them here instead. + +2002-09-24 Jakub Jelinek <jakub@redhat.com> + + * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE + addend into r_addend, not *r_offset. + (elf32_sparc_finish_dynamic_symbol): Likewise. + * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at + R_SPARC_RELATIVE's r_offset. + +2002-09-23 Nathan Tallent <eraxxon@alumni.rice.edu> + + * dwarf2.c (decode_line_info): Update to correctly decode + the (non-standard DWARF2) out-of-order address sequences + generated by the Intel C++ 6.0 compiler for ia64-Linux. + +2002-09-23 Mark Elbrecht <snowball3@softhome.net> + + * config.bfd: For DJGPP targets, match with any cpu and any machine. + +2002-09-23 Alan Modra <amodra@bigpond.net.au> + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs + for discarded FDEs. Remove redundant assignment. + * elflink.h (elf_bfd_discard_info): Save edited relocs. + +2002-09-22 H.J. Lu <hjl@gnu.org> + + * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge + the relocation count between different .reloc sections. + +2002-09-21 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and + ".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for + R_PPC_EMB_SDA2REL. Similarly for R_PPC_EMB_SDA21 and + R_PPC_EMB_RELSDA. + + * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount" + unsigned. Move "symcount" assignment out of loop. + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * configure: Regenerate. + * po/SRC-POTFILES.in: Regnerate. + +2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu> + + * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is + zero, set it to 8 for (non-standard) 64-bit DWARF2 formats + (e.g. IRIX64). + +2002-09-19 Jakub Jelinek <jakub@redhat.com> + + * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word + even if generating R_PPC_RELATIVE reloc. + (ppc_elf_relocate_section): Make sure relocation is performed + if skip == -2. Clear memory at r_offset when creating dynamic + relocation. + +2002-09-19 Jakub Jelinek <jakub@redhat.com> + + * reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE, + BFD_RELOC_386_TLS_GOTIE): Add. + * bfd-in2.h, libbfd.h: Rebuilt. + * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE + and R_386_TLS_GOTIE. + (elf_i386_reloc_type_lookup): Handle it. + (struct elf_i386_link_hash_entry): Change tls_type type to unsigned + char instead of enum, change GOT_* into defines. + (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define. + (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE. + (elf_i386_check_relocs): Likewise. Avoid crash if local symbol is + accessed both as normal and TLS symbol. Move R_386_TLS_LDM and + R_386_PLT32 cases so that R_386_TLS_IE can fall through. + Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs. + (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE. + Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs. + (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if + tls_type is GOT_TLS_IE_BOTH. + (elf_i386_size_dynamic_sections): Likewise. + (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE. + Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs. + (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch + all 4 GOT_TLS_* TLS types. + +2002-09-19 Nick Clifton <nickc@redhat.com> + + * elflink.h (elf_fix_symbol_flags): When examining weak symbols, + follow indirect links. + +2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu> + + * ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to + correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1) + on 64 bit machines. + (ecoff_swap_sym_in) <iss>: Likewise. + * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading + ECOFF information: 'ioptMax' refers to the actual *size* + of the optimization symtab, not the number of entries. + +2002-09-19 Daniel Jacobowitz <drow@mvista.com> + + * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update + ELF_LINK_HASH_NEEDS_PLT logic. + +2002-09-18 Daniel Jacobowitz <drow@mvista.com> + + * elfcode.h (elf_slurp_reloc_table_from_section): Check + correct relocation count. + +2002-09-17 Daniel Jacobowitz <drow@mvista.com> + + * bfd-in.h (bfd_get_dynamic_symcount): Define. + * bfd.c (struct _bfd): Add dynsymcount. + * bfd-in2.h: Regenerated. + * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set + abfd->dynsymcount. + * elfcode.h (elf_slurp_reloc_table_from_section): Check + for overflow. + +2002-09-17 Stan Cox <scox@redhat.com> + + * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3. + (mips_elf64_final_gp): Don't make up gp value. + * elfn32-mips.c (mips_elf_final_gp): Likewise. + * elfxx-mips.c (_bfd_mips_elf_final_link): Always create + .MIPS.options/.options section. + +2002-09-17 David O'Brien <obrien@FreeBSD.org> + + * elf32-i386-fbsd.c: Always label using the EI_OSABI method. + It is benign for FreeBSD < 4.1. Minor reformatting. + * elf64-alpha-fbsd.c: Likewise. + +2002-09-17 Jakub Jelinek <jakub@redhat.com> + + * elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate + addend. + +2002-09-17 Alan Modra <amodra@bigpond.net.au> + + * elf64-alpha.c (alpha_elf_size_info): Make static. + +2002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com> + + * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED. + * cpu-tic4x.c: Ditto. + +2002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove + duplicate define. + +2002-09-16 Bruno Haible <bruno@clisp.org> + + * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included + by a target variant implementation. + * elf64-alpha.c: Likewise. + * elf32-i386-fbsd.c: New file. + * elf64-alpha-fbsd.c: New file. + * targets.c: Support bfd_elf32_i386_freebsd_vec and + bfd_elf64_alpha_freebsd_vec. + * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec, + bfd_elf64_alpha_freebsd_vec. + * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo. + (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c. + (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo. + (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c. + (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies. + * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD + specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate. + +2002-09-12 Jakub Jelinek <jakub@redhat.com> + + * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is + NULL. + (elf_i386_relocate_section): Return false after printing error about + unresolvable relocation. + +2002-09-12 Nick Clifton <nickc@redhat.com> + + * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of + R_ARM_THM_PC11. + +2002-09-11 Jeffrey Law <law@redhat.com> + + * elf32-h8300.c (elf32_h8_relax_section): Fix typo. + +2002-09-11 Andrew Haley <aph@cambridge.redhat.com> + + * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and + line_ptr before deciding we've found a symbol. + +2002-09-11 Nick Clifton <nickc@redhat.com> + + * po/da.po: New Danish translation file. + * configure.in (LINGUAS): Add 'da'. + * configure: Regenerate. + +2002-09-10 Michael Snyder <msnyder@redhat.com> + + * irix-core.c (do_sections, do_sections64): New functions. + (irix_core_core_file_p): Call new functions do_sections, + do_sections64, depending on corefile (32-bit or 64-bit). + +2002-09-09 Richard Henderson <rth@redhat.com> + + * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M + and PCREL21F like PCREL21B. + +2002-09-04 Kevin Buettner <kevinb@redhat.com> + + * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default + vector. + +2002-09-02 Nick Clifton <nickc@redhat.com> + + * elf32-v850.c (v850_elf_final_link_relocate): Use helpful + names instead of cryptically overloaded bfd_reloc error + codes. + (v850_elf_relocate_section): Likewise. + (v850_elf_relax_section): Replace caching of external symbols + with caching of internal symbols obtained from calling + bfd_elf_get_elf_syms(). + Fixup problems with freeing cached allocated memory blocks. + +2002-09-02 Alan Modra <amodra@bigpond.net.au> + + * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove. + (bfd_pj_arch): Use bfd_default_scan. + * cpu-v850.c (scan): Remove. + (N): Use bfd_default_scan. + * cpu-z8k.c (scan_mach): Remove. + (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is + first. Use bfd_default_scan. + + * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded + bfd_mach constants. + (ecoff_get_magic): Likewise. + * elf32-v850.c (v850_elf_object_p): Likewise. + (v850_elf_final_write_processing): Likewise. + * mipsbsd.c (MY(set_arch_mach)): Likewise. + (MY(write_object_contents)): Likewise. + * coff64-rs6000.c (xcoff64_write_object_contents): Likewise. + * coffcode.h (coff_write_object_contents): Likewise. + (coff_set_arch_mach_hook): Add comment describing machine == 0. + Remove unnecessary "machine" assignments. + (coff_write_relocs): Test for the absolute section sym by testing + section and flags. + + * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386 + and bfd_mach_i386_i386_intel_syntax. + * pdp11.c (NAME(aout,machine_type)): Likewise. + +2002-08-30 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * bfd-in.h (align_power): Cast constants to bfd_vma type. + * bfd-in2.h (align_power): Likewise. + +2002-08-30 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + + * cpu-avr.c (compatible): Don't use hard-coded mach constants. + * cpu-powerpc.c (powerpc_compatible): Likewise. + * cpu-rs6000.c (rs6000_compatible): Likewise. + +2002-08-28 Catherine Moore <clm@redhat.com> + + * elf32-v850.c (v850_elf_reloc_map): Add new relocs. + (v850-elf-reloc): Don't resolve pc relative relocs. + (v850_elf_ignore_reloc): New routine. + (v850_elf_final_link_relocate): Handle new relocs. + (v850_elf_relax_delete_bytes ): New routine. + (v850_elf_relax_section): New routine. + (bfd_elf32_bfd_relax_section): Define. + (HOWTO): New entries for new relocs. + * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc. + (BFD_RELOC_V850_LONGJUMP): New reloc. + (BFD_RELOC_V850_ALIGN): New reloc. + * archures.c: Remove redundant v850ea architecture. + * cpu-v850.c: Remove redundant v850ea support. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerated. + +2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com> + + * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target. + * configure.in: Add tic4x_coff vector files. + * configure: Regenerate. + * Makefile.am: Add tic4x target. + * Makefile.in: Regenerate. + +2002-08-27 Michael Hayes <m.hayes@elec.canterbury.ac.nz> + + * archures.c: Add the BFD arch type tic4x. + * bfd-in.h: Add BFD_IN_MEMORY flag. + * coff-tic4x.c: New file. + * coffswap.h (coff_swap_sym_out): Add preadjuster. + * cpu-tic4x.c: New file. + * targets.c: Added tic4x- in list of xvecs. + * ticoff.h: New file. + * bfd-in2.h: Regenerate. + +2002-08-27 Adam Nemet <anemet@lnxw.com> + + * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last + bit of DT_INIT and DT_FINI for Thumb functions. + +2002-08-26 Alan Modra <amodra@bigpond.net.au> + + * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC. + +2002-08-26 Alan Modra <amodra@bigpond.net.au> + + * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8. + +2002-08-24 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (sh_elf_copy_indirect_symbol): New. + (create_got_section, allocate_dynrelocs, readonly_dynrelocs): + Likewise. + (struct elf_sh_pcrel_relocs_copied): Removed. + (struct elf_sh_dyn_relocs): New. + (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied + field with dyn_relocs. + (struct elf_sh_link_hash_table): Add short-cuts to get dynamic + sections and sym_sec. + (sh_elf_link_hash_newfunc): Clear dyn_relocs. + (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec. + (sh_elf_create_dynamic_sections): Use create_got_section instead + of _bfd_elf_create_got_section. + (sh_elf_check_relocs): Likewise. + (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic + sections. + (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections, + sh_elf_relocate_section, sh_elf_check_relocs, + sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections): + Likewise. + (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the + dynamic relocations and avoiding the copy relocation when we + didn't find any dynamic relocations in the section which has + contents or is read-only. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New. + (sh_elf_size_dynamic_sections): Don't reset the size of + .rela.got section even if dynamic_sections_created flag is off. + Don't use sh_elf_discard_copies. Scan all input bfd and use + allocate_dynrelocs. Call readonly_dynrelocs to determine + whether we need DT_TEXTREL. + (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine + whether the symbol was never referred to. + (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL. + (sh_elf_gc_sweep_hook): Fill with the real sweep function. + (sh_elf_check_relocs): Call create_got_section if the short-cut + to .got is null. Increment reference counters only instead of + allocating space on dynamic sections here. Don't conditionalize + uninitialized got.offset value when marking the symbol as a + global offset table entry. Keep relocations for symbols satisfied + by a dynamic library to avoid copy relocations for the symbol. + Set dynobj field of an elf hash table if needed. + (sh_elf_finish_dynamic_sections): Handle null section pointer + correctly. + (elf_backend_copy_indirect_symbol): Defined. + (elf_backend_can_refcount): Defined. + +2002-08-23 Nick Clifton <nickc@redhat.com> + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo + previous change. Add comment explaining why. + +2002-08-23 Stephen Clarke <stephen.clarke@superh.com> + + * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy + contents of .got.plt[2] to tr0, not address of .got.plt. + (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when + patching absolute plt entry. For shmedia plt entry, set bottom bit + of branch to plt0 as this is a branch to an shmedia instruction. + * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le): + Copy contents of .got.plt[2] to tr0, not address of .got.plt. + (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to + branch to plt0. + (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when + patching absolute plt entry. For shmedia plt entry, branch to + plt0 is now ptrel, so use relative offset. Set bottom bit of + branch target as it is a branch to an shmedia instruction. + +2002-08-23 Stephen Clarke <stephen.clarke@superh.com>, + Richard Shann <richard.shann@superh.com> + + * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT + value if .init is an SHmedia function. Similarly for DT_FINI. + * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise. + +2002-08-23 Stephen Clarke <stephen.clarke@superh.com> + + * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize + dynamic section. + * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise. + +2002-08-22 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple + byte read when reading the return address register column. + +2002-08-22 Nick Clifton <nickc@redhat.com> + + * config.bfd: Add powepc64-*-*bsd* target. + +2002-08-22 Graeme Peterson <gp@qnx.com> + + * Makefile.am: Add entries for elf32-shqnx.c + * Makefile.in: Regenerate. + * config.bfd: Add support sh-*-nto* target. + * configure.in: Add support for bfd_elf32_sh{l}qnx_vec. + * configure: Regenerate. + * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" . + * elf32-sh.c: Do not include elf32-target.h if + ELF32_SH_C_INCLUDED is defined. + * elf32-shqnx.c: New file: Support for QNX. + * targets.c: Add bfd_elf32_sh{l}qnx_vec. + +2002-08-22 Nick Clifton <nickc@redhat.com> + + * po/tr.po: Updated Turkish translation. + + * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the + symbols are not read. + +2002-08-22 Alan Modra <amodra@bigpond.net.au> + + * elf32-m68hc11.c: Formatting fixes. + (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test. + * elf32-m68hc12.c: Formatting fixes. + (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test. + +2002-08-22 Alan Modra <amodra@bigpond.net.au> + + * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and + SEC_DATA. + (pmac_xcoff_vec): Likewise. + * coff64-rs6000.c (rs6000coff64_vec): Likewise. + (aix5coff64_vec): Likewise. + +2002-08-22 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data + param to elf_backend_copy_indirect_symbol. + (_bfd_elf_link_hash_copy_indirect): Likewise. + * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust + calls to copy_indirect_symbol. + * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise. + * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise. + * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise. + * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. + * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise. + * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise. + * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise. + * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise. + * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise. + * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly + test refcounts for "used" values. + +2002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to + argument declaration. + +2002-08-19 Elena Zannoni <ezannoni@redhat.com> + + * archures.c (bfd_mach_ppc_e500): Added. + * bfd-in2.h: Rebuilt. + * cpu-powerpc.c (bfd_powerpc_archs): Added e500. + +2002-08-19 Alan Modra <amodra@bigpond.net.au> + + * elf32-m68hc12.c (elf_backend_can_gc_sections): False. + +2002-08-17 Andrew Cagney <ac131313@redhat.com> + + * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to + `bfd_byte'. + +2002-08-17 Stan Cox <scox@redhat.com> + + * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the + IRIX 6 segment layout for NEWABI. + +2002-08-16 Stephen Clarke <stephen.clarke@superh.com> + + * elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect + symbols when looking for section referred to by a relocation. + * elf64-sh.c (sh_elf64_gc_mark_hook): Likewise. + +2002-08-15 Alan Modra <amodra@bigpond.net.au> + + * elf32-i370.c: Move reloc enum to include/elf/i370.h. + +2002-08-15 Hans-Peter Nilsson <hp@axis.com> + + * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add + missing check for whether the symbol is referenced by DSO before + unexporting it as an unneeded dynamic symbol. + +2002-08-14 H.J. Lu <hjl@gnu.org> + + * libbfd.h: Regenerate. + +2002-08-14 H.J. Lu <hjl@gnu.org> + + * config.bfd: Always add 64bit vectors to 32bit Linux/mips. + +2002-08-14 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of + instructions. + (m68hc11_direct_relax): New to define table of relaxable instructions. + (find_relaxable_insn): New, find a relaxable insn. + (compare_reloc): New to compare two relocs. + (m68hc11_elf_relax_section): New, relax text sections. + (m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs. + (elf32_m68hc11_check_relocs): New function for GC support. + (elf32_m68hc11_relocate_section): New function for GC support. + (bfd_elf32_bfd_relax_section): Define to support linker relaxation. + (elf_backend_check_relocs): Likewise. + (elf_backend_relocate_section): Likewise. + +2002-08-13 H.J. Lu <hjl@gnu.org> + + * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count + definitions in shared objects when checking symbol with + undefined version. + +2002-08-13 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC. + (elf32_m68hc11_gc_sweep_hook): Likewise. + (elf_backend_gc_mark_hook): Define for GC section support. + (elf_backend_gc_sweep_hook): Likewise. + (elf_backend_can_gc_sections): Likewise. + + * elf32-m68hc12.c: Likewise. + +2002-08-13 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New. + (_bfd_m68hc11_elf_merge_private_bfd_data): New function. + (_bfd_m68hc11_elf_set_private_flags): New function. + Use them to set/check/print ELF flags specific to 68HC11. + + * elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New. + (_bfd_m68hc12_elf_merge_private_bfd_data): New function. + (_bfd_m68hc12_elf_set_private_flags): New function. + Use them to set/check/print ELF flags specific to 68HC12. + +2002-08-13 Stephane Carrez <stcarrez@nerim.fr> + + * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs; + fix masks for PC-rel relocs. + (m68hc11_elf_ignore_reloc): New function. + + * elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific + 68HC12 banked addressing relocs. + (m68hc12_phys_addr): New to compute physical address of banked memory. + (m68hc12_phys_page): Likewise for page. + (m68hc12_addr_is_banked): New to see if address is in banked area. + (elf_m68hc12_howto_table): Add new relocs and rename to xx12. + +2002-08-13 Stephane Carrez <stcarrez@nerim.fr> + + * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP, + BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE, + BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12. + * bfd-in2.h: Regenerate. + +2002-08-12 H.J. Lu <hjl@gnu.org> + + * elflink.h (elf_add_default_symbol): Preserve section across + elf_merge_symbol. + +2002-08-09 Graeme Peterson <gp@qnx.com> + + * Makefile.am: Add entries for elf32-ppcqnx.c, and add + elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c. + * Makefile.in: Regenerate. + * config.bfd: Add support for powerpc{le}-*-nto targets. + * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec. + * configure: Regenerate. + * elf32-i386qnx.c: Moved backend functions into a QNX specific + common file "elf32-qnx.h", and now include that file. + * elf32-qnx.h: New file: QNX specific common elf backend. + * elf32-ppc.c: Do not include elf32-target.h if + ELF32_PPC_C_INCLUDED is defined. + * elf32-ppcqnx.c: New file: Support for QNX. + * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend. + * targets.c: Add bfd_elf32_powerpc{le}qnx_vec. + +2002-08-09 Nick Clifton <nickc@redhat.com> + + * po/sv.po: Updated Swedish translation. + +2002-08-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if + g->global_gotsym is NULL. + +2002-08-08 H.J. Lu <hjl@gnu.org> + + * elflink.h (elf_add_default_symbol): Don't warn if a definition + overrides an indirect versioned symbol. + +2002-08-08 Jakub Jelinek <jakub@redhat.com> + + * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend + for R_386_TLS_TPOFF32 relocs against symndx 0. + +2002-08-07 H.J. Lu <hjl@gnu.org> + + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol + with undefined version if needed. + (elf_link_assign_sym_version): Match a default symbol with a + version without definition. No need to hide the default + definition separately. + +2002-08-08 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_link_output_extsym): Don't output symbols from + SEC_EXCLUDE sections. + + * aoutx.h (aout_link_write_symbols): Correct handling of warning syms. + +2002-08-07 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd + entries. + +2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness + mismatch. + +2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c (ABI_64_P): Remove superfluous check. + +2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elf32-mips.c (mips_reloc_map): Fix typo. + +2002-08-06 Alan Modra <amodra@bigpond.net.au> + + * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section. + +2002-08-06 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries. + +2002-08-06 Alan Modra <amodra@bigpond.net.au> + + * libxcoff.h: Use PARAMS on function declarations. + * coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc. + * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise. + + * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in + addend. + * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise. + +2002-08-06 Alan Modra <amodra@bigpond.net.au> + + * coff-rs6000.c: Formatting fixes. + (xcoff_calculate_relocation): Use PARAMS in declaration. + (xcoff_complain_overflow): Likewise. + (xcoff_ppc_relocate_section): Use old-style function pointer call. + (bfd_xcoff_backend_data): Remove useless comments. + (rs6000coff_vec): Likewise. + (bfd_pmac_xcoff_backend_data): Likewise. + (pmac_xcoff_vec): Likewise. + + * coff64-rs6000.c: Formatting fixes. + (xcoff64_calculate_relocation): Use PARAMS in declaration. + (xcoff64_ppc_relocate_section): Use old-style function pointer call. + (bfd_xcoff_backend_data): Remove useless comments. + (rs6000coff64_vec): Likewise. + (bfd_xcoff_aix5_backend_data): Likewise. + (aix5coff64_vec): Likewise. + +2002-08-06 Alan Modra <amodra@bigpond.net.au> + + * coff-rs6000.c (xcoff_howto_table): Revert some of last change to + mask entries. Use complain_overflow_dont for R_REF. + (xcoff_reloc_type_ba): Revert last change. + (xcoff_reloc_type_br): Likewise. + (xcoff_reloc_type_crel): Likewise. + (xcoff_ppc_relocate_section): Likewise. + * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise. + (xcoff64_ppc_relocate_section): Likewise. + (xcoff64_howto_table): Revert some of last change to mask entries. + Use complain_overflow_dont for R_REF. + + * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all + relocs with bitsize == 16 have size = 1. + (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment. + (xcoff_reloc_type_br): Likewise. + (xcoff_reloc_type_crel): Likewise. + (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly. + * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and + dst_mask adjustment. + (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly. + (xcoff64_howto_table): Fix src_mask entries. Make all relocs with + bitsize == 16 have size = 1. + +2002-08-01 Denis Chertykov <denisc@overta.ru> + + * elf32-ip2k.c: Processor manufacturer changed to Ubicom. + (struct misc): New field isymbuf. All free_* fields removed. + (symbol_value): Pass in internal syms. No need to swap syms in. + (ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free + possibly cached info. + (tidyup_after_error): Removed. + (ip2k_elf_relax_section_pass1): Don't use removed fields of struct + misc. Use new field. + (adjust_all_relocations): Use internal syms. No need to swap syms + in and out. + (add_page_insn): Don't use removed fields of struct misc. + +2002-08-01 Nick Clifton <nickc@redhat.com> + + * elf32-arm.h: Revert previous delta. + +2002-08-01 Nick Clifton <nickc@redhat.com> + + * configure.in (AM_INIT_AUTOMAKE): Bump version number. + * configure: Regenerate. + +2002-07-31 H.J. Lu <hjl@gnu.org> + + * config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is + selected. + +2002-07-31 H.J. Lu <hjl@gnu.org> + + * config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD + is selected. + +2002-07-31 Jakub Jelinek <jakub@redhat.com> + + * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type + if _bfd_elf_link_hash_copy_indirect will swap got.refcount. + +2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au> + + * cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate): + There is no 8 byte relocation type for this architecture. + (do_ns32k_reloc): Use bfd_vma instead of native types. + (bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data + returns void. + (_bfd_ns32k_put_displacement): Don't check for overflow. We can + rely on generic code to do that. + * aout-ns32k.c (howto_table): Add appropriate overflow detection + to all table entries. + (_bfd_ns32k_relocate_contents): put_data returns void. + * ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate) + (_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions + return void. + +2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au> + + * aoutx.h (aout_link_check_ar_symbols): Whether to include an + archive object is target dependant. + +2002-07-31 Adam Nemet <anemet@lnxw.com> + + * elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE. + (THUMB_PLT_ENTRY_SIZE): New macro. + (PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE. + (elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to + ARM_PLT_ENTRY_SIZE. + (elf32_arm_plt_entry): Likewise. + (elf_backend_plt_header_size): Likewise. + (elf32_thumb_plt0_entry): New global. + (elf32_arm_finish_dynamic_sections): Use it. Put Thumb entries + into .plt.thumb. + (elf32_thumb_plt_entry): New global. + (elf32_arm_finish_dynamic_symbol): Use it. Use .thumb.plt for + Thumb entries. Set the bottom bit of the corresponding GOT entry + for a Thumb PLT entry. + (struct elf32_arm_plt_entry_info): New structure. + (struct elf32_arm_link_hash_entry, plt_info): New member of this + type. + (elf32_arm_link_hash_newfunc): Initialize new member. + (elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle + relocations against the PLT. + (elf32_arm_check_relocs, case R_ARM_PLT32 case): Set + first_rel_type if this is the first time we encounter the symbol. + (elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case. + Determine if relocation needs a PLT entry. Set first_rel_type if + this is the first time we encounter the symbol + (elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb + functions as well. + (elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt. + (elf32_arm_create_dynamic_sections): New function. Create the + .plt.thumb section. + (elf_backend_create_dynamic_sections): Call it. + +2002-07-31 Nick Clifton <nickc@redhat.com> + + * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to + 'alternative' in order to avoid shadowing global symbol of the + same name. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * libcoff.h: Regenerate. + +2002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * Makefile.am: Add n32 ABI support. + * Makefile.in: Regenerate. + * config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64 + bit vectors for mips*-*-linux targets as optional. + * configure.in: Add n32 ABI vectors. + * configure: Regenerate. + * elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files. + * elfn32-mips.c: New file, n32 ABI support. + * targets.c: Add n32 ABI vectors. + +2002-07-30 Graeme Peterson <gp@qnx.com> + + * elfarmqnx-nabi.c: New file: Support for QNX. + * config.bfd: Add support for arm-*-nto target. + * configure.in: Add support for bfd_elf32_{big|little}armqnx_vec. + * configure: Regenerate. + * Makefile.am: Add entries for elfarmqnx-nabi.c. + * Makefile.in: Regenerate. + * elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined. + Do not define global function if ELFARM_NABI_C_INCLUDED is defined. + * elfarm-nabi.c: Do not include elf32-arm.h if + ELFARM_NABI_C_INCLUDED is defined. + * targets.c: Add bfd_elf32_{big|little}armqnx_vec. + +2002-07-30 Nick Clifton <nickc@redhat.com> + + * po/sv.po: Updated Swedish translation. + +2002-07-30 Jakub Jelinek <jakub@redhat.com> + + * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type. + +2002-07-30 Alan Modra <amodra@bigpond.net.au> + + * aoutx.h (some_aout_object_p): Clean up tdata properly on error. + * archive.c (bfd_generic_archive_p): Likewise. + * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise. + (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol. + * coff64-rs6000.c (xcoff64_slurp_armap): Likewise. + (xcoff64_archive_p): Likewise. + (xcoff64_openr_next_archived_file): Likewise. + (xcoff64_archive_p): Clean up tdata properly on error. + * coffgen.c (coff_real_object_p): Likewise. + (coff_object_p): Release filehdr and opthdr. + * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error. + * ieee.c (ieee_archive_p): Likewise. + * ihex.c (ihex_object_p): Likewise. + (ihex_mkobject): Always allocate tdata. + * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error. + * srec.c (srec_mkobject): Always allocate tdata. + (srec_object_p): Clean up tdata properly on error. + (symbolsrec_object_p): Likewise. + * versados.c (versados_object_p): Likewise. + * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc, + and bfd_realloc instead of realloc. + (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections. + * vms.c (vms_initialize): Always allocate tdata. Use bfd_alloc in + place of bfd_malloc, simplifying error freeing. Free hash table too. + (vms_object_p): Clean up tdata on error. + (vms_mkobject): Don't complain on stderr if vms_initialize fails. + (vms_close_and_cleanup): Adjust for bfd_alloc use. + +2002-07-30 Alan Modra <amodra@bigpond.net.au> + + * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags. + +2002-07-26 Chris Demetriou <cgd@broadcom.com> + + * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE + flags into resulting BFD. + +2002-07-26 Alan Modra <amodra@bigpond.net.au> + + From John Reiser <jreiser@BitWagon.com> + * elf32-i386.c (elf_i386_link_hash_table_create): Clear + tls_ldm_got.refcount. + +2002-07-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elf64-mips.c: Update TODO comment. + (mips_elf64_higher_reloc,mips_elf64_highest_reloc, + mips_elf64_gprel16_reloca): Remove prototypes. + (mips16_jump_reloc,mips16_gprel_reloc): Add functions. + (UNUSED_RELOC): Replace by EMPTY_RELOC. + (mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove + wrong comments. Remove disfunctional support of R_MIPS_HIGHER and + R_MIPS_HIGHEST. + (mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and + R_MIPS_GOT16. Remove wrong comments. + (elf_mips16_jump_howto,elf_mips16_gprel_howto, + elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code + from elf32-mips.c. + (mips_elf64_hi16_reloc): Fix formatting. + (mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove. + (mips_elf64_got16_reloc): Fix formatting. Remove superfluous code. + Better comment. Fall back to R_MIPS_GOT_DISP instead of abort(). + (mips_elf64_gprel16_reloc): Make static. Add check for + partial_inplace. + (mips_elf64_gprel16_reloca): Remove. + (mips_elf64_literal_reloc): New function. + (mips_elf64_gprel32_reloc): Fix formatting. + (mips_elf64_shift6_reloc): Fix comment. Make static. + (mips16_jump_reloc,mips16_gprel_reloc): New functions, code from + elf32-mips.c. + (elf_reloc_map,mips_reloc_map): New mapping table, similiar as in + elf32-mips.c + (bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU + specific relocations. + (mips_elf64_rtype_to_howto): Enable GNU specific relocations. + (mips_elf64_object_p): Invert logic to check for SGI-ish ABI. + (ELF_MAXPAGESIZE): Add comment. + +2002-07-25 Nick Clifton <nickc@redhat.com> + + * po/sv.po: Updated Swedish translation. + * po/es.po: Updated Spanish translation. + * po/fr.po: Updated French translation. + +2002-07-25 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define + as elf_link_record_local_dynamic_symbol. + (_bfd_elf64_link_record_local_dynamic_symbol): Likewise. + (elf_link_record_local_dynamic_symbol): Declare. Now returns int. + * elflink.h (elf_link_record_local_dynamic_symbol): Move to.. + * elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an + attempt is made to record a symbol in a discarded section, and + return `2' in that case. + +2002-07-24 Nick Clifton <nickc@redhat.com> + + * po/sv.po: Updated Swedish translation. + * po/es.po: Updated Spanish translation. + +2002-07-23 Alan Modra <amodra@bigpond.net.au> + + * po/SRC-POTFILES.in: Regenerate. + + * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return + immediately. Remove code handling relocatable linking. + * elf32-avr.c (elf32_avr_relocate_section): Likewise. + * elf32-cris.c (cris_elf_relocate_section): Likewise. + * elf32-fr30.c (elf32_frv_relocate_section): Likewise. + * elf32-frv.c (elf32_frv_relocate_section): Likewise. + * elf32-h8300.c (elf32_h8_relocate_section): Likewise. + * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. + * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf32-v850.c (v850_elf_relocate_section): Likewise. + * elf32-vax.c (elf_vax_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + * elf32-avr.c (elf_backend_rela_normal): Define. + * elf32-cris.c: Likewise. + * elf32-fr30.c: Likewise. + * elf32-frv.c: Likewise. + * elf32-h8300.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-ip2k.c: Likewise. + * elf32-sparc.c: Likewise. + * elf32-v850.c: Likewise. + * elf32-vax.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-sparc.c: Likewise. + * elf32-fr30.c (elf32_frv_relocate_section): Edit comment. + * elf32-frv.c (elf32_frv_relocate_section): Likewise. + * elf32-i860.c (elf32_i860_relocate_section): Likewise. + * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise. + * elf32-m32r.c (m32r_elf_relocate_section): Likewise. + * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise. + * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. + * elf-m10200.c (USE_RELA): Don't define. + * elf-m10300.c: Likewise. + * elfarm-oabi.c: Likewise. + * elf32-i370.c: Likewise. + * elf32-ip2k.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-mcore.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-s390.c: Likewise. + * elf32-vax.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-s390.c: Likewise. + * elf64-x86-64.c: Likewise. + * elfxx-ia64.c: Likewise. + * elf32-avr.c (USE_REL): Don't undef. + * elf32-ip2k.c: Likewise. + +2002-07-23 Nick Clifton <nickc@redhat.com> + + * elf-bfd.h (struct elf_backend_data): Add new bitfield + 'want_p_paddr_set_to_zero'. + * elfxx-target.h: Set default value for want_p_paddr_set_to_zero + to false; + * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target. + * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero. + +2002-07-23 Gabor Keresztfalvi <keresztg@mail.com> + + * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of + the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to + show the Copyright string. + Minor formatting tidy ups. + +2002-07-23 Nick Clifton <nickc@redhat.com> + + * po/fr.po: Updated French translation. + * po/sv.po: Updated Swedish translation. + +2002-07-23 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_link_input_bfd): Don't change internal symbols + when outputting relocs. + +2002-07-20 Jason Thorpe <thorpej@wasabisystems.com> + + * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert + DT_PLTGOT into the dynamic section if there is a PLT. + +2002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from + elf32-mips.c. + (_bfd_mips_elf_write_section): Likewise. + * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype. + (_bfd_mips_elf_write_section): Likewise. + * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c. + (elf32_mips_write_section): Likewise. + * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it. + (_bfd_mips_elf_write_section): Likewise. + +2002-07-19 Alan Modra <amodra@bigpond.net.au> + + * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan + PT_IA_64_UNWIND segments for a given section. + +2002-07-17 H.J. Lu <hjl@gnu.org> + + * Makefile.am: Fix a typo. + * Makefile.in: Regenerate. + +2002-07-15 Denis Chertykov <denisc@overta.ru> + Frank Ch. Eigler <fche@redhat.com> + Ben Elliston <bje@redhat.com> + Alan Lehotsky <alehotsky@cygnus.com> + John Healy <jhealy@redhat.com> + Graham Stott <grahams@redhat.com> + Jeff Johnston <jjohnstn@redhat.com> + + * Makefile.am: Add support for ip2k. + * Makefile.in: Regenerate. + * doc/Makefile.in: Regenerate. + * archures.c: Add support for ip2k. + * config.bfd: Add support for ip2k. + * configure.in: Add support for ip2k. + * configure: Regenerate. + * reloc.c: Add support for ip2k. + * targets.c: Add support for ip2k. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * cpu-ip2k.c: New file. + * elf32-ip2k.c: New file. + +2002-07-17 Ian Rickards <irickard@arm.com> + + * dwarf2.c (concat_filename): If we can't establish the directory + just return the filename. + +2002-07-16 Moritz Jodeit <moritz@jodeit.org> + + * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args. + +2002-07-16 Alan Modra <amodra@bigpond.net.au> + + * elflink.h: Formatting fixes, tidy prototypes. + (elf_link_assign_sym_version): Move common code out of loop. + +2002-07-16 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when + reloc section size is zero. Correct reloc output location. + +2002-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as + the final type for the e_fsel selector when generating PA2.0W code. + (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1 + relocations. + +2002-07-14 H.J. Lu <hjl@gnu.org> + + * elflink.h (elf_link_assign_sym_version): Hide the default + definition if there is a hidden versioned definition. + +2002-07-12 Hans-Peter Nilsson <hp@axis.com> + + * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical + dynamic reference test in assertion when initializing GOT with + static contents. Just assert that there are either no dynamic + sections, the symbol is defined in the regular objects or that the + symbol is undef weak. Tweak comment. + (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program + only if the symbol isn't defined in the program and isn't undef + weak. + (elf_cris_adjust_dynamic_symbol): Simplify condition for getting + rid of PLT entry: only do it if the symbol isn't defined in a DSO. + When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments. + (elf_cris_discard_excess_program_dynamics): Don't consider + ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs. + +2002-07-11 Alan Modra <amodra@bigpond.net.au> + + * elf32-i386.c (elf_i386_relocate_section): Don't complain about + unresolved debugging relocs in dynamic applications. + * elf32-s390.c (elf_s390_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. + * elf64-s390.c (elf_s390_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + +2002-07-10 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ONES): Define. + (ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in + missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill + in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32. + + * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete. + (ppc64_elf_set_private_flags): Delete. + (ppc64_elf_section_from_shdr): Delete. + (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code. + (ppc64_elf_fake_sections): Delete. + (bfd_elf64_bfd_set_private_flags): Don't define. + (bfd_elf64_get_symbol_info): Likewise. + (elf_backend_section_from_shdr): Likewise. + (elf_backend_fake_sections): Likewise. + +2002-07-10 Marco Walther <Marco.Walther@sun.com> + + * elf.c: (assign_section_numbers) Set sh_entsize for .stab only + when not already set. + * elf64-sparc.c: (sparc64_elf_fake_sections): New function. + (elf_backend_fake_sections): Define. + +2002-07-10 Alan Modra <amodra@bigpond.net.au> + + * merge.c (_bfd_merge_section): Remove redundant output_section check. + Formatting. + (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections. + +2002-07-09 Hans-Peter Nilsson <hp@axis.com> + + * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for + NULL sym_hashes to just before use. + <case R_CRIS_32_GOTREL>: In test for local symbol, accept also + symbol with non-default visibility. + <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto. + <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>: + Ditto. + (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for + symbol with non-default visibility. + (cris_elf_check_relocs): At tests for local symbol before + increasing h->plt.refcount, also check for non-default + visibility. Ditto when checking for local symbol to eliminate + pc-relative runtime relocs. + +2002-07-08 Alan Modra <amodra@bigpond.net.au> + + * elf.c: Formatting. + (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks. + (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP. + (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP + segments. + +2002-07-07 Mark Mitchell <mark@codesourcery.com> + Alan Modra <amodra@bigpond.net.au> + + * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into + account the impact of relocation count overflow when computing + section offsets. + * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether + or not to apply the PE COFF reloc overflow handling. Fix a + fencepost error in deciding whether or not to use that technique. + +2002-07-07 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx, + change type of locsyms. + (bfd_elf_get_elf_syms): Declare. + * elf.c (bfd_elf_get_elf_syms): New function. + (group_signature): Use bfd_elf_get_elf_syms. + (bfd_section_from_r_symndx): Likewise. + * elfcode.h (elf_slurp_symbol_table): Likewise. + * elflink.h (elf_link_is_defined_archive_symbol): Likewise. + (elf_link_add_object_symbols): Likewise. Reorganise to increase + locality of various data structures. Properly free internal relocs. + (elf_bfd_final_link): Properly free internal relocs. + (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms. + (elf_link_input_bfd): Likewise. + (elf_gc_mark): Likewise. Properly free internal relocs. + (elf_gc_sweep): Properly free internal relocs. + (elf_reloc_symbol_deleted_p): No need to swap syms in. + (elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free + internal relocs. + * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms. + Properly free possibly cached info. + (mn10200_elf_relax_delete_bytes): Remove symbol swapping code. + (mn10200_elf_symbol_address_p): Pass in internal syms. Remove + symbol swapping code. + (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms. + Properly free possibly cached info. + * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c. + (mn10300_elf_relax_delete_bytes): Likewise. + (mn10300_elf_symbol_address_p): Likewise. + (mn10300_elf_get_relocated_section_contents): Likewise. + * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c. + (elf32_h8_relax_delete_bytes): Likewise. + (elf32_h8_symbol_address_p): Likewise. + (elf32_h8_get_relocated_section_contents): Likewise. + * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c. + (m32r_elf_relax_delete_bytes): Likewise. + (m32r_elf_get_relocated_section_contents): Likewise. + * elf32-sh.c (sh_elf_reloc_loop): Free section contents using + elf_section_data to determine whether cached. + (sh_elf_relax_section): As above for elf-m10200.c. + (sh_elf_relax_delete_bytes): Likewise. + (sh_elf_get_relocated_section_contents): Likewise. + * elf32-xstormy16.c (xstormy16_elf_relax_section): As above. + * elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay + reading of local syms. + * elf64-mmix.c (mmix_elf_relax_section): Likewise. + * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above. + * elfxx-ia64.c (elfNN_ia64_relax_section): As above. + * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal + relocs. + * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly + free internal relocs and section contents. Don't read symbols. + * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms. + (elf32_hppa_size_stubs): Don't free local syms. + * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay + reading of local syms. Use bfd_elf_get_elf_syms. Properly free + possibly cached info. + * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise. + * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms. + * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and + all_local_syms. + (get_local_syms): Delete function. + (edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache + on exit. + (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit. + +2002-07-05 Jim Wilson <wilson@redhat.com> + + * syms.c (decode_section_type): New. + (bfd_decode_symclass): Call decode_section_type. + +2002-07-04 Jakub Jelinek <jakub@redhat.com> + + * merge.c (_bfd_merged_section_offset): Avoid accessing byte before + section content start. + Reported by Michael Schumacher <mike@hightec-rt.com>. + +2002-07-04 Alan Modra <amodra@bigpond.net.au> + + * section.c (_bfd_strip_section_from_output): Remove unnecessary + link order code. Don't actually remove the output section here; + Just set a flag for the linker to do so. + * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed + sections when setting up output section dynsyms. + +2002-07-04 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux + fudge. + * elf.c (bfd_section_from_shdr): Work around broken hpux shared + libs here instead. + +2002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * elf64-s390.c (create_got_section): Set .got section alignment to + 8 bytes. + (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes. + +2002-07-02 Alan Modra <amodra@bigpond.net.au> + + * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar. + +2002-07-01 Matt Thomas <matt@3am-software.com> + + * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_* + to EF_VAX_*. + +2002-07-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c (ABI_64_P): Fix comment. + (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the + new section names for N64 ABI. + (mips_elf_output_extsym): No special _gp_disp handling for NewABI. + (mips_elf_calculate_relocation): Code formatting. + (mips_elf_create_dynamic_relocation): Likewise. + (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too. + (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI. + (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64 + in any NewABI. + (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling + for NewABI. + (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI. + (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled + here, too. + +2002-07-01 Andreas Schwab <schwab@suse.de> + + * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert + R_X86_64_64 to R_X86_64_RELATIVE. + +2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * vaxbsd.c: New BFD backend for VAX BSD and Ultrix. + * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend. + Run "make dep-am". + * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of + host_aout_vec. + * configure.in (vaxbsd_vec): Add. + * targets.c (vaxbsd_vec): Add. + * Makefile.in: Rebuild. + * configure: Rebuild. + * po/SRC-POTFILES.in: Rebuild. + +2002-07-01 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_gc_mark): Pass in the section whose relocs we are + examining to gc_mark_hook, rather than the bfd. + (elf_gc_sections): Adjust. + * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise. + * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise. + * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise. + * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise. + * elf32-cris.c (cris_elf_gc_mark_hook): Likewise. + * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise. + * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise. + * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise. + * elf32-i386.c (elf_i386_gc_mark_hook): Likewise. + * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise. + * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise. + * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise. + * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise. + * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise. + * elf32-s390.c (elf_s390_gc_mark_hook): Likewise. + * elf32-sh.c (sh_elf_gc_mark_hook): Likewise. + * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise. + * elf32-v850.c (v850_elf_gc_mark_hook): Likewise. + * elf32-vax.c (elf_vax_gc_mark_hook): Likewise. + * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise. + * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise. + * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise. + * elf64-s390.c (elf_s390_gc_mark_hook): Likewise. + * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise. + * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise. + * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise. + * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise. + * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove + redundant local sym tests. + * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry. + (link_hash_newfunc): Init is_entry. + (ppc64_elf_copy_indirect_symbol): Copy is_entry. + (ppc64_elf_link_hash_table_create): Init all_local_syms. + (create_linkage_sections): Use bfd_make_section_anyway rather than + bfd_make_section. + (ppc64_elf_mark_entry_syms): New function. + (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set + up opd entry to function section map. + (ppc64_elf_gc_mark_hook): Special case opd section relocs, and + relocs that reference the opd section. + (edit_opd): New function. + (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd. + (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here. + (get_local_syms): Do so here. Exit if we already have local syms. + Remove bogus comment imported from elf32-hppa.c. Don't attempt to + read local syms on non-ELF input. + (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather + than duplicating it's function here. Adjust free of internal + relocs to suit. + (ppc64_elf_relocate_section): Adjust local syms in opd section. + * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare. + * elf32-hppa.c (elf32_hppa_size_stubs): Call + _bfd_elf32_link_read_relocs rather than duplicating it's function + here. Adjust free of internal relocs to suit. + +2002-07-01 Andreas Jaeger <aj@suse.de> + + * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations + are not allowed in shared libs code, enforce -fPIC. + +2002-06-29 Hans-Peter Nilsson <hp@bitrange.com> + + * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and + trailing zero-sequences when there's previous left-over data. + +2002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * elf64-hppa.c (elf64_hppa_reloc_type_class): New function. + (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec + and opd_rel_sec in order for starting rela section. Check _raw_size. + (elf_backend_reloc_type_class): Define. + +2002-06-27 Kevin Buettner <kevinb@redhat.com> + + * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit + DWARF2 formats. + +2002-06-27 Alan Modra <amodra@bigpond.net.au> + + * cpu-powerpc.c: Comment on ordering of arch_info. + * elf32-ppc.c (ppc_elf_object_p): New function. + (elf_backend_object_p): Define. + * elf64-ppc.c (ppc64_elf_object_p): New function. + (elf_backend_object_p): Define. + +2002-06-26 Jason Thorpe <thorpej@wasabisystems.com> + + * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo. + * configure: Regenerate. + +2002-06-25 Jason Eckhardt <jle@rice.edu> + + * dwarf2.c (decode_line_info): Check unit->addr_size + to read in the proper number of prologue bytes. + +2002-06-25 Nick Clifton <nickc@cambridge.redhat.com> + + * config.bfd (powerpc-*-aix5*): Only create a selvecs for + aix5coff64_vec if 64-bit bfd support has been enabled. + (powerpc64-*-aix5*): Only define if 64-bit bfd support has + been enabled. + + * targets.c (_bfd_target_vector[]): Only include + aix5coff64_vec if 64-bit bfd support has been enabled. + +2002-06-25 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy. + * elf32-hppa.c (hppa_add_stub): Likewise. + * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise. + * elflink.h (elf_add_default_symbol): Fix comment typo. + (elf_add_default_symbol): Replace strcpy and strncpy with memcpy. + (elf_link_add_object_symbols): Likewise. + (elf_link_assign_sym_version): Likewise. + * hash.c (bfd_hash_lookup): Likewise. + * linker.c (_bfd_generic_link_add_one_symbol): Likewise. + * section.c (bfd_get_unique_section_name): Likewise. + * syms.c (_bfd_stab_section_find_nearest_line): Likewise. + * elf.c (_bfd_elf_make_section_from_phdr): Likewise. + (assign_section_numbers): Likewise. + (_bfd_elfcore_make_pseudosection): Likewise. + (elfcore_grok_lwpstatus): Likewise. + (elfcore_grok_win32pstatus): Likewise. + (elfcore_write_note): Constify input params. Use PTR instead of + void *. Include terminating NUL in namesz. Correct padding. + Support NULL "name" param. Use memcpy instead of strcpy. + (elfcore_write_prpsinfo): Constify input params. + (elfcore_write_prstatus): Likewise. Use PTR instead of void *. + (elfcore_write_lwpstatus): Likewise. + (elfcore_write_pstatus): Likewise. + (elfcore_write_prfpreg): Likewise. + (elfcore_write_prxfpreg): Likewise. + * elf-bfd.h (elfcore_write_note): Update declaration. + (elfcore_write_prpsinfo): Likewise. + (elfcore_write_prstatus): Likewise. + (elfcore_write_pstatus): Likewise. + (elfcore_write_prfpreg): Likewise. + (elfcore_write_prxfpreg): Likewise. + (elfcore_write_lwpstatus): Likewise. + +2002-06-25 Jason Eckhardt <jle@rice.edu> + + * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for + symbols of type stProc and stStaticProc. + +2002-06-25 Nick Clifton <nickc@redhat.com> + + * ecoff.c: VArious formatting fixes. + +2002-06-25 Alan Modra <amodra@bigpond.net.au> + + * coff-rs6000.c (xcoff_generate_rtinit): Fix typo. + +2002-06-25 Alan Modra <amodra@bigpond.net.au> + + * aout-adobe.c: Don't compare against "true" or "false. + * aout-target.h: Likewise. + * aoutx.h: Likewise. + * archive.c: Likewise. + * bout.c: Likewise. + * cache.c: Likewise. + * coff-a29k.c: Likewise. + * coff-alpha.c: Likewise. + * coff-i386.c: Likewise. + * coff-mips.c: Likewise. + * coff-or32.c: Likewise. + * coff64-rs6000.c: Likewise. + * coffcode.h: Likewise. + * coffgen.c: Likewise. + * cpu-ns32k.c: Likewise. + * ecoff.c: Likewise. + * ecofflink.c: Likewise. + * elf.c: Likewise. + * elf32-arm.h: Likewise. + * elf32-cris.c: Likewise. + * elf32-d30v.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-mcore.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-sh64.c: Likewise. + * elf32-v850.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-sh64.c: Likewise. + * elfcode.h: Likewise. + * elfcore.h: Likewise. + * elflink.h: Likewise. + * elfxx-mips.c: Likewise. + * i386os9k.c: Likewise. + * ieee.c: Likewise. + * libbfd.c: Likewise. + * linker.c: Likewise. + * mmo.c: Likewise. + * nlm32-alpha.c: Likewise. + * nlm32-i386.c: Likewise. + * nlm32-ppc.c: Likewise. + * nlm32-sparc.c: Likewise. + * nlmcode.h: Likewise. + * oasys.c: Likewise. + * pdp11.c: Likewise. + * peicode.h: Likewise. + * reloc.c: Likewise. + * som.c: Likewise. + * srec.c: Likewise. + * tekhex.c: Likewise. + * vms.c: Likewise. + * xcofflink.c: Likewise. + * elf64-sparc.c: Edit comment to not use "== false". + + * aoutf1.h: Don't use "? true : false". + * ecoff.c: Likewise. + * format.c: Likewise. + * ieee.c: Likewise. + * linker.c: Likewise. + * mmo.c: Likewise. + * oasys.c: Likewise. + +2002-06-23 H.J. Lu <hjl@gnu.org> + + * elflink.h (elf_link_add_archive_symbols): For the default + version, check references with only one `@' first. + +2002-06-23 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New + function. + (allocate_global_data_dlt): Don't add millicode symbols to dynamic + symbol table. + (allocate_global_data_opd, allocate_dynrel_entries): Likewise. + (elf64_hppa_size_dynamic_sections): Revise to use + elf64_hppa_mark_milli_and_exported_functions. + (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode + symbols out of dynamic symbol table. + +2002-06-23 Alan Modra <amodra@bigpond.net.au> + + * Makefile.in: Regenerate. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + * configure: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + + * elflink.h: Comment typo fixes. + +2002-06-23 H.J. Lu <hjl@gnu.org> + + * elf-bfd.h (elf_link_loaded_list): New structure. + (elf_link_hash_table): Add "loaded". + * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded". + * elflink.h (elf_link_check_versioned_symbol): New function. + (elf_link_output_extsym): Call elf_link_check_versioned_symbol. + +2002-06-19 Nick Clifton <nickc@cambridge.redhat.com> + + * elflink.h (size_dynamic_sections): If the target does not + support an ELF style hash table, return true, indicating that + nothing needed to be done, rather than false, indicating that the + section's size could not be computed. + +2002-06-18 Dave Brolley <brolley@redhat.com> + + From Catherine Moore, Michael Meissner, Dave Brolley: + * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c + * targets.c: Support bfd_elf32_frv_vec. + * reloc.c: Add FRV relocs. + * configure.in: Add support for bfd-elf32-frv-vec. + * config.bfd (targ_cpu): Add support for frv-*-elf. + * archures.c: Add frv arch and machines. + * Makefile.am (ALL_MACHINES): Add cpu-frv.lo. + (ALL_MACHINES_CFILES): Add cpu-frv.c. + (BFD32_BACKENDS): Add elf32-frv.lo. + (BFD32_BACKENDS_CFILES): Add elf32-frv.c + (cpu-frv.lo): New target. + (elf32-frv.lo): New target. + * cpu-frv.c: New file. + * elf32-frv.c: New file. + +2002-06-18 Jakub Jelinek <jakub@redhat.com> + + * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies + e_shnum == 0. + Only read the first section header if e_shoff is non-zero. + Don't consider e_shstrndx if there are no sections. + +2002-06-17 Tom Rix <trix@redhat.com> + + * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R, + R_D10V_10_PCREL_L and R_D10V_18_PCREL to use + complain_overflow_bitfield. + +2002-06-17 Alan Modra <amodra@bigpond.net.au> + + * opncls.c (bfd_openr): Remove redundant bfd_set_error. + (bfd_fdopenr): Likewise. + (bfd_openstreamr): Likewise. + (bfd_openw): Likewise. + + * targets.c: Sort target vecs. + (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec, + bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec, + bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec, + bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec. + * configure.in: Sort target vecs. Add m88kmach3_vec. + * configure: Regenerate. + +2002-06-16 Hans-Peter Nilsson <hp@bitrange.com> + + * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member + bpo_reloc_no to break sort order ties, not address of items. + +2002-06-16 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment. + Skip excluded sections in determing __gp value. + (elf_hppa_final_link_relocate): Use the symbol's address in + R_PARISC_FPTR64 relocations that don't need an opd entry. + * elf64-hppa.c (allocate_dynrel_entries): Simplify code. + (elf64_hppa_finalize_dynreloc): Likewise. + (elf64_hppa_size_dynamic_sections): Move comments and fix typo. + (elf64_hppa_finish_dynamic_symbol): Break up assert. + +2002-06-14 Sergey Grigoriev <serge@leopold.Physik.Uni-Augsburg.DE> + + * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte + alignment for .bss, .data and .text sections so that sse and sse2 + code will work. + * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise. + +2002-06013 J"orn Rennecke <joern.rennecke@superh.com> + + config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*, + sh[1234]*-elf*. + +2002-06-12 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * elflink.h (elf_bfd_final_link): Improve error handling for missing + dynamic sections. + + * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry + for a symbol that has no output section. + (allocate_dynrel_entries): Correct comment. + (elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry + unless we want one. + (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL. + (elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols + with no section. Remove unnecessary parentheses. + +2002-06-11 Tom Rix <trix@redhat.com> + + * coffcode.h (coff_compute_section_file_positions): Add data + section to AIX loader alignment check. + + * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section + alignment to 4 bytes. + (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment + power accessor macro. + (do_shared_object_padding): Remove invalid assertion. + +2002-06-10 Richard Sandiford <rsandifo@redhat.com> + + * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE + for removed output sections. + +2002-06-10 Geoffrey Keating <geoffk@redhat.com> + + * merge.c (merge_strings): Use htab_create_alloc with calloc, not + htab_alloc. + * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise. + +2002-06-08 H.J. Lu <hjl@gnu.org> + + * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to + work around a long long bug in gcc 2.96 on mips. + +2002-06-08 Jason Thorpe <thorpej@wasabisystems.com> + + * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo. + (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c. + Regenerate dependency lists. + * Makefile.in: Regenerate. + * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add + vax1knetbsd_vec to targ_selvecs. + * configure.in: Add vax1knetbsd_vec. + * configure: Regenerate. + * targets.c (_bfd_target_vector): Add vax1knetbsd_vec. + * vax1knetbsd.c: New file. + * vaxnetbsd.c: Update copyright years. + (TARGET_PAGE_SIZE): Set to 0x1000. + (DEFAULT_MID): Set to M_VAX4K_NETBSD. + +2002-06-08 Matt Thomas <matt@3am-software.com> + + * libaout.h (enum machine_type): Add M_VAX4K_NETBSD. + +2002-06-08 Alan Modra <amodra@bigpond.net.au> + + * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static. + +2002-06-08 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + + * armnetbsd.c: Replace CONST with const. + * corefile.c: Likewise. + * elf32-dlx.c: Likewise. + * elf64-mips.c: Likewise. + * mmo.c: Likewise. + * ns32knetbsd.c: Likewise. + + * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash + table is elf64-sparc. + +2002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code. + Fix RELA addends to get not shifted in the result. Don't do special + handling of R_MIPS_64 for NewABI. + +2002-06-07 Alan Modra <amodra@bigpond.net.au> + + * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc. + (NAME(aout,slurp_reloc_table)): Likewise. + * coff-mips.c (mips_relax_section): Use bfd_zalloc. + * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc. + (xcoff_write_archive_contents_big): Likewise. + (xcoff_generate_rtinit): Likewise. + (xcoff_generate_rtinit): Likewise, and check error return. + * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise. + * coffgen.c (coff_section_symbol): Use bfd_zalloc. + (coff_get_normalized_symtab): Likewise. + (coff_make_empty_symbol): Likewise. + (bfd_coff_set_symbol_class): Likewise. + * cofflink.c (coff_link_add_symbols): Likewise. + * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise. + * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc. + (bfd_ecoff_write_accumulated_debug): Likewise. + * elf64-alpha.c (get_got_entry): Use bfd_zalloc. + * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise. + * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc. + * ieee.c (do_with_relocs): Use bfd_zalloc. + * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise. + * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc. + (NAME(aout,slurp_reloc_table)): Likewise. + (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd. + * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc. + * som.c (som_build_and_write_symbol_table): Likewise. + (som_slurp_string_table): Likewise. + (som_slurp_symbol_table): Likewise. + (som_bfd_ar_write_symbol_stuff): Likewise. + * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc. + * sunos.c (bfd_sunos_size_dynamic_sections): Likewise. + * tekhex.c (find_chunk): Likewise. Get rid of unused "sname". + * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc. + * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc. + +2002-06-07 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with + "group" union. + (elf_group_name): Update. + (elf_group_id): Define. + (bfd_elf_set_group_contents): Declare. + * elf.c (elf_fake_sections): Qualify use of elf_group_name. + (set_group_contents): Rename to bfd_elf_set_group_contents. Remove + ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use + that sym for the signature. + (_bfd_elf_compute_section_file_positions): Don't call + set_group_contents for "ld -r" case. + (swap_out_syms): Use bfd_zalloc. + * elflink.h (elf_link_add_archive_symbols): Likewise. + (NAME(bfd_elf,size_dynamic_sections)): Likewise. + (elf_bfd_final_link): Call bfd_elf_set_group_contents. + +2002-06-07 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved + relocs in opd for non-shared too. + +2002-06-06 Jeffrey Law <law@redhat.com> + + * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting + relocations. + +2002-06-06 Nick Clifton <nickc@cambridge.redhat.com> + + * merge.c: Include libiberty.h. + * elf-strtab.c: Include libiberty.h. + +2002-06-06 Elias Athanasopoulos <eathan@otenet.gr> + + * peXXigen.c (pe_print_idata): Remove unused variable. + +2002-06-06 David Heine <dlheine@tensilica.com> + + * elf.c (assign_file_positions_for_segments): Remove unallocated + sections from the section to segment mapping for PT_LOAD segments. + Update comment about empty loadable segments. + +2002-06-06 Richard Sandiford <rsandifo@redhat.com> + + * stabs.c (_bfd_link_section_stabs): Check that the symbol offset + is within the .stabstr section. + +2002-06-06 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args + are "const PTR", not "const PTR *". + (bfd_elf32_swap_symbol_in): Likewise. + (bfd_elf64_swap_symbol_in): Likewise. + * elfcode.h (elf_swap_symbol_in): Change input args to const PTR. + (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in. + * elflink.h (elf_link_is_defined_archive_symbol): Likewise. + (elf_link_add_object_symbols): Likewise. + (elf_link_record_local_dynamic_symbol): Likewise. + (elf_link_input_bfd): Likewise. + (elf_gc_mark): Likewise. + (elf_reloc_symbol_deleted_p): Likewise. + * elf-m10200.c (mn10200_elf_relax_section): Likewise. + (mn10200_elf_relax_delete_bytes): Likewise. + (mn10200_elf_symbol_address_p): Likewise. + (mn10200_elf_get_relocated_section_contents): Likewise. + * elf-m10300.c (mn10300_elf_relax_section): Likewise. + (mn10300_elf_relax_section): Likewise. + (mn10300_elf_relax_delete_bytes): Likewise. + (mn10300_elf_symbol_address_p): Likewise. + (mn10300_elf_get_relocated_section_contents): Likewise. + * elf32-h8300.c (elf32_h8_relax_section): Likewise. + (elf32_h8_relax_delete_bytes): Likewise. + (elf32_h8_symbol_address_p): Likewise. + (elf32_h8_get_relocated_section_contents): Likewise. + * elf32-hppa.c (get_local_syms): Likewise. + * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise. + * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise. + * elf32-sh.c (sh_elf_relax_section): Likewise. + (sh_elf_relax_delete_bytes): Likewise. + (sh_elf_get_relocated_section_contents): Likewise. + * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise. + * elf64-alpha.c (elf64_alpha_relax_section): Likewise. + * elf64-hppa.c (elf64_hppa_check_relocs): Likewise. + * elf64-mmix.c (mmix_elf_relax_section): Likewise. + * elf64-ppc.c (get_local_syms): Likewise. + * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise. + * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise. + +2002-06-05 J"orn Rennecke <joern.rennecke@superh.com> + + * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations. + +2002-06-05 Alan Modra <amodra@bigpond.net.au> + + * elf.c (group_signature): Swap in the whole symbol, and handle + extracting section symbol names. + (setup_group): Add comment. + (set_group_contents): When called from objcopy or ld, arrange for + section contents to be written. Write group member output section + indices to allow objcopy to reorganize sections. + (_bfd_elf_copy_private_section_data): Copy group info. + + * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field. + (bfd_elf32_swap_symbol_in): Update prototype. + (bfd_elf64_swap_symbol_in): Likewise. + * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *. + (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in. + * elflink.h (elf_link_is_defined_archive_symbol): Likewise. + (elf_link_add_object_symbols): Likewise. + (elf_link_record_local_dynamic_symbol): Likewise. + (elf_link_input_bfd): Likewise. + (elf_gc_mark): Likewise. + (elf_reloc_symbol_deleted_p): Likewise. + * elf-m10200.c (mn10200_elf_relax_section): Likewise. + (mn10200_elf_relax_delete_bytes): Likewise. + (mn10200_elf_symbol_address_p): Likewise. + (mn10200_elf_get_relocated_section_contents): Likewise. + * elf-m10300.c (mn10300_elf_relax_section): Likewise. + (mn10300_elf_relax_section): Likewise. + (mn10300_elf_relax_delete_bytes): Likewise. + (mn10300_elf_symbol_address_p): Likewise. + (mn10300_elf_get_relocated_section_contents): Likewise. + * elf32-h8300.c (elf32_h8_relax_section): Likewise. + (elf32_h8_relax_delete_bytes): Likewise. + (elf32_h8_symbol_address_p): Likewise. + (elf32_h8_get_relocated_section_contents): Likewise. + * elf32-hppa.c (get_local_syms): Likewise. + * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise. + * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise. + * elf32-sh.c (sh_elf_relax_section): Likewise. + (sh_elf_relax_delete_bytes): Likewise. + (sh_elf_get_relocated_section_contents): Likewise. + * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise. + * elf64-alpha.c (elf64_alpha_relax_section): Likewise. + * elf64-hppa.c (elf64_hppa_check_relocs): Likewise. + * elf64-mmix.c (mmix_elf_relax_section): Likewise. + * elf64-ppc.c (get_local_syms): Likewise. + * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise. + * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise. + * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser. + * elf64-alpha.c (alpha_elf_size_info): Likewise. + * elf64-hppa.c (hppa64_elf_size_info): Likewise. + * elf64-mips.c (mips_elf64_size_info): Likewise. + * elf64-s390.c (s390_elf64_size_info): Likewise. + * elf64-sparc.c (sparc64_elf_size_info): Likewise. + +2002-06-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to... + elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here. + elf64-mips.c (elf_backend_ignore_discarded_relocs): Use + _bfd_mips_elf_ignore_discarded_relocs. + elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare. + +2002-06-05 H.J. Lu <hjl@gnu.org> + + * elfxx-mips.c (mips_elf_calculate_relocation): Call + _bfd_elf_rel_local_sym for STT_SECTION relocations against + the SEC_MERGE section. + +2002-06-05 Alan Modra <amodra@bigpond.net.au> + + * coff-alpha.c: Update copyright date. + * coff-mips.c: Likewise. + * xcoff-target.h: Likewise. + + * bfd-in.h: Remove "taken from the source" comment. + * libbfd-in.h: Likewise. + * libcoff-in.h: Likewise. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * libcoff.h: Regenerate. + + * elf.c (bfd_elf_discard_group): Return true. + * elf-bfd.h (bfd_elf_discard_group): Declare. + * bfd-in.h (bfd_elf_discard_group): Don't declare here. + * section.c (bfd_discard_group): Rename to bfd_generic_discard_group. + * bfd.c (bfd_discard_group): Define. + * targets.c (struct bfd_target): Add _bfd_discard_group. + (BFD_JUMP_TABLE_LINK): Here too. + * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define. + * aout-adobe.c (aout_32_bfd_discard_group): Define. + * aout-target.h (MY_bfd_discard_group): Define. + * aout-tic30.c (MY_bfd_discard_group): Define. + * binary.c (binary_bfd_discard_group): Define. + * bout.c (b_out_bfd_discard_group): Define. + * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define. + * coffcode.h (coff_bfd_discard_group): Define. + * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define. + * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define. + * i386msdos.c (msdos_bfd_discard_group): Define. + * i386os9k.c (os9k_bfd_discard_group): Define. + * ieee.c (ieee_bfd_discard_group): Define. + * ihex.c (ihex_bfd_discard_group): Define. + * mmo.c (mmo_bfd_discard_group): Define. + * nlm-target.h (nlm_bfd_discard_group): Define. + * oasys.c (oasys_bfd_discard_group): Define. + * ppcboot.c (ppcboot_bfd_discard_group): Define. + * som.c (som_bfd_discard_group): Define. + * srec.c (srec_bfd_discard_group): Define. + * tekhex.c (tekhex_bfd_discard_group): Define. + * versados.c (versados_bfd_discard_group): Define. + * vms.c (vms_bfd_discard_group): Define. + * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define. + * coff64-rs6000.c (rs6000coff64_vec): Update initialiser. + (aix5coff64_vec): Likewise. + * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise. + +2002-06-04 Jason Thorpe <thorpej@wasabisystems.com> + + * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo. + (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c. + (elf32-sh64-com.lo): New dependency list. + * Makefile.in: Regenerate. + * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec) + (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add + elf32-sh64-com.lo. + * configure: Regenerate. + * elf32-sh64.c (sh64_address_in_cranges) + (sh64_get_contents_type, sh64_address_is_shmedia): Move to... + (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb): + (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to... + * elf32-sh64-com.c: ...here. New file. + +2002-06-04 Alan Modra <amodra@bigpond.net.au> + + * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove + ATTRIBUTE_UNUSED on used params. + * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks + before calling bfd_section_from_elf_index on local syms. + * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise. + +2002-06-04 Jason Thorpe <thorpej@wasabisystems.com> + + * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo. + (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c. + (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo. + (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c. + (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules. + * Makefile.in: Regenerate. + * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*) + (sh64-*-netbsd*): New targets. + * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec, + bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec. + * configure: Regenerate. + * elf32-sh64-nbsd.c: New file. + * elf64-sh64-nbsd.c: New file. + * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec, + bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and + bfd_elf64_sh64lnbsd_vec. + +2002-06-04 Alan Modra <amodra@bigpond.net.au> + + * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups. + (bfd_section_from_shdr): Likewise. Set section name of group + sections from signature. + (group_signature): Split out from setup_group. Ensure symbol table + is available. + (bfd_elf_discard_group): New function. + (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on + .gnu.linkonce* sections if they are members of a group. + (set_group_contents): Set GRP_COMDAT flag. + * section.c (bfd_discard_group): New function. + * bfd-in.h (bfd_elf_discard_group): Declare. + * bfd-in2.h: Regenerate. + * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field. + (elf_linkonce_p): Define. + +2002-06-04 Alan Modra <amodra@bigpond.net.au> + + * elf.c (bfd_section_from_shdr): Make "name" const. + * elf-bfd.h (elf_backend_section_from_shdr): Likewise. + * elf32-i370.c (i370_elf_section_from_shdr): Likewise. + * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise. + * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise. + * elf32-v850.c (v850_elf_section_from_shdr): Likewise. + * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise. + * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise. + * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise. + * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise. + * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise. + * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise. + +2002-06-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * elfxx-mips.c (ABI_64_P): Use backend's data to determine the + ABI. + +2002-06-02 Kazu Hirata <kazu@cs.umass.edu> + + * elf32-arc.c: Fix formatting. + * elf32-arm.h: Likewise. + * elf32-cris.c: Likewise. + * elf32-dlx.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-i386qnx.c: Likewise. + * elf32-or32.c: Likewise. + * elf32-s390.c: Likewise. + * elf32-sh64.c: Likewise. + * elf32-vax.c: Likewise. + * elf32-xstormy16.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-mmix.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-s390.c: Likewise. + * elf64-sh64.c: Likewise. + * elf64-x86-64.c: Likewise. + +2002-06-02 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference + null when there are no got entries for a symbol. + (elf64_alpha_relax_find_tls_segment): Rearrange to avoid + uninitialized variable warning. + +2002-06-01 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for + undefined symbols here. + (elf64_alpha_relax_section): Do it here. Also test for not + defined in the current module. + (elf64_alpha_relocate_section_r): Split out of ... + (elf64_alpha_relocate_section): ... here. Don't dereference + NULL when looking up local got entries. + +2002-06-01 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined + symbols from JSR relaxation. + (elf64_alpha_size_plt_section_1): New. + (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ... + (elf64_alpha_size_rela_got_1): ... here. + (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ... + (elf64_alpha_size_rela_got_section): ... here. + (elf64_alpha_size_plt_section): New. + (elf64_alpha_relax_section): Call them. + (elf64_alpha_size_got_sections): Remove output_bfd arg. + (elf64_alpha_finish_dynamic_symbol): Check gotent use_count. + +2002-06-01 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New. + (elf64_alpha_relocate_section): Use them. Reject LE TLS relocs + in shared libraries. Fix DTPRELHI and TPRELHI value. + (INSN_ADDQ, INSN_RDUNIQ): New. + (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent. + (elf64_alpha_relax_with_lituse): Return boolean. Remove irelend + argument. Reject dynamic symbols. Use LITUSE symbolic constants. + (elf64_alpha_relax_got_load): Rename from relax_without_lituse. + Handle GOTDTPREL and GOTTPREL relocations. + (elf64_alpha_relax_gprelhilo): New. + (elf64_alpha_relax_tls_get_addr): New. + (elf64_alpha_relax_find_tls_segment): New. + (elf64_alpha_relax_section): Handle TLS relocations. + (ALPHA_ELF_LINK_HASH_TLS_IE): New. + (elf64_alpha_check_relocs): Set it. + +2002-06-01 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp. + + * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic + check; don't suppress dynamic relocs for non-allocated sections. + + * elf64-alpha.c: Remove dead code. + +2002-05-31 Alan Modra <amodra@bigpond.net.au> + + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + + * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate + space for bss .plt. + +2002-05-31 Graeme Peterson <gp@qnx.com> + + * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo. + (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c. + Run "make dep-am". + * Makefile.in: Regenerate. + * config.bfd: Add i[3456]86-*-nto-qnx* support. + * configure.in: Add bfd_elf32_i386qnx_vec support. + * configure: Regenerate. + * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos, + is_contained_by_filepos, and copy_private_bfd_data_p. + * elf.c (assign_file_positions_for_segments): Call backend + set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler. + (IS_CONTAINED_BY_FILEPOS): Define. + (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS. + (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix. + Fix non-K&R call to _bfd_error_handler. + (_bfd_elf_copy_private_section_data): Use backend + copy_private_bfd_data_p. + * elf32-i386.c: Don't include elfxx-target.h when + ELF32_I386_C_INCLUDED is defined. + * elf32-i386qnx.c: New QNX elf backend file. + * elfxx-target.h: Add elf_backend_set_nonloadable_filepos, + elf_backend_is_contained_by_filepos, and + elf_backend_do_copy_private_bfd_data. + * targets.c: Add bfd_target bfd_elf32_i386qnx_vec. + +2002-05-31 Alan Modra <amodra@bigpond.net.au> + + * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define. + Move other similar defines to start of file. + +2002-05-30 Tom Rix <trix@redhat.com> + + * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA. + * coff64-rs6000.c (xcoff64_rtype2howto): Same. + +2002-05-30 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD, + ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New. + (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove. + (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove. + (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated. + (struct alpha_elf_obj_tdata): Rename total_got_entries and + n_local_got_entries to total_got_size and local_got_size. + (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs. + (alpha_got_entry_size): New. + (elf64_alpha_relax_with_lituse): Use it. + (elf64_alpha_relax_without_lituse): Likewise. + (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES. + (get_got_entry): New. + (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize. + (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask. + (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type. + (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise. + (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size. + (elf64_alpha_calc_got_offsets): Likewise. + (alpha_dynamic_entries_for_reloc): New. + (elf64_alpha_calc_dynrel_sizes): Use it. + (elf64_alpha_size_dynamic_sections): Likewise. + (elf64_alpha_relocate_section): Handle TLS relocations. + * reloc.c: Add Alpha TLS relocations. + * bfd-in2.h, libbfd.h: Rebuild. + +2002-05-29 Ralf Habacker <ralf.habacker@freenet.de> + + * peXXigen.c (pe_print_idata): Remove double printed + import table lines; add Bound-To comment. + +2002-05-29 Matt Thomas <matt@3am-software.com> + + * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo. + (BFD32_BACKENDS_CFILES): Add elf32-vax.c. + (elf32-vax.lo): New rule. + * Makefile.in: Regenerate. + * configure.in (bfd_elf32_vax_vec) + (vaxnetbsd_vec): New vectors. + * configure: Regenerate. + * config.bfd (vax-*-netbsdelf*) + (vax-*-netbsdaout*) + (vax-*-netbsd*): New targets. + * elf32-vax.c: New file. + * reloc.c: Add VAX relocations. + * bfd-in2.h: Regenerate. + * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec. + +2002-05-29 Jason Thorpe <thorpej@wasabisystems.com> + + * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec + and bfd_elf32_bigarm_vec to targ_selvecs. + +2002-05-29 Ralf Habacker <ralf.habacker@freenet.de> + + * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables + with auto-imported symbols. + +2002-05-29 Adam Nemet <anemet@lnxw.com> + + * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue + sections only record bfd. + (bfd_elf32_arm_add_glue_sections_to_bfd): New function. + * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it. + * bfd-in2.h: Regenerate. + +2002-05-28 Nick Clifton <nickc@cambridge.redhat.com> + + * syms.c (_bfd_stab_section_find_nearest_line): Move + declaration and initialisation of saw_line and saw_func out of + for loop. + +2002-05-29 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_get_symbol_info): New function. + (bfd_elf64_get_symbol_info): Define. + * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef. + +2002-05-29 Andrey Volkov <avolkov@transas.com> + + * cpu-h8300.c: Make default h8300 machine first in machine list. + +2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> + + * config.bfd: Added DLX configuraton. + * Makefile.am: Added DLX configuraton. + * configure.in: Added DLX configuraton. + * archures.c: Add DLX architecture. + * reloc.c: Add DLX relocs. + * targets.c: Added DLX target vector. + * configure: Regenerate. + * Makefile.in: Regenreate. + * bfd-in2.h: Regenreate. + * elf32-dlx.c: New file: Support DLX target. + * cpu-dlx.c: New file: Support DLX target. + +2002-05-25 Alan Modra <amodra@bigpond.net.au> + + * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting. + + * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change. + (ppc64_elf_check_relocs): Don't set up function descriptor symbol + strings to point inside function code sym string. + (func_desc_adjust): Likewise. + (ppc64_elf_hide_symbol): Rewrite code to look up function code sym. + +2002-05-24 Michal Ludvig <mludvig@suse.cz> + + * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added. + (elf64_x86_64_grok_psinfo): Added. + +2002-05-24 TAMURA Kent <kent@netbsd.org> + + * config.bfd: Add a target for i386-netbsdpe. + +2002-05-24 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func + and is_func_descriptor. + (func_desc_adjust): Hide function code sym in shared libs unless + there is a matching exported function descriptor sym. + +2002-05-23 Jakub Jelinek <jakub@redhat.com> + + * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL + for symbols from SHF_TLS section. + (_bfd_elf_print_private_bfd_data): Add PT_TLS. + (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections. + (map_sections_to_segments): Build PT_TLS segment if necessary. + (assign_file_positions_for_segments): Likewise. + (get_program_header_size): Account for PT_TLS segment. + (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from + SEC_THREAD_LOCAL sections to STT_TLS. + * reloc.c: Add 386 and IA-64 TLS relocs. + * section.c (SEC_THREAD_LOCAL): Define. + (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS): + Remove. + * elflink.h (elf_link_add_object_symbols): Support .tcommon. + (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS + unconditionally. + (struct elf_final_link_info): Add first_tls_sec. + (elf_bfd_final_link): Set first_tls_sec. + Compute elf_hash_table (info)->tls_segment. + (elf_link_output_extsym): Handle STT_TLS symbols. + (elf_link_input_bfd): Likewise. + * syms.c (BSF_THREAD_LOCAL): Define. + * bfd-in2.h: Rebuilt. + * libbfd.h: Rebuilt. + * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff, + elf_i386_mkobject, elf_i386_object_p): New functions. + (elf_howto_table): Add TLS relocs. + (elf_i386_reloc_type_lookup): Support TLS relocs. + (elf_i386_info_to_howto_rel): Likewise. + (struct elf_i386_link_hash_entry): Add tls_type. + (struct elf_i386_obj_tdata): New. + (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type): + New macros. + (struct elf_i386_link_hash_table): Add tls_ldm_got. + (link_hash_newfunc): Clear tls_type. + (elf_i386_check_relocs): Support TLS relocs. + (elf_i386_gc_sweep_hook): Likewise. + (allocate_dynrelocs): Likewise. + (elf_i386_size_dynamic_sections): Likewise. + (elf_i386_relocate_section): Likewise. + (elf_i386_finish_dynamic_symbol): Likewise. + (bfd_elf32_mkobject, elf_backend_object_p): Define. + * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset, + dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done, + want_tprel, want_dtpmod, want_dtprel. + (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions. + (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to + R_IA64_LTOFF_TPREL22. + (elf_code_to_howto_index): Add TLS relocs. + (elfNN_ia64_check_relocs): Support TLS relocs. + (allocate_global_data_got): Account for TLS .got data. + (allocate_dynrel_entries): Account for TLS dynamic relocations. + (elfNN_ia64_install_value): Supprt TLS relocs. + (set_got_entry): Support TLS relocs. + (elfNN_ia64_relocate_section): Likewise. + +2002-05-23 Nick Clifton <nickc@cambridge.redhat.com> + + * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb + BLX reloc round the relocation up rather than down. + * coff-arm.c (coff_arm_relocate_section): Likewise. + +2002-05-21 H.J. Lu (hjl@gnu.org) + + * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple + definition. + +2002-05-22 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt. + (ppc64_elf_relocate_section): Handle unresolved relocs in opd. + +2002-05-22 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_relocate_section): Return false for + unresolved relocs. + (ppc64_elf_size_dynamic_sections): Check for splt NULL. + +2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * bfd.c (bfd_get_arch_size): Remove bfd_set_error call for + non-ELF targets. + +2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return + an error value. + * elflink.h (elf_link_output_relocs): Likewise. Improve error message. + return with false on error. + (elf_link_input_bfd): Check reloc_emitter return value. + +2002-05-21 Jason Thorpe <thorpej@wasabisystems.com> + + * config.bfd (armeb-*-netbsdelf*): New target. + +2002-05-20 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms + at the plt call stub. + +2002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * cpu-mips.c (mips_compatible): Don't try to check machine + compatibility. + +2002-05-18 Tom Rix <trix@redhat.com> + + * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent. + +2002-05-17 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting. + (ppc64_elf_relocate_section): Don't warn about reloc overflow when + we've already warned about an undefined symbol. Report more + detail on reloc errors. + +2002-05-17 Alan Modra <amodra@bigpond.net.au> + + * acinclude.m4 (AM_INSTALL_LIBBFD): New. + * configure.in: Invoke AM_INSTALL_LIBBFD. + * Makefile.am (install-data-local): Revert 2002-05-13. Move to.. + (install_libbfd): .. New target. + (uninstall_libbfd): Likewise. + (install-bfdlibLTLIBRARIES): Likewise. + (uninstall-bfdlibLTLIBRARIES): Likewise. + (bfdlibdir): New. + (bfdincludedir): New. + (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * Makefile.in: Regenerate. + +2002-05-17 Stuart Balfour <sbalfour@cisco.com> + + * hash.c (bfd_hash_lookup): Remove computation of len from inside + hash loop. + +2002-05-16 Nick Clifton <nickc@cambridge.redhat.com> + + * config.bfd: Add targets for sh64-linux (little endian and + big endian). + +2002-05-15 Laurent Pinchart <laurent.pinchart@skynet.be> + + * peXXigen.c (pe_print_idata): Do not assume that the first thunk + is located in the same section as the import table. Instead + check, and if necessary load the section containing the thunk. + +2002-05-15 Nick Clifton <nickc@cambridge.redhat.com> + + * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with + bfd_bread. + (xcoff64_core_file_matches_executable_p): Replace bfd_read + with bfd_bread. + +2002-05-15 Alan Modra <amodra@bigpond.net.au> + + * aix5ppc-core.c: Warning fixes. + * aout-adobe.c (aout_32_bfd_link_just_syms): Define. + * aout-target.h (MY_bfd_link_just_syms): Define. + * aout-tic30.c (MY_bfd_link_just_syms): Define. + * bfd.c (bfd_link_just_syms): Define. + * binary.c (binary_bfd_link_just_syms): Define. + * bout.c (b_out_bfd_link_just_syms): Define. + * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer. + * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise. + * coffcode.h (coff_bfd_link_just_syms): Define. + * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS. + (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS. + (_bfd_elf_link_just_syms): Declare. + * elf.c (_bfd_elf_link_just_syms): New function. + * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that + sections haven't already been discarded by the linker. + * elflink.h (elf_link_add_object_symbols): Likewise for stab + sections and SEC_MERGE sections. + (elf_bfd_discard_info): Similarly here. + * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define. + * i386msdos.c (msdos_bfd_link_just_syms): Define. + * i386os9k.c (os9k_bfd_link_just_syms): Define. + * ieee.c (ieee_bfd_link_just_syms): Define. + * ihex.c (ihex_bfd_link_just_syms): Define. + * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define. + (_bfd_generic_link_just_syms): Declare. + * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define. + * linker.c (_bfd_generic_link_just_syms): New function. + * mmo.c (mmo_bfd_link_just_syms): Define. + * nlm-target.h (nlm_bfd_link_just_syms): Define. + * oasys.c (oasys_bfd_link_just_syms): Define. + * ppcboot.c (ppcboot_bfd_link_just_syms): Define. + * som.c (som_bfd_link_just_syms): Define. + * srec.c (srec_bfd_link_just_syms): Define. + * targets.c (struct bfd_target): Add _bfd_link_just_syms. + (BFD_JUMP_TABLE_LINK): And here. + * tekhex.c (tekhex_bfd_link_just_syms): Define. + * versados.c (versados_bfd_link_just_syms): Define. + * vms.c (vms_bfd_link_just_syms): Define. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elf32-mips.c: Remove superfluous definitions copied from + elfxx-mips.c. + (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the + SGIish vectors to check the special case. + (mips_elf_hi16_reloc): Fix comment. + (mips_elf_got16_reloc): Likewise. + (_bfd_mips_elf32_gprel16_reloc): Likewise. + (elf_reloc_map): Code cleanup. + (mips_reloc_map): Add comment. + (bfd_elf23_bfd_reloc_type_lookup): Code cleanup. + (mips_elf32_rtype_to_howto): Likewise. + (mips_elf32_discard_info): Likewise. + (elf32_mips_irix_compat): Invert logic: Only SGIish vectors + lead to IRIX compatibility now. + +2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c: Call it IRIX, not Irix in comments. + +2002-05-13 Jason Thorpe <thorpej@wasabisystems.com> + + * config.bfd (shle-*-netbsdelf*): Add target which includes + sh64 support. + +2002-05-13 David Edelsohn <edelsohn@gnu.org> + + * configure.in: Revert 2002-04-07. Instead, auto-configure + HAVE_ST_C_IMPL. + * configure: Regenerate. + * config.in: Regenerate. + * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL + or AIX_5_CORE. + +2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br> + + * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd + corefiles as well.2 + * configure: Regenerate. + +2002-05-13 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am (install-data-local): Install headers to + $(exec_prefix)/include. + * Makefile.in: Regenerate. + +2002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de> + Daniel Jacobowitz <drow@mvista.com> + + * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE. Don't + map BFD_RELOC_RVA. + +2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br> + + * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*, + hppa*-*-openbsd*): New targets. + * configure.in (alpha*-*-openbsd*): Set COREFILE. + * configure: Regenerate. + +2002-05-10 Tom Rix <trix@redhat.com> + + * coff64-rs6000.c (xcoff64_reloc_type_br): New function for + xcoff64_ppc_relocate_section. + * coff-rs6000.c : Extern common xcoff_reloc_type functions. + * libxcoff.h: Common xcoff_reloc_type function declaration. + +2002-05-10 Alan Modra <amodra@bigpond.net.au> + + * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks + added in 2002-05-09 commit. + + * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04, + don't look for stubs on all undefined syms. + +2002-05-09 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete. + (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or + pcrel_offset. + + * elf32-i386.c (elf_howto_table): Comments. + (elf_i386_relocate_section): Handle more relocs for relocatable + linking and against SEC_MERGE sections. + +2002-05-08 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_create_got): New function. + (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before + _bfd_elf_create_dynamic_sections. Correct .plt flags. + (ppc_elf_check_relocs): Use ppc_elf_create_got in place of + _bfd_elf_create_got_section. + +2002-05-07 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct elf_backend_data): Add rela_normal. + * elfxx-target.h (elf_backend_rela_normal): Define. + (elfNN_bed): Init rela_normal. + * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment + for section symbols here if rela_normal. Simplify abs section test. + * elf-m10200.c (mn10200_elf_relocate_section): If relocatable, + return immediately. Remove code handling relocatable linking. + * elf-m10300.c (mn10300_elf_relocate_section): Likewise. + * elf32-fr30.c (fr30_elf_relocate_section): Likewise. + * elf32-i370.c (i370_elf_relocate_section): Likewise. + * elf32-i860.c (elf32_i860_relocate_section): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-mcore.c (mcore_elf_relocate_section): Likewise. + * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf32-s390.c (elf_s390_relocate_section): Likewise. + * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. + * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. + * elf64-s390.c (elf_s390_relocate_section): Likewise. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. + * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL. + * elf32-m32r.c (m32r_elf_relocate_section): Likewise. + * elf-m10200.c (elf_backend_rela_normal): Define. + * elf-m10300.c (elf_backend_rela_normal): Define. + * elf32-fr30.c (elf_backend_rela_normal): Define. + * elf32-i370.c (elf_backend_rela_normal): Define. + * elf32-i860.c (elf_backend_rela_normal): Define. + * elf32-m68k.c (elf_backend_rela_normal): Define. + * elf32-mcore.c (elf_backend_rela_normal): Define. + * elf32-openrisc.c (elf_backend_rela_normal): Define. + * elf32-ppc.c (elf_backend_rela_normal): Define. + * elf32-s390.c (elf_backend_rela_normal): Define. + * elf32-xstormy16.c (elf_backend_rela_normal): Define. + * elf64-ppc.c (elf_backend_rela_normal): Define. + * elf64-s390.c (elf_backend_rela_normal): Define. + * elf64-x86-64.c (elf_backend_rela_normal): Define. + * elfxx-ia64.c (elf_backend_rela_normal): Define. + * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL. + * elf32-m32r.c (elf_backend_rela_normal): Likewise. + +2002-05-06 Nick Clifton <nickc@cambridge.redhat.com> + + * elf32-arm.h (elf32_arm_final_link_relocate): Convert + 'reloc_signed_max' and 'reloc_signed_min' into half-word offsets. + +2002-05-06 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset + when not relocatable. Fix reloc_emitter call for K&R. + +2002-05-04 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code + reloading local sym addend mistakenly removed in 2002-05-01 change. + + * dwarf2.c (struct line_head): Make prologue_length a bfd_vma. + (read_abbrevs): Change "offset" param to bfd_vma. + (parse_comp_unit): Change "version" and addr_size to unsigned ints. + Change "abbrev_offset" to bfd_vma. + (read_indirect_string): Use correct conversion chars in error + message format string, cast bfd_vma's to unsigned long. + (read_abbrevs): Likewise. + (read_attribute_value): Likewise. + (decode_line_info): Likewise. + (scan_unit_for_functions): Likewise. + (parse_comp_unit): Likewise. + +2002-05-04 Tom Rix <trix@redhat.com> + + * coffswap.h (coff_swap_reloc_in): Remove XCOFF support. + (coff_swap_reloc_out): Same. + * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h. + (xcoff_swap_reloc_out): Same. + (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special + case some 16 bit relocs. Add reloc value to output. + (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit + R_RBR. Improve names. + (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS. + (bfd_xcoff_backend_data): Update with new reloc swap names. + (bfd_pmac_xcoff_backend_data) : Same. + * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h. + (xcoff64_swap_reloc_out): Same. + (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit + R_POS. Add reloc value to output. + (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16 + bit R_RBR. Improve names, masks. + (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS. + (bfd_xcoff_backend_data): Update with new reloc swap names. + (bfd_xcoff_aix5_backend_data) : Same. + +2002-05-04 Alan Modra <amodra@bigpond.net.au> + + * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add + bfd_count top_index, input_list, all_local_syms. + (elf32_hppa_setup_section_lists): New function, split from + elf32_hppa_size_stubs. + (elf32_hppa_next_input_section): Likewise. + (group_sections): Likewise. + (get_local_syms): Likewise. + (elf32_hppa_size_stubs): Adjust for split out functions. Look for + stubs on undefined syms too. + (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*. + Only access htab elf fields when we have an elf hash table. + * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare. + (elf32_hppa_next_input_section): Declare. + +2002-05-04 Bob Byrnes <byrnes@curl.com> + + * opncls.c (_bfd_new_bfd_contained_in): Check return value of + _bfd_new_bfd. + +2002-05-03 H.J. Lu (hjl@gnu.org) + + * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local. + (mips_elf_link_hash_newfunc): Initialize forced_local to false. + (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol + to hide a global symbol. + (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set + forced_local to true. + +2002-05-02 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs + vs SHN_UNDEF to zero. + +2002-05-02 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a + 16 bit reloc. + <R_PPC64_SECTOFF_DS>: Likewise. + (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to + SECTOFF reloc. + * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct. + (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to + SECTOFF reloc. + + * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete. + (ppc64_elf_ha_reloc): New function. + (ppc64_elf_brtaken_reloc): New function. + (ppc64_elf_sectoff_reloc): New function. + (ppc64_elf_sectoff_ha_reloc): New function. + (ppc64_elf_toc_reloc): New function. + (ppc64_elf_toc_ha_reloc): New function. + (ppc64_elf_toc64_reloc): New function. + (ppc64_elf_unhandled_reloc): New function. + (ppc64_elf_howto_raw): Use the above. + <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset. + <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask. + <R_PPC64_SECTOFF_DS>: Likewise. + (IS_ABSOLUTE_RELOC): Update. + (struct ppc_link_hash_table): Add have_undefweak. + (ppc64_elf_link_hash_table_create): Init. + (func_desc_adjust): Set have_undefweak. + (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only + add the .sfpr blr when have_undefweak. + (ppc64_elf_setup_section_lists): Check hash table flavour. + (ppc64_elf_next_input_section): Move output_section->owner test to + ppc64elf.em. + (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param + and relocatable test. Return TOCstart and don't set elf_gp. + (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch + offset calculation. Add assert on weak sym branch tweaks. + * elf64-ppc.h (ppc64_elf_set_toc): Delete. + (ppc64_elf_toc): Declare. + (ppc64_elf_next_input_section): Update. + +2002-05-01 Alan Modra <amodra@bigpond.net.au> + + * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL + file_name. + +2002-05-01 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (CROR_151515, CROR_313131): Define. + (ppc64_elf_relocate_section): Use them. Don't look for plt calls + on R_PPC64_ADDR24 relocs. Require a nop or no link reg on plt + call branches. Correct undefined weak destination. + (ppc64_elf_func_desc_adjust): Always create at least one blr in + .sfpr, and correct case where either only savef* or restf* is + needed. + + Long branch stubs, multiple stub sections. + * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare. + (ppc64_elf_next_input_section): Declare. + * elf64-ppc.c: Move linker-only prototypes. + (STUB_SUFFIX): Define. + (enum ppc_stub_type): New. + (struct ppc_stub_hash_entry): New. + (struct ppc_branch_hash_entry): New. + (struct ppc_link_hash_entry): Add stub_cache, oh. + (struct ppc_link_hash_table): Add stub_hash_table etc. Remove + sstub. Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration. + Rename plt_overflow to stub_error. + (ppc_stub_hash_lookup): Define. + (ppc_branch_hash_lookup): Define. + (stub_hash_newfunc): New function. + (branch_hash_newfunc): New function. + (link_hash_newfunc): Init new fields. + (ppc64_elf_link_hash_table_create): Likewise. + (ppc64_elf_link_hash_table_free): New function. + (ppc_stub_name): New function. + (ppc_get_stub_entry): New function. + (ppc_add_stub): New function. + (create_linkage_sections): Use bfd_make_section_anyway. Create + .branch_lt and .rela.branch_lt sections. Don't create .stub. + (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*, + and set up for plt call stubs. Link func and func desc syms. + (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24. + (func_desc_adjust): Avoid hash lookup when func desc sym available + via shortcut, and set links when processing. + (ppc64_elf_hide_symbol): Likewise. + (allocate_dynrelocs): Don't allocate stub section here. + (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt. + Remove sstub code. + (ppc_type_of_stub): New function. + (build_one_stub): Delete. + (ppc_build_one_stub): New function. + (ppc_size_one_stub): New function. + (ppc64_elf_setup_section_lists): New function. + (ppc64_elf_next_input_section): New function. + (group_sections): New function. + (get_local_syms): New function. + (ppc64_elf_size_stubs): Rewrite. + (ppc64_elf_build_stubs): Rewrite. + (ppc64_elf_relocate_section): Look up stub entry for REL24 + relocs. Don't propagate REL14* to dynamic objects. Look for long + branch stubs if REL14* or REL24 relocs won't reach. + (bfd_elf64_bfd_link_hash_table_free): Define. + +2002-04-30 Mark Mitchell <mark@codesourcery.com> + + * config.bfd: Add support for powerpc-*-windiss. + +2002-04-30 Tom Rix <trix@redhat.com> + + * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT + symbol names into the hash table. + +2002-04-28 Tom Rix <trix@redhat.com> + + * coff-rs6000.c (xcoff_calculate_relocation) : Function table for + calulating relocations. + (xcoff_complain_overflow) : Function table for relocation errors. + (xcoff_ppc_relocate_section): Use relocation and complain function + tables. + (xcoff_complain_overflow_unsigned_func): New complain function. + (xcoff_complain_overflow_signed_func): Same. + (xcoff_complain_overflow_bitfield_func): Same. + (xcoff_complain_overflow_dont_func): Same. + (xcoff_reloc_type_crel): New recot function. + (xcoff_reloc_type_br): Same. + (xcoff_reloc_type_ba): Same. + (xcoff_reloc_type_toc): Same. + (xcoff_reloc_type_rel): Same. + (xcoff_reloc_type_neg): Same. + (xcoff_reloc_type_pos): Same. + (xcoff_reloc_type_fail): Same. + (xcoff_reloc_type_noop): Same. + * libxcoff.h : Declare common parts for xcoff64. + * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation + and complain function tables. + +2002-04-28 Alan Modra <amodra@bigpond.net.au> + + * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo. + * elf32-hppa.c (elf32_hppa_final_link): Formatting. + +2002-04-26 Alan Modra <amodra@bigpond.net.au> + + * opncls.c (bfd_make_readable): Call bfd_section_list_clear. + * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise. + + * elflink.h (elf_bfd_final_link): Ensure input bfd class is the + same as the output before calling elf_link_input_bfd. + + * coffcode.h (coff_compute_section_file_positions): Set + section_tail after shuffling section list. + +2002-04-24 Christian Groessler <chris@groessler.org> + + * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The + addresses are 23bit with a special layout, not plain 32bit + values. Prevent relocation of immediate values. + +2002-04-24 Chris G. Demetriou <cgd@broadcom.com> + + * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or + MIPS-16 ASE flags are set, print something to indicate that. + +2002-04-23 Alan Modra <amodra@bigpond.net.au> + + * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition + under which a plt call stub is used. + (final_link_relocate): Similarly. + (allocate_plt_static): Clear h-plabel except when plt entry is + exclusively used for a plabel. + (allocate_dynrelocs): Use the above to simplify plt sizing. + (struct elf32_hppa_link_hash_table): Add has_22bit_branch. + (elf32_hppa_link_hash_table_create): Init. + (BL22_RP): Define. + (hppa_build_one_stub): Use BL22_RP if has_22bit_branch. + (elf32_hppa_check_relocs): Set has_22bit_branch. + + * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message. + (final_link_relocate): Likewise. + +2002-04-22 Jakub Jelinek <jakub@redhat.com> + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build + search table if some FDE is DW_EH_PE_aligned encoded either. + (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially. + +2002-04-22 Richard Smith <richard@ex-parrot.com> + Jakub Jelinek <jakub@redhat.com> + + * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative. + (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel + encoded personality. + (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality + for CIE/FDE removal. + +2002-04-20 Tom Rix <trix@redhat.com> + + * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent. + +2002-04-20 Alan Modra <amodra@bigpond.net.au> + + * archures.c (bfd_lookup_arch): Move the list order comment.. + (struct bfd_arch_info): ..to where it belongs. + * bfd-in2.h: Regenerate. + + * archures.c (bfd_lookup_arch): Add comment on list order. + (bfd_default_set_arch_mach): Use bfd_lookup_arch. + * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default + is always at head of list. + +2002-04-18 Nick Clifton <nickc@cambridge.redhat.com> + + * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9, + insert_thumb_branch, record_thumb_to_arm_glue): Suppress + definition of these functions for ARM_WINCE builds as they are + not used. + (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define + for ARM_WINCE builds. + +2002-04-18 Nick Clifton <nickc@cambridge.redhat.com> + + * coff-arm.c (bfd_arm_process_before_allocation): + +2002-04-17 J"orn Rennecke <joern.rennecke@superh.com> + + * cpu-sh.c (scan_mach): Delete. + (arch_info_struct): Replace scan_mach with bfd_default_scan. + (bfd_sh_arch): Likewise. + +2002-04-16 Nick Clifton <nickc@cambridge.redhat.com> + + * ihex.c (ihex_write_object_contents): Fix check for records + crossing 64K boundaries. + +2002-04-16 Alan Modra <amodra@bigpond.net.au> + + * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table + type rather than just assuming entries are ELF. + * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise. + * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise. + * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise. + * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry + rather than elf_link_hash_entry. + +2002-04-15 Richard Henderson <rth@redhat.com> + + * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow + n32 binaries. + +2002-04-15 Michael Snyder <msnyder@redhat.com> + + * opncls.c (bfd_close): Write contents if writeable. + Minor formatting tidy-ups. + +2002-04-15 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type. + +2002-04-12 Michael Snyder <msnyder@redhat.com> + + * bfd-in.h (bfd_get_section_lma): New access macro. + Minor white-space fix-up. + +2002-04-12 Alan Modra <amodra@bigpond.net.au> + + * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or + header pad. + +2002-04-09 DJ Delorie <dj@redhat.com> + + * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks. + +2002-04-09 Casper S. Hornstrup <chorns@users.sourceforge.net> + + * coffcode.h (coff_read_word): New. + (coff_compute_checksum): New. + (coff_apply_checksum): New. + (coff_write_object_contents): Call coff_apply_checksum () to + apply checksum to PE image. + +2002-04-08 Randolph Chung <tausq@debian.org> + + * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h. + (elf32_hppa_final_link): Split out sorting logic to.. + * elf-hppa.h (elf_hppa_sort_unwind): ..here. + (elf_hppa_final_link): Call elf_hppa_sort_unwind. + +2002-04-07 Andrew Cagney <ac131313@redhat.com> + + * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]* + pattern. + * configure: Re-generate. + +2002-04-07 Andrew Cagney <ac131313@redhat.com> + + * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version + is greater or equal to 4.3.3. + * configure: Regenerate. + Fix PR gdb/344. + +2002-04-05 Hans-Peter Nilsson <hp@axis.com> + + * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL, + R_CRIS_32_PCREL>: Fix typo in name. + (cris_elf_check_relocs): Always create .rela.got here when + R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen. + (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here; + assume it's created. + +2002-04-04 Daniel Jacobowitz <drow@mvista.com> + + * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define. + * aout-target.h (MY_bfd_link_hash_table_free): Conditionally + define. + * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise. + * bfd.c (bfd_link_hash_table_free): Define. + * binary.c (binary_bfd_link_hash_table_free): Define. + * bout.c (b_out_bfd_link_hash_table_free): Define. + * coff-rs6000.c (rs6000coff_vec): Include + _bfd_generic_link_hash_table_free. + (pmac_xcoff_vec): Likewise. + * coff64-rs6000.c (rs6000coff64_vec): Likewise. + (aix5coff64_vec): Likewise. + * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define. + * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function. + (bfd_elf32_bfd_link_hash_table_free): Define. + * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function. + (bfd_elf32_bfd_link_hash_table_free): Define. + * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally + define. + * i386msdos.c (msdos_bfd_link_hash_table_free): Define. + * i386os9k.c (os9k_bfd_link_hash_table_free): Define. + * ieee.c (ieee_bfd_link_hash_table_free): Define. + * ihex.c (ihex_bfd_link_hash_table_free): Define. + * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define. + (_bfd_generic_link_hash_table_free): Add prototype. + * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype. + * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define. + * linker.c (_bfd_generic_link_hash_table_free): New function. + * mmo.c (mmo_bfd_link_hash_table_free): Define. + * nlm-target.h (nlm_bfd_link_hash_table_free): Define. + * oasys.c (oasys_bfd_link_hash_table_free): Define. + * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define. + * som.c (som_bfd_link_hash_table_free): Define. + * srec.c (srec_bfd_link_hash_table_free): Define. + * tekhex.c (tekhex_bfd_link_hash_table_free): Define. + * versados.c (versados_bfd_link_hash_table_free): Define. + * vms.c (vms_bfd_link_hash_table_free): New function. + * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function. + + * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc + instead of bfd_alloc. + * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise. + * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise. + * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise. + * cofflink.c (_bfd_coff_link_hash_table_create): Likewise. + * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise. + * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise. + * elf.c (_bfd_elf_link_hash_table_create): Likewise. + * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise. + * elf32-cris.c (elf_cris_link_hash_table_create): Likewise. + * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise. + * elf32-i386.c (elf_i386_link_hash_table_create): Likewise. + * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise. + * elf32-s390.c (elf_s390_link_hash_table_create): Likewise. + * elf32-sh.c (sh_elf_link_hash_table_create): Likewise. + * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise. + * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise. + * elf64-s390.c (elf_s390_link_hash_table_create): Likewise. + * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise. + * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise. + * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise. + * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise. + * linker.c (_bfd_generic_link_hash_table_create): Likewise. + * m68klinux.c (linux_link_hash_table_create): Likewise. + * sparclinux.c (linux_link_hash_table_create): Likewise. + * sunos.c (sunos_link_hash_table_create): Likewise. + * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise. + + * targets.c: Add _bfd_link_hash_table_free to xvec. + + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * libcoff.h: Regenerate. + +2002-04-04 Alan Modra <amodra@bigpond.net.au> + + * dep-in.sed: Cope with absolute paths. + * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR. + Run "make dep-am". + * Makefile.in: Regenerate. + * coff-arm.c: Fix copyright date. + * cpu-h8300.c: Likewise. + * cpu-i370.c: Likewise. + * cpu-s390.c: Likewise. + * cpu-mips.c: Likewise. + * po/SRC-POTFILES.in: Regenerate. + +2002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * Makefile.am: Add elfxx-mips.c to the known backends. + (elf32-mips.lo): remove dependency to coff/external.h. + * Makefile.in: Regenerate. + * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo + Remove elf32-mips.lo from 64 bit vectors. Update dependencies + accordingly. + * configure: Regenerate. + * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h. + (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c. + (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New + MIPS specific backend functions. + * elf32-mips.c: Moved most code to elfxx-mips.c. + (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make + static. + (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc. + (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc. + (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc. + (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed + interface to allow selection of the right REL or RELA howto table. + (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made + static. Let it refuse n32 objects. + (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus. + (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo. + (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info. + (elf32_mips_ignore_discarded_relocs): Rename from + _bfd_elf32_mips_ignore_discarded_relocs. + (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section. + (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT. + (elf_mips_howto_table_rela): Remove. + * elf64-mips.c: Moved most code to elfxx-mips.c. + (bfd_elf64_bfd_reloc_type_lookup): Make static. + (mips_elf64_rtype_to_howto): New function. + (mips_elf64_object_p): Likewise. + (elf64_mips_irix_compat): Likewise. + * elfxx-mips.c: New file containing common code merged together from + elf32-mips.c and elf64-mips.c. + * elfxx-mips.h: New file containing MIPS specific prototypes from + elf-bfd.h. + * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and + elf_backend_mips_rtype_to_howto. + +2002-04-04 Alan Modra <amodra@bigpond.net.au> + + * srec.c (MAXCHUNK, Chunk): Revise comments. + (srec_write_record): Correct buffer size. + (srec_write_header): Do without intermediate buffer. + (srec_write_section): Validate Chunk. + (srec_write_terminator): Pass NULL instead of dummy buffer. + (srec_write_symbols): Pass file and symbol names directly to + bfd_bwrite so sprintf won't overflow buffer. + +2002-04-03 Jakub Jelinek <jakub@redhat.com> + + * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic + PC relative relocs against hidden symbols. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + +2002-04-03 Alan Modra <amodra@bigpond.net.au> + + * elf.c (_bfd_elf_make_section_from_shdr): When setting section + LMAs, loop over segments until p_vaddr and p_memsz specify an + extent enclosing the section. + +2002-04-02 Nick Clifton <nickc@cambridge.redhat.com> + + * ihex.c (ihex_write_object_contents): Do not allow records to + cross a 64K boundary - wrap if necessary. + +2002-04-01 Nathan Williams <nathanw@wasabisystems.com> + + * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error + which caused the returned LWP ID to always be 0. + +2002-04-01 Richard Henderson <rth@redhat.com> + + * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New. + (elf32_sparc_relocate_section): Use it to figure out when to + initialize .got entries. + * elf64-sparc.c: Similarly. + +2002-03-28 Alan Modra <amodra@bigpond.net.au> + + * linker.c (link_action): Ignore duplicate warning syms. + (_bfd_generic_link_write_global_symbol): Follow warning symbol link. + * elflink.h (elf_adjust_dynstr_offsets): Likewise. + (elf_adjust_dynamic_symbol): Likewise. + (elf_export_symbol): Likewise. + (elf_link_find_version_dependencies): Likewise. + (elf_link_assign_sym_version): Likewise. + (elf_link_sec_merge_syms): Likewise. + (elf_link_output_extsym): Likewise. + (elf_gc_sweep_symbol): Likewise. + (elf_gc_propagate_vtable_entries_used): Likewise. + (elf_gc_smash_unused_vtentry_relocs): Likewise. + (elf_gc_allocate_got_offsets): Likewise. + (elf_collect_hash_codes): Likewise. + * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise. + * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise. + (elf_hppa_remark_useless_dynamic_symbols): Likewise. + * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise. + * elf32-arm.h (elf32_arm_discard_copies): Likewise. + * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise. + (elf_cris_discard_excess_dso_dynamics): Likewise. + * elf32-hppa.c (clobber_millicode_symbols): Likewise. + (mark_PIC_calls): Likewise. + (allocate_plt_static): Likewise. + (allocate_dynrelocs): Likewise. + (readonly_dynrelocs): Likewise. + * elf32-i386.c (allocate_dynrelocs): Likewise. + (readonly_dynrelocs): Likewise. + * elf32-i370.c (i370_elf_adjust_dynindx): Likewise. + * elf32-m68k.c (elf_m68k_discard_copies): Likewise. + * elf32-mips.c (mips_elf_output_extsym): Likewise. + (mips_elf_sort_hash_table_f): Likewise. + (mips_elf_check_mips16_stubs): Likewise. + * elf32-s390.c (allocate_dynrelocs): Likewise. + (readonly_dynrelocs): Likewise. + * elf32-sh.c (sh_elf_discard_copies): Likewise. + * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise. + (xstormy16_relax_plt_realloc): Likewise. + * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise. + (elf64_alpha_output_extsym): Likewise. + * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise. + * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise. + (mips_elf64_check_mips16_stubs): Likewise. + (mips_elf64_output_extsym): Likewise. + * elf64-ppc.c (func_desc_adjust): Likewise. + (allocate_dynrelocs): Likewise. + (readonly_dynrelocs): Likewise. + * elf64-s390.c (allocate_dynrelocs): Likewise. + (readonly_dynrelocs): Likewise. + * elf64-sh64.c (sh64_elf64_discard_copies): Likewise. + * elf64-x86-64.c (allocate_dynrelocs): Likewise. + (readonly_dynrelocs): Likewise. + * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise. + * aoutx.h (aout_link_write_other_symbol): Likewise. + * cofflink.c (_bfd_coff_write_task_globals): Likewise. + (_bfd_coff_write_global_sym): Likewise. + * i386linux.c (linux_tally_symbols): Likewise. + * m68klinux.c (linux_tally_symbols): Likewise. + * sparclinux.c (linux_tally_symbols): Likewise. + * pdp11.c (aout_link_write_other_symbol): Likewise. + * sunos.c (sunos_scan_dynamic_symbol): Likewise. + * xcofflink.c (xcoff_build_ldsyms): Likewise. + (xcoff_write_global_symbol): Likewise. + + * cofflink.c (_bfd_coff_final_link): Formatting. + * cpu-mips.c (mips_compatible): Make static, prototype. + * elf32-i386.c (elf_i386_check_relocs): Formatting. + * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise. + * elf64-alpha.c (elf64_alpha_output_extsym): Likewise. + * elf64-mips.c (mips_elf64_sort_hash_table): Likewise. + (mips_elf64_final_link): Likewise. + * elflink.h (elf_link_find_version_dependencies): Remove duplicate + prototype. + +2002-03-27 Nick Clifton <nickc@cambridge.redhat.com> + + * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define. + (SWAP_OUT_RELOC_OFFSET): Define. + +2002-03-27 Gregory Steuck <greg@nest.cx> + + * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for + terminating NULL if empty symbol table. + (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise. + +2002-03-26 H.J. Lu (hjl@gnu.org) + + * elflink.h (elf_link_input_bfd): Revert the last change since + the gcc exception handling isn't fixed yet. + +2002-03-26 H.J. Lu (hjl@gnu.org) + + * elflink.h (elf_link_input_bfd): Complain about relocations + against local symbols in discarded sections. + +2002-03-26 Alan Modra <amodra@bigpond.net.au> + + * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections. + +2002-03-23 Alan Modra <amodra@bigpond.net.au> + + * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on + section file offset for !SEC_LOAD sections. + +2002-03-21 Richard Earnshaw <rearnsha@arm.com> + + * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>, + <case R_ARM_GOT>): Handle relocations to Thumb functions. + +2002-03-21 Alan Modra <amodra@bigpond.net.au> + + * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype. + Whitespace changes. + * archive.c: Update copyright date. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * Makefile.am: Run "make dep-am" + * Makefile.in: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2002-03-20 Daniel Jacobowitz <drow@mvista.com> + + * dwarf2.c (struct funcinfo): Move up. + (lookup_address_in_function_table): New argument function_ptr. + Set it. + (lookup_address_in_line_table): New argument function. If function + is non-NULL, use it to handle ``addr'' before the first line note of + the function. + (comp_unit_find_nearest_line): Update and swap calls to + lookup_address_in_function_table and lookup_address_in_line_table. + * syms.c (_bfd_stab_section_find_nearest_line): Use the first + N_SLINE encountered if we see an N_FUN before any N_SLINE. + +2002-03-20 Tom Rix <trix@redhat.com> + + * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from + _bfd_xcoff_generic_stat_arch_elt. Fix format check. + * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt. + +2002-03-19 Tom Rix <trix@redhat.com> + + * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all + dynamic objects in archives. + +2002-03-19 Hans-Peter Nilsson <hp@bitrange.com> + + * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set + STT_NOTYPE symbols to STT_OBJECT. + +2002-03-18 Jan Hubicka <jh@suse.cz> + + * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64" + +2002-03-18 Tom Rix <trix@redhat.com> + + * aix5ppc.core.c : New file for AIX 5 64 bit core support. + * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration. + * coff-rs6000 (do_pad) : New function for archive padding. + (do_copy) : New function for object file copying in archives. + (do_shared_object_padding) : New function for padding shared + objects to their text section alignment in archives. + (bfd_xcoff_ar_achive_set_magic) : Stub. + (xcoff_write_armap_big) : Use do_copy and do_pad. + (xcoff_write_archive_contents_big) : Use do_shared_object_padding, + do_copy and do_pad. + * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use + bfd_xcoff_magic_number. + (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook + fop. + (xcoff_backend_data_r) : Use xcoff64_bad_format_hook. + (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data. + (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000. + * rs6000-core.c : Update copyright date. + * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL + csectpp. + * coffcode.h (coff_new_section_hook) : Use new accessor macros. + (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #. + (coff_set_flags) : Use bfd_xcoff_magic_number. + * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC. + * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support. + * Makefile.am : Same. + * config.bfd : Same. + * targets.c : Same. + * configure : Regnerate. + * Makefile.in : Same. + * bfd-in2.h : Same. + +2002-03-18 Nick Clifton <nickc@cambridge.redhat.com> + + * po/fr.po: Updated version. + +2002-03-18 Alan Modra <amodra@bigpond.net.au> + + * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success. + * libbfd.h: Regenerate. + * archive.c (coff_write_armap): Pass on failures from + bfd_write_bigendian_4byte_int. + +2002-03-14 H.J. Lu <hjl@gnu.org> + + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD + error to bfd_error_nonrepresentable_section for reinit_array + section in DSO. + +2002-03-14 Nick Clifton <nickc@cambridge.redhat.com> + + * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag, + OR it in rather than replacing previously selected flags. + + * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15. + (TARGET_LITTLE_SYM): Set ar_max_namelen to 15. + +2002-03-14 Alan Modra <amodra@bigpond.net.au> + + * cpu-mips.c (mips_compatible): New. Don't check bits_per_word. + (N): Use the above. + * elflink.h (elf_bfd_final_link): Revert last change. Instead, + ensure reloc size matches before calling elf_link_input_bfd. + Add an assert to check reloc size when counting output relocs. + +2002-03-14 Nick Clifton <nickc@cambridge.redhat.com> + + * mmo.c (mmo_get_loc): Return NULL rather than false. + +2002-03-13 Nick Clifton <nickc@cambridge.redhat.com> + + * po/fr.po: Updated version. + +2002-03-13 Alan Modra <amodra@bigpond.net.au> + + * archures.c (bfd_default_compatible): Test bits_per_word. + * cpu-i386.c (i386_compatible): Remove. Replace occurrences with + bfd_default_compatible. + * cpu-i370.c (i370_compatible): Likewise. + * cpu-sparc.c (sparc_compatible): Likewise. + * cpu-h8300.c (compatible): Test in->arch == out->arch. + + * elflink.h: Formatting fixes. + (elf_link_output_extsym): Merge undefined and undef weak cases. + + * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd + when word size of input matches output word size. + +2002-03-12 Andreas Jaeger <aj@suse.de> + + * cpu-i386.c (i386_compatible): New. Use it instead of + bfd_default_compatible. + +2002-03-07 H.J. Lu (hjl@gnu.org) + + * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type + as the type for bfd_reloc_val. + +2002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function. + (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols. + (elf_hppa_final_link_relocate): Correct relocations for indirect + references to local data through the DLT. Fix .opd creation for + local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64 + relocations. Use e_lsel selector for R_PARISC_DLTIND21L, + R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per + "Processor-Specific ELF for PA_RISC, Version 1.43" document. + Similarly, use e_rsel for DLT and LTOFF 'R' relocations. + * elf32-hppa.c (final_link_relocate): Revise relocation selectors + as per "Processor-Specific ELF for PA_RISC, Version 1.43" document. + +2002-03-05 Jakub Jelinek <jakub@redhat.com> + + * merge.c (_bfd_merge_sections): Don't segfault if there + is nothing to merge due to GC. + +2002-03-05 Alan Modra <amodra@bigpond.net.au> + + * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep + symbols that have been forced local. + + * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym + to output forced local syms for non-shared link. + (elf_link_output_extsym): Tweak condition for calling backend + adjust_dynamic_symbol so that previous behaviour is kept. + Whitespace changes throughout file. + +2002-03-04 H.J. Lu <hjl@gnu.org> + + * elf.c (bfd_section_from_shdr): Handle special sections, + .init_array, .fini_array and .preinit_array. + (elf_fake_sections): Likewise. + + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the + DT entry only if the section is in output for .init_array, + .fini_array and .preinit_array. Complain about .preinit_array + section in DSO. + (elf_bfd_final_link): Warn zero size for .init_array, + .fini_array and .preinit_array sections. + + * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove + SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY. + (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and + .preinit_array. + +2002-03-04 Alan Modra <amodra@bigpond.net.au> + + * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment. + * configure: Regenerate. + +2002-03-02 Tom Rix <trix@redhat.com> + + * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with + symbolic equiv. + * coff-rs6000.c (xcoff_howto_table): Same. + +2002-03-01 David Mosberger <davidm@hpl.hp.com> + + * elflink.h (size_dynamic_sections): If section named + ".preinit_array" exists, create DT_PREINIT_ARRAY and + DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for + ".init_array" and ".fini_array". + (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ, + DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and + DT_FINI_ARRAY. + +2002-02-26 Andrew Macleod <amacleod@cygnus.com> + + * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local + dynsyms. + +2002-02-25 Alan Modra <amodra@bigpond.net.au> + + * elf64-hppa.h: Update copyright date. + + * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix. + (ppc64_elf_relocate_section): Don't generate power4 style branch + hints for *_BRTAKEN and *_BRNTAKEN relocs. + +2002-02-22 Jakub Jelinek <jakub@redhat.com> + + * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my + last patch. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + +2002-02-21 Andreas Jaeger <aj@suse.de> + + * elf64-x86-64.c: Major rework that introduces all recent changes + to the x86-64 backend. Get a closer match to elf32-i386. + (struct elf64_x86_64_dyn_relocs): Rename from + elf64_x86_64_pcrel_relocs_copied, add additional fields. Change + all users. + (struct elf64_x86_64_link_hash_table): Add short cuts to some + sections. + (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc, + remove casts, initialize new hash members. + (create_got_section): New. + (elf64_x86_64_create_dynamic_sections): New. + (elf64_x86_64_copy_indirect_symbol): New. + (elf64_x86_64_check_relocs): Don't allocate space for dynamic + relocs, .got or .relgot here but do it in allocate_dynrelocs. + Reference count possible .plt and .got entries. Don't test input + section SEC_READONLY here to try to avoid copy relocs, and keep + dyn_relocs regardless of ELF_LINK_NON_GOT_REF. Don't set + DF_TEXTREL here. Delay setting of variables until needed. Cache + pointer to "sreloc" section in elf_section_data. Tweak condition + under which .got created. Report files with bad relocation + section names. + (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel. + Reference count possible .plt entries. Don't deallocate .got and + .relgot space here. + (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc. Don't + do copy reloc processing for weakdefs. Remove redundant casts and + aborts. Delay setting of vars until needed. Move creation of + dynamic symbols and allocation of .plt and .rela.plt to + allocate_dynrelocs. Replace BFD_ASSERT with abort. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New. + (allocate_dynrelocs): New. + (readonly_dynrelocs): New. + (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs. + Allocate space for dyn relocs. Replace BFD_ASSERT with abort. + Zero out the dynamic allocated content space. + (elf64_x86_64_discard_copies): Removed. + (elf64_x86_64_relocate_section): Make use of dynamic section + short-cuts. Localise vars, and delay setting. Better error + reporting, replace BFD_ASSERT with abort. Check + ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the + regular object file and tread the weak definition as the normal + one. Don't discard relocs for undefweak or undefined symbols and + check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy + relocs. + (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for + symbols that have been forced local. Use same test to decide if + we can use a relative reloc for got as relocate_section. Expand + SHN_UNDEF comment. Move expressions out of function calls. + Replace BFD_ASSERT with abort. + (bfd_elf64_bfd_final_link): Removed. + (elf_backend_copy_indirect_symbol): Define. + +2002-02-20 Tom Rix <trix@redhat.com> + + * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA. + (_bfd_xcoff_reloc_type_lookup): Use it. + * coff64-rs6000.c (xcoff64_howto_table): Same. + (xcoff64_reloc_type_lookup): Same. + +2002-02-20 Peter Schauer <pes@regent.e-technik.tu-muenchen.de> + + * osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are + little endian. + +2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31. + (bfd_mach_s390_esame): Rename to bfd_mach_s390_64. + * bfd-in2.h: Regenerate. + * cpu-s390.c (arch_info_struct): Use renamed architecture defines. + Replace architecture name "s390" with "s390:31-bit" and "s390:esame" + with "s390:64-bit". + * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations. + (elf_s390_reloc_type_lookup): Likewise. + (elf_s390_check_relocs): Likewise. + (elf_s390_gc_sweep_hook): Likewise. + (elf_s390_relocate_section): Likewise. + (elf_s390_object_p): Use renamed architecture define. + * elf64-s390.c (elf_s390_object_p): Use renamed architecture define. + +2002-02-19 Frank Ch. Eigler <fche@redhat.com> + + * syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping. + +2002-02-19 Jakub Jelinek <jakub@redhat.com> + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable + absptr -> pcrel optimization for shared libs. + Only create minimal .eh_frame_hdr if absptr FDE encoding in shared + library cannot be converted to pcrel. + (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr + relative. + * elf32-i386.c (elf_i386_relocate_section): If + _bfd_elf_section_offset returned -2, skip, but make sure the + relocation is installed. + * elf32-arm.h (elf32_arm_final_link_relocate): Likewise. + * elf32-cris.c (cris_elf_relocate_section): Likewise. + * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. + * elf32-i370.c (i370_elf_relocate_section): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf32-s390.c (elf_s390_relocate_section): Likewise. + * elf32-sh.c (sh_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. + * elf64-s390.c (elf_s390_relocate_section): Likewise. + * elf64-sh64.c (sh_elf64_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + * elf64-alpha.c (elf64_alpha_relocate_section): Handle + _bfd_elf_section_offset returning -2 the same way as -1. + * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise. + * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME + and BFD_ASSERT. + * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise. + +2002-02-18 Tom Rix <trix@redhat.com> + + * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support. + (bfd_xcoff_size_dynamic_sections): Same. + * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same. + (bfd_xcoff_size_dynamic_sections): Same. + * coff-rs6000.c (xcoff_generate_rtinit): Same. + * coff-rs646000.c (xcoff64_generate_rtinit): Same. + * libxcoff.h (struct xcoff_backend_data_rec): Same. + * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean. + * bfd-in2.h: Regenerate. + +2002-02-18 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define. + (struct ppc_link_hash_table): Add sfpr. + (ppc64_elf_link_hash_table_create): Init it. + (ppc64_elf_create_dynamic_sections): Split creation of .stub and + .glink out to.. + (create_linkage_sections): ..here. Make .sfpr too. + (ppc64_elf_check_relocs): Call create_linkage_sections, and set + dynobj early. + (MIN_SAVE_FPR, MAX_SAVE_FPR): Define. + (ppc64_elf_func_desc_adjust): Look for missing ._savef* and + ._restf* functions, and create as needed. + (func_desc_adjust): Only force_local for shared libs. + +2002-02-18 David O'Brien <obrien@FreeBSD.org> + + * configure.in: Bump version number post 2.12 branching. + * configure: Regenerate. + +2002-02-17 Hans-Peter Nilsson <hp@bitrange.com> + + * mmo.c: Correct and improve comments. + (mmo_write_chunk): Store trailing byte in bfd buffer; don't + zero-pad. Use input to fill up non-empty bfd buffer. + (mmo_flush_chunk): New function. + (mmo_write_loc_chunk): Add parameter last_vmap, all callers + changed. Don't emit location specifier if VMA is same as + *LAST_VMAP after omitting leading zero contents. Call + mmo_flush_chunk before emitting location specifier. + (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished + with mmo_write_loc_chunk calls. + (mmo_internal_write_section): Call mmo_flush_chunk after + mmo_write_chunk. + (mmo_write_symbols_and_terminator): Move :Main to first position + in symbol array. Add faked one if it does not exist if there are + other symbols. Don't add it if there are no symbols at all. Move + out test for value of :Main from symbol loop. Rename table + fakemain to maintable and variable mainsym to fakemain. + +2002-02-15 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target + section with no got matches any got. Simplify error generaion. + +2002-02-15 Alan Modra <amodra@bigpond.net.au> + + Support arbitrary length fill patterns. + * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc. + (_bfd_default_link_order): Remove bfd_fill_link_order code. + Call default_data_link_order. + (default_fill_link_order): Delete. + (default_data_link_order): New function. + * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences + of bfd_fill_link_order with bfd_data_link_order. + * elf64-alpha.c (elf64_alpha_final_link): Likewise. + * elf64-mips.c (mips_elf64_final_link): Likewise. + + * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value. + Correct value returned in "end" for "0x<non-hex>". + +2002-02-14 Nick Clifton <nickc@cambridge.redhat.com> + + * cpu-arm.c (processors): Replace 'arch' field with 'mach'. + (scan): Test against 'mach' field in info structure. + +2002-02-14 Alan Modra <amodra@bigpond.net.au> + + * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD. + +2002-02-14 Matt Fredette <fredette@netbsd.org> + + * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize + EF_M68000. + +2002-02-13 Nick Clifton <nickc@cambridge.redhat.com> + + * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on + non-zero physical addresses when adjusting the LMAs of new + sections. + +2002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped + from _bfd_elf_hppa_gen_reloc_type. + (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype. + * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype. + * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h. + * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype. + +2002-02-12 Alexandre Oliva <aoliva@redhat.com> + + * elf-m10300.c (mn10300_elf_relax_section): Skip section before + loading its contents if there's nothing to do in it. + +2002-02-12 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing + 64k boundary. + + * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic + DT_PPC64_OPD and DT_PPC64_OPDSZ tags. + (ppc64_elf_finish_dynamic_sections): Set values for them. + +2002-02-11 Michael Snyder <msnyder@redhat.com> + + * elf-bfd.h (elfcore_write_lwpstatus): Add prototype. + * elf.c (elfcore_grok_pstatus): Add prototype. + (elfcore_grok_lwpstatus): Add prototype. + (elfcore_write_lwpstatus): New function. + (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy. + +2002-02-11 Alexandre Oliva <aoliva@redhat.com> + + * elf32-sh.c: Added missing prototypes. + * elf32-sh64.c: Likewise. + (sh_elf_align_loads): Mark unused args as such. + * elf64-sh64.c: Added missing prototypes. + (struct elf_sh64_link_hash_entry): Fix typo. + (sh_elf64_relocate_section): Fix info argument passed to + _bfd_elf_section_offset. + +2002-02-11 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: "make dep-am". + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * config.in: Regenerate. + * configure: Regenerate. + +2002-02-10 Daniel Jacobowitz <drow@mvista.com> + + * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized + variable warnings. + * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned + comparison warning. + * trad-core.c (trad_unix_core_file_p): Silence pointer/integer + cast warnings for the common case. + +2002-02-10 Hans-Peter Nilsson <hp@bitrange.com> + + * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64 + vectors. + (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64 + vectors. + +2002-02-09 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP. + (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise. + (elf64_alpha_relocate_section): Likewise. + * reloc.c (BFD_RELOC_ALPHA_BRSGP): New. + * bfd-in2.h, libbfd.h: Rebuild. + +2002-02-09 Hans-Peter Nilsson <hp@bitrange.com> + + * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check + that base-plus-offset reloc accounting is consistent. + (mmix_elf_relax_section): Keep base-plus-offset reloc accounting + up to date for undefined symbols. + +2002-02-08 Eric Christopher <echristo@redhat.com> + + From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela + sections for the O32 ABI. + +2002-02-08 Chris Demetriou <cgd@broadcom.com> + + * elf32-arm.h: Fix formatting of _("..."). + * elf32-d10v.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-mips.c: Likewise. + +2002-02-08 Ivan Guzvinec <ivang@opencores.org> + + * coff-or32.c: Fix compile time warning messages. + +2002-02-08 Alexandre Oliva <aoliva@redhat.com> + + Contribute sh64-elf. + 2002-01-23 Alexandre Oliva <aoliva@redhat.com> + * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16, + R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16, + R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16, + R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16, + R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16, + R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16, + R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16, + R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8, + R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64): + New relocs. + * libbfd.h, bfd-in2.h: Rebuilt. + * elf32-sh.c (sh_elf_howto_table): Define new relocs. + (sh_reloc_map): Map them. + (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le, + elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be, + elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry, + elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset, + elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset, + elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset, + movi_shori_putval) [INCLUDE_SHMEDIA]: New. + (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add + datalabel_got_offset. + (sh_elf_link_hash_newfunc): Initialize it. + (sh_elf_relocate_section): Augment the scope of + seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT, + GOT and GOTOFF handling to new SHmedia relocation types. Support + GOT_BIAS. + (sh_elf_check_relocs): Likewise. + (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in + PLT entries using movi_shori_putval. Support GOT_BIAS. + (sh_elf_finish_dynamic_sections): Likewise. + * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to + relocation, it's now done by the caller. + (GOT_BIAS): New. + * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt, + elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset, + elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset, + elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER, + elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry, + elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse, + sh64_elf64_hash_table): New. + (sh_elf64_howto_table): Introduce new relocs. + (sh_elf64_info_to_howto): Accept new PIC relocs. + (sh_elf64_relocate_section): Augment the scope of + seen_stt_datalabel. Support new PIC relocs. + (sh_elf64_check_relocs): Support new PIC relocs. + (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le, + elf_sh64_plt_entry_be, elf_sh64_plt_entry_le, + elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le, + elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry, + sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create, + movi_shori_putval, movi_3shori_putval, + sh64_elf64_create_dynamic_sections, + sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies, + sh64_elf64_size_dynamic_sections, + sh64_elf64_finish_dynamic_symbol, + sh64_elf64_finish_dynamic_sections): New. + (elf_backend_create_dynamic-sections, + bfd_elf64_bfd_link_hash_table_create, + elf_backend_adjust_dynamic_symbol, + elf_backend_size_dynamic_sections, + elf_backend_finish_dynamic_symbol, + elf_backend_finish_dynamic_sections, elf_backend_want_got_plt, + elf_backend_plt_readonly, elf_backend_want_plt_sym, + elf_backend_got_header_size, elf_backend_plt_header_size): + Define. + 2001-05-16 Alexandre Oliva <aoliva@redhat.com> + * elf32-sh.c: Renumbered and renamed some SH5 relocations to + match official numbers and names; moved unmaching ones to the + range 0xf2-0xff. + * elf32-sh64.c, elf64-sh64.c: Likewise. + 2001-03-12 DJ Delorie <dj@redhat.com> + * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia + sections. + 2001-03-12 DJ Delorie <dj@redhat.com> + * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must + be aligned. + * elf64-sh64.c (sh_elf64_relocate_section): Ditto. + 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com> + * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define. + (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a + .cranges section with SEC_SORT_ENTRIES set. + (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an + incoming sorted .cranges section. + (sh64_bfd_elf_copy_private_section_data): New. + (sh64_elf_final_write_processing): Only sort .cranges and modify + start address if called by linker. + 2001-01-08 Ben Elliston <bje@redhat.com> + * elf32-sh64.c (sh64_elf_final_write_processing): Activate + Hans-Peter Nilsson's set bit 0 patch from 2001-01-06. + * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto. + 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com> + * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of + line. Add comments before all entries. + <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing + comment. + (sh_elf64_reloc): Correct head comment. + (sh_elf64_relocate_section): Correct spacing. + <relocating for a local symbol>: Do not honour STO_SH5_ISA32; + instead call reloc_dangerous callback. + <case R_SH_SHMEDIA_CODE>: New case. + (sh_elf64_gc_mark_hook): Correct spacing. + (sh_elf64_check_relocs): Ditto. + * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>: + New case. + * elf32-sh.c: Correct #endif comments for #ifndef-wrapped + functions. + (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct, + clarify describing comment. Add comments before all entries. + (sh_elf_relocate_section) <relocating for a local symbol>: Do not + honour STO_SH5_ISA32; instead call reloc_dangerous callback. + 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com> + Sort .cranges section in final link. Prepare to set bit 0 on + entry address. + * elf32-sh64.c (struct sh64_find_section_vma_data): New. + (sh64_elf_link_output_symbol_hook): Fix typo in prototype. + (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming + .cranges section. + (sh64_backend_section_from_shdr): New, to recognize + SHT_SH5_CR_SORTED on incoming .cranges section. + (elf_backend_section_from_shdr): Define. + (sh64_elf_final_write_processing): Sort outgoing .cranges + section. (New, temporarily disabled:) Set bit 0 on entry address + according to ISA type. + (sh64_find_section_for_address): New. + (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb, + crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c. + (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use + bfd_malloc, not xmalloc. + (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make + global. + * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but + temporarily disabled) setting bit 0 on entry address. + (elf_backend_final_write_processing): Define. + 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com> + * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to + be a proper relocation for PTA and PTB rather than a marker. + <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2, + R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16, + R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16, + R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL, + R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>: + Zero src_mask. + * elf64-sh64.c: Ditto. + (sh_elf64_relocate_section) <case R_SH_PT_16>: New case. + * elf32-sh64.c: Include opcodes/sh64-opc.h + (shmedia_prepare_reloc): Take a bfd_link_info pointer as first + argument. Drop const qualifiers from "bfd *" and "bfd_byte *" + parameters. No unused parameters. Caller changed. + <case R_SH_PT_16>: New case. + * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h. + * Makefile.in: Regenerate. + 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com> + * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for + all code sections. + (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5. + (sh64_elf_merge_private_data): Ditto. + * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data + to access stored section flags. + (sh64_elf_final_write_processing): Return immediately unless + called by linker. Use sh64_elf_section_data (cranges) to get size + of linker-generated cranges entries. + (sh64_elf_copy_private_data): Add missing "return true". + (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5. + (sh_elf64_merge_private_data): Ditto. + 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com> + * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of + elf64-sh64.c:sh64_elf_fake_sections. + (elf_backend_fake_sections): Define as sh64_elf64_fake_sections. + 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com> + * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete. + (sh64_elf_final_write_processing): New. + (elf_backend_final_write_processing): Define. + (sh64_elf_fake_sections): Get header flags from tdata field. + (sh64_elf_copy_private_data): Do not call + sh64_elf_copy_private_data_internal, just copy e_flags field. + (sh64_elf_merge_private_data): Do not call + sh64_elf_copy_private_data_internal. + 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com> + Remove EF_SH64_ABI64, let ELF size make difference. + Remove SH64-specific BFD section flag. + * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as + containing SHmedia through elf_section_data (asect)->tdata + non-zero, not using a BFD section flag. + (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64. + (sh64_elf_merge_private_data): Similar. + (elf_backend_section_flags): Don't define. + (sh64_elf_backend_section_flags): Delete. + * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64, + not EF_SH64_ABI64. + (sh_elf64_merge_private_data): Similar. + * section.c (Section flags definitions): Don't define + SEC_SH_ISA_SHMEDIA. + (bfd-in2.h): Regenerate. + 2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com> + Make DataLabel references work with partial linking. + * elf32-sh64.c: Fix formatting. + (sh64_elf_link_output_symbol_hook): New. + (elf_backend_link_output_symbol_hook): Define to + sh64_elf_link_output_symbol_hook. + (sh64_elf_add_symbol_hook): Make DataLabel symbol just global + undefined if partial linking. Adjust sanity check. + * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New. + (elf_backend_link_output_symbol_hook): Define to + sh64_elf64_link_output_symbol_hook. + (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global + undefined if partial linking. Adjust sanity check. + 2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com> + Implement semantics for inter-file DataLabel references. + * elf64-sh64.c (DATALABEL_SUFFIX): Define. + (sh64_elf64_add_symbol_hook): New. + (sh_elf64_relocate_section): If passing an indirect symbol with + st_type STT_DATALABEL on the way to a symbol with st_other + STO_SH5_ISA32, do not bitor 1 to the relocation. + (elf_backend_add_symbol_hook): Define to + sh64_elf64_add_symbol_hook. + * elf64-sh32.c: Tweak comments. + (DATALABEL_SUFFIX): Define. + (sh64_elf_add_symbol_hook): New. + (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook. + * elf32-sh.c (sh_elf_relocate_section): If passing an indirect + symbol with st_type STT_DATALABEL on the way to a symbol with + st_other STO_SH5_ISA32, do not bitor 1 to the relocation. + 2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com> + Pass through STT_DATALABEL. + * elf32-sh64.c (sh64_elf_get_symbol_type): New. + (elf_backend_get_symbol_type): Define. + * elf64-sh64.c (sh64_elf64_get_symbol_type): New. + (elf_backend_get_symbol_type): Define. + 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com> + * elf32-sh64.c: Tweak comments. + (sh64_elf_copy_private_data_internal): Add prototype. + (bfd_elf32_bfd_set_private_flags): Define. + (sh64_elf_copy_private_data_internal): Compare machine name, not + textual BFD target name, to check whether to copy section flag + SHF_SH5_ISA32. + (sh64_elf_merge_private_data): Validize bfd_get_arch_size. + Tweak section-contents-type-mismatch message. + (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers. + Validize reloc-types. + * elf64-sh64.c: New file. + * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare. + * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo. + (BFD64_BACKENDS_CFILES): Add elf64-sh64.c. + Regenerate dependencies. + * Makefile.in: Regenerate. + * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and + bfd_elf64_sh64l_vec. + * configure.in: Handle bfd_elf64_sh64_vec and + bfd_elf64_sh64l_vec. + * configure: Regenerate. + * po/POTFILES.in: Regenerate. + * po/bfd.pot: Regenerate. + 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com> + * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize + anything else but EF_SH64 and EF_SH64_ABI64. + (sh64_elf_merge_private_data): Emit error for anything else but + EF_SH64 and EF_SH64_ABI64. + * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec + from targ_selvecs. + * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and + bfd_elf32_sh64l_vec as a temporary measure. + * configure: Regenerate. + 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com> + * cpu-sh.c (arch_info_struct): Include sh5 item + unconditionalized. + * config.bfd (sh64-*-elf*): Do not set targ_cflags. + Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec, + bfd_elf32_shblin_vec and bfd_elf32_shlin_vec. + * elf32-sh64.c: Tweak comments. + (sh64_elf_set_mach_from_flags): Recognize all machine flags that + are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64. + (sh64_elf_copy_private_data_internal): Wrap long line. + (sh64_elf_merge_private_data): Rewrite to allow objects from + SH64 subsets to be linked together. + (INCLUDE_SHMEDIA): Define. + * elf32-sh.c (sh_elf_relocate_section) <local symbol>: + Parenthesize plus-expression inside or-expression. + <global symbol>: Ditto. + (sh_elf_set_mach_from_flags): Remove code refusing + deleted EF_SH64_32BIT_ABI flag. + 2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com> + * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL, + R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL, + R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true. + (sh_elf_relocate_section) <local symbol>: Or 1 in + calculation of relocation if sym->st_other & STO_SH5_ISA32. + <global symbol>: Ditto if h->other & STO_SH5_ISA32. + * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to + relocation. + 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com> + * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo. + (BFD32_BACKENDS_CFILES): Add elf32-sh64.c. + Regenerate dependencies. + * Makefile.in: Regenerate. + * archures.c: Add bfd_mach_sh5. + * config.bfd: Map targ_cpu sh* to bfd_sh_arch. + Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA. + * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec. + * configure: Regenerate. + * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5, + BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6, + BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2, + BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8, + BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16, + BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16, + BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16, + BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16, + BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations. + * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link + in item for SH5. + * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items + for SHmedia relocs. + [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs. + [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call + shmedia_prepare_reloc, goto final_link_relocate if it returns + non-zero, else fail as before. + (sh_elf_set_mach_from_flags): Provide function only if not defined + as macro. Do not recognize objects with EF_SH64_32BIT_ABI set. + (sh_elf_set_private_flags): Provide function only if not defined + as a macro. + (sh_elf_copy_private_data): Similar. + (sh_elf_merge_private_data): Similar. + * section.c (SEC_SH_ISA_SHMEDIA): New. + * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare. + * elf32-sh64.c: New file. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + * po/POTFILES.in: Regenerate. + * po/bfd.pot: Regenerate. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2002-02-07 Daniel Jacobowitz <drow@mvista.com> + + * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has + been included, not drag it in. + * bfd-in2.h: Regenerate. + +2002-02-06 H.J. Lu (hjl@gnu.org) + + * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update + the mach and ISA fields if necessary. + +2002-02-06 Nick Clifton <nickc@cambridge.redhat.com> + + * coffcode.h (coff_set_arch_mach_hook): Select the highest known + ARM architecture when an F_ARM_5 flag is detected, since we cannot + be sure exactly which architecture this represents. + +2002-02-05 Nick Clifton <nickc@redhat.com> + + * po/tr.po: Updated translation. + +2002-02-05 Alan Modra <amodra@bigpond.net.au> + + From Jimi X <jimix@watson.ibm.com> + * archures (bfd_mach_ppc64): Define. + (bfd_powerpc_arch): Rename to bfd_powerpc_archs. + (bfd_powerpc_arch): Define. + * bfd-in2.h: Regenerate. + * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs. + (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs. + (bfd_powerpc_archs): Add default powerpc64 arch. + +2002-02-05 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs + against section syms in readonly sections. Don't do the global + sym check if we find one. + * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise. + * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise. + * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise. + * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise. + (elf_s390_grok_prstatus): Add missing prototype. + +2002-02-04 Hans-Peter Nilsson <hp@bitrange.com> + + * elf64-mmix.c (mmix_dump_bpo_gregs): New function. + (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>: + Call bfd_get_section_by_name only once. Initialize + bpodata->n_bpo_relocs_this_section. + (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment + referring to DSOs. + (bpo_reloc_request_sort_fn): Don't use difference of values as + return-value. + +2002-02-02 David O'Brien <obrien@FreeBSD> + + * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat + version 4.5 and later the same as 5-CURRENT. + * configure: Re-generate. + +2002-02-02 Jason Thorpe <thorpej@wasabisystems.com> + + * config.bfd (hppa*-*-netbsd*): New target. + +2002-01-31 Philipp Thomas <pthomas@suse.de> + + * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR + to front of message. Unify messages with elf32-arm.h. Use + commas where neccessary. + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase + ERROR in messages. Unify messages with coff-arm.c. Correct + VFP/FPA error message. + (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and + APCS-32 for translation. + +2002-02-01 Hans-Peter Nilsson <hp@bitrange.com> + + Perform on-demand global register allocation from + R_MMIX_BASE_PLUS_OFFSET relocs. + * elf64-mmix.c (struct bpo_reloc_section_info, struct + bpo_reloc_request, struct bpo_greg_section_info): New. + (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook, + bpo_reloc_request_sort_fn, mmix_elf_relax_section, + _bfd_mmix_check_all_relocs, + _bfd_mmix_prepare_linker_allocated_gregs, + _bfd_mmix_finalize_linker_allocated_gregs): New functions. + (elf_mmix_howto_table): Correct src_mask for most relocs. + (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New + case. + (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New + case. Fix typo in comment. New label do_mmix_reloc. + (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to + store first object file with a base-plus-offset reloc. Call + mmix_elf_check_common_relocs for the part common with mmo. + (mmix_elf_final_link): Write out linker-allocated register + contents section. + (elf_backend_gc_sweep_hook): Define. + (bfd_elf64_bfd_relax_section): Define. + + * mmo.c: Don't include <ctype.h> + (mmo_init): Correct init-once logic. + +2002-02-01 Tom Rix <trix@redhat.com> + + * config.bfd: Conditionally support <aiaff> for pre AIX 4.3. + +2002-02-01 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am" + * Makefile.in: Regenerate. + +2002-01-31 David O'Brien <obrien@FreeBSD> + + * configure.in: Recognize the differences in core files from FreeBSD + 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as + 5-CURRENT. + * configure: Regenerate. + +2002-01-31 Ivan Guzvinec <ivang@opencores.org> + + * coff-or32.c: New file. + * cpu-or32.c: New file. + * elf32-or32.c: New file. + * archures.c: Add support for or32. + * targets.c: Add support for or32. + * bfd-in2.h: Regenerate. + * coffcode.h (coff_set_arch_mach_hook, coff_set_flags, + coff_write_object_contents): Add support for or32. + * config.bfd: Add target. + * configure.in: Add support for or32. + * configure: Regenerate. + * Makefile.am: Add support for or32. + * Makefile.in: Regenerate. + * po/SRC-POTFILES.in: Add or32 files. + * po/bfd.pot: Regenerate. + +2002-01-31 Nick Clifton <nickc@cambridge.redhat.com> + Don Lindsay <lindsayd@cisco.com> + + * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return + false' with a return of a bfd_reloc_ error code. + +2002-01-31 Hans-Peter Nilsson <hp@axis.com> + + * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't + unexport unreferenced symbols when --export-dynamic. Call + _bfd_elf_strtab_delref when unexporting. + +2002-01-30 Daniel Jacobowitz <drow@mvista.com> + + * bfd-in.h: Include <stdbool.h> if it is available. + * bfd-in2.h: Regenerated. + +2002-01-31 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should + not go via the plt. + +2002-01-30 Nick Clifton <nickc@cambridge.redhat.com> + + * archures.c: Tidy up formatting of embedded comments. + * bfd.c: Tidy up formatting of embedded comments. + * bfd-in.h: Fix formatting of comments. + * reloc.c: Tidy up formatting of ordinary & embedded comments. + * section.c: Tidy up formatting of embedded comments. + * syms.c: Tidy up formatting of embedded comments. + * targets.c: Tidy up formatting of embedded comments. + + * bfd-in2.h: Regenerate. + +2002-01-30 Nick Clifton <nickc@cambridge.redhat.com> + + * vms-tir.c (cmd_name): New function. + (tir_cmd_name): New function. + (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name(). + (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name(). + Fix formatting. + + * peXXigen.c (pe_print_idata): Rearrange message to aid in + translation. + (pe_print_pdata): Rearrange message to aid in translation. + + * libbfd.c (warn_deprecated): Rearrange error message to aid in + translation. + + * ihex.c (ihex_write_object_contents): Fix spelling typo. + + * ieee.c (ieee_slurp_external_symbols): Remove spurious space. + + * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error + message to aid in translation. + + * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message + to aid in translation. + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo. + +2002-01-30 Philipp Thomas <pthomas@suse.de> + + * coff-arm.c, elf32-elf.h: Unify messages. + +2002-01-30 Nick Clifton <nickc@redhat.com> + + * po/sv.po: Updated translation. + +2002-01-30 Philipp Thomas <pthomas@suse.de> + + * dwarf2.c (read_abbrev): Use full section name in error message. + (decode_line_info): Likewise. + + * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging + message. + +2002-01-30 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (func_desc_adjust): Only provide missing function + descriptor symbols for undefined function code syms. Clear + ELF_LINK_NON_ELF so that they can stay weak. + +2002-01-29 Chris Demetriou <cgd@broadcom.com> + Mitch Lichtenberg <mpl@broadcom.com> + + * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype. + * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function + to handle 32-bit ELF embedded reloc (ld --embedded-relocs) + generation. + * bfd-in2.h: Regenerate. + +2002-01-29 Chris Demetriou <cgd@broadcom.com> + + * elf32-mips.c: Add additional comments about HI16 relocation + processing. + (_bfd_mips_elf_hi16_reloc): Don't subtract address here for + pc-relative relocations. (Reverts change made on 2001-10-31.) + (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here + for pc-relative relocations. + (mips_elf_calculate_relocation): Add a comment about a kludge + in the R_MIPS_GNU_REL_HI16 handling. + (_bfd_mips_elf_relocate_section): Implement that kludge; + adjust pc-relative HI16 relocation for difference in HI16 and + LO16 addresses, since it can't easily be done in + mips_elf_calculate_relocation. + +2002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32 + relocations with PC32 relocations for undefined or weak symbols. + * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise. + * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise. + +2002-01-28 Jason Thorpe <thorpej@wasabisystems.com> + + * elfcore.h (elf_core_file_p): Improve comment for last change. + +2002-01-27 Daniel Jacobowitz <drow@mvista.com> + + * configure: Regenerated. + +2002-01-27 Jason Thorpe <thorpej@wasabisystems.com> + + * elfcore.h (elf_core_file_p): Set the machine architecture + before processing the program headers. + +2002-01-26 Hans-Peter Nilsson <hp@bitrange.com> + + * configure.in <64-bit configuration>: If using gcc, check and + emit error for egcs-1.1.2. + * configure: Regenerate. + +2002-01-26 Egor Duda <deo@logos-m.ru> + + * elf.c (elfcore_grok_win32pstatus): Copy only as much information + as possible to avoid stack corruption. + +2002-01-26 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext + for non-allocated sections. + +2002-01-25 Mark Kettenis <kettenis@gnu.org> + + * elf.c (elfcore_write_prstatus): Make sure we pass the address of + prstat.pr_reg even if it is a struct. + +2002-01-25 Steve Ellcey <sje@cup.hp.com> + + * elfxx-ia64.c: Reset AIX vector function overrides for HP-UX. + +2002-01-25 Philipp Thomas <pthomas@suse.de> + + * coffgen.c (coff_print_symbol): Don't mark info message + for translation. + +2002-01-25 Nick Clifton <nickc@redhat.com> + + * po/fr.po: Updated translation. + * po/es.po: Updated translation. + +2002-01-25 Philipp Thomas <pthomas@suse.de> + + * coff-alpha.c (alpha_relocate_section): Unify warning message + for GP relative relocations without GP defined. + * coff-mips.c (mips_relocate_section): Likewise. + +2002-01-25 Alan Modra <amodra@bigpond.net.au> + + * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid + unsigned overflow when new_offset < old_offset. + +2002-01-24 Philipp Thomas <pthomas@suse.de> + + * bfd.c (_bfd_abort): Fix typo. + +2002-01-23 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress + plt entries for undefweak symbols. + +2002-01-23 Steve Ellcey <sje@cup.hp.com> + + * targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR. + (bfd_elf64_ia64_hpux_big_vec): Ditto. + (bfd_elf32_h8300_vec): Ditto. + +2002-01-23 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c: Remove stale part of ABI comment. + (NO_OPD_RELOCS): Define. + (ppc64_elf_check_relocs): Use it. + (ppc64_elf_relocate_section): Here too. + (build_one_stub): Don't point function syms at the stub. Instead, + hijack plt.offset. + (ppc64_elf_relocate_section): Check whether REL24 relocs should + really go to the stub. Make all dynamic relocs in opd against + locals. + (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of + plt.offset. + +2002-01-22 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp. + +2002-01-22 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of + TOC_BASE_OFF adjustment. + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new + host defines. + +2002-01-21 Hans-Peter Nilsson <hp@axis.com> + + * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>: + Check for and emit error if sgot is NULL at this point. + +2002-01-21 Jason Thorpe <thorpej@wasabisystems.com> + + * config.bfd (ia64*-*-netbsd*): New target. + +2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at> + + * som.c (som_write_space_strings): Comment typo fix. + +2002-01-21 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and + is_func_descriptor fields. + (link_hash_newfunc): Init them. + (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a + dot are candidates for plt entries. When processing .opd relocs, + set function descriptor strings to point inside function code + string, and set new ppc_link_hash_entry fields. + (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs. + (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with + function descriptors. It's now done in.. + (func_desc_adjust): New. + (ppc64_elf_func_desc_adjust): New. + (define elf_backend_always_size_sections): Define. + (ppc64_elf_hide_symbol): New. + (define elf_backend_hide_symbol): Define. + (allocate_dynrelocs): Remove code looking up function descriptors + as that has been done earlier. + (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash + table. + (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking + up function descriptor. + (build_one_stub): Look up the function code sym. Check for + invalid plt offsets. + (ppc64_elf_relocate_section): Tweak calls to undefined weak syms. + Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs. + + * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add + boolean param. + (_bfd_elf_link_hash_hide_symbol): Likewise. + * elflink.h (elf_link_add_object_symbols): Adjust call to + elf_backend_hide_symbol. + (elf_fix_symbol_flags): Likewise. + (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather + than bfd_alloc. + * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param. + Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref. + * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise. + (clobber_millicode_symbols): Adjust to suit new hide_symbol. + * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param + and adjust to suit. + * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call + _bfd_elf_link_hash_hide_symbol rather than duplicating code. + * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise. + +2002-01-18 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a + dynamic function descriptor symbol, not the associated function + symbol. + +2002-01-17 Eric Christopher <echristo@redhat.com> + + * elf32-mips.c (mips_elf_calculate_relocation): Fix typo. + +2002-01-17 Nick Clifton <nickc@cambridge.redhat.com> + + * po/bfd.pot: Regenerate. + * po/fr.po: Regenerate. + +2002-01-17 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>): + Remove "Elf_Internal_Shdr *" param. + (_bfd_mips_elf_section_from_bfd_section): Ditto. + * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto. + * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto. + * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto. + * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto. + * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto. + * elf.c (_bfd_elf_section_from_bfd_section): Allow backend + function to override special sections. Remove hdr arg from + backend call, and don't loop. + +2002-01-16 Eric Christopher <echristo@redhat.com> + + * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp + on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of + relocations requiring gp0 and gp. + +2002-01-16 Richard Earnshaw <rearnsha@arm.com> + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle + EF_ARM_VFP_FLOAT. + (elf32_arm_print_private_bfd_data): Likewise. + +2002-01-16 Nick Clifton <nickc@cambridge.redhat.com> + + * po/tr.po: Import new version. + +2002-01-16 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs. + (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc. + (ORI_R0_R0_0): Correct. + +2002-01-16 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE + when plt_not_loaded. + * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to + clear .plt SEC_CODE here. Create .stub and correct .glink flags. + (PLT_INITIAL_ENTRY_SIZE): Set to 24. + (ppc64_elf_glink_code): Delete. + (PPC64_ELF_GLINK_SIZE): Delete. + (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11, + BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0, + ORI_R0_R0_0): Define. + (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define. + (struct ppc_link_hash_table): Add sstub and plt_overflow. + (ppc64_elf_link_hash_table_create): Init them. + (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry. + Don't copy to shared lib. + (ppc64_elf_check_relocs): Call bfd_set_error on errors. + (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount. + (allocate_dynrelocs <plt>): Don't change function sym here. Make + room for .stub and .glink code. + (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for + DT_PPC64_GLINK. + (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call + bfd_elf64_bfd_final_link. + (bfd_elf64_bfd_final_link): Don't define. + (ppc64_elf_size_stubs): New. + (build_plt_stub): New. + (build_one_stub): New. + (ppc64_elf_build_stubs): New. + (ppc64_elf_relocate_section <toc relocs>): Remove assert. + (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs. + (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set + DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in + case output sections not separate. Adjust DT_RELASZ to not + include plt relocs. Set reserved got entry. Set got and plt + entry size. + (elf_backend_got_header_size): Set to 8. + * elf64-ppc.h: New file. + +2002-01-16 Alan Modra <amodra@bigpond.net.au> + + * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing + sections, use bfd_section_list_remove. + * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise. + * elflink.h (elf_link_add_object_symbols): When removing all + sections, use bfd_section_list_clear. + +2002-01-15 Nick Clifton <nickc@cambridge.redhat.com> + + * po/sv.po: New file: Swedish translation. + * configure.in (ALL_LINGUAS): Add sv. + * configure: Regenerate. + +2002-01-15 Jakub Jelinek <jakub@redhat.com> + + * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change. + * elf.c (merge_sections_remove_hook): New function. + (_bfd_elf_merge_sections): Pass it as 3rd argument to + _bfd_merge_sections. + * libbfd-in.h (_bfd_merge_sections): Add 3rd argument. + * libbfd.h: Rebuilt. + * merge.c (_bfd_merge_sections): Add remove_hook argument. + Call remove_hook if a SEC_EXCLUDE section is encountered. + +2002-01-15 Nick Clifton <nickc@cambridge.redhat.com> + + * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'. + (xstormy16_reloc_map): Initialise new field with correct howto + table. + (xstormy16_reloc_type_lookup): Use 'table' field to locate correct + howto entry. + +2002-01-10 Michael Snyder <msnyder@redhat.com> + + * elf.c (elfcore_write_prstatus): Use long instead of pid_t; + (elfcore_write_pstatus): Use long instead of pid_t; + * elf-bfd.h: Change prototypes to use long instead of pid_t; + +2002-01-09 Jason Thorpe <thorpej@wasabisystems.com> + + * elf.c: Update copyright years. + (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO + and NT_NETBSDCORE_FIRSTMACH. Improve a comment. + +2002-01-08 Michael Snyder <msnyder@redhat.com> + + Add capability to write corefile note sections, for gdb. + * elf.c (elfcore_write_note): New function. + (elfcore_write_prpsinfo): New function. + (elfcore_write_prstatus): New function. + (elfcore_write_pstatus): New function. + (elfcore_write_prfpreg): New function. + (elfcore_write_prxfpreg): New function. + * elf-bfd.h: Add prototypes for above functions. + +2002-01-08 Alexandre Oliva <aoliva@redhat.com> + + * elf.c (elf_fake_sections): Propagate errors from + elf_backend_fake_section. + +2002-01-07 Jason Thorpe <thorpej@wasabisystems.com> + + * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo. + (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c. + (elf32-sh-nbsd.lo): New rule. + * Makefile.in: Regenerate. + * config.bfd (sh*le-*-netbsdelf*): New target. + (sh*-*-netbsdelf*): New target. + * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*. + (bfd_elf32_shnbsd_vec): New vector. + (bfd_elf32_shlnbsd_vec): New vector. + * configure: Regenerate. + * elf32-sh-nbsd.c: New file. + * targets.c: Update copyright years. + (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and + bfd_elf32_shnbsd_vec. + +2002-01-07 Aldy Hernandez <aldyh@redhat.com> + + * coff-rs6000.c (READ20): Use bfd_scan_vma. + +2002-01-07 Geoffrey Keating <geoffk@redhat.com> + + * elflink.h (elf_link_input_bfd): Don't ask for the merged offset + of a symbol in a section that will be deleted. + +2002-01-07 Nick Clifton <nickc@cambridge.redhat.com> + + * po/es.po: New file: Spanish translation. + * configure.in (ALL_LINGUAS): Add es. + * configure: Regenerate. + +2002-01-06 Steve Ellcey <sje@cup.hp.com> + + * elfxx-ia64.c (is_unwind_section_name): Add target vector as + argument so we can handle HP-UX specially. + (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name. + (elfNN_hpux_backend_section_from_bfd_section): New for support + of SHN_IA_64_ANSI_COMMON. + (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON. + (is_unwind_section_name): Add special HP-UX support. + (elfNN_ia64_section_from_shdr): Add support for more sections. + (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and + add support for more sections. + (elfNN_ia64_additional_program_headers): Modify + is_unwind_section_name call. + (elfNN_ia64_modify_segment_map): Remove assumption that there is + only one unwind section in segment. + +2002-01-06 Alan Modra <amodra@bigpond.net.au> + + * syms.c (_bfd_generic_make_empty_symbol): New function. + * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as + _bfd_generic_make_empty_symbol. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function. + (hppabsd_core_get_symtab_upper_bound): Don't define. + (hppabsd_core_get_symtab): Likewise. + (hppabsd_core_print_symbol): Likewise. + (hppabsd_core_get_symbol_info): Likewise. + (hppabsd_core_bfd_is_local_label_name): Likewise. + (hppabsd_core_get_lineno): Likewise. + (hppabsd_core_find_nearest_line): Likewise. + (hppabsd_core_bfd_make_debug_symbol): Likewise. + (hppabsd_core_read_minisymbols): Likewise. + (hppabsd_core_minisymbol_to_symbol): Likewise. + (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols). + Formatting fixes. + * hpux-core.c: Similarly. + * irix-core.c: Similarly. + * osf-core.c: Similarly. + * sco5-core.c: Similarly. + * binary.c (binary_make_empty_symbol): Remove function, define as + _bfd_generic_make_empty_symbol. + * ihex.c (ihex_make_empty_symbol): Likewise. + * mmo.c (mmo_make_empty_symbol): Likewise. + * ppcboot.c (ppcboot_make_empty_symbol): Likewise. + * srec.c (srec_make_empty_symbol): Likewise. + * versados.c (versados_make_empty_symbol): Likewise. + * vms.c (_bfd_vms_make_empty_symbol): Remove. + (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol. + * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol + rather than _bfd_vms_make_empty_symbol. + * vms-misc.c (new_symbol): Likewise. + +2002-01-05 Alan Modra <amodra@bigpond.net.au> + + * section.c (bfd_section_init): Remove unnecessary initialisations. + (bfd_section_list_clear): New function. + (bfd_section_list_remove, bfd_section_list_insert): New macros. + (_bfd_strip_section_from_output): Use them. + * coffcode.h (coff_set_alignment_hook): Likewise. + * elf32-mips.c (_bfd_mips_elf_final_link): Likewise. + * elf64-mips.c (mips_elf64_final_link): Likewise. + * elf64-mmix.c (mmix_elf_final_link): Likewise. + * sunos.c (sunos_add_dynamic_symbols): Likewise. + * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise. + * bfd-in2.h: Regenerate. + + * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway + rather than doing our own section handling. Clean up after errors + with bfd_release and bfd_section_list_clear. Handle unexpected + flags. + * aoutf1.h (sunos4_core_file_p): Likewise. + * aix386-core.c (aix386_core_file_p): Likewise. + * cisco-core.c (cisco_core_file_validate): Likewise. + * ptrace-core.c (ptrace_unix_core_file_p): Likewise. + * trad-core.c (trad_unix_core_file_p): Likewise. + + * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors + with bfd_release and bfd_section_list_clear. + * hpux-core.c (hpux_core_core_file_p): Likewise. + * irix-core.c (irix_core_core_file_p): Likewise. + * lynx-core.c (lynx_core_file_p): Likewise. + * osf-core.c (osf_core_core_file_p): Likewise. + * rs6000-core.c (rs6000coff_core_p): Likewise. + * sco5-core.c (sco5_core_file_p): Likewise. + + * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform + sign extension adjustments without conditionals. + +2002-01-04 Jakub Jelinek <jakub@redhat.com> + + * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if + CIE at .eh_frame start is removed due to no FDEs referencing it. + +2002-01-04 Jason Thorpe <thorpej@wasabisystems.com> + + * config.bfd (x86_64-*-netbsd*): New target. + * configure.in (x86_64-*-netbsd*): Set COREFILE + to netbsd-core.lo. + * configure: Regenerated. + +2002-01-03 Tom Rix <trix@redhat.com> + + * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering + for recent bfd_make_section_anyway change. + +2002-01-03 Nick Clifton <nickc@cambridge.redhat.com> + + * elf32-arm.h (elf32_arm_final_link_relocate): Handle + R_ARM_THM_PC11 reloc. + +2002-01-02 Nick Clifton <nickc@cambridge.redhat.com> + + * configure.in (LINGUAS): Add ja. + * configure: Regenerate. + * po/ja.po: Import from translation project's web site. + +2002-01-02 Nick Clifton <nickc@cambridge.redhat.com> + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error + messages to ease translation into other languages. + +For older changes see ChangeLog-0001 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/bfd/doc/ChangeLog-9103 b/bfd/doc/ChangeLog-9103 new file mode 100644 index 0000000..3636ed8 --- /dev/null +++ b/bfd/doc/ChangeLog-9103 @@ -0,0 +1,594 @@ +2003-10-15 Andrew Cagney <cagney@redhat.com> + + * bfdint.texi (BFD target vector symbols): Rename _get_symtab to + _canonicalize_symtab. + +2003-10-08 David Taylor <dtaylor@emc.com> + + * bfd.texinfo: Remove spurious backslash. + +2003-07-04 Josh Baratz <baratz@intersystems.com> + + * Makefile.am (MKDOC rule): Add $(CFLAGS) in case it contains + CC_FOR_BUILD specific switches. + * Makefile.in: Regenerate. + +2003-06-29 Alan Modra <amodra@bigpond.net.au> + + * chew.c (paramstuff): Don't emit PARAMS. + +2003-02-12 Bob Wilson <bob.wilson@acm.org> + + * bfd.texinfo: Fix quotes for texinfo. Make section title + capitalization more consistent. Use @example instead of @lisp. + Replace FDL appendix with include of fdl.texi. + * fdl.texi: New file. + +2002-11-18 Klee Dienes <kdienes@apple.com> + + * Makefile.am (DOCFILES): Add bfdwin.texi, bfdio.texi. + (PROTOS): Add bfdio.p, bfdwin.p. + (SRCDOC): Add bfdio.c, bfdwin.c. + (SRCPROT): Add bfdio.c, bfdwin.c. + (SRCIPROT): Add bfdio.c, bfdwin.c. + (LIBBFD_H_DEP): Add bfdio.c, bfdwin.c. + (BFD_H_DEP): Add bfdio.c, bfdwin.c. + Add rules for bfdio.texi, bfdwin.text. + * bfd.texinfo: Include bfdio.texi. + +2002-10-14 Alan Modra <amodra@bigpond.net.au> + + * Makefile.in: Regenerate. + +2002-10-11 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in: Regenerated. + +2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * chew.c (paramstuff, outputdots, perform, bang and usage): Remove + void from function definitions. + +2002-08-13 Alan Modra <amodra@bigpond.net.au> + + * header.sed: Strip tabs. + +2002-06-08 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Fix quote style in last change. + * Makefile.in: Regenerate. + +2002-06-07 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am (libbfd.h): Don't use "echo -n". + (libcoff.h, bfd.h): Likewise. + * Makefile.in: Regenerate. + +2002-06-06 Lars Brinkhoff <lars@nocrew.org> + + * bfdint.texi: Change registry@sco.com to registry@caldera.com. + +2002-06-05 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am (libbfd.h): Add "Extracted from.." comment. + (libcoff.h, bfd.h): Likewise. + * Makefile.in: Regenerate. + +2002-05-25 Alan Modra <amodra@bigpond.net.au> + + * chew.c: Use #include "" instead of <> for local header files. + +2002-04-20 Alan Modra <amodra@bigpond.net.au> + + * Makefile.in: Regenerate. + +2002-02-11 Alan Modra <amodra@bigpond.net.au> + + * Makefile.in: Regenerate. + +2002-02-01 Alan Modra <amodra@bigpond.net.au> + + * chew.c (WORD): Eliminate. + +2002-01-31 Ivan Guzvinec <ivang@opencores.org> + + * Makefile.in: Regenerate. + +2002-01-31 Alan Modra <amodra@bigpond.net.au> + + * chew.c (courierize): Don't modify @command params. + +2002-01-30 Nick Clifton <nickc@cambridge.redhat.com> + + * proto.str (ENUMDOC): Place two spaces between the end of + the text and the closing comment marker. + +2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> + + * bfdint.texi (BFD target vector miscellaneous): Add + bfd_target_mmo_flavour. + * bfd.texinfo (BFD back ends): Add entry for mmo. + * Makefile.am (DOCFILES): Add mmo.texi. + (SRCDOC): Add mmo.c. + (s-mmo, mmo.texi): New rules. + +2001-10-29 Kazu Hirata <kazu@hxi.com> + + * bfdsumm.texi: Fix a typo. + +2001-10-26 Nick Clifton <nickc@cambridge.redhat.com> + + * bfd.texinfo: Change footer to refer to FSF. Change subtitle + to refer to original creation date. + +2002-01-26 Hans-Peter Nilsson <hp@bitrange.com> + + * Makefile.am (install): Depend on install-info. + * Makefile.in: Regenerate. + +2001-10-03 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am (BFD_H_DEP): Add ../version.h. + * Makefile.in: Regenerate. + +2001-10-02 Alan Modra <amodra@bigpond.net.au> + + * Makefile.in: Regenerate. + +2001-10-01 Alan Modra <amodra@bigpond.net.au> + + * header.sed: New file, adds header to generated files. + * Makefile.am: Rewrite rules generating libbfd.h, libcoff.h and + bfd.h, using above. Add missing elf.c dependecy for libbfd.h. + * Makefile.in: Regenerate. + +2001-09-21 Alan Modra <amodra@bigpond.net.au> + + * Makefile.in: Regenerate. + +2001-09-18 Alan Modra <amodra@bigpond.net.au> + + * bfdint.texi: Replace reference to bfd_read with bfd_bread. + Likewise for bfd_write. + +2001-07-24 Alan Modra <amodra@bigpond.net.au> + + * Makefile.in: Regenerate. + +2001-06-21 Hans-Peter Nilsson <hp@axis.com> + + * bfdint.texi (BFD relocation functions) <different formats>: + Mention that the GNU linker is aware of input-output format + restrictions when generating relocatable output. Make new + paragraph for final-link case. + (BFD target vector swap): Fix typo. + +2001-01-25 Kazu Hirata <kazu@hxi.com> + + * chew.c: Do not output trailing whitespaces in type and + functionname. Update copyright. + +2001-01-24 Kazu Hirata <kazu@hxi.com> + + * chew.c: Do not output a trailing whitespace. + +2000-11-06 Nick Clifton <nickc@redhat.com> + + * bfd.texinfo: Add GNU Free Documentation License. + +2000-07-09 Alan Modra <alan@linuxcare.com.au> + + * Makefile.in: Regenerate. + +2000-07-08 Alan Modra <alan@linuxcare.com.au> + + * chew.c (outputdots): Don't add a space before `/*'. + (courierize): Likewise. + +Wed May 24 12:03:25 2000 Hans-Peter Nilsson <hp@axis.com> + + * bfdint.texi (BFD ELF processor required): Add paragraph about + target necessities for readelf. + +2000-04-30 Ben Elliston <bje@redhat.com> + + * bfdint.texi (BFD generated files): Fix another typo. + +2000-04-17 Ben Elliston <bje@redhat.com> + + * bfdint.texi (BFD_JUMP_TABLE macros): Fix typo. + +2000-04-07 Andrew Cagney <cagney@b1.cygnus.com> + + * Makefile.in: Rebuild with current autoconf/automake. + +1999-02-04 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in: Rebuild with current autoconf/automake. + +1998-07-23 Nick Clifton <nickc@cygnus.com> + + * bfdint.texi (BFD ELF processor required): Add paragraph + describing the necessity to create "include/elf/CPU.h". + +1998-05-07 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.am (chew.o): Add -I options for intl srcdir and + objdir. + * Makefile.in: Rebuild. + +1998-04-27 Ian Lance Taylor <ian@cygnus.com> + + * bfdint.texi: New file. + * Makefile.am (noinst_TEXINFOS): New variable. + * Makefile.in: Rebuild. + +1998-04-13 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in: Rebuild. + +1998-04-06 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.am (STAGESTUFF): Remove variable. + (CLEANFILES): Don't remove $(STAGESTUFF). + (DISTCLEANFILES, MAINTAINERCLEANFILES): New variables. + * Makefile.in: Rebuild. + +1998-03-27 Ian Lance Taylor <ian@cygnus.com> + + * chew.c (skip_white_and_starts): Remove unused declaration. + (skip_white_and_stars): Add casts to avoid warnings. + (skip_trailing_newlines, paramstuff, courierize): Likewise. + (bulletize, do_fancy_stuff, iscommand): Likewise. + (kill_bogus_lines, nextword, main): Likewise. + (manglecomments): Comment out. + (outputdots, kill_bogus_lines): Remove unused local variables. + (perform, compile): Likewise. + (courierize): Fully parenthesize expression. + (copy_past_newline): Declare return value. + (print): Change printf format string. + (main): Call usage for an unrecognized option. + +1998-02-13 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.am (AUTOMAKE_OPTIONS): Define. + * Makefile.in: Rebuild. + +1998-01-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * doc.str (bodytext): Don't output @* at the end. + * chew.c (kill_bogus_lines): Make sure that a period at the + beginning is recognized. + (indent): Don't put indentation at the end. + (copy_past_newline): Expand tabs. + * Makefile.am (s-reloc, s-syms): Depend on doc.str. + * Makefile.in: Rebuild. + +1997-10-01 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.am (libbfd.h): Don't use cpu-h8300.c, cpu-i960.c, or + elfcode.h as input files; they don't contribute anything. + * Makefile.in: Rebuild. + +1997-08-15 Doug Evans <dje@canuck.cygnus.com> + + * Makefile.am (libbfd.h, libcoff.h): Invoke $(MKDOC) as ./$(MKDOC). + * Makefile.in: Rebuild. + +1997-08-01 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.am (CC_FOR_BUILD): Don't set explicitly. + * Makefile.in: Rebuild. + +1997-07-31 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.am: New file, based on old Makefile.in. + * Makefile.in: Now built with automake. + +1997-07-22 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE> + + * Makefile.in: Change stamp-* files to s-* files. Use bfdt.texi + rather than bfd.texi. + (DOCFILES): Change bfd.texi to bfdt.texi. + * bfd.texinfo: Include bfdt.texi, not bfd.texi. + +1997-06-16 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (CC, CFLAGS): Substitute from configure script. + From Jeff Makey <jeff@cts.com>. + +1997-04-15 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (install-info): Use mkinstalldirs to build + $(infodir). + +1997-04-08 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (install-info): Permit info files to be in srcdir. + (stamp-*): Add a stamp-X target for each X.texi target. + (*.texi): Just depend upon stamp-X. + (clean): Remove stamp-*. + (distclean): Depend upon mostlyclean. Remove stamp-*. Don't + remove $(DOCFILES). + +1997-04-07 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (distclean): Don't remove *.info files. + +1997-02-13 Klaus Kaempf (kkaempf@progis.de) + + * makefile.vms: New file. + +1996-06-18 Ian Lance Taylor <ian@cygnus.com> + + * chew.c (kill_bogus_lines): Reset sl when not at the start of a + line. From Uwe Ohse <uwe@tirka.gun.de>. + +1996-01-30 Ian Lance Taylor <ian@cygnus.com> + + From Ronald F. Guilmette <rfg@monkeys.com>: + * Makefile.in (libbfd.h): Depend upon proto.str. + (libcoff.h, bfd.h): Likewise. + +1995-11-03 Fred Fish <fnf@cygnus.com> + + * Makefile.in (SRCDOC, SRCPROT, core.texi, bfd.h): Use corefile.c, + renamed from core.c. + +1995-11-01 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> + + * chew.c: Include <ctype.h>. + +1995-10-06 Ken Raeburn <raeburn@cygnus.com> + + Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * Makefile.in (Makefile): Only remake this Makefile. + +1995-10-04 Ken Raeburn <raeburn@cygnus.com> + + * chew.c: Include <stdio.h>. + +1995-09-12 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (maintainer-clean): New target. + +1995-08-31 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (bfd.h): Add additional #endif at end of bfd.h if + __cplusplus is defined. + +1994-11-29 Doug Evans <dje@canuck.cygnus.com> + + * chew.c (write_buffer): New argument `f', all callers changed. + (stdout, stderr, print, drop, idrop): New forth words. + * proto.str (COMMENT): New command. + * doc.str (COMMENT): Likewise. + +1994-09-12 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * Makefile.in (DOCFILES): Remove ctor.texi. + (IPROTOS): Remove ctor.ip. + (SRCIPROT): Remove $(srcdir)/../ctor.c. + (ctor.texi): Remove target. + (libbfd.h): Remove dependency on $(srcdir)/../ctor.c. Remove + $(MKDOC) run on $(srcdir)/../ctor.c. + * bfd.texinfo (Constructors): Remove section. + +1994-09-02 Ken Raeburn (raeburn@cujo.cygnus.com) + + * chew.c: Include assert.h. Added prototypes for most functions. + Changed most uses of int to long. Do bounds checking on the + stacks. Added comment at the beginning documenting most of the + intrinsics. Lots of whitespace changes. Re-ordered some + functions. + (die, check_range, icheck_range): New functions. + (strip_trailing_newlines, print_stack_level): New functions. + (translatecomments): Don't insert tab before "/*". + (iscommand): Minimum command length is now 4. + (nextword): Handle some \-sequences. + (push_addr): Deleted. + (main): Add new intrinsics strip_trailing_newlines and + print_stack_level. Complain at end if stack contains more than + one element, or less. + (remchar): Make sure the string is not empty before chopping off a + character. + + * doc.str, proto.str: Handle new commands SENUM, ENUM, ENUMX, + ENUMEQ, ENUMEQX, ENUMDOC. + +1994-01-12 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfd.texinfo: Added Linker Functions node. + * Makefile.in (DOCFILES): Added linker.texi. + (SRCDOC): Added linker.c. + (linker.texi): New target. + +1994-01-04 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * chew.c: Don't rely on a correct declaration of exit. + (chew_exit): New function which just calls exit. + (main): Use it. + +1994-01-03 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfd.texinfo: Added Hash Tables node. + * Makefile.in (DOCFILES): Added hash.texi. + (SRCDOC): Added hash.c. + (hash.texi): New target. + +1993-12-30 Ken Raeburn (raeburn@cujo.cygnus.com) + + * Makefile.in: Delete all references to seclet.c, since it's just + been deleted. Don't mention hash.c, linker.c, or genlink.h yet, + since they don't contain documentation yet (hint, hint!). + +1993-11-05 David J. Mackenzie (djm@thepub.cygnus.com) + + * bfd.texinfo: Small cleanups. + +1993-11-19 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (archures.texi): Depends on $(MKDOC). + +1993-08-10 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * bfd.texinfo (BFD back end): Don't include elfcode.texi, since + it's empty now and that triggers a makeinfo bug. + +1993-08-09 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * bfd.texinfo (BFD back end): New section on ELF, includes + elf.texi and elfcode.texi. + * Makefile.in (DOCFILES): Include elf.texi, elfcode.texi. + (SRCDOC): Include elfcode.h, elf.c. + (elf.texi, elfcode.texi): New intermediate targets. + +1993-06-24 David J. Mackenzie (djm@thepub.cygnus.com) + + * Makefile.in (.c.o, chew.o): Put CFLAGS last. + * bfdsumm.texi: New file, broken out of bfd.texinfo, to share + with ld.texinfo. + +1993-06-14 david d `zoo' zuhn (zoo at rtl.cygnus.com) + + * Makefile.in (install-info): remove parentdir cruft, + +1993-06-09 Jim Kingdon (kingdon@cygnus.com) + + * Makefile.in (mostlyclean): Remove chew.o. + +1993-05-25 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (libbfd.h): Use elfcode.h, not elf32.c. + +1993-05-24 Ken Raeburn (raeburn@cygnus.com) + + * chew.c (compile): Add a couple of missing casts. + +1993-05-12 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (CC_FOR_BUILD): New variable, define to be $(CC). + (chew.o, $(MKDOC)): Build using CC_FOR_BUILD rather than CC, since + it must run on the build machine. + +1993-04-07 John Gilmore (gnu@cygnus.com) + + * Makefile.in (chew): Don't compile from .c to executable in a + single step; it puts a temporary .o filename into the executable, + which makes multi-stage comparisons fail. Compile chew.c to + chew.o, and link that, which makes identical executables every time. + +1993-03-24 david d `zoo' zuhn (zoo at poseidon.cygnus.com) + + * Makefile.in: fix typo (bfd.texinfo not bfd.texino) + +1993-03-19 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * bfd.texinfo: Since BFD version number has been bumped, do same + to "version number" on title page, and elsewhere. Should be + fixed to extract real version number. + +1993-03-16 Per Bothner (bothner@rtl.cygnus.com) + + * Makefile.in: Add *clean rules. + +1993-01-11 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in (libbfd.h): Removed duplicate init.c and libbfd.c. + Added seclet.c. + (bfd.h): Added dependency on bfd.c and seclet.c. Added seclet.c + to build. + +1992-12-17 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: added dvi target, define and use $(TEXI2DVI) + +1992-12-03 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (TEXIDIR): New variable. + (bfd.dvi): Look for bfd.texinfo in $(srcdir). Generate index. + + * bfd.texinfo: Minor doc fixes. + +1992-11-05 John Gilmore (gnu@cygnus.com) + + Cleanup: Replace all uses of EXFUN in the BFD sources, with PARAMS. + + * chew.c (exfunstuff): Eliminate. + (paramstuff): Replace exfunstuff with function to generate PARAMS. + * proto.str: Use paramstuff rather than exfunstuff. + +1992-08-17 Steve Chamberlain (sac@thepub.cygnus.com) + + * chew.c: various patches provided by Howard Chu. + +1992-06-19 John Gilmore (gnu at cygnus.com) + + * Makefile.in (libbfd.h): Add elf.c as a source of prototypes. + +1992-05-11 John Gilmore (gnu at cygnus.com) + + * chew.c: exit() should be declared by config files, not by + portable source code. Its type could be int or void function. + +1992-05-04 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: another CFLAGS correction. + +1992-04-28 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: Do the CFLAGS thing. + +1992-04-11 Fred Fish (fnf@cygnus.com) + + * Makefile.in (MINUS_G): Add macro and default to -g. + +1992-03-06 Steve Chamberlain (sac@thepub.cygnus.com) + + * chew.c: now has -w switch turn on warnings + +1992-02-26 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in, configure.in: removed traces of namesubdir, + -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced + copyrights to '92, changed some from Cygnus to FSF. + +1991-12-10 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: build chew into the current directory. Complete + the MKDOC macro transition. + +1991-12-10 Steve Chamberlain (sac at rtl.cygnus.com) + + * chew.c: don't core dump when can't open file + * Makefile.in: get proto.str from the right place when built in + odd directories + +1991-12-10 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: infodir belongs in datadir. + +1991-12-07 Steve Chamberlain (sac at rtl.cygnus.com) + + * chew.c: Much modified + * proto.str, doc.str: New files for extracting to product + prototypes and documents respectively. + + +1991-12-06 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: added standards.text support, host/site/target + inclusion hooks, install using INSTALL_DATA rather than cp, + don't echo on install. + +1991-12-05 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: idestdir and ddestdir go away. Added copyrights + and shift gpl to v2. Added ChangeLog if it didn't exist. docdir + and mandir now keyed off datadir by default. + + +Local Variables: +version-control: never +End: diff --git a/gdb/ChangeLog-2003 b/gdb/ChangeLog-2003 new file mode 100644 index 0000000..b396264 --- /dev/null +++ b/gdb/ChangeLog-2003 @@ -0,0 +1,15447 @@ +2003-12-30 Eli Zaretskii <eliz@elta.co.il> + + * configure.in: Check for st_blocks member in struct stat and + define HAVE_STRUCT_STAT_ST_BLOCKS accordingly. + + * acconfig.h (HAVE_STRUCT_STAT_ST_BLOCKS): New undef. + + * configure, config.in: Regenerated. + + * remote-fileio.c (remote_fileio_to_fio_stat) + (remote_fileio_func_fstat) [HAVE_STRUCT_STAT_ST_BLOCKS]: Support + systems that don't have `st_blocks' member in `struct stat'. + +2003-12-29 Eli Zaretskii <eliz@elta.co.il> + + * go32-nat.c (go32_sldt, go32_sgdt, go32_sidt, go32_pte): Fix + mismatches between format string and arguments (avoids compiler + warnings). + + * configure.in: Set ac_cv_search_tgetent to "none required" for + "*djgpp*" targets as well (DJGPP doesn't have termcap and doesn't + need one). + + * config/djgpp/config.sed: Tweak to adapt to the changes in + configury. + + * config/djgpp/djconfig.sh: Fix the test of unpacked + distribution, since there's no gdb.cxx directory anymore. + +2003-12-28 Mark Kettenis <kettenis@gnu.org> + + * i386-sol2-tdep.c (i386_sol2_mcontext_addr): New function. + (i386_sol2_init_abi): Initialize TDEP->sigcontext_addr, + TDEP->sc_reg_offset and TDEP->sc_num_regs. + + * i386-tdep.h (i386_regnum): Add I386_CS_REGNUM and + I386_SS_REGNUM. + +2003-12-27 Mark Kettenis <kettenis@gnu.org> + + * dwarf2-frame.c (dwarf2_reg_rule): Add REG_RA and REG_CFA. + (dwarf2_frame_cache): Initialize PC_REGNUM with REG_RA and + SP_REGNUM with REG_CFA. Don't overwrite the initialized register + rule for registers left unspecified by the CFI. Remove the + special handling of PC_REGNUM. Add code to eleminate any REG_RA + rules. + (dwarf2_frame_prev_register): Remove the special handling of + SP_REGNUM. Add support for the REG_CFA rule. + +2003-12-26 Mark Kettenis <kettenis@gnu.org> + + * i386obsd-tdep.c: Include "regset.h", "gdb_assert.h" and + "gdb_string.h". + (i386obsd_r_reg_offset): New variable. + (i386obsd_aout_supply_regset) + (i386obsd_aout_regset_from_core_section): New functions. + (i386obsd_supply_reg, fetch_core_registers): Remove functions. + (i286obsd_core_fns): Remove variable. + (i386obsd_init_abi): Initialize TDEP->gregset_reg_offset, + TDEP->gregset_num_regs and TDEP->sizeof_gregset. Set + regset_from_core_section. Use ARRAY_SIZE to initialize + TDEP->sc_num_regs. + (_initialize_i386obsd_tdep): Don't call add_core_fns. + + * i386bsd-tdep.c (i386bsd_core_osabi_sniffer): New function. + (_initialize_i386bsd_tdep): Register i386bsd_core_osabi_sniffer. + + * i386-linux-nat.c: Add comment. + +2003-12-26 Christopher Faylor <cgf@redhat.com> + + * win32-nat.c: Add some comments about below change. + +2003-12-25 Christopher Faylor <cgf@redhat.com> + + Fix for PR threads/1048 + * win32-nat.c (thread_info_struct): Add reload_context flag. + (thread_rec): Don't reload thread context here. Just set a flag. + (do_child_fetch_inferior_registers): Reload thread context here if + appropriate. Avoid doing anything if current_thread is NULL thanks to + strange Windows behavior. + (child_fetch_inferior_registers): Avoid doing anything if + current_thread is NULL. + (do_child_store_inferior_registers): Ditto. + (child_store_inferior_registers): Ditto. + (child_kill_inferior): Ditto. + (fake_create_process): Pretend to create a process for pathological + windows attach situation. + (get_child_debug_event): Call fake_create_process when the first event + noticed is thread creation rather than process creation. + (child_attach): Always set attach_flag when attaching. + (child_create_inferior): Set attach_flag to zero since we're not + attaching. + +2003-12-25 Christopher Faylor <cgf@redhat.com> + + * win32-nat.c (get_child_debug_event): Keep main thread id around even + after thread exits since Windows insists on continuing to report events + against it. + +2003-12-22 Mark Kettenis <kettenis@gnu.org> + + * dwarf2-frame.c (dwarf2_frame_cache): Don't skip the return + address column. + +2003-12-21 Jim Blandy <jimb@redhat.com> + + * breakpoint.c (bpstat_do_actions): To ensure that + clear_proceed_status doesn't free the command tree we're + evaluating out from under us, zero the bpstat's pointer to it, and + take care of freeing it ourselves. + * cli/cli-script.c (make_cleanup_free_command_lines): Make this + function externally visible. + * cli/cli-script.h (make_cleanup_free_command_lines): New + declaration. + +2003-12-20 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.c (x86_64_dwarf_regmap): Map the Return Address to + RIP. + +2003-12-18 Michael Chastain <mec.gnu@mindspring.com> + + * hppa-tdep.c (hppa_gdbarch_init): Set long double floating + point type to floatformat_ia64_quad_big. + +2003-12-18 Kevin Buettner <kevinb@redhat.com> + + * frv-tdep.c (skip_prologue_using_sal): New function. Taken verbatim + from mips-tdep.c. + (frv_analyze_prologue): Rework to account for intermixed prologue / + body instructions. + +2003-12-18 Michael Chastain <mec.gnu@mindspring.com> + + * hppa-tdep.c (hppa_gdbarch_init): Set sizeof(long_double) to 128. + Document type sizes for hppa*-*-hpux* compilers available to me. + +2003-12-18 Michael Chastain <mec.gnu@mindspring.com> + + * hppam3-nat.c: Delete obsolete file. + * hppab-nat.c: Delete obsolete file. + * Makefile.in: Remove references. + +2003-12-17 Jeff Johnston <jjohnstn@redhat.com> + + * symtab.c (decode_line_spec): Change call to decode_line_1. + +2003-12-17 Jeff Johnston <jjohnstn@redhat.com> + + * linespec.h (decode_line_1): Add new not_found_ptr parameter. + * linespec.c (decode_line_1): Add new parameter. Pass on + new parameter to decode_variable and symtab_from_filename + functions. + (decode_variable): Add new not_found_ptr parameter. Throw exception + rather than failing if the not_found_ptr is non-null and the + function is not found. + (symtab_from_filename): Add new not_found_ptr parametr. Throw + exception rather than failing if the not_found_ptr is non-null and + the source file is not found. + * breakpoint.c: Change all callers of decode_line_1 to add default + extra parameter for decode_line_1 calls. + * tracepoint.c: Ditto. + * cli/cli-cmds.c: Ditto. + +2003-12-16 J. Brobecker <brobecker@gnat.com> + + * irix5-nat.c: Include mips-tdep.h. + +2003-12-16 Mark Kettenis <kettenis@gnu.org> + + * solib.h (SOLIB_CREATE_CATCH_LOAD_HOOK) + (SOLIB_CREATE_CATCH_UNLOAD_HOOK, SOLIB_LOADED_LIBRARY_PATHNAME) + (SOLIB_UNLOADED_LIBRARY_PATHNAME, SOLIB_HAVE_LOAD_EVENT) + (SOLIB_HAVE_UNLOAD_EVENT): Remove defines. + + * blockframe.c (inside_main_func): Don't treat a zero PC specially. + Needed to fix PR backtrace/1476. + +2003-12-16 David Carlton <carlton@kealia.com> + + * cp-support.c (class_name_from_physname): Add DMGL_PARAMS. + (method_name_from_physname): Ditto. + +2003-12-15 Mark Kettenis <kettenis@gnu.org> + + * i386-sol2-tdep.c (i386_sol2_gregset_reg_offset): New variable. + (i386_sol2_init_abi): Initialize TDEP->gregset_reg_offset, + TDEP->gregset_num_regs, TDEP->sizeof_gregset and + TDEP->sizeof_fpregset. + * config/i386/i386sol2.mh (XM_FILE): Set to xm-i386.h. + (XM_CLIBS): Remove. + (NATDEPFILES): Remove core-regset.o and corelow.o. + * config/i386/i386sol2.mt (TDEPFILES): Add corelow.o. + +2003-12-14 Mark Kettenis <kettenis@gnu.org> + + * proc-api.c (procfs_note): Add format string to fprintf call. + + * i386-tdep.c (i386_analyze_frame_setup): Add missing encodings + for `subl' and `xorl' instructions. + +2003-12-13 Jim Blandy <jimb@redhat.com> + + * dwarf2read.c (dwarf2_add_member_fn, read_structure_scope): + Replace uses of DEPRECATED_STREQ and DEPRECATED_STREQN with calls + to strcmp and strncmp. + + * osabi.c (gdbarch_init_osabi): Reformat error message with better + line breaks. + +2003-12-13 Mark Kettenis <kettenis@gnu.org> + + * blockframe.c (inside_main_func): Reformat. Introduce new local + variables to prevent long lines. Update comments to reflect + reality. + +2003-12-12 Kevin Buettner <kevinb@redhat.com> + + From David Mosberger <davidm@hpl.hp.com>: + * libunwind-frame.c (unw_find_dyn_list_p): Replace most arguments + with a single unw_dyn_info_t pointer. + (libunwind_find_dyn_list): Likewise. + * libunwind-frame.h: Likewise. + * ia64-tdep.c (ia64_find_unwind_table): Switch to using + UNW_INFO_FORMAT_REMOTE_TABLE so we can avoid having to read in the + entire unwind-table at once. Support for this table format has + been added to libunwind v0.95. + (ia64_find_proc_info_x): Adjust for remote-unwind-table changes. + (ia64_get_dyn_info_list): Adjust for interface change for + libunwind_find_dyn_list(). + +2003-12-12 Jeff Johnston <jjohnstn@redhat.com> + + * breakpoint.c (breakpoint_enabled): New function to test whether + breakpoint is active and enabled. + (insert_bp_location, insert_breakpoints): Call new function to test + for enabled breakpoint. + (remove_breakpoint, breakpoint_here_p, breakpoint_thread_match) + (bpstat_should_step, bpstat_have_active_hw_watchpoints) + (disable_breakpoints_in_shlibs, hw_watchpoint_used_count) + (disable_watchpoints_before_interactive_call_start) + (breakpoint_re_set_one): Ditto. + (bpstat_stop_status): Use new function and simplify test. + +2003-12-11 Mark Kettenis <kettenis@gnu.org> + + * observer.c (observer_test_first_observer) + (observer_test_second_observer, observer_test_third_observer): + Don't define as `static'. + (observer_test_first_notification_function) + (observer_test_second_notification_function) + (observer_test_third_notification_function): Likewise. + +2003-12-10 Mark Kettenis <kettenis@gnu.org> + + * solib.h (SOLIB_UNLOADED_LIBRARY_PATHNAME): Define as "" instead + of (0). + +2003-12-11 Dhananjay Deshpande <dhananjayd@kpitcummins.com> + + * MAINTAINERS (write after approval): Add myself. + +2003-12-11 Dhananjay Deshpande <dhananjayd@kpitcummins.com> + + * config/h8300/tm-h8300.h (h8300hmode): Remove. + (h8300hmode): Likewise. + (h8300smode): Likewise. + (h8300sxmode): Likewise. + (h8300_normal_mode): Likewise. + (GDB_TARGET_IS_H8300): Likewise. + (NUM_REALREGS): Use TARGET_ARCHITECTURE->mach instead of global. + * h8300-tdep.c (is_h8300hmode): New function. + (is_h8300smode): New function. + (is_h8300sxmode): New function. + (is_h8300_normal_mode): New function. + (BINWORD): Use new functions. + (h8300_examine_prologue): Likewise. + (h8300_print_register): Likewise. + (h8300_print_registers_info): Likewise. + (h8300_register_type): Likewise. + (h8300_gdbarch_init): Remove use of globals like h8300hmode. + * remote-e7000.c (e7000_open): Remove use of GDB_TARGET_IS_H8300. + (e7000_fetch_registers): Use TARGET_ARCHITECTURE->mach instead. + (e7000_wait): Use TARGET_ARCHITECTURE->mach instead of global. + +2003-12-10 J. Brobecker <brobecker@gnat.com> + + * frame.c (select_frame): Get the current frame PC using + get_frame_address_in_block() instead of get_frame_pc(). + * stack.c (get_frame_language): Likewise. + +2003-12-08 Kevin Buettner <kevinb@redhat.com> + + * remote.c (remote_open_1, remote_cisco_open): Avoid closing + remote_desc more than once. + +2003-12-07 Andrew Cagney <cagney@redhat.com> + + * defs.h (DEPRECATED_STREQN, DEPRECATED_STREQ): Simplify by + directly calling strcmp equivalents. Add disclaimer. + +2003-12-06 Andrew Cagney <cagney@redhat.com> + + * remote.c (remote_fetch_registers): For short packets, explicitly + supply a zero value. Use regcache_raw_supply. Fix suggested by + Jonathan Larmour. + +2003-12-05 Jeff Johnston <jjohnstn@redhat.com> + + * ia64-tdep.c (ia64_gdbarch_init): Set up the gdbarch long double + format to be the i387 extended float format which is used for + long doubles stored in memory. + +2003-12-05 Mark Kettenis <kettenis@gnu.org> + + From Ulrich Weigand <weigand@informatik.uni-erlangen.de>: + * dwarf2-frame.c (dwarf2_frame_cache): Use the untranslated RA + column instead of translating it. + +2003-12-04 Michael Chastain <mec.gnu@mindspring.com> + + Partial fix for PR c++/1465. + Fix for PR c++/1377. + * cp-support.h (cp_lookup_rtti_type): New function. + * cp-support.c (cp_lookup_rtti_type): New function. + * gnu-v2-abi.c: Update copyright years. + (gnuv2_rtti_type): Call cp_lookup_rtti_type. + * gnu-v3-abi.c: Update copyright years. + (gnuv3_rtti_type): Call cp_lookup_rtti_type. + +2003-12-04 J. Brobecker <brobecker@gnat.com> + + * stabsread.c (read_type): Save a reference to types that are defined + as cross references to other types. + +2003-12-02 Roland McGrath <roland@redhat.com> + + * thread-db.c (enable_thread_event): Change return type to + td_err_e. Return TD_OK or error code. + (enable_thread_event_reporting): Update callers. + +2003-12-03 Ian Lance Taylor <ian@wasabisystems.com> + + * NEWS: Mention new C++ demangler code. + +2003-12-03 Andrew Cagney <cagney@redhat.com> + + * ppc-linux-nat.c (store_register, fetch_register): Convert + between ptrace and regcache's wordsize. + (ppc_register_u_addr): Use the ptrace wordsize. + +2003-12-02 Kevin Buettner <kevinb@redhat.com> + + * frv-tdep.c (frv_gdbarch_init): Add case for fr550. + +2003-12-02 Daniel Jacobowitz <drow@mvista.com> + + * dwarf2read.c (dwarf_info_offset, dwarf_abbrev_offset) + (dwarf_line_offset, dwarf_pubnames_offset, dwarf_aranges_offset) + (dwarf_loc_offset, dwarf_macinfo_offset, dwarf_str_offset) + (dwarf_ranges_offset, dwarf_frame_offset, dwarf_eh_frame_offset): + Delete. + (dwarf2_read_section): Remove offset and size arguments. Use + bfd_get_section_size_before_reloc and sectp->filepos. + (dwarf2_has_info): Clear section variables instead of offsets. + (dwarf2_locate_sections): Don't initialize the deleted variables. + (dwarf2_build_psymtabs): Update calls to dwarf2_read_section. + (dwarf2_build_psymtabs_easy): Likewise. + * dwarf2-frame.c (dwarf_frame_offset, dwarf_frame_size) + (dwarf_eh_frame_offset, dwarf_eh_frame_size): Remove extern + declarations. + (dwarf2_read_section): Update prototype. + (dwarf2_build_frame_info): Update calls to dwarf2_read_section. + Use bfd_get_section_size_before_reloc instead of global size + variables. + +2003-12-01 Michael Chastain <mec.gnu@mindspring.com> + + * dwarfread.c: Update documentation on the state of dwarf-1. + +2003-12-01 Andrew Cagney <cagney@redhat.com> + + Obsolete old MIPS SVr3 and SVr4 systems. + * NEWS: Mention obsoleted systems. + * configure.tgt: Mark mips*-*-sysv4* as obsolete. + * configure.host: Mark mips-dec-*, mips-little-*, mips-sony-*, + mips-*-sysv4*, mips-*-sysv*, mips-*-riscos* and mips-*-mach3* as + obsolete. + * config/mips/decstation.mh: Mark as obsolete. + * config/mips/littlemips.mh: Mark as obsolete. + * config/mips/nm-mips.h: Mark as obsolete. + * config/mips/xm-mips.h: Mark as obsolete. + * config/mips/news-mips.mh: Mark as obsolete. + * config/mips/nm-news-mips.h: Mark as obsolete. + * config/mips/riscos.mh: Mark as obsolete. + * config/mips/nm-riscos.h: Mark as obsolete. + * config/mips/xm-riscos.h: Mark as obsolete. + * config/mips/mipsv4.mt: Mark as obsolete. + * config/mips/tm-mipsv4.h: Mark as obsolete. + * config/mips/xm-mipsv4.h: Mark as obsolete. + + Obsolete old m68k systems. + * configure.host: Mark m68*-sun-*, m68*-sun-sunos4*, + m68*-sun-sunos3*, m68*-motorola-*, m68*-*-sysv4*, m68*-*-lynxos*, + m68*-bull*-sysv*, m68*-att-*, m680[01]0-sun-sunos4*, and + m680[01]0-sun-sunos3* as obsolete. + * configure.tgt: Mark m68*-*-lynxos*, m68*-*-sunos3*, + m68*-*-sunos4*, m68*-*-sysv4*, m68000-*-sunos3*, m68000-*-sunos4*, + m68*-bull-sysv*, m68*-att-*, and m68*-motorola-*, as obsolete. + * config/m68k/sun3os4.mh: Mark file obsolete. + * config/m68k/xm-sun3os4.h: Mark file obsolete. + * config/m68k/sun3os3.mh: Mark file obsolete. + * config/m68k/nm-sun3.h: Mark file obsolete. + * config/m68k/xm-sun3.h: Mark file obsolete. + * config/m68k/sun2os4.mh: Mark file obsolete. + * config/m68k/sun2os3.mh: Mark file obsolete. + * config/m68k/nm-sun2.h: Mark file obsolete. + * config/m68k/xm-sun2.h: Mark file obsolete. + * config/m68k/m68kv4.mh: Mark file obsolete. + * config/m68k/nm-sysv4.h: Mark file obsolete. + * config/m68k/xm-m68kv4.h: Mark file obsolete. + * config/m68k/m68klynx.mh: Mark file obsolete. + * config/m68k/nm-m68klynx.h: Mark file obsolete. + * config/m68k/dpx2.mh: Mark file obsolete. + * config/m68k/xm-dpx2.h: Mark file obsolete. + * config/m68k/nm-dpx2.h: Mark file obsolete. + * config/m68k/delta68.mh: Mark file obsolete. + * config/m68k/xm-delta68.h: Mark file obsolete. + * config/m68k/nm-delta68.h: Mark file obsolete. + * config/m68k/3b1.mh: Mark file obsolete. + * config/m68k/xm-3b1.h: Mark file obsolete. + * config/m68k/sun3os4.mt: Mark file obsolete. + * config/m68k/tm-sun3os4.h: Mark file obsolete. + * config/m68k/sun3os3.mt: Mark file obsolete. + * config/m68k/tm-sun3.h: Mark file obsolete. + * config/m68k/sun2os4.mt: Mark file obsolete. + * config/m68k/tm-sun2os4.h: Mark file obsolete. + * config/m68k/sun2os3.mt: Mark file obsolete. + * config/m68k/tm-sun2.h: Mark file obsolete. + * config/m68k/m68kv4.mt: Mark file obsolete. + * config/m68k/tm-m68kv4.h: Mark file obsolete. + * config/m68k/m68klynx.mt: Mark file obsolete. + * config/m68k/tm-m68klynx.h: Mark file obsolete. + * config/m68k/dpx2.mt: Mark file obsolete. + * config/m68k/tm-dpx2.h: Mark file obsolete. + * config/m68k/delta68.mt: Mark file obsolete. + * config/m68k/tm-delta68.h: Mark file obsolete. + * config/m68k/3b1.mt: Mark file obsolete. + * config/m68k/tm-3b1.h: Mark file obsolete. + +2003-11-29 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.c (MAX_CLASSES): Remove macro. + (x86_64_reg_class): Remove enum. + (merge_classes, classify_argument, examine_argument): Remove + functions. + (INT_REGS, SSE_REGS): Remove macros. + (x86_64_push_arguments): Remove function. + (amd64_push_arguments): New function. + (x86_64_push_dummy_call): Call amd64_push_arguments instead of + x86_64_push_arguments. + +2003-11-28 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.c (x86_64_frame_cache): Don't bail out if %rbp is + zero. Reorganize code a bit. + +2003-11-27 Mark Kettenis <kettenis@gnu.org> + + * dwarf2-frame.c: Fix another comment. + + * x86-64-tdep.c (RET_INT_REGS, RET_SSE_REGS): Remove defines. + (x86_64_use_struct_convention, x86_64_extract_return_value, + x86_64_store_return_value): Remove. + (amd64_reg_class): New enum. + (amd64_merge_classes, amd64_classify_aggregate, amd64_classify, + amd64_return_value): New functions. + (x86_64_init_abi): Don't set extract_return_value, + store_return_value and use_struct_convention. Set return_value to + amd64_return_value. + * i387-tdep.h (i387_return_value): New prototype. + * i387-tdep.c (i387_return_value): New function. + + * dwarf2-frame.c: Fix some comments and whitespace problems. + + * i386nbsd-tdep.c: Don't include "gdbtypes.h". Include + "gdb_assert.h" and "gdb_string.h". + (i386nbsd_r_reg_offset): Rename from regmap. + (SIZEOF_STRUCT_REG): Remove. + (i386nbsd_supply_reg, fetch_core_registers, + fetch_elfcore_registers, i386nbsd_core_fns, i386nbsd_elfcore_fns): + Remove. + (i386nbsd_aout_supply_regset, + i386nbsd_aout_regset_from_core_section): New functions. + (i386nbsd_sc_reg_offset): Don't explicitly specify size of array. + (i386nbsd_init_abi): Initialize TDEP->gregset_reg_offset, + TDEP->gregset_num_regs amd sizeof_gregset. Use ARRAY_SIZE to + initialize TDEP->sc_num_regs. + (i386nbsdaout_init_abi): New function. + (i386nbsdelf_init_abi): Remove initialization of + TDEP->num_xmm_regs. Don't set num_regs here. + (_initialize_i386nbsd_tdep): Don't call add_core_fns. Use + i386nbsd_aout_init to register NetBSD a.out OS/ABI. + + * osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Use + .note.netbsdcore.procinfo section to recognize NetBSD core files. + +2003-11-26 Michael Chastain <mec.gnu@mindspring.com> + + * cp-abi.c: Update copyright years. + +2003-11-25 Andrew Cagney <cagney@redhat.com> + + * thread-db.c (enable_thread_event): New function. Ensure that BP + is a code address. + (enable_thread_event_reporting): Use enable_thread_event. + +2003-11-25 Michael Snyder <msnyder@redhat.com> + + * mips-tdep.c (mips_o64_extract_return_value): Correct for + NUM_REGS (see changes 2003-06-21). + (mips_eabi_extract_return_value): Ditto. + +2003-11-25 Andrew Cagney <cagney@redhat.com> + + * infrun.c: Don't include "exec.h". + (handle_inferior_event): Pass current_target, instead of exec_ops, + to SOLIB_ADD. Add comments. + * Makefile.in (infrun.o): Update dependencies. + +2003-11-24 Daniel Jacobowitz <drow@mvista.com> + + * NEWS: Mention improved location expression support. + +2003-11-23 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (infrun.o): Update dependencies. + * infrun.c: Include "exec.h". + (handle_inferior_event): Pass exec_ops to SOLIB_ADD. + +2003-11-23 Andrew Cagney <cagney@redhat.com> + + * frame.c (frame_unwind_signed_register): Delete function. + * frame.h (frame_unwind_register_signed): Delete declaration. + * mips-tdep.c (mips_frame_saved_pc): Use frame_unwind_register_signed. + + * arch-utils.h (generic_cannot_extract_struct_value_address): + Delete declaration. + + * defs.h (DEPRECATED_STREQN): Rename STREQN. + (DEPRECATED_STREQ): Rename STREQ. + * ada-exp.y, ada-lang.c, ada-lex.l, coffread.c: Update. + * config/mips/tm-irix5.h, config/mips/tm-irix6.h: Update. + * config/mips/tm-mipsv4.h, config/sparc/tm-sun4sol2.h: Update. + * dbxread.c, dwarf2read.c, dwarfread.c, environ.c: Update. + * eval.c, exec.c, f-lang.c, hppa-tdep.c, hpread.c: Update. + * jv-exp.y, language.c, m2-exp.y, mcore-rom.c: Update. + * mdebugread.c, mipsread.c, objc-exp.y, objfiles.c: Update. + * p-exp.y, p-typeprint.c, p-valprint.c, rs6000-nat.c: Update. + * source.c, sparc-tdep.c, stack.c, target.c: Update. + + * symfile.c (symbol_file_command): Replace STREQ with strcmp. + * elfread.c (elf_symtab_read): Delete STREQ from comment. + +2003-11-22 Andrew Cagney <cagney@redhat.com> + + * frame.c (deprecated_frame_xmalloc): Delete function. + (deprecated_set_frame_extra_info_hack): Delete function. + (deprecated_set_frame_saved_regs_hack): Delete function. + * frame.h (deprecated_frame_xmalloc): Delete declaration. + (deprecated_set_frame_extra_info_hack): Delete declaration. + (deprecated_set_frame_saved_regs_hack): Delete declaration. + * mcore-tdep.c (analyze_dummy_frame): Instead of + deprecated_frame_xmalloc, deprecated_set_frame_saved_regs_hack, + and deprecated_set_frame_extra_info_hack use + deprecated_frame_xmalloc_with_cleanup. + * mn10300-tdep.c (analyze_dummy_frame): Ditto. + * mips-tdep.c (mips_init_extra_frame_info): Delete call to + deprecated_set_frame_saved_regs_hack. + + * mips-tdep.c (mips_frame_chain): Delete call to + deprecated_inside_entry_file. + + * frame.h (deprecated_set_frame_next_hack): Delete declaration. + (deprecated_set_frame_prev_hack): Delete declaration. + * frame.c (deprecated_set_frame_next_hack): Delete function. + (deprecated_set_frame_prev_hack): Delete function. + * mcore-tdep.c (analyze_dummy_frame): Delete calls to + "deprecated_set_frame_next_hack" and + "deprecated_set_frame_prev_hack". + * mn10300-tdep.c (analyze_dummy_frame): Ditto. + + * mips-tdep.c (mips_register_convertible): Delete function. + (mips_register_convert_to_virtual): Delete function. + (mips_register_convert_to_raw): Delete function. + (mips_gdbarch_init): Do not set "deprecated_register_convertible", + "deprecated_register_convert_to_virtual", or + "deprecated_register_convert_to_raw". + (mips_pseudo_register_write, mips_pseudo_register_read): Handle + 32/64 cooked to raw register conversions. + + * frame.c (deprecated_get_frame_context): Delete function. + (deprecated_set_frame_context): Delete function. + (struct frame_info): Delete member "context". + * frame.h (deprecated_get_frame_context): Delete declaration. + (deprecated_set_frame_context): Delete declaration. + + * procfs.c (procfs_wait): Delete FAULTED_USE_SIGINFO comment. + * config/sparc/tm-sun4sol2.h (FAULTED_USE_SIGINFO): Delete macro. + * config/i386/tm-i386sol2.h (FAULTED_USE_SIGINFO): Delete macro. + * config/alpha/nm-osf2.h (FAULTED_USE_SIGINFO): Delete macro. + + * mips-tdep.c (SIGFRAME_REG_SIZE): Delete macro. + (mips_find_saved_regs): Replace SIGFRAME_REG_SIZE with + mips_regsize. + (mips_dump_tdep): Do not print SIGFRAME_REG_SIZE. + * config/mips/tm-irix6.h (SIGFRAME_REG_SIZE): Delete macro. + * config/mips/tm-irix5.h: Update copyright. + (SIGFRAME_REG_SIZE): Delete macro. + + * hppa-tdep.c (hppa_value_returned_from_stack): Delete function. + * config/pa/tm-hppa.h (hppa_value_returned_from_stack): Delete + declaration. + (DEPRECATED_VALUE_RETURNED_FROM_STACK): Delete macro. + * infcall.c (call_function_by_hand): Delete #ifdef + DEPRECATED_VALUE_RETURNED_FROM_STACK code. + * infcmd.c (print_return_value): Ditto. + + * mips-tdep.c (skip_prologue_using_sal): New function. + (mips32_skip_prologue, mips16_skip_prologue): Use + skip_prologue_using_sal to get an upper bound on the search. + + * config/powerpc/tm-linux.h (PROLOGUE_FIRSTLINE_OVERLAP): Delete + #if 0'ed macro. + * infrun.c (step_into_function): Delete #ifdef + PROLOGUE_FIRSTLINE_OVERLAP code. + * symtab.c (find_function_start_sal): Ditto. + + * remote-rdp.c: Update copyright. + (rdp_init): #if 0 references to "target_byte_order". + + * mips-tdep.c (mips_o32_store_return_value): Delete function. + (mips_o32_return_value): Replace mips_o32_xfer_return_value. + (mips_o32_extract_return_value): Delete function. + (mips_n32n64_return_value): Replace mips_n32n64_xfer_return_value. + (mips_n32n64_extract_return_value): Delete function. + (mips_n32n64_store_return_value): Delete function. + (mips_gdbarch_init): For o32 and n32n64, set "return_value" + instead of "store_return_value", "extract_return_value", and + "use_struct_convention". + (mips_n32n64_use_struct_convention): Delete function. + +2003-11-21 Kevin Buettner <kevinb@redhat.com> + + * frv-tdep.c (frv_frame_this_id): Eliminate call to + inside_entry_func(). + +2003-11-20 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.c (i386_extract_return_value, + i386_store_return_value): Add gdbarch argument. Use it instead of + determining it from REGCACHE. Remove recursive call for + structures with a single member. + (i386_use_struct_convention): Remove. + (i386_reg_struct_return_p): New function. + (i386_return_value): New function. + (i386_gdbarch_init): Set return_value, don't set + extract_return_value, store_return_value and + use_struct_convention. + * x86-64-tdep.c (x86_64_init_abi): Set return_value to NULL. + +2003-11-20 Jim Blandy <jimb@redhat.com> + + * osabi.c (_initialize_gdb_osabi): Don't return before registering + the 'set osabi' and 'show osabi' commands. + +2003-11-19 Mark Kettenis <kettenis@gnu.org> + + * frame.c (get_prev_frame): Use result from + get_frame_address_in_block instead of get_frame_pc as argument to + inside_main_func. Fixes PR backtrace/1435. + +2003-11-19 Andrew Cagney <cagney@redhat.com> + + * stack.c (return_command): Handle "void", "legacy" and "unknown + location" return values separatly. + * values.c (using_struct_return): Return 0 for a "void" return + type. Mention "register_value_being_returned". + (register_value_being_returned): Mention "using_struct_return". + +2003-11-19 Daniel Jacobowitz <drow@mvista.com> + + * dwarf2read.c (offreg, basereg, isderef, frame_base_reg) + (frame_base_offset): Delete. + (read_func_scope): Delete call to decode_locdesc. + (decode_locdesc): Update comments. Don't set the removed variables. + Complain for DW_OP_reg* not at the end. Remove DW_OP_breg* and + DW_OP_fbreg support. + +2003-11-18 Daniel Jacobowitz <drow@mvista.com> + + * dwarf2read.c (optimized_out, islocal): Remove. + (decode_locdesc): Update comments. Don't set optimized_out + or islocal. + +2003-11-17 Jeff Johnston <jjohnstn@redhat.com> + David Mosberger <davidm@hpl.hp.com> + + * ia64-tdep.c: Include elf.h. + [HAVE_LIBUNWIND_IA64_H]: Include libunwind-frame.h and + libunwind-ia64.h. + (ia64_rse_slot_num, ia64_rse_skip_regs): New for libunwind support. + (ia64_gdb2uw_regnum, ia64_uw2gdb_regnum): Ditto. + (ia64_is_fpreg, ia64_access_reg): Ditto. + (ia64_access_fpreg, ia64_access_mem): Ditto. + (get_kernel_table): Ditto. + (ia64_find_unwind_table): Ditto. + (ia64_find_proc_info_x, ia64_put_unwind_info): Ditto. + (ia64_get_dyn_info_list, ia64_libunwind_frame_this_id): Ditto. + (ia64_libunwind_frame_prev_register): Ditto. + (ia64_libunwind_frame_sniffer): Ditto. + (ia64_gdbarch_init)[HAVE_LIBUNWIND_IA64_H]: Add libunwind frame + sniffer. Register libunwind functions needed by generic + libunwind frame code using libunwind_frame_set_descr(). + +2003-11-16 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.c (re_enable_breakpoints_in_shlibs): Only re-enable a + bp_shlib_disabled breakpoint if there is a shared library mapped + at its expected address. + +2003-11-16 Andrew Cagney <cagney@redhat.com> + + * configure.tgt: Delete mips*tx39*-elf*. + * config/mips/tm-tx39.h: Delete file. + * config/mips/tx39.mt: Delete file. + * config/mips/tx39.mt: Delete file. + + * mips-tdep.h (deprecated_mips_set_processor_regs_hack): Declare. + * remote-mips.c (common_open): Instead of + "mips_read_register_type" and "mips_set_processor_type_command" + call "deprecated_mips_set_processor_regs_hack". + * config/mips/tm-mips.h (mips_read_processor_type): Delete + declaration. + (mips_set_processor_type_command): Delete declaration. + * mips-tdep.c (mips_gdbarch_init): Update comment. + (mips_dump_tdep): Do not print MIPS_REGISTER_NAMES. + (mips_set_processor_type): Delete function. + (NUM_MIPS_PROCESSOR_REGS): Define. + (mips_show_processor_type_command): Delete function. + (mips_set_processor_type_command): Delete function. + (tmp_mips_processor_type): Delete. + (mips_processor_type): Delete. + (mips_processor_type_table): Delete. + (mips_r3051_reg_names): Delete. + (mips_r3081_reg_names): Delete. + (mips_lsi33k_reg_names): Delete. + (mips_processor_reg_names): Delete. + (mips_read_processor_type): Delete function. + (deprecated_mips_set_processor_regs_hack): New function. + (struct gdbarch_tdep): Add member "mips_processor_reg_names". + (mips_register_name): Get the processor names from the tdep. + (mips_tx39_reg_names): New array. + (mips_generic_reg_names): Wire to a standard set of names. + (mips_gdbarch_init): Set "mips_processor_reg_names". + * config/mips/tm-irix5.h (MIPS_REGISTER_NAMES): Delete macro. + * config/mips/tm-mips.h (MIPS_REGISTER_NAMES): Delete macro. + * config/mips/tm-tx39.h (MIPS_REGISTER_NAMES): Delete macro. + +2003-11-16 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (struct gdbarch_tdep): Add field "regnum". + (mips_fpa0_regnum, mips_regnum): New function. + (mips_gdbarch_init): Fill in the "regnum" fields. + * mips-tdep.h (struct mips_regnum): Define. + (mips_regnum): Declare. + * config/mips/tm-mips.h (BADVADDR_REGNUM): Delete macro. + (LO_REGNUM, HI_REGNUM, BADVADDR_REGNUM): Ditto. + (CAUSE_REGNUM, PC_REGNUM, FP0_REGNUM): Ditto. + (FCRCS_REGNUM, FCRIR_REGNUM, FPA0_REGNUM): Ditto. + * config/mips/tm-irix6.h (FP0_REGNUM): Delete macro. + (PC_REGNUM, CAUSE_REGNUM, BADVADDR_REGNUM): Ditto. + (HI_REGNUM, LO_REGNUM, FCRCS_REGNUM, FCRIR_REGNUM): Ditto. + * config/mips/tm-irix5.h (FP0_REGNUM): Delete macro. + (PC_REGNUM, CAUSE_REGNUM, BADVADDR_REGNUM): Ditto. + (HI_REGNUM, LO_REGNUM, FCRCS_REGNUM, FCRIR_REGNUM): Ditto. + * remote-mips.c: Include "mips-tdep.h". Update. + * mipsnbsd-tdep.c: Update. + * mipsv4-nat.c: Update. + * mips-tdep.c: Update. + * mips-nat.c: Update. + * mips-linux-tdep.c: Update. + * mips-linux-nat.c: Update. + * irix5-nat.c: Update. + * dve3900-rom.c: Include "mips-tdep.h". Update. + (ignore_packet): Supress GCC warning. + * config/mips/nm-riscos.h: Update. + +2003-11-16 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c: Replace DEPRECATED_REGISTER_RAW_SIZE with + register_size. + (mips_register_raw_size): Delete function. + (mips_register_type): Handle "mips64_transfers_32bit_regs_p". + (mips_gdbarch_init): Do not set "deprecated_register_raw_size". + Check and set "mips64_transfers_32bit_regs_p". + (struct gdbarch_tdep): Add "mips64_transfers_32bit_regs_p". + (mips_register_convertible): Check the architecture's + "mips64_transfers_32bit_regs_p". + (set_mips64_transfers_32bit_regs): New function. + (_initialize_mips_tdep): Use "add_setshow_cmd" when adding the + "set remote-mips64-transfers-32bit-regs" command. Specify + set_mips64_transfers_32bit_regs as the set function. + * Makefile.in (dve3900-rom.o, remote-mips.o): Update dependencies. + +2003-11-16 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.h (i386_supply_gregset): Provide prototype. + * i386-tdep.c (i386_supply_gregset): Make public. + +2003-11-16 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (mips_register_byte): Delete function. + (mips_gdbarch_init): Do not set "deprecated_register_byte". + * config/mips/tm-mips.h (MIPS_REGISTER_BYTE): Delete macro. + * config/mips/tm-irix6.h (MIPS_REGISTER_BYTE): Delete macro. + * config/mips/tm-irix5.h (MIPS_REGISTER_BYTE): Delete macro. + +2003-11-16 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.c (i386_extract_return_value): Don't use bfd_byte. + +2003-11-16 Andrew Cagney <cagney@redhat.com> + + * config/mips/linux64.mt: Delete file. + * config/mips/tm-linux64.h: Delete file. + * config/mips/tm-mips64.h: Delete file. + * config/mips/embed64.mt: Delete file. + * config/djgpp/fnchange.lst: Update. + * configure.tgt: Delete explicit patterns for mipsisa64*-*-linux*, + mips64*-*-linux*, mips64*-*-*, and mipsisa64*-*-*. + * config/mips/tm-irix6.h: Update copyright. Include + "mips/tm-mips.h" instead of "mips/tm-mips64.h". + * mips-tdep.c (mips_dump_tdep): Do not print "OP_LDFPR" or + "OP_LDGPR". + +2003-11-15 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (mips_register_type): Simplify. Eliminate reference + to MIPS_REGISTER_TYPE. Make integer registers signed. Make IRIX + n32 registers 64 bit. + (mips_register_raw_size, mips_register_byte): For pseudo + registers, use the register's pseudo size and not the + corresponding raw register's size. + * config/mips/tm-mips64.h (MIPS_REGISTER_TYPE): Delete macro. + * config/mips/tm-mips.h (MIPS_REGISTER_TYPE): Delete macro. + * config/mips/tm-irix6.h: Don't #undef MIPS_REGISTER_TYPE. + * config/mips/tm-irix5.h (MIPS_REGISTER_TYPE): Delete macro. + +2003-11-15 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (struct gdbarch_tdep): Delete member + gdb_target_is_mips64. + (GDB_TARGET_IS_MIPS64): Delete macro. + (mips_gdbarch_init): Do not set tdep's gdb_target_is_mips64. + (mips_dump_tdep): Do not print GDB_TARGET_IS_MIPS64. + (mips_addr_bits_remove): Simplify. + + * mips-tdep.c: Replace DEPRECATED_REGISTER_VIRTUAL_SIZE with + register_size. + + Replace MIPS_REGSIZE with mips_regsize. + * mips-tdep.c (mips_regsize): New function. + * mips-tdep.h (mips_regsize): Declare. + * mipsnbsd-tdep.h (SIZEOF_STRUCT_FPREG): Update. + (SIZEOF_STRUCT_REG): Update. + * mipsnbsd-tdep.c (mipsnbsd_supply_reg): Update. + (mipsnbsd_fill_reg): Update. + (mipsnbsd_supply_fpreg): Update. + (mipsnbsd_fill_fpreg): Update. + (NBSD_MIPS_JB_ELEMENT_SIZE): Update. + * mips-tdep.c (mips_register_raw_size): Update. + (mips_register_type): Update. + (SIGFRAME_BASE): Update. + (SIGFRAME_PC_OFF): Update. + (SIGFRAME_REGSAVE_OFF): Update. + (SIGFRAME_FPREGSAVE_OFF): Update. + (SIGFRAME_REG_SIZE): Update. + (mips32_heuristic_proc_desc): Update. + (print_gp_register_row): Update. + (mips_dump_tdep): Do not print MIPS_REGSIZE. + * irix5-nat.c (supply_gregset): Update. + (fetch_core_registers): Update. + * config/mips/tm-mips64.h (MIPS_REGSIZE): Delete macro. + * config/mips/tm-irix6.h (MIPS_REGISTER_BYTE): Update. + * config/mips/tm-mips.h (MIPS_REGSIZE): Delete macro. + (MIPS_REGISTER_BYTE): Update. + * config/mips/tm-irix5.h (MIPS_REGISTER_BYTE): Update. + +2003-11-15 Andrew Cagney <cagney@redhat.com> + + * config/sparc/tm-sparc.h (DEPRECATE_USE_REGISTER_NOT_ARG): Rename + USE_REGISTER_NOT_ARG. + * stabsread.c (define_symbol): Update. + +2003-11-15 Andrew Cagney <cagney@redhat.com> + + * bcache.h (deprecated_bcache): Declare. + (bcache): Make returned buffer constant. + * bcache.c (deprecated_bcache): New function. + (bcache_data): New function. + (bcache): Call bcache data. + * symfile.c (add_psymbol_to_list): Use deprecated_bcache. + (add_psymbol_with_dem_name_to_list): Ditto. + +2003-11-15 Mark Kettenis <kettenis@gnu.org> + + * glibc-tdep.h (struct gdbarch): Declare opaque. + (glibc_skip_solib_resolver): Adjust prototype. + * glibc-tdep.c (glibc_skip_solib_resolver): Adjust. + * arm-linux-tdep.c (arm_linux_skip_solib_resolver): Remove. + (arm_linux_init_abi): Set skip_solib_resolver. + * i386-linux-tdep.c (i386_linux_skip_solib_resolver): Remove. + (i386_linux_init_abi): Set skip_solib_resolver. + * config/arm/tm-linux.h (SKIP_SOLIB_RESOLVER): Remove. + (arm_linux_skip_solib_resolver): Remove prototype. + * config/i386/tm-linux.h (SKIP_SOLIB_RESOLVER): Remove. + (i386_linux_skip_solib_resolver): Remove prototype. + +2003-11-14 Mark Kettenis <kettenis@gnu.org> + + * gdbarch.sh (skip_solib_resolver): Change into a multi-arch + function. + * gdbarch.c, gdbarch.h: Regenerate. + * infrun.c (handle_inferior_event): Call + gdbarch_skip_solib_resolver instead of SKIP_SOLIB_RESOLVER. + * arch-utils.c (generic_in_solib_call_trampoline): Adjust function + definition. + * arch-utils.h (generic_in_solib_call_trampoline): Adjust function + prototype. + +2003-11-14 Jeff Johnston <jjohnstn@redhat.com> + + * libunwind-frame.c: New file. + * libunwind-frame.h: New file. + * acconfig.h (HAVE_LIBUNWIND): #undef reference added. + * configure.in: Add --with-libunwind option support. Define + HAVE_LIBUNWIND if libunwind support selected / defaulted. + Also check for libunwind.h and libunwind-ia64.h headers. + * configure: Regenerated. + * Makefile.in: Add support for libunwind-frame.o. + * config.in: Regenerated. + +2003-11-14 Jeff Johnston <jjohnstn@redhat.com> + + * config/ia64/nm-linux.h (NATIVE_XFER_UNWIND_TABLE): New macro to + set up the ia64 linux native target method for getting the kernel + unwind table. + * ia64-linux-nat.c (ia64_linux_xfer_unwind_table): New function. + * inftarg.c (child_xfer_partial): Enable section of code to + handle TARGET_OBJECT_UNWIND_TABLE. + * target.h (target_object): Add new TARGET_OBJECT_UNWIND_TABLE macro. + +2003-11-14 Ian Lance Taylor <ian@wasabisystems.com> + + * config/arm/nbsd.mt (TM_FILE): Define. + * config/arm/tm-nbsd.h: New file. + +2003-11-14 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (ppc-sysv-tdep.o): Update dependencies. + * ppc-sysv-tdep.c: Include "objfiles.h". + (ppc64_sysv_abi_push_dummy_call): Provide the + the FN's objfile when looking for the descriptor. + + * ppc-linux-tdep.c (ppc_linux_init_abi): Set PPC64's + "name_of_malloc" to ".malloc". + +2003-11-13 Mark Kettenis <kettenis@gnu.org> + + * config/i386/x86-64linux.mt (TDEPFILES): Add glibc-tdep.o. + +2003-11-13 David Carlton <carlton@kealia.com> + + * cp-namespace.c (lookup_namespace_scope): Fix typo in comment. + +2003-11-13 Andrew Cagney <cagney@redhat.com> + + * arch-utils.h (selected_architecture_name): Declare. + (selected_byte_order): Declare. + * arch-utils.c (selected_byte_order): New function. + (selected_architecture_name): New function. + (target_architecture_auto): Make static. + (set_architecture_string): Make static. + (target_byte_order): Make static. + (target_byte_order_auto): Make static. + * gdbarch.sh (TARGET_BYTE_ORDER, TARGET_ARCHITECTURE): Delete + non-multi-arch definition. + (TARGET_ARCHITECTURE_AUTO, TARGET_BYTE_ORDER_AUTO): Delete. + (target_byte_order, target_architecture): Delete declaration. + (target_byte_order_auto, target_architecture_auto): Ditto. + * gdbarch.h: Re-generate. + * remote-sim.c (gdbsim_open): Use "selected_architecture_name" and + "selected_byte_order". + +2003-11-13 Andrew Cagney <cagney@redhat.com> + + * ppc-linux-tdep.c (ppc_linux_return_value): Fix parameter order. + +2003-11-13 Jim Blandy <jimb@redhat.com> + + * cp-namespace.c: Doc fix. + +2003-11-12 Michael Snyder <msnyder@redhat.com> + + * sh64_tdep.c: Regularize some names. + (sh_sh64_register_name): Rename to sh64_register_name. + (sh_sh64_breakpoint_from_pc): Rename to sh64_breakpoint_from_pc. + (sh_sh64_register_byte): Rename to sh64_register_byte. + (sh_sh64_build_float_register_type): + Rename to sh64_build_float_register_type. + (sh_sh64_register_convert_to_virtual): + Rename to sh64_register_convert_to_virtual. + (sh_sh64_register_convert_to_raw): + Rename to sh64_register_convert_to_raw. + + * sh64-tdep.c (translate_insn_rn, is_media_pseudo, + sh64_media_reg_base_num, sh64_compact_reg_base_num, + sh64_nofp_frame_init_saved_regs, sh64_push_arguments, + sh64_extract_return_value, sh64_show_media_regs, + sh64_show_compact_regs, sh_sh64_register_byte, sh64_register_type, + sh_sh64_register_convert_to_virtual, sh_sh64_register_convert_to_raw, + sh64_pseudo_register_read, sh64_pseudo_register_write, + sh64_do_pseudo_register, sh_compact_print_registers_info): + Delete unused variable 'tdep'. + + * sh64-tdep.c: Coding standard and spelling comment fixes. + (sh64_extract_return_value): Replace deprecated_store_floating + with store_typed_floating. + (sh_sh64_register_convert_to_raw): Replace + deprecated_store_floating with store_typed_floating. + (sh_sh64_register_virtual_type): Convert to sh64_register_type. + (sh64_frame_chain, sh64_get_saved_pr, sh64_get_saved_register, + sh64_nofp_frame_init_saved_regs, sh64_push_arguments, + sh64_extract_struct_value_address, sh64_pop_frame, + sh64_extract_return_value, sh64_store_return_value, + sh_sh64_register_convert_to_virtual, sh64_pseudo_register_read, + sh_sh64_register_convert_to_raw, sh_pseudo_register_write): + Replace DEPRECATED_REGISTER_RAW_SIZE with register_size. + Replace DEPRECATED_REGISTER_VIRTUAL_TYPE with register_type. + (sh64_gdbarch_init): Don't set deprecated_register_bytes, + deprecated_register_virtual_type, deprecated_register_raw_size, + deprecated_max_register_raw_size, or + deprecated_max_register_virtual_size. Instead, just set + gdbarch_register_type. + (sh_sh64_register_raw_size): Delete. + (sh_sh64_register_virtual_size): Delete. + +2003-11-12 Daniel Jacobowitz <drow@mvista.com> + + * dwarf2read.c (struct dwarf2_cu): New type. + + (dwarf2_build_psymtabs_hard, psymtab_to_symtab_1): Create a + dwarf2_cu structure to pass down. + + (scan_partial_symbols, add_partial_symbol, add_partial_namespace) + (add_partial_enumeration, locate_pdi_sibling, process_die) + (read_file_scope, read_func_scope) + (read_lexical_block_scope, dwarf2_get_pc_bounds) + (dwarf2_add_field, dwarf2_attach_fields_to_type) + (dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type) + (read_structure_scope, read_enumeration, read_array_type) + (read_common_block, read_namespace, read_tag_pointer_type) + (read_tag_ptr_to_member_type, read_tag_reference_type) + (read_tag_const_type, read_tag_volatile_type, read_tag_string_type) + (read_subroutine_type, read_typedef, read_base_type, read_comp_unit) + (read_die_and_children, read_die_and_siblings, dwarf2_read_section) + (dwarf2_read_abbrevs, dwarf2_lookup_abbrev, read_partial_die) + (read_full_die. read_attribute_value, read_attribute) + (read_address, dwarf_decode_line_header, dwarf_decode_lines) + (var_decode_location, new_symbol, dwarf2_const_value, die_type) + (die_containing_type, type_at_offset, tag_type_to_type) + (read_type_die, dwarf_base_type, decode_locdesc, dwarf_decode_macros) + (dwarf2_symbol_mark_computed): Accept and use a dwarf2_cu object. + +2003-11-12 Daniel Jacobowitz <drow@mvista.com> + + PR breakpoints/1450 + * breakpoint.c (insert_bp_location): Fix a logic error by returning + 0 after a catchpoint fails. + +2003-11-11 Michael Chastain <mec.gnu@mindspring.com> + + * mips-tdep.c (msymbol_size): Delete. + +2003-11-07 Michael Chastain <mec@shout.net> + + * symtab.h (struct minimal_symbol): Add size. + * dbxread.c: Use it. + * elfread.c: (record_minimal_symbol_and_info): Do not use info. + Rename to record_minimal_symbol. + (elf_symtab_read): Set MSYMBOL_SIZE explicitly. + * minsyms.c (prim_record_minimal_symbol_and_info): Initialize MSYMBOL_SIZE. + (install_minimal_symbols): Ditto. + * objfiles.c (terminate_minimal_symbol_table): Ditto. + * arm-tdep.c: Delete unused MSYMBOL_SIZE. + * m68hc11-tdep.c: Ditto. + * mips-tdep.c: Ditto. + * sh64-tdep.c: Ditto. + +2003-11-10 Michael Chastain <mec.gnu@mindspring.com> + + * MAINTAINERS: Change my e-mail address. + +2003-11-10 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (return_value): Replace "inval" and "outval" with + "readbuf" and "writebuf". + * ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto. + * d10v-tdep.c (d10v_return_value): Ditto. + * ppc-tdep.h (ppc_sysv_abi_return_value): Ditto. + (ppc_sysv_abi_broken_return_value): Ditto. + (ppc64_sysv_abi_return_value): Ditto. + * ppc-sysv-tdep.c (do_ppc_sysv_return_value): Ditto. + (ppc_sysv_abi_return_value): Ditto. + (ppc_sysv_abi_broken_return_value): Ditto. + (ppc64_sysv_abi_return_value): Ditto. + * values.c (register_value_being_returned): Update call. + * stack.c (return_command): Update call. + * gdbarch.h, gdbarch.c: Re-generate. + + * target.h (struct target_ops): Order xfer buffer parameters "read + write" not "write read". + * bfd-target.c (target_bfd_xfer_partial): Update. + * remote.c (remote_xfer_partial): Update. + * inftarg.c (child_xfer_partial): Update. + * target.c (default_xfer_partial): Update. + (target_read_partial, target_write_partial): Update. + (debug_to_xfer_partial): Update. + + * arch-utils.h, arch-utils.c: Fix typo in comment. + + * arch-utils.c (deprecated_select_gdbarch_hack): Delete function. + (gdbarch_from_bfd): Call gdbarch_find_by_info. + (set_gdbarch_from_file): Call + "deprecated_current_gdbarch_select_hack". + +2003-11-09 Andrew Cagney <cagney@redhat.com> + + * arch-utils.c (gdbarch_update_p): New function. + * gdbarch.sh (gdbarch_update_p): Delete function. + (find_arch_by_info, gdbarch_find_by_info): New functions. + (deprecated_current_gdbarch_select_hack): New function. + * gdbarch.c: Re-generate. + + * gdbarch.sh (clear_gdbarch_swap): Delete function. + (swapout_gdbarch_swap): Delete function. + (swapin_gdbarch_swap): Delete function. + (init_gdbarch_swap): Delete function. + (initialize_non_multiarch): Delete function. + (current_gdbarch_swap_in_hack): New function. + (current_gdbarch_swap_out_hack): New function. + (current_gdbarch_swap_init_hack): New function. + * gdbarch.c: Re-generate. + + * gdbarch.sh (verify_gdbarch, gdbarch_dump): Rename "gdbarch" + parameter to "current_gdbarch". Add comment explaining why. + (TARGET_FLOAT_FORMAT: Pass "current_gdbarch" to default_double_format. + (TARGET_DOUBLE_FORMAT,TARGET_LONG_DOUBLE_FORMAT): Ditto. + * gdbarch.c: Re-generate. + + * config/s390/s390.mh (XM_FILE, XM_CLIBS): Delete macros. + * config/s390/nm-linux.h (KERNEL_U_ADDR): Define. + * config/s390/xm-linux.h: Delete file. + * config/m88k/xm-delta88v4.h: Delete stray. + + * Makefile.in (arch-utils.o): Update dependencies. + * arch-utils.c: Include "osabi.h". + (gdbarch_info_fill): New function. + * arch-utils.h (gdbarch_info_fill): Declare. + * gdbarch.sh (gdbarch_update_p): Call "gdbarch_info_fill". + * gdbarch.c: Re-generate. + +2003-11-09 Mark Kettenis <kettenis@gnu.org> + David S. Miller <davem@redhat.com> + + * glibc-tdep.c, glibc-tdep.h: New files. + * config/arm/linux.mt (TDEPFILES): Add glibc-tdep.o + * config/i386/linux.mt (TDEPFILES): Likewise. + * i386-linux-tdep.c (glibc-tdep.h): Include. + (find_minsym_and_objfile, skip_hurd_resolver): Delete. + (i386_linux_skip_solib_resolver): Call glibc_skip_solib_resolver. + * arm-linux-tdep.c (glibc-tdep.h): Include. + (find_minsym_and_objfile, skip_hurd_resolver): Delete. + (arm_linux_skip_solib_resolver): Call glibc_skip_solib_resolver. + * Makefile.in (ALLDEPFILES): Add glibc-tdep.c + (glibc_tdep_h): Define. + (glibc-tdep.o): Add dependencies. + (arm-linux-tdep.o): Update dependencies. + (i386-linux-tdep.o): Likewise. + +2003-11-09 Andrew Cagney <cagney@redhat.com> + + * config/mips/irix6.mh (NAT_FILE): Set to "nm-irix5.h". + * config/mips/nm-irix6.h: Delete file. + * config/mips/nm-linux.h: Update copyright. + (MIPS_GNULINUX_TARGET): Delete macro. + * config/mips/irix6.mh (XM_FILE): Set to "xm-irix5.h". + * config/mips/xm-irix6.h: Delete file. + * config/mips/linux.mh (XM_FILE): Delete definition. + * config/mips/xm-linux.h: Delete file. + +2003-11-09 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c (d10v_return_value): New function. + (d10v_use_struct_convention): Delete function. + (d10v_store_return_value): Delete function. + (d10v_extract_struct_value_address): Delete function. + (d10v_gdbarch_init): Set "return_value" instead of + "extract_return_value", "store_return_value", + "extract_struct_value_address", and "use_struct_convention". + (RET1_REGNUM): Delete const. + +2003-11-09 Mark Kettenis <kettenis@gnu.org> + + From David S. Miller <davem@redhat.com>: + * gdbarch.sh (SKIP_SOLIB_RESOLVER): New method. + * gdbarch.c, gdbarch.h: Regenerated. + * arch-utils.c (generic_skip_solib_resolver): New function. + * arch-utils.h (generic_skip_solib_resolver): New prototype. + * infrun.c (SKIP_SOLIB_RESOLVER): Don't define. + +2003-11-07 Andrew Cagney <cagney@redhat.com> + + * top.c (print_gdb_version): Replace STREQ with strcmp. + * valops.c (value_struct_elt_for_reference): Ditto. + (value_struct_elt_for_reference): Ditto. + * symtab.c (gdb_mangle_name): Ditto. + (find_line_symtab): Ditto. + * symmisc.c (maintenance_print_symbols): Ditto. + * symfile.c (symbol_file_command): Ditto. + * stabsread.c (define_symbol, read_type): Ditto. + (cleanup_undefined_types, scan_file_globals): Ditto. + * solib.c (solib_map_sections): Ditto. + * solib-svr4.c (bfd_lookup_symbol): Ditto. + * rs6000-tdep.c (skip_prologue): Ditto. + * p-valprint.c (pascal_value_print): Ditto. + (pascal_object_is_vtbl_ptr_type): Ditto. + * objfiles.c (in_plt_section): Ditto. + * minsyms.c (lookup_minimal_symbol): Ditto. + (compact_minimal_symbols): Ditto. + (find_solib_trampoline_target): Ditto. + * mdebugread.c (parse_type): Ditto. + * language.c (set_language_command): Ditto. + (set_type_command, set_range_command): Ditto. + * f-lang.c (add_common_block): Ditto. + (add_common_block): Ditto. + (find_first_common_named): Ditto. + (patch_all_commons_by_name): Ditto. + * elfread.c (elf_locate_sections): Ditto. + (elf_locate_sections): Ditto. + (elfstab_offset_sections): Ditto. + * dwarf2read.c (dwarf2_locate_sections): Ditto. + * dbxread.c (add_old_header_file): Ditto. + (find_corresponding_bincl_psymtab): Ditto. + (read_dbx_symtab, process_one_symbol): Ditto. + * coffread.c (patch_opaque_types): Ditto. + * cli/cli-decode.c (delete_cmd): Ditto. + * cli/cli-cmds.c (pwd_command, list_command): Ditto. + * c-typeprint.c (c_type_print_base): Ditto. + * breakpoint.c (bpstat_stop_status): Ditto. + (clear_command, breakpoint_re_set_one): Ditto. + +2003-11-07 Andrew Cagney <cagney@redhat.com> + + * bcache.h: Update copyright. Add comments on bcache VS hashtab. + * bcache.c (struct bstring): Make "length" an unsigned short, add + "half_hash". + (struct bcache): Add "half_hash_error_count". + (bcache): Compute and save the "half_hash". Compare the + "half_hash" before comparing the length. Update + half_hash_error_count. + +2003-11-07 Andrew Cagney <cagney@redhat.com> + + * inftarg.c (child_xfer_partial): New function + (init_child_ops): Set "to_xfer_partial". + +2003-11-07 Andrew Cagney <cagney@redhat.com> + + * ppc-linux-tdep.c (ppc_linux_init_abi): When 32-bit GNU/Linux, + set "return_value" instead of "use_struct_convention". + (ppc_linux_use_struct_convention): Delete function. + (ppc_linux_return_value): New function. + * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): New function. + (ppc_sysv_abi_broken_return_value): New function. + (do_ppc_sysv_return_value): Add "gdbarch" parameter. + (ppc64_sysv_abi_push_dummy_call): Add "gdbarch" parameter, drop + static. + (ppc_sysv_abi_extract_return_value): Delete function. + (ppc_sysv_abi_broken_extract_return_value): Delete function. + (ppc_sysv_abi_store_return_value): Delete function. + (ppc_sysv_abi_broken_store_return_value): Delete function. + (ppc_sysv_abi_use_struct_convention): Delete function. + (ppc64_sysv_abi_use_struct_convention): Delete function. + (ppc64_sysv_abi_extract_return_value): Delete function. + (ppc64_sysv_abi_store_return_value): Delete function. + * ppcnbsd-tdep.c (ppcnbsd_return_value): New function. + (ppcnbsd_init_abi): Set "return_value", instead of + "use_struct_convention", "extract_return_value", and + "store_return_value". + (ppcnbsd_use_struct_convention): Delete function. + * ppc-tdep.h (ppc64_sysv_abi_return_value): Declare. + (ppc_sysv_abi_return_value): Declare. + (ppc_sysv_abi_broken_return_value): Declare. + (ppc_sysv_abi_use_struct_convention): Delete. + (ppc_sysv_abi_store_return_value): Delete. + (ppc_sysv_abi_extract_return_value): Delete. + (ppc_sysv_abi_broken_store_return_value): Delete. + (ppc_sysv_abi_broken_extract_return_value): Delete. + (ppc64_sysv_abi_use_struct_convention): Delete. + (ppc64_sysv_abi_extract_return_value): Delete. + (ppc64_sysv_abi_store_return_value): Delete. + * rs6000-tdep.c (rs6000_gdbarch_init): For 32-bit and 64-bit SYSV, + set "return_value" instead of "extract_return_value", + "store_return_value", and "use_struct_convention". + +2003-11-07 Mark Kettenis <kettenis@gnu.org> + + * dwarf2-frame.c (dwarf2_build_frame_info): Wrap comment. + + * fbsd-proc.c (read_mapping): Use sscanf and fgets instead of + fscanf. + +2003-11-07 Mark Kettenis <kettenis@gnu.org> + + * fbsd-proc.c: Fix formatting. + +2003-11-06 Kevin Buettner <kevinb@redhat.com> + + * frv-tdep.c (first_pseudo_regnum, iacc0_regnum, frv_num_pseudo_regs): + Define. + (new_variant): Set name for iacc0_regnum. + (frv_register_name): Accommodate pseudo-registers. + (frv_register_type): Add case for iacc0_regnum. + (frv_pseudo_register_read, frv_pseudo_register_write): New functions. + (frv_gdbarch_init): Set number of pseudo registers. Establish + pseudo-register read/write methods. + +2003-11-06 Andrew Cagney <cagney@redhat.com> + + * valops.c (destructor_name_p): Replace STREQN with strncmp. + * top.c (command_line_input): Ditto. + * objc-exp.y (yylex): Ditto. + * minsyms.c (prim_record_minimal_symbol_and_info): Ditto. + * jv-exp.y (yylex): Ditto. + * f-exp.y (yylex): Ditto. + * event-top.c (command_line_handler): Ditto. + * environ.c (get_in_environ): Ditto. + (set_in_environ): Ditto. + * dwarfread.c (handle_producer): Ditto. + * dbxread.c (process_one_symbol): Ditto. + * c-typeprint.c (c_type_print_base): Ditto. + * c-exp.y (yylex): Ditto. + +2003-11-06 Andrew Cagney <cagney@redhat.com> + Jeff Johnston <jjohnstn@redhat.com> + + * target.c (add_target): Only set "to_xfer_partial" when NULL. + (init_dummy_target): Set "to_xfer_partial". + +2003-11-06 Andrew Cagney <cagney@redhat.com> + + * stack.c (return_command): Warn when STRUCT_CONVENTION, and not + REGISTER_CONVENTION. + +2003-11-06 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.c (insert_bp_location, allocate_bp_location): Make + static. + +2003-11-06 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.c (remove_breakpoint): Take an bp_location + instead of a breakpoint argument. Check the bp_location's type. + Fix a reversed condition for hardware breakpoints. + + (insert_bp_location): Update call to remove_breakpoint. + (remove_breakpoints): Likewise. Use ALL_BP_LOCATIONS. + (remove_hw_watchpoints): Likewise. + (reattach_breakpoints): Likewise. + (detach_breakpoints): Likewise. + (delete_breakpoint): Likewise. + +2003-11-06 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.c (mark_breakpoints_out): Use ALL_BP_LOCATIONS. + (beakpoint_init_inferior): Likewise. + (breakpoint_here_p): Likewise. Only check addresses for software + or hardware breakpoints. + (breakpoint_inserted_here_p): Likewise. + (breakpoint_thread_match): Likewise. Correct comment. + (bpstat_have_active_hw_watchpoints): Likewise. + (check_duplicates): Likewise. + +2003-11-06 Daniel Jacobowitz <drow@mvista.com> + + * breakpoints.c (insert_bp_location): New function, broken out + from insert_breakpoints. Work on an bp_location instead of a + breakpoint. + (insert_breakpoints): Use it. + +2003-11-06 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.h (struct bp_location): Add section. + (struct breakpoint): Remove section. + * breakpoint.c (insert_breakpoints, remove_breakpoint) + (breakpoint_here_p, breakpoint_inserted_here_p) + (breakpoint_thread_match, bpstat_stop_status, print_one_breakpoint) + (describe_other_breakpoints, check_duplicates, set_raw_breakpoint) + (clear_command, delete_breakpoint, breakpoint_re_set_one): Access + section through loc. + +2003-11-06 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.c (read_memory_nobpt): Use ALL_BP_LOCATIONS + instead of ALL_BREAKPOINTS. Check for software breakpoints only. + +2003-11-06 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.c (allocate_bp_location): Take bpt and bp_type + arguments. Initialize owner and type for the new breakpoint + location item. + (set_raw_breakpoint): Update call to allocate_bp_location. + +2003-11-06 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.h (struct bp_location): Add a chain pointer. + * breakpoint.c (ALL_BP_LOCATIONS, ALL_BP_LOCATIONS_SAFE): New + macros. + (bp_location_chain): New variable. + (allocate_bp_location): New function. + (set_raw_breakpoint): Use it. + (delete_breakpoint): Remove ->loc from the bp_location_chain. + +2003-11-06 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.h (enum bp_loc_type, struct bp_location): New. + (struct breakpoint): Remove address, shadow_contents, inserted, + requested_address, and duplicate. Add a struct bp_location. + * breakpoint.c (condition_command, read_memory_nobpt) + (insert_breakpoints, remove_breakpoints, remove_hw_watchpoints) + (reattach_breakpoints, update_breakpoints_after_exec) + (detach_breakpoints, remove_breakpoint, mark_breakpoints_out) + (breakpoint_init_inferior, breakpoint_here_p) + (breakpoint_inserted_here_p, deprecated_frame_in_dummy) + (breakpoint_thread_match, bpstat_stop_status) + (bpstat_have_active_hw_watchpoints, print_one_breakpoint) + (describe_other_breakpoints, check_duplicates) + (make_breakpoint_permanent, create_thread_event_breakpoint) + (disable_breakpoints_in_shlibs, re_enable_berakpoints_in_shlibs) + (set_longjmp_resume_breakpoint, mention, create_breakpoints) + (watch_command_1, print_one_exception_catchpoint) + (clear_command, breakpoint_re_set_one): Adjust member accesses to + use the breakpoint's ->loc. + (set_raw_breakpoint): Likewise. Initialize ->loc. + (delete_breakpoint): Likewise. Free ->loc. + +2003-11-05 Andrew Cagney <cagney@redhat.com> + + * config/sparc/tm-sparc.h (FRAME_STRUCT_ARGS_ADDRESS): Delete + macro. + * config/m68k/tm-sun3.h (SIG_PC_FP_OFFSET): Delete macro. + * config/i386/tm-cygwin.h + (LINKER_SYMBOLS_HAVE_WIN32_STDCALL_ARG_SIZES): Delete macro. + * config/powerpc/tm-linux.h + (AT_SUBROUTINE_CALL_INSTRUCTION_TARGET): Delete macro. + (at_subroutine_call_instruction_target): Delete declaration. + * config/sparc/tm-sp64linux.h (GDB_PTRACE_REGS64): Delete macro. + * config/m68k/tm-sun3.h (SIG_SP_FP_OFFSET): Delete macro. + * config/ns32k/tm-ns32k.h (NUM_GENERAL_REGS): Delete macro. + + * xcoffread.c (find_linenos): Replace "sec_ptr" and "bfd" with + "struct bfd_section" and "struct bfd". + * target.h (struct section_table): Ditto. + * rs6000-nat.c (xcoff_relocate_core): Ditto. + * solib-svr4.c (elf_locate_base): Ditto. + * pa64solib.c (dld_cache_t): Ditto. + * objfiles.h (struct obj_section): Ditto. + * objfiles.c (add_to_objfile_sections): Ditto. + * exec.c (bfdsec_to_vmap): Ditto. + (add_to_section_table): Ditto. + (build_section_table): Ditto. + * corelow.c (get_core_register_section): Ditto. + * coffread.c (find_linenos): Ditto. + * elfread.c (elf_interpreter): Delete #if0'd function. + + * mips-tdep.c (mips_dump_tdep): Delete code prinint VX_NUM_REGS. + * config/sparc/tm-vxsparc.h (VX_NUM_REGS): Delete macro. + * config/mips/tm-vxmips.h (VX_NUM_REGS): Delete macro. + * config/m68k/tm-vx68.h (VX_NUM_REGS): Delete macro. + + * arch-utils.h (generic_cannot_extract_struct_value_address): + Delete declaration. + * wince.c (_initialize_wince): Fix multi-line string. + * ia64-tdep.c (floatformat_valid): Convert to ISO C. + +2003-11-05 Elena Zannoni <ezannoni@redhat.com> + + * top.c (execute_command): Fix broken logic for command execution + while inferior is running in async mode. + +2003-11-06 Mark Kettenis <kettenis@gnu.org> + + * dwarf2-frame.c (execute_cfa_program): Mark register as + REG_SAVED_REG for DW_CFA_register opcode. + +2003-11-05 Mark Kettenis <kettenis@gnu.org> + + * amd64fbsd-tdep.c (amd64fbsd_sc_reg_offset): Adjust offset of + %rsp, %rip and %eflags to match ABI-change. + +2003-11-05 Jeff Johnston <jjohnstn@redhat.com> + + * ia64-tdep.c (struct gdbarch_tdep): Remove os_ident field. + (ia64_gdbarch_init): Don't bother calculating the os. + Instead use the gdbarch_info struct and look at the osabi field. + Also use gdbarch_list_lookup_by_info() to look for a + candidate gdbarch. + +2003-11-05 Kevin Buettner <kevinb@redhat.com> + + * frv-tdep.c (frv_register_byte): Delete. + (frv_extract_return_value, frv_store_return_value) + (frv_extract_struct_value_address): Don't call frv_register_byte(). + Convert to non-deprecated form. + (frv_gdbarch_init): Don't call set_gdbarch_deprecated_register_byte(). + Convert calls to set_gdbarch_deprecated_extract_return_value(), + set_gdbarch_deprecated_store_return_value(), and + set_gdbarch_deprecated_extract_struct_value_address() into + non-deprecated forms. + +2003-11-05 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (mips_dump_tdep): Do not print + PRINT_EXTRA_FRAME_INFO. + * config/sparc/tm-sparc.h (DEPRECATED_PRINT_EXTRA_FRAME_INFO): + Rename PRINT_EXTRA_FRAME_INFO. + * mips-tdep.c (mips_print_extra_frame_info): Delete function. + * config/mips/tm-mips.h (PRINT_EXTRA_FRAME_INFO): Delete macro. + (mips_print_extra_frame_info): Delete declaration. + * stack.c (frame_info): Use DEPRECATED_PRINT_EXTRA_FRAME_INFO. + +2003-11-05 Elena Zannoni <ezannoni@redhat.com> + + * coffread.c (coff_symtab_read): Remove passing of info parameter + to prim_record_minimal_symbol_and_info. + +2003-11-05 Elena Zannoni <ezannoni@redhat.com> + + * coffread.c (process_coff_symbol): Delete CXUX_TARGET macro use. + (decode_base_type): Delete ifdeffed out code. + +2003-11-04 Andrew Cagney <cagney@redhat.com> + + * symtab.c (find_active_alias): Delete function. + (lookup_block_symbol): Delete alias code. + * stabsread.c (resolve_live_range): Delete function. + (add_live_range): Delete function. + (resolve_symbol_reference): Delete function. + (define_symbol): Delete live range and alias code. + (scan_file_globals): Delete alias code. + * symtab.h (SYMBOL_RANGES): Delete macro. + (struct range_list): Delete structure. + (struct symbol): Delete field "ranges". + (SYMBOL_ALIASES): Delete macro. + (struct alias_list): Delete structure. + (struct symbol): Delete field "aliases". + +2003-11-04 Michael Snyder <msnyder@redhat.com> + + * MAINTAINERS: Remove myself as owner of breakpoints and + of sparc/solaris. + +2003-11-03 Corinna Vinschen <vinschen@redhat.com> + + * sh-tdep.c (sh_sh4_nofpu_register_name): New function. + (sh_sh4al_dsp_register_name): Ditto. + (sh4_nofpu_show_regs): Ditto. + (sh_gdbarch_init): Add cases for bfd_mach_sh4al_dsp, bfd_mach_sh4a, + bfd_mach_sh4_nofpu and bfd_mach_sh4a_nofpu. + +2003-11-03 Andrew Cagney <cagney@redhat.com> + + * bcache.c: Include "gdb_assert.h". + (struct bcache): Add fields "expand_count" and + "expand_hash_count". + (expand_hash_table): Update the expand counts. + (print_bcache_statistics): Use XCALLOC, not alloca. Print stats + on object sizes and hashes. + * Makefile.in (bcache.o): Update dependencies. + +2003-11-03 Andrew Cagney <cagney@redhat.com> + + * exec.c (xfer_memory): Eliminate xfer_fn. + +2003-10-31 Kevin Buettner <kevinb@redhat.com> + + * frv-tdep.c (gdb_assert.h, sim-regno.h, gdb/sim-frv.h) + (opcodes/frv-desc.h): Include. + (iacc0h_regnum, iacc0l_regnum): Define. + (last_spr_regnum, frv_num_regs): Update. + (new_variant): Don't supply default names for holes in the SPRs. + Supply names for iacc0h_regnum and iacc0l_regnum. + (frv_register_type): Use symbolic constants first_fpr_regnum and + last_fpr_regnum instead of hardcoded constants 64 and 127. Use + builtin_type_int instead of builtin_type_int32. + (frv_register_sim_regno): New function. + (frv_gdbarch_init): Call set_gdbarch_register_sim_regno(). + * Makefile.in (gdb_sim_frv_h): Define. + (frv-tdep.o): Update dependencies. + +2003-10-31 Andrew Cagney <cagney@redhat.com> + + * avr-tdep.c (avr_frame_this_id): Do not call + deprecated_inside_entry_file. + * m68hc11-tdep.c (m68hc11_frame_this_id): Ditto. + * m32r-tdep.c (m32r_frame_this_id): Ditto. + * d10v-tdep.c (d10v_frame_this_id): Ditto. + * arm-tdep.c (arm_prologue_this_id): Ditto. + * alpha-tdep.c (alpha_heuristic_frame_this_id): Ditto. + +2003-10-31 Jim Blandy <jimb@redhat.com> + + * elfread.c (elf_symtab_read): Allocate correct number of tail + elements to sectinfo structure. (Fix from Woody LaRue.) + +2003-10-31 Andrew Cagney <cagney@redhat.com> + + * stack.c (return_command): Use get_frame_type, instead of + CALL_DUMMY_HAS_COMPLETED. + * inferior.h (CALL_DUMMY_HAS_COMPLETED): Delete definition. + * config/pa/tm-hppa.h (CALL_DUMMY_HAS_COMPLETED): Delete macro. + +2003-10-31 Mark Kettenis <kettenis@gnu.org> + + * x86-64-linux-tdep.c (x86_64_linux_sc_reg_offset): Don't + explicitly specify size of array. + (x86_64_linux_init_abi): Use ARRAY_SIZE to initialize + TDEP->sc_num_regs. + +2003-10-31 Andrew Cagney <cagney@redhat.com> + + * s390-tdep.c (s390_cannot_extract_struct_value_address): New + function. + (s390_gdbarch_init): Set extract_struct_value_address. + * arch-utils.c (generic_cannot_extract_struct_value_address): + Delete function. + * arch-utils.h (generic_cannot_extract_struct_value_address): + Delete definition. + +2003-10-31 Mark Kettenis <kettenis@gnu.org> + + * i386-linux-nat.c (fetch_core_registers): Remove. + (linux_elf_core_fns): Remove. + (_initialize_i386_linux_nat): Remove. + +2003-10-31 Andrew Cagney <cagney@redhat.com> + + * solib-svr4.c: Update copyright. Include "bfd-target.h" and + "exec.h". + (exec_entry_point): New function. + (enable_break): Create a "tmp_bfd_target", use that and + entry_point_address when computing the relocation offset. + (svr4_relocate_main_executable): Ditto with exec_bfd and exec_ops. + * Makefile.in (solib-svr4.o): Update dependencies. + +2003-10-31 Andrew Cagney <cagney@redhat.com> + + * defs.h (XZALLOC): Define. + * target.h (struct target_ops): Add "to_data"; + * bfd-target.h, bfd-target.c: New files. + * Makefile.in (SFILES): Add "bfd-target.c". + (COMMON_OBS): Add "bfd-target.o". + (bfd-target.o): Specify dependencies. + (bfd_target_h): Define. + * defs.h (XZALLOC): Define. + +2003-10-31 Andrew Cagney <cagney@redhat.com> + + * rs6000-tdep.c (rs6000_gdbarch_init): For 64-bit ABI, set + adjust_breakpoint_address. + * Makefile.in (ppc-sysv-tdep.o): Add $(target_h). + * ppc-tdep.h (ppc64_sysv_abi_adjust_breakpoint_address): Declare. + * ppc-sysv-tdep.c: Include "target.h". Update copyright. + (ppc64_sysv_abi_adjust_breakpoint_address): New function. + +2003-10-31 Andrew Cagney <cagney@redhat.com> + + * target.h (struct target_ops): Replace "to_read_partial" and + "to_write_partial" with "to_xfer_partial". Update comments. + * target.c (debug_to_write_partial): Delete function. + (debug_to_xfer_partial): Replace debug_to_read_partial. + (add_target, update_current_target, setup_target_debug): Set + "to_xfer_partial" instead of "to_read_partial" and + "to_write_partial". + (default_xfer_partial): Replace "default_write_partial". + (default_read_partial): Delete. + (target_read_partial, target_write_partial): Call + "to_xfer_partial". + * remote.c (init_remote_ops): Set "to_xfer_partial". + (init_remote_async_ops): Ditto. + (remote_xfer_partial): Replace "remote_read_partial". + +2003-10-31 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.c (i386_supply_fpregset): Support floating-point + registers in `fxsave' format. + (i386_regset_from_core_section): Deal with ".reg-xfp" sections. + +2003-10-30 Mark Kettenis <kettenis@gnu.org> + + * i386-linux-tdep.c (i386_linux_gregset_reg_offset): New variable. + (i386_linux_init_abi): Initialize TDEP->gregset_reg_offset, + TDEP->gregset_num_regs and tdep->sizeof_gregset. + + * i386-linux-tdep.c (i386_linux_sc_reg_offset): Don't explicitly + specify size of array. + (i386_linux_init_abi): Remove initialization of + TDEP->num_xmm_regs. Use I386_LINUX_NUM_REGS for number of + registers. Use ARRAY_SIZE to initialize TDEP->sc_num_regs. + + * config/i386/fbsd64.mt (TDEPFILES): Add corelow.o. + * config/i386/fbsd64.mh (NATDEPFILES): Remove corelow.o and + core-regset.o. + + * fbsd-proc.c (fbsd_make_corefile_notes): Put a "FreeBSD" label in + the ELF header. + +2003-10-29 Mark Kettenis <kettenis@gnu.org> + + * config/i386/fbsd.mt (TDEPFILES): Add corelow.o. + * config/i386/fbsd.mh (NATDEPFILES): Remove corelow.o and + core-regset.o. + + * fbsd-proc.c (fbsd_make_corefile_notes): Remove unecessary casts. + + * corelow.c: Include "arch-utils.h", "regset.h" and + "gdb_assert.h". + (core_gdbarch): New variable. + (sniff_core_bfd): Don't sniff if we have support for register sets + in CORE_GDBARCH. + (core_close): Reset CORE_GDBARCH. + (core_open): Initialize CORE_GDBARCH. + (get_core_register_section): Use register sets if they are + supported by CORE_GDBARCH. + (get_core_registers): Don't print error message if we have support + for register sets in CORE_GDBARCH. + +2003-10-29 Andrew Cagney <cagney@redhat.com> + + * ppc-linux-tdep.c (_initialize_ppc_linux_tdep): Instead of the + default PPC machine, register 32-bit and 64-bit PPC, and rs6k. + +2003-10-29 Mark Kettenis <kettenis@gnu.org> + + * objfiles.h (clear_objfile_data): New prototype. + * objfiles.c (clear_objfile_data): New function. + * symfile.c (reread_symbols): Clear per-objfile data. + +2003-10-28 Jeff Johnston <jjohnstn@redhat.com> + + * symfile.c (symbol_file_add_with_addrs_or_offsets): Switch to use + printf_unfiltered instead of printf_filtered for output messages. + (add_symbol_file_command): Ditto. + (reread_symbols): Ditto. + (overlay_auto_command): Ditto. + (overlay_manual_command): Ditto. + (overlay_off_command): Ditto. + +2003-10-27 Mark Kettenis <kettenis@gnu.org> + + * arch-utils.c (deprecated_select_gdbarch_hack): New function. + (gdbarch_from_bfd): New function. + (set_gdbarch_from_file): Re-implement using gdbarch_from_bfd and + deprecated_select_gdbarch_hack. + * arch-utils.h (gdbarch_from_bfd): New prototype. + +2003-10-27 Andrew Cagney <cagney@redhat.com> + + * osabi.c (gdbarch_init_osabi): Use info.bfd_arch_info instead of + arch_info. Use warning instead of fprintf_filtered. Do not use + deprecated bfd_printable_arch_mach. + +2003-10-26 Kevin Buettner <kevinb@redhat.com> + + * frv-tdep.c (frv_register_raw_size, frv_register_virtual_size): + Delete. + (frv_register_type): Rename from frv_register_virtual_type. Add + ``struct gdbarch *'' parameter. + (frv_gdbarch_init): Delete calls to the following functions: + set_gdbarch_deprecated_size(), + set_gdbarch_deprecated_register_bytes(), + set_gdbarch_deprecated_register_raw_size(), + set_gdbarch_deprecated_max_register_raw_size(), + set_gdbarch_deprecated_register_virtual_size(), + set_gdbarch_deprecated_max_register_virtual_size(), + set_gdbarch_deprecated_register_virtual_size(), + set_gdbarch_deprecated_register_virtual_type(). + Add call to function set_gdbarch_register_type(). + +2003-10-26 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.h (FCS_REGNUM, FCOFF_REGNUM, FDS_REGNUM, + FDOFF_REGNUM): Remove defines. + * win32-nat.c (do_child_fetch_inferior_registers): Include + "i387-tdep.h". + (do_child_fetch_inferior_registers): Use I387_FISEG_REGNUM and + I387_FOP_REGNUM instead of FCS_REGNUM and FOP_REGNUM. Define and + undefine I387_ST0_REGNUM. + + * i386-tdep.h (FPU_REG_RAW_SIZE): Remove define. + * x86-64-tdep.c (x86_64_store_return_value): Use + I386_MAX_REGISTER_SIZE instead of FPU_REG_RAW_SIZE. + + Change register numbers to enumartion values. + * i386-tdep.h (enum i386_regnum): New. + (I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM, + I386_EBP_REGNUM, I386_IP_REGNUM, I386_EFLAGS_REGNUM, + I386_ST0_REGNUM): Remove defines. + * i386-tdep.c (I386_EBX_REGNUM, I386_ECX_REGNUM, I386_ESI_REGNUM, + I386_EDI_REGNUM): Remove defines. + +2003-10-24 Andrew Cagney <cagney@redhat.com> + + * target.c: Include "gdbcore.h". + (get_target_memory, get_target_memory_unsigned): New functions. + * target.h (get_target_memory, get_target_memory_unsigned): Declare. + * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): + Use get_target_memory_unsigned. + * Makefile.in (target.o): Update dependencies. + +2003-10-24 Andrew Cagney <cagney@redhat.com> + + * osabi.c (gdbarch_init_osabi): Fix typos, and "fortunatly"[sic]. + * PROBLEMS, arch-utils.c, cli-out.c, command.h: Ditto. + * complaints.c, cris-tdep.c, disasm.c, dwarf2-frame.c: Ditto. + * frame.c, frame.h, infcall.c, infcmd.c, infrun.c: Ditto. + * kod.c, mips-tdep.c, regcache.c, regcache.h, remote.c: Ditto. + + * osabi.c (gdbarch_init_osabi): Add comment on 32-bit vs 64-bit. + (can_run_code_for): Use the OO term "singleton". + +2003-10-23 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (stack.o): Add $(regcache_h). + * stack.c: Include "regcache.h" + (return_command): Rewrite. Use get_frame_id and + get_selected_frame. Eliminate "deprecated_selected_frame". Warn + about unhandled return-values. + * value.h (set_return_value): Delete declaration. + * values.c (set_return_value): Delete function. + +2003-10-23 Jeff Johnston <jjohnstn@redhat.com> + + * ia64-tdep.c: (ia64_frame_cache): Add new prev_cfm field. + (pseudo_regs): Add comment regarding register stack registers. + (ia64_alloc_frame_cache): Initialize new prev_cfm field to 0. + (floatformat_valid): New static routine. + (floatformat_ia64_ext): Add name field and set up is_valid routine + to floatformat_valid(). + (examine_prologue): For the previous cfm, use + frame_unwind_register() + if the cfm is not stored in a register-stack register. Save the + previous cfm value in the prev_cfm field. Add debug output. + (ia64_frame_this_id): Use frame_id_build_special() to also register + the bsp. Add debug output. + (ia64_sigtramp_frame_this_id): Ditto. + (ia64_frame_prev_register): Look at cache saved_regs for a few more + registers and also add some checks for framelessness before accepting + current register values for fields such as return address. For cfm, + use the cached prev_cfm field if available. Add comment to explain + PSR logic. Add debug output. + (ia64_sigtramp_frame_init_saved_regs): Save the bsp and sp addresses + as part of initialization. + (ia64_sigtramp_frame_cache): Hard-code stack size as it can't be + calculated. Cache the bsp and cfm values. + (ia64_sigtramp_frame_prev_register): Add logic to this routine out + instead of using ia64_frame_prev_register() which doesn't expect most + registers to be saved. The saved values for bsp and sp + can be taken from the cache. Add debug output. + (ia64_push_dummy_call): Use frame_id_build_special() to also register + the bsp. + +2003-10-23 Jim Blandy <jimb@redhat.com> + + * osabi.c (gdbarch_init_osabi): A handler is okay if it's for an + architecture the current arch can run code for --- but not if it's + a superset. + (can_run_code_for): New function. + +2003-10-22 James E Wilson <wilson@specifixinc.com> + + * MAINTAINERS: Move myself from paper trail section back to write + after approval section. + +2003-10-22 Andrew Cagney <cagney@redhat.com> + + * exec.h: New file. + * win32-nat.c: Include "exec.h". + * solib.c: Include "exec.h". + * target.h (build_section_table): Delete declaration. + * somsolib.c: Include "exec.h". + (exec_ops): Delete extern declaration. + * rs6000-nat.c: Update copyright. Include "exec.h". + (exec_ops): Delete extern declaration. + * pa64solib.c: Update copyright. Include "exec.h". + (exec_ops): Delete extern declaration. + * exec.c: Update copyright. Include "exec.h". + * corelow.c: Update dependencies. Include "exec.h". + * Makefile.in (exec_h): Define. + (exec.o, somsolib.o): Update dependencies. + (pa64solib.o, corelow.o): Update dependencies. + +2003-10-22 Andrew Cagney <cagney@redhat.com> + + * target.c: Include "gdb_assert.h" (target_read): Call + "target_read_partial", not "target_write_partial". + (default_read_partial, default_write_partial): New function. + (target_read_partial, target_write_partial): Simplify, assume that + there is always a read/write method. + (update_current_target, add_target): Always set "to_read_partial" + and "to_write_partial". + (target_write, target_read): Fail on a zero byte transfer. + * Makefile.in (target.o): Update dependencies. + * target.h: Update copyright date. + (target_object): Fix typo. + +2003-10-22 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (convert_from_func_ptr_addr): Convert to a pure + multi-arch method, add "targ" parameter. + (struct target_ops): Declare. + * gdbarch.h, gdbarch.c: Re-generate. + * Makefile.in (c-valprint.o): Update dependencies. + * arch-utils.h: Update copyright. + (convert_from_func_ptr_addr_identity): Declare. + * arch-utils.c (convert_from_func_ptr_addr_identity): New function. + * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Update. + * rs6000-tdep.c (rs6000_convert_from_func_ptr_addr): Upate. + * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Update. + * infcall.c (find_function_addr, call_function_by_hand): Update. + * c-valprint.c: Include "target.h". + (print_function_pointer_address): Update. + +2003-10-22 Andrew Cagney <cagney@redhat.com> + + * target.c (target_close): New function. + (debug_to_close): Use "target_close". + (push_target): Use "target_close". + (unpush_target): Use "target_close". + (pop_target): Use "target_close". + * target.h (struct target_ops): Add "to_xclose". + (target_open): Delete macro. Move comment to "to_open". + (target_close): Replace macro with function that takes a target. + * top.c (quit_target): Pass "current_target" to "target_close". + +2003-10-21 Elena Zannoni <ezannoni@redhat.com> + + * minsyms.c (lookup_minimal_symbol_text): Remove unused parameter. + Remove SOFUN_ADDRESS_MAYBE_MISSING ifdeffed code. + * symtab.h (lookup_minimal_symbol_text): Update. + * breakpoint.c (create_overlay_event_breakpoint, + create_longjmp_breakpoint): Update callers. + * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Update caller. + * symtab.c (find_pc_sect_line): Ditto. + +2003-10-21 Andrew Cagney <cagney@redhat.com> + + * target.c (errno): Delete extern declaration. + +2003-10-20 Jeff Johnston <jjohnstn@redhat.com> + + * ia64-tdep.c: Change all occurrences of + DEPRECATED_REGISTER_RAW_SIZE to use register_size() instead. + (ia64_frame_prev_register): Minor whitespace change. + +2003-10-20 Michael Chastain <mec@shout.net> + + * config/djgpp/fnchange.lst: Add lines for: + sim/testsuite/sim/frv/interrupts/Ipipe-fr400.cgs, + sim/testsuite/sim/frv/interrupts/Ipipe-fr500.cgs, + sim/testsuite/sim/frv/interrupts/badalign-fr550.cgs, + sim/testsuite/sim/frv/interrupts/compound-fr550.cgs, + sim/testsuite/sim/frv/interrupts/data_store_error-fr550.cgs, + sim/testsuite/sim/frv/interrupts/fp_exception-fr550.cgs, + sim/testsuite/sim/frv/interrupts/insn_access_error-fr550.cgs. + +2003-10-20 Andrew Cagney <cagney@redhat.com> + + * values.c (register_value_being_returned): Update comments. Use + "gdbarch_return_value" when available. + (using_struct_return): Ditto. + (set_return_value): Ditto. Use "gdbarch_return_value" when + available.. Print a warning, and not an error, when an unhandled + return type is encountered. + * infcmd.c: Include "gdb_assert.h". + (print_return_value): When gdbarch_return_value_p, and using + struct return, assume that the value is not available. + * defs.h (return_value_convention): Define. + * gdbarch.sh (gdbarch_return_value): New predicate method. + * gdbarch.h, gdbarch.c: Re-generate + * ppc-sysv-tdep.c (return_value_convention): Delete definition. + +2003-10-20 Andrew Cagney <cagney@redhat.com> + + * symtab.c: Replace "struct sec" with "struct bfd_section". + * objfiles.c, linespec.c, blockframe.c, block.c: Ditto. + +2003-10-19 Michael Chastain <mec@shout.net> + + * config/djgpp/fnchange.lst: Add lines for: + gdb/amd64nbsd-nat.c, gdb/amd64nbsd-tdep.c, + gdb/i386fbsd-nat.c, gdb/i386fbsd-tdep.c, + gdb/sparc64fbsd-nat.c, gdb/sparc64bsd-tdep.c. + +2003-10-19 Mark Kettenis <kettenis@gnu.org> + + * amd64fbsd-nat.c (fetch_inferior_registers, + store_inferior_registers): Remove functions. + * config/i386/fbsd64.mh (NATDEPFILES): Add amd64bsd-nat.o. + +2003-10-18 Mark Kettenis <kettenis@gnu.org> + + Add NetBSD/amd64 native configuration: + * x86-64-tdep.h (amd64nbsd_r_reg_offset): Add extern declarations. + * amd64nbsd-tdep.c: New file. + * amd64nbsd-nat.c: New file. + * amd64bsd-nat.c: New file. + * config/i386/nbsd64.mh: New file. + * config/i386/nbsd64.mt: New file. + * configure.host: Add x86_64-*-netbsd*. + * configure.tgt: Add x86_64-*-netbsd*. + * Makefile.in (amd64bsd-nat.o, amd64nbsd-nat.o, amd64nbsd-tdep.o): + New targets. + * NEWS (New native configurations): Mention NetBSD/amd64. + +2003-10-17 Michael Chastain <mec@shout.net> + + * config/djgpp/fnchange.lst: Remove dead lines for: + bfd/elf32-i386qnx.c, bfd/elf32-ppcqnx.c, bfd/elf32-shqnx.c, + bfd/elf32-sh-lin.c, bfd/elf32-sh-nbsd.c, bfd/elf32-sh64-nbsd.c, + bfd/elf64-alpha-fbsd.c, bfd/elf64-sh64-nbsd.c, + gdb/alphanbsd-nat.c, gdb/config/i386/tm-i386mk.h, + gdb/config/i386/tm-i386v42mp.h, gdb/config/i386/xm-i386mach.h, + gdb/config/i386/xm-i386mk.h, gdb/config/i386/xm-i386v32.h, + gdb/config/m68k/apollo68v.mh, gdb/config/m68k/nm-apollo68v.h, + gdb/config/m68k/xm-apollo68v.h, gdb/config/m88k/tm-delta88v4.h, + gdb/config/mips/tm-bigmips64.h, gdb/config/mips/tm-embed64.h, + gdb/config/mips/tm-embedl.h, gdb/config/mips/tm-embedl64.h, + gdb/config/mips/tm-vr4300el.h, gdb/config/mips/tm-vr4xxxel.h, + gdb/config/mips/tm-vr5000el.h, gdb/config/sparc/tm-sparclet.h, + gdb/config/sparc/tm-sparclite.h, + gdb/gdbtk/generic/ChangeLog-2001, + gdb/gdbtk/library/ChangeLog-2001, gdb/remote-adapt.c, + gdb/remote-eb.c, gdb/remote-mm.c, gdb/remote-nrom.c, + gdb/remote-udi.c, gdb/remote-vx29k.c, gdb/remote-vx960.c, + gdb/sparclet-rom.c, gdb/sparclet-stub.c, + gdb/testsuite/gdb.mi/mi0-var-block.exp, + gdb/testsuite/gdb.mi/mi0-var-child.exp, + gdb/testsuite/gdb.mi/mi0-var-cmd.exp, + gdb/testsuite/gdb.mi/mi0-var-display.exp, + itcl/iwidgets3.0.0/demos/extfileselectionbox, + itcl/iwidgets3.0.0/demos/extfileselectiondialog, + itcl/iwidgets3.0.0/demos/fileselectionbox, + itcl/iwidgets3.0.0/demos/fileselectiondialog, + itcl/iwidgets3.0.0/demos/html/buttonbox.n.html, + itcl/iwidgets3.0.0/demos/html/canvasprintbox.n.html, + itcl/iwidgets3.0.0/demos/html/canvasprintdialog.n.html, + itcl/iwidgets3.0.0/demos/html/combobox.n.html, + itcl/iwidgets3.0.0/demos/html/dialog.n.html, + itcl/iwidgets3.0.0/demos/html/dialogshell.n.html, + itcl/iwidgets3.0.0/demos/html/entryfield.n.html, + itcl/iwidgets3.0.0/demos/html/feedback.n.html, + itcl/iwidgets3.0.0/demos/html/fileselectionbox.n.html, + itcl/iwidgets3.0.0/demos/html/fileselectiondialog.n.html, + itcl/iwidgets3.0.0/demos/html/hyperhelp.n.html, + itcl/iwidgets3.0.0/demos/html/iwidgets2.2.0UserCmds.html, + itcl/iwidgets3.0.0/demos/html/labeledwidget.n.html, + itcl/iwidgets3.0.0/demos/html/menubar.n.html, + itcl/iwidgets3.0.0/demos/html/messagedialog.n.html, + itcl/iwidgets3.0.0/demos/html/notebook.n.html, + itcl/iwidgets3.0.0/demos/html/optionmenu.n.html, + itcl/iwidgets3.0.0/demos/html/panedwindow.n.html, + itcl/iwidgets3.0.0/demos/html/promptdialog.n.html, + itcl/iwidgets3.0.0/demos/html/pushbutton.n.html, + itcl/iwidgets3.0.0/demos/html/radiobox.n.html, + itcl/iwidgets3.0.0/demos/html/scrolledcanvas.n.html, + itcl/iwidgets3.0.0/demos/html/scrolledframe.n.html, + itcl/iwidgets3.0.0/demos/html/scrolledhtml.n.html, + itcl/iwidgets3.0.0/demos/html/scrolledlistbox.n.html, + itcl/iwidgets3.0.0/demos/html/scrolledtext.n.html, + itcl/iwidgets3.0.0/demos/html/selectionbox.n.html, + itcl/iwidgets3.0.0/demos/html/selectiondialog.n.html, + itcl/iwidgets3.0.0/demos/html/shell.n.html, + itcl/iwidgets3.0.0/demos/html/spindate.n.html, + itcl/iwidgets3.0.0/demos/html/spinint.n.html, + itcl/iwidgets3.0.0/demos/html/spinner.n.html, + itcl/iwidgets3.0.0/demos/html/spintime.n.html, + itcl/iwidgets3.0.0/demos/html/tabnotebook.n.html, + itcl/iwidgets3.0.0/demos/html/tabset.n.html, + itcl/iwidgets3.0.0/demos/html/toolbar.n.html, + itcl/iwidgets3.0.0/demos/scrolledcanvas, + itcl/iwidgets3.0.0/demos/scrolledframe, + itcl/iwidgets3.0.0/demos/scrolledhtml, + itcl/iwidgets3.0.0/demos/scrolledlistbox, + itcl/iwidgets3.0.0/demos/scrolledtext, + itcl/iwidgets3.0.0/demos/selectionbox, + itcl/iwidgets3.0.0/demos/selectiondialog, + itcl/iwidgets3.0.0/doc/canvasprintbox.n, + itcl/iwidgets3.0.0/doc/canvasprintdialog.n, + itcl/iwidgets3.0.0/doc/extfileselectionbox.n, + itcl/iwidgets3.0.0/doc/extfileselectiondialog.n, + itcl/iwidgets3.0.0/doc/fileselectionbox.n, + itcl/iwidgets3.0.0/doc/fileselectiondialog.n, + itcl/iwidgets3.0.0/doc/scopedobject.n.backup, + itcl/iwidgets3.0.0/doc/scrolledcanvas.n, + itcl/iwidgets3.0.0/doc/scrolledframe.n, + itcl/iwidgets3.0.0/doc/scrolledhtml.n, + itcl/iwidgets3.0.0/doc/scrolledlistbox.n, + itcl/iwidgets3.0.0/doc/scrolledtext.n, + itcl/iwidgets3.0.0/doc/selectionbox.n, + itcl/iwidgets3.0.0/doc/selectiondialog.n, + itcl/iwidgets3.0.0/generic/canvasprintbox.itk, + itcl/iwidgets3.0.0/generic/canvasprintdialog.itk, + itcl/iwidgets3.0.0/generic/extfileselectionbox.itk, + itcl/iwidgets3.0.0/generic/extfileselectiondialog.itk, + itcl/iwidgets3.0.0/generic/fileselectionbox.itk, + itcl/iwidgets3.0.0/generic/fileselectiondialog.itk, + itcl/iwidgets3.0.0/generic/scrolledcanvas.itk, + itcl/iwidgets3.0.0/generic/scrolledframe.itk, + itcl/iwidgets3.0.0/generic/scrolledhtml.itk, + itcl/iwidgets3.0.0/generic/scrolledlistbox.itk, + itcl/iwidgets3.0.0/generic/scrolledtext.itk, + itcl/iwidgets3.0.0/generic/scrolledwidget.itk, + itcl/iwidgets3.0.0/generic/selectionbox.itk, + itcl/iwidgets3.0.0/generic/selectiondialog.itk, + itcl/iwidgets3.0.0/tests/canvasprintbox.test, + itcl/iwidgets3.0.0/tests/canvasprintdialog.test, + itcl/iwidgets3.0.0/tests/extfileselectionbox.test, + itcl/iwidgets3.0.0/tests/extfileselectiondialog.test, + itcl/iwidgets3.0.0/tests/fileselectionbox.test, + itcl/iwidgets3.0.0/tests/fileselectiondialog.test, + itcl/iwidgets3.0.0/tests/scrolledcanvas.test, + itcl/iwidgets3.0.0/tests/scrolledframe.test, + itcl/iwidgets3.0.0/tests/scrolledhtml.test, + itcl/iwidgets3.0.0/tests/scrolledlistbox.test, + itcl/iwidgets3.0.0/tests/scrolledtext.test, + itcl/iwidgets3.0.0/tests/selectionbox.test, + itcl/iwidgets3.0.0/tests/selectiondialog.test, + itcl/iwidgets3.0.0/unix/iwidgets.tcl.in, + itcl/iwidgets3.0.0/unix/pkgIndex.tcl.in, + tix/docs/Release-4.1.0.html, tix/docs/Release-4.1.0.txt, + tix/docs/Release-4.1a2.html, tix/docs/Release-4.1a2.txt, + tix/docs/Release-4.1a3.html, tix/docs/Release-4.1a3.txt, + tix/docs/Release-4.1b1.html, tix/docs/Release-4.1b1.txt, + tix/docs/Release-4.1b2.html, tix/docs/Release-4.1b2.txt, + tix/tixConfig.sh.in, tix/unix/tk4.2/pkgIndex.tcl.in, + tix/unix/tk8.0/pkgIndex.tcl.in, tix/unix/tk8.0/pkgIndex.tcl.in, + tix/unix/tk8.1/pkgIndex.tcl.in, tix/win/tkConsole41.c, + tix/win/tkConsole42.c, tix/win/tkConsole80a1.c, + tix/win/tkConsole80b1.c, tix/win/tkConsole81.c, tk/doc/tk4.0.ps, + tk/mac/tkMacProjects.sit.hqx. + +2003-10-17 Andrew Cagney <cagney@redhat.com> + + * target.c (target_section_by_addr): New function. + (do_xfer_memory): Use "target_section_by_addr". + * target.h (target_section_by_addr): Declare. + + * target.h (struct target_ops): Add "to_read_partial" and + "to_write_partial", delete "to_query". + (target_read_partial, target_write_partial): Declare. + (target_read, target_write): Declare. + (target_query): Delete macro. + * target.c (target_read_partial): New function. + (target_write_partial, target_read, target_write): New function. + (update_current_target): Delete inheritance of "to_query". Add + comments about "to_read_partial" and "to_write_partial". + (debug_to_partial_read, debug_to_partial_write): New functions. + (debug_to_query): Delete function. + (setup_target_debug): Set "to_read_partial" and "to_write_partial" + instead of "to_query". + * remote.c (remote_read_partial): Replace "remote_query". + (init_remote_ops): Set "to_read_partial" instead of "to_query". + (init_remote_async_ops): Ditto. + * kod.c (gdb_kod_query): Make "bufsize" a LONGEST. Use + "target_read_partial" instead of "target_query". + * avr-tdep.c (avr_io_reg_read_command): Make "bufsize" a LONGEST. + Use "target_read_partial" instead of "target_query". + +2003-10-17 Jeff Johnston <jjohnstn@redhat.com> + + * frame.h (struct frame_id): Add new field: special_addr. + (frame_id_build_special): New prototype. + * frame.c (frame_id_build_special): New function. + (frame_id_build): Change to call frame_id_build_special(). + (frame_id_eq): Change to also test special_addr field. + (frame_id_inner): Update comment. + +2003-10-17 Andrew Cagney <cagney@redhat.com> + + * target.c (update_current_target): Perform the target cleanup. + Put the target stack beneath the squashed "current_target". + (add_target): Delete disabled call to "cleanup_target". + (cleanup_target): Delete function. + (push_target, unpush_target): Do not call "cleanup_target". + +2003-10-17 Andrew Cagney <cagney@redhat.com> + + * target.c (target_stack): Change to a static target_ops. + (update_current_target): Walk the "struct target_ops" stack. + (pop_target, do_xfer_memory, target_info): Ditto. + (find_target_beneath): Ditto. + (push_target): Rewrite to use the "struct target_ops" stack. + (unpush_target): Ditto. + * target.h (struct target_stack_item): Delete definition. + (target_stack): Delete declaration. + (struct target_ops): Add field "beneath". + +2003-10-17 Shrinivas Atre <shrinivasa@KPITCummins.com> + + * gdb/config/h8300/tm-h8300.h (h8300_normal_mode): Add external + declaration. + * gdb/h8300-tdep.c (BINWORD): Update BINWORD for h8300_normal_mode + (h8300_examine_prologue): Use h8300_normal_mode flag + (h8300_gdbarch_init): Set architecture info for normal mode + +2003-10-16 Daniel Jacobowitz <drow@mvista.com> + + * remote.c (remote_protocol_vcont): New variable. + (set_remote_protocol_vcont_packet_cmd): New function. + (show_remote_protocol_vcont_packet_cmd): New function. + (init_all_packet_configs): Handle remote_protocol_vcont. + (remote_vcont_probe): New function. + (remote_vcont_resume): New function. + (remote_resume): Use it. + (remote_async_resume): Call remote_resume. + (_initialize_remote): Add verbose-resume packet commands. + +2003-10-16 Andrew Cagney <cagney@redhat.com> + + * infrun.c (handle_inferior_event): Add comment about + "frame_id_inner" being too weak. + +2003-10-16 Elena Zannoni <ezannoni@redhat.com> + + * minsyms.c (lookup_minimal_symbol_solib_trampoline): Remove + second parameter, which is always null. Remove + SOFUN_ADDRESS_MAYBE_MISSING ifdeffed code. + * symtab.h (lookup_minimal_symbol_solib_trampoline): Update + accordingly. + * somsolib.c (som_solib_create_inferior_hook, + som_solib_desire_dynamic_linker_symbols): Update callers. + * hppa-tdep.c (hppa_fix_call_dummy): Ditto. + +2003-10-16 Kei Sakamoto <sakamoto.kei@renesas.com> + + * remote-m32r-sdi.c : New file, interface to m32r on-chip + debug interface, SDI (Scalable Debug Interface). + * NEWS: Mention m32r SDI protocol was supported. + * Makefile.in (remote-m32r-sdi.o): Add build rule. + * config/m32r/m32r.mt (TDEPFILES) : Add remote-m32r-sdi.o. + +2003-10-15 Jeff Johnston <jjohnstn@redhat.com> + + * ia64-linux-tdep.c: Include gdbcore.h. + (IA64_LINUX_SIGCONTEXT_OFFSET): Magic constant removed. + (ia64_linux_sigcontext_register_addr): Find the address of the + sigcontext area stored in the sigframe instead of using + a magic offset constant. + +2003-10-15 Andrew Cagney <cagney@redhat.com> + + * remote.c (remote_search): Delete function. + * target.h (target_search): Delete disabled macro. + (struct target_ops): Delete disabled field "to_search". + +2003-10-14 Kevin Buettner <kevinb@redhat.com> + + * frv-tdep.c (frv_frame_this_id): Call inside_entry_func() + instead of deprecated_inside_entry_file(). + +2003-10-14 Corinna Vinschen <vinschen@redhat.com> + + * sh-tdep.c: Fix copy/paste hangover in comment. + (sh_push_dummy_call_fpu): Accomodate double passing in little endian + mode. + (sh3e_sh4_extract_return_value): Ditto. + +2003-10-13 Richard Henderson <rth@redhat.com> + + * f-typeprint.c (f_type_print_base): Handle TYPE_CODE_REF. + * f-valprint.c (f_val_print): Likewise. Tweak TYPE_CODE_PTR to + match c_val_print a bit closer. + +2003-10-13 Kevin Buettner <kevinb@redhat.com> + + * frv-tdep.c (max_instrs_per_bundle, frv_instr_size): New constants. + (frv_gdbarch_adjust_breakpoint_address): New function. + (frv_gdbarch_init): Initialize ``gdbarch_adjust_breakpoint_address'' + method. + +2003-10-13 Kevin Buettner <kevinb@redhat.com> + + * breakpoint.h (struct breakpoint): Add new member + ``requested_address''. + * breakpoint.c (breakpoint_adjustment_warning) + (adjust_breakpoint_address): New static functions. + (print_it_typical): Issue warning if breakpoint's address is different + from its requested address. + (set_raw_breakpoint, set_longjmp_resume_breakpoint, watch_command_1) + (breakpoint_re_set_one): Set breakpoint's + ``requested_address'' field. Set ``address'' field to the + result of calling adjust_breakpoint_address() on the requested + address. + +2003-10-13 Kevin Buettner <kevinb@redhat.com> + + * gdbarch.sh (ADJUST_BREAKPOINT_ADDRESS): New method. + * gdbarch.h, gdbarch.c: Regenerate. + +2003-10-11 Mark Kettenis <kettenis@gnu.org> + + * i386bsd-tdep.c (i386bsd_init_abi): Use ARRAY_SIZE to initialize + TDEP->sc_num_regs. + + * i386fbsd-tdep.c: New file. + (i386fbsd_sigtramp_start, i386fbsd_sigtramp_end, + i386fbsd_sc_reg_offset, i386fbsdaout_init_abi, i386fbsd_init_abi, + i386fbsd4_sc_reg_offset, i386fbsd4_init_abi): Move here from + i386bsd-tdep.c. + (_initialize_i386fbsd_tdep): New function. + (i386fbsd_r_reg_offset, i386fbsd4_r_reg_offset): New varibles. + (i386fbsdaout_init_abi): Initialize TDEP->gregset_reg_offset, + TDEP->gregset_num_regs, TDEP->sizeof_gregset and + TDEP->sizeof_fpregset. Use ARRAY_SIZE to initialize + TDEP->sc_num_regs. + (i386fbsd4_init_abi): Initialize TDEP->gregset_reg_offset, + TDEP->gregset_num_regs and TDEP->sizeof_gregset. Use ARRAY_SIZE + to initialize TDEP->sc_num_regs. + * i386bsd-tdep.c (i386fbsd_sigtramp_start, i386fbsd_sigtramp_end, + i386fbsd_sc_reg_offset, i386fbsdaout_init_abi, i386fbsd_init_abi, + i386fbsd4_sc_reg_offset, i386fbsd4_init_abi): Remove. + (_initialize_i386bsd_tdep): Don't register FreeBSD a.out and + FreeBSD ELF OS/ABI's here. + * Makefile.in (ALLDEPFILES): Add i386fbsd-tdep.c. + (i386fbsd-tdep.o): New target. + * config/i386/fbsd.mt (TDEPFILES): Add i386fbsd-tdep.o. + * config/i386/fbsd64.mt (TDEPFILES): Add i386fbsd-tdep.o. + + * amd64fbsd-tdep.c (amd64fbsd_r_reg_offset): New variable. + (amd64fbsd_init_abi): Set TDEP->gregset_reg_offset, + TDEP->gregset_num_regs and TDEP->sizeof_gregset. Use ARRAY_SIZE + in initialization of TDEP->sc_num_regs. + + * x86-64-tdep.c (x86_64_regset_from_core_section): New function. + (x86_64_init_abi): Initialize regset_from_core_section if + appropriate. + + * i386-tdep.c (i386_regset_from_core_section): New function. + (i386_gdbarch_init): Initialize regset_from_core_section if + appropriate. + * i386-tdep.h (i386_regset_from_core_section): New declaration. + + * i386-tdep.h (struct regset): Declare opaque. + + * gdbarch.sh (regset_from_core_section): New method. + (struct regset): Declare opaque. + * gdbarch.c, gdbarch.h: Regenerated. + +2003-10-11 Alan Modra <amodra@bigpond.net.au> + + * hppa-tdep.c (hppa_in_solib_call_trampoline): Don't refer directly to + _cooked_size and vma; Use bfd_section_size and bfd_get_section_vma. + Correct test for pc within section. + +2003-10-11 Mark Kettenis <kettenis@gnu.org> + + * gdbarch.sh: Remove trailing whitepsace from comments. + +2003-10-08 Roland McGrath <roland@redhat.com> + + * gcore.c (make_mem_sec): Function removed, folded into ... + (gcore_create_callback): ... here. To omit a section, clear its + SEC_LOAD bit rather than zeroing its size. + Omit read-only sections only if they correspond to a known disk file. + (gcore_copy_callback): Ignore sections without SEC_LOAD flag set. + +2003-10-10 Michael Snyder <msnyder@redhat.com> + + * d10v-tdep.c: Fix typo in comment. + +2003-10-10 Andrew Cagney <cagney@redhat.com> + + * rs6000-tdep.c (e500_store_return_value): Delete function. + (e500_extract_return_value): Delete function. + (rs6000_gdbarch_init): When SYSV, set "extract_return_value" and + "restore_return_value" to "ppc_sysv_abi_extract_return_value" and + "ppc_sysv_abi_restore_return_value" where applicable. + * ppc-tdep.h: (ppc_sysv_abi_store_return_value): Declare. + (ppc_sysv_abi_extract_return_value): Declare. + (ppc_sysv_abi_broken_store_return_value): Declare. + (ppc_sysv_abi_broken_extract_return_value): Declare. + (ppc_sysv_abi_broken_use_struct_convention:) Delete declaration. + * ppc-sysv-tdep.c (return_value_convention): Move definition to + start of file. + (do_ppc_sysv_return_value): New function. + (ppc_sysv_abi_extract_return_value): New function. + (ppc_sysv_abi_store_return_value): New function. + (ppc_sysv_abi_broken_extract_return_value): New function. + (ppc_sysv_abi_broken_store_return_value): New function. + (ppc_sysv_abi_use_struct_convention): Call + do_ppc_sysv_return_value. + +2003-10-10 J. Brobecker <brobecker@gnat.com> + + * blockframe.c (inside_main_func): No longer use symbol_lookup() + to lookup the main function symbol. + +2003-10-10 Corinna Vinschen <vinschen@redhat.com> + + * sh-tdep.c (sh_treat_as_flt_p): New function to recognize float + types correctly. + (sh_push_dummy_call_fpu): Fix argument passing rules. + (sh3e_sh4_extract_return_value): Call sh_treat_as_flt_p to recognize + float types. + (sh3e_sh4_store_return_value): Ditto. + +2003-10-10 Elena Zannoni <ezannoni@redhat.com> + + * sh-tdep.c (sh_use_struct_convention): Clarify one case in + comment. + +2003-10-10 Corinna Vinschen <vinschen@redhat.com> + + * sh-tdep.c (sh_use_struct_convention): Clean up to have a + more readable code. Accomodate passing of bitfields. + +2003-10-10 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (ppc-sysv-tdep.o): Add $(gdb_assert_h). + * rs6000-tdep.c (rs6000_gdbarch_init): When 64 bit SysV ABI, set + push_dummy_call to ppc64_sysv_abi_push_dummy_call. + * ppc-sysv-tdep.c: Include "gdb_assert.h". + (ppc64_sysv_abi_push_dummy_call): New function. + (ppc64_sysv_abi_broken_push_dummy_call): New function. + * ppc-tdep.h (ppc64_sysv_abi_push_dummy_call): Declare. + (ppc64_sysv_abi_broken_push_dummy_call): Declare. + +2003-10-10 Kei Sakamoto <sakamoto.kei@renesas.com> + + * NEWS: Replace "Hitachi" and "Mitsubishi" with "Renesas". + * README: Ditto. + * d10v-tdep.c: Ditto. + * h8300-tdep.c: Ditto. + * remote-e7000.c: Ditto. + * remote-hms.c: Ditto. + * ser-e7kpc.c: Ditto. + * sh-stub.c: Ditto. + * sh-tdep.c: Ditto. + * sh-tdep.h: Ditto. + * sh3-rom.c: Ditto. + * sh64-tdep.c: Ditto. + * top.c: Ditto. + * wince.c: Ditto. + * config/d10v/d10v.mt: Ditto. + * config/sh/embed.mt: Ditto. + * config/sh/linux.mt: Ditto. + * config/sh/tm-linux.h: Ditto. + * config/sh/tm-sh.h: Ditto. + * config/sh/wince.mt: Ditto. + +2003-10-09 Andrew Cagney <cagney@redhat.com> + + * ppc-tdep.h (struct type): Declare opaque. + * x86-64-tdep.h (struct regcache): Declare opaque. + * sh-tdep.c (sh_do_fp_register): Delete "register" attribute, fix + coding style. + +2003-10-09 Andrew Cagney <cagney@redhat.com> + + Changes from 2003-09-09 Jimi Xenidis <jimix@watson.ibm.com>: + * config/rs6000/tm-rs6000.h (SOFTWARE_SINGLE_STEP): Delete macro. + (SOFTWARE_SINGLE_STEP_P): Ditto. + * config/powerpc/tm-ppc-eabi.h (SOFTWARE_SINGLE_STEP_P): Ditto. + * config/powerpc/tm-linux.h (SOFTWARE_SINGLE_STEP): Ditto. + (SOFTWARE_SINGLE_STEP_P): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): When AIX, set + software_single_step to rs6000_software_single_step. + +2003-10-09 Andrew Cagney <cagney@redhat.com> + + * MAINTAINERS: Mark m32r-elf as buildable with -Werror. + +2003-10-09 Michael Snyder <msnyder@redhat.com> + + * frame.h: Fix typo in comment. + * dummy-frame.c: Fix typo in comment. + * d10v-tdep.c: Random whitespace/comment tweaks. + +2003-10-09 Elena Zannoni <ezannoni@redhat.com> + + * sh-tdep.c (sh_gdbarch_init): Delete setting of push_dummy_code. + (sh_push_dummy_code): Delete function, it's only used for dummy calls + on stack. + + Based on input by Stephen Clarke (stephen.clarke@superh.com): + * sh-tdep.c (sh_use_struct_convention): Add comment explaining ABI + in detail. + +2003-10-09 Daniel Jacobowitz <drow@mvista.com> + + * remote-mips.c (mips_initialize): Remove unneeded call to + get_selected_frame. Suggested by Atsushi Nemoto <anemo@mba.ocn.ne.jp>. + +2003-10-09 Daniel Jacobowitz <drow@mvista.com> + + * dwarf2expr.c (execute_stack_op): Don't treat the frame base as + a memory pointer. + +2003-10-08 Jeff Johnston <jjohnstn@redhat.com> + + * lin-lwp.c (stop_and_resume_callback): Set the resumed flag + for any lwp we resume. + (running_callback): Add lwps that have pending status events + against them to be considered running. + +2003-10-08 Kei Sakamoto <sakamoto.kei@renesas.com> + + * m32r-tdep.c : Include "dis-asm.h". + * Makefile.in (m32r-tdep.o): Update dependencies. + +2003-10-06 J. Brobecker <brobecker@gnat.com> + + * completer.h (get_gdb_completer_word_break_characters): Delete. + * completer.c: include language.h. + (gdb_completer_word_break_characters): Delete. + (get_gdb_completer_word_break_characters): Delete. + (location_completer): Use the word break characters of the current + language. + (complete_line): Likewise. + (line_completion_function): Likewise. + (skip_quoted_chars): Likewise. + * Makefile.in (completer.o): Add dependency on language.h. + * top.c (init_main): Set the readline word break characters + to GDB's default word break characters. + +2003-10-06 J. Brobecker <brobecker@gnat.com> + + * language.h (language_defn): new field, la_word_break_characters. + * language.c (unknown_language_defn): Set new field to + default_word_break_characters. + (auto_language_defn): Likewise. + (local_language_defn): Likewise. + * ada-lang.c (ada_language_defn): Likewise. + * c-lang.c (c_language_defn): Likewise. + (cplus_language_defn): Likewise. + (asm_language_defn): Likewise. + (minimal_language_defn): Likewise. + * f-lang.c (f_language_defn): Likewise. + * jv-lang.c (java_language_defn): Likewise. + * m2-lang.c (m2_language_defn): Likewise. + * objc-lang.c (objc_language_defn): Likewise. + * p-lang.c (pascal_language_defn): Likewise. + * scm-lang.c (scm_language_defn): Likewise. + +2003-10-06 Andrew Cagney <cagney@redhat.com> + + * ppc-sysv-tdep.c: Re-indent. + +2003-10-06 J. Brobecker <brobecker@gnat.com> + + * language.h (default_word_break_characters): Add prototype. + * language.c (default_word_break_characters): New function. + +2003-10-06 Andreas Schwab <schwab@suse.de> + + * i386-tdep.c (i386_analyze_frame_setup): Also handle xorl/subl + with %eax. + +2003-10-06 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (ALLDEPFILES): Remove "z8k-tdep.c" and + "h8500-tdep.c". + (z8k-tdep.o): Delete custom build rule. + +2003-10-06 Andrew Cagney <cagney@redhat.com> + + * Makefile.in: Update all dependencies. + + * MAINTAINERS: Mention that h8500, mn10200, and z8k were deleted. + No longer list PA as as obsolete candidate. List m32r as + broken instead of obsolete. + + * config/nm-m3.h, config/h8500/h8500.mt: Delete obsolete files. + * config/h8500/tm-h8500.h, config/i386/nm-ptx4.h: Ditto. + * config/i386/nm-symmetry.h, config/i386/ptx.mh: Ditto. + * config/i386/ptx.mt, config/i386/ptx4.mh: Ditto. + * config/i386/ptx4.mt, config/i386/symmetry.mh: Ditto. + * config/i386/symmetry.mt, config/i386/tm-ptx.h: Ditto. + * config/i386/tm-ptx4.h, config/i386/tm-symmetry.h: Ditto. + * config/i386/xm-ptx.h, config/i386/xm-ptx4.h: Ditto. + * config/i386/xm-symmetry.h, config/mips/mipsm3.mh: Ditto. + * config/mips/mipsm3.mt, config/mips/tm-mipsm3.h: Ditto. + * config/mips/xm-mipsm3.h, config/mn10200/mn10200.mt: Ditto. + * config/mn10200/tm-mn10200.h, config/pa/hppabsd.mh: Ditto. + * config/pa/hppabsd.mt, config/pa/hppaosf.mh: Ditto. + * config/pa/hppaosf.mt, config/pa/hppapro.mt: Ditto. + * config/pa/nm-hppab.h, config/pa/nm-hppao.h: Ditto. + * config/pa/tm-hppab.h, config/pa/tm-hppao.h: Ditto. + * config/pa/tm-pro.h, config/pa/xm-hppab.h: Ditto. + * config/pa/xm-pa.h, config/sparc/sparclet.mt: Ditto. + * config/sparc/sparclite.mt, config/sparc/tm-sparclet.h: Ditto. + * config/sparc/tm-sparclite.h, config/z8k/tm-z8k.h: Ditto. + * config/z8k/z8k.mt: Ditto. + + * NEWS: Mention that z8k-zilog-none, z8ksim, mn10200-*-*, + h8500hms, hppa*-*-bsd*, hppa*-*-osf*, hppa*-*-pro*, + mips*-*-mach3*, i[3456]86-sequent-sysv4*, i[3456]86-sequent-sysv*, + i[3456]86-sequent-bsd*, sparclet-*-*, sparclite-fujitsu-none, and + sparclite were removed. + * configure.host, configure.tgt: Remove corresponding tuples. + + * breakpoint.c, breakpoint.h: Remove obsolete code. + * buildsym.c, dbxread.c, gdbtypes.c, mdebugread.c: Ditto. + * monitor.c, sparc-tdep.c, stabsread.c: Ditto. + * stabsread.h, xcoffread.c: Ditto. + + * z8k-tdep.c, symm-tdep.c, symm-nat.c: Delete obsolete file. + * sparclet-stub.c, sparclet-rom.c: Delete obsolete file. + * sparcl-tdep.c, sparcl-stub.c, h8500-tdep.c: Delete obsolete file. + * m3-nat.c, mipsm3-nat.c, mn10200-tdep.c: Delete obsolete file. + +2003-10-06 David Lecomber <dsl@sources.redhat.com> + + * f-valprint.c: Reformatting + +2003-10-06 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.c: Remove duplicate comment. + + * x86-64-tdep.c (x86_64_store_return_value): Don't use + DEPRECATED_REGISTER_RAW_SIZE. Use symbolic names for register + names for return values. This fixes a bug since we looked at %rbx + instead of %rdx. + +2003-10-05 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.c: Include "regset.h". + + * i386-tdep.h (struct gdbarch_tdep): Add members gregset, + gregset_reg_offset, gregset_num_regs, sizeof_gregset, fpregset, + sizeof_fpregset. + * i386-tdep.c: Include "regset.h". + (i386_supply_gregset): New function. + (i386_supply_fpregset): New function. + (i386_gdbarch_init): Initialze register set-related members of + TDEP. + * x86-64-tdep.c (x86_64_supply_fpregset): New function. + (x86_64_init_abi): Initialize TDEP->sizeof_fpregset. + +2003-10-03 Andrew Cagney <cagney@redhat.com> + + * rs6000-tdep.c (rs6000_gdbarch_init): When the 64 bit SysV ABI, + set extract_return_value, store_return_value and + use_struct_convention to ppc64_sysv_abi_extract_return_value, + ppc64_sysv_abi_store_return_value and + ppc64_sysv_abi_use_struct_convention. + * ppc-tdep.h (ppc64_sysv_abi_extract_return_value): Declare. + (ppc64_sysv_abi_store_return_value): Declare. + (ppc64_sysv_abi_use_struct_convention): Declare. + * ppc-sysv-tdep.c (enum return_value_convention): Define. + (ppc64_sysv_abi_extract_return_value): New function. + (ppc64_sysv_abi_store_return_value): New function. + (ppc64_sysv_abi_use_struct_convention): New function. + (ppc64_sysv_abi_return_value): New function. + +2003-10-03 Andrew Cagney <cagney@redhat.com> + + * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Only + convert a descriptor to a function when it's in the ".opd" + section. + +2003-10-03 Corinna Vinschen <vinschen@redhat.com> + + * sh-tdep.c (sh_push_dummy_call_fpu): Initialize flt_argreg and + reg_size to keep GCC silent. + +2003-10-03 Corinna Vinschen <vinschen@redhat.com> + + * dwarf2-frame.c (struct comp_unit): Add tbase member to store + base for DW_EH_PE_textrel encodings. + (read_encoded_value): Add a DW_EH_PE_textrel case. + (dwarf2_build_frame_info): Set unit.tbase to beginning of text + section. + +2003-10-03 Mark Kettenis <kettenis@gnu.org> + + * dwarf2-frame.c (dwarf2_build_frame_info): Fix comment. + +2003-10-02 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_REGISTER_RAW_SIZE): Rename + REGISTER_RAW_SIZE. + * gdbarch.h, gdbarch.c: Re-generate. + * aix-thread.c, alpha-tdep.h, arm-tdep.c, core-sol2.c: Update. + * cris-tdep.c, dve3900-rom.c, findvar.c, frame.c: Update. + * hppa-tdep.c, hppab-nat.c, hppah-nat.c, hppam3-nat.c: Update. + * hpux-thread.c, i386gnu-nat.c, ia64-aix-nat.c: Update. + * ia64-linux-nat.c, ia64-tdep.c, infcmd.c, infptrace.c: Update. + * infrun.c, irix5-nat.c, lynx-nat.c, mips-linux-tdep.c: Update. + * mips-nat.c, mips-tdep.c, mipsv4-nat.c, mn10300-tdep.c: Update. + * monitor.c, ns32k-tdep.c, ppc-linux-nat.c, regcache.c: Update. + * remote-e7000.c, remote-mips.c, remote-sim.c: Update. + * remote-vxmips.c, remote-vxsparc.c, remote.c: Update. + * rom68k-rom.c, rs6000-nat.c, rs6000-tdep.c, s390-tdep.c: Update. + * sh64-tdep.c, sparc-nat.c, sparc-tdep.c, stack.c: Update. + * target.c, tracepoint.c, v850-tdep.c, v850ice.c, valops.c: Update. + * vax-tdep.c, vax-tdep.h, x86-64-tdep.c, xstormy16-tdep.c: Update. + * config/m68k/tm-delta68.h, config/m68k/tm-vx68.h: Update. + * config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h: Update. + +2003-10-02 Jim Blandy <jimb@redhat.com> + + * dwarf2read.c (struct die_info): Doc fix. + +2003-10-02 Corinna Vinschen <vinschen@redhat.com> + + * sh-tdep.c: Running thru gdb_indent.sh. + +2003-10-02 Corinna Vinschen <vinschen@redhat.com> + + * sh-tdep.c (sh_justify_value_in_reg): New function. + (sh_stack_allocsize): Ditto. + (flt_argreg_array): New array used for floating point argument + passing. + (sh_init_flt_argreg): New function. + (sh_next_flt_argreg): Ditto. + (sh_push_dummy_call_fpu): Simplify. Rename "odd_sized_struct" to + "pass_on_stack". Use new helper functions. Accomodate Renesas ABI. + Fix argument passing strategy. + (sh_push_dummy_call_nofpu): Ditto. + +2003-10-01 Andrew Cagney <cagney@redhat.com> + + * value.h (register_value_being_returned): Declare. Replace + "value_being_returned". + * infcall.c (call_function_by_hand): Use + register_value_being_returned. + * infcmd.c (print_return_value): Call + "register_value_being_returned", handle struct return locally. + * values.c (register_value_being_returned): New function. Replace + "value_being_returned". + +2003-09-30 Elena Zannoni <ezannoni@redhat.com> + + * linux-proc.c (linux_do_registers): New function. + (linux_make_note_section): Use linux_do_registers in case of + single threaded inferior programs. + +2003-10-01 Andrew Cagney <cagney@redhat.com> + + * infcall.c (call_function_by_hand): When STRUCT_RETURN, always + use STRUCT_ADDR. When not using "struct return convention", pass + "0" to "value_being_returned". Add FIXMEs. + * infcmd.c (print_return_value): Pass an explicit 0/1 to + value_being_returned. Add comments. + * values.c (value_being_returned): Add fixme. + * hppa-tdep.c (hppa_extract_struct_value_address): Add FIXME. + (hppa_value_returned_from_stack): Add FIXME. + +2003-09-30 David Carlton <carlton@kealia.com> + + * dwarf2read.c (struct die_info): Add 'parent' field; replace + 'has_children' and 'next' by 'child' and 'sibling'. + (read_comp_unit): Rework algorithm, breaking body into + read_die_and_children and read_die_and_siblings. + (read_die_and_children, read_die_and_siblings): New. + (read_full_die): Add 'has_children' argument; set it instead of + the die's 'has_children' field. Minor formatting cleanup. + (free_die_list): Use die->child and die->sibling instead of + die->next. + (dump_die_list): Ditto. + (sibling_die): Use die->sibling. + (psymtab_to_symtab_1): Use die's 'child' field in place of its + 'has_children' and 'next' fields. + (process_die, read_file_scope, read_func_scope) + (read_lexical_block_scope, read_structure_scope) + (read_enumeration, read_array_type, read_common_block) + (read_namespace, read_subroutine_type, dump_die): Ditto. + +2003-09-30 Andrew Cagney <cagney@redhat.com> + + * rs6000-tdep.c (rs6000_gdbarch_init): Set the PowerOpen red zone + to 224, not 220. + +2003-09-30 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_REGISTER_VIRTUAL_SIZE): Rename + REGISTER_VIRTUAL_SIZE. + * gdbarch.h, gdbarch.c: Regenerate. + * vax-tdep.h, sparc-tdep.c, regcache.h: Update. + * regcache.c, mn10300-tdep.c, mips-tdep.c: Update. + * infcmd.c, frame.c, findvar.c, cris-tdep.c: Update. + +2003-09-29 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_REGISTER_VIRTUAL_TYPE): Rename + REGISTER_VIRTUAL_TYPE. + * gdbarch.h, gdbarch.c: Regenerate. + * arch-utils.c, hppa-tdep.c, regcache.c, regcache.h: Update. + * sh64-tdep.c, sparc-tdep.c: Update. + + * remote-vxsparc.c (vx_read_register): Replace bzero with memset. + * remote-vxmips.c (vx_read_register): Ditto. + * remote-vx68.c (vx_read_register): Ditto. + * gnu-nat.c (inf_validate_procs): Ditto. + +2003-09-29 J. Brobecker <brobecker@gnat.com> + + * infcall.c (call_function_by_hand): Fix build failure + introduced in the previous change to this file. + +2003-09-29 Andrew Cagney <cagney@redhat.com> + + * NEWS: Mention Objective-C. + +2003-09-29 Jerome Guitton <guitton@act-europe.fr> + + * arm-tdep.c (arm_make_prologue_cache): Use trad_frame_addr_p to + test if the register has been saved on the stack. + (arm_scan_prologue_cache): When analysing the instruction + "str lr, [sp, #-4]", save the address where lr has been stored. + +2003-09-28 Andrew Cagney <cagney@redhat.com> + + * frame.c (frame_read_unsigned_register): Delete function. + * frame.h (frame_read_unsigned_register): Delete declaration. + * sparc-tdep.c (sparc_init_extra_frame_info): Use + get_frame_register_unsigned. + (sparc_frame_saved_pc, sparc_pop_frame): Ditto. + * m68hc11-tdep.c (m68hc11_print_register): Ditto. + * d10v-tdep.c (d10v_print_registers_info): Ditto. + + * frame.h (frame_read_register): Delete declaration. + * frame.c (frame_read_register): Delete function. + * arch-utils.c (legacy_register_to_value): Use get_frame_register. + * sparc-tdep.c (sparc_fetch_pointer_argument): Ditto. + * rs6000-tdep.c (rs6000_fetch_pointer_argument): Ditto. + * mips-tdep.c (mips_register_to_value): Ditto. + * hppa-tdep.c (hppa_fetch_pointer_argument): Ditto. + * d10v-tdep.c (d10v_print_registers_info): Ditto. + + * frame.c (frame_read_signed_register): Delete function. + (frame_read_unsigned_register): Update comments. + * frame.h (frame_read_signed_register): Delete declaration. + * h8300-tdep.c (h8300_print_register): Use + get_frame_register_signed. + * m68hc11-tdep.c (m68hc11_print_register): Ditto. + + * config/pa/tm-hppa.h (DEPRECATED_VALUE_RETURNED_FROM_STACK): + Rename VALUE_RETURNED_FROM_STACK. + * infcmd.c (print_return_value): Update. + * infcall.c (call_function_by_hand): Update. + +2003-09-28 Mark Kettenis <kettenis@gnu.org> + + * i387-tdep.c (i387_supply_fsave, i387_supply_fxsave): Add + regcache argument and reverse the order of the other two + arguments. Remove local regcache variable. Determine + architecture from REGCACHE. Update comments. + * x86-64-tdep.c (x86_64_supply_fxsave): Add regcache argument and + reverse the order of the other two arguments. Remove local + regcache variable. Determine architecture from REGCACHE. Update + comments. + * i387-tdep.h (i387_supply_fsave, i387_supply_fxsave): Adjust + prototypes. Update comments. + * x86-64-tdep.c (x86_64_supply_fxsave): Adjust prototype. Adjust + comment. + * amd64fbsd-nat.c (supply_fpregset, fetch_inferior_registers): + Update. + * go32-nat.c (fetch_register, go32_fetch_registers): Update. + * i386-interix-nat.c (supply_fpregset): Update. + * i386-linux-nat.c (supply_fpregset, supply_fpxregset): Update. + * i386-nto-tdep.c (i386nto_supply_fpregset): Update. + * i386gnu-nat.c (fetch_fpregs, supply_fpregset): Update. + * i386bsd-nat.c (supply_fpregset, fetch_inferior_registers): Update. + * i386nbsd-tdep.c (fetch_core_registers, fetch_elfcore_registers): + Update. + * i386obsd-tdep.c (fetch_core_registers): Update. + * i386v4-nat.c (supply_fpregset): Update. + * x86-64-linux-nat.c (supply_fpregset): Update. + * x86-64-linux-tdep.c (fetch_core_registers): Update. + +2003-09-27 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.h: Put opaque declarations in alphabetical + order. Remove spurious whitespace. + (struct gdbarch_tdep): add st0_regnum and mm0_regnum members. + (i386_sse_regnum_p, i386_mxcsr_regnum_p): Remove prototypes. + * i386-tdep.c (MM0_REGNUM): Remove define. + (i386_mmx_regnum_p): Add gdbarch argument. + (i386_sse_regnum_p, i386_mxcsr_regnum_p): Add gdbarch argument. + Rewrite using new macro definitions for FPU/SSE registers. + (i386_fp_regnum_p, i386_fpc_regnum_p): Rewrite using new macro + definitions from i387-tdep.h. + (i386_register_name): Update. + (i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum): Update to use + new macro definitions for FPU/SSE registers. + (i386_extract_return_value): Determine whether floating-point + registers are present by examining REGCACHE's architecture. + (i386_store_return_value): Likewise. Use I386_MAX_REGISTER_SIZE + instead of FPU_REG_RAW_SIZE. Use new macro definitions for + FPU/SSE registers. + (i386_register_type): Update. + (i386_mmx_regnum_to_fp_regnum): Rewrite using new macro + definitions for FPU registers. Use REGCACHE's architecture to + determine the appropriate register numbers. + (i386_pseudo_register_read, i386_pseudo_register_write, + i386_register_reggroup_p): Update. + (i386_gdbarch_init): Initialize TDEP->st0_regnum and + TDEP->mm0_regnum. + * i387-tdep.h (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM, + I387_FTAG_REGNUM, I387_FISEG_REGNUM, I387_FIOFF_REGNUM, + I387_FOSEG_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM, + I387_XMM0_REGNUM, I387_MXCSR_REGNUM): New defines. + (i387_supply_fsave, i387_fill_fsave, i387_supply_fxsave, + i387_fill_fxsave): Change type of fsave/fxsave argument from `char + *' to `void *'. + * i387-tdep.c (i387_print_float_info, fsave_offset, FSAVE_ADDR, + i387_supply_fsave, i387_fill_fsave, fxsave_offset, FXSAVE_ADDR, + i387_supply_fxsave, i387_fill_fxsave): Update to use new macro + definitions for FPU/SSE registers. + (FXSAVE_MXCSR_ADDR): New define. + * x86-64-tdep.c (x86_64_init_abi): Override TDEP->st0_regnum and + TDEP->mm0_regnum. + (I387_FISEG_REGNUM, I387_FOSEG_REGNUM): Remove defines. + (I387_ST0_REGNUM): Define. + + * regcache.h (get_regcache_arch): New prototype. + * regcache.c (get_regcache_arch): New function. + + * x86-64-tdep.c (x86_64_store_return_value): Remove spurious + whitespace. + + * i386-tdep.c (i386_num_register_names, i386_num_mmx_regs): + Initialize using ARRAY_SIZE. + +2003-09-27 Andrew Cagney <cagney@redhat.com> + + * arch-utils.c (deprecated_init_frame_pc_default): Rename + "init_frame_pc_default". + * arch-utils.h (deprecated_init_frame_pc_default): Update. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * vax-tdep.c (vax_gdbarch_init): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sh64-tdep.c (sh64_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * config/pa/tm-hppa.h (DEPRECATED_INIT_FRAME_PC): Update. + +2003-09-26 Mark Kettenis <kettenis@gnu.org> + + * regset.h: New file. + * Makefile.in (regset_h): Add. + +2003-09-25 Andrew Cagney <cagney@redhat.com> + + * frame.h (deprecated_frame_saved_regs): Rename + get_frame_saved_regs. + * cris-tdep.c, frame.c, h8300-tdep.c, hppa-tdep.c: Update. + * mcore-tdep.c, mips-tdep.c, mn10300-tdep.c: Update. + * ns32k-tdep.c, ppc-linux-tdep.c, rs6000-tdep.c: Update. + * s390-tdep.c, sh64-tdep.c, stack.c: Update. + * v850-tdep.c, vax-tdep.c, xstormy16-tdep.c: Update. + +2003-09-25 Andrew Cagney <cagney@redhat.com> + + * NEWS: Mention the new backtrace mechanism, DWARF 2 CFI, hosted + file I/O, multi-arch, TLS and NPTL, DWARF 2 Location Expressions, + and Java. + * PROBLEMS: Mention that mips*-*-*, powerpc*-*-*, sparc*-*-* and + arm*-*-* do not use the new frame code. + +2003-09-25 David Carlton <carlton@kealia.com> + + * c-exp.y: Remove 'register' declarations. + * f-exp.y, jv-exp.y, m2-exp.y, objc-exp.y, p-exp.y: Ditto. + +2003-09-25 David Carlton <carlton@kealia.com> + + * c-exp.y: Include cp-support.h. Add qualified_type. + (yylex): Delete nested type hack; add comments. + * cp-namespace.c (cp_lookup_nested_type): New function. + * cp-support.h: Declare cp_lookup_nested_type. + * eval.c (evaluate_subexp_standard): Call value_aggregate_elt + instead of value_struct_elt_for_reference. + * valops.c: Include cp-support.h. + (value_aggregate_elt): New function. + (value_namespace_elt): Ditto. + (value_struct_elt_for_reference): Make static. + * value.h: Delete declaration of value_struct_elt_for_reference; + add declaration for value_aggregate_elt. + * Makefile.in (c-exp.tab.o): Depend on $(cp_support_h). + (valops.o): Ditto. + +2003-09-25 Daniel Jacobowitz <drow@mvista.com> + + * stack.c: Include "reggroups.h". + (frame_info): Only display registers in all_reggroup. + * Makefile.in (stack.o): Update dependencies. + +2003-09-25 Jerome Guitton <guitton@act-europe.fr> + + * arm-tdep.c (arm_skip_prologue): Handle "sub ip, sp #n" and + "add ip, sp #n" in the prologue. + (arm_scan_prologue): Ditto. + +2003-09-25 Jerome Guitton <guitton@act-europe.fr> + + * MAINTAINERS (write after approval): Add myself. + +2003-09-25 Andreas Schwab <schwab@suse.de> + + * m68k-tdep.c: Include "dwarf2-frame.h". + (m68k_gdbarch_init): Add the DWARF CFI frame unwinder. + * Makefile.in (m68k-tdep.o): Update dependencies. + +2003-09-25 Corinna Vinschen <vinschen@redhat.com> + + * sh-tdep.c (struct frame_extra_info): Remove. + (struct sh_frame_cache): New structure. + (GET_SOURCE_REG): New macro extracting source register of an opcode. + (GET_TARGET_REG): Ditto but target register. + (GET_PUSHED_REG): Remove. + (IS_MOV_ARG_TO_REG): New macro. + (IS_MOV_ARG_TO_IND_R14): New macro. + (IS_MOV_ARG_TO_IND_R14_WITH_DISP): New macro. + (IS_MOVW_PCREL_TO_REG): New macro. + (IS_MOVL_PCREL_TO_REG): New macro. + (IS_SUB_REG_FROM_SP): New macro. + (IS_ARG_MOV): Remove. + (IS_MOV_TO_R14): Remove. + (IS_RESTORE_FP): New macro. + (IS_RTS): New macro. + (IS_LDS): New macro. + (IS_MOV_FP_SP): New macro. + (IS_ADD_REG_TO_FP): New macro. + (IS_ADD_IMM_FP): New macro. + (sh_skip_prologue_hard_way): Remove. + (sh_saved_pc_after_call): Remove. + (sh_frame_chain): Remove. + (sh_find_callers_reg): Remove. + (sh_nofp_frame_init_saved_regs): Remove. + (sh_fp_frame_init_saved_regs): Remove. + (sh_init_extra_frame_info): Remove. + (sh_analyze_prologue): New function. + (sh_skip_prologue): Remove deprecated code. Rely on new function + sh_analyze_prologue when after_prologue fails. + (sh_frame_saved_pc): Remove. + (sh_alloc_frame_cache): New function. + (sh_frame_cache): Ditto. + (sh_frame_prev_register): Ditto. + (sh_frame_this_id): Ditto. + (sh_frame_unwind): New structure defining the heuristic frame + sniffer interface. + (sh_frame_sniffer): New function. + (sh_unwind_sp): Ditto. + (sh_unwind_pc): Ditto. + (sh_unwind_dummy_id): Ditto. + (sh_frame_base_address): Ditto. + (sh_frame_base): New structure defining new frame base code. + (sh_in_function_epilogue_p): New function. + (sh_gdbarch_init): Restructure and simplify to eliminate deprecated + code and to call all new code instead. Initialize dwarf2 and + heuristic frame sniffer. + +2003-09-24 Paul N. Hilfinger <hilfingr@nile.gnat.com> + + * parser-defs.h (struct exp_descriptor): New definition, containing + language-specific info for printing, prefixifying, dumping, and + evaluating expressions. + (exp_descriptor_standard): Declare new variable. + (print_subexp): Make global and declare here (from expprint.c). + (dump_subexp): Ditto. + (dump_subexp_body_standard): Declare. + (operator_length_standard): Declare. + (op_name_standard): Declare. + (print_subexp): Declare. + (print_subexp_standard): Declare. + + * language.h (struct language_defn): Add la_exp_desc field to hold + pointer to table for language-specific operators. + Remove evaluate_exp field, which is now in struct exp_descriptor. + + * parse.c (operator_length): Move most code to new + operator_length_standard function. Use language-specific information. + (operator_length_standard): New function taking most code from + operator_length. + (exp_descriptor_standard): New constant. + + * expression.h (enum exp_opcode): Add definitions of OP_EXTENDED0 + and OP_EXTENDED_LAST. + + * expprint.c (print_subexp): Use language-specific print_subexp. + Make global; remove static declaration. + Move most code to print_subexp_standard. + (print_subexp_standard): New function, containing code formerly in + print_subexp. + (op_name): Add expression to argument signature. + Use langauge-specific op_name. + Move most code to op_name_standard. + (op_name_standard): New function, containing code formerly in op_name. + (dump_subexp): Use new version of op_name function. + Use language-specific dump_subexp_body, and move most existing code to + dump_subexp_body_standard. + (dump_raw_expression): Use new op_name interface. + (dump_subexp_body): Move most code to dump_subexp_body_standard. + (dump_subexp_body_standard): New function, containing code formerly + in dump_subexp_body. + + * language.c (unknown_language): Add default la_exp_desc field and + remove evaluate_exp field. + (auto_language): Ditto. + (local_language): Ditto. + * f-lang.c (f_language_defn): Ditto. + * c-lang.c (c_language_defn): Ditto. + (cplus_language_defn): Ditto. + (asm_language_defn): Ditto. + (minimal_language_defn): Ditto. + * p-lang.c (pascal_language_defn): Ditto. + * m2-lang.c (m2_language_defn): Ditto. + * objc-lang.c (objc_language_defn): Ditto. + + * jv-lang.c (exp_descriptor_java): New variable, containing + Java-specific expression evaluator. + (java_language_defn): Add la_exp_desc field and remove evaluate_exp + field. + * scm-lang.c (exp_descriptor_scm): New variable, containing + Scheme-specific expression evaluator. + (scm_language_defn): Add la_exp_desc field and remove evaluate_exp + field. + * objc-lang.c (print_object_command): Take evaluate_exp from the + la_exp_desc field. + + * Makefile.in (eval.o): Add dependency on parser-defs.h. + + * eval.c: Include parser-defs.h for the full declaration of + la_exp_desc's type. + (evaluate_subexp): Get evaluate_exp out of la_exp_desc field. + +2003-09-23 Paul N. Hilfinger <hilfingr@nile.gnat.com> + + * parser-defs.h (operator_length): Declare. + + * parse.c (length_of_subexp): Use operator_length to get operator + lengths and arities for operators. + Move most code to new operator_length function. + (operator_length): New function absorbing most code from + length_of_subexp. + (prefixify_subexp): Remove large case and use operator_length instead. + (parse_exp_1): Use renamings: + dump_prefix_expression => dump_raw_expression and + dump_postfix_expression => dump_prefix_expression. + + * expression.h (dump_prefix_expression): Rename to ... + (dump_raw_expression): New name. + (dump_postfix_expression): Rename to ... + (dump_prefix_expression): New name. + + * expprint.c (dump_subexp): Make global. Add comment. + Move most existing code to dump_subexp_body. + (dump_subexp_body): New function. + (dump_prefix_expression): Rename to dump_raw_expression. + Remove attempt to print the expression via print_expression: it can't + work before the expression is prefixified. + (dump_raw_expression): Renamed from dump_prefix_expression. + (dump_postfix_expression): Rename to dump_prefix_expression, since + that's what it does. + Remove 'note' parameter, since this routine must be used on + prefixified expression. + (dump_prefix_expression): Renamed from dump_postfix_expression. + +2003-09-22 Jim Blandy <jimb@redhat.com> + + * dwarf2read.c (read_array_type): When building the type for an + array of unspecified length, make sure to choose the upper bound + so that the array's total length comes out to be zero --- that's + how we represent such arrays. + +2003-09-22 Michael Chastain <mec@shout.net> + + * MAINTAINERS: Rename gdb.c++ to gdb.cp. + +2003-09-22 Jeff Johnston <jjohnstn@redhat.com> + + * top.c (quit_force): Fix indirect call to quit_target so + a struct qt_args pointer is passed. + +2003-09-22 Andrew Cagney <cagney@redhat.com> + + * arch-utils.h (init_frame_pc_noop): Delete declaration. + * arch-utils.c (init_frame_pc_noop): Delete function. + * mn10300-tdep.c (mn10300_gdbarch_init): Do not set + "init_frame_pc". + * mips-tdep.c (mips_gdbarch_init): Ditto. + * i386-interix-tdep.c (i386_interix_init_abi): Ditto. + * config/sparc/tm-sparc.h (init_frame_pc_noop): Delete + declaration. + (DEPRECATED_INIT_FRAME_PC): Delete macro. + * config/rs6000/tm-rs6000.h (init_frame_pc_noop): Delete + declaration. + (DEPRECATED_INIT_FRAME_PC): Delete macro. + +2003-09-22 Anthony Green <green@redhat.com> + + * monitor.c (monitor_expect): Delete unused conflicting targ_ops + declaration. + +2003-09-20 Andrew Cagney <cagney@redhat.com> + + * breakpoint.c: Eliminate ARGSUSED. + * buildsym.c, cli/cli-cmds.c, cli/cli-script.c: Ditto. + * coffread.c, corelow.c, dwarf2read.c, event-top.c: Ditto. + * exec.c, gcore.c, hpux-thread.c, infcmd.c, inflow.c: Ditto. + * infrun.c, inftarg.c, maint.c, ocd.c, printcmd.c: Ditto. + * procfs.c, regcache.c, remote-rdi.c, remote-sds.c: Ditto. + * remote.c, sol-thread.c, source.c, stabsread.c: Ditto. + * stack.c, symfile.c, target.c, top.c, typeprint.c: Ditto. + * utils.c, v850ice.c, valprint.c, values.c, win32-nat.c: Ditto. + * wince.c, remote-vx.c: Ditto. + + * cli/cli-script.c: Remove "register" attributes. + * config/pa/tm-hppa.h: Ditto. + * cli/cli-decode.c: Ditto. + * cli/cli-cmds.c: Ditto. + +2003-09-19 Andrew Cagney <cagney@redhat.com> + + * sparcnbsd-nat.c (getregs_supplies): Rename NPC_REGNUM to + DEPRECATED_NPC_REGNUM. + * sparc64nbsd-nat.c (getregs_supplies): Ditto. + +2003-09-19 Christopher Faylor <cgf@redhat.com> + + * win32-nat.c (mappings): Remove HAVE_SSE conditional. + +2003-09-19 Jim Blandy <jimb@redhat.com> + + * macrotab.c (macro_include): Use the correct comparison to find + the appropriate place for this inclusion in the list. + +2003-09-19 Andrew Cagney <cagney@redhat.com> + + * config/pa/nm-hppah.h (NEED_TEXT_START_END): Delete. + (DEPRECATED_HPUX_TEXT_END): Define. + (deprecated_hpux_text_end): Declare. + (struct target_ops): Declare opaque. + * hppah-nat.c (text_end): Make static. + (deprecated_hpux_text_end): New function. + * exec.c (text_end): Delete global variable. + (NEED_TEXT_START_END): Do not define. + (exec_file_attach): Replace code computing "text_end" code with + call to DEPRECATED_HPUX_TEXT_END. + +2003-09-19 Andrew Cagney <cagney@redhat.com> + + * utils.c (align_up, align_down): New functions. + * defs.h (align_up, align_down): Declare. + * ppc-sysv-tdep.c (align_up, align_down): Delete functions. + * s390-tdep.c: Replace "round_up" and "round_down" with "align_up" + and "align_down". + (round_up, round_down): Delete functions. + * mips-tdep.c: Replace ROUND_UP and ROUND_DOWN with "align_up" and + "align_down". + (ROUND_DOWN, ROUND_UP): Delete macros. + (mips_dump_tdep): Do not print "ROUND_UP" or "ROUND_DOWN". + * h8300-tdep.c: Replace "round_up" and "round_down" with + "align_up" and "align_down". + (round_up, round_down): Delete macros. + * frv-tdep.c: Replace ROUND_UP and ROUND_DOWN with "align_up" and + "align_down". + (ROUND_UP, ROUND_DOWN): Delete macros. + +2003-09-18 J. Brobecker <brobecker@gnat.com> + + * hppa-hpux-tdep.c (_initialize_hppa_hpux_tdep): Remove a + hard-coded constant. Use the proper machine name instead. + +2003-09-17 Andrew Cagney <cagney@redhat.com> + + * sparc-tdep.c (legacy_register_name): Delete function. + * mips-tdep.c (mips_dump_tdep): Do not print REGISTER_NAME. + (mips_gdbarch_init): Refer to MIPS_REGISTER_NAME in comments. + * infcmd.c (gdb_register_name): Delete variable. + * gdbarch.sh (SDB_REG_TO_REGNUM): Delete reference to + REGISTER_NAME and "tm.h". + * gdbarch.h, gdbarch.c: Regenerate. + * dpx2-nat.c (regmap): Refer to REGISTER_NAME and not + REGISTER_NAMES in comments. + * remote-st.c (get_reg_name), i386b-nat.c (tregmap): Ditto. + * m68klinux-nat.c (regmap): Ditto. + +2003-09-17 Jim Blandy <jimb@redhat.com> + + * Makefile.in (dis_asm_h): Note that this #includes "bfd.h". + +2003-09-17 Andrew Cagney <cagney@redhat.com> + + * ppcnbsd-tdep.c (ppcnbsd_use_struct_convention): New function. + (ppcnbsd_init_abi): Set "use_struct_convention" to + "ppcnbsd_use_struct_convention". + +2003-09-17 Mark Kettenis <kettenis@gnu.org> + + * gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Add comment. + * gdbarch.h, gdbarch.c: Regenerate. + (stabs_argument_has_addr): New architecture method. + * arch-utils.h (default_stabs_argument_has_addr): New prototype. + * arch-utils.c: Include "buildsym.h". + (default_stabs_argument_has_addr): New function. + * stabsread.c (define_symbol): Use stabs_argument_has_addr + instead of DEPRECATED_REG_STRUCT_HAS_ADDR. + +2003-09-17 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_NPC_REGNUM): Deprecate NPC_REGNUM. + * gdbarch.h, gdbarch.c: Regenerate. + * core-sol2.c, hppa-tdep.c, lynx-nat.c, procfs.c: Update. + * regcache.c, remote-vxsparc.c, sparc-linux-nat.c: Update. + * sparc-nat.c, sparc-tdep.c, sparc64-tdep.c: Update. + * sparcnbsd-tdep.c: Update. + +2003-09-17 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_REGISTER_BYTE): Rename REGISTER_BYTE. + * gdbarch.h, gdbarch.c: Regenerate. + * arm-linux-tdep.c, core-sol2.c, cris-tdep.c: Update. + * d10v-tdep.c, frame.c: Update. + * hppa-tdep.c, hppab-nat.c, hppah-nat.c, hppam3-nat.c: Update. + * hpux-thread.c, i386gnu-nat.c, ia64-aix-nat.c: Update. + * ia64-linux-nat.c, irix5-nat.c, lynx-nat.c, m68knbsd-nat.c: Update. + * mcore-tdep.c, mips-linux-tdep.c, mips-tdep.c: Update. + * mipsv4-nat.c, mn10300-tdep.c, ns32k-tdep.c: Update. + * ns32knbsd-nat.c, ppc-bdm.c, regcache.c, remote-sds.c: Update. + * remote-vx68.c, remote-vxmips.c, remote-vxsparc.c: Update. + * remote.c, rs6000-tdep.c, s390-tdep.c, sh64-tdep.c: Update. + * sparc-nat.c, sparc-tdep.c, sun3-nat.c, v850-tdep.c: Update. + * v850ice.c, vax-tdep.c, xstormy16-tdep.c: Update. + * config/m68k/tm-cisco.h, config/m68k/tm-delta68.h: Update. + * config/pa/nm-hppah.h: Update. + +2003-09-16 Andrew Cagney <cagney@redhat.com> + + * ppc-linux-tdep.c (ppc_linux_init_abi): Set the 32 bit + "use_struct_convention" to "ppc_linux_use_struct_convention". + (ppc_linux_use_struct_convention): New function. + * rs6000-tdep.c (rs6000_use_struct_convention): New function. + (rs6000_gdbarch_init): For AIX, set "use_struct_convention" to + "rs6000_use_struct_convention". + * ppc-tdep.h (ppc_sysv_abi_broken_use_struct_convention): Delete + declaration. + * ppc-sysv-tdep.c (ppc_sysv_abi_broken_use_struct_convention): + Delete function. + +2003-09-16 Andrew Cagney <cagney@redhat.com> + + * buildsym.c: Remove more occurances of "register". + * coffread.c, dbxread.c, dcache.c, dwarf2read.c: Ditto. + * environ.c, eval.c, f-valprint.c, findvar.c: Ditto. + * gdbtypes.c, gnu-v2-abi.c, h8300-tdep.c, hppa-tdep.c: Ditto. + * infcmd.c, mdebugread.c, minsyms.c, mips-tdep.c: Ditto. + * printcmd.c, remote-vx.c, sh-stub.c, sh-tdep.c: Ditto. + * sh64-tdep.c, source.c, stabsread.c, stack.c: Ditto. + * standalone.c, symfile.c, symmisc.c, symtab.c: Ditto. + * utils.c, valops.c, values.c, xcoffread.c: Ditto. + +2003-09-16 Corinna Vinschen <vinschen@redhat.com> + + * sh-tdep.h (struct gdbarch_tdep): Remove. Change all register + numbers to enumeration values. + * sh-tdep.c: Accomodate above change. + (SH_NUM_REGS): Rename from SH_DEFAULT_NUM_REGS. + (NUM_PSEUDO_REGS_SH_MEDIA): Remove (sh5 only). + (NUM_PSEUDO_REGS_SH_COMPACT): Remove (sh5 only). + (IS_ADD_IMM_SP): Rename from IS_ADD_SP. + (IS_FPUSH): Rename from IS_FMOV. + (sh_extract_struct_value_address): Remove useless comment. + (sh_dsp_register_sim_regno): Use register values from sh-tdep.h + instead of own local values. + (sh_dump_tdep): Remove. + (_initialize_sh_tdep): Accomodate removing sh_dump_tdep. + * sh3-rom.c (sh3_supply_register): Accomodate sh-tdep.h changes. + +2003-09-15 Andrew Cagney <cagney@redhat.com> + + * doublest.c (convert_floatformat_to_doublest): No longer need to + cast "exp_bias" to an int. Reverts 2002-12-04 change. + +2003-09-15 Daniel Jacobowitz <drow@mvista.com> + + * values.c (unpack_double): Call floatformat_is_valid. + +2003-09-15 Mark Kettenis <kettenis@gnu.org> + + * amd64fbsd-nat.c (_initialize_amd64fbsd_nat): Change type of + ps_strings into a long. + + * amd64fbsd-nat.c (_initialize_amd64fbsd_nat): Rename from + _initialize_am64fbsd_nat. + +2003-09-15 Kevin Buettner <kevinb@redhat.com> + + * dwarf2read.c (dwarf2_get_pc_bounds): Complain if offset + associated with DW_AT_ranges attribute is out of bounds. + +2003-09-15 David Lecomber <dsl@sources.redhat.com> + + * f-valprint.c: Apply array element printing limits to multi-dimensional arrays + +2003-09-14 Michael Chastain <mec@shout.net> + + * config/m68k/nm-apollo68v.h: Delete. + * config/m68k/xm-apollo68v.h: Delete. + +2003-09-14 Andrew Cagney <cagney@redhat.com> + + * rs6000-tdep.c (rs6000_push_dummy_call): Fix typos. + * dcache.c: Update copyrights and descriptions. + * scm-exp.c, ia64-aix-nat.c, hppam3-nat.c: environ.c: Ditto. + +2003-09-14 Andrew Cagney <cagney@redhat.com> + + * config/djgpp/fnchange.lst: Rename "amd64fbsd-tdep.c" and + "amd64fbsd-nat.c" to "a64fb-tdep.c" and "a64fb-nat.c". + +2003-09-14 Andrew Cagney <cagney@redhat.com> + + * alpha-nat.c: Remove some occurances of "register". + * alpha-tdep.c, arm-tdep.c, blockframe.c, breakpoint.c: Ditto. + * buildsym.c, c-typeprint.c, c-valprint.c, coffread.c: Ditto. + * corefile.c, cp-support.c, cp-valprint.c, cris-tdep.c: Ditto. + * dbxread.c, dcache.c, dwarf2read.c, elfread.c: Ditto. + * environ.c, eval.c, event-top.c, f-typeprint.c: Ditto. + * f-valprint.c, findvar.c, frame.c, gdbtypes.c: Ditto. + * h8300-tdep.c, hppa-tdep.c, hppab-nat.c, hppah-nat.c: Ditto. + * hppam3-nat.c, hpread.c, ia64-aix-nat.c, ia64-linux-nat.c: Ditto. + * infcall.c, infcmd.c, inflow.c, infptrace.c, infrun.c: Ditto. + * infttrace.c, irix5-nat.c, jv-typeprint.c: Ditto. + * jv-valprint.c, m68k-tdep.c, m68klinux-nat.c, main.c: Ditto. + * mdebugread.c, minsyms.c, mips-linux-tdep.c: Ditto. + * mips-nat.c, mips-tdep.c, mipsread.c, mipsv4-nat.c: Ditto. + * ns32k-tdep.c, objfiles.c, p-typeprint.c: Ditto. + * p-valprint.c, ppc-linux-nat.c, printcmd.c: Ditto. + * remote-mips.c, remote-vx.c, rs6000-nat.c: Ditto. + * rs6000-tdep.c, scm-exp.c, sh-tdep.c, sh64-tdep.c: Ditto. + * solib.c, somread.c, source.c, sparc-tdep.c: Ditto. + * stabsread.c, stack.c, standalone.c, symfile.c: Ditto. + * symmisc.c, symtab.c, top.c, tracepoint.c: Ditto. + * typeprint.c, utils.c, valarith.c, valops.c: Ditto. + * values.c, vax-tdep.c, xcoffread.c: Ditto. + +2003-09-13 Andrew Cagney <cagney@redhat.com> + + * config/pa/tm-hppa64.h (struct frame_info): Declare opaque. + * ppc-tdep.h (struct regcache): Declare opaque. + * objfiles.h (struct objfile_data): Declare opaque. + * cp-support.h (struct objfile): Declare opaque. + * linux-nat.h (target_waitstatus): Declare opaque. + +2003-09-14 Mark Kettenis <kettenis@gnu.org> + + * gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Add comment. + (stabs_argument_has_addr): New architecture method. + * arch-utils.h (default_stabs_argument_has_addr): New prototype. + * arch-utils.c: Include "buildsym.h". + (default_stabs_argument_has_addr): New function. + * stabsread.c (define_symbol): Use stabs_argument_has_addr + instead of DEPRECATED_REG_STRUCT_HAS_ADDR. + + * cris-tdep.c (cris_gdbarch_init): Set + deprecated_reg_struct_has_addr instead of reg_struct_has_addr. + * hppa-tdep.c (hppa_gdbarch_init): Likewise. + * mcore-tdep.c (mcore_gdbarch_init): Likewise. + * mips-tdep.c (mips_gdbarch_init): Likewise. + * mn10300-tdep.c (mn10300_gdbarch_init): Likewise. + * sparc-tdep.c (sparc_gdbarch_init): Likewise. + +2003-09-13 Andrew Cagney <cagney@redhat.com> + + * values.c (using_struct_return): Delete "function" and "funcaddr" + parameters. + * value.h (using_struct_return): Update declaration. + * infcmd.c (finish_command_continuation): Update. + (finish_command): Update. + * infcall.c (call_function_by_hand): Update. + * eval.c (evaluate_subexp_standard): Update. + +2003-09-13 Christopher Faylor <cgf@redhat.com> + + * win32-nat.c: Just rely on CONTEXT_EXTENDED_REGISTER being defined for + SSE registers since gdb will not operate correctly without this. + Restore include file ordering munged in previous change. + * config/i386/tm-cygwin.h: Remove HAVE_SSE_REGS define. + +2003-09-13 Mark Kettenis <kettenis@gnu.org> + + * gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Renamed from + REG_STRUCT_HAS_ADDR. + * gdbarch.c, gdbarch.h: Updated. + * infcall.c (call_function_by_hand): Update. + * stabsread.c (define_symbol): Updated. + + * Makefile.in (xm-i386-sv32.h, tm-i386gas.h): Remove. + +2003-09-12 Christopher Faylor <cgf@redhat.com> + + * win32-nat.c: Reorganize so that defines used by target headers are + actually defined by the system headers. + * config/i386/tm-cygwin.h: Check for CONTEXT_EXTENDED_REGISTERS rather + than HAVE_CONTEXT_EXTENDED_REGISTERS, since the latter actually exists. + +2003-09-12 Jim Blandy <jimb@redhat.com> + + * dbxread.c (read_dbx_symtab): Don't report an internal error if + the file has no .data, .bss, or .rodata sections. Instead wait + until we see a variable alleged to live in one of those sections. + + * dbxread.c (read_dbx_symtab): If we have no .data section and no + .bss section, presume that any variables we find live in the + .rodata section. + + * dbxread.c (read_dbx_symtab): Add FIXME about finding section + offsets for global and static variables. + + * dbxread.c (read_dbx_symtab): The N_DATA and N_DATA | N_EXT + symbol types are, by definition, in the .data section, so it is + correct to use SECT_OFF_DATA (objfile) here, not data_sect_index. + If there is no .data section, there should be no N_DATA or N_DATA + | N_EXT symbols. + +2003-09-12 Mark Kettenis <kettenis@gnu.org> + + * amd64fbsd-tdep.c: Fix sigtramp recognition. + (amd64fbsd_sigcontext_addr): Rewrite. + (amd64fbsd_sigtramp_start, amd64fbsd_sigtramp_end): Initialize + with correct values. + (amd64fbsd_sc_reg_offset): Initialize with correct values. + (amd64fbsd_init_abi): Fix typo. + +2003-09-12 Andrew Cagney <cagney@redhat.com> + + * ppc-sysv-tdep.c (align_up, align_down): Replace "round2" macro. + (ppc_sysv_abi_push_dummy_call): Rewrite, use a two pass loop. + +2003-09-12 Andrew Cagney <cagney@redhat.com> + + * objfiles.h (struct entry_info): Deprecate "entry_file_lowpc" and + "entry_file_highpc". Update comments. + * defs.h (deprecated_inside_entry_file): Rename + "inside_entry_file". + * blockframe.c (deprecated_inside_entry_file): Rename + "inside_entry_file". + * frame.c (get_prev_frame): Update. Use if 0 instead of #if 0. + * vax-tdep.c (vax_frame_chain): Update. + * sh64-tdep.c (sh64_frame_chain): Update. + * sh-tdep.c (sh_frame_chain): Update. + * rs6000-tdep.c (rs6000_frame_chain): Update. + * ns32k-tdep.c (ns32k_frame_chain): Update. + * mips-tdep.c (mips_frame_chain): Update. + * m68hc11-tdep.c (m68hc11_frame_this_id): Update. + * m32r-tdep.c (m32r_frame_this_id): Update. + * i386-interix-tdep.c (i386_interix_frame_chain_valid): Update. + * frv-tdep.c (frv_frame_this_id): Update. + * d10v-tdep.c (d10v_frame_this_id): Update. + * cris-tdep.c (cris_frame_chain): Update. + * blockframe.c (legacy_frame_chain_valid): Update. + * avr-tdep.c (avr_frame_this_id): Update. + * arm-tdep.c (arm_prologue_this_id): Update. + * alpha-tdep.c (alpha_heuristic_frame_this_id): Update. + * objfiles.c (objfile_relocate): Update. + * mipsread.c (mipscoff_symfile_read): Update. + (mipscoff_symfile_read): Update. + * mdebugread.c (parse_partial_symbols): Update. + * dwarfread.c (read_file_scope): Update. + * dwarf2read.c (read_file_scope): Update. + * dbxread.c (read_dbx_symtab): Update. + (read_dbx_symtab): Update. + * coffread.c (complete_symtab): Update. + +2003-09-12 Jeff Johnston <jjohnstn@redhat.com> + + * top.c (quit_target): New static helper function. + (quit_force): Moved code to quit_target(). Call quit_target() + via catch_errors() to catch errors during quit. + +2003-09-11 David Carlton <carlton@kealia.com> + + * buildsym.c (finish_block): Use allocate_block to allocate the + block. + * mdebugread.c (new_block): Add FIXME. + +2003-09-11 David Carlton <carlton@kealia.com> + + * gdbtypes.h: Add TYPE_CODE_NAMESPACE. + * gdbtypes.c (init_type): Handle TYPE_CODE_NAMESPACE. + (recursive_dump_type): Ditto. + * printcmd.c (print_formatted): Ditto. + * typeprint.c (print_type_scalar): Ditto. + * c-typeprint.c (c_type_print_varspec_prefix): Ditto. + (c_type_print_varspec_suffix, c_type_print_base): Ditto. + * cp-support.h: Declare cp_check_possible_namespace_symbols, + maint_cplus_cmd_list. + * cp-support.c: Make maint_cplus_cmd_list extern. + * cp-namespace.c: Include objfiles.h, gdbtypes.h, dictionary.h, + command.h. + (lookup_symbol_file): Look in possible namespace blocks when + appropriate. + (initialize_namespace_symtab): New. + (get_possible_namespace_block, free_namespace_block) + (check_possible_namespace_symbols) + (check_possible_namespace_symbols_loop) + (check_one_possible_namespace_symbol) + (lookup_possible_namespace_symbol, maintenance_cplus_namespace) + (_initialize_cp_namespace): Ditto. + * block.h: Declare allocate_block. + * block.c (allocate_block): New. + * jv-lang.c (get_java_class_symtab): Allocate blocks via + allocate_block. + * symfile.h: Update declaration of add_psymbol_to_list. + * symfile.c (add_psymbol_to_list): Return the partial symbol in + question. + * dwarf2read.c (dwarf2_build_psymtabs_hard): Add argument to + scan_partial_symbols_call. + (scan_partial_symbols): Add NAMESPACE argument; update calls to + helper functions. + (add_partial_symbol): If necessary, scan mangled names for names + of namespaces. + (add_partial_namespace): Add NAMESPACE argument; generate partial + symbols associated to namespaces. + (add_partial_enumeration): Add NAMESPACE argument. + (new_symbol): Allow namespace syms. + (read_namespace): Generate namespace syms. + * objfiles.h: Add opaque declaration of struct symtab. + (struct objfile): Add cp_namespace_symtab member. + * objfiles.c (allocate_objfile): Set + objfile->cp_namespace_symtab. + * Makefile.in (cp-namespace.o): Depend on objfiles_h, gdbtypes_h, + dictionary_h, command_h. + +2003-09-11 Andrew Cagney <cagney@redhat.com> + + * rs6000-tdep.c (rs6000_push_dummy_call): Use + regcache_raw_write_signed to set SP_REGNUM, move the operation to + near the function's end. + (rs6000_gdbarch_init): Do not set "deprecated_dummy_write_sp". + * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Use + regcache_raw_write_signed to set SP_REGNUM. + +2003-09-11 Elena Zannoni <ezannoni@redhat.com> + + * symfile.c (symbol_file_add_with_addrs_or_offsets): Make sure + orig_addrs is set up properly. + +2003-09-11 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_STACK_ALIGN): Rename STACK_ALIGN. + * gdbarch.h, gdbarch.c: Re-generate. + * infcall.c (call_function_by_hand): Update. + * hppa-tdep.c (hppa_push_arguments): Update. + * ada-lang.c (place_on_stack): Update. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * hppa-tdep.c (hppa_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Delete comment refering to + stack_align. + +2003-09-11 Daniel Jacobowitz <drow@mvista.com> + + * dwarf2loc.c (dwarf2_loc_desc_needs_frame): Variables in a + register do need a frame. + +2003-09-11 Andrew Cagney <cagney@redhat.com> + + Since the IRIX 4 configuration was forcing K&R mode it hasn't been + buildable since GDB 5.0. + * NEWS: Mention that IRIX 3 and IRIX 4 support were removed. + * configure.host: Delete "mips-sgi-irix3*" and "mips-sgi-irix4*". + * configure.tgt: Delete "mips*-sgi-*" a.k.a. irix3. + * irix4-nat.c: Delete file. + * config/mips/irix4.mh: Delete file. + * config/mips/irix3.mh: Delete file. + * config/mips/irix3.mt: Delete file. + * config/mips/tm-irix3.h: Delete file. + * config/mips/nm-irix3.h: Delete file. + * config/mips/xm-irix3.h: Delete file. + * config/mips/nm-irix4.h: Delete file. + * config/mips/xm-irix4.h: Delete file. + * config/mips/tm-irix5.h: Inline contents of "tm-irix3.h". + +2003-09-10 J. Brobecker <brobecker@gnat.com> + + * hppa-tdep.c: Include "dis-asm.h". Fixes a build failure. + * Makefile.in (hppa-tdep.o): Update dependencies. + +2003-09-10 James E Wilson <wilson@specifixinc.com> + + * MAINTAINERS: Change my e-mail address. Move to paper trail + section. + +2003-09-10 Kevin Buettner <kevinb@redhat.com> + + * MAINTAINERS (frv): New ISA entry. + +2003-09-10 Kevin Buettner <kevinb@redhat.com> + + * frv-tdep.c (dis-asm.h): Include. + * Makefile.in (frv-tdep.o): Update dependencies. + +2003-09-09 Jeff Johnston <jjohnstn@redhat.com> + + * ia64-tdep.c (ia64_sigtramp_frame_init_saved_regs): + Fix typo for high range of floating registers. + +2003-09-09 David Carlton <carlton@kealia.com> + + * dwarf2read.c (dwarf2_build_psymtabs_hard): Move lowpc and + highpc initialization here out of scan_partial_symbols. + (scan_partial_symbols): Restructure into a recursive version, + calling add_partial_namespace and add_partial_enumeration when + appropriate. + (add_partial_namespace): New. + (add_partial_enumeration, locate_pdi_sibling): Ditto. + +2003-09-09 Andrew Cagney <cagney@redhat.com> + + * rs6000-tdep.c (ppc_push_return_address): Delete function. + (rs6000_push_dummy_call): Set LR to BP_ADDR. + (rs6000_gdbarch_init): Do not set deprecated_push_return_address. + * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Ditto. + + * rs6000-tdep.c (rs6000_fix_call_dummy): Delete function. + (rs6000_push_dummy_call): Set the "TOC" register. + + * rs6000-tdep.c (rs6000_gdbarch_init): Do not set the deprecated + methods "max_register_raw_size", "max_register_virtual_size" or + "register_virtual_size". + +2003-09-09 Ian Lance Taylor <ian@wasabisystems.com> + + * MAINTAINERS: Update my e-mail address. + +2003-09-09 Andrew Cagney <cagney@redhat.com> + + * rs6000-tdep.c (rs6000_store_struct_return): Delete function. + (rs6000_push_dummy_call): Store the struct return address. + * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Ditto. + +2003-09-09 Andrew Cagney <cagney@redhat.com> + + * ppc-tdep.h (ppc_sysv_abi_push_dummy_call): Replace + "ppc_sysv_abi_push_arguments". + * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Replace + "ppc_sysv_abi_push_arguments". + * rs6000-tdep.c (rs6000_gdbarch_init): Set "push_dummy_call" + instead of "push_arguments". + (rs6000_push_dummy_call): Replace "rs6000_push_arguments". + +2003-09-09 Andrew Cagney <cagney@redhat.com> + + * sh64-tdep.c (sh64_push_return_address): Use ENTRY_POINT_ADDRESS + instead of CALL_DUMMY_ADDRESS. + +2003-09-09 Paul N. Hilfinger <hilfingr@gnat.com> + + * p-lang.c: Eliminate "register". + * c-lang.c: Ditto. + * expprint.c: Ditto. + * f-lang.c: Ditto. + * jv-lang.c: Ditto. + * language.c: Ditto. + * m2-lang.c: Ditto. + * parse.c: Ditto. + * scm-lang.c: Ditto. + * objc-lang.c: Ditto. + +2003-09-09 Nick Clifton <nickc@redhat.com> + + * v850-tdep.c (v850_processor_type_table): Add bfd_mach_v850e1. + +2003-09-04 Andrew Cagney <cagney@redhat.com> + + * avr-tdep.c: Include "dis-asm.h". + * cris-tdep.c: Include "dis-asm.h". + (cris_delayed_get_disassembler): Use "struct disassemble_info" + instead of corresponding typedef. + * h8300-tdep.c: Include "dis-asm.h". + * ia64-tdep.c: Include "dis-asm.h". + * i386-tdep.c: Include "dis-asm.h". + (i386_print_insn): Use "struct disassemble_info" instead of + corresponding typedef. + * m68k-tdep.c: Include "dis-asm.h". + * mcore-tdep.c: Include "dis-asm.h". + * mips-tdep.c: Include "dis-asm.h". + (gdb_print_insn_mips): Make static, use "struct disassemble_info" + instead of corresponding typedef. + * ns32k-tdep.c: Include "dis-asm.h". + * s390-tdep.c: Include "dis-asm.h". + * sparc-tdep.c: Include "dis-asm.h". + * vax-tdep.c: Include "dis-asm.h". + * v850-tdep.c: Include "dis-asm.h". + * mn10300-tdep.c: Include "dis-asm.h". + * rs6000-tdep.c: Include "dis-asm.h". + * xstormy16-tdep.c: Include "dis-asm.h". + (_initialize_xstormy16_tdep): Delete "extern" declaration of + print_insn_xstormy16. + * Makefile.in (v850-tdep.o): Update dependencies. + (vax-tdep.o, sparc-tdep.o, s390-tdep.o): Ditto. + (ns32k-tdep.o, mips-tdep.o, mcore-tdep.o): Ditto. + (m68k-tdep.o, ia64-tdep.o, i386-tdep.o): Ditto. + (h8300-tdep.o, cris-tdep.o, avr-tdep.o): Ditto. + (mn10300-tdep.o, xstormy16-tdep.o, disasm.o): Ditto. + (gdbarch_h): Remove $(dis_asm_h). + * disasm.c: Include "dis-asm.h". + (dis_asm_read_memory): Use "struct disassemble_info" instead of + corresponding typedef. + (dis_asm_memory_error, dump_insns, do_assembly_only): Ditto. + (gdb_disassemble_info, gdb_disassembly, gdb_print_insn): Ditto. + * gdbarch.sh: Do not include "dis-asm.h". + (struct disassemble_info): Declare opaque. + (TARGET_PRINT_INSN): Update declaration. + * gdbarch.h, gdbarch.c: Re-generate. + +2003-09-08 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_CALL_DUMMY_ADDRESS): Rename + CALL_DUMMY_ADDRESS, change to a predicate. + * gdbarch.h, gdbarch.c: Re-generate. + * blockframe.c (deprecated_pc_in_call_dummy_at_entry_point): + Use either DEPRECATED_CALL_DUMMY_ADDRESS or entry_point_address. + * infcall.c (call_function_by_hand): Ditto. + * sparc-tdep.c (sparc_push_return_address): Ditto. + (sparc_gdbarch_init): Set deprecated_call_dummy_address. + * xstormy16-tdep.c (xstormy16_push_return_address): Replace + CALL_DUMMY_ADDRESS with entry_point_address. + * v850-tdep.c (v850_push_return_address): Ditto. + * s390-tdep.c (s390_push_return_address): Ditto. + * rs6000-tdep.c (ppc_push_return_address): Ditto. + * mn10300-tdep.c (mn10300_push_return_address): Ditto. + * mcore-tdep.c (mcore_push_return_address): Ditto. + * cris-tdep.c (cris_push_return_address): Ditto. + * arm-tdep.c (arm_push_return_address): Ditto. + +2003-09-08 Andrew Cagney <cagney@redhat.com> + + * dwarf2-frame.c (enum dwarf2_reg_rule): New, replace anonymous + enum. Add REG_UNSPECIFIED, rename REG_UNSAVED to REG_UNDEFINED + and REG_UNMODIFIED to REG_SAME_VALUE. + (execute_cfa_program): Update. + (dwarf2_frame_cache): Update. Initialize table to + REG_UNSPECIFIED, complain if CFI fails to specify a register's + location. + (dwarf2_frame_prev_register): Update. Handle REG_UNSPECIFIED. + +2003-09-08 Andrew Cagney <cagney@redhat.com> + + * gnu-nat.c: Remove "inline" function attribute. + * alpha-tdep.c, ppc-linux-tdep.c, macroexp.c: Ditto. + +2003-09-08 Kevin Buettner <kevinb@redhat.com> + + * config/frv/frv.mt (SIM_OBS, SIM): Enable simulator for FR-V + target. + +2003-09-08 Kevin Buettner <kevinb@redhat.com> + + * frv-tdep.c (frame-unwind.h, frame-base.h): Include. + (frame_extra_info): Rename this struct to frv_unwind_cache. + Delete fields ``fp_to_callers_sp_offset'' and ``lr_saved_on_stack''. + Add fields ``prev_sp'' and ``base''. + (frv_frame_chain, frv_frame_saved_pc, frv_frame_init_saved_regs) + (frv_saved_pc_after_call, frv_init_extra_frame_info) + (frv_push_return_address, frv_pop_frame, frv_pop_frame_regular): + Delete. + (frv_analyze_prologue): Add ``struct frv_unwind_cache *'' argument. + Revise all callers. Fill in the unwind cache argument and make + other adjustments to account for new frame mechanisms. + (frv_frame_unwind_cache, frv_frame_align, frv_unwind_pc) + (frv_frame_this_id, frv_frame_prev_register, frv_frame_sniffer) + (frv_frame_base_address, frv_unwind_dummy_id): New functions. + (frv_frame_unwind, frv_frame_base): New structs. + (frv_push_arguments): Change name to frv_push_dummy_call(). Add + additional arguments expected by this method and adjust function + body accordingly. + (frv_gdbarch_init): Remove calls to the following functions: + set_gdbarch_deprecated_init_frame_pc(), + set_gdbarch_deprecated_saved_pc_after_call(), + set_gdbarch_deprecated_frame_chain(), + set_gdbarch_deprecated_frame_saved_pc(), + set_gdbarch_deprecated_frame_init_saved_regs(), + set_gdbarch_deprecated_push_arguments(), + set_gdbarch_deprecated_push_return_address(), + set_gdbarch_deprecated_pop_frame(), + set_gdbarch_deprecated_call_dummy_words(), + set_gdbarch_deprecated_sizeof_call_dummy_words(), + set_gdbarch_deprecated_init_extra_frame_info(), + set_gdbarch_deprecated_dummy_write_sp(), and + set_gdbarch_deprecated_pc_in_call_dummy(). + Add calls to the following functions: + set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(), + set_gdbarch_frame_align(), frame_unwind_append_sniffer(), and + frame_base_set_default(). + * Makefile.in (frv-tdep.o): Update dependencies. + +2003-09-09 Mark Kettenis <kettenis@gnu.org> + + * dwarf2-frame.c (read_encoded_value): Add support for + DW_EH_PE_aligned encoding. + +2003-09-08 Daniel Jacobowitz <drow@mvista.com> + + * infrun.c (normal_stop): Don't print a message if the inferior + has exited. + +2003-09-08 Jim Blandy <jimb@redhat.com> + + * Makefile.in (dbxread.o): Note new dependency on $(gdb_assert_h). + * dbxread.c: #include "gdb_assert.h". + (read_dbx_symtab): If the objfile has no .data section, use the + section index for the .bss section instead. + +2003-09-08 Daniel Jacobowitz <drow@mvista.com> + + * frame.c (deprecated_safe_get_selected_frame): New function. + * frame.h (deprecated_safe_get_selected_frame): Add prototype. + * findvar.c (read_var_value): Call it. + +2003-09-08 Corinna Vinschen <vinschen@redhat.com> + + * Makefile.in (ALLDEPFILES): Add sh64-tdep.c. + (sh64-tdep.o): Add dependencies. + * configure.tgt: Add FIXME to sh-*-linux*. + * sh-tdep.c: Move sh64 support to sh64-tdep.c. + (sh_gdbarch_init): Always set correct sh_show_regs function + pointer. Call sh64_gdbarch_init() if machine type is sh5. + * sh-tdep.h: Move sh64 support to sh64-tdep.c. + * sh64-tdep.c: New file, containing all sh64 related code from + sh-tdep.c. + * config/sh/embed.mt (TDEPFILES): Add sh64-tdep.o. + * config/sh/linux.mt (TDEPFILES): Ditto. + * config/sh/nbsd.mt (TDEPFILES): Ditto. + * config/sh/tm-sh.h: Drop REGISTER_TYPE definition. + * config/sh/wince.mt (TDEPFILES): Ditto. + +2003-09-07 Daniel Jacobowitz <drow@mvista.com> + + * lin-lwp.c (detach_callback): Don't call stop_wait_callback. + (stop_wait_callback): Handle !lp->signalled also. + (lin_lwp_has_pending, flush_callback): New functions. + (lin_lwp_wait): Call flush_callback. + * linux-proc.c (linux_proc_add_line_to_sigset): New function. + (linux_proc_pending_signals): New function. + * linux-nat.h (linux_proc_pending_signals): Add prototype. + +2003-09-07 Daniel Jacobowitz <drow@mvista.com> + + From Nick Kelsey <nickk@ubicom.com>: + * infrun.c (handle_inferior_event): Check IN_SOLIB_RETURN_TRAMPOLINE + when the stop PC is at the beginning of a function also. + +2003-09-06 Daniel Jacobowitz <drow@mvista.com> + + * arm-linux-tdep.c (arm_linux_arm_be_breakpoint): New. + (arm_linux_init_abi): Use arm_linux_arm_be_breakpoint. + +2003-09-06 Mark Kettenis <kettenis@gnu.org> + + * sol-thread.c: Include "gdb_string.h". + +2003-09-03 Mark Kettenis <m.kettenis@osp.nl> + + * gcore.c: Reorder include files in alphabetical order. Include + "gdb_assert.h". Various coding style fixes. + (derive_stack_segment, derive_heap_segment): Replace check for + non-null BOTTOM and TOP with gdb_assert. + (derive_heap_segment): Replace check for successful creation of + ZERO with gdb_assert. + (make_mem_sec): Use bfd_section_lma to set OSEC->lma. + +2003-09-04 Andrew Cagney <cagney@redhat.com> + + * thread-db.c (verbose_dlsym): New function. + (thread_db_load): Use verbose_dlsym + (thread_db_new_objfile): Print that libthread_db was loaded, and + that thread debugging was enabled. + +2003-09-04 Andrew Cagney <cagney@redhat.com> + + * configure.tgt: Add "mips64*-*-*" target. Delete + mips64*el-*-ecoff*, mips64*el-*-elf*, mips*el-*-ecoff*, + mips*el-*-elf*, mips*-*-lnews*, mips*-*-sysv*, mips*-*-riscos*, + mips*-*-ecoff*, mips*-*-elf*, mips*-little-*, mips*-big-*, + mips*-dec-*, mips64*-big-*, mips64*vr*-*-elf*, mips64*-*-ecoff*, + mips*-sony-*, and mips64*-*-elf* targets. + * config/mips/embedl.mt: Delete file. + * config/mips/embedl64.mt: Delete file. + * config/mips/mips.mt: Delete file. + * config/mips/mips64.mt: Delete file. + * config/mips/tm-embed.h: Delete file. + * config/mips/embed.mt (TM_FILE): Set to "tm-mips.h". + * config/mips/embed64.mt: Delete out-of-date comment. + +2003-09-04 Andrew Cagney <cagney@redhat.com> + + * hppa-tdep.c (hppa_gdbarch_init): Set + "have_nonsteppable_watchpoint". + * config/pa/nm-hppah.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete. + * mips-tdep.c (mips_dump_tdep): Do not print + HAVE_NONSTEPPABLE_WATCHPOINT. + (mips_gdbarch_init): Set "have_nonsteppable_watchpoint". + * config/mips/tm-embed.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete. + * config/mips/nm-irix5.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete. + * config/mips/nm-irix4.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete. + +2003-09-04 Corinna Vinschen <vinschen@redhat.com> + + * breakpoint.c (watchpoint_check): Remove accidentally checked in + unused code. Add comment. + +2003-09-04 Corinna Vinschen <vinschen@redhat.com> + + * breakpoint.c (watchpoint_check): Check for pc being in an + epilogue if watchpoint frame couldn't be found. + +2003-09-04 Andrew Cagney <cagney@redhat.com> + + * Makefile.in: Re-generate all dependencies. + +2003-09-03 Andrew Cagney <cagney@redhat.com> + + * arch-utils.h (legacy_print_insn): Delete declaration. + * arch-utils.c (legacy_print_insn): Delete function. + * disasm.c (deprecated_tm_print_insn_info): Delete. + (_initialize_disasm): Delete function, contained code initializing + deprecated_tm_print_insn_info. + * gdbarch.sh (deprecated_tm_print_insn): Delete. + (deprecated_tm_print_insn_info): Delete. + (TARGET_PRINT_INSN): Do not provide a default. + * gdbarch.h, gdbarch.c: Re-generate. + +2003-09-03 Andrew Cagney <cagney@redhat.com> + + * disasm.c (fprintf_disasm): New function. + (gdb_disassemble_info): Call "init_disassemble_info", instead of + INIT_DISASSEMBLE_INFO_NO_ARCH. Do not initialize "insn_sets", + reverts 2003-08-14 change. + (_initialize_disasm): Call "init_disassemble_info", instead of + INIT_DISASSEMBLE_INFO_NO_ARCH. + +2003-09-03 Michael Snyder <msnyder@redhat.com> + + * config/djgpp/fnchange.lst: Fix up sim/frv/profile-fr*.[ch]. + +2003-09-03 Andrew Cagney <cagney@redhat.com> + + * config/rs6000/tm-rs6000.h (IBM6000_TARGET): Delete definition. + * config/rs6000/nm-rs6000.h (DEPRECATED_IBM6000_TARGET): Define. + * symfile.c (syms_from_objfile): Update. + (reread_symbols): `Update + * exec.c (exec_file_attach): Update. + (exec_file_attach): Update. + * config/powerpc/tm-nbsd.h: Delete #undef IBM6000_TARGET, revert + 2003-08-29 change. + * config/powerpc/tm-linux.h: Delete #undef IBM6000_TARGET. + +2003-09-03 Daniel Jacobowitz <drow@mvista.com> + + * arm-tdep.c: Include frame-unwind.h, frame-base.h, and + trad-frame.h. + (arm_get_cache): Delete macro. + (struct arm_prologue_cache): Update comments. Make saved_regs into + a trad_frame_saved_reg pointer. Remove unwound_pc; rename unwound_sp + to prev_sp. + (thumb_scan_prologue): Update for cache changes. Don't call + DEPRECATED_PC_IN_CALL_DUMMY. + (arm_scan_prologue): Update for cache changes. Take NEXT_FRAME + argument and use it in desperation search for our prologue. Do not + search past the specified PC. + (arm_make_prologue_cache): Simplify. + + (arm_prologue_this_id, arm_prologue_prev_register) + (arm_prologue_unwind, arm_prologue_unwind_sniffer) + (arm_normal_frame_base, arm_normal_base, arm_make_sigtramp_cache) + (arm_sigtramp_this_id, arm_sigtramp_prev_register) + (arm_sigtramp_unwind, arm_sigtramp_unwind_sniffer) + (arm_unwind_dummy_id, arm_unwind_pc, arm_unwind_sp): New. + + (arm_frame_chain_valid, arm_find_callers_reg) + (arm_frame_saved_pc, arm_read_fp, arm_frame_init_saved_regs) + (arm_pop_frame): Delete obsolete methods. + (arm_minimal_frame_chain, arm_minimal_frame_info): Delete. + + (arm_gdbarch_init): Update for new frame methods. Register prologue + and sigtramp unwinders. Set the default frame base method. + + * Makefile.in (arm-tdep.o): Update dependencies. + * varobj.c (find_frame_addr_in_frame_chain): Call + get_frame_base_address. + * std-regs.c (value_of_builtin_frame_fp_reg): Likewise. + +2003-09-03 Daniel Jacobowitz <drow@mvista.com> + + * arm-tdep.c (arm_minimal_frame_chain): Renamed from + arm_frame_chain. Take NEXT_FRAME and CACHE arguments. + Use the cache instead of DEPRECATED_FRAME_SAVED_PC. + (arm_minimal_frame_info): Renamed from arm_init_extra_frame_info. + Take NEXT_FRAME and CACHE arguments. Call + FRAMELESS_FUNCTION_INVOCATION instead of checking FROMLEAF argument. + Set unwound_pc in CACHE instead of modifying the frame argument. + Don't bother checking the frame type when looking for sigtramp + frames. + (arm_make_prologue_cache, arm_frame_chain) + (arm_init_extra_frame_info): New functions. + +2003-09-03 Daniel Jacobowitz <drow@mvista.com> + + * arm-tdep.c (arm_get_cache): Define. + (struct arm_prologue_cache): Renamed from frame_extra_info. Add + unwound_sp, unwound_pc, and saved_regs. + (thumb_scan_prologue): Take a cache instead of the frame. + (arm_scan_prologue): Likewise. + (arm_frame_chain): Create a temporary cache for arm_scan_prologue + instead of a temporary frame. + (arm_init_extra_frame_info): Allocate and use a cache. + (arm_frame_saved_pc, arm_pop_frame): Use the cache. + +2003-09-03 Andrew Cagney <cagney@redhat.com> + + * config/arm/wince.mt (TM_CLIBS): Replace WIN32LIBS. + * config/mips/wince.mt (TM_CLIBS): Ditto. + * config/sh/wince.mt (TM_CLIBS): Ditto. + * config/pa/hppa64.mt (TM_CLIBS): Delete. + * config/sparc/sp64.mt (CC): Delete. + +2003-09-03 Andrew Cagney <cagney@redhat.com> + + * defs.h: Do not include "arch-utils.h". + (GDB_MULTI_ARCH): If not defined, set to GDB_MULTI_ARCH_PARTIAL or + GDB_MULTI_ARCH_PURE. + * configure.in (GDB_MULTI_ARCH): Do not define. + * configure, config.in: Regenerate. + * configure.tgt: Do not set variable "gdb_multi_arch". + * config/s390/s390x.mt (GDB_MULTI_ARCH): Delete. + * config/s390/s390.mt (GDB_MULTI_ARCH): Delete. + * config/i386/x86-64linux.mt (GDB_MULTI_ARCH): Delete. + * config/v850/v850.mt (TM_FILE): Delete disabled definition. + * config/m68hc11/m68hc11.mt (TM_FILE): Delete definition. + * config/vax/tm-vax.h (GDB_MULTI_ARCH): Delete definition. + * config/sparc/tm-sparc.h (GDB_MULTI_ARCH): Delete definition. + * config/sparc/tm-sun4sol2.h (GDB_MULTI_ARCH): Delete definition. + * config/sparc/tm-nbsd.h (GDB_MULTI_ARCH): Delete definition. + * config/sparc/tm-linux.h (GDB_MULTI_ARCH): Delete definition. + * config/sparc/tm-sp64.h (GDB_MULTI_ARCH): Delete definition. + * config/pa/tm-hppa64.h (GDB_MULTI_ARCH): Delete definition. + * config/ns32k/tm-ns32k.h (GDB_MULTI_ARCH): Delete definition. + * config/m68k/tm-m68k.h (GDB_MULTI_ARCH): Delete definition. + * config/i386/tm-i386.h (GDB_MULTI_ARCH): Delete definition. + * config/h8300/tm-h8300.h (GDB_MULTI_ARCH): Delete definition. + * config/frv/tm-frv.h (GDB_MULTI_ARCH): Delete definition. + * config/alpha/tm-alpha.h (GDB_MULTI_ARCH): Delete definition. + +2003-08-30 Michael Chastain <mec@shout.net> + + * Makefile.in: Remove tm-hp300bsd.h, tm-hp300hpux.h. + * config/m68k/nm-hp300hpux.h: Delete. + * config/m68k/tm-hp300hpux.h: Delete. + * config/m68k/xm-hp300hpux.h: Delete. + * config/m68k/xm-hp300bsd.h: Delete. + * config/djgpp/fnchange.lst: Remove nm-hp300hpux.h, + tm-hp300hpux.h, xm-hp300hpux.h. + * somsolib.c: Remove comment about hp300 shared libraries. + +2003-08-31 Mark Kettenis <kettenis@gnu.org> + + * i386-linux-nat.c (ps_get_thread_area): Don't define as extern. + Only define PTRACE_GET_THREAD_AREA is not already defined. + Various style fixes in code and comments and some additional + spelling fixes in comments. Move after functions dealing with + debug registers. + * x86-64-linux-nat.c (ps_get_thread_area): Don't define as extern. + Fix coding-style. + + * alphafbsd-tdep.c (alphafbsd_sigcontext_addr): Use + frame_unwind_register_unsigned instead of + frame_unwind_unsigned_register. + +2003-08-30 Mark Kettenis <kettenis@gnu.org> + + * configure.in: Search for gethostbyname in libnsl. + * configure: Regenerated. + +2003-08-29 Mark Kettenis <kettenis@gnu.org> + + * configure.in: Remove redundant AC_MSG_RESULT in check for + uintptr_t in stdint.h. + * configure: Regenerated. + + * amd64-nat.h (struct regcache): Add opaque declaration. + + * i386-linux-tdep.h (I386_LINUX_NUM_REGS): New define. + * x86-64-linux-nat.c: Include "i386-linux-tdep.h" and "amd64.h". + Change "register array" to "register cache" in comments. + (x86_64_linux_gregset64_reg_offset): New variable. + (GETREGS_SUPPLIES): Remove macro. + (supply_gregset): Call amd64_supply_native_gregset instead of + x86_64_linux_supply_gregset. + (fill_gregset): Rename `regno' to `regnum'. Call + amd64_collect_native_gregset instead of x86_64_linux_fill_gregset. + (store_regs): Rename `regno' to `regnum'. + (store_fpregs): Rename `regno' to `regnum'. + (fetch_inferior_registers): Rename `regno' to `regnum'. Use + amd64_native_gregset_supplies_p instead of GREGSET_SUPPLIES. + Reorganize function a bit. + (store_inferior_registers): Rename `regno' to `regnum'. Use + amd64_native_gregset_supplies_p instead of GREGSET_SUPPLIES. + Reorganize function a bit. + (_initialize_x86_64_linux_nat): New function. + * config/i386/x86-64linux.mh. + +2003-08-29 Andrew Cagney <cagney@redhat.com> + + * config/mips/tm-embed.h (STOPPED_BY_WATCHPOINT): Delete macro. + (TARGET_CAN_USE_HARDWARE_WATCHPOINT): Delete macro. + (target_remove_watchpoint): Delete macro. + (target_insert_watchpoint): Delete macro. + (remote_mips_can_use_hardware_watchpoint): Delete declaration. + (remote_mips_stopped_by_watchpoint): Delete declaration. + (remote_mips_remove_watchpoint): Delete declaration. + (remote_mips_set_watchpoint): Delete declaration. + (TARGET_HAS_HARDWARE_WATCHPOINTS): Delete macro. + * remote-mips.c (_initialize_remote_mips): Set + "to_insert_watchpoint", "to_stopped_by_watchpoint", + "to_can_use_hardware_watchpoint", and "to_remove_watchpoint". + (mips_insert_watchpoint): Rename remote_mips_set_watchpoint. + (mips_remove_watchpoint): Rename remote_mips_remove_watchpoint. + (mips_stopped_by_watchpoint): Rename + remote_mips_stopped_by_watchpoint. + (mips_can_hardware_watchpoint): Rename + remote_mips_can_use_hardware_watchpoint, update function + signature. + +2003-08-29 Mark Kettenis <kettenis@gnu.org> + + * x86-64-linux-tdep.c (user_to_gdb_regmap): Remove USER_CS and + USER_DS. We haven't given them a register number yet. + + * amd64-nat.h: New file. + * amd64-nat.c: New file. + * amd64fbsd-nat.c: Include "amd64-nat.h". + (REG_ADDR, GETREGS_SUPPLIES): Remove macros. + (amd64fbsd32_r_reg_offset): New variable. + (supply_gregset): Simply call amd64_supply_native_gregset. + (fill_gregset): Rename `regno' to `regnum'. Simply call + amd64_collect_native_gregset. + (fill_fpregset): Rename `regno' to `regnum'. + (fetch_inferior_registers): Rename `regno' to `regnum'. Replace + usage of GETREGS_SUPPLIES with amd64_native_gregset_supplies_p. + Use `struct reg' and `struct fpreg' instead of `gregset_t' and + `fpregset_t'. Call amd64_supply_native_gregset instead of + supply_gregset. Call x86_64_supply_fxsave instead of + supply_fpregset. + (store_inferior_registers): Rename `regno' to `regnum'. Replace + usage of GETREGS_SUPPLIES with amd64_native_gregset_supplies_p. + Use `struct reg' and `struct fpreg' instead of `gregset_t' and + `fpregset_t'. Call amd64_collect_native_gregset instead of + fill_gregset. Call x86_64_collect_fxsave instead of + fill_fpregset. + (_initialize_am64fbsd_nat): Initialize + amd64_native_gregset32_reg_offset and + amd64_native_gregset64_reg_offset. + * config/i386/fbsd64.mh (NATDEPFILES): Add amd64-nat.o. + + * regcache.c (regcache_raw_supply): Don't assert that BUF isn't a + null pointer. Fix typo in comment. + + * regcache.c (supply_register): Reimplement to call + regcache_raw_supply. + (regcache_collect): Reimplement by calling regcache_raw_collect. + +2003-08-28 Mark Kettenis <kettenis@gnu.org> + + * regcache.c (register_buffer): Consitify first argument. + (regcache_raw_supply, regcache_raw_collect): New + functions. + +2003-08-28 Daniel Jacobowitz <drow@mvista.com> + + * config/powerpc/tm-nbsd.h: Undefine IBM6000_TARGET. Suggested + by Nathan J. Williams. + +2003-08-28 Daniel Jacobowitz <drow@mvista.com> + + * lin-lwp.c (wait_lwp): New function, copied from + stop_wait_callback. Clean up. + (stop_wait_callback): Use wait_lwp. + +2003-08-28 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (gdb_print_insn_mips): Set the disassembler's + flavour and disassembler options. + (_initialize_mips_tdep): Do not set deprecated_tm_print_insn. + (mips_gdbarch_init): Set "print_insn". Delete initialization of + deprecated_tm_print_insn_info. + +2003-08-27 Andrew Cagney <cagney@redhat.com> + + * s390-tdep.c (s390_readinstruction): Delete "info" parameter. + Use target_read_memory. + (s390_get_frame_info): Update. Do not reference + deprecated_tm_print_insn_info. + (s390_check_function_end, s390_is_sigreturn): Ditto. + +2003-08-27 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (cris-tdep.o): Update dependencies. + * cris-tdep.c: Include "gdb_assert.h". + (cris_gdbarch_init): Set print_insn. + (_initialize_cris_tdep): Do not set deprecated_tm_print_insn. + (cris_delayed_get_disassembler): Simplify, directly call the + disassembler returned by cris_get_disassembler. + * hppa-tdep.c (hppa_gdbarch_init): Set print_insn. + (_initialize_hppa_tdep): Do not set deprecated_tm_print_insn. + * ns32k-tdep.c (ns32k_gdbarch_init): Set print_insn. + (_initialize_ns32k_tdep): Do not set deprecated_tm_print_insn. + * mn10300-tdep.c (mn10300_gdbarch_init): Set print_insn. + (_initialize_mn10300_tdep): Do not set deprecated_tm_print_insn. + * mcore-tdep.c (mcore_gdbarch_init): Set print_insn. + (_initialize_mcore_tdep): Do not set deprecated_tm_print_insn. + * frv-tdep.c (frv_gdbarch_init): Set print_insn. + (_initialize_frv_tdep): Do not set deprecated_tm_print_insn. + * sparc-tdep.c (sparc_gdbarch_init): Set print_insn. + (gdb_print_insn_sparc): Delete function. + (_initialize_sparc_tdep): Do not set deprecated_tm_print_insn or + deprecated_tm_print_insn_info. + * v850-tdep.c (v850_gdbarch_init): Set print_insn. + (_initialize_v850_tdep): Do not set deprecated_tm_print_insn. + (v850_gdbarch_init): Do not set deprecated_tm_print_insn_info. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Set print_insn. + (_initialize_xstormy16_tdep): Do not set deprecated_tm_print_insn. + * s390-tdep.c (gdb_print_insn_s390): Delete function. + (_initialize_s390_tdep): Do not set deprecated_tm_print_insn. + (s390_gdbarch_init): Set print_insn. + +2003-08-27 Andrew Cagney <cagney@redhat.com> + + * ppc-linux-tdep.c (ppc64_call_dummy_address): Delete function. + (ppc_linux_init_abi): For PPC64, do not set call_dummy_address. + * infcall.c (call_function_by_hand): Convert the entry point + address into a code address. + +2003-08-27 Andrew Cagney <cagney@redhat.com> + + * dsrec.c: Include "gdb_string.h". + * Makefile.in (dsrec.o): Update dependencies. + +2003-08-27 Michael Chastain <mec@shout.net> + + * config/djgpp/fnchange.lst: Add gdb/testsuite/gdb.mi/mi2-var-*. + +2003-08-27 Andrew Cagney <cagney@redhat.com> + + * alpha-osf1-tdep.c (alpha_call_dummy_address): Delete function. + (alpha_osf1_init_abi): Do not set call_dummy_address. + +2003-08-27 David Carlton <carlton@kealia.com> + + From Randolph Chung <tausq@debian.org>: + * linux-proc.c (linux_info_proc_cmd): rework the code so that it + compiles with -Wformat-nonliteral -Werror. + +2003-08-26 Jim Blandy <jimb@redhat.com> + + * solib-svr4.c (bfd_lookup_symbol): New SECT_FLAGS argument. + (enable_break): Pass SEC_CODE as the SECT_FLAGS argument to + bfd_lookup_symbol, since we only want symbols in code sections. + (look_for_base): Pass zero as the SECT_FLAGS argument to + bfd_lookup_symbol, since we're not concerned about which section + the symbol is in. + +2003-08-26 Jeff Johnston <jjohnstn@redhat.com> + + * ia64-tdep.c (examine_prologue): Only stop at predicated insns if + we are frameless or the return address register is already known. + +2003-08-26 Andrew Cagney <cagney@redhat.com> + + * i386-linux-nat.c (ps_get_thread_area): Make "desc" four "int"s + in size. Add comments. + +2003-08-26 Jeff Johnston <jjohnstn@redhat.com> + + * ia64-tdep.c (ia64_convert_from_func_addr): New function. + (ia64_gdbarch_init): Call set_gdbarch_convert_from_func_addr(). + +2003-08-26 Jason Merrill <jason@redhat.com> + + * dwarf2read.c (dwarf_attr_name): Move DW_AT_MIPS_linkage_name + case out of #ifdef MIPS block. + +2003-08-25 Daniel Jacobowitz <drow@mvista.com> + + PR java/1322 + * dwarf2-frame.c (dwarf2_frame_find_fde): Check whether any FDEs are + available before calling SECT_OFF_TEXT. + * PROBLEMS: Remove description of java/1322. + +2003-08-25 Jeff Johnston <jjohnstn@redhat.com> + + * ia64-tdep.c (pseudo_regs): New enum that lists gr32-gr127, p0-p63, + bof, and nat0-nat127 as pseudo-registers. + (ia64_frame_cache): New struct used to cache frame info. + (ia64_register_reggroup_p): New routine used to override default + register grouping so registers without names are still saved and + restored. + (ia64_dwarf_reg_to_regnum): New routine to map gr32-gr127 to their + pseudo values. + (ia64_pseudo_register_read): New routine to read pseudo-registers. + (ia64_pseudo_register_write): New routine to write pseudo-registers. + (ia64_alloc_frame_cache): New routine to create a new + ia64_frame_cache. + (examine_prologue): Change prototype to add next_frame pointer. + Assume frameless until otherwise proven. Verify that the cfm for + current frame matches the cfm that should occur for the prologues + alloc insn and if equal, mark as not frameless. At end of routine, + if not frameless, calculate registers for the previous frame and store + in the cache, if a cache is provided. + (ia64_skip_prologue): Use new prototype when calling examine_prologue + and pass 0 for next_frame. + (ia64_store_return_value): Change to use convert_typed_floating() + instead of calling ia64_convert_to_raw(). + (ia64_extract_return_value): Change to use convert_typed_floating() + instead of calling ia64_convert_to_virtual(). + (ia64_frame_cache): New routine to support new frame model. + (ia64_frame_this_id, ia64_frame_prev_register): Ditto. + (ia64_frame_sniffer): Ditto. + (ia64_sigtramp_frame_init_saved_regs): Ditto. + (ia64_sigtramp_frame_cache, ia64_sigtramp_frame_this_id): Ditto. + (ia64_sigtramp_frame_prev_register): Ditto. + (ia64_sigtramp_frame_sniffer): Ditto. + (ia64_frame_base_address): Ditto. + (ia64_extract_struct_value_address): Change to issue error message. + (ia64_frame_align): New routine to align sp. + (ia64_push_dummy_call): New routine based on ia64_push_arguments(). + (ia64_push_arguments): Removed. Logic moved to + ia64_push_dummy_call(). + (ia64_push_return_address): Ditto. + (ia64_unwind_dummy_id): New function. + (ia64_unwind_pc): Ditto. + (ia64_convert_register_p): Ditto. + (ia64_register_to_value): Ditto. + (ia64_value_to_register): Ditto. + (ia64_pop_frame, ia64_pop_frame_regular): Removed. + (ia64_register_byte, ia64_register_raw_size): Ditto. + (ia64_register_virtual_size, ia64_register_virtual_byte): Ditto. + (ia64_saved_pc_after_call): Ditto. + (ia64_frame_chain, ia64_frame_saved_pc): Ditto. + (ia64_frame_init_saved_regs, ia64_get_saved_register): Ditto. + (ia64_register_convertible, ia64_register_convert_to_virtual): Ditto. + (ia64_register_convert_to_raw): Ditto. + (ia64_store_struct_return, ia64_call_dummy_words): Ditto. + (ia64_init_extra_frame_info): Ditto. + (ia64_frame_args_address, ia64_frame_locals_address): Ditto. + (ia64_gdbarch_init): Remove registering of deprecated functions that + are no longer used. Add registration of new gdbarch functions. + Remove registering deprecated_write_sp. Replace + set_gdbarch_register_virtual_type() with set_gdbarch_register_type(). + Delete set_gdbarch_deprecated_register_convertible(), + set_gdbarch_deprecated_register_convert_to_virtual(), and + set_gdbarch_deprecated_register_convert_to_raw() calls. Remove + set_gdbarch_deprecated_register_size(), + set_gdbarch_deprecated_register_bytes(), + set_gdbarch_pcregnum(), + set_gdbarch_deprecated_register_byte(), + set_gdbarch_deprecated_register_raw_size(), + set_gdbarch_deprecated_max_register_raw_size(), + set_gdbarch_deprecated_register_virtual_size(), + and set_gdbarch_deprecated_max_register_virtual_size() calls. + Replace set_gdbarch_deprecated_extract_return_value() with + set_gdbarch_extract_return_value(). Remove calls to: + set_gdbarch_deprecated_saved_pc_after_call(); + set_gdbarch_deprecated_frame_chain(), + set_gdbarch_deprecated_frame_saved_pc(), + set_gdbarch_deprecated_frame_init_saved_regs(), + set_gdbarch_deprecated_get_saved_register(), + set_gdbarch_deprecated_call_dummy_words(), + set_gdbarch_deprecated_sizeof_call_dummy_words(), + set_gdbarch_deprecated_init_extra_frame_info(), + set_gdbarch_deprecated_frame_args_address(), + set_gdbarch_deprecated_frame_locals_address(), + and set_gdbarch_deprecated_dummy_write_sp(). + Add set_gdbarch_convert_register_p(), + set_gdbarch_register_to_value(), + set_gdbarch_value_to_register(), + set_gdbarch_push_dummy_call(), + set_gdbarch_frame_align(), + set_gdbarch_unwind_dummy_id(), + set_gdbarch_unwind_pc(), + frame_unwind_append_sniffer(), + frame_unwind_append_sniffer(), + and frame_base_set_default(). + +2003-08-25 Chris Demetriou <cgd@broadcom.com> + + * configure.tgt: Document need for special "mipsisa64" handling. + (mipsisa64*-*-linux64): Handle as target linux64. + (mipsisa64*-*-*): Handle as target embed64. + +2003-08-18 Michael Chastain <mec@shout.net> + + * PROBLEMS: Document pr gdb/1322, the Java anonymous + objfile bug. + +2003-08-24 Mark Kettenis <kettenis@gnu.org> + + * i387-tdep.h: Update copyright date. + (I387_SIZEOF_FSAVE, I387_SIZEOF_FXSAVE): New defines. + + * linux-proc.c (linux_proc_xfer_memory): Remove comment about + CFLAGS games to reflect reality. + +2003-08-24 Andrew Cagney <cagney@redhat.com> + + * arm-tdep.c (_initialize_arm_tdep): Simplify by assuming + GDB_MULTI_ARCH is always non-zero. + * osabi.c (_initialize_gdb_osabi): Ditto. + (gdbarch_init_osabi): Ditto. + * sparc-tdep.c: Ditto for #if code. + +2003-08-23 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.c (x86_64_supply_fxsave): Add `regnum' argument. + Update comments. + * x86-64-tdep.h (x86_64_supply_fxsave): Adjust prototype. Update + comments. + * x86-64-linux-tdep.c (fetch_core_registers): Adjust call to + x86_64_supply_fxsave. + * x86-64-linux-nat.c (supply_fpregset): Adjust call to + x86_64_supply_fxsave. + * amd64fbsd-nat.c (supply_fpregset): Adjust call to + x86_64_supply_fxsave. + +2003-08-23 Andreas Jaeger <aj@suse.de> + + * x86-64-tdep.c (x86_64_supply_fxsave): Adjust call to + i387_supply_fxsave. + +2003-08-23 Mark Kettenis <kettenis@gnu.org> + + * go32-nat.c (fetch_register): Call i387_supply_fsave instead of + i387_supply_register. + (go32_fetch_registers): Adjust call to i387_supply_fsave. + * i386nbsd-tdep.c (fetch_core_registers): Adjust call to + i387_supply_fsave. + (fetch_elfcore_registers): Adjust call to i387_supply_fsave and + i387_supply_fxsave. + * i386obsd-tdep.c (fetch_core_registers): Adjust call to + i387_supply_fsave. + * i386bsd-nat.c (supply_fpregset): Adjust call to + i387_supply_fsave. + (fetch_inferior_registers): Remove extraneous whitespace. Adjust + call to i387_supply_fxsave. Call i387_supply_fsave instead of + supply_fpregset. + (store_inferior_registers): Remove extraneous whitespace. Call + i387_fill_fsave instead of fill_fpregset. + * i386gnu-nat.c (fetch_fpregs): Adjust call to i387_supply_fsave. + (supply_fpregset): Likewise. + * i386v4-nat.c (supply_fpregset): Adjust call to + i387_supply_fsave. + * i386-interix-nat.c (supply_fpregset): Adjust call to + i387_supply_fsave. + * i386-linux-nat.c (supply_fpregset): Adjust call to + i387_supply_fsave. + (supply_fpxregset): Adjust call to i387_adjust_fxsave. + * i386-nto-tdep.c (i386nto_supply_fpregset): Adjust calls to + i387supply_fsave and i387_supply_fxsave. + * i387-tdep.c (i387_supply_fsave): Add `regnum' argument. + Incorporate code from `i387_supply_register. + (i387_supply_register): Remove. + (i387_supply_fxsave): Add `regnum' argument. + Update comments. + * i387-tdep.h (i387_supply_fsave, i387_supply_fsxave): Adjust + prototype. + (i387_supply_register): remove prototype. + Update comments. + +2003-08-22 Michael Chastain <mec@shout.net> + + * config/djgpp/fnchange.lst: Remove gdb/testsuite/gdb.c++/*. + Add lines for files in gdb/testsuite/gdb.cp/* that are + still not 8.3 unique. + +2003-08-22 Daniel Jacobowitz <drow@mvista.com> + + * gnu-v3-abi.c (gnuv3_baseclass_offset): Check whether + TYPE_VPTR_FIELDNO is valid. + +2003-08-19 Mark Kettenis <kettenis@gnu.org> + + * utils.c (set_width_command): Remove prototypes. + (set_screen_size): New prototype. + (init_page_info): Simplify by fetching the screen size from + Readline. Call set_screen_size. + (set_screen_size): New function. + (set_width): Add missing whitespace in comment. + (set_width_command): Call set_screen_size. + (set_height_command): New function. + (initialize_utils): Fix formatting. Make "set height" command + call set_height_command. Remove redundant code that turns off + pagination if output isn't a terminal. Remove redundant call to + set_width_command. + +2003-08-22 Mark Kettenis <kettenis@gnu.org> + + * sparc64-tdep.h (sparc64_regnum): Fix comment. + (sparc64_supply_rwindow, sparc64_fill_rwindow): Remove prototypes. + (sparc_supply_rwindow, sparc_fill_rwindow): New prototypes. + * sparc64-tdep.c (sparc64_pseudo_register_read): Add missing + `case' keyword. + (sparc64_register_info): Give the reister with number + SPARC64_STATE_REGNUM a name. + (sparc64_pseudo_register_write): Add support for %cwp, %pstate, + %asi and %ccr. + (sparc64_push_dummy_call): Take BIAS into account when checking + stcak alignment. + (sparc_software_single_step): Remove assertions that check whether + NPC and NNPC were zero. + (sparc_supply_rwindow): Make public. Merge functionality with + sparc64_supply_rwindow. + (sparc_fill_rwindow): Make public. Merge functionality with + sparc64_fill_rwindow. + (sparc64_supply_rwindow, sparc64_fill_rwindow): Remove. + * sparc64fbsd-nat.c (_initialize_sparc64fbsd_nat): Set + SPARCBSD_FPREG_SUPPLIES_P to sparc64fbsd_fpreg_supplies_p. + * sparc64fbsd-tdep.c (sparc64fbsd_supply_reg): Call + sparc_supply_rwindow instead of sparc64_supply_rwindow. + + * reggroups.c: Add whitespace after declarations of local + variables in functions. + +2003-08-21 Michael Chastain <mec@shout.net> + + * gdbtypes.h: Change array bound type from an int to enum. + +2003-08-21 Andrew Cagney <cagney@redhat.com> + + * config/sparc/tm-sp64.h: Delete #if !GDB_MULTI_ARCH and #if 0 code. + * config/sparc/tm-sparc.h: Ditto. + * config/arm/tm-arm.h (GDB_MULTI_ARCH): Define GDB_MULTI_ARCH + unconditionally. + * config/pa/tm-hppa.h (GDB_MULTI_ARCH): Ditto. + +2003-07-13 Mark Kettenis <kettenis@gnu.org> + + * objfiles.h (struct objfile): Add memebers `data' and `num_data'. + (register_objfile_data, set_objfile_data, objfile_data): New + prototypes. + * objfiles.c (objfile_alloc_data, objfile_free_data): New + prototypes. + (allocate_objfile): Call objfile_alloc_data. + (free_objfile): Call objfile_free_data. + (struct objfile_data): New. + (struct objfile_data_registration): New. + (struct objfile_data_registry): New. + (objfile_data_registry): New variable. + (register_objfile_data): New function. + (objfile_alloc_data, objfile_free_data): New functions. + (set_objfile_data, objfile_data): New functions. + * dwarf2-frame.c (dwarf2_frame_data): New variable. + (dwarf2_frame_find_fde, add_fde): Use new per-objfile data mechanism. + (_initialize_dwarf2_frame): New function and prototype. + +2003-08-21 Andrew Cagney <cagney@redhat.com> + + * sh3-rom.c (sh3_open, sh3e_open): Use gdbarch_update_p to select + a specific architecture. + * arch-utils.h (set_architecture_from_arch_mach): Delete + declaration. + (target_architecture_hook): Delete declaration. + * arch-utils.c: Delete non GDB_MULTI_ARCH includes. + (default_float_format): Assume GDB_MULTI_ARCH. + (default_double_format): Assume GDB_MULTI_ARCH. + (set_endian_from_file): Delete function. + (arch_ok): Delete function. + (set_arch): Delete function. + (set_architecture_from_arch_mach): Delete function. + (set_architecture_from_file): Delete function. + (set_architecture): Assume GDB_MULTI_ARCH. + (set_gdbarch_from_file): Assume GDB_MULTI_ARCH. + +2003-08-21 Mark Kettenis <kettenis@gnu.org> + + Rewrite FreeBSD/sparc64 native configuration. + * sparcbsd-nat.c, sparcbsd-nat.h: New files. + * sparc64fbsd-nat.c: New file. + * sparc64fbsd-tdep.c: New file. + * sparc64-tdep.c sparc64-tdep.h: New files. + * Makefile.in (sparcbsd-nat.o, sparc64fbsd-nat.o, sparc64-tdep.o, + sparc64fbsd-tdep.o): New dependencies. + (SFILES): Add sparcbsd-nat.c, sparc64fbsd-nat.c, sparc64-tdep.c + and sparc64fbsd-tdep.c. + (sparc64_tdep_h, sparcbsd_nat_h): New variables. + * config/sparc/fbsd.mh: Remove copyright notice. + (NATDEPFILES): Remove sparc-nat.o, add sparc64fbsd-nat.o and + sparcbsd-nat.o. + * config/sparc/fbsd.mt: Remove copyright notice. + (TDEPFILES): Remove sparc-tdep.o, solib.o solib-svr4.o, + solib-legacy.o. Add sparc64-tdep.o and sparc64fbsd-tdep.o. + * config/sparc/nm-fbsd.h: Don't include "elf/common.h". + (SVR4_SHARED_LIBS, PTRACE_GETREGS, PTRACE_SETREGS, + PTRACE_GETFPREGS, PTRACE_SETFPREGS, GDB_GREGSET_T, GDB_FPREGSET_T, + regs, r_g1, r_ps, r_pc, r_npc, r_y, FPU_FSR_TYPE, fp_status, fpu, + fpu_regs, fp_fr, fpu_fsr, Fpu_fsr): Remove defines. + * config/sparc/tm-fbsd.h: Don't include "solib.h" and + "sparc/tm-sp64.h". + (SVR4_SHARED_LIBS, START_INFERIOR_TRAPS_EXPECTED): Remove defines. + (GDB_MULTI_ARCH): Define to GDB_MULTI_ARCH_TM. + +2003-08-21 Michael Chastain <mec@shout.net> + + * symtab.h: Add doco on the space critical structures and + some measurements of space usage. + +2003-08-21 Michael Snyder <msnyder@redhat.com> + + * tracepoint.c (trace_dump_command): Trace break address + is subject to DECR_PC_AFTER_BREAK. + (set_traceframe_context): Make "trace_line" an int. + Fixes suggested by Mark Newman <mark.newman@lmco.com> + +2003-08-20 Michael Snyder <msnyder@redhat.com> + + * sh-tdep.h (struct gdbarch_tdep): New member FLOAT_ARGLAST_REG. + * sh-tdep.c (sh_gdbarch_init): For sh2e, sh3e, and sh4, set + FLOAT_ARG0_REGNUM and FLOAT_ARGLAST_REGNUM, to be used for + argument passing. + (sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu): New + functions, replace sh_push_dummy_call. + (sh_gdbarch_init): Set push_dummy_call to one of new methods. + +2003-08-20 Michael Chastain <mec@shout.net> + + * gdbtypes.h (struct main_type): Rearrange to save space. + +2003-08-20 Michael Snyder <msnyder@redhat.com> + + * trad-frame.c: Comment typo fix. + +2003-08-20 Michael Snyder <msnyder@redhat.com> + Kevin Buettner <kevinb@redhat.com> + + * frv-tdep.c (gdb_string.h, frame.h, trad-frame.h): Include. + (frv_frame_init_saved_regs): Add declaration. + (frame_extra_info): Add new field ``saved_regs''. + (frv_frame_chain, frv_frame_saved_pc, frv_analyze_prologue) + (frv_skip_prologue, frv_init_extra_frame_info, frv_pop_frame_regular): + Update frame related code. + (frv_extract_struct_value_address): Adjust formatting. + * Makefile.in (frv-tdep.o): Update dependencies. + * config/frv/tm-frv.h (target_insert_watchpoint) + (target_remove_watchpoint, target_insert_hw_breakpoint) + (target_remove_hw_breakpoint): Delete these macros. + (remote_insert_watchpoint, remote_remove_watchpoint) + (remote_insert_hw_watchpoint, remote_remove_hw_watchpoint): Remove + these declarations. + +2003-08-20 Michael Chastain <mec@shout.net> + + * defs.h (ENUM_BITFIELD): New macro. + * symtab.h (ENUM_BITFIELD): Use it. + (BYTE_BITFIELD): Remove old macro, which was already disabled. + +2003-08-19 Shrinivas Atre <shrinivasa@kpitcummins.com> + + * MAINTAINERS (write after approval): Add myself. + +2003-08-18 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (FRAME_RED_ZONE_SIZE): New architecture method. + * gdbarch.h, gdbarch.c: Re-generate. + * infcall.c (call_function_by_hand): Adjust the SP by + frame_red_zone_size before allocating any stack space. + * rs6000-tdep.c (rs6000_gdbarch_init): Set "frame_red_zone_size". + * x86-64-tdep.c (x86_64_frame_align): New function. + (x86_64_init_abi): Set "frame_red_zone_size" and "frame_align". + + * x86-64-tdep.c (x86_64_push_arguments): Revert 2003-08-07 change. + Remove code adjusting SP so that it skips over the Red Zone. + +2003-08-18 Mark Kettenis <kettenis@gnu.org> + + * NEWS (New native configurations): Mention FreeBSD/amd64. + +2003-08-18 Andrew Cagney <cagney@redhat.com> + + * m68hc11-tdep.c (m68hc11_gdbarch_init): Do not set + "dwarf2_build_frame_info". Append "m68k_frame_sniffer" instead of + "m68k_frame_p". + (m68hc11_frame_sniffer): Replace "m68hc11_frame_p". + +2003-08-18 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.c (x86_64_dwarf_regmap): Remove trailing whitespace. + +2003-08-18 Michal Ludvig <mludvig@suse.cz> + + * config/i386/nm-x86-64linux.h (LINUX_CHILD_POST_STARTUP_INFERIOR): + Define. + * i386-linux-nat.c: Include "linux-nat.h". + (child_post_startup_inferior): New function. + +2003-08-18 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.c (i386_analyze_register_saves): Handle register saves + at the start of a frameless function. This probably fixes PR + backtrace/1338. + +2003-08-17 Michael Chastain <mec@shout.net> + + * symfile.c (find_sym_fns): Remove special case for apollo target. + +2003-08-17 Daniel Jacobowitz <drow@mvista.com> + + * linux-nat.c (PTRACE_O_TRACEVFORKDONE, PTRACE_O_TRACEEXIT): Define. + (PTRACE_EVENT_VFORKDONE, PTRACE_EVENT_EXIT): Define. + (linux_parent_pid, linux_supports_tracevforkdone_flag): New variable. + (linux_test_for_tracefork): Set linux_supports_tracevforkdone_flag. + (linux_supports_tracevforkdone): New function. + (linux_enable_event_reporting): Enable TRACEVFORK, TRACEEXEC, and + TRACEVFORKDONE. + (child_follow_fork): Handle vfork. + (linux_handle_extended_wait): Likewise. Also handle exec. + (child_insert_vfork_catchpoint, child_insert_exec_catchpoint): Enable. + * NEWS: Mention fork tracing. + +2003-08-17 Daniel Jacobowitz <drow@mvista.com> + + * lin-lwp.c (child_wait): Call linux_record_stopped_pid. + +2003-08-17 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in (i386-linux-nat.o): Update dependencies. + * config/i386/nm-linux.h (LINUX_CHILD_POST_STARTUP_INFERIOR): Define. + * config/nm-linux.h (CHILD_POST_STARTUP_INFERIOR, CHILD_POST_ATTACH) + (CHILD_FOLLOW_FORK, KILL_INFERIOR): Define. + * i386-linux-nat.c: Include "linux-nat.h". + (child_post_startup_inferior): New function. + * i386-nat.c (child_post_startup_inferior): Wrap in #ifdef. + * infptrace.c (kill_inferior): Wrap in #ifdef. + * lin-lwp.c (lin_lwp_attach_lwp): Call child_post_attach after + attaching to each LWP. + (child_wait, lin_lwp_wait): Call linux_handle_extended_wait. + (init_lin_lwp_ops): Fill in some more operations. + * linux-nat.h (linux_enable_event_reporting) + (linux_handle_extended_wait, linux_child_post_startup_inferior): New + prototypes. + * linux-nat.c (linux_enable_event_reporting): New function. + (child_post_attach, linux_child_post_startup_inferior) + (child_post_startup_inferior, child_follow_fork) + (linux_handle_extended_wait, kill_inferior): New functions. + +2003-08-16 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh: Delete all #if not GDB_MULTI_ARCH code. + * gdbarch.h, gdbarch.c: Re-generate. + +2003-08-16 Mark Kettenis <kettenis@gnu.org> + + * config/alpha/nm-fbsd.h (SVR4_SHARED_LIBS): Remove define. + +2003-08-16 Andrew Cagney <cagney@redhat.com> + + * NEWS: Mention that "set prompt-escape-char" was deleted. + * top.c (get_prompt_1): Delete function. + (gdb_prompt_escape): + (init_main): Do not clear "gdb_prompt_escape". Delete "set + prompt-escape-char" command. + (MAX_PROMPT_SIZE): Delete macro. + (get_prompt): Simplify, do not call get_prompt_1. + +2003-08-16 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (printcmd.o, valprint.o): Do not try to build with + -Werror. -Wformat-nonliteral problems. + +2003-08-15 J. Brobecker <brobecker@gnat.com> + + Further multiarching work mostly for hppa64-*-hpux11: + * hppa-tdep.h: New file. + * hppa-tdep.c: #include hppa-tdep.c. + (hppa32_num_regs): Renamed from hppa_num_regs. + (hppa64_num_regs): New constant. + (hppa64_call_dummy_breakpoint_offset): New constant. + (hppa32_call_dummy_length): New constant. + (hppa64_call_dummy_length): New constant. + (hppa32_stack_align): Make name 32bit explicit. + (hppa32_register_virtual_type): Likewise. + (hppa32_extract_return_value): Likewise. + (hppa32_use_struct_convention): Likewise. + (hppa32_store_return_value): Likewise. + (hppa64_register_virtual_type): New function. + (hppa64_extract_return_value): New function. + (hppa64_use_struct_convention): New function. + (hppa64_store_return_value): New function. + (hppa_frame_locals_address): Remove declaration, function does + not exist anymore. + (hppa_register_byte): Add support for PA64 ABI. + (hppa_gdbarch_init): Add support for PA64 ABI. + * hppa-hpux-tdep.c (hppa32_hpux_frame_saved_pc_in_sigtramp): + Make name 32bit explicit. + (hppa32_hpux_frame_base_before_sigtramp): Likewise. + (hppa32_hpux_frame_find_saved_regs_in_sigtramp): Likewise. + (hppa64_hpux_frame_saved_pc_in_sigtramp): New function. + (hppa64_hpux_frame_base_before_sigtramp): New function. + (hppa64_hpux_frame_find_saved_regs_in_sigtramp): New function. + * config/pa/tm-hppa64.h: Remove macros that are no longer + necessary now that the gdbarch vector is properly setup. + Transform some macros into function calls. Some minor cleanup. + * config/pa/tm-hppah.h: Update function calls in macros + following the function renaming in hppa-hpux-tdep.c. + * Makefile.in (hppa_tdep_h): New variable. + (hppa-tdep.o): Add dependency over hppa_tdep_h. + +2003-08-14 Michael Snyder <msnyder@redhat.com> + + * disasm.c (gdb_disassemble_info): Set info->insn_sets to zero. + +2003-08-13 J. Brobecker <brobecker@gnat.com> + + * hppa-hpux-tdep.c (_initialize_hppa_hpux_tdep): Use the correct + bfd arch_info when registering the GDB_OSABI_HPUX_ELF initialization + routine. + +2003-08-13 Michael Snyder <msnyder@redhat.com> + + * frv-tdep.c (frv_push_arguments): Use deprecated ftype. + (frv_saved_pc_after_call): Use deprecated ftype. + (stupid_useless_init_extra_frame_info): Remove orphan prototype. + (frv_remote_translate_xfer_address): Remove. + (frv_gdbarch_init): Use generic_remote_translate_xfer_address. + +2003-08-13 J. Brobecker <brobecker@gnat.com> + + * hppa-tdep.c (hppa_gdbarch_init): Perform the ABI-specific gdbarch + initialization after the common gdbarch initialization, not before. + +2003-08-13 J. Brobecker <brobecker@gnat.com> + + * config/pa/tm-hppa64.h (HPUX_1100): Remove, not used. + (ADDR_BITS_REMOVE): Remove, redundant. + +2003-08-13 J. Brobecker <brobecker@gnat.com> + + * hppa-tdep.c (hppa_gdbarch_init): Set the addr_bits_remove + gdbarch method to clear the 2 low bits of text addresses. + +2003-08-12 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (dsrec.o): Update dependencies. + * dsrec.c: Include "gdb_assert.h". + (make_srec): Use snprintf instead of sprintf, use a literal format + string. + +2003-08-12 Andrew Cagney <cagney@redhat.com> + + * frame.c (deprecated_frame_xmalloc): Use XMALLOC, instead of + FRAME_OBSTACK_ZALLOC. + +2003-08-12 Kevin Buettner <kevinb@redhat.com> + + * i386-tdep.c (i386_gdbarch_init): Enable default support for + SSE registers. + +2003-08-10 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.h (amd64fbsd_sigtramp_start, amd64fbsd_sigtramp_end, + amd64fbsd_sc_reg_offset): Add extern declarations. + * amd64fbsd-nat.c (_initialize_am64fbsd_nat): Remove extern + declarations. + +2003-08-11 Ben Elliston <bje@wasabisystems.com> + + * MAINTAINERS (write after approval): Update my mail address. + +2003-08-10 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (monitor.o): Do not build monitor.c with -Werror. + +2003-08-10 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.h (i386fbsd_sigtramp_start, i386fbsd_sigtramp_end, + i386obsd_sigtramp_start, i386obsd_sigtramp_end, + i386fbsd4_sc_reg_offset, i386fbsd_sc_reg_offset, + i386nbsd_sc_reg_offset, i386obsd_sc_reg_offset, + i386bsd_sc_reg_offset): Add extern declarations. + * i386obsd-nat.c: Include "i386-tdep.h" + (_initialize_i386obsd_nat): Remove extern declarations. + * i386fbsd-nat.c (_initialize_i386fbsd_nat): Remove extern + declarations. + * i386bsd-nat.c (_initialize_i386bsd_nat): Remove extern + declarations. + + * i386-tdep.c (i386_register_to_value): Use get_frame_register + instead of frame_read_register. + (i386_fetch_pointer_argument): Use get_frame_register_unsigned + instead of frame_read_register. Use I386_ESP_REGNUM instead of + SP_REGNUM. + (i386_frame_prev_register): Use frame_unwind_register_unsigned + instead of frame_unwind_unsigned_register. Use + I386_EFLAGS_REGISTER instead of PS_REGNUM. + (i386_get_longjmp_target): Use regcache_read_unsigned_register + instead of read_register. Use builtin_type_void_data_ptr instead + of builtin_type_void_func_ptr when extracting the address of the + jmp_buf. + (i386_extract_return_value, i386_store_return_value, + i386_pseudo_register_read, i386_pseudo_register_write): Use + register_size instead REGISTER_RAW_SIZE. + +2003-08-10 Andrew Cagney <cagney@redhat.com> + + * infcall.c (call_function_by_hand): Use xstrprintf instead of + sprintf. Make "name" constant. + +2003-08-10 Mark Kettenis <kettenis@gnu.org> + + * i387-tdep.c (i387_register_to_value): Use get_frame_register + instead of frame_read_register. + (i387_print_float_info): Use get_frame_register and + get_frame_register_unsigned instead of frame_register_read. + + * i386fbsd-nat.c: Include "i386-tdep.h". + (child_resume): Make `eflags' an ULONGEST. Use + regcache_cooked_read_unsigned and regcache_cooked_write_unsigned + instead of register_read and register_write. + + * i386bsd-nat.c (fetch_inferior_registers, + store_inferior_registers): Don't use && at the end of a line. + (_initialize_i386bsd_nat): Fix typo. + + * frame.c (_initialize_frame): Add missing backslash. + + From Peter Schauer (Peter.Schauer@regent.e-technik.tu-muenchen.de): + * sol-thread.c (sol_thread_store_registers): Use regcache_collect + and supply_register instead of manipulating the register buffer + directly. + + From Peter Schauer (Peter.Schauer@regent.e-technik.tu-muenchen.de): + * config/i386/nm-i386sol2.h + (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Define to one. + + Based on a patch from Michael Elizabeth Chastain (mec@shout.net): + * i386-tdep.c (i386_analyze_frame_setup): Recognize more + instructions that GCC likes to mingle into the prologue. Fixes + gdb/1253 and gdb/1255. + +2003-08-09 Andrew Cagney <cagney@redhat.com> + + Fix GDB PR cli/926. + * cli/cli-decode.c (add_setshow_uinteger_cmd): New function. + * command.h (add_setshow_uinteger_cmd): Declare. + * frame.c (set_backtrace_cmd): New function. + (show_backtrace_cmd): New function. + * frame.c (_initialize_frame): Replace "set/show + backtrace-below-main" with "set/show backtrace past-main". Add + command "set/show backtrace limit". + (backtrace_past_main): Rename "backtrace_below_main". + (backtrace_limit): New variable. + (get_prev_frame): Update. Check the backtrace_limit. + +2003-08-09 Andrew Cagney <cagney@redhat.com> + + * defs.h (xstrprintf): Declare. + * utils.c (xstrprintf): New function. + * breakpoint.c (insert_breakpoints): Replace sprintf and + non-literal format strings, with xstrprintf and cleanups. + (delete_breakpoint,breakpoint_re_set): Ditto. + (commands_command, insert_breakpoints): Ditto. + (bpstat_stop_status, break_at_finish_at_depth_command_1): Ditto. + (break_at_finish_command_1): Ditto. + +2003-08-09 Andrew Cagney <cagney@redhat.com> + + * MAINTAINERS (language support): List Adam Fedor as Objective C + maintainer. + +2003-08-08 J. Brobecker <brobecker@gnat.com> + + * NEWS (Multi-arched targets): Document that all hppa-hpux targets + are now multiarched. + +2003-08-08 J. Brobecker <brobecker@gnat.com> + + * config/pa/tm-hppa64.h: Remove lots of macros that are no + longer necessary now that hppa64 is partially multiarch'ed. + +2003-08-08 Andrew Cagney <cagney@redhat.com> + + * interps.c (interp_set): Check for a NULL "old_interp". + +2003-08-08 H.J. Lu <hongjiu.lu@intel.com> + + * Makefile.in (FLAGS_TO_PASS): Add DESTDIR. + (install-only): Support DESTDIR. + (uninstall): Likewise. + (install-gdbtk): Likewise. + +2003-08-08 Elena Zannoni <ezannoni@redhat.com> + + * symtab.c (lookup_symbol_aux): Make sure that is_a_field_of_this + contains something meaningful at all times. + +Fri Aug 8 00:28:46 UTC 2003 Brendan Conoboy <blc@redhat.com> + + * configure.host: Set gdb_host_cpu=arm when host_cpu=xscale. + +Fri Aug 8 00:28:38 UTC 2003 Brendan Conoboy <blc@redhat.com> + + * MAINTAINERS (write after approval): Added self. + +2003-08-07 Andrew Cagney <cagney@redhat.com> + + * inferior.h (AT_SYMBOL): Define. + * blockframe.c (inside_entry_file): Check for AT_SYMBOL. + * infcall.c (call_function_by_hand): Add code to handle AT_SYMBOL. + * mips-tdep.c (mips_call_dummy_address): Delete function. + (mips_gdbarch_init): Set call_dummy_location to AT_SYMBOL, do not + set call_dummy_address. + +2003-08-07 Andrew Cagney <cagney@redhat.com> + + * language.c (op_error): Delete function. + (binop_type_check): Delete function. + * language.h (type_op_error, range_op_error): Delete macros. + (op_error): Delete declaration. + +2003-08-07 Andrew Cagney <cagney@redhat.com> + + * interps.h (INTERP_MI2, INTERP_MI3): Define. + +2003-08-07 Michal Ludvig <mludvig@suse.cz> + + * x86-64-tdep.c (x86_64_dwarf_regmap): Correct register numbers. + (x86_64_push_arguments): Skip the red zone. + +2003-08-05 Andrew Cagney <cagney@redhat.com> + + * reggroups.c (reggroup_next): Check for the final entry. + +2003-08-04 Andrew Cagney <cagney@redhat.com> + + * monitor.h (monitor_dump_reg_block): Remove ATTR_FORMAT. + * cli/cli-script.c (define_command): Call query directly, instead + of passing it a buffer. + * ocd.c (ocd_error): Pass error a constant format string. + * remote-mips.c (mips_error): Use fputs_filtered. + + * solib-svr4.c (_initialize_svr4_solib): Update + register_gdbarch_data call. + * mips-linux-tdep.c (_initialize_mips_linux_tdep): Ditto. + + * gdbarch.sh (gdbarch_data_free_ftype): Delete declaration. + (register_gdbarch_data): Delete "free" parameter. Update + comments. + * gdbarch.h, gdbarch.c: Re-generate. + * reggroups.c (_initialize_reggroup): Update. + * gnu-v3-abi.c (init_gnuv3_ops): Update. + * frame-base.c (_initialize_frame_base): Update. + * frame-unwind.c (_initialize_frame_unwind): Update. + * user-regs.c (_initialize_user_regs): Update. + * remote.c (_initialize_remote): Update. + * regcache.c (_initialize_regcache): Update. + + * regcache.c (xfree_regcache_descr): Delete function. + (_initialize_regcache): Update call to register_gdbarch_data. + (init_regcache_descr, init_legacy_regcache_descr): Use + GDBARCH_OBSTACK_XALLOC and GDBARCH_OBSTACK_CALLOC. + + * remote.c (free_remote_state): Delete function. + (_initialize_remote): Update register_gdbarch_data. + (init_remote_state): Use GDBARCH_OBSTACK_XALLOC and + GDBARCH_OBSTACK_CALLOC instead of xmalloc / xcalloc. + +2003-08-04 Andrew Cagney <cagney@redhat.com> + + * reggroups.c (struct reggroup_el): Define. + (struct reggroups): Delete field "nr_group". Replace array + "group" with a "first" to "last" linked list. + (reggroups_init): Update. Allocate using gdbarch's obstack. + (reggroups_free): Delete function. + (add_group): Update. Add "el" parameter. + (reggroup_add): Pass gdbarch obstack allocated space to add_group. + (default_groups): Update. + (reggroup_next): Replace reggroups. + (reggroups_dump): Update. + (_initialize_reggroup): Pass XMALLOC allocated space to add_group. + * regcache.c (regcache_dump): Use reggroup_next instead of reggroups. + * infcmd.c (registers_info): Use reggroup_next instead of reggroups. + +2003-08-04 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in (tui-interp.o): Update dependencies. + +2003-08-04 David Carlton <carlton@kealia.com> + + * charset.c (cached_iconv_convert): Add __FILE__ and __LINE__ args + to internal_error call. + * source.c (forward_search_command): Add "%s" format argument. + (reverse_search_command): Ditto. + * top.c (quit_confirm): Ditto. + * cli/cli-setshow.c (do_setshow_command): Ditto. + * cp-valprint.c (cp_print_class_method): Replace + {f,}printf_{un,}filtered by {f,}puts_{un,}filtered. + (cp_print_class_member): Ditto. + * event-top.c (command_line_handler): Ditto. + * linux-proc.c (linux_info_proc_cmd): Ditto. + * p-typeprint.c (pascal_type_print_base): Ditto. + * p-valprint.c (pascal_object_print_class_method): Ditto. + (pascal_object_print_class_member): Ditto. + * printcmd.c (print_scalar_formatted,printf_command): Ditto. + * remote.c (remote_cisco_section_offsets): Ditto. + * top.c (command_line_input): Ditto. + * utils.c (vwarning,error_stream,quit): Ditto. + * valprint.c (print_floating,print_binary_chars) + (print_octal_chars,print_decimal_chars,print_hex_chars): Ditto. + +2003-08-04 Andrew Cagney <cagney@redhat.com> + + * frame.c (frame_func_unwind): Use frame_unwind_address_in_block. + +2003-08-02 Andrew Cagney <cagney@redhat.com> + + * config/djgpp/fnchange.lst: Fix up testsuite/gdb.c++/annota3.cc, + gdb/testsuite/gdb.c++/annota3.exp, amd64fbsd-tdep.c and + amd64fbsd-nat.c. + +2003-08-02 Andrew Cagney <cagney@redhat.com> + + * Makefile.in: Update all dependencies and definitions. + +2003-08-02 Adam Fedor <fedor@gnu.org> + + * linespec.c (is_objc_method_format): New function + (decode_line_1, locate_first_half): Use it. + Fixes PR objc/1298 + +2003-08-01 Andrew Cagney <cagney@redhat.com> + + * NEWS: Mention that m32r is multi-arch. + From 2003-07-28 Kei Sakamoto <sakamoto.kei@renesas.com>: + * configure.tgt: Recognize m32r-*-*. + * config/m32r/tm-m32r.h: Delete file. + * config/m32r/m32r.mt: New file. + * m32r-rom.c (m32r_upload_command): Use hostent only when + gethostname succeeds, in order to avoid a compilation + warning. + * m32r-tdep.c (m32r_store_return_value): Add a cast to remove a + compiler warning. + +2003-08-01 Michael Snyder <msnyder@redhat.com> + + * sh-tdep.c (sh_frame_align): New gdbarch method. + (sh_gdbarch_init): Set up frame_align method. + +2003-07-31 Michael Snyder <msnyder@redhat.com> + + * value.h, values.c, infcall.c, infcmd.c: Revert 07-30 change, + which is already covered by the new frames infrastructure. + +2003-07-31 Andrew Cagney <cagney@redhat.com> + + * user-regs.c (struct user_reg): Add "next" link. + (struct user_regs): Replace "user" with "first" and "last" links. + (append_user_reg): Add pre-allocated "reg" parameter. + (builtin_user_regs): Provide initial value for "last". + (user_reg_add_builtin): XMALLOC memory for append_user_reg. + (user_regs_init): Allocate memory from the gdbarch obstack. + (user_reg_add): GDBARCH_OBSTACK_ZALLOC memory for append_user_reg. + (user_reg_map_name_to_regnum): Rewrite to search the user_reg + linked list. + (usernum_to_user_reg): New function. + (user_reg_map_regnum_to_name): Use usernum_to_user_reg. + (value_of_user_reg): Use usernum_to_user_reg. + (user_regs_free): Delete function. + (_initialize_user_regs): Update register_gdbarch_data call. + +2003-07-31 Daniel Jacobowitz <drow@mvista.com> + + * dwarf2read.c (new_symbol): Use var_decode_location for parameters. + +2003-07-30 Michael Snyder <msnyder@redhat.com> + + * value.h (value_being_returned): Add a struct_addr argument. + * infcall.c (call_function_by_hand): Pass struct_addr to + value_being_returned. + * infcmd.c (print_return_value): Pass zero as struct_addr. + * values.c (value_being_returned): If struct_addr is passed, + use it instead of trying to recover it from the inferior. + +2003-07-30 Kevin Buettner <kevinb@redhat.com> + + * mn10300-tdep.c (analyze_dummy_frame): Pass ``pc'' so that + the prologue analyzer won't need to attempt to extract the pc + value from the woefully incomplete dummy frame. + (mn10300_analyze_prologue): Avoid calls to get_frame_pc() when + possible. Disable code which modifies the frame. + +2003-07-28 Andrew Cagney <cagney@redhat.com> + + * annotate.c (annotate_breakpoints_headers): Restrict annotation + to level 2. + (annotate_breakpoints_table, annotate_record): Ditto. + (annotate_breakpoints_table_end, annotate_field_begin): Ditto. + (annotate_field_name_end, annotate_field_value): Ditto. + (annotate_field_end, annotate_frame_source_begin): Ditto. + (annotate_frame_source_file, annotate_frame_source_file_end): Ditto. + (annotate_frame_source_line, annotate_frame_source_end): Ditto. + (annotate_frame_begin, annotate_frame_function_name): Ditto. + (annotate_frame_address_end, annotate_frame_address): Ditto. + (annotate_frame_args, annotate_frame_end): Ditto. + (annotate_frame_where, annotate_arg_begin): Ditto. + (annotate_arg_name_end, annotate_arg_value): Ditto. + (annotate_arg_end, annotate_signal_handler_caller): Ditto. + (annotate_function_call, annotate_signal_name): Ditto. + (annotate_signal_string, annotate_signal_name_end): Ditto. + (annotate_signal_string_end, annotate_value_history_begin): Ditto. + (annotate_value_begin, annotate_value_history_value): Ditto. + (annotate_value_history_end, annotate_value_end): Ditto. + (annotate_display_begin, annotate_display_number_end): Ditto. + (annotate_display_format, annotate_display_expression): Ditto. + (annotate_display_expression_end, annotate_display_value): Ditto. + (annotate_display_end, annotate_array_section_begin): Ditto. + (annotate_elt_rep, annotate_elt_rep_end): Ditto. + (annotate_elt, annotate_array_section_end): Ditto. + +2003-07-28 Andrew Cagney <cagney@redhat.com> + + * regcache.c (struct regcache_descr): Update comments on + nr_raw_registers. + (init_legacy_regcache_descr): Don't set nr_raw_registers or + sizeof_raw_register_valid_p. + (init_regcache_descr): Set nr_raw_registers and + sizeof_raw_register_valid_p before calling + init_legacy_regcache_descr. + +2003-07-28 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (print_gp_register_row): Print the GPR's register + MOD NUM_REGS. + +2003-07-28 Daniel Jacobowitz <drow@mvista.com> + + * thread.c (info_threads_command): Use get_selected_frame (). + Check that there is at least one non-sentinel frame. + +2003-07-27 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-tdep.c (struct frame_extra_info): Remove. + (m68hc11_pop_frame): Remove. + (m68hc11_frame_saved_pc): Remove. + (m68hc11_frame_chain): Remove. + (m68hc11_frame_init_saved_regs): Remove. + (m68hc11_init_extra_frame_info): Remove. + (m68hc11_store_struct_return): Remove. + (m68hc11_saved_pc_after_call): Remove. + +2003-07-27 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-tdep.c (struct m68hc11_unwind_cache): New struct to hold + frame unwind information. + (m68hc11_scan_prologue): New function from m68hc11_guess_from_prologue + and adapted for frame unwinding. + (m68hc11_skip_prologue): Update to scan prologue in temporary object. + (m68hc11_unwind_pc): New function. + (m68hc11_frame_unwind_cache): New function to analyze frames. + (m68hc11_frame_this_id): New function to create new frame struct. + (m68hc11_frame_prev_register): New function to unwind a register from + the frame. + (m68hc11_frame_unwind): Default 68hc11/68hc12 unwinder. + (m68hc11_frame_p): New function for the above. + (m68hc11_frame_base_address): New function to return fp of frame. + (m68hc11_frame_args_address): Update for frame. + (m68hc11_frame_base): Default 68hc11/68hc12 frame. + (m68hc11_unwind_sp): New function. + (m68hc11_unwind_dummy_id): New function. + (m68hc11_gdbarch_init): Install the above frames; remove deprecated + calls. + +2003-07-27 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-tdep.c (m68hc11_analyze_instruction): Don't advance the pc. + (m68hc11_guess_from_prologue): Advance the pc and frame size only + when we are beyond the current pc. + +2003-07-27 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-tdep.c (m68hc11_push_dummy_call): New function adapted + from m68hc11_push_arguments. + (m68hc11_push_arguments): Remove. + (m68hc11_push_return_address): Remove. + (m68hc11_gdbarch_init): Install the above; remove above deprecated + handlers; remove deprecated_extra_stack_alignment_needed. + +2003-07-27 Andrew Cagney <cagney@redhat.com> + + * config/pa/tm-hppa.h (init_frame_pc_default): Declare. + * infcall.c (legacy_push_dummy_code) [GDB_TARGET_IS_HPPA]: Update + REAL_PC and not the pointer. + * hppa-hpux-tdep.c: Include frame.h + +2003-07-27 Andrew Cagney <cagney@redhat.com> + + * config/pa/tm-hppa64.h (GDB_MULTI_ARCH): Set to + GDB_MULTI_ACH_PARTIAL. + +2003-07-27 Andrew Cagney <cagney@redhat.com> + + Patch from 2003-07-22 Kei Sakamoto <sakamoto.kei@renesas.com>: + * m32r-tdep.c (m32r_memory_insert_breakpoint): Fix code style - + operator at start and not end of line. + (decode_prologue): Ditto. + (m32r_frame_unwind_cache, m32r_unwind_sp, m32r_unwind_pc): Use + frame_unwind_register_unsigned instead of + frame_unwind_unsigned_register. + (m32r_read_pc): Use regcache_cooked_read_unsigned instead of + read_register. + (m32r_push_dummy_call): Use register_size instead of + REGISTER_RAW_SIZE. + (m32r_frame_sniffer): Replace m32r_frame_p. + (m32r_gdbarch_init): Call frame_unwind_append_sniffer. + * m32r-rom.c (report_transfer_performance): Delete extern + declaration. + (m32r_load, m32r_upload_command): Use print_transfer_performance + instead of report_transfer_performance. + (_initialize_m32r_rom): Use add_setshow_cmd instead of add_set_cmd + / add_show_from_set. + +2003-07-26 Andrew Cagney <cagney@redhat.com> + + * m68hc11-tdep.c (m68hc11_gdbarch_init): Set non-deprecated + store_return_value and extract_struct_value_address. + +2003-07-26 Daniel Jacobowitz <drow@mvista.com> + + PR c++/1267 + * minsyms.c (lookup_minimal_symbol_by_pc_section): If SECTION is + NULL, default to the section containing PC. + +2003-07-24 Stephane Carrez <stcarrez@nerim.fr> + + * NEWS: Mention "regs" deprecated for m68hc11 too. + + * m68hc11-tdep.c (_initialize_m68hc11_tdep): Deprecate "regs" command. + (m68hc11_print_register): New function to print out one register. + (m68hc11_print_registers_info): New function to print registers. + (show_regs): Deprecate and use the above. + (m68hc11_gdbarch_init): Install the print_registers_info. + +2003-07-24 Jeff Johnston <jjohnstn@redhat.com> + + * ia64-linux-nat.c (ia64_linux_stopped_by_watchpoint): Verify + that we have a SIGTRAP before returning non-zero. + +2003-07-23 Michal Ludvig <mludvig@suse.cz> + Elena Zannoni <ezannoni@redhat.com> + + * linespec.c (decode_line_2): Avoid crash if + find_function_start_sal() returns empty record. + +2003-07-23 Andreas Schwab <schwab@suse.de> + + * ia64-tdep.c (ia64_print_insn): New function. + (ia64_gdbarch_init): Set print_insn to it. + (_initialize_ia64_tdep): Don't set deprecated_tm_print_insn and + deprecated_tm_print_insn_info. + +2003-07-22 Michael Snyder <msnyder@redhat.com> + + * h8300-tdep.c (h8300_extract_return_value): Teach it how to + handle 8-bit returns (long long). + (h8300h_extract_return_value): Ditto. + (h8300_gdbarch_init): Long long is 8 bytes, char is unsigned. + +2003-07-22 Andrew Cagney <cagney@redhat.com> + + * gdbarch.c Include "gdb_obstack.h". + (struct gdbarch): Add an "obstack". + (alloc_gdbarch_data): Allocate the gdbarch data using + GDBARCH_OBSTACK_CALLOC. + (free_gdbarch_data): Delete function. + (gdbarch_obstack_zalloc): New function. + (gdbarch_free): Free the obstack, do not call free_gdbarch_data. + Assert that the architecture is not initialized. + (gdbarch_alloc): Allocate an obstack, allocate the architecture + vector from the obstack. + (alloc_gdbarch_data, init_gdbarch_swap): Allocate memory using the + architecture obstack. + (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Define. + (set_gdbarch_data): Assert that the data is not initialized. + (struct gdbarch_data): Delete member "free". + (register_gdbarch_data): Do not initialize "free". + * gdbarch.h, gdbarch.c: Re-generate. + +2003-07-22 Andrew Cagney <cagney@redhat.com> + + * configure.in (build_warnings): Add -Wformat-nonliteral. + * configure: Re-generate. + +2003-07-22 Elena Zannoni <ezannoni@redhat.com> + + * dwarf2loc.c (locexpr_describe_location): Fix typos. + +2003-07-22 Elena Zannoni <ezannoni@redhat.com> + + * findvar.c (read_var_value): Remove case for thread local storage + variables. It is now entirely handled by the dwarf2 location + expression code. + * printcmd.c (address_info): Ditto. + * symtab.h (address_class): Remove LOC_THREAD_LOCAL_STATIC + enumeration value. + (struct symbol): Remove objfile field, which was used by + LOC_THREAD_LOCAL_STATIC only. + * dwarf2read.c (decode_locdesc): Remove is_thread_local variable. + * dwarf2loc.h (struct dwarf2_loclist_baton): Add comment about + usage of objfile pointer. + * dwarf2loc.c (locexpr_describe_location): Add case to handle + thread local variables. + Add include of objfiles.h. + * dwarf2expr.c (execute_stack_op): Add comments about thread local + storage variables. + * Makefile.in (dwarf2loc.o): Update dependencies. + +2003-07-22 Andrew Cagney <cagney@redhat.com> + + * config/pa/tm-hppa64.h (FRAME_SAVED_PC_IN_SIGTRAMP): Use + get_frame_base. + (FRAME_BASE_BEFORE_SIGTRAMP): Ditto. + (FRAME_FIND_SAVED_REGS_IN_SIGTRAMP): Ditto. + (struct value): Add opaque declaration. + (DEPRECATED_FRAME_ARGS_ADDRESS): Delete. + +2003-07-21 Andrew Cagney <cagney@redhat.com> + + From 2003-07-04 Kei Sakamoto <sakamoto.kei@renesas.com>: + * m32r-tdep.c, m32r-stub.c, m32r-tdep.c: Rewrite. + +2003-07-20 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-tdep.c (m68hc11_pseudo_register_read): Use + regcache_cooked_read_unsigned instead of read_register. + (m68hc11_saved_pc_after_call): Likewise. + (m68hc11_pseudo_register_write): Use regcache_cooked_write_unsigned + instead of write_register. + (m68hc11_register_type): New function. + (m68hc11_register_virtual_type): Remove. + (m68hc11_store_return_value): Convert to use the regcache. + (m68hc11_extract_struct_value_address): Likewise. + (m68hc11_gdbarch_init): Remove deprecated ops for register to use + m68hc11_register_type; undeprecate store_return_value and + extract_struct_value_address. + +2003-07-20 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-tdep.c (m68hc11_extract_return_value): Use regcache_raw_read + and translate to use regcache. + (m68hc11_gdbarch_init): Undeprecate extract_return_value. + +2003-07-18 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DWARF2_BUILD_FRAME_INFO): Delete method. + * gdbarch.h, gdbarch.c: Re-generate. + * i386-tdep.c (i386_gdbarch_init): Do not set + DWARF2_BUILD_FRAME_INFO. + * elfread.c (elf_symfile_read): Call dwarf2_build_frame_info + unconditionally. + * alpha-tdep.c (alpha_dwarf2_init_abi): Do not set + DWARF2_BUILD_FRAME_INFO. + +2003-07-18 Andrew Cagney <cagney@redhat.com> + + From 2003-07-04 Kei Sakamoto <sakamoto.kei@renesas.com>: + * disasm.c (gdb_disassemble_info): Initilize di.arch. + +2003-07-18 Andrew Cagney <cagney@redhat.com> + + * dwarf2-frame.c (dwarf2_frame_sniffer): Use + frame_unwind_address_in_block, instead of frame_pc_unwind. + (dwarf2_frame_cache): Ditto. + +2003-07-18 Andrew Cagney <cagney@redhat.com> + + * user-regs.h (struct gdbarch): Declare opaque. + * ui-out.h (struct ui_file): Declare opaque. + * dwarf2-frame.h (struct frame_info): Declare opaque. + +2003-07-18 Kris Warkentin <kewarken@qnx.com> + + * nto-procfs.c: Clean ARI hits. Change #include <..> to + #include "...". + (procfs_meminfo): Change strerror to safe_strerror. + (procfs_can_run): Remove K&R badness. + +2003-07-17 Michael Snyder <msnyder@redhat.com> + + * remote-sim.c: Comment typo fix. + +2003-07-17 Andrew Cagney <cagney@redhat.com> + + * defs.h (GDB_MULTI_ARCH): Delete conditional define. Handled by + configure. + * sparc-tdep.c (sparc_intreg_size): Make non-static. + * config/sparc/tm-sparc.h (GDB_MULTI_ARCH): Define to + GDB_MULTI_ARCH_PARTIAL. + +2003-07-17 Elena Zannoni <ezannoni@redhat.com> + + * Makefile.in (x86-64-linux-nat.o): Update dependencies. + * x86-64-linux-nat.c (ps_get_thread_area): New function. Add + include of asm/prctl.h, asm/ptrace.h, and gdb_proc_service.h. + +2003-07-16 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_skip_prologue): Return PC unchanged if no prologue + found. + (avr_frame_unwind_cache): Don't unwind FP for main. + Update a comment. + Save the computed prev_sp. + (avr_saved_regs_unwinder): Remove function. + (avr_frame_prev_register): Use PC unwind logic from + avr_saved_regs_unwinder(), otherwise use trad_frame_prev_register(). + +2003-07-16 Andrew Cagney <cagney@redhat.com> + + * frame-base.h (frame_base_p_ftype): Delete definition. + (frame_base_append_predicate): Delete declaration. + * frame-unwind.h (frame_unwind_p_ftype): Delete definition. + (frame_unwind_append_predicate): Delete declaration. + * frame-unwind.c (struct frame_unwind_table): Delete field "p". + (append_predicate): Delete parameter "p". + (frame_unwind_append_predicate): Delete function. + (frame_unwind_append_sniffer): Update call to append_predicate. + (frame_unwind_free): Delete function. + (_initialize_frame_unwind): Pass NULL as "free" to + register_gdbarch_data. + (frame_unwind_init): Append the dummy_frame_sniffer. + (frame_unwind_find_by_frame): Simplify. + * frame-base.c (struct frame_base_table): Delete field "p". + (append_predicate): Delete parameter "p". + (frame_base_append_predicate): Delete function. + (frame_base_append_sniffer): Update call to append_predicate. + (frame_base_free): Delete function. + (frame_base_find_by_frame): Simplify. + (_initialize_frame_base): Pass NULL as "free" to + register_gdbarch_data. + * x86-64-tdep.c (x86_64_frame_sniffer): Replace "x86_64_frame_p". + (x86_64_sigtramp_frame_sniffer): Replace + "x86_64_sigtramp_frame_p". + (x86_64_init_abi): Set the frame unwind sniffers. + * m68k-tdep.c (m68k_frame_sniffer): Replace "m68k_frame_p". + (m68k_sigtramp_frame_sniffer): Replace "m68k_sigtramp_frame_p" + (m68k_gdbarch_init): Set the frame unwind sniffers. + * i386-tdep.c (i386_sigtramp_frame_sniffer): Replace + "i386_sigtramp_frame_p". + (i386_frame_sniffer): Replace "i386_frame_p". + (i386_gdbarch_init): Set the frame unwind sniffers. + * avr-tdep.c (avr_frame_sniffer): Replace "avr_frame_sniffer". + (avr_gdbarch_init): Set the frame unwind sniffers. + * alpha-tdep.c (alpha_sigtramp_frame_sniffer): Replace + "alpha_sigtramp_frame_p" + (alpha_heuristic_frame_sniffer): Replace + "alpha_heuristic_frame_p". + (alpha_gdbarch_init): Set the frame unwind sniffers. + (alpha_dwarf2_init_abi): Ditto. + * alpha-mdebug-tdep.c (alpha_mdebug_frame_sniffer): Replace + "alpha_debug_frame_p". + (alpha_mdebug_frame_base_sniffer): Replace + "alpha_mdebug_frame_base_p". + (alpha_mdebug_init_abi): Set the frame unwind sniffers. + * d10v-tdep.c (d10v_frame_sniffer): Replace "d10v_frame_p". + (d10v_gdbarch_init): Set the frame unwind sniffer. + * dwarf2-frame.c (dwarf2_frame_sniffer): Replace "dwarf2_frame_p". + (dwarf2_frame_base_sniffer): Replace "dwarf2_frame_base_p". + * dwarf2-frame.h (dwarf2_frame_sniffer): Replace "dwarf2_frame_p". + (dwarf2_frame_base_sniffer): Replace "dwarf2_frame_base_p". + * dummy-frame.c (dummy_frame_sniffer): Replace "dummy_frame_p". + * dummy-frame.h (dummy_frame_sniffer): Replace "dummy_frame_p". + +2003-07-16 Michael Snyder <msnyder@redhat.com> + + * sh-tdep.c (sh_gdbarch_init): Fetch_registers for the sh3-dsp + should go thru sh_dsp_register_sim_regno, else the dsp regs + will not get the right values. + +2003-07-16 Corinna Vinschen <vinschen@redhat.com> + + * sh-tdep.c (sh_sh4_register_convert_to_virtual): Substitute call to + deprecated_store_floating by call to store_typed_floating. + (sh_sh4_register_convert_to_raw): Substitute call to + deprecated_extract_floating by call to extract_typed_floating. + +2003-07-16 Corinna Vinschen <vinschen@redhat.com> + + * sh-tdep.c (sh_gdbarch_init): Set double to 4 byte on sh2e and sh3e. + +2003-07-16 Corinna Vinschen <vinschen@redhat.com> + + * sh-tdep.c: Substitute calls to REGISTER_RAW_SIZE by calls to + register_size and calls to REGISTER_VIRTUAL_TYPE by calls to + gdbarch_register_type in 32 bit code throughout. Avoid current_gdbarch + as possible. + (do_pseudo_register): Remove. + (sh_push_dummy_code): New function. + (sh64_store_struct_return): Rename from sh_store_struct_return. + Only called for sh64 now. + (sh_extract_struct_value_address): Regcache'ify. + (sh_push_dummy_call): Rename from sh_push_arguments. Regcache'ify + and accomodate new tasks. + (sh64_push_return_address): Rename from sh_push_return_address. + Only called for sh64 now. + (sh_default_extract_return_value): Rename from sh_extract_return_value. + Regcache'ify. + (sh3e_sh4_extract_return_value): Regcache'ify. + (sh_default_store_return_value): Ditto. + (sh3e_sh4_store_return_value): Ditto. + (sh_default_register_byte): Remove. + (sh_sh4_register_byte): Remove. + (sh_default_register_raw_size): Remove. + (sh_sh4_register_raw_size): Remove. + (sh_register_virtual_size): Remove. + (sh_sh3e_register_virtual_type): Remove. + (sh_sh3e_register_type): New function. + (sh_sh4_register_virtual_type): Remove. + (sh_sh4_register_type): New function. + (sh_default_register_virtual_type): Remove. + (sh_default_register_type): New function. + (do_fv_register_info): Add parameters to accomodate call from + sh_print_registers_info. + (do_dr_register_info): Ditto. + (sh_print_pseudo_register): Rename from sh_do_pseudo_register. + Add parameters to accomodate call from sh_print_registers_info. + (sh_do_fp_register): Ditto. + (sh64_do_pseudo_register): Call do_dr_register_info, + do_fv_register_info and sh_do_fp_register with default parameters. + (sh_do_register): Add parameters to accomodate call from + sh_print_registers_info. + (sh_print_register): Ditto. + (sh_print_registers_info): Rename from sh_do_registers_info. + Add parameters to be used as gdbarch_print_registers_info + implementation. Accomodate removed do_pseudo_register function + pointer. + (sh_compact_do_registers_info): Accomodate removed do_pseudo_register + function pointer. Call sh_print_register with default parameters. + (sh64_do_registers_info): Call sh_print_registers_info instead of + sh_do_registers_info. + (sh_gdbarch_init): Rearrange to cleanup and to allow easier + detection of deprecated vs. non-deprecated functionality. + Rename sh_call_dummy_words to sh64_call_dummy_words. Remove + function pointer assignments by direct function calls. + +2003-07-15 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_frame_id): Use frame_unwind_find_by_frame. + (frame_register_unwind, create_new_frame): Ditto. + (legacy_get_prev_frame, get_frame_type): Ditto. + (get_frame_base_address): Use frame_base_find_by_frame. + (get_frame_locals_address): Use frame_base_find_by_frame. + (get_frame_args_address): Use frame_base_find_by_frame. + * frame-base.h (frame_base_sniffer_ftype): Declare. + (frame_base_append_sniffer): Declare. + (frame_base_find_by_frame): Replace frame_base_find_by_pc. + * frame-base.c (append_predicate): Add a "sniffer" parameter. + (frame_base_append_sniffer): New function. + (frame_base_append_predicate): Add a NULL sniffer. + (frame_base_find_by_frame): Replace "frame_base_find_by_pc". + (struct frame_base_table): Add "sniffer". + (frame_base_free): Free the "sniffer" table. + * frame-unwind.h (frame_unwind_sniffer_ftype): Define. + (frame_unwind_append_sniffer): Declare. + (frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc. + * frame-unwind.c (frame_unwind_free): Free the "sniffer" table. + (struct frame_unwind_table): Add "sniffer", delete "middle". + (append_predicate): Add "sniffer" parameter, append the sniffer. + (frame_unwind_init): Update append_predicate call. + (frame_unwind_append_sniffer): New function. + (frame_unwind_append_predicate): Update append_predicate call. + (frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc. + +2003-07-15 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_prev_frame): Move disabled inside_entry_func to + before code inhibiting repeated unwind attempts. Add to + commentary on that test's problems. + * blockframe.c (inside_main_func): Look for "main" in the minimal + symbol table. + * d10v-tdep.c (d10v_frame_this_id): Delete check that frames are + identical. + +2003-07-15 Andrew Cagney <cagney@redhat.com> + + * complaints.c (struct explanation): Define. + (struct complaints): Change type of "explanation" to "struct + explanation". + (symfile_explanations): Convert to a "struct explanation" table. + (vcomplaint): Update. + +2003-07-15 Michal Ludvig <mludvig@suse.cz> + + * x86-64-linux-nat.c (regmap): Removed. + (supply_gregset, fill_gregset): Call + x86_64_linux_(fill,supply)_gregset functions. + * x86-64-linux-tdep.c (USER_*): New defines. + (user_to_gdb_regmap, x86_64_core_fns): New structure. + (x86_64_linux_supply_gregset, x86_64_linux_fill_gregset): + New functions. + (fetch_core_registers): Ditto. + (_initialize_x86_64_linux_tdep): Call add_core_fns(). + * x86-64-linux-tdep.h: New file. + * config/i386/x86-64linux.mh (NATDEPFILES): Remove corelow.o + and core-regset.o. + * config/i386/x86-64linux.mt (TDEPFILES): Add corelow.o. + +2003-07-13 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.c (x86_64_store_return_value): Use + regcache_cooked_write_part instead of regcache_cooked_write. + + * configure.host: Add x86_64-*-freebsd*. + * configure.tgt: Add x86_64-*-freebsd*. + * Makefile.in (amd64fbsd-nat.o, amd64fbsd-tdep.o): New targets. + * amd64fbsd-nat.c: New file. + * amd64fbsd-tdep.c: New file. + * config/i386/nm-fbsd64.h: New file. + * config/i386/fbsd64.mh: New file. + * config/i386/fbsd64.mt: New file. + +2003-07-11 Mark Kettenis <kettenis@gnu.org> + + * alpha-tdep.h (struct gdbarch_tdep): Add members `sc_pc_offset', + `sc_regs_offset' and `sc_fpregs_offset'. + * alpha-tdep.c (SIGFRAME_PC_OFF, SIGFRAME_REGSAVE_OFF, + SIGFRAME_FPREGSAVE_OFF): Remove defines. + (alpha_sigtramp_register_address): Rewrite to use new members of + `struct gdbarch_tdep'. + (alpha_gdbarch_init): Initialize new members of struct + gdbarch_tdep'. + * alphafbsd-tdep.c (alphafbsd_use_struct_convention): Use + ALPHA_REGISTER_SIZE instead of DEPRECATED_REGISTER_SIZE. + (alphafbsd_sigtramp_start, alphafbsd_sigtramp_end): Nre variables. + (alphafbsd_pc_in_sigtramp): Implement. + (alphafbsd_sigtramp_offset): New function. + (alphafbsd_sigcontext_addr): New function. + (alphafbsd_init_abi): Initialize signal trampoline related members + of `struct gdbarch_tdep'. + (_initialize_alphafbsd_tdep): Add prototype. + +2003-07-11 Theodore A. Roth <troth@openavr.org> + + * Makefile.in (install-only): Quote sed expression when generating + transformed_name. + +2003-07-11 Richard Henderson <rth@redhat.com> + + * Makefile.in (dwarf2-frame.o): Add complaints_h. + * dwarf2-frame.c: Include complaints.h. + (decode_frame_entry_1): Rename from decode_frame_entry; tidy + variable initialization; return NULL on error. + (decode_frame_entry): New. + +2003-07-11 Andrew Cagney <cagney@redhat.com> + + * frame.h (frame_address_in_block): Delete declaration. + * blockframe.c (frame_address_in_block): Delete function. + (get_frame_block): Use get_frame_address_in_block. + (block_innermost_frame): Ditto. + * stack.c (print_frame, backtrace_command_1): Ditto. + + * frame.h (get_frame_address_in_block): Declare. + (frame_unwind_address_in_block): Declare. + * frame.c (frame_unwind_address_in_block): New function. + (get_frame_address_in_block): New function. + +2003-07-10 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh: Simplify predicate methods. Remove need to provide + pre-default. Note: re-generate has no effect. + +2003-07-10 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh: When a variable, but not a function, compare against + 0. Fix problem in previous patch. + * gdbarch.c: Re-generate. + +2003-07-10 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh: Use gdb_assert instead of internal_error. Compare + functions against NULL, not 0. + * gdbarch.c: Re-generate. + +2003-07-10 Fred Fish <fnf@ninemoons.com> + + * coff-solib.h (SOLIB_LOADED_LIBRARY_PATHNAME): Default to a + null string instead of a null pointer. + * solib.h (SOLIB_LOADED_LIBRARY_PATHNAME): Ditto. + +2003-07-09 Michael Snyder <msnyder@redhat.com> + + * sh-tdep.c (sh_dsp_register_sim_regno): Off-by-one error. + +2003-07-09 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.h (X86_64_RAX_REGNUM, X86_64_RDX_REGNUM, + X86_64_RDI_REGNUM, X86_64_RBP_REGNUM, X86_64_RSP_REGNUM, + X86_64_RIP_REGNUM, X86_64_EFLAGS_REGNUM, X86_64_ST0_REGNUM, + X86_64_XMM0_REGNUM, X86_64_XMM1_REGNUM): Moved here ... + * x86-64-tdep.c: ... from here. + +2003-07-09 Andreas Schwab <schwab@suse.de> + + * m68k-tdep.h (enum struct_return): Define. + (struct gdbarch_tdep): Add struct_return. + * m68k-tdep.c (m68k_push_dummy_call): Non-scalars bigger than 4 + bytes are padded to the right, not to the left. Pass struct value + address in register %a1, not on stack. + (m68k_use_struct_convention): New function. + (m68k_gdbarch_init): Set use_struct_convention. Initialize + struct_return in tdep to pcc_struct_return. + * m68klinux-tdep.c (m68k_linux_init_abi): Set struct_return to + reg_struct_return. + +2003-07-09 Joel Brobecker <brobecker@gnat.com> + + * somread.c (som_symfile_offsets): Fix compilation error. + +2003-07-09 Andrew Cagney <cagney@redhat.com> + + * regcache.c (register_size): Only check REGISTER_RAW_SIZE once. + Add comments about the checks. + +2003-07-08 Andrew Cagney <cagney@redhat.com> + + * Makefile.in: Make dependency section headers consistent. + (config_h): Move to $BUILD headers section. + (exc_request_U_h, exc_request_S_h, msg_reply_S_h): Ditto. + (msg_U_h, notify_S_h, process_reply_S_h): Ditto. + (ada-exp.tab.c): Move to YACC/LEX section. + (ada-lex.c, c-exp.tab.c, f-exp.tab.c): Ditto. + (jv-exp.tab.c, m2-exp.tab.c, objc-exp.tab.c, p-exp.tab.c): Ditto. + +2003-07-08 Kris Warkentin <kewarken@qnx.com> + + * nto-procfs.c: Cleaned up a bunch of ARI hits. + Include "gdb_dirent.h" instead of <dirent.h>, replace all instances + of strerror with safe_strerror, use ISO C function definitions, + and replace instances of sprintf with snprintf. + +2003-07-07 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_prev_frame): Enable check for identical frames. + Update comments. Update error messages. + +2003-07-07 Joel Brobecker <brobecker@gnat.com> + + * hpread.c (hpread_psymtab_to_symtab_1): Fix compilation failure. + +2003-07-07 Joel Brobecker <brobecker@gnat.com> + + * xcoffread.c (xcoff_psymtab_to_symtab_1): Remove call to + sort_symtab_syms, no longer necessary. + +2003-07-07 Joel Brobecker <brobecker@gnat.com> + + * config/mips/tm-irix6.h (MIPS_REGISTER_TYPE): Add comment. + +2003-07-07 Joel Brobecker <brobecker@gnat.com> + + * mips-tdep.c (mips_register_raw_size): Fix compilation failure. + (mips_register_byte): Likewise. + +2003-07-07 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in (sparc_tdep_h): New. + (sparc-linux-nat.o, sparc-nat.o, sparc-tdep.o, sparc64nbsd-nat.o) + (sparcnbsd-nat.o, sparcnbsd-tdep.o): Depend on $(sparc_tdep_h). + * sparc-linux-nat.c: Include "sparc-tdep.h". + * sparc-nat.c: Likewise. + * sparc-tdep.c: Likewise. + * sparc64nbsd-nat.c: Likewise. + * sparcnbsd-nat.c: Likewise. + * sparcnbsd-tdep.c: Likewise. + * sparc-tdep.h: New file. + * config/sparc/tm-sparc.h: Remove prototypes for sparc_y_regnum + and sparc_npc_regnum. + +2003-07-07 Daniel Jacobowitz <drow@mvista.com> + + * mips-linux-nat.c (mips_linux_cannot_fetch_register) + (mips_linux_cannot_store_register): List supported instead of + unsupported registers. + +2003-07-07 Daniel Jacobowitz <drow@mvista.com> + + * disasm.c (dump_insns): Separate instructions from addresses. + +2003-07-07 Andreas Schwab <schwab@suse.de> + + * Makefile.in (m68k-tdep.o, m68klinux-tdep.o): Update + dependencies. + * m68k-tdep.c (NUM_FREGS): Delete. + (SIG_PC_FP_OFFSET): Delete. + (TARGET_M68K): Delete. + (P_MOVEAL_SP_FP, P_ADDAW_SP, P_ADDAL_SP, P_SUBQW_SP, + P_SUBQL_SP, P_LEA_SP_SP, P_LEA_PC_A5, P_FMOVEMX_SP, + P_MOVEL_SP, P_MOVEML_SP): Define. + (P_MOVL_SP_FP, P_MOVL, P_JSR, P_BSR, P_LEAL, P_MOVML, P_FMOVM, + P_TRAP): Delete. + (m68k_register_raw_size): Delete. + (m68k_register_virtual_size): Delete. + (m68k_register_type): Renamed from m68k_register_virtual_type and + add gdbarch argument. + (m68k_store_struct_return): Delete. + (m68k_deprecated_extract_return_value): Delete. + (m68k_deprecated_extract_struct_value_address): Delete. + (m68k_frame_chain): Delete. + (m68k_frame_saved_pc): Delete. + (m68k_fix_call_dummy): Delete. + (m68k_push_dummy_frame): Delete. + (m68k_pop_frame): Delete. + (m68k_extract_return_value): New function. + (m68k_store_return_value): Rewrite using regcache. + (m68k_extract_struct_value_address): Rewrite using regcache. + (m68k_push_dummy_call): New function. + (struct m68k_frame_cache): Define. + (m68k_alloc_frame_cache): New function. + (m68k_analyze_frame_setup): New function. + (m68k_analyze_register_saves): New function. + (m68k_analyze_prologue): New function. + (m68k_skip_prologue): Rewrite using above functions. + (m68k_unwind_pc): New function. + (m68k_frame_cache): New function. + (m68k_frame_this_id): New function. + (m68k_frame_prev_register): New function. + (m68k_frame_unwind): New variable. + (m68k_frame_p): New function. + (m68k_sigtramp_frame_cache): New function. + (m68k_sigtramp_frame_this_id): New function. + (m68k_sigtramp_frame_prev_register): New function. + (m68k_sigtramp_frame_unwind): New variable. + (m68k_sigtramp_frame_p): New function. + (m68k_frame_base_address): New function. + (m68k_frame_base): New function. + (m68k_unwind_dummy_id): New function. + (fill_gregset): Use regcache_collect. + (fill_fpregset): Likewise. + (m68k_saved_pc_after_call): Only define if SYSCALL_TRAP is + defined. + (m68k_gdbarch_init): Don't define call_dummy_words. Don't set + deprecated_init_frame_pc, deprecated_store_struct_return, + deprecated_extract_return_value, deprecated_store_return_value, + deprecated_frame_chain, deprecated_frame_saved_pc, + deprecated_frame_init_saved_regs, deprecated_register_raw_size, + deprecated_register_virtual_size, + deprecated_max_register_raw_size, + deprecated_max_register_virtual_size, + deprecated_register_virtual_type, deprecated_register_size, + deprecated_register_byte, deprecated_register_bytes, + deprecated_fp_regnum, deprecated_use_generic_dummy_frames, + call_dummy_location, deprecated_call_dummy_breakpoint_offset, + deprecated_pc_in_call_dummy, deprecated_call_dummy_length, + deprecated_call_dummy_start_offset, deprecated_call_dummy_words, + deprecated_sizeof_call_dummy_words, deprecated_fix_call_dummy, + deprecated_push_dummy_frame, deprecated_pop_frame, + deprecated_dummy_write_sp. Set deprecated_saved_pc_after_call + only if SYSCALL_TRAP is defined. Set extract_return_value, + store_return_value, extract_struct_value_address, register_type, + push_dummy_call, unwind_dummy_id, unwind_pc. Add two frame unwind + predicates. + * m68k-tdep.h (M68K_D1_REGNUM, M68K_NUM_REGS, + M68K_MAX_REGISTER_SIZE): Define. + (struct m68k_sigtramp_info): Define. + (struct gdbarch_tdep): Add get_sigtramp_info. + * m68klinux-nat.c (fetch_register): Use register_size instead of + REGISTER_RAW_SIZE. Don't put assignment in if. + (store_register): Likewise. + (fetch_inferior_registers): Likewise. + (store_inferior_registers): Likewise. + * m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc): Delete. + (m68k_linux_frame_saved_pc): Delete. + (m68k_linux_sigcontext_reg_offset, + m68k_linux_ucontext_reg_offset): Define. + (m68k_linux_get_sigtramp_info): New function. + (m68k_linux_extract_return_value): Rewrite using regcache. + (m68k_linux_store_return_value): Likewise. + (m68k_linux_extract_struct_value_address): Likewise. + (m68k_linux_init_abi): Set get_sigtramp_info in tdep structure. + Don't set deprecated_frame_saved_pc, + deprecated_extract_return_value, deprecated_store_return_value, + deprecated_extract_struct_value_address. Set + extract_return_value, store_return_value, + extract_struct_value_address. + +2003-07-07 Andrew Cagney <cagney@redhat.com> + + * expprint.c: Include "user-regs.h" instead of "frame.h". + (print_subexp): Use user_reg_map_regnum_to_name, instead of + frame_map_regnum_to_name. + * frame.c: Include "user-regs.h" instead of "builtin-regs.h". + (frame_map_name_to_regnum): Simplify, call + user_reg_map_name_to_regnum. + (frame_map_regnum_to_name): Simplify, call + user_reg_map_regnum_to_name. + (frame_register_unwind): Update. + * std-regs.c: Include "user-regs.h" instead of "builtin-regs.h". + (_initialize_frame_reg): Call user_reg_add_builtin. + * findvar.c: Include "user-regs.h" instead of "builtin-regs.h". + (value_of_register): Use value_of_user_reg. + * eval.c (evaluate_subexp_standard): Update. + * parse.c (write_dollar_variable): Update. + * d10v-tdep.c (d10v_print_registers_info): Update. + * infcmd.c (registers_info): Update. + * Makefile.in (SFILES): Delete "builtin-regs.c", add "user-regs.c". + (builtin_regs_h): Delete macro. + (user_regs_h): Define. + (COMMON_OBS): Delete "builtin-regs.o", add "user-regs.o". + (builtin-regs.o): Delete target. + (user-regs.o): Specify dependencies. + (expprint.o): Update dependencies. + (findvar.o): Update dependencies. + (frame.o): Update dependencies. + (std-regs.o): Update dependencies. + +2003-07-06 Christopher Faylor <cgf@redhat.com> + + * win32-nat.c (solib_symbols_add): Use one variable for all section + address stuff. Pass variable rather than address of variable to + safe_symbol_file_add. + +2003-07-06 Andreas Schwab <schwab@suse.de> + + * m68klinux-nat.c (fill_fpregset): Fix use of loop index. + +2003-07-04 Joel Brobecker <brobecker@gnat.com> + + * rs6000-nat.c (vmap_symtab): Fix compilation error. + +2003-07-04 Kris Warkentin <kewarken@qnx.com> + + * config/i386/nto.mh: Set XM_FILE to xm-i386.h + +2003-07-04 Kris Warkentin <kewarken@qnx.com> + + * nto-procfs.c: New file. Native procfs support for QNX Neutrino. + * config/i386/nto.mh: New file. + * config/i386/nm-nto.h: New file. + * configure.host: Add i[3456]86-*-nto*. + +2003-07-03 Joel Brobecker <brobecker@gnat.com> + + * remote-vx.c (vx_add_symbols): Fix compilation error. + +2003-07-03 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (REGISTER_NAME): Do not supply a default. + * gdbarch.h, gdbarch.c: Re-generate. + * config/sparc/tm-sparc.h (REGISTER_NAME): Define. + (legacy_register_name): Declare. + * config/sparc/tm-sp64.h (legacy_register_name): Declare. + (REGISTER_NAME): Define. + * sparc-tdep.c (legacy_register_name): New function. + * config/pa/tm-hppa64.h (REGISTER_NAMES): Delete macro. + (REGISTER_NAME): Define. + (hppa64_register_name): Declare. + * config/pa/tm-hppa.h (REGISTER_NAMES): Delete macro. + * hppa-tdep.c (hppa_gdbarch_init): Set hppa_register_name. + (hppa64_register_name): New function. + (hppa_register_name): New function. + * arch-utils.c (legacy_register_name): Delete. + * arch-utils.h (legacy_register_name): Delete. + +2003-07-03 Daniel Jacobowitz <drow@mvista.com> + + * cli/cli-interp.c (cli_interpreter_resume): Update the + cli_uiout's stream to gdb_stdout. + +2003-07-03 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (REGISTER_RAW_SIZE, REGISTER_VIRTUAL_SIZE): Add + predicate. + * gdbarch.h, gdbarch.c: Re-generate. + * regcache.c (init_regcache_descr): Use legacy code when either + REGISTER_BYTE or REGISTER_RAW_SIZE is set. + +2003-07-02 Daniel Jacobowitz <drow@mvista.com> + + * NEWS: Move "set logging" entry into GDB 6.0 section. + +2003-07-02 Jim Blandy <jimb@redhat.com> + + * s390-tdep.c (struct frame_extra_info): new member: + 'stack_bought_valid'. + (s390_get_frame_info): Set fextra_info->stack_bought_valid if we + initialize fextra_info->stack_bought. + (s390_frameless_function_invocation): Don't trust the value of + fextra_info_ptr->stack_bought unless + fextra_info->stack_bought_valid is set. + + New S390 prologue analyzer. + * s390-tdep.c (struct prologue_value, enum pv_boolean): New types. + (pv_set_to_unknown, pv_set_to_constant, pv_set_to_register, + pv_constant_last, pv_add, pv_add_constant, pv_subtract, + pv_logical_and, pv_is_identical, pv_is_register, pv_is_array_ref, + compute_x_addr, s390_on_stack, s390_store, + s390_get_signal_frame_info): New functions. + (S390_NUM_SPILL_SLOTS): New macro. + (s390_get_frame_info): Rewritten. + (is_arg_reg): Deleted. + + Break out the decoding of S/390 instructions into separate + functions, to make it more legible, and easier to check + against the spec. + * s390-tdep.c (is_ri, is_ril, is_rr, is_rre, is_rs, is_rse, + is_rx, is_rxe): New functions. + (op1_aghi, op2_aghi, op1_ahi, op2_ahi, op_ar, op_basr, op1_bras, + op2_bras, op_l, op_la, op1_larl, op2_larl, op_lgr, op1_lghi, + op2_lghi, op1_lhi, op2_lhi, op_lr, op_nr, op_ngr, op_s, op_st, + op_std, op1_stg, op2_stg, op_stm, op1_stmg, op2_stmg, op_svc): New + enums for opcode values. (Is this an improvement?) + +2003-07-02 Andrew Cagney <cagney@redhat.com> + + * i386-tdep.c: Revert change committed as part of trad-frame code + below. + +2003-07-02 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.c (insert_catchpoint): Make static. + +2003-07-02 Andreas Schwab <schwab@suse.de> + + * ia64-tdep.c (ia64_push_dummy_call): Define as combination of + former ia64_push_arguments and ia64_push_return_address, and use + regcache functions instead of read/write_register. + (ia64_gdbarch_init): Set push_dummy_call instead of + deprecated_push_arguments and deprecated_push_return_address. + +2003-07-01 Andreas Jaeger <aj@suse.de> + + * x86-64-tdep.c (x86_64_push_arguments): Align stack to 16-byte + before the call. + Set %rax only to number of SSE registers used. + +2003-07-01 Andrew Cagney <cagney@redhat.com> + + * trad-frame.h: Update comments, a -1 .addr is reserved. + (trad_frame_value_p, trad_frame_addr_p): Declare. + (trad_frame_reg_p): Declare. + (trad_frame_set_value): Rename trad_frame_register_value. + (trad_frame_set_unknown): Declare. + * trad-frame.c (trad_frame_realreg_p): New function. + (trad_frame_addr_p, trad_frame_value_p): New function. + (trad_frame_set_unknown): New function. + (trad_frame_alloc_saved_regs): Initialize .addr to -1, not zero. + (trad_frame_prev_register): Use trad_frame_realreg_p, + trad_frame_addr_p and trad_frame_value_p. + (trad_frame_set_value): Rename trad_frame_register_value. + * d10v-tdep.c (d10v_frame_unwind_cache): Use trad_frame_addr_p + and trad_frame_set_value. + +2003-06-30 Jim Blandy <jimb@redhat.com> + + Patch from IBM (authors unspecified, probably Ulrich Weigand and + Gerhard Tonn) for argument passing on the S/390 and S/390x: + * s390-tdep.c (S390_STACK_FRAME_OVERHEAD): This is always space + for 16 registers, and then 32 more bytes. + (S390_STACK_PARAMETER_ALIGNMENT, S390_NUM_FP_PARAMETER_REGISTERS): + New macros. + (is_double_arg): The s390x doesn't handle DOUBLE_ARGS specially. + Move up in the file, since it's now used by is_simple_arg. + (is_simple_arg): Don't assume registers are four bytes long. + Exclude all double arguments. Extended floats are not simple + args. + (is_power_of_two): New function. + (pass_by_copy_ref): Call is_power_of_two, and check that the + length fits in a register, rather than listing all the acceptable + sizes. Extended floats are not passed by reference. + (s390_push_arguments): Don't assume registers are four bytes long. + Reserve an argument register to point to the buffer for structures + returned by value. Use S390_NUM_FP_PARAMETER_REGISTERS and + S390_STACK_FRAME_OVERHEAD. + +2003-06-30 Andreas Schwab <schwab@suse.de> + + * utils.c (internal_vproblem): Use xvasprintf, not xasprintf, to + format error message. + +2003-06-30 Joel Brobecker <brobecker@gnat.com> + + * sparc-tdep.c (stop_after_trap): Remove declaration, not used. + +2003-06-30 David Carlton <carlton@kealia.com> + + Band-aid for PR c++/1245. + * Makefile.in (cp-support.o): Depend on complaints_h. + * cp-support.c: Include complaints.h. Add declaration for + find_last_component. + (cp_find_first_component): Separate code into + cp_find_first_component_aux. + (cp_find_first_component_aux): Call demangled_name_complaint. + (demangled_name_complaint): New. + +2003-06-30 Andrew Cagney <cagney@redhat.com> + + * remote.c (remote_write_bytes): Explicitly compute and then use + the payload size. Update comments to reflect. Fixes problem of + GDB not sending small packets as found by Fred Fish. + +2003-06-30 Andrew Cagney <cagney@redhat.com> + + * remote.c (remote_async_wait): Fix -Wformat problem. + +2003-06-29 Andrew Cagney <cagney@redhat.com> + + * remote.c (remote_wait): Call error, and not warning, when the + packet is corrupt. + (remote_async_wait): Ditto. + +2003-06-29 Daniel Jacobowitz <drow@mvista.com> + + * sparc-tdep.c (sparc_y_regnum): Make external again. + +2003-06-29 Daniel Jacobowitz <drow@mvista.com> + + * cli/cli-logging.c (pop_output_files): Add void to function + definition. + +2003-06-29 Andrew Cagney <cagney@redhat.com> + + * frame.c (frame_register_unwind): Use unsigned char when dumping + the buffer contents. + +2003-06-28 Daniel Jacobowitz <drow@mvista.com> + + * cli/cli-logging.c: New file. + * cli-out.c (struct ui_out_data): Add original_stream. + (cli_redirect): New function. + (cli_ui_out_impl): Add cli_redirect. + (cli_out_new): Initialize original_stream. + * ui-out.c (default_ui_out_impl): Add NULL for redirect member. + (uo_redirect, ui_out_redirect): New. + * ui-out.h (struct ui_out_impl): Add redirect member. + (redirect_ftype): New. + (ui_out_redirect): Add prototype. + * Makefile.in: Add rules for cli-logging.c. + * NEWS: Mention "set logging". + +2003-06-27 Elena Zannoni <ezannoni@redhat.com> + + * config/powerpc/ppc64-linux.mh (NATDEPFILES): Add linux-nat.o. + +2003-06-27 Andrew Cagney <cagney@redhat.com> + + * m68hc11-tdep.c (m68hc11_call_dummy_address): Delete function. + (m68hc11_gdbarch_init): Do not set call_dummy_address. + * avr-tdep.c (avr_call_dummy_address): Delete function. + (avr_gdbarch_init): Do not set call_dummy_address. + +2003-06-27 Elena Zannoni <ezannoni@redhat.com> + + * symfile.c (syms_from_objfile): Move variables to inner block. + Move the checks for the non-mainline case a bit earlier to avoid + doing some useless computations. + +2003-06-27 Elena Zannoni <ezannoni@redhat.com> + + * dwarfread.c (decode_modified_type): Gag new compiler warning. + +2003-06-26 Elena Zannoni <ezannoni@redhat.com> + + * dwarf2read.c (dwarf2_locate_sections): Ignore empty .eh_frame + sections. + +2003-06-26 Michael Chastain <mec@shout.net> + + * config/djgpp/fnchange.lst: Add gdb/testsuite/gdb.c++/pr-1210.cc, + gdb/testsuite/gdb.c++/pr-1210.exp. + +2003-06-26 Andrew Cagney <cagney@redhat.com> + + * config/djgpp/fnchange.lst: Fix 8.3 problem with sim/ppc's + altivec_expression.h and altivec_registers.h. + +2003-06-26 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (gdb_print_insn_mips): Only explicitly set + info->mach when MIPS16. Patch suggested by Fred Fish. + +2003-06-26 Andrew Cagney <cagney@redhat.com> + + * utils.c (internal_vproblem): Print the problem to a reason + buffer and then pass to query. Make the msg variable more local. + +2003-06-26 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (FRAME_ARGS_ADDRESS): Add predicate. Deprecate. + (FRAME_LOCALS_ADDRESS): Add predicate. Deprecate. + * gdbarch.h, gdbarch.c: Re-generate. + * frame-base.c (default_frame_args_address): Update. Use + default_frame_base_address when DEPRECATED_FRAME_ARGS_ADDRESS is + not available. + (default_frame_locals_address): Ditto for + DEPRECATED_FRAME_LOCALS_ADDRESS. + * vax-tdep.c (vax_sigtramp_saved_pc): Update. + (vax_frame_num_args): Update. + (vax_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * symtab.h (address_class): Update comments. + * ns32k-tdep.c (ns32k_sigtramp_saved_pc): Update. + * config/sparc/tm-sparc.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update. + (DEPRECATED_FRAME_LOCALS_ADDRESS): Update. + * config/pa/tm-hppa64.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update. + (DEPRECATED_FRAME_LOCALS_ADDRESS): Update. + (DEPRECATED_FRAME_LOCALS_ADDRESS): Update. + * config/m68k/tm-delta68.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update. + * alpha-mdebug-tdep.c: Update. + * ada-lang.c (add_symbols_from_enclosing_procs): Update. + +2003-06-26 Andreas Jaeger <aj@suse.de> + + * x86-64-tdep.c (x86_64_push_arguments): Always set %rax to number + of SSE registers so that varargs functions work. Rework handling + of passing arguments on the stack. + (x86_64_store_return_value): Return double and float values in SSE + register. + +2003-06-24 Michael Chastain <mec@shout.net> + + * PROBLEMS: Document pr gdb/1091 and pr gdb/1193, + the "constructor breakpoints ignored" bug. + +2003-06-25 David Carlton <carlton@kealia.com> + + * MAINTAINERS: Update e-mail address. + +2003-06-24 Jim Blandy <jimb@redhat.com> + + * ppc-linux-tdep.c: More "Linux" -> "GNU/Linux". + + * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): New + function. + (ppc_linux_init_abi): Register it as the + CONVERT_FROM_FUNC_PTR_ADDR method under the PPC64 Linux ABI. + + * ppc-linux-tdep.c (ppc64_call_dummy_address): New function. + (ppc_linux_init_abi): Set it as the gdbarch's call_dummy_address + method. + + * ppc-linux-tdep.c (ppc64_desc_entry_point): New function. + (ppc64_standard_linkage_target): Use it. + +2003-06-23 Andrew Cagney <cagney@redhat.com> + + * rs6000-tdep.c (rs6000_register_virtual_type): Add explict cases + for 0 "int0" and 4 "int32" sized registers. + * gdbtypes.c (builtin_type_int0): Define. + (build_gdbtypes): Initialize builtin_type_int0. + * gdbtypes.h (builtin_type_int0): Declare. + +2003-06-23 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-tdep.c (m68hc11_gdbarch_init): Clear gdb_arch_char_signed + as characters are unsigned. + +2003-06-22 Daniel Jacobowitz <drow@mvista.com> + + PR gdb/1179 + * dwarfread.c (struct_type): Skip static fields without crashing. + +2003-06-22 Andrew Cagney <cagney@redhat.com> + + GDB 6.0 branch created. + * README: Update. + * PROBLEMS: Update. Empty. + * NEWS: Update. + +2003-06-22 Daniel Jacobowitz <drow@mvista.com> + + * symfile.c (add_symbol_file_command): Use parse_and_eval_address. + Suggested by Nick Hibma <n_hibma@webweaving.org>. + +2003-06-22 Andrew Cagney <cagney@redhat.com> + + * osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Handle + GNU_ABI_TAG_FREEBSD and GNU_ABI_TAG_NETBSD. Suggested by Momchil + Velikov. + +2003-06-22 Daniel Jacobowitz <drow@mvista.com> + + * cli/cli-cmds.c (shell_escape): Silence warnings from old + compilers. + +2003-06-21 Daniel Jacobowitz <drow@mvista.com> + + * c-valprint.c (c_value_print): Add VALUE_OFFSET to the address + argument of val_print. + * cp-valprint.c (cp_print_value): Don't add the offset parameter + to the address argument of baseclass_offset or target_read_memory. + Do add it to the argument of cp_print_value_fields. + +2003-06-21 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c: Include "reggroups.h" and "sim-regno.h". + (mips_register_name): Return names for NUM_REGS..2*NUM_REGS + instead of 0..NUM_REGS. + (mips_register_reggroup_p): New function. + (mips_pseudo_register_write): New function. + (mips_pseudo_register_read): New function. + (mips_register_raw_size): For NUM_REGS..2*NUM_REGS return the size + based on the register's type. + (read_next_frame_reg): Simplify. Assert that REGNO is a pseudo / + cooked. + (mips_get_saved_register): Simplify. Assert that REGNO is a + pseudo / cooked. + (mips_register_byte): New function. Use MIPS_REGISTER_BYTE. + (mips_register_type): Replace mips_register_virtual_type. Map + NUM_REGS..2*NUM_REGS onto 0..NUM_REGS. Use MIPS_REGISTER_TYPE + when available. + (read_next_frame_reg): Simplify, but handle SP_REGNUM. Assert + that the register is cooked / virtual. + (mips_frame_saved_pc): Fetch the cooked PC, and not the raw PC. + Only get the extra info when needed. + (set_reg_offset): Save the offset in NUM_REGS..2*NUM_REGS as well. + (mips32_heuristic_proc_desc): Fetch the cooked register. + (heuristic_proc_desc, mips_pop_frame, get_frame_pointer): Ditto. + (mips_init_extra_frame_info, get_frame_pointer): Ditto. + (mips_print_register): Use gdbarch_register_type, instead of + REGISTER_VIRTUAL_TYPE. + (print_gp_register_row): Use gdbarch_register_type, instead of + REGISTER_VIRTUAL_TYPE. Allow for a pseudo / cooked REGNUM. + (mips_print_registers_info): Assert REGNO is pseodo / cooked. + Print the pseudo / cooked registers. + (mips_print_registers_info): Assert REGNO is pseodo / cooked. + Print the pseudo / cooked registers. + (mips_xfer_register): Use regcache_cooked_read_part. Assert that + REG_NUM is pseudo / cooked. + (mips_o32_xfer_return_value): Xfer the pseudo / cooked register. + (mips_n32n64_xfer_return_value): Ditto. + (mips_stab_reg_to_regnum): Map onto NUM_REGS..2*NUM_REGS. + (mips_dwarf_dwarf2_ecoff_reg_to_regnum): Ditto. + (mips_register_sim_regno): New function. + (mips_gdbarch_init): Set deprecated_register_byte, + register_group_p, pseudo_register_write, pseudo_register_read, + register_sim_regno, and num_pseudo_regs. Set register_type, + instead of register_virtual_type. + * Makefile.in (mips-tdep.o): Update dependencies. + * config/mips/tm-mips64.h (MIPS_REGISTER_TYPE): Rename + REGISTER_VIRTUAL_TYPE. + * config/mips/tm-mips.h (MIPS_REGISTER_TYPE): Ditto. + * config/mips/tm-irix5.h (MIPS_REGISTER_TYPE): Ditto. + * config/mips/tm-mips.h (MIPS_REGISTER_BYTE): Rename REGISTER_BYTE. + * config/mips/tm-irix6.h (MIPS_REGISTER_BYTE): Ditto. + * config/mips/tm-irix5.h (MIPS_REGISTER_BYTE): Ditto. + +2003-06-21 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in (cli-cmds.o): Depend on $(gdb_vfork_h) + * cli/cli-cmds.c: Include "gdb_vfork.h". + (shell_escape): Use vfork. + +2003-06-21 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (mips_find_saved_regs): Rewrite mdebug code handling + 32 bit floating-point register saves. + + * frame.h (deprecated_unwind_get_saved_register): Delete. + * frame.c (deprecated_unwind_get_saved_register): Delete function. + * mips-tdep.c (mips_get_saved_register): Use frame_register_unwind + and deprecated_get_next_frame_hack instead of + deprecated_unwind_get_saved_register. + + * mips-tdep.c (mips_dump_tdep): Do not print + REGISTER_CONVERT_FROM_TYPE or REGISTER_CONVERT_TO_TYPE. + + * frame.c (get_frame_register): New function. + (frame_unwind_register_signed): New function. + (get_frame_register_signed): New function. + (frame_unwind_register_unsigned): New function. + (get_frame_register_unsigned): New function. + * frame.h: Add comments on naming schema. + (get_frame_register, frame_unwind_register_signed): Declare. + (get_frame_register_signed, get_frame_register_signed): Declare. + (frame_unwind_register_unsigned): Declare. + (get_frame_register_unsigned): Declare. + +2003-06-20 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_bfd_vma_bit. + +2003-06-20 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_read_pc): Use regcache instead of read_register. + (avr_read_sp): Ditto. + +2003-06-20 Daniel Jacobowitz <drow@mvista.com> + + * config/arm/linux.mt: Remove code protected by GDBSERVER define. + * config/arm/nm-linux.h: Likewise. + * config/arm/tm-linux.h: Likewise. + * config/ia64/nm-linux.h: Likewise. + * config/ia64/tm-ia64.h: Likewise. + * config/s390/tm-linux.h: Likewise. + * config/s390/tm-s390.h: Likewise. + * s390-nat.c: Likewise. + * s390-tdep.c: Likewise. + + * config/i386/linux.mt: Don't set GDBSERVER_DEPFILES. + * config/ia64/linux.mt: Likewise. + * config/m68k/linux.mh: Likewise. + * config/mips/linux.mt: Likewise. + * config/powerpc/linux.mh: Likewise. + * config/sh/linux.mt: Likewise. + +2003-06-19 Kris Warkentin <kewarken@qnx.com> + + * solib.c (solib_open): Change tests for whether to search + LD_LIBRARY_PATH and PATH to better deal with remotes. Update + comments. + +2003-06-19 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_frame_address): Delete function. + (avr_gdbarch_init): Don't call set_gdbarch_frame_args_address, + set_gdbarch_frame_args_address. + +2003-06-19 Andrew Cagney <cagney@redhat.com> + + * config/mips/tm-mips.h (REGISTER_CONVERT_TO_TYPE): Delete. + (REGISTER_CONVERT_FROM_TYPE): Delete. + (mips_register_convert_to_type): Delete declaration. + (mips_register_convert_from_type): Delete declaration. + * linux-nat.h (struct target_ops): Declare opaque. s/Linux/Linux + kernel/. + +2003-06-19 Michael Snyder <msnyder@redhat.com> + + * linux-nat.h: New file. + * linux-nat.c: Include linux-nat.h. + * lin-lwp.c: Include linux-nat.h. + Move struct lwp_info def to linux-nat.h. + * linux-proc.c: Include linux-nat.h. + (linux_make_note_section): Iterate over lwps instead of threads. + (linux_do_thread_registers): Use lwp instead of merged pid. + * config/nm-linux.h: Move miscelaneous def'ns to linux-nat.h. + * Makefile.in (lin-lwp.o, linux-proc.o, linux-nat.o): + Add dependency on linux_nat_h. + +2003-06-19 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_extract_return_value): Delete debugging fprintf. + +2003-06-19 Daniel Jacobowitz <drow@mvista.com> + + * varobj.c (get_type, get_target_type): Use check_typedef. + +2003-06-19 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.c (insert_catchpoint): Call internal_error. + +2003-06-19 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_push_dummy_code): Delete function. + (avr_gdbarch_init): Don't call set_gdbarch_push_dummy_code. + +2003-06-19 Daniel Jacobowitz <drow@mvista.com> + + * arch-utils.c (default_prepare_to_proceed): Remove. + (generic_prepare_to_proceed): Remove. + * arch-utils.h (default_prepare_to_proceed): Remove prototype. + (generic_prepare_to_proceed): Remove prototype. + * gdbarch.sh (PREPARE_TO_PROCEED): Remove. + * gdbarch.c: Regenerate. + * gdbarch.h: Regenerate. + * hppa-tdep.c (hppa_prepare_to_proceed): Remove dangling prototype. + * hppah-nat.c (hppa_switched_threads): Remove. + * infrun.c (prepare_to_proceed): New static function, copied from + generic_prepare_to_proceed. Remove select_it argument. + (proceed): Call prepare_to_proceed. + * infttrace.c (old_gdb_pid, reported_pid, reported_bpt): Remove + variables. + (ptrace_wait): Don't set the removed variables. + (hppa_switched_threads): Remove. + * lin-lwp.c (lin_lwp_prepare_to_proceed): Remove. + * config/nm-linux.h (PREPARE_TO_PROCEED): Don't define. + (lin_lwp_prepare_to_proceed): Remove prototype. + * config/i386/nm-x86-64linux.h (PREPARE_TO_PROCEED): Don't undefine. + * config/pa/nm-hppah.h (PREPARE_TO_PROCEED): Don't define. + +2003-06-18 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c: Include frame.h, frame-unwind.h, frame-base.h, and + trad-frame.h. + (AVR_MAX_PROLOGUE_SIZE): Increase from 56 to 64. + (AVR_ARG1_REGNUM, AVR_ARGN_REGNUM): Define. + (AVR_RET1_REGNUM, AVR_RETN_REGNUM): Define. + (AVR_PROLOGUE_*): Enumerate prologue types. + (struct frame_extra_info): Remove. + (struct avr_unwind_cache): Define. + (avr_write_sp): Delete function. + (avr_read_fp): Ditto. + (avr_init_extra_frame_info): Ditto. + (avr_pop_frame): Ditto. + (avr_frame_saved_pc): Ditto. + (avr_saved_pc_after_call): Ditto. + (avr_push_return_address): Ditto. + (avr_frame_chain): Ditto. + (avr_store_struct_return): Ditto. + (avr_push_arguments): Ditto. + (avr_scan_prologue): Update comments. Changed to set up the info for + cache unwinding. Now returns end of prologue PC. + (avr_skip_prologue): Better handling of functions lacking a prologue + by using avr_scan_prologue. + (avr_scan_arg_moves): New function. + (avr_saved_regs_unwinder): Ditto. + (avr_frame_unwind_cache): Ditto. + (avr_unwind_pc): Ditto. + (avr_frame_this_id): Ditto. + (avr_frame_prev_register): Ditto. + (avr_frame_p): Ditto. + (avr_frame_base_address ): Ditto. + (avr_unwind_dummy_id): Ditto. + (avr_push_dummy_code): Ditto. + (push_stack_item): Ditto. + (pop_stack_item): Ditto. + (avr_push_dummy_call): Ditto. + (struct stack_item): Define. + (avr_frame_unwind): Declare structure. + (avr_frame_base): Ditto. + (avr_gdbarch_init): Remove calls to + set_gdbarch_deprecated_init_frame_pc, + set_gdbarch_deprecated_target_read_fp, + set_gdbarch_deprecated_dummy_write_sp, + set_gdbarch_deprecated_fp_regnum, + set_gdbarch_deprecated_push_arguments, + set_gdbarch_deprecated_push_return_address, + set_gdbarch_deprecated_pop_frame, + set_gdbarch_deprecated_store_struct_return, + set_gdbarch_deprecated_frame_init_saved_regs, + set_gdbarch_deprecated_init_extra_frame_info, + set_gdbarch_deprecated_frame_chain, + set_gdbarch_deprecated_frame_saved_pc, + set_gdbarch_deprecated_saved_pc_after_call. + Add calls to set_gdbarch_push_dummy_call, + set_gdbarch_push_dummy_code, + frame_unwind_append_predicate, + frame_base_set_default, + set_gdbarch_unwind_dummy_id, + set_gdbarch_unwind_pc. + Wrap a long line. + +2003-06-18 Corinna Vinschen <vinschen@redhat.com> + + * h8300-tdep.c (h8300s_register_name): Enable MACH and MACL + registers for H8/300S. + (h8300_print_registers_info): Ditto. + (h8300_gdbarch_init): Accommodate register count for H8/300S. + +2003-06-18 Daniel Jacobowitz <drow@mvista.com> + + * config/nm-linux.h (linux_record_stopped_pid): New prototype. + * lin-lwp.c (child_wait): Call linux_record_stopped_pid. + (lin_lwp_wait): Likewise. Update comments. + * linux-nat.c (struct simple_pid_list, add_to_pid_list) + (pull_pid_from_list, linux_record_stopped_pid): New. + +2003-06-17 Stephane Carrez <stcarrez@nerim.fr> + + * ada-lang.c (scan_discrim_bound): Name first argument. + (ada_add_block_symbols): Remove BLOCK_SYM to use local variable + declared by ALL_BLOCK_SYMBOLS. + +2003-06-17 Stephane Carrez <stcarrez@nerim.fr> + + * ada-tasks.c (find_function_in_inferior): Don't declare it. + ("regcache.h"): Include it. + * ada-lex.l (block_lookup): Replace VAR_NAMESPACE with VAR_DOMAIN. + +2003-06-17 Daniel Jacobowitz <drow@mvista.com> + + * NEWS: Mention gdbserver detach change and "disconnect" command. + * infcmd.c (disconnect_command): New function. + (_initialize_infcmd): Add ``disconnect'' command. + * remote.c (remote_async_detach): Delete. + (remote_detach): Merge remote_async_detach. + (remote_disconnect): New. + (init_remote_ops): Set to_disconnect. + (init_remote_cisco_ops): Likewise. + (init_remote_async_ops): Likewise. Use remote_detach. + * target.c (cleanup_target): Default to_disconnect. + (update_current_target): Inherit to_disconnect. + (target_disconnect, debug_to_disconnect): New functions. + (setup_target_debug): Set to_disconnect. + * target.h (struct target_ops): Add to_disconnect. + (target_disconnect): Add prototype. + +2003-06-17 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.c (insert_catchpoint): New function. + (insert_breakpoints): Use catch_exceptions to call + insert_catchpoint. Disable catchpoints if they fail to insert. + +2003-06-17 Daniel Jacobowitz <drow@mvista.com> + + * symfile.c (reread_symbols): Clear sym_private. + +2003-06-17 Andrew Cagney <cagney@redhat.com> + + * trad-frame.h (struct frame_info): Add opaque declaration. + * remote-fileio.h (struct cmd_list_element): Add opaque + declaration. + * h8300-tdep.c (h8300s_register_name): Avoid C++ // style + comments. + +2003-06-17 Daniel Jacobowitz <drow@mvista.com> + + * remote.c (remote_prepare_to_store): Replace call to + deprecated_read_register_bytes with multiple regcache_raw_read + calls. + +2003-06-17 Kris Warkentin <kewarken@qnx.com> + + * nto-tdep.c (nto_map_arch_to_cputype): Recognize "powerpc". + (nto_find_and_open_solib): Likewise. + (nto_init_solib_absolute_prefix): Likewise. + (_initialize_nto_tdep): Fix indentation. + +2003-06-17 Kris Warkentin <kewarken@qnx.com> + + * i386-nto-tdep.c (i386nto_sigcontext_addr): Make sp a CORE_ADDR. + +2003-06-17 Kris Warkentin <kewarken@qnx.com> + + * i386-nto-tdep.c (i386nto_sigcontext_addr): Declare sp before using. + +2003-06-17 Jim Blandy <jimb@redhat.com> + + * ppc-linux-tdep.c: "Linux" -> "GNU/Linux" + +2003-06-16 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_extract_return_value): New function. + (avr_gdbarch_init): Set extract_return_value method. + +2003-06-16 Andrew Cagney <cagney@redhat.com> + + * frame.h (deprecated_get_next_frame_hack): Declare. + * frame.c (legacy_saved_regs_prev_register): Only require + DEPRECATED_FRAME_INIT_SAVED_REGS when it is needed. Assert that + there are always saved regs. + (deprecated_generic_get_saved_register): Do not require + DEPRECATED_FRAME_INIT_SAVED_REGS. + (legacy_get_prev_frame): Do not require DEPRECATED_FRAME_CHAIN, + use frame ID unwind instead. + (deprecated_get_next_frame_hack): New function. + +2003-06-16 Corinna Vinschen <vinschen@redhat.com> + + * h8300-tdep.c (h8300_push_arguments): Remove. Substitute by... + (h8300_push_dummy_call): ...this function. Some minor optimization. + (h8300_push_return_address): Remove. + (h8300_gdbarch_init): Remove calls to + set_gdbarch_deprecated_dummy_write_sp, + set_gdbarch_deprecated_push_arguments and + set_gdbarch_deprecated_push_return_address. + Add call to set_gdbarch_push_dummy_call. + +2003-06-16 Corinna Vinschen <vinschen@redhat.com> + + * h8300-tdep.c (E_PSEUDO_CCR_REGNUM): New define. + (E_PSEUDO_EXR_REGNUM): Ditto. + (h8300_is_argument_spill): Check for instructions moving argument + registers into safe registers. + (h8300_skip_prologue): Check for stm instruction to push registers + used for register variables onto stack. + (gdb_print_insn_h8300): Remove. + (h8300_examine_prologue): Add a comment. + (h8300_register_name): Take pseudo registers into account. + (h8300s_register_name): Ditto. + (h8300sx_register_name): Ditto. + (h8300_print_register): Ditto. + (h8300_print_registers_info): Define "nice" printing order. + (h8300_saved_pc_after_call): Take pseudo registers into account. + (h8300_register_type): Ditto. Return type used for remote connection + when requesting real CCR or EXR register, return actual type when + requesting pseudo CCR or EXR. + (h8300_pseudo_register_read): New function. + (h8300_pseudo_register_write): Ditto. + (h8300_dbg_reg_to_regnum): Ditto. + (h8300s_dbg_reg_to_regnum): Ditto. + (h8300_gdbarch_init): Call set_gdbarch_num_pseudo_regs, + set_gdbarch_ecoff_reg_to_regnum, set_gdbarch_dwarf_reg_to_regnum, + set_gdbarch_dwarf2_reg_to_regnum, set_gdbarch_stab_reg_to_regnum and + set_gdbarch_print_insn architecture dependent. + Call set_gdbarch_pseudo_register_read and + set_gdbarch_pseudo_register_write. + (_initialize_h8300_tdep): Remove assignment to deprecated_tm_print_insn. + +2003-06-16 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (SAVE_DUMMY_FRAME_TOS): Deprecate. + * gdbarch.h, gdbarch.c: Re-generate. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * infcall.c (call_function_by_hand): Update. + * ia64-tdep.c (ia64_push_arguments): Update comment. + * frame.c (legacy_get_prev_frame): Do not assume + SAVE_DUMMY_FRAME_TOS_P. + * dummy-frame.c (find_dummy_frame): Update comment. + +2003-06-16 Andrew Cagney <cagney@redhat.com> + + * regcache.c (do_cooked_read): Do not use register_valid_p. + +2003-06-15 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_register_type): Remove a blank line. + (avr_scan_prologue): Correct some comments. + +2003-06-15 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_scan_prologue): Update comment describing the various + prologue types. + Properly scan prologues generated by gcc with the -mcall-prologues + option. + Add code to scan -mcall-prologues for mega devices. + +2003-06-15 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_register_byte): Delete function. + (avr_register_raw_size): Delete function. + (avr_register_virtual_size): Delete function. + (avr_register_virtual_type): Delete function. + (avr_register_type): New function. + (avr_address_to_pointer): Remove unused code. + (avr_read_fp): Need to read FP as two separate bytes due to change to + avr_register_type() usage. + (avr_gdbarch_init): Don't set deprecated_register_size. + Don't set deprecated_register_bytes. + Don't set deprecated_register_byte. + Don't set deprecated_register_raw_size. + Don't set deprecated_max_register_raw_size. + Don't set deprecated_register_virtual_size. + Don't set deprecated_max_register_virtual_size. + Don't set deprecated_register_virtual_type. + Set register_type method. + +2003-06-15 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in (linux-nat.o): Add rule. + * linux-nat.c: New file. + * config/nm-linux.h (CHILD_INSERT_FORK_CATCHPOINT): Define. + (CHILD_INSERT_VFORK_CATCHPOINT): Define. + (CHILD_INSERT_EXEC_CATCHPOINT): Define. + * config/alpha/alpha-linux.mh (NATDEPFILES): Add linux-nat.o. + * config/arm/linux.mh (NATDEPFILES): Likewise. + * config/i386/linux.mh (NATDEPFILES): Likewise. + * config/i386/x86-64linux.mh (NATDEPFILES): Likewise. + * config/ia64/linux.mh (NATDEPFILES): Likewise. + * config/m68k/linux.mh (NATDEPFILES): Likewise. + * config/mips/linux.mh (NATDEPFILES): Likewise. + * config/powerpc/linux.mh (NATDEPFILES): Likewise. + * config/s390/s390.mh (NATDEPFILES): Likewise. + * config/sparc/linux.mh (NATDEPFILES): Likewise. + +2003-06-15 Mark Kettenis <kettenis@gnu.org> + + * i387-tdep.c: Reorder includes, fix some whitespace issues and + replace out-of-date comment. + +2003-06-15 Andrew Cagney <cagney@redhat.com> + + * rdi-share/host.h (Fail): Change to a varargs function. + * remote-rdi.c (Fail): Update. + +2003-06-15 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.c (i386_next_regnum): Fix bounds checking. + (i386_convert_register_p, i386_register_to_value, + i386_register_from_value): Handle types longer than 8 bytes. + +2003-06-15 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.c (i386_register_to_value, i386_value_to_register): + Move floating-point code to new function in i387-tdep.c. + * i387-tdep.c (i387_register_to_value, i387_value_to_register): + New functions containing code moved here from i386-tdep.c. + * i387-tdep.h: Add opaque declaration for `struct type'. + (i387_register_to_value, i387_value_to_register): New prototypes. + * x86-64-tdep.c (x86_64_convert_register_p): New function. + (x86_64_init_abi): Set convert_register_p, register_to_value and + value_to_register here. + +2003-06-14 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (mips_register_to_value): Make static. + (mips_value_to_register): Make static. + * i386-tdep.c (i386_fetch_pointer_argument): Make static. + * ia64-tdep.c (ia64_register_raw_size): Make static. + (ia64_register_virtual_size): Make static. + (ia64_register_byte): Make static. + * i387-tdep.c: Include "i387-tdep.h". + (print_387_control_word): Delete function. + (print_387_status_word): Delete function. + (print_387_status_bits): Delete function. + (print_387_control_bits): Delete function. + * Makefile.in (i387-tdep.o): Update dependencies. + * rdi-share/host.h (Fail): Declare. + * remote-rdi.c (Fail): Update to match declaration. + +2003-06-14 Andrew Cagney <cagney@redhat.com> + + * config/mips/embedl64.mt (TDEPFILES): Delete "remote-array.o". + * config/mips/embedl.mt (TDEPFILES): Delete "remote-array.o". + * config/mips/embed64.mt (TDEPFILES): Delete "remote-array.o". + * config/djgpp/fnchange.lst: Delete "remote-array.c". + * README: Delete reference to remote-array. + * Makefile.in (ALLDEPFILES): Remove "remote-array.c". + (remote-array.o): Delete target. + * config/mips/embed.mt (TDEPFILES): Delete "remote-array.o". + * remote-array.c: Delete file. + +2003-06-14 Andrew Cagney <cagney@redhat.com> + Mark Kettenis <kettenis@gnu.org> + + * gdbarch.sh (CONVERT_REGISTER_P): Add "type" parameter. + (REGISTER_TO_VALUE, VALUE_TO_REGISTER): Replace raw buffer + parameter with "frame". + * gdbarch.h, gdbarch.c: Re-generate. + * frame.h (put_frame_register): Declare. + * frame.c (put_frame_register): New function. + * arch-utils.c (legacy_convert_register_p): Add "type" parameter. + (legacy_register_to_value): Rewrite, use "frame" to get the + register value. + (legacy_value_to_register): Rewrite, use "frame" to find the + register's location before storing. + * arch-utils.h (legacy_convert_register_p): Update. + (legacy_register_to_value, legacy_value_to_register): Update. + * findvar.c (value_from_register): Rewrite, eliminate use of + REGISTER_CONVERT_TO_TYPE, pass "type" to CONVERT_REGISTER_P, pass + "frame" to REGISTER_TO_VALUE. + * valops.c (value_assign): Move the CONVERT_REGISTER code to the + lval_reg_frame_relative + lval_register branch of the switch. Do + not use REGISTER_CONVERT_FROM_TYPE. Use put_frame_register. + * i386-tdep.c (I386_EBX_REGNUM, I386_ECX_REGNUM, I386_ESI_REGNUM, + I386_EDI_REGNUM): New defines. + (i386_next_regnum, i386_convert_register_p, + i386_register_to_value, i386_value_to_register): New functions. + (i386_register_convertible, i386_register_convert_to_virtual, + i386_convert_to_raw): Remove functions. + (i386_gdbarch_init): Set convert_register_p, register_to_value and + value_to_register instead of register_convertible, + register_convert_to_virtual and register_convert_to_raw. + * mips-tdep.c (mips_convert_register_p): New function. + (mips_value_to_register): Replace mips_register_convert_from_type. + (mips_register_to_value): Replace mips_register_convert_to_type. + (mips_gdbarch_init): Set conver_register_p, value_to_register and + register_to_value. + * alpha-tdep.c (alpha_convert_register_p): Update. + (alpha_value_to_register): Update, store the register. + (alpha_register_to_value): Update, fetch the register. + +2003-06-14 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_remote_translate_xfer_address): Delete function. + (avr_gdbarch_init): Remove avr_call_dummy_words variable. + Don't set deprecated_call_dummy_words. + Remove commented out set_gdbarch_believe_pcc_promotion() call. + Don't set remote_translate_xfer_address. + (avr_io_reg_read_command): Remove commented out debug printf. + Wrap a long line. + +2003-06-14 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_scan_prologue): Fix to avoid a buffer over run which + causes gdb to seg fault. + +2003-06-14 Daniel Jacobowitz <drow@mvista.com> + + * sparc-nat.c (fetch_inferior_registers): Correct + a reference to "registers". + +2003-06-14 Jeroen Dekkers <jeroen@dekkers.cx> + + * Makefile.in (exc_request_U_h): Define + (exc_request_S_h): Likewise. + (msg_reply_S_h): Likewise. + (msg_U_h): Likewise. + (notify_S_h): Likewise. + (process_reply_S_h): Likewise. + (gnu-nat.o): Depend on gdb_obstack_h + * gnu-nat.c: Include "gdb_obstack.h". + +2003-06-13 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh: Document what PUSH_DUMMY_CALL replaces. + * gdbarch.h, gdbarch.c: Re-generate. + +2003-06-13 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh: Document what UNWIND_DUMMY_ID replaces. Clarify + when deprecated REGISTER macros can be deleted. + * gdbarch.h, gdbarch.c: Re-generate. + +2003-06-13 Jim Blandy <jimb@redhat.com> + + * solib-svr4.c (solib_break_names): Recognize the 64-bit PowerPC + Linux entry point symbols for _dl_debug_state, too. + +2003-06-13 Andrew Cagney <cagney@redhat.com> + + * infcall.c (call_function_by_hand): When UNWIND_DUMMY_ID is + available, do not use the FP register, and always save the TOS. + * dummy-frame.c (dummy_frame_this_id): Do not assert + SAVE_DUMMY_FRAME_TOS. + * i386-tdep.c (i386_save_dummy_frame_tos): Delete function. + (i386_gdbarch_init): Do not set save_dummy_frame_tos. + (i386_push_dummy_call): Add 8 to the returned SP. + * frame.c (legacy_frame_p): Do not require SAVE_DUMMY_FRAME_TOS. + * d10v-tdep.c (d10v_unwind_dummy_id): Use d10v_unwind_sp. + (d10v_gdbarch_init): Do not set save_dummy_frame_tos. + * x86-64-tdep.c (x86_64_save_dummy_frame_tos): Delete function. + (x86_64_push_dummy_call): Return "sp + 16". + (x86_64_init_abi): Do not set save_dummy_frame_tos. + * alpha-tdep.c (alpha_gdbarch_init): Do not set + save_dummy_frame_tos. + +2003-06-13 Jim Blandy <jimb@redhat.com> + + * frv-tdep.c (frv_use_struct_convention): Delete static + declaration for function deleted in my change of 2003-06-12. + +2003-06-13 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_address_to_pointer): Shift code addrs right 1 bit. + (avr_pointer_to_address): Shift code addrs left 1 bit. + (avr_convert_from_func_ptr_addr): Delete function since operation is + better handled by avr_address_to_pointer and avr_pointer_to_address. + (avr_gdbarch_init): Don't set convert_from_func_ptr_add method. + +2003-06-13 Mark Kettenis <kettenis@gnu.org> + + From Kelley Cook <kelleycook@wideopenwest.com>: + * configure.host: Accept i[34567]86 variants. + * configure.tgt: Likewise. + * nlm/configure.in: Likewise. + * nlm/configure: Regenerated. + +2003-06-13 Richard Earnshaw <rearnsha@arm.com> + + * arm-tdep.c (solib-svr4.h): Dont' include it. + (arm_linux_svr4_fetch_link_map_offsets): Move to ... + * arm-linux-tdep.c: ... here. Make static. + (arm_linux_init_abi): Register it. + (solib-svr4.h): Include it. + * Makefile.in: Update dependencies. + * config/arm/tm-linux.h (SVR4_FETCH_LINK_MAP_OFFSETS): Delete. + (arm_linux_svr4_fetch_link_map_offsets): Delete declaration. + +2003-06-13 Corinna Vinschen <vinschen@redhat.com> + + * h8300-tdep.c: Add definitions E_RET0_REGNUM and E_RET1_REGNUM to + indicate registers used for return values. + (struct frame_extra_info): Drop args_pointer and locals_pointer. + (h8300_examine_prologue): Remove initializing dropped frame_extra_info + members. + (h8300_init_extra_frame_info): Ditto. + (h8300_frame_locals_address): Removed. + (h8300_frame_args_address): Removed. + (h8300_extract_return_value): Use new regcache structure. Only care + for 16 bit CPUs. + (h8300h_extract_return_value): Same function for 32 bit CPUs. + (h8300_store_return_value): Use new regcache structure. Only care + for 16 bit CPUs. + (h8300h_store_return_value): Same function for 32 bit CPUs. + (h8300_store_struct_return): Removed. + (h8300_extract_struct_value_address): Use new regcache structure. + (h8300h_extract_struct_value_address): Removed. + (h8300_push_dummy_code): New function. + (h8300_gdbarch_init): Slightly rearranged to stress deprecated calls. + Remove call_dummy_words. Call set_gdbarch_extract_return_value and + set_gdbarch_store_return_value architecture dependent. + Call set_gdbarch_push_dummy_code and + set_gdbarch_extract_struct_value_address. + Remove calls to set_gdbarch_frame_args_address, + set_gdbarch_frame_locals_address, + set_gdbarch_deprecated_store_struct_return, + set_gdbarch_deprecated_extract_return_value, + set_gdbarch_deprecated_extract_struct_value_address, + set_gdbarch_deprecated_call_dummy_words and + set_gdbarch_deprecated_sizeof_call_dummy_words. + +2003-06-13 Corinna Vinschen <vinschen@redhat.com> + + * h8300-tdep.c (h8300_register_byte): Remove. + (h8300h_register_byte): Remove. + (h8300_register_virtual_type): Remove. Substitute by... + (h8300_register_type): New function. + (h8300_extract_struct_value_address): Drop usage of h8300_register_byte. + (h8300h_extract_struct_value_address): Ditto. + (h8300_gdbarch_init): Drop calls to + set_gdbarch_deprecated_register_byte and + set_gdbarch_deprecated_register_virtual_type. + Add call to set_gdbarch_register_type. + +2003-06-13 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh: Update comments on registers. + (deprecated_register_byte): Rename register_byte. + (deprecated_register_raw_size): Rename register_raw_size. + (deprecated_register_virtual_size): Rename register_virtual_size. + (deprecated_register_virtual_type): Rename register_virtual_type. + * gdbarch.h, gdbarch.c: Re-generate. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * vax-tdep.c (vax_gdbarch_init): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * ns32k-tdep.c: Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * hppa-tdep.c (hppa_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * alpha-tdep.c (alpha_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + +2003-06-13 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (mips_gdbarch_init): Replace remaining instances of + mips_o32_use_struct_convention with always_use_struct_convention. + +2003-06-12 David Carlton <carlton@kealia.com> + + * cp-namespace.c (cp_set_block_scope): Comment out + processing_has_namespace_info branch. + +2003-06-12 Jim Blandy <jimb@redhat.com> + + Recognize and skip 64-bit PowerPC Linux linkage functions. + * ppc-linux-tdep.c (insn_d, insn_ds, insn_xfx, read_insn, struct + insn_pattern, insns_match_pattern, d_field, ds_field): New + functions, macros, and types for working with PPC instructions. + (ppc64_standard_linkage, PPC64_STANDARD_LINKAGE_LEN, + ppc64_in_solib_call_trampoline, ppc64_standard_linkage_target, + ppc64_skip_trampoline_code): New functions, variables, and macros + for recognizing and skipping linkage functions. + (ppc_linux_init_abi): Use ppc64_in_solib_call_trampoline and + ppc64_skip_trampoline_code for the 64-bit PowerPC Linux ABI. + + * ppc-linux-nat.c (ppc_register_u_addr): Correctly compute u-area + register offsets for both the 32- and 64-bit interfaces. + + Actually finish the job started by my change of 2003-05-29. + * config/powerpc/tm-linux.h (SKIP_TRAMPOLINE_CODE): Remove the + other #definition of this. + (ppc_linux_skip_trampoline_code): Remove declaration. + * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Make this + static. + (ppc_linux_init_abi): Register it as the skip_trampoline_code + method for GDBARCH. + + * config/powerpc/nm-ppc64-linux.h (PTRACE_XFER_TYPE): This is + 'long' on ppc64-*-linux*. + + * ppc-linux-nat.c (ppc_register_u_addr, fill_gregset): If PT_MQ + isn't #defined, assume the register doesn't exist: act as if + tdep->ppc_mq_regnum were -1. + + * configure.host, configure.tgt: Add entries for + powerpc64-*-linux, selecting powerpc/ppc64-linux.mh and + powerpc/linux.mt. + * config/powerpc/ppc64-linux.mh, config/powerpc/nm-ppc64-linux.mh: + New files. + + * arch-utils.c (always_use_struct_convention): New function. + * arch-utils.h (always_use_struct_convention): New prototype. + * alpha-tdep.c (alpha_use_struct_convention): Delete. + (alpha_gdbarch_init): Register always_use_struct_convention, + instead of alpha_use_struct_convention. + * cris-tdep.c (cris_use_struct_convention): Delete. + (cris_gdbarch_init): Register always_use_struct_convention, + instead of cris_use_struct_convention. + * frv-tdep.c (frv_use_struct_convention): Delete. + (frv_gdbarch_init): Register always_use_struct_convention, + instead of frv_use_struct_convention. + * h8300-tdep.c (h8300_use_struct_convention): Delete. + (h8300_gdbarch_init): Register always_use_struct_convention, + instead of h8300_use_struct_convention. + * mips-tdep.c (mips_o32_use_struct_convention): Delete. + (mips_o32_gdbarch_init): Register always_use_struct_convention, + instead of mips_o32_use_struct_convention. + +2003-06-12 Andrew Cagney <cagney@redhat.com> + + * wince.c: Include "mips-tdep.h". + * mips-tdep.h (mips_next_pc): Declare. + * mcore-tdep.c: Make more local functions static. + * Makefile.in (wince.o): Update dependencies. + +2003-06-12 David Carlton <carlton@kealia.com> + + * symtab.c (lookup_symbol_aux_minsyms): Replace + DEPRECATED_SYMBOL_NAME by SYMBOL_LINKAGE_NAME. + (find_pc_sect_line, search_symbols, rbreak_command): Ditto. + (COMPLETION_LIST_ADD_SYMBOL): Rewrite in terms of + SYMBOL_NATURAL_NAME. + +2003-06-12 Andreas Schwab <schwab@suse.de> + + * Makefile.in (tuiDisassem.o): Update dependencies. + +2003-06-12 David Carlton <carlton@bactrian.org> + + * symtab.h: Delete declaration of make_symbol_overload_list. + Add declaration of lookup_partial_symbol. + * symtab.c (remove_params): Move to cp-support.c. + (overload_list_add_symbol, make_symbol_overload_list) + (sym_return_val_size, sym_return_val_index): Ditto. + (lookup_partial_symbol): Make extern. + * cp-support.h: Add declaration of make_symbol_overload_list. + * cp-support.c: Include dictionary.h, objfiles.h, frame.h, + symtab.h, and block.h. + (remove_params): Move here from symtab.c. + (overload_list_add_symbol, make_symbol_overload_list) + (sym_return_val_size, sym_return_val_index): Ditto. + * valops.c: Include cp-support.h. + * Makefile.in (cp-support.o): Depend on dictionary_h, objfiles_h, + frame_h, and block_h. + (valops.o): Depend on cp_support_h. + +2003-06-12 Corinna Vinschen <vinschen@redhat.com> + + * h8300-tdep.c: Add H8SX registers. Drop E_NUM_REGS entirely, + substitute by NUM_REGS throughout. + (h8300_register_name): Only care for H8/300 and H8/300H registers. + (h8300s_register_name): New function for H8S registers. + (h8300sx_register_name): Ditto for H8SX registers. + (h8300_print_register): Revise register printing, avoid depending + on 32 bit long. + (h8300_register_byte): Only care for H8/300 registers. + (h8300h_register_byte): New function for any other architecture. + (h8300_register_raw_size): Remove. + (h8300_register_virtual_type): Revise to return actually useful + type. + (h8300_extract_struct_value_address): Only care for H8/300 registers. + (h8300h_extract_struct_value_address): New function for any other + architecture. + (h8300_gdbarch_init): Add h8300sxn. Call set_gdbarch_num_regs, + set_gdbarch_register_name, set_gdbarch_register_byte, + set_gdbarch_ptr_bit and set_gdbarch_addr_bit architecture dependent. + Remove calls to set_gdbarch_deprecated_register_size, + set_gdbarch_deprecated_register_bytes, set_gdbarch_register_raw_size, + set_gdbarch_deprecated_max_register_raw_size, + set_gdbarch_register_virtual_size and + set_gdbarch_deprecated_max_register_virtual_size entirely. + Call set_gdbarch_long_long_bit, set_gdbarch_double_bit and + set_gdbarch_long_double_bit. + +2003-06-11 Jeff Johnston <jjohnstn@redhat.com> + + * doublest.c (convert_doublest_to_floatformat): When dealing + with the implied integer bit, only alter mant_bits if we are + processing a full 32 bits of mantissa. + +2003-06-11 David Carlton <carlton@bactrian.org> + + * dictionary.h: New. + * dictionary.c: New. + * block.h: Add opaque declaration for struct dictionary. + (struct block): Add 'dict' member; delete 'hashtable', 'nsyms', + 'sym' members. + (BLOCK_DICT): New macro. + Delete macros BLOCK_HASHTABLE, BLOCK_NSYMS, BLOCK_SYM, + BLOCK_BUCKETS, BLOCK_BUCKET, BLOCK_HASHTABLE_SIZE, + BLOCK_SHOULD_SORT. + (ALL_BLOCK_SYMBOLS): Update definition. + * Makefile.in (SFILES): Add dictionary.c. + (dictionary_h): New. + (COMMON_OBS): Add dictionary.o. + (dictionary.o): New. + (ada-lang.o): Depend on dictionary_h. + (buildsym.o, coffread.o, jv-lang.o, mdebugread.o, objfiles.o) + (stack.o, symmisc.o, symtab.o, tracepoint.o, valops.o) + (mi-cmd-stack.o): Ditto. + (gdbtk-cmds.o): Update dependencies. + (gdbtk-stack.o): Ditto. + * ada-lang.c: Include dictionary.h. + (symtab_for_sym): Update uses of ALL_BLOCK_SYMBOLS. + (fill_in_ada_prototype, debug_print_block): Ditto. + (ada_add_block_symbols): Update uses of ALL_BLOCK_SYMBOLS; replace + explicit iteration by use of ALL_BLOCK_SYMBOLS. Delete variable + 'is_sorted'. + * mdebugread.c: Include dictionary.h. + (struct parse_stack): Delete 'maxsyms' member. + (parse_symbol): Update calls to new_block. Delete calls to + shrink_block. Use dictionary methods. + (psymtab_to_symtab_1): Delete calls to sort_symtab_syms. + Update calls to new_symtab. Don't maintain maxsyms data. + (mylookup_symbol): Update use of ALL_BLOCK_SYMBOLS. + (add_symbol): Just call dict_add_symbol. + (new_symtab): Delete 'maxsyms' argument. + (new_symtab): Update calls to new_block. + (new_block): Delete 'maxsyms' argument; add 'function' argument. + (shrink_block): Delete function. + (fixup_sigtramp): Update call to new_block. Add symbol via + dict_add_symbol. + * jv-lang.c: Include dictionary.h. + (get_java_class_symtab): Set the BLOCK_DICT of the blocks + appropriately. Set class_symtab->free_func. Make sure the + blockvector is big enough to hold two blocks. + (add_class_symtab_symbol): Use dictionary methods. + (free_class_block): New function. + (type_from_class): Replace explicit iteration by + ALL_BLOCK_SYMBOLS. + * symtab.h (struct symtab): Replace 'free_ptr' method by + 'free_func'. + * dwarf2read.c (psymtab_to_symtab_1): Delete call to + sort_symtab_syms. + * dwarfread.c (psymtab_to_symtab_1): Delete call to + sort_symtab_syms. + * coffread.c (coff_symfile_read): Delete call to sort_symtab_syms. + Include dictionary.h. + (patch_opaque_types): Update use of ALL_BLOCK_SYMBOLS. + * dbxread.c (dbx_psymtab_to_symtab_1): Delete call to + sort_symtab_syms. + * objfiles.c: Include dictionary.h. + (objfile_relocate): Update use of ALL_BLOCK_SYMBOLS. + * buildsym.c: Include dictionary.h. + (finish_block): Use dictionary methods. + (end_symtab): Set free_func to NULL, not free_ptr. + * tracepoint.c: Include dictionary.h. + (add_local_symbols): Update use of ALL_BLOCK_SYMBOLS. + (scope_info): Ditto. + * stack.c: Include dictionary.h. + (print_block_frame_locals): Update use of ALL_BLOCK_SYMBOLS. + (print_block_frame_labels, print_frame_arg_vars) + (print_frame_args): Ditto. + * symmisc.c (free_symtab_block): Use dictionary methods. + (dump_symtab): Ditto. + (free_symtab): Replace use of 'free_ptr' by 'free_func'. + Include dictionary.h. + * symfile.h: Delete declarations of sort_block_syms, + sort_symtab_syms. + * symfile.c (sort_block_syms): Delete. + (sort_symtab_syms): Delete. + * symtab.c: Include dictionary.h. + (lookup_block_symbol): Use dictionary iterators. + (find_pc_sect_symtab): Update use of ALL_BLOCK_SYMBOLS. + (search_symbols, make_symbol_completion_list): Ditto. + (make_symbol_overload_list): Ditto. + * valops.c (value_of_local): Use dict_empty. + Include dictionary.h. + +2003-06-11 J. Brobecker <brobecker@gnat.com> + + * win32-nat.c (solib_symbols_add): Fix a small compilation error. + +2003-06-11 David Carlton <carlton@bactrian.org> + + * block.h (BLOCK_SHOULD_SORT): Delete. + * symtab.c (lookup_block_symbol): Don't worry about sorted linear + blocks. + * ada-lang.c (ada_add_block_symbols): Ditto. + * symfile.c (sort_block_syms): Delete. + (sort_symtab_syms): Ditto. + * symfile.h: Delete sort_symtabs_syms and sort_block_syms + declarations. + * coffread.c (coff_symfile_read): Don't call sort_symtab_syms. + * dbxread.c (dbx_psymtab_to_symtab_1): Ditto. + * dwarf2read.c (psymtab_to_symtab_1): Ditto. + * dwarfread.c (psymtab_to_symtab_1): Ditto. + * hpread.c (hpread_psymtab_to_symtab_1): Ditto. + * mdebugread.c (psymtab_to_symtab_1): Ditto. + * xcoffread.c (xcoff_psymtab_to_symtab_1): Ditto. + +2003-06-11 Jeff Johnston <jjohnstn@redhat.com> + + * ia64-tdep.c (ia64_gdbarch_init): Set number of long double + bits to 128. + +2003-06-11 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_REGISTER_CONVERTIBLE): Deprecate + REGISTER_CONVERTIBLE. + (DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL): Same. + (DEPRECATED_REGISTER_CONVERT_TO_RAW): Same, make "from" constant. + * gdbarch.h, gdbarch.c: Re-generate. + * arch-utils.h (deprecated_register_convertible_not): Rename + generic_register_convertible_not. + * arch-utils.c (deprecated_register_convertible_not): Rename + generic_register_convertible. + (legacy_convert_register_p, legacy_register_to_value): Update. + * sh-tdep.c (sh64_push_arguments): Update. + * m68klinux-tdep.c (m68k_linux_extract_return_value): Update. + * config/m68k/tm-delta68.h (DEPRECATED_EXTRACT_RETURN_VALUE): Update. + * m68klinux-tdep.c (m68k_linux_store_return_value): Update. + * config/m68k/tm-delta68.h (DEPRECATED_STORE_RETURN_VALUE): Update. + * arch-utils.c (legacy_value_to_register): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + (rs6000_register_convert_to_raw): Make parameter "from" const. + * mips-tdep.c (mips_gdbarch_init): Update. + (mips_register_convert_to_raw): Make parameter"virt_buf" const. + * infcmd.c (default_print_registers_info): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + (ia64_register_convert_to_raw): Make parameter "from" const. + * i386-tdep.c (i386_gdbarch_init): Update. + (i386_register_convert_to_raw): Update. + +2003-06-11 Andrew Cagney <cagney@redhat.com> + + * remote-fileio.c: Include "remote-fileio.h". + * Makefile.in (remote-fileio.o): Update dependencies. + (remote_fileio_h): Fix typo. + +2003-06-11 Andrew Cagney <cagney@redhat.com> + + * xstormy16-tdep.c (xstormy16_push_return_address): Make static. + (xstormy16_save_dummy_frame_tos): Make static. + (_initialize_xstormy16_tdep): Add declaration. + * vax-tdep.c (_initialize_vax_tdep): Add declaration. + * v850-tdep.c: Make local functions static. + (_initialize_v850_tdep): Add declaration. + * sparc-tdep.c: Make local functions static. + (_initialize_sparc_tdep): Add declaration. + * sh-tdep.c: Make local functions static. + (_initialize_sh_tdep): Add declaration. + * sh3-rom.c (_initialize_sh3_rom): Add declaration. + * s390-tdep.c: Make local functions static. + (_initialize_s390_tdep): Add declaration. + * dbxread.c (find_stab_function_addr): Make static. + * ppc-bdm.c (_initialize_bdm_ppc): Add declaration. + * ocd.c (_initialize_remote_ocd): Add declaration. + * dink32-rom.c (_initialize_dink32_rom): Add declaration. + * ppcbug-rom.c (_initialize_ppcbug_rom): Add declaration. + * ns32k-tdep.c (_initialize_ns32k_tdep): Add declaration. + * ns32knbsd-tdep.c (_initialize_ns32knbsd_tdep): Add declaration. + * mips-tdep.c (_initialize_mips_tdep): Add declaration. + * remote-array.c (_initialize_array): Add declaration. + (_initialize_remote_monitors): Add declaration. + * remote-mips.c: Make local functions static. + (_initialize_remote_mips): Add declaration. + * mcore-tdep.c: Make all local functions static. + (_initialize_mcore_tdep): Add declaration. + * dbug-rom.c (_initialize_dbug_rom): Add declaration. + * abug-rom.c (_initialize_abug_rom): Add declaration. + * rom68k-rom.c (_initialize_rom68k): Add declaration. + * cpu32bug-rom.c (_initialize_cpu32bug_rom): Add declaration. + * m68k-tdep.c (_initialize_m68k_tdep): Add declaration. + * remote-est.c (_initialize_est): Add declaration. + * m68hc11-tdep.c (_initialize_m68hc11_tdep): Add declaration. + (m68hc11_call_dummy_address): Make static. + * ia64-tdep.c: Make local functions static. + (_initialize_ia64_tdep): Add declaration. + * solib-legacy.c (_initialize_svr4_lm): Add declaration. + * monitor.c (monitor_wait_filter): Make static. + (_initialize_remote_monitors): Add declaration. + * remote-hms.c (_initialize_remote_hms): Add declaration. + * remote-e7000.c (fetch_regs_from_dump): Make static. + (expect_n): Make static. + (_initialize_remote_e7000): Add declaration. + * ser-e7kpc.c: Always include "defs.h". + (_initialize_ser_e7000pc): Add declaration. + * h8300-tdep.c (_initialize_h8300_tdep): Add declaration. + * cris-tdep.c: Make all but one function static. + (_initialize_cris_tdep): Add declaration. + * solib-svr4.c (_initialize_svr4_solib): Add declaration. + * solib.c (update_solib_list): Make static. + (_initialize_solib): Add declaration. + * avr-tdep.c (avr_breakpoint_from_pc): Make static. + (_initialize_avr_tdep): Add declaration. + * remote-rdi.c (voiddummy): Make static. + (_initialize_remote_rdi): Add declaration. + * arm-tdep.c (_initialize_arm_tdep): Add declaration. + * remote-rdp.c (send_rdp): Make static. + (_initialize_remote_rdp): Add declaration. + * alpha-tdep.c (_initialize_alpha_tdep): Add declaration. + +2003-06-11 Corinna Vinschen <vinschen@redhat.com> + + * remote-fileio.c: Make ari happy. + +2003-06-10 J. Brobecker <brobecker@gnat.com> + + * rs6000-nat.c (child_xfer_memory): Compute the right address when + fetching the trailing bytes of the buffer we are about to write. + +2003-06-10 Andrew Cagney <cagney@redhat.com> + + * remote-fileio.h (REMOTE_FILEIO_H): Replace FILEIO_H. + * Makefile.in (remote-fileio.o): Update dependencies. + * remote-fileio.c: Include "gdb_wait.h" and "gdb_stat.h". Do not + include <setjmp.h>, or <sys/types.h> conditional on USG. + (remote_fio_jmp_buf): Delete global variable. + +2003-06-10 Corinna Vinschen <vinschen@redhat.com> + Martin M. Hunt <hunt@redhat.com> + + * Makefile.in (REMOTE_OBS): Add remote-fileio.o + (SFILES): Add remote-fileio.c. + Add dependencies for building remote-fileio.o. Add remote-fileio.h to + dependencies for building remote.o. + * remote-fileio.c: New file implementing the remote File-I/O protocol. + * remote-fileio.h: New header file defining remote File-I/O interface. + * remote.c (remote_write_bytes, remote_read_bytes): Remove + static storage class. + (remote_wait, remote_async_wait): Call remote_fileio_request() on + 'F' packet. + (_initialize_remote): Call initialize_remote_fileio(). + * remote.h: Declare remote_write_bytes() and remote_read_bytes(). + * defs.h: Declare gdb_stdin, gdb_stdtargerr and gdb_stdtargin. + * main.c: New ui_file gdb_stdin, gdb_stdtargerr and gdb_stdtargin. + (captured_main): Initialize new ui_files. + * ui-file.c: Add read and fgets input functions. + (ui_file_new): set ui_file_fputs and ui_file_read to null functions. + (null_file_read): New function. + (ui_file_read): New function. + (set_ui_file_read): New function. + (stdio_file_read): New function. + * ui-file.h: New type ui_file_read_ftype. + (set_ui_file_read): Declare. + (ui_file_read): Declare. + +2003-06-09 Andrew Cagney <cagney@redhat.com> + + * frame.h (deprecated_unwind_get_saved_register): Rename + generic_unwind_get_saved_register, update comments. + * mips-tdep.c (mips_get_saved_register): Update. + * frame.c (deprecated_unwind_get_saved_register): Update. + +2003-06-09 Andrew Cagney <cagney@redhat.com> + + * vax-tdep.c (vax_frame_locals_address): Delete function. + (vax_gdbarch_init): Do not set frame_locals_address. + * m68hc11-tdep.c (m68hc11_frame_locals_address): Delete function. + (m68hc11_gdbarch_init): Do not set frame_locals_address. + * s390-tdep.c (s390_frame_args_address): Delete function. + (s390_gdbarch_init): Do not set frame_args_address or + frame_locals_address. + * ns32k-tdep.c (ns32k_frame_locals_address): Delete. + (ns32k_gdbarch_init): Do not set frame_locals_address. + * hppa-tdep.c (hppa_frame_args_address): Delete function. + (hppa_frame_locals_address): Delete function. + (hppa_gdbarch_init): Do not set frame_args_address, or + frame_locals_address. + * arm-tdep.c (arm_frame_args_address): Delete. + (arm_frame_locals_address): Delete. + (arm_gdbarch_init): Do not set frame_args_address, or + frame_locals_address. + +2003-06-09 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (FRAME_NUM_ARGS): Change to function with predicate. + * gdbarch.h, gdbarch.c: Re-generate. + * arch-utils.h (frame_num_args_unknown): Delete both declarations. + * arch-utils.c (frame_num_args_unknown): Delete function. + * stack.c (print_args_stub): Use FRAME_NUM_ARGS_P. + (frame_info): Use FRAME_NUM_ARGS_P. + * arm-tdep.c (arm_frame_num_args): Delete function. + (arm_gdbarch_init): Do not set frame_num_args. + * config/pa/tm-hppa64.h (FRAME_NUM_ARGS): Delete. + * hppa-tdep.c (hppa_frame_num_args): Delete function. + (hppa_gdbarch_init): Do not set frame_num_args. + * config/sparc/tm-sparc.h (FRAME_NUM_ARGS): Delete. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set + frame_num_args to default frame_num_args_unknown. + * v850-tdep.c (v850_gdbarch_init): Ditto. + * sparc-tdep.c (sparc_gdbarch_init): Ditto. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * s390-tdep.c (s390_gdbarch_init): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. + * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. + * mips-tdep.c (mips_gdbarch_init): Ditto. + * mcore-tdep.c (mcore_gdbarch_init): Ditto. + * m68k-tdep.c (m68k_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * ia64-tdep.c (ia64_gdbarch_init): Ditto. + * i386-tdep.c (i386_gdbarch_init): Ditto. + * h8300-tdep.c (h8300_gdbarch_init): Ditto. + * frv-tdep.c (frv_gdbarch_init): Ditto. + * d10v-tdep.c (d10v_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + * avr-tdep.c (avr_gdbarch_init): Ditto. + * alpha-tdep.c (alpha_gdbarch_init): Ditto. + +2003-06-09 Andrew Cagney <cagney@redhat.com> + + * printcmd.c (print_frame_nameless_args): Moved to "stack.c". + (print_frame_args): Moved to "stack.c". + * stack.c: Include "gdb_assert.h". + (print_frame_nameless_args): Moved from "printcmd.c", made static. + (print_frame_args): Moved from "printcmd.c". + * frame.h (print_frame_args): Delete declaration. + * Makefile.in (stack.o): Update dependencies. + +2003-06-08 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_prev_frame): Remove reference to + frame_args_address_correct in comments. + * frame-base.c (default_frame_args_address): Delete code + conditional on FRAME_ARGS_ADDRESS_CORRECT. + * vax-tdep.c (vax_frame_args_address_correct): Delete. + (vax_frame_args_address): Merge in vax_frame_args_address_correct. + * config/vax/tm-vax.h (FRAME_ARGS_ADDRESS_CORRECT): Delete + (vax_frame_args_address_correct): Delete declaration. + +2003-06-08 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (UNWIND_SP): Add. + * gdbarch.h, gdbarch.c: Re-generate. + * frame.c (frame_sp_unwind): New function. + (get_frame_sp): New function. + * frame.h (get_frame_sp, frame_sp_unwind): Declare. + * regcache.c (read_sp): Rewrite, try each of TARGET_READ_SP, + gdbarch_unwind_sp and SP_REGNUM when looking for the SP register + value. + * d10v-tdep.c (d10v_unwind_sp): Replace d10v_read_sp. + (d10v_gdbarch_init): Set unwind_sp instead of read_sp. + +2003-06-08 Andrew Cagney <cagney@redhat.com> + + Deprecate BIG_REMOTE_BREAKPOINT, LITTLE_REMOTE_BREAKPOINT and + REMOTE_BREAKPOINT. + * remote.c: Update. + * config/sh/tm-sh.h (DEPRECATED_BIG_REMOTE_BREAKPOINT): Update. + (DEPRECATED_LITTLE_REMOTE_BREAKPOINT): Update. + * config/m68k/tm-sun3.h: Update. + * config/m68k/tm-m68klynx.h: Update. + * config/h8300/tm-h8300.h (DEPRECATED_REMOTE_BREAKPOINT): Update. + + * trad-frame.h (struct trad_frame_saved_reg): Rename "struct + trad_frame". Update comments. + * d10v-tdep.c (struct d10v_unwind_cache): Update. + * trad-frame.c (trad_frame_alloc_saved_regs): Update. + (trad_frame_register_value, trad_frame_prev_register): Update. + +2003-06-08 Andrew Cagney <cagney@redhat.com> + + * acinclude.m4 (gcc_AC_CHECK_DECL, (gcc_AC_CHECK_DECL): Stolen + from GCC's acinclude.m4. + * configure.in: Check for getopt's delcaration. + * aclocal.m4, config.in, configure: Re-generate. + * main.c (error_init): Delete declaration. + * defs.h (error_init): Declare. + * rs6000-tdep.c (rs6000_fetch_pointer_argument): Make static. + (rs6000_convert_from_func_ptr_addr): Make static. + (_initialize_rs6000_tdep): Add declaration. + * cli/cli-cmds.c (dont_repeat): Delete declaration. + (show_commands, set_verbose, show_history): Delete declaration. + * top.h (set_verbose): Add declaration. + (show_history, set_history, show_commands): Add declaration. + (do_restore_instream_cleanup): Add declaration. + * objc-lang.c (specialcmp): Make static. + (print_object_command): Make static. + (find_objc_msgsend): Make static. + (find_objc_msgcall_submethod_helper): Make static. + (find_objc_msgcall_submethod): Make static. + (_initialize_objc_language): Add declaration. + (find_implementation_from_class): Make static. + (find_implementation): Make static. + * objc-exp.y (yylex): Delete lookup_struct_typedef declaration. + * objc-lang.h (lookup_struct_typedef): Add declaration. + * cli/cli-interp.c (_initialize_cli_interp): Add declaration. + * cli/cli-script.c (clear_hook_in_cleanup): Make static. + (do_restore_user_call_depth): Make static. + (do_restore_instream_cleanup): Delete declaration. + (dont_repeat): Delete declaration. + * cli/cli-decode.c (add_abbrev_cmd): Delete function. + * cli/cli-dump.c (_initialize_cli_dump): Add declaration. + * reggroups.c (_initialize_reggroup): Add declaration. + * cp-support.c (_initialize_cp_support): Add declaration. + * cp-abi.c (_initialize_cp_abi): Add declaration. + * hpacc-abi.c (_initialize_hpacc_abi): Add declaration. + * gnu-v3-abi.c (gnuv3_baseclass_offset): Make static. + (_initialize_gnu_v3_abi): Add declaration. + * gnu-v2-abi.c (gnuv2_value_rtti_type): Make static. + (_initialize_gnu_v2_abi): Add declaration. + * frame-base.c (_initialize_frame_base): Add declaration. + * doublest.c (floatformat_from_length): Make static. + * frame-unwind.c (_initialize_frame_unwind): Add declaration. + * frame.c (create_sentinel_frame): Make static. + (_initialize_frame): Add declaration. + * top.c (do_catch_errors): Make static. + (gdb_rl_operate_and_get_next_completion): Make static. + * typeprint.c: Include "typeprint.h". + * sentinel-frame.c (sentinel_frame_prev_register): Make static. + (sentinel_frame_this_id): Make static. + * p-valprint.c (_initialize_pascal_valprint): Add declaration. + * ui-out.c (make_cleanup_ui_out_begin_end): Delete function. + * dwarf2-frame.c (dwarf2_frame_cache): Make static. + * p-exp.y (push_current_type, pop_current_type): ISO C declaration. + * dwarf2expr.h (dwarf_expr_context): ISO C declaration. + * maint.c (maintenance_print_architecture): Make static. + * signals/signals.c (_initialize_signals): Add declaration. + * std-regs.c (_initialize_frame_reg): Add declaration. + * jv-exp.y (push_variable): ISO C definition. + (push_qualified_expression_name): Ditto. + * memattr.c (_initialize_mem): Add declaration. + * remote.c (remote_check_watch_resources): Make static. + (remote_stopped_by_watchpoint): Make static. + (remote_stopped_data_address): Make static. + * d10v-tdep.c (nr_dmap_regs): Make static. + (a0_regnum): Make static. + (d10v_frame_unwind_cache): Make static. + (d10v_frame_p): Make static. + * osabi.c (show_osabi): Make static. + (_initialize_gdb_osabi): Add extern declaration. + * gdbtypes.c (make_qualified_type): Make static. + (safe_parse_type): Make static. + * macrocmd.c (_initialize_macrocmd): Add extern declaration. + * macrotab.c (macro_bcache_free): Make static. + * interps.c (interp_set_quiet): Make static. + (interpreter_exec_cmd): Make static. + * stack.h (select_frame_command): New file. + * stack.c: Include "stack.h". + (select_frame_command_wrapper): Delete function. + (select_frame_command): Make global. + * infcall.c: Include "infcall.h". + * linespec.c: Include "linespec.h". + * symfile.c (sections_overlap): Make static. + * cp-support.h (cp_initialize_namespace): ISO C declaration. + * charset.c (_initialize_charset): Add missing prototype. + * regcache.c (init_legacy_regcache_descr): Make static. + (do_regcache_xfree): Make static. + (regcache_xfer_part): Make static. + (_initialize_regcache): Add missing prototype. + * breakpoint.c (parse_breakpoint_sals): Make static. + (breakpoint_sals_to_pc): Make static. + * interps.h (clear_interpreter_hooks): ISO C declaration. + * Makefile.in (stack_h): Define. + (stack.o, typeprint.o, mi-main.o): Update dependencies. + (mi-cmd-stack.o, infcall.o, linespec.o): Update dependencies. + +2003-06-08 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (d10v-tdep.o): Update dependencies. + (SFILES): Add trad-frame.c. + (trad_frame_h): Define. + (COMMON_OBS): Add trad-frame.o. + (trad-frame.o): Specify dependencies. + * d10v-tdep.c: Include "trad-frame.h". + (saved_regs_unwinder): Delete function. + (d10v_frame_prev_register): Use trad_frame_prev_register. + (struct d10v_unwind_cache): Change type of "saved_regs" to "struct + trad_frame", delete "regs" and "prev_sp". + (prologue_find_regs): Use trad-frame. + * trad-frame.h, trad-frame.c: New files. + +2003-06-08 Mark Kettenis <kettenis@gnu.org> + + * dwarf2cfi.c, dwarf2cfi.h: Remove. + +2003-06-07 Adam Fedor <fedor@gnu.org> + + * gdb/objc-lang.c (FETCH_ARGUMENT): Remove macro. + (OBJC_FETCH_POINTER_ARGUMENT): Shorthand macro for + using FETCH_POINTER_ARGUMENT with Objective-C method arguments. + (find_implementation, resolve_msgsend, resolve_msgsend_stret, + resolve_msgsend_super, resolve_msgsend_super_stret): + Use it. + +2003-06-07 Andrew Cagney <cagney@redhat.com> + + * symfile.h: Re-indent, clean up comments. + +2003-06-07 Andrew Cagney <cagney@redhat.com> + + * inferior.h (deprecated_write_sp): Replace + generic_target_write_sp. + * regcache.c (deprecated_write_sp): Replace + generic_target_write_sp. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * vax-tdep.c (vax_gdbarch_init): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * config/pa/tm-hppa.h (DEPRECATED_DUMMY_WRITE_SP): Update. + +2003-06-07 Andrew Cagney <cagney@redhat.com> + + * dwarf2-frame.c (dwarf2_frame_cache): Add comments on PC_REGNUM. + Assert that PC_REGNUM is valid. + (dwarf2_frame_prev_register): Add comments on SP_REGNUM. + +2003-06-07 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (TARGET_READ_SP): Add predicate, delete default. + * gdbarch.h, gdbarch.c: Regenerate. + * mn10300-tdep.c: Include "gdb_assert.h". + (mn10300_read_fp): New function. + (mn10300_gdbarch_init): Set deprecated_target_read_fp to + mn10300_read_fp. Do not set read_sp to generic_target_read_sp. + * ia64-tdep.c: Include "gdb_assert.h". + (ia64_read_fp): New function. + (ia64_gdbarch_init): Set deprecated_target_read_fp to + ia64_read_sp. Do not set read_sp to generic_target_read_sp. + * regcache.c (generic_target_read_sp): Delete function. + (read_sp): Try TARGET_READ_SP and SP_REGNUM for the SP register. + * inferior.h (generic_target_read_sp): Delete declaration. + * frv-tdep.c (frv_gdbarch_init): Do not set read_sp to + generic_target_read_sp. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * sparc-tdep.c (sparc_gdbarch_init): Ditto + * sh-tdep.c (sh_gdbarch_init): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. + * Makefile.in (mn10300-tdep.o, ia64-tdep.o): Update dependencies. + +2003-06-07 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh: Comment each field of startup_gdbarch. + * gdbarch.h, gdbarch.c: Re-generate. + +2003-06-07 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (TARGET_READ_PC): Add predicate, remove default. + * gdbarch.h, gdbarch.c: Re-generate. + * regcache.c: Update comments on read_pc et.al. + (generic_target_read_pc): Delete function. + (read_pc_pid): Try TARGET_READ_PC and PC_REGNUM for a PC register. + * inferior.h (generic_target_read_pc): Delete declaration. + * frv-tdep.c (frv_gdbarch_init): Do not set read_pc to + generic_target_read_pc. + * sparc-tdep.c (sparc_gdbarch_init): Ditto. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + +2003-06-07 Andrew Cagney <cagney@redhat.com> + + * elfread.c (elf_symtab_read): Replace "special_local_sym_p" and + "index" with "special_local_sect". Use strcmp instead of STREQ. + Append period to coments. + +2003-06-06 Mark Mitchell <mark@codesourcery.com> + + * elfread.c (elf_symtab_read): Avoid use of SECT_OFF_MAX. + (elfstab_offset_sections): Likewise. + * gdb-stabs.h (stab_section_info): Likewise. + * i386-interix-tdep.c (pei_adjust_objfile_offsets): Likewise. + * objfiles.c (objfile_relocate): Likewise. + * pa64solib.c (pa64_solib_add_solib_objfile): Likewise. + * remote.c (get_offsets): Likewise. + (remote_cisco_objfile_relocate): Likewise. + * somread.c (som_symfile_offsets): Likewise. + * symfile.c (alloc_section_addr_info): New function. + (build_section_addr_info_from_section_tab): Use it. + (free_section_addr_info): Adjust. + (default_symfile_offsets): Avoid use of SECT_OFF_MAX. + (syms_from_objfile): Allocate local_addr dynamically. + (symbol_file_add_with_addrs_or_offsets): Allocate orig_addrs + dynamically. + (add_symbol_file_command): Allocate sect_opts dynamically. + (reread_symbols): Avoid use of SECT_OFF_MAX. + * symfile.h (section_addr_info): Do not use MAX_SECTIONS. + (alloc_section_addr_info): Declare it. + * symtab.h (SIZEOF_SECTION_OFFSETS): Remove. + * win32-nat.c (solib_symbols_add): Allocate section_addrs + dynamically. + * xcoffread.c (xcoff_symfile_offsets): Avoid use of SECT_OFF_MAX. + +2003-06-06 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c (struct d10v_unwind_cache): Delete "return_pc". + (d10v_frame_unwind_cache): Do not set "return_pc". + +2003-06-06 Michael Snyder <msnyder@redhat.com> + + * h8300-tdep.c: Make tidy (long lines). + +2003-06-06 Michal Ludvig <mludvig@suse.cz> + + * x86-64-tdep.c (x86_64_fill_fxsave): Pass correct regnums + to regcache_collect(). + +2003-06-05 J. Brobecker <brobecker@gnat.com> + + * hppa-hpux-tdep.c (hppa_hpux_init_abi): New function, setting + pc_in_sigtramp multiarch method. + (hppa_hpux_som_init_abi): Use it. + (hppa_hpux_elf_init_abi): Likewise. + * config/pa/tm-hppah.h (PC_IN_SIGTRAMP): Remove, now that this + macro has been multiarched. + * config/pa/tm-hppa64.h (PC_IN_SIGTRAMP): Temporarily set this + macro here, as hppa64 isn't multiarched yet. + +2003-06-05 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (value_h): Add $(frame_h). + * value.h: Include "frame.h". + (struct value): Replace "frame_addr" with "frame_id". + (VALUE_FRAME_ID): Replace VALUE_FRAME. + * values.c (allocate_value): Use VALUE_FRAME_ID. + (value_copy): Use VALUE_FRAME_ID. + * findvar.c (value_from_register): Use VALUE_FRAME_ID. + * valops.c (value_assign): Update. Use frame_find_by_id. + +2003-06-05 Michal Ludvig <mludvig@suse.cz> + + * x86-64-tdep.c (x86_64_push_arguments): Don't clear offset + in each pass. + +2003-06-05 Jeff Johnston <jjohnstn@redhat.com> + + * thread-db.c (check_event): For create/death event breakpoints, + loop through all messages to ensure that we read the message + corresponding to the breakpoint we are at. + +2003-06-04 Michael Snyder <msnyder@redhat.com> + + * h8300-tdep.c (h8300_gdbarch_init): Add h8300hn, h8300sn. + +2003-06-04 Mark Kettenis <kettenis@gnu.org> + + * dwarf2-frame.c (struct comp_unit): Add member `dbase'. + (read_encoded_value): Handle DW_EH_PE_datarel encoding. + (dwarf2_build_frame_info): Set base for DW_EH_PE_datarel encodings + when handling .eh_frame sections. + +2003-06-04 J. Brobecker <brobecker@gnat.com> + + * config/pa/nm-hppah.h (PREPARE_TO_PROCEED): Use the generic + prepare_to_proceed procedure instead of the hppa-specific one. + * hppa-tdep.c (hppa_prepare_to_proceed): Remove, no longer used. + +2003-06-04 Jeff Johnston <jjohnstn@redhat.com> + + * acconfig.h: Add HAVE_TKILL_SYSCALL definition check. + * config.in: Regenerated. + * configure.in: Add test for syscall function and check for + __NR_tkill macro in <syscall.h> to set HAVE_TKILL_SYSCALL. + * configure: Regenerated. + * lin-lwp.c [HAVE_TKILL_SYSCALL]: Include <unistd.h> and + <sys/syscall.h>. + (kill_lwp): New function that uses tkill syscall or + uses kill, depending on whether threading model is nptl or not. + All callers of kill() changed to use kill_lwp(). + (lin_lwp_wait): Make special check when WIFEXITED occurs to + see if all threads have already exited in the nptl model. + (stop_and_resume_callback): New callback function used by the + lin_lwp_wait thread exit handling code. + (stop_wait_callback): Check for threads already having exited and + delete such threads fromt the lwp list when discovered. + (stop_callback): Don't assert retcode of kill call. + + Roland McGrath <roland@redhat.com> + * i386-linux-nat.c (ps_get_thread_area): New function needed by + nptl libthread_db. + +2003-06-03 Richard Henderson <rth@redhat.com> + + * alpha-tdep.c (alpha_next_pc): Use alpha_read_insn. + (alpha_sigtramp_frame_this_id): Use get_frame_memory. + (alpha_sigtramp_frame_prev_register): Likewise. + (alpha_heuristic_frame_prev_register): Likewise. + * alpha-mdebug-tdep.c (alpha_mdebug_frame_prev_register): Likewise. + + * alpha-mdebug-tdep.c (alpha_mdebug_after_prologue): Use + alpha-specific register id names. + (alpha_mdebug_frame_unwind_cache): Likewise. + (alpha_mdebug_frame_prev_register): Likewise. + +2003-06-03 Richard Henderson <rth@redhat.com> + + * alpha-tdep.c (alpha_dwarf2_init_abi): New. + * alpha-tdep.h (alpha_dwarf2_init_abi): Declare it. + * alpha-linux-tdep.c (alpha_linux_init_abi): Use it. + * alphafbsd-tdep.c (alphafbsd_init_abi): Register dwarf2 and mdebug + unwind routines. + * alphanbsd-tdep.c (alphanbsd_init_abi): Likewise. + * config/alpha/fbsd.mt (TDEPFILES): Add alpha-mdebug-tdep.o. + * config/alpha/nbsd.mt (TDEPFILES): Likewise. + + * alpha-linux-tdep.c: Remove unnecessary includes. + * Makefile.in (alpha-linux-tdep.o): Update. + +2003-06-03 Richard Henderson <rth@redhat.com> + + * alphabsd-tdep.c (alphabsd_supply_fpreg): Fix typo last change. + (alphabsd_fill_fpreg): Likewise. + +2003-06-03 J. Brobecker <brobecker@gnat.com> + + * alphanbsd-tdep.c (alphanbsd_sigcontext_addr): Replace + references to struct frame_info fields by calls to the equivalent + accessors. Necessary now that frame_info is opaque. + +2003-06-03 J. Brobecker <brobecker@gnat.com> + + * alphanbsd-tdep.c (alphanbsd_skip_sigtramp_frame): Delete. + (alphanbsd_init_abi): Do not set skip_sigtramp_frame in tdep + structure, field no longer exists. + +2003-06-03 J. Brobecker <brobecker@gnat.com> + + * config/alpha/alpha-osf1.mt (TDEPFILES): Add alpha-mdebug-tdep.o. + * alpha-osf1-tdep.c (alpha_osf1_init_abi): Enable the mdebug module. + +2003-06-03 J. Brobecker <brobecker@gnat.com> + + * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Replace + references to struct frame_info fields by calls to the equivalent + accessors. Necessary now that frame_info is opaque. + +2003-06-03 J. Brobecker <brobecker@gnat.com> + + * alpha-osf1-tdep.c (alpha_osf1_skip_sigtramp_frame): Delete. + (alpha_osf1_init_abi): Do not set skip_sigtramp_frame in tdep + structure, field no longer exists. + +2003-06-03 Theodore A. Roth <troth@openavr.org> + + * remote.c (init_remote_state): Compute sizeof_g_packet by + accumulation of the size of all registers instead of blindly using + DEPRECATED_REGISTER_BYTES. + +2003-06-03 Michael Snyder <msnyder@redhat.com> + + * config/h8300/tm-h8300.h (h8300sxmode): Declare. + * h8300-tdep.c (h8300_gdbarch_init): Set machine mode + for h8300sx. + +2003-06-03 J. Brobecker <brobecker@gnat.com> + + * alpha-osf1-tdep.c (objfiles.h): #include, needed for symfile_objfile. + * Makefile.in (alpha-osf1-tdep.o): Update dependencies. + +2003-06-03 Andrew Cagney <cagney@redhat.com> + + * sparc-tdep.c (sparc_convert_to_virtual): Delete function. + (sparc_convert_to_raw): Delete function. + (sparc_gdbarch_init): Do not set register_convert_to_raw or + register_convert_to_virtual. + +2003-06-03 Jeff Johnston <jjohnstn@redhat.com> + + * thread-db.c (thread_db_mourn_inferior): Unpush thread target + layer if not dealing with a statically-linked threaded program. + +2003-06-03 Kris Warkentin <kewarken@qnx.com> + + * solib.c (solib_open): Update comment to reflect actual search order. + +2003-06-03 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_frame_memory_signed): New function. + (get_frame_memory, get_frame_memory_unsigned): New function. + (get_frame_arch): New function. + * frame.h (get_frame_signed_memory, get_frame_arch): Declare. + (get_frame_memory, get_frame_unsigned_memory): Declare. + * d10v-tdep.c (d10v_frame_unwind_cache): Use + get_frame_memory_unsigned and get_frame_arch. + (d10v_frame_unwind_cache, saved_regs_unwinder): Ditto. + +2003-06-03 Raoul Gough <RaoulGough@yahoo.co.uk> + + * MAINTAINERS (write after approval): Add myself. + +2003-06-03 Jim Blandy <jimb@redhat.com> + + * s390-nat.c (supply_gregset, fill_gregset): On the s390x, the + elements of gregset_t are 64 bits each, but access registers + are still 32 bits, so they're packed two per gregset_t + element. Unpack/pack them properly. + +2003-06-02 David Carlton <carlton@bactrian.org> + + * linespec.c (find_methods): Break out code into + add_matching_methods and add_constructors. + (add_matching_methods): New. + (add_constructors): Ditto. + +2003-06-02 Andrew Cagney <cagney@redhat.com> + + * sparc-tdep.c (sparc_print_registers): Delete call to + REGISTER_CONVERTIBLE. + (sparc_gdbarch_init): Do not set register_convertible. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * frv-tdep.c (frv_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + +2003-06-02 Elena Zannoni <ezannoni@redhat.com> + + * target.h (TARGET_SYMFILE_POSTREAD): Delete unused macro. + * symfile.c (reread_symbols): Delete call to TARGET_SYMFILE_POSTREAD. + (syms_from_objfile): Ditto. + +2003-06-03 Andreas Schwab <schwab@suse.de> + + * m68k-tdep.c (m68k_gdbarch_init): Use set_gdbarch_print_insn ... + (_initialize_m68k_tdep): ... instead of deprecated_tm_print_insn. + +2003-06-02 Richard Henderson <rth@redhat.com> + + * alpha-tdep.c (alpha_register_reggroup_p): Zero is only + a member of all_reggroup. + +2003-06-02 Richard Henderson <rth@redhat.com> + + * alpha-tdep.c (alpha_register_type): Change from _virtual_type. + (alpha_convert_flt_dbl, alpha_convert_dbl_flt): Remove. + (alpha_lds, alpha_sts): New. + (alpha_convert_register_p): Change from _register_convertible. + (alpha_register_to_value): Change from _convert_to_virtual; + restructure and fail for type sizes other than 4 or 8. + (alpha_value_to_register): Similarly. + (alpha_extract_return_value): Use alpha_sts. + (alpha_store_return_value): Use alpha_lds. + (alpha_gdbarch_init): Update hooks. + +2003-06-02 Richard Henderson <rth@redhat.com> + + * alpha-tdep.c (alpha_register_virtual_type): Use alpha-specific + regnum identifiers. + (alpha_sigtramp_register_address): Likewise. + +2003-06-02 Richard Henderson <rth@redhat.com> + + * alpha-tdep.c (alpha_supply_int_regs, alpha_fill_int_regs): New. + (alpha_supply_fp_regs, alpha_fill_fp_regs): New. + * alpha-tdep.h: Declare them. + + * alpha-nat.c (fetch_osf_core_registers): Constify core_reg_mapping. + Remove zerobuf. Don't error on UNIQUE. + (fetch_elf_core_registers): Use alpha_supply_{int,fp}_regs. + (ALPHA_REGSET_UNIQUE): Provide default. + (supply_gregset): Use alpha_supply_int_regs. + (fill_gregset): Use alpha_fill_int_regs. + (supply_fpregset): Use alpha_supply_fp_regs. + (fill_fpregset): Use alpha_fill_fp_regs. + * alphabsd-tdep.c (NUM_GREGS, NUM_FPREGS): Remove. + (alphabsd_supply_reg): Use alpha_supply_int_regs. + (alphabsd_fill_reg): Use alpha_fill_int_regs. + (alphabsd_supply_fpreg): Use alpha_supply_fp_regs. + (alphabsd_fill_fpreg): Use alpha_fill_fp_regs. + * config/alpha/nm-linux.h (ALPHA_REGSET_UNIQUE): New. + +2003-06-02 Richard Henderson <rth@redhat.com> + + * alpha-tdep.c (alpha_store_return_value): Avoid switch fallthru. + + * alpha-tdep.c (alpha_extract_return_value): Use internal_error. + (alpha_store_return_value): Likewise. + +2003-06-02 David Carlton <carlton@math.stanford.edu> + + * block.c (contained_in): Add 'const' to arguments. + (block_function): Ditto. + * block.h: Update declarations for block_function and + contained_in. + +2003-06-02 David Carlton <carlton@math.stanford.edu> + + * objc-lang.c (find_imps): Delete unneeded variable 'sym_symtab'. + * c-valprint.c (c_val_print): Delete unneeded variable 's'. + * p-valprint.c (pascal_val_print): Ditto. + * ada-lang.c (standard_lookup): Delete unneded variable 'symtab'. + +2003-06-02 Richard Henderson <rth@redhat.com> + + * alpha-tdep.c (alpha_push_dummy_call): Use + builtin_type_ieee_double_little instead of builtin_type_double. + + * alpha-tdep.c (alpha_push_dummy_call): Handle ABI mandated + sign-extension of 32-bit values. + (alpha_store_return_value): Similarly. + + * alpha-tdep.c (alpha_push_dummy_call): Handle COMPLEX types. + (alpha_extract_return_value): Likewise. + (alpha_store_return_value): Likewise. + + * alpha-tdep.c (alpha_extract_return_value): Handle IEEE Quad floats. + (alpha_store_return_value): Error on IEEE Quad floats. + + * alpha-tdep.c (alpha_extract_return_value): Convert to regcache. + (alpha_extract_struct_value_address): Likewise. + (alpha_store_return_value): Likewise. + (alpha_store_struct_return): Remove. + (alpha_gdbarch_init): Update hook registration to match. + + * alpha-tdep.c (alpha_register_convert_to_virtual): Tidy use of + deprecated interfaces; use ALPHA_REGISTER_SIZE instead of gdbarch + macros where appropriate. + (alpha_register_convert_to_raw): Similarly. Use unpack_long. + (alpha_convert_flt_dbl, alpha_convert_dbl_flt): New. + + * alpha-tdep.c (alpha_register_virtual_type): Use void_data_ptr + for SP, GP; void_func_ptr for PC; non-language-specific types + for all others. + * alpha-tdep.h (ALPHA_GP_REGNUM): New. + +2003-06-02 Richard Henderson <rth@redhat.com> + + * top.h (lim_at_start): Declare. + * main.c (captured_main): Set it. + * top.c (lim_at_start): Define. + (command_loop): Use it instead of &environ. + * event-top.c (command_handler): Likewise. + +2003-06-01 Jason Thorpe <thorpej@wasabisystems.com> + + * mipsnbsd-tdep.c: Update copyright years. + (fetch_core_registers): Correct arguments to mipsnbsd_supply_fpreg. + +2003-06-01 Richard Henderson <rth@redhat.com> + + * Makefile.in (ALLDEPFILES): Add alpha-mdebug-tdep.c. + (alpha-linux-tdep.o): Update dependencies. + (alpha-nat.o, alpha-tdep.o, alpha-mdebug-tdep.o): Likewise. + * alpha-mdebug-tdep.c: Remove unneeded includes. + +2003-06-01 Richard Henderson <rth@redhat.com> + + * alpha-tdep.c (alpha_register_reggroup_p): New. + (alpha_gdbarch_init): Register it. + +2003-06-02 Andrew Cagney <cagney@redhat.com> + + * dwarfread.c: Eliminate "register" + (decode_die_type): Eliminate assignment within "if". + (struct_type, decode_array_element_type): Ditto. + (dwarf_read_array_type, read_tag_pointer_type): Ditto. + (read_subroutine_type, enum_type, add_enum_psymbol): Ditto. + (decode_modified_type, completedieinfo): Ditto. + * block.c: Eliminate "register". + (blockvector_for_pc_sect): Eliminate assignment within "if". + * cp-support.h (struct symbol): Opaque declaration. + * breakpoint.c (handle_gnu_v3_exceptions): Use xfree, not free. + +2003-06-01 Richard Henderson <rth@redhat.com> + + * alpha-tdep.c (alpha_gdbarch_init): Use set_gdbarch_print_insn ... + (_initialize_alpha_tdep): ... not deprecated_tm_print_insn. + +2003-06-01 Adam Fedor <fedor@gnu.org> + + * gdbarch.sh (function_list): Add FETCH_POINTER_ARGUMENT. + * gdbarch.[ch]: Regenerate. + * hppa-tdep.c (hppa_fetch_pointer_argument): New function. + (hppa_gdbarch_init): Set it in the gdbarch vector. + * i386-tdep.c (i386_fetch_pointer_argument): New + (i386_gdbarch_init): Set it into gdbarch. + * rs6000-tdep.c (rs6000_fetch_pointer_argument): New. + (rs6000_gdbarch_init): Set it in gdbarch. + * sparc-tdep.c (sparc_fetch_pointer_argument): New + (sparc_gdbarch_init): Set it in gdbarch. + +2003-06-01 Andrew Cagney <cagney@redhat.com> + + * defs.h (extract_address): Delete declaration. + * findvar.c (extract_address): Delete function. + * xstormy16-tdep.c (xstormy16_extract_return_value): Replace + extract_address with the inline equivalent, + extract_unsigned_integer. + (xstormy16_extract_struct_value_address): Ditto. + (xstormy16_pointer_to_address): Ditto. + * vax-tdep.c (vax_extract_struct_value_address): Ditto. + * v850-tdep.c (v850_push_arguments): Ditto. + (v850_extract_return_value): Ditto. + (v850_extract_struct_value_address): Ditto. + * sparcnbsd-tdep.c (sparcnbsd_get_longjmp_target_32): Ditto. + (sparcnbsd_get_longjmp_target_64): Ditto. + * sparc-tdep.c (sparc_frame_saved_pc): Ditto. + (get_longjmp_target): Ditto. + * sh-tdep.c (sh_extract_struct_value_address): Ditto. + (sh64_extract_struct_value_address): Ditto. + (sh_push_arguments): Ditto. + (sh64_push_arguments): Ditto. + * remote-vxsparc.c (vx_read_register): Ditto. + * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Ditto. + * ns32k-tdep.c (ns32k_extract_struct_value_address): Ditto. + * mn10300-tdep.c (mn10300_extract_struct_value_address): Ditto. + * mipsv4-nat.c (get_longjmp_target): Ditto. + * mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Ditto. + * mips-nat.c (get_longjmp_target): Ditto. + * mips-linux-tdep.c (mips_linux_get_longjmp_target): Ditto. + * mcore-tdep.c (mcore_extract_struct_value_address): Ditto. + * m68k-tdep.c (m68k_get_longjmp_target): Ditto. + * m68hc11-tdep.c (m68hc11_extract_struct_value_address): Ditto. + * irix5-nat.c (get_longjmp_target): Ditto. + * irix4-nat.c (get_longjmp_target): Ditto. + * ia64-tdep.c (generic_elf_find_global_pointer): Ditto. + (ia64_push_arguments): Ditto. + * hpux-thread.c (hpux_thread_store_registers): Ditto. + * h8300-tdep.c (h8300_push_arguments): Ditto. + (h8300_store_return_value): Ditto. + (h8300_extract_struct_value_address): Ditto. + * frv-tdep.c (frv_extract_struct_value_address): Ditto. + (frv_push_arguments): Ditto. + * avr-tdep.c (avr_pointer_to_address): Ditto. + (avr_push_arguments): Ditto. + * arm-tdep.c (arm_push_dummy_call): Ditto. + (arm_get_longjmp_target): Ditto. + * arm-linux-tdep.c (arm_linux_push_arguments): Ditto. + * alpha-tdep.c (alpha_extract_struct_value_address): Ditto. + (alpha_get_longjmp_target): Ditto. + + * solib-irix.c (extract_mips_address): Inline extract_address, + replacing it with extract_signed_integer. + * solib-svr4.c (SOLIB_EXTRACT_ADDRESS): Ditto. + (LM_NAME, IGNORE_FIRST_LINK_MAP_ENTRY): Ditto. + (first_link_map_member, open_symbol_file_object): Ditto. + (svr4_fetch_objfile_link_map, svr4_fetch_objfile_link_map): Ditto. + * solib-sunos.c (SOLIB_EXTRACT_ADDRESS): Ditto. + (LM_NEXT, LM_NAME): Ditto. + +2003-06-01 Richard Henderson <rth@redhat.com> + + * alpha-tdep.h (ALPHA_FP_REGNUM): Remove. + * alpha-tdep.c (alpha_register_name): Remove vfp entry. + (alpha_cannot_fetch_register): Remove ALPHA_FP_REGNUM. + (alpha_cannot_store_register): Likewise. + * alphabsd-nat.c (fetch_inferior_registers): Don't set FP_REGNUM. + * alpha-nat.c (supply_gregset): Likewise. + * alphanbsd-tdep.c (fetch_core_registers): Likewise. + +2003-06-01 Andrew Cagney <cagney@redhat.com> + + * infcall.c (call_function_by_hand): Update comment on + DEPRECATED_DUMMY_WRITE_SP. + + * mips-tdep.c (mips_gdbarch_init): Do not set + deprecated_dummy_write_sp. + (mips_eabi_push_dummy_call): Set the SP register. + (mips_o64_push_dummy_call): Set the SP register. + (mips_o32_push_dummy_call): Set the SP register. + (mips_n32n64_push_dummy_call): Set the SP register. + +2003-06-01 Richard Henderson <rth@redhat.com> + + * alpha-nat.c (fetch_osf_core_registers): Use ALPHA_REGISTER_SIZE + instead of ALPHA_MAX_REGISTER_RAW_SIZE. + (supply_gregset): Likewise. + * alpha-tdep.c (alpha_store_return_value): Likewise. + (alpha_get_longjmp_target): Likewise. + (alpha_register_name): Constify array. + (alpha_gdbarch_init): Remove deprecated_fp_regnum, + deprecated_register_size, deprecated_register_bytes, + deprecated_max_register_raw_size, deprecated_max_register_virtual_size. + * alpha-tdep.h (ALPHA_MAX_REGISTER_RAW_SIZE): Remove. + (ALPHA_MAX_REGISTER_VIRTUAL_SIZE): Remove. + +2003-06-01 Richard Henderson <rth@redhat.com> + + * alpha-tdep.c (alpha_push_dummy_call): Store sp. Tidy copies + from arg_reg_buffer to regcache to avoid double conversion. + +2003-06-01 Mark Kettenis <kettenis@gnu.org> + + * i386-linux-nat.c (child_resume): Use I386_ESP_REGNUM instead of + SP_REGNUM. + * i386-linux-tdep.c (i386_linux_sigcontext_addr): Likewise. + * i386bsd-tdep.c (i386bsd_sigcontext_addr): Likewise. + +2003-06-01 Richard Henderson <rth@redhat.com> + + * dwarf2-frame.c (struct dwarf2_cie): Add saw_z_augmentation. + (decode_frame_entry): Set it. Skip FDE augmentation. + +2003-06-01 Richard Henderson <rth@redhat.com> + + * dwarf2-frame.c (dwarf2_frame_cache): Handle retaddr_column + not overlapping PC_REGNUM. + +2003-06-01 Richard Henderson <rth@redhat.com> + + * alpha-tdep.c (alpha_push_dummy_call): Transmography from + alpha_push_arguments. Don't dump argument register data to + the target stack. Fix float and 128-bit long double semantics. + Store $t12 and $ra as specified by the ABI. Use regcache everywhere. + (alpha_fix_call_dummy): Remove. + (alpha_call_dummy_words): Remove. + (alpha_gdbarch_init): Kill deprecated call hooks; add push_dummy_call. + +2003-06-01 Richard Henderson <rth@redhat.com> + + * alpha-linux-tdep.c (alpha_linux_init_abi): Install dwarf2 unwinder. + +2003-06-01 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (is_mips16_addr): New function. + (make_mips16_addr, unmake_mips16_addr): New functions. + (pc_is_mips16, mips_fetch_instruction): Use. + (gdb_print_insn_mips, mips_breakpoint_from_pc): Use. + (gdb_print_insn_mips): Eliminate TM_PRINT_INSN_MACH. + (mips_dump_tdep): Delete print of TM_PRINT_INSN_MACH, + UNMAKE_MIPS16_ADDR, MAKE_MIPS16_ADDR, IS_MIPS16_ADDR and + TARGET_MIPS. + * config/mips/tm-mips.h: Update copyright. + (TARGET_MIPS, TM_PRINT_INSN_MACH): Delete. + (DEPRECATED_REGISTER_SIZE, DEPRECATED_REGISTER_BYTES): Delete. + (IS_MIPS16_ADDR, MAKE_MIPS16_ADDR, UNMAKE_MIPS16_ADDR): Delete. + * config/mips/tm-irix6.h (DEPRECATED_REGISTER_BYTES): Delete. + (TM_PRINT_INSN_MACH): Delete. + * config/mips/tm-irix5.h (DEPRECATED_REGISTER_BYTES): Delete. + + * configure.tgt: Replace mips64*vr4xxx*el-*-elf*, + mips64*vr4xxx*-*-elf*, mips64*vr4300*el-*-elf*, + mips64*vr4300*-*-elf*, mips64*vr4100*el-*-elf*, + mips64*vr4100*-*-elf*, mips64*vr5000*el-*-elf*, and + mips64*vr5000*-*-elf* with mips64 mips64*vr*-*-elf*. Delete + mips*tx39*el*-elf*. Map mips*-sony-* and mips64*-big-* onto + mips64. Map mips*-dec-*, mips*-big-*, mips*-little-*, + mips*-*-riscos* and mips*-*-sysv* onto mips. + * config/mips/mips64.mt: New file. + * config/mips/mips.mt: New file. + * config/mips/littlemips.mt: Delete file. + * config/mips/decstation.mt: Delete file. + * config/mips/vr4300el.mt: Delete file. + * config/mips/vr5000el.mt: Delete file. + * config/mips/vr5000.mt: Delete file. + * config/mips/vr4100.mt: Delete file. + * config/mips/vr4xxxel.mt: Delete file. + * config/mips/vr4300.mt: Delete file. + * config/mips/vr4xxx.mt: Delete file. + * config/mips/bigmips.mt: Delete file. + * config/mips/bigmips64.mt: Delete file. + * config/mips/tx39l.mt (TM_FILE): Set to "tm-tx39.h". + * config/mips/embedl64.mt (TM_FILE): Set to "tm-mips64.h". + * config/mips/embed64.mt (TM_FILE): Set to "tm-mips64.h" + * config/mips/embedl.mt (TM_FILE): Set to "tm-mips.h". + * config/mips/tm-tx39.h: Include "tm-mips.h" instead of + "tm-bigmips.h". + * config/mips/tm-irix3.h: Ditto. + * config/mips/tm-mipsv4.h: Ditto. + * config/mips/tm-embed.h: Ditto. + * config/mips/tm-irix6.h: Include "tm-mips64.h" instead of + "tm-bigmips64.h". + * config/mips/tm-vr5000el.h: Delete file. + * config/mips/tm-tx39l.h: Delete file. + * config/mips/tm-vr4300el.h: Delete file. + * config/mips/tm-vr4xxxel.h: Delete file. + * config/mips/tm-vr4300.h: Delete file. + * config/mips/tm-vr4100.h: Delete file. + * config/mips/tm-vr4xxx.h: Delete file. + * config/mips/tm-vr5000.h: Delete file. + * config/mips/tm-embedl64.h: Delete file. + * config/mips/tm-embedl.h: Delete file. + * config/mips/tm-embed64.h: Delete file. + * config/mips/tm-bigmips64.h: Delete file. + * config/mips/tm-bigmips.h: Delete file. + +2003-06-01 Mark Kettenis <kettenis@gnu.org> + + Fix gdb/1216. + * shnbsd-nat.c: Include "sh-tdep.h". + + From Richard Henderson <rth@redhat.com>: + * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Fix ptr arithmetic. + +2003-05-31 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (set_reg_offset): Add saved_regs parameter. Add + forward declaration. + (mips16_heuristic_proc_desc): Pass temp_saved_regs. + (mips16_heuristic_proc_desc): Pass temp_saved_regs. + (mips_find_saved_regs): Use set_reg_offset. + (mips_frame_init_saved_regs): Delete function. + (mips_pop_frame): Call mips_find_saved_regs instead of + DEPRECATED_FRAME_INIT_SAVED_REGS. + +2003-05-31 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (mips_gdbarch_init): Do not set + deprecated_max_register_raw_size, register_virtual_size, and + deprecated_max_register_virtual_size. + +2003-05-31 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.c: Include "dwarf2-frame.h". + (i386_gdbarch_init): Hook in the DWARF CFI frame unwinder. + * Makefile.in (i386-tdep.o): Update dependencies. + + * dwarf2-frame.c, dwarf2-frame.h: New files. + * Makefile.in (SFILES): Add dwarf2-frame.c. + (dwarf2_frame_h): Define. + (COMMON_OBS): Add dwarf2-frame.o. + (dwarf2-frame.o): Add dependencies. + +2003-05-31 Andreas Jaeger <aj@suse.de> + + * x86-64-linux-nat.c: Fix comment. + +2003-05-31 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.c (x86_64_push_dummy_call): Adjust for changed + function signature. + + * i386-tdep.c (i386_sigtramp_frame_p): Only handle frames if we + have a sigcontext_addr handler. + * x86-64-tdep.c (x86_64_sigtramp_frame_p): Assert that we have a + sigcontext_addr handler. + +2003-05-31 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (print_gp_register_row): Replace do_gp_register_row. + (print_fp_register_row): Replace do_fp_register_row. + (mips_print_fp_register): Add "file" and "frame" parameters. + (mips_print_register): Add "file" and "frame" parameters. + (mips_print_registers_info): Replace mips_do_registers_info. + (mips_gdbarch_init): Set print_registers_info instead of + deprecated_do_registers_info. + (mips_read_fp_register_single): Add "frame" parameter. + (mips_read_fp_register_double): Add "frame" parameter. + +2003-05-31 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.c (i386_register_name): Check for MMX registers first. + Fixes a bug where GDB would print the wrong register names for + targets without SSE. + + * x86-64-tdep.c (X86_64_NUM_SAVED_REGS): Set to X86_64_NUM_GREGS. + (x86_64_sigtramp_frame_cache): Use `sc_reg_offset' to find saved + registers. + + * x86-64-linux-tdep.c (x86_64_linux_sc_reg_offset): New variable. + (x86_64_linux_init_abi): Initialize TDEP->sc_reg_offset and + TDEP->sc_num_regs instead of TDEP->sc_pc_offset and + TDEP->sc_sp_offset. + + From Michal Ludvig <mludvig@suse.cz>: + * i386-tdep.h (struct gdbarch_tdep): Add members `sc_reg_offset' + and `sc_num_regs'. + (I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM, + I386_EBP_REGNUM, I386_EIP_REGNUM, I386_EFLAGS_REGNUM, + I386_ST0_REGNUM): Move here from... + * i386-tdep.c: ... here. + (I386_NUM_SAVED_REGS): Define to I386_NUM_REGS. + (i386_sigtramp_frame_cache): Use `sc_reg_offset' to find saved + registers if possible. + (i386_gdbarch_init): Initialize TDEP->sc_reg_offset. + * i386bsd-tdep.c (i386bsd_sc_pc_offset, i386bsd_sc_sp_offset): + Remove variables. + (i386bsd_sc_reg_offset): New variable. + (i386bsd_init_abi): Initialize TDEP->sc_reg_offset and + TDEP->sc_num_regs instead of TDEP->sc_pc_offset and + TDEP->sc_sp_offset. + (i386fbsd_sc_reg_offset): New variable. + (i386fbsdaout_init_abi): Initialize TDEP->sc_reg_offset and + TDEP->sc_num_regs. + (i386fbsd4_sc_pc_offset, i386fbsd4_sc_sp_offset): Remove + variables. + (i386fbsd4_sc_reg_offset): New variable. + (i3864bsd4_init_abi): Initialize TDEP->sc_reg_offset and + TDEP->sc_num_regs instead of TDEP->sc_pc_offset and + TDEP->sc_sp_offset. + * i386-linux-tdep.c (i386_linux_sc_reg_offset): New variable. + (i386_linux_init_abi): Set TDEP->sc_reg_offset and TDEP->sc_num_regs. + * i386nbsd-tdep.c (i386nbsd_sc_pc_offset, i386nbsd_sc_sp_offset): + Remove variables. + (i386nbsd_sc_reg_offset): New variable. + (i386nbsd_init_abi): Initialize TDEP->sc_reg_offset and + TDEP->sc_num_regs instead of TDEP->sc_pc_offset and + TDEP->sc_sp_offset. + * i386obsd-tdep.c (i386obsd_sc_pc_offset, i386obsd_sc_sp_offset): + Remove variables. + (i386obsd_sc_reg_offset): New variable. + (i386obsd_init_abi): Initialize TDEP->sc_reg_offset and + TDEP->sc_num_regs instead of TDEP->sc_pc_offset and + TDEP->sc_sp_offset. + * i386bsd-nat.c (_initialize_i386bsd_nat): Adjust for changes in + i386bsd-tdep.c, i386nbsd-tdep.c and i386obsd-tdep.c. Add check + for frame pointer offset in `struct sigcontext'. + +2003-05-31 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (mips_gdbarch_init): Do not set the deprecated + architecture methods call_dummy_words, sizeof_call_dummy_words, + push_return_address, store_struct_return, and fix_call_dummy. Set + push_dummy_call instead of deprecated_push_arguments. + (mips_store_struct_return): Delete function. + (mips_fix_call_dummy): Delete function. + (mips_push_return_address): Delete function. + (mips_eabi_push_dummy_call): Replace mips_eabi_push_arguments, set + RA_REGNUM and T9_REGNUM. + (mips_n32n64_push_dummy_call): Ditto for + mips_n32n64_push_arguments. + (mips_o32_push_dummy_call): Ditto for mips_o32_push_arguments. + (mips_o64_push_dummy_call): Ditto for mips_o64_push_arguments. + +2003-05-31 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (PUSH_DUMMY_CALL): Add "func_addr" parameter. Rename + "dummy_addr" to "bp_addr". + * infcall.c (call_function_by_hand): Pass "funaddr" to + gdbarch_push_dummy_call. + * gdbarch.h, gdbarch.c: Re-generate. + * i386-tdep.c (i386_push_dummy_call): Update. + * arm-tdep.c (arm_push_dummy_call): Update. + * d10v-tdep.c (d10v_push_dummy_call): Update. + +2003-05-31 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.h (x86_64_num_regs, x86_64_num_gregs): Remove + variable declarations. + (x86_64_register_number, x86_64_register_name): Remove prototypes. + (x86_64_linux_frame_saved_pc, x86_64_linux+saved_pc_after_call, + x86_64_linux_in_sigtramp, x86_64_linux_frame_chain, + x86_64_init_frame_pc, x86_64_init_frame_pc, + x86_64_function_has_prologue): Remove prototypes. + (X86_64_NUM_GREGS): New define. + (x86_64_supply_fxsave, x86_64_fill_fxsave): New prototypes. + * x86-64-tdep.c: Don't include "dwarf2cfi.h". Include + "dummy_frame.h", "frame.h", "frame-base.h", "frame-unwind.h". + (RAX_REGNUM, RDX_REGNUM, RDI_REGNUM, EFLAGS_REGNUM, ST0_REGNUM, + XMM1_REGNUM): Remove defines. + (X86_64_RAX_REGNUM, X86_64_RDX_REGNUM, X86_64_RDI_REGNUM, + X86_64_RBP_REGNUM, X86_64_RSP_REGNUM, X86_64_RIP_REGNUM, + X86_64_EFLAGS_REGNUM, X86_64_ST0_REGNUM, X86_64_XMM0_REGNUM, + X86_64_XMM1_REGNUM): New defines. + (struct x86_64_register_info): Renamed from `struct + register_info'. Remove `size' member. + (x86_64_register_info_table): Remove variable. + (x86_64_register_info): New variable. + (X86_64_NUM_REGS): New define. + (X86_64_NUM_GREGS): Remove define. + (x86_64_num_regs, x86_64_num_gregs): Remove variables. + (x86_64_dwarf2gdb_regno_map, x86_64_dwarf2gdb_regno_map_length): + Remove variables. + (x86_54_dwarf2_reg_to_regnum): Remove function. + (x86_64_dwarf_regmap, x86_64_dwarf_regmap_len): New variables. + (x86_64_dwarf_reg_to_regnum): New function. + (x86_64_register_name): Rewrite. + (x86_64_register_raw_size): Remove function. + (x86_64_register_byte_table): Remove variable. + (x86_64_register_byte): Remove function. + (x86_64_register_virtual_type): Remove function. + (x86_64_register_type): New function. + (x86_64_register_convertible, x86_64_register_convert_to_virtual, + x86_64_register_convert_to_raw): Remove functions. + (x86_64_push_return_address, x86_64_pop_frame): Remove functon. + (x86_64_use_struct_convention): Make static. Adjust for renamed + defines. + (x86_64_frame_init_saved_regs): Remove function. + (x86_64_push_arguments): Make static. Change to accept a regcache + as argument. + (x86_64_store_return_value, x86_64_extract_return_value): Make + static. Rewrite based on i386 counterparts. + (x86_64_push_dummy_call): New function. + (X86_64_NUM_SAVED_REGS): New define. + (x86_64_register_number): Remove function. + (x86_64_store_struct_return): Remove function. + (x86_64_frameless_function_invocation, + x86_64_function_has_prologue): Remove functions. + (PROLOG_BUFSIZE): Remove define. + (struct x86_64_frame_cache): New structure. + (x86_64_alloc_frame_cache, x86_64_analyze_prologue, + x86_64_frame_cache, x86_64_frame_this_id, + x86_64_frame_prev_register, x86_64_frame_p, + x86_64_sigtramp_frame_cache, x86_64_sigtramp_frame_this_id, + x86_64_sigtramp_frame_prev_register, x86_sigtramp_frame_p): New + functions. + (x86_64_frame_unwind, x86_64_sigtramp_frame_unwind): New + variables. + (x86_64_skip_prologue): Rewrite in terms of + x86_64_analyze_prologue. + (x86_64_frame_base_address): New function. + (x86_64_frame_base): New variable. + (x86_64_save_dummy_frame_tos, x86_64_unwind_dummy_id): Rewrite. + (x86_64_init_abi): Set register_type and push_dummy_call. Don't + set deprecated_fp_regnum, deprecated_register_size, + deprecated_register_bytes, register_raw_size, register_byte, + register_virtual_type, register_convertiable, + register_convert_to_virtual, convert_to_raw, + deprecated_get_saved_register, deprecated_target_read_fp, + deprecated_push_arguments, deprecated_push_return_address, + deprecated_pop_frame, deprecated_store_struct_return, + deprecated_frame_init_saved_regs, deprecated_frame_chain, + frameless_function_invocation, deprecated_frame_saved_pc, + deprecated_saved_pc_after_call, frame_num_args, pc_in_sigtramp, + dwarf2_build_frame_info, deprecated_init_extra_frame_info, + deprecated_init_frame_pc and virtual_frame_pointer. Call + frame_unwind_append_predicate to register x86_64_sigtramp_frame_p + and x86_64_frame_p. Call frame_base_set_default to register + x86_64_frame_base. + (I387_FISEG_REGNUM, I387_FOSEG_REGNUM): New defines. + (x86_64_supply_fxsave, x86_64_fill_fxsave): New functions. + (_initialize_x86_64_tdep): Remove function. + * x86-64-linux-tdep.c: Don't include "dwarf2cfi.h". + (LINUX_SIGINFO_SIZE, LINUX_UCONTEXT_SIGCONTEXT_OFFSET, + LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_FP_OFFSET): Don't + define. + (X86_64_LINUX_UCONTEXT_SIGCONTEXT_OFFSET): Define. + (x86_64_linux_sigcontext_addr): Rewrite. + (x86_64_linux_sigtramp_saved_pc, x86_64_linux_saved_pc_after_call, + x86_64_linux_frame_saved_pc): Remove functions. + (x86_64_linux_pc_in_sigtramp): Renamed from + x86_64_linux_in_sigtramp. Try harder to recognize a signal + trampoline. + (x86_64_linux_frame_chain, x86_64_init_frame_pc): + Remove_functions. + (x86_64_linux_init_abi): Set pc_in_sigtramp. Initialize + TDEP->sigcontext_addr, TDEP->sc_pc_offset and TDEP->sc_sp_offset. + * x86-64-linux-nat.c: Sync with i386-linux-tdep.c. + (x86_64_regmap): Rename to regmap. + (GETREGS_SUPPLIES): Use X86_64_NUM_GREGS instead of + x86_64_num_gregs. + (supply_gregset, fill_gregset): Likewise. Use regmap instead of + x86_64_regmap. + (x86_64_fxsave_offset): Remove function. + (supply_fpregset): Simply call x86_64_supply_fxsave. + (fill_fpregset): Simply call x86_64_fill_fxsave. + (fetch_inferior_registers, store_inferior_registers): Avoid + asignment in if-statement. + (LINUX_SYSCALL_LEN, LINUX_SYSCALL_REGNUM, SYS_Sigreturn, + SYS_rt_sigreturn, LINUX_SIGCONTEXT_EFLAGS_OFFSET, + LINUX_UCONTEXT_SIGCONTEXT_OFFSET): Remove defines. + (fetch_core_registers): Remove function. + (linux_elf_core_fns): Remove. + (offsetoff): Don't define. + (_initialize_x86_64_linux_nat, kernel_u_size): Remove functions. + * config/i386/x86-64linux.mt (TDEPFILES): Add i386-linux-tdep.o. + * config/i386/x86-64linux.mh (NATDEPFILES): Remove core-aout.o, + add core-regset.o. + * config/i386/nm-x86-64linux.h: Use NM_X86_64_LINUX_H for + protection against multiple includes instead of NM_X86_64_h. Add + various comments. Include "config/nm-linux.h". Don't include + <signal.h>. + (REGISTER_U_ADDR, KERNEL_U_SIZE, U_REGS_OFFSET, KERN_U_ADDR, + GET_THREAD_SIGNALS): Remove defines. + (x86_64_register_u_addr, kernel_u_size, + lin_thread_get_thread_signals): Remove prototypes. + (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define to `long'. + [HAVE_LINK_H]: Don't include "solib.h". + [HAVE_LINK_H] (SVR4_SHARED_LIBS): Remove define. + * config/i386/tm-x86-64linux.h: Fix comments. + * Makefile.in (x86-64-linux-nat.o, x86_64-linux-tdep.o, + x86-64-tdep.o): Update dependencies. + +2003-05-30 Andrew Cagney <cagney@redhat.com> + + * config/sparc/tm-sparc.h (sparc_extract_struct_value_address): + Change parameter type to a "struct regcache *". + + * gdbarch.sh: Regardless of the multi-arch level, always define + the macro when not already defined. + * gdbarch.h, gdbarch.c: Re-generate. + +2003-05-30 Richard Henderson <rth@redhat.com> + + * alpha-mdebug-tdep.c (alpha_mdebug_frame_p): Reject prologues. + (alpha_mdebug_frame_unwind_cache): Don't call the heuristic unwinder. + (alpha_mdebug_frame_this_id): Likewise. + (alpha_mdebug_frame_prev_register): Likewise. + (alpha_mdebug_frame_base_address): Likewise. + (alpha_mdebug_frame_locals_address): Likewise. + (alpha_mdebug_frame_args_address): Likewise. + (struct alpha_mdebug_unwind_cache): Remove in_prologue_cache. + * alpha-tdep.c (alpha_heuristic_proc_start): Use get_pc_function_start. + (alpha_heuristic_frame_unwind_cache): Make static; add missing + loop increment. + (alpha_heuristic_frame_this_id): Make static. + (alpha_heuristic_frame_prev_register): Likewise. + (alpha_heuristic_frame_base_address): Likewise. + * alpha-tdep.h: Update. + +2003-05-30 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.h (i386bsd_sigcontext_addr): Remove prototype. + (I386_SIZEOF_GREGS, I386_SIZEOF_FREGS, I386_SIZEOF_XREGS): Remove + defenitions. + (IS_FP_REGNUM, IS_SSE_REGNUM): Remove definitions. + * i386-tdep.c: Mark functions that are 64-bit safe as such. + (I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM, + I386_EBP_REGNUM, I386_EIP_REGNUM, I386_EFLAGS_REGNUM, + I386_ST0_REGNUM): New defines. + (CODESTREAM_BUFSIZ, codestream_tell, codestream_peek, + codestream_get): Remove define. + (codestream_next_addr, condestream_addr, condestream_buf, + codestream_off, codestream_cnt): Remove variables. + (codestream_fill, codestream_seek, codestream_read): Remove + functions. + (i386_follow_jump): Rewrite to avoid usage of removed codestream + functionality. + (i386_get_frame_setup, i386_frameless_signal_p, i386_frame_chain, + i386_sigtramp_saved_pc, i386_sigtramp_saved_sp, + i386_frame_saved_pc, i386_saved_pc_after_call, + i386_frame_num_args, i386_frame_init_saved_regs, + i386_push_return_address, i386_do_pop_frame, i386_pop_frame, + i386_push_arguments): Remove functions. + (i386_skip_prologue): Rewrite to avoid usage of removed codestream + functionality. Use i386_analyze_prologue instead of + i386_get_frame_setup. + (I386_NUM_SAVED_REGS): New define. + (struct i386_frame_cache): New structure. + (i386_alloc_frame_cache, i386_analyze_struct_return, + i386_skip_probe, i386_analyze_frame_setup, + i386_analyze_register_saves, i386_analyze_prologue, + i386_unwind_pc, i386_frame_cache, i386_frame_this_id, + i386_frame_prev_register, i386_sigtramp_frame_cache, + i386_sigtramp_frame_this_id, i386_sigtramp_frame_prev_register, + i386_frame_p, i386_sigtramp_frame_p, i386_frame_base_address, + i386_unwind_dummy_id, i386_save_dummy_tos, i386_push_dummy_call): + New functions. + (i386_frame_unwind, i386_sigtramp_frame_unwind, i386_frame_base): + New variables. + (LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM): Define in terms of + I386_EAX_REGNUM and I386_EDX_REGNUM. + (i386_extract_return_value, i386_store_return_value): Use + I386_ST0_REGNUM where appropriate. + (i386_extract_struct_value_address): Rewrite to use extract_address. + (i386_svr4_pc_in_sigtramp): Add comment. + (i386_svr4_sigcontext_addr): Rewrite. + (i386_svr4_init_abi): Adjust TDEP->sc_pc_offset and + TDEP->sc_sp_offset. + (i386_gdbarch_init): Don't set deprecated_init_frame_pc. Set + sp_regnum, fp_regnum, pc_regnum, ps_regnum and fp0_regnum in terms + of new defines. Set push_dummy_call, don't set + deprecated_push_arguments, deprecated_push_return_address, + deprecated_pop_frame. Don't set parm_boundary. Don't set + deprecated_frame_chain, deprecated_frame_saved_pc, + deprecated_saved_pc_after_call. Set unwind_dummy_id, + save_dummy_frame_tos, unwind_pc. Call + frame_unwind_append_predicate and frame_base_set_default. Don't + set deprecated_dummy_write_pc. Don't set deprecated_fp_regnum. + Don't set frameless_function_invocation. Don't set + deprecated_register_bytes, deprecated_register_size, + deprecated_call_dummy_words and deprecated_sizeof_call_dummy. + * i386-linux-tdep.c: Fix formatting in some comments. + (LINUX_SIGTRAMP_INSN0, LINUX_SIGTRAMP_OFFSET0, + LINUX_SIGTRAMP_INSN1, LINUX_SIGTRAMP_OFFSET1, + LINUX_SIGTRAMP_INSN2, LINUX_SIGTRAMP_OFFSET2, + LINUX_RT_SIGTRAMP_INSN0, LINUX_RT_SIGTRAMP_OFFSET0, + LINUX_RT_SIGTRAMP_INSN1, LINUX_RT_SIGTRAMP_OFFSET1): Drop + redundant parentheses. + (I386_LINUX_UCONTEXT_SIGCONTEXT_OFFSET): New define. + (i386_linux_sigcontext_addr): Use it. Rewrite. + (find_minsym_and_objfile): Change name of second argument. + (skip_gnu_resolver): Renamed from skip_hurd_resolver. All callers + changed. Use frame_pc_unwind instead of + DEPRECATED_SAVED_PC_AFTER_CALL. + (i386_linux_init_abi): Don't set deprecated_register_bytes. + * i386bsd-tdep.c (i386bsd_sigcontext_addr): Rewrite. + * i386-nto-tdep.c (i386nto_sigcontext_addr): Adapt for new frame + unwinder. + * i386-cygwin-tdep.c: Don't include "gdbcore.h", "frame.h" and + "dummy-frame.h". + (i386_cygwin_frame_chain_valid, i386_cygwin_frame_chain): Removed. + (_initialize_i386_cygwin_tdep): New prototype. + (i386_cygwin_init_abi): Don't set deprecated_frame_chain and + deprecated_frame_chain_valid. + * i386-sol2-tdep.c (i386_sol2_init_abi): Don't set + TDEP->sigcontext_addr, TDEP->sc_pc_offset and TDEP->sc_sp_offset. + Rely on the SVR4 defaults. + * config/i386/i386sol2.mt (TDEPFILES): Remove i386bsd-tdep.o. + * Makefile.in (i386-tdep.o, i386-cygwin-tdep.o): Update dependencies. + +2003-05-30 Andrew Cagney <cagney@redhat.com> + + * infcall.c (call_function_by_hand): Always call + DEPRECATED_FIX_CALL_DUMMY, even for AT_ENTRY_POINT case. + +2003-05-30 Richard Henderson <rth@redhat.com> + + * alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Fix loop + increment. + +2003-05-29 Jim Blandy <jimb@redhat.com> + + Use gdbarch methods for solib stuff on PowerPC Linux. + * config/powerpc/tm-linux.h (IN_SOLIB_CALL_TRAMPOLINE, + SKIP_TRAMPOLINE_CODE): #undef these, so the gdbarch methods will + show through. + * ppc-linux-tdep.c (ppc_linux_init_abi): Register + IN_SOLIB_CALL_TRAMPOLINE and SKIP_TRAMPOLINE_CODE methods here, + giving the same effect as the #definitions above. + +2003-05-29 Adam Fedor <fedor@gnu.org> + + * objc-lang.c (CONVERT_FUNCPTR): Remove macro + (find_implementation_from_class): Replace it with the standard + case i.e. do nothing. + +2003-05-29 Richard Henderson <rth@redhat.com> + + * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): New. + (alpha_linux_sigtramp_offset): Use it. Make static. + (alpha_linux_sigcontext_addr): Handle __NR_rt_sigreturn; + update for new frame model. + * alpha-mdebug-tdep.c: New file. + * alpha-osf1-tdep.c (alpha_call_dummy_address): Move from alpha-tdep.c. + (alpha_osf1_init_abi): Install it. + * alpha-tdep.c (PROC_*): Move to alpha-mdebug-tdep.c. + (linked_proc_desc_table): Remove. + (alpha_frame_past_sigtramp_frame): Remove. + (alpha_dynamic_sigtramp_offset): Remove. + (ALPHA_PROC_SIGTRAMP_MAGIC): Remove. + (alpha_proc_desc_is_dyn_sigtramp): Remove. + (alpha_set_proc_desc_is_dyn_sigtramp): Remove. + (push_sigtramp_desc): Remove. + (alpha_cannot_fetch_register): Use ALPHA_FP_REGNUM. + (alpha_cannot_store_register): Likewise. + (alpha_sigcontext_addr): Remove. + (alpha_find_saved_regs): Remove. + (alpha_frame_init_saved_regs): Remove. + (alpha_init_frame_pc_first): Remove. + (read_next_frame_reg): Remove. + (alpha_frame_saved_pc): Remove. + (alpha_saved_pc_after_call): Remove. + (temp_proc_desc, temp_saved_regs): Remove. + (alpha_about_to_return): Remove. + (cached_proc_desc): Remove. + (alpha_frame_chain): Remove. + (alpha_print_extra_frame_info): Remove. + (alpha_init_extra_frame_info): Remove. + (alpha_frame_locals_address): Remove. + (alpha_frame_args_address): Remove. + (alpha_push_arguments): Use ALPHA_REGISTER_BYTES not sizeof CORE_ADDR. + (alpha_push_dummy_frame): Remove. + (alpha_pop_frame): Remove. + (alpha_after_prologue): Rename from after_prologue; remove mdebug bits. + (alpha_read_insn): New. + (alpha_skip_prologue): Merge alpha_skip_prologue_internal; adjust + for different insn encodings. + (alpha_in_lenient_prologue): Remove. + (struct alpha_sigtramp_unwind_cache): New. + (alpha_sigtramp_frame_unwind_cache): New. + (alpha_sigtramp_register_address): New. + (alpha_sigtramp_frame_this_id): New. + (alpha_sigtramp_frame_prev_register): New. + (alpha_sigtramp_frame_unwind): New. + (alpha_sigtramp_frame_p): New. + (struct alpha_heuristic_unwind_cache): New. + (alpha_heuristic_proc_start): Rename from heuristic_proc_start; + don't count nop insns that occur between functions. + (alpha_heuristic_frame_unwind_cache): New; incorporate much of + heuristic_proc_desc, but without the mdebug wrapping. + (alpha_heuristic_frame_this_id): New. + (alpha_heuristic_frame_prev_register): New. + (alpha_heuristic_frame_unwind): New. + (alpha_heuristic_frame_p): New. + (alpha_heuristic_frame_base_address): New. + (alpha_heuristic_frame_base): New. + (alpha_unwind_dummy_id): New. + (alpha_unwind_pc): New. + (alpha_gdbarch_init): Don't set skip_sigtramp_frame. Kill use of + frame related deprecated initializations; install replacements. + (alpha_dump_tdep): Remove. + * alpha-tdep.h (struct gdbarch_tdep): Remove skip_sigtramp_frame. + (alpha_read_insn, alpha_after_prologue, + alpha_heuristic_frame_unwind_cache, alpha_heuristic_frame_this_id, + alpha_heuristic_frame_prev_register, + alpha_heuristic_frame_base_address, alpha_mdebug_init_abi): Declare. + * config/alpha/alpha-linux.mt (TDEPFILES): Add alpha-mdebug-tdep.o. + * config/alpha/tm-alpha.h (PRINT_EXTRA_FRAME_INFO): Remove. + * config/alpha/tm-alphalinux.h (SIGTRAMP_START, SIGTRAMP_END): Remove. + +2003-05-29 Andrew Cagney <cagney@redhat.com> + + * gdb_assert.h (gdb_assert_fail): Provide different definitions + dependant on the availability of ASSERT_FUNCTION. + (ASSERT_FUNCTION): Do not define when there is no function name. + +2003-05-29 Kevin Buettner <kevinb@redhat.com> + + From Jimi X <jimix@watson.ibm.com>: + * rs6000-tdep.c (skip_prologue): Improve support for 64-bit code. + +2003-05-28 Jim Blandy <jimb@redhat.com> + + * ppc-linux-nat.c (store_altivec_registers): Don't cast fourth + argument to ptrace to int; the system headers should give it the + right type, and pointers don't fit in ints on powerpc64-*-*. + +2003-05-28 H.J. Lu <hongjiu.lu@intel.com> + + * dwarf2read.c (process_die): Handle DW_TAG_try_block and + DW_TAG_catch_block. + +2003-05-26 Elena Zannoni <ezannoni@redhat.com> + + * stabsread.c (dbx_lookup_type): Make static. + (read_type): Ditto. + (add_undefined_type): Ditto. + * stabsread.h (dbx_lookup_type, read_type, add_undefined_type): Do + not export. + +2003-05-26 Elena Zannoni <ezannoni@redhat.com> + + * hpread.c (hpread_has_name): Make static. + (hpread_psymtab_to_symtab): Ditto. + (file_exists): Ditto. + (hpread_call_pxdb): Ditto. + (hpread_pxdb_needed): Ditto. + (hpread_quick_traverse): Ditto. + (hpread_get_header): Ditto. + (hpread_get_lntt): Ditto. + (hpread_get_slt): Ditto. + (class_of): Ditto. + +2003-05-25 Andreas Schwab <schwab@suse.de> + + * m68k-tdep.c (m68k_gdbarch_init): Set parm_boundary instead of + stack_align and deprecated_extra_stack_alignment_needed. + (m68k_stack_align): Delete. + + * m68k-tdep.c (m68k_register_raw_size): Remove cast. + (m68k_register_virtual_size): Likewise. + (altos_skip_prologue): Remove obsolete function. + (isi_frame_num_args): Likewise. + (news_frame_num_args): Likewise. + (m68k_fix_call_dummy): Make static. + (m68k_push_dummy_frame): Likewise. + (m68k_pop_frame): Likewise. + (m68k_skip_prologue): Likewise. + (m68k_frame_init_saved_regs): Likewise. + (m68k_saved_pc_after_call): Likewise. + (m68k_get_longjmp_target): Make multi-arch. + (m68k_gdbarch_init): Allocate and initialize gdbarch_tdep + structure. Register m68k_get_longjmp_target if enabled. + * m68k-tdep.h (struct gdbarch_tdep): Define. + * config/m68k/tm-m68k.h: Don't include "regcache.h". + + * Makefile.in (config.status): Also depend on configure.tgt + and configure.host. + (m68klinux-tdep.o): Update dependencies. + * configure.tgt (m68*-*-linux*): Set gdb_multi_arch to 1. + * m68klinux-tdep.c (M68K_LINUX_JB_ELEMENT_SIZE): Define. + (M68K_LINUX_JB_PC): Define. + (m68k_linux_pc_in_sigtramp): Renamed from m68k_linux_in_sigtramp + and take additional parameter. + (m68k_linux_sigtramp_saved_pc): Update. + (m68k_linux_init_abi): Set jb_pc and jb_elt_size. Register + m68k_linux_pc_in_sigtramp, in_plt_section, + find_solib_trampoline_target. + * config/m68k/tm-linux.h: Don't include any tm headers. + (START_INFERIOR_TRAPS_EXPECTED): Remove definition. + (JB_ELEMENT_SIZE): Likewise. + (JB_PC): Likewise. + (GET_LONGJMP_TARGET): Likewise. + (IN_SIGTRAMP): Likewise. + (SVR4_SHARED_LIBS): Define this and include "solib.h". + +2003-05-25 Mark Kettenis <kettenis@gnu.org> + + * sparc-tdep.c (sparc32_do_push_arguments): New function. + (sparc32_push_arguments): Re-implement by calling + sparc32_do_push_arguments. + +2003-05-25 Mark Kettenis <kettenis@gnu.org> + + * sparc-tdep.c (SPARC_F0_REGNUM, SPARC_F1_REGNUM, SPARC_O0_REGNUM, + SPARC_O1_REGNUM): New defines. + (sparc32_extract_return_value): Rewrite to operate on a regcache. + (sparc32_store_return_value): New function. + (sparc_extract_struct_value_address): Rewrite to operate on a + regcache. + (sparc_gdbarch_init): Don't set + deprecated_extract_struct_value_address. Set + extract_struct_value_address instead. Don't set + deprecated_extract_return_value and deprecated_store_return_value + for 32-bit targets. Set extract_return_value and + store_return_value instead. + * config/sparc/tm-sparc.h (DEPRECATED_STORE_RETURN_VALUE, + DEPRECATED_EXTRACT_RETURN_VALUE, + DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Don't define these. + (STORE_RETURN_VALUE, EXTRACT_RETURN_VALUE, + EXTRACT_STRUCT_VALUE_ADDRESS): Define these instead. + (sparc_store_return_value): Remove prototype. + (sparc32_store_return_value): New prototype. + (sparc32_extract_return_value, sparc_extract_struct_value_address): + Adjust prototypes. + +2003-05-24 Mark Kettenis <kettenis@gnu.org> + + * sparcnbsd-tdep.c: Include "gdb_string.h". + +2003-05-23 Andrew Cagney <cagney@redhat.com> + + * p-valprint.c (pascal_val_print): Replace extract_address with + the inline equivalent extract_unsigned_integer. + * jv-valprint.c (java_value_print): Ditto. + * ada-valprint.c (ada_val_print_1): Ditto. + * ada-lang.h (EXTRACT_ADDRESS): Ditto. + +2003-05-23 Theodore A. Roth <troth@openavr.org> + + * blockframe.c (frameless_look_for_prologue): Remove unused + after_prologue variable. + +2003-05-23 Mark Kettenis <kettenis@gnu.org> + + * blockframe.c (get_pc_function_start): Rewrite to avoid + asignments in if-statements. + +2003-05-23 Raoul Gough <RaoulGough@yahoo.co.uk> + + Committed by Elena Zannoni <ezannoni@redhat.com>. + * coffread.c(coff_symtab_read): Do relocate static symbols from PE + files, don't relocate absolute symbols (and do use mst_abs). + +2003-05-23 Andrew Cagney <cagney@redhat.com> + + * objc-lang.c: Include "gdb_assert.h". + (objc_op_print_tab): Use OP_NULL and PREC_NULL instead of 0. + (CHECK, CHECK_FATAL, __CHECK_FUNCTION): Delete macros. + (gdb_check, gdb_check_fatal): Delete functions. + (read_objc_methlist_method): Replace CHECK and CHECK_FATAL with + gdb_assert. + (parse_selector, parse_method, find_methods, find_imps): Ditto. + * Makefile.in (objc-lang.o): Update dependencies. + +2003-05-22 Ian Lance Taylor <ian@airs.com> + + * disasm.c (gdb_disassemble_info): Initialize disassemble_info + with fprintf_filtered, not fprintf_unfiltered. + +2003-05-22 Andrew Cagney <cagney@redhat.com> + + * stack.c (frame_info): Inline extract_address, replacing it with + extract_unsigned_integer. + * findvar.c (unsigned_pointer_to_address): Ditto. + * dwarf2loc.c (dwarf_expr_read_reg): Ditto. + * dwarf2expr.c (dwarf2_read_address): Ditto. + * frame.c (frame_pc_unwind): Update comment. + * dummy-frame.c (deprecated_read_register_dummy): Update comment. + +2003-05-22 Jeff Johnston <jjohnstn@redhat.com> + + * infptrace.c (detach): Call print_sys_errmsg rather than + perror_with_name to issue warning message when errno is non-zero + after calling ptrace detach. + +2003-05-21 J. Brobecker <brobecker@gnat.com> + + * config/pa/tm-hppa.h: Delete some unused macros. Move some + macro definitions from here... + * hppa-tdep.c: ...to there. + +2003-05-20 Kevin Buettner <kevinb@redhat.com> + + * mips-nat.c (REGISTER_PTRACE_ADDR): Convert macro to function + register_ptrace_addr(). Fix all callers. + +2003-05-21 Andreas Schwab <schwab@suse.de> + + * Makefile.in (m68k-tdep.o, m68klinux-tdep.o): Update + dependencies. + * m68k-tdep.c (m68k_gdbarch_init): Call gdbarch_init_osabi at the + end. + * m68klinux-tdep.c (m68k_linux_init_abi): New function. + (_initialize_m68k_linux_tdep): New function. + (m68k_linux_frame_saved_pc): Make static. + (m68k_linux_extract_return_value): Likewise. + (m68k_linux_store_return_value): Likewise. + (m68k_linux_extract_struct_value_address): Likewise. + * config/m68k/tm-linux.h (DEPRECATED_EXTRACT_RETURN_VALUE): + Remove. + (DEPRECATED_STORE_RETURN_VALUE): Remove. + (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Remove. + (DEPRECATED_FRAME_SAVED_PC): Remove. + +2003-05-20 Kris Warkentin <kewarken@qnx.com> + + * nto-tdep.c (fetch_core_registers): Match gdb's idea of + regset numbering rather than our own. + +2003-05-19 David Carlton <carlton@bactrian.org> + + * config/djgpp/fnchange.lst: Add testsuite/gdb.c++/rtti*. + +2003-05-19 David Carlton <carlton@bactrian.org> + + Partial fix for PR c++/827. + * cp-support.h: Include symtab.h. + Declare cp_lookup_symbol_nonlocal, cp_lookup_symbol_namespace. + * cp-namespace.c: Update contributors. + (cp_lookup_symbol_nonlocal): New. + (lookup_namespace_scope, cp_lookup_symbol_namespace) + (lookup_symbol_file): Ditto. + * c-lang.c (cplus_language_defn): Use cp_lookup_symbol_nonlocal. + * block.h: Declare block_scope, block_using, block_global_block. + * block.c (block_scope): New. + (block_using, block_global_block): Ditto. + * Makefile.in (cp_support_h): Depend on symtab_h. + * config/djgpp/fnchange.lst: Add testsuite/gdb.c++/namespace1.cc. + +2003-05-19 David Carlton <carlton@bactrian.org> + + * language.h (struct language_defn): Add 'la_value_of_this' + and 'la_lookup_symbol_nonlocal' members. + * symtab.h: Declare basic_lookup_symbol_nonlocal, + lookup_symbol_static, lookup_symbol_global, + lookup_symbol_aux_block. + * symtab.c (lookup_symbol_aux): Call language hooks to determine + if we should search fields of this and how to do static/global + lookup. + (lookup_symbol_aux_block): Make extern. + (basic_lookup_symbol_nonlocal): New. + (lookup_symbol_static, lookup_symbol_global): Ditto. + * ada-lang.c (ada_language_defn): Set 'la_value_of_this' and + 'la_lookup_symbol_nonlocal' members. + * c-lang.c (c_language_defn, cplus_language_defn) + (asm_language_defn, minimal_language_defn): Ditto. + * jv-lang.c (java_language_defn): Ditto. + * language.c (unknown_language_defn, auto_language_defn) + (local_language_defn): Ditto. + * m2-lang.c (m2_language_defn): Ditto. + * objc-lang.c (objc_language_defn): Ditto. + * scm-lang.c (scm_language_defn): Ditto. + * f-lang.c (f_language_defn): Ditto, and include value.h as well. + * p-lang.c (pascal_language_defn): Ditto for both. + * Makefile.in (f-lang.o): Depend on value_h. + (p-lang.o): Ditto. + +2003-05-19 David Carlton <carlton@bactrian.org> + + * block.h: Declare block_static_block. + * block.c (block_static_block): New. + * symtab.c (lookup_symbol_aux): Remove 'static_block' argument to + lookup_symbol_aux_local, calling block_static_block instead. + (lookup_symbol_aux_local): Delete 'static_block' argument. + +2003-05-19 David Carlton <carlton@bactrian.org> + + * symtab.c (lookup_symbol_aux): Delete #if 0 hunk. + +2003-05-19 Michal Ludvig <mludvig@suse.cz> + + * x86-64-tdep.c (x86_64_dwarf2gdb_regno_map): Fix + register numbers mapping. + +2003-05-18 Adam Fedor <fedor@gnu.org> + + * symtab.c (completion_list_objc_symbol): New function. + (make_symbol_completion_list): Use it to add ObjC symbols + when looking though the list. + (language_search_unquoted_string): New function. + (make_file_symbol_completion_list): Use it. + +2003-05-18 Andreas Schwab <schwab@suse.de> + + * Makefile (m68klinux-nat.o, m68klinux-tdep.o): Update + dependencies. + * config/m68k/tm-linux.h (DEPRECATED_EXTRACT_RETURN_VALUE): Define + as m68k_linux_extract_return_value. + (DEPRECATED_STORE_RETURN_VALUE): Define as + m68k_linux_store_return_value. + (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Define as + m68k_linux_extract_struct_value_address. + * m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc): Use + get_next_frame, get_frame_base, get_frame_pc. + (m68k_linux_frame_saved_pc): Use get_frame_base. + (m68k_linux_extract_return_value): New function. + (m68k_linux_store_return_value): New function. + (m68k_linux_extract_struct_value_address): New function. + * config/m68k/tm-m68k.h: Declare m68k_get_longjmp_target. + + * c-exp.y (typebase): Remove duplicate occurence of + `SIGNED_KEYWORD LONG LONG'. Use builtin_type_long_long instead + of lookup_signed_typename. + +2003-05-18 Mark Kettenis <kettenis@gnu.org> + + * dwarf2loc.c (find_location_expression): Change type of second + argument to `size_t *'. + (loclist_read_variable, loclist_tracepoint_var_ref): Use size_t + for size variable. + +2003-05-18 David Carlton <carlton@bactrian.org> + + * symtab.c (lookup_symbol_aux): Rename 'mangled_name' argument to + 'linkage_name'. Add comment. + (lookup_symbol_aux_local): Rename 'mangled_name' argument to + 'linkage_name'. + (lookup_symbol_aux_block, lookup_symbol_aux_symtabs) + (lookup_symbol_aux_psymtabs, lookup_symbol_aux_minsyms) + (lookup_block_symbol): Ditto. + +2003-05-16 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_REGISTER_BYTES): Rename REGISTER_BYTES. + * gdbarch.h, gdbarch.c: Re-generate. + * arm-linux-tdep.c (arm_linux_extract_return_value): Delete reference. + * TODO (REGISTER_BYTES): Delete reference. + * alpha-tdep.c (alpha_gdbarch_init): Update. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * x86-64-tdep.c (x86_64_init_abi): Update. + * vax-tdep.c (vax_gdbarch_init): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * ns32k-tdep.c (ns32k_gdbarch_init_32082): Update. + (ns32k_gdbarch_init_32382): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * i386-tdep.c (i386_gdbarch_init): Update. + * i386-linux-tdep.c (i386_linux_init_abi): Update. + * hppa-tdep.c (hppa_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + * sparc-tdep.c (sparc_pop_frame): Update. + * rs6000-tdep.c (rs6000_pop_frame): Update. + * remote.c (init_remote_state): Update. + (remote_prepare_to_store): Update. + * remote-vx.c (vx_prepare_to_store): Update. + * remote-sds.c (sds_fetch_registers): Update. + (sds_prepare_to_store): Update. + * remote-array.c: Update. + * regcache.c (init_legacy_regcache_descr): Update. + (init_regcache_descr): Update. + * mips-tdep.c (mips_eabi_extract_return_value): Update. + (mips_o64_extract_return_value): Update. + * irix5-nat.c (fetch_core_registers): Update. + * irix4-nat.c (fetch_core_registers): Update. + * i386-tdep.h: Update. + * hppa-tdep.c (pa_do_registers_info): Update. + (pa_do_strcat_registers_info): Update. + * cris-tdep.c (cris_register_bytes_ok): Update. + * config/nm-gnu.h (CHILD_PREPARE_TO_STORE): Update. + * config/sparc/tm-sparc.h (DEPRECATED_REGISTER_BYTES): Update. + * config/sparc/nm-sun4sol2.h (CHILD_PREPARE_TO_STORE): Update. + * config/sparc/nm-sun4os4.h (CHILD_PREPARE_TO_STORE): Update. + * config/sparc/nm-nbsd.h (CHILD_PREPARE_TO_STORE): Update. + * config/sparc/tm-sp64.h (DEPRECATED_REGISTER_BYTES): Update. + * config/s390/tm-s390.h (DEPRECATED_REGISTER_BYTES): Update. + * config/pa/tm-hppa64.h (DEPRECATED_REGISTER_BYTES): Update. + * config/mips/tm-mips.h (DEPRECATED_REGISTER_BYTES): Update. + * config/mips/tm-irix6.h (DEPRECATED_REGISTER_BYTES): Update. + * config/mips/tm-irix5.h (DEPRECATED_REGISTER_BYTES): Update. + * config/m68k/tm-sun3.h (DEPRECATED_REGISTER_BYTES): Update. + (REGISTER_BYTES_OK): Update. + * config/m68k/nm-sun3.h (CHILD_PREPARE_TO_STORE): Update. + * config/ia64/tm-ia64.h (DEPRECATED_REGISTER_BYTES): Update. + +2003-05-16 Ian Lance Taylor <ian@airs.com> + + * vax-tdep.c (INVALID_FLOAT, MAXLEN, NOPCODES): Don't define. + (vax_print_insn, print_insn_arg): Remove static functions. + (vax_gdbarch_init): Call set_gdbarch_print_insn with + print_insn_vax from opcodes library. + (_initialize_vax_tdep): Don't set deprecated_tm_print_insn. + +2003-05-15 Andrew Cagney <cagney@redhat.com> + + * arch-utils.h (legacy_breakpoint_from_pc): Delete declaration. + * target.h (memory_breakpoint_from_pc): Delete declaration. + * mem-break.c (memory_breakpoint_from_pc): Delete function. + * arch-utils.c (legacy_breakpoint_from_pc): Delete function. + * monitor.c (monitor_insert_breakpoint): Use + gdbarch_breakpoint_from_pc instead of memory_breakpoint_from_pc. + * gdbarch.sh (BREAKPOINT_FROM_PC): Do not provide a default. + * gdbarch.h, gdbarch.c: Re-generate. + * sparc-tdep.c (sparc_breakpoint_from_pc): New function. + (sparc_gdbarch_init): Set breakpoint_from_pc to + sparc_breakpoint_from_pc. + * config/sparc/tm-sparc.h (BREAKPOINT): Delete macro. + (BREAKPOINT_FROM_PC): Define. + (sparc_breakpoint_from_pc): Declare. + * hppa-tdep.c (hppa_breakpoint_from_pc): New function. + * config/pa/tm-hppa.h (hppa_breakpoint_from_pc): Declare. + (BREAKPOINT_FROM_PC): Define. + (BREAKPOINT): Delete macro. + * target.h: Update comment. + * s390-tdep.c (s390_gdbarch_init): Update comments. + * remote.c: Update comments. + * remote-mips.c: Update comments. + * proc-api.c (write_with_trace): Do not check for a breakpoint. + * mem-break.c: Update comment. + * ia64-tdep.c (IA64_BREAKPOINT): Rename BREAKPOINT. + (ia64_memory_insert_breakpoint): Update. + * config/sparc/tm-sparc.h: Update comment. + * config/pa/tm-hppa64.h: Update comment. + * rs6000-tdep.c (BIG_BREAKPOINT, LITTLE_BREAKPOINT): Delete macro. + (rs6000_breakpoint_from_pc): Update. + * mips-tdep.c (BIG_BREAKPOINT, LITTLE_BREAKPOINT): Delete macro. + (PMON_BIG_BREAKPOINT, PMON_LITTLE_BREAKPOINT): Delete macro. + (IDT_LITTLE_BREAKPOINT, IDT_LITTLE_BREAKPOINT): Delete macro. + (MIPS16_LITTLE_BREAKPOINT, MIPS16_BIG_BREAKPOINT): Delete macro. + (mips_breakpoint_from_pc): Update. + (mips_dump_tdep): Update. + + * symtab.h (DEPRECATED_SYMBOL_MATCHES_NAME): Delete macro. + * minsyms.c (lookup_minimal_symbol): Inline + DEPRECATED_SYMBOL_MATCHES_NAME. Replace STREQ with strcmp. + + * c-lang.c (c_printstr): Delete "extern inspect_it" declaration. + * p-valprint.c (pascal_object_print_value_fields): Ditto. + * p-lang.c (pascal_printstr): Ditto. + * objc-lang.c (objc_printstr): Ditto. + * m2-lang.c (m2_printstr): Ditto. + * jv-valprint.c (java_print_value_fields): Ditto. + * f-lang.c (f_printstr): Ditto. + * cp-valprint.c (cp_print_value_fields): Ditto. Include "valprint.h". + * ada-valprint.c (inspect_it, repeat_count_threshold): Ditto, and + for repeat_count_threshold. + * Makefile.in (cp-valprint.o): Update dependencies. + +2003-05-15 Jeff Johnston <jjohnstn@redhat.com> + + * ia64-tdep.c: Increase max_skip_non_prologue_insns to 40. + (examine_prologue): Support looking through leaf functions, knowing + they start with mov r2,r12. Support skipping over indirect stores + of the input registers. Upon hitting a non-nop branch instruction + or predicated instruction, bail out by setting lim_pc to the current + pc value in the loop. At the end, if the lim_pc value is still + beyond our calculated value and we have trust_limit set, + use the lim_pc value. + +2003-05-15 Andrew Cagney <cagney@redhat.com> + + * dummy-frame.h (deprecated_find_dummy_frame_regcache): Rename + generic_find_dummy_frame. + * dummy-frame.c (deprecated_find_dummy_frame_regcache): Update. + (deprecated_generic_find_dummy_frame): Update. + (deprecated_read_register_dummy): Update. + * frame.c (deprecated_generic_get_saved_register): Update. + +2003-05-15 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_breakpoint_from_pc): New function. + (avr_gdbarch_init): Set breakpoint_from_pc method. + +2003-05-15 Andrew Cagney <cagney@redhat.com> + + * regcache.c (build_regcache): Set deprecated_register_valid + directly. + (deprecated_grub_regcache_for_register_valid): Delete function. + * regcache.h (deprecated_grub_regcache_for_register_valid): Delete + declaration. + +2003-05-15 David Carlton <carlton@bactrian.org> + + Committed by Elena Zannoni <ezannoni@redhat.com> + * symtab.c (lookup_symbol_aux): Delete calls to + lookup_symbol_aux_minsyms. + (lookup_symbol_aux_minsyms): Comment out function and + prototype. Delete lookup by mangled name. + +2003-05-14 Kevin Buettner <kevinb@redhat.com> + + * dwarf2expr.c (new_dwarf_expr_context): Set ``stack_len'' to + correctly indicate an empty stack and ``stack_allocated'' to the + indicate the number of elements initially allocated. + (dwarf_expr_grow_stack): Simplify method for computing new + stack size. Don't loop infinitely if ``stack_len'' is zero. + (execute_stack_op): Move ``ctx->in_reg'' initialization + out of loop. Allow DW_OP_reg0 ... DW_OP_reg31 and DW_OP_regx to + be used in conjuction with DW_OP_piece. Revise error message + accordingly. + +2003-05-14 Theodore A. Roth <troth@openavr.org> + + * MAINTAINERS: Update my email address. + * avr-tdep.c: Ditto. + +2003-05-14 Elena Zannoni <ezannoni@redhat.com> + + * symtab.h (enum domain_enum): Rename from namespace_enum. + (UNDEF_DOMAIN, VAR_DOMAIN, STRUCT_DOMAIN, LABEL_DOMAIN, + VARIABLES_DOMAIN, FUNCTIONS_DOMAIN, TYPES_DOMAIN, METHODS_DOMAIN): + Rename from UNDEF_NAMESPACE, VAR_NAMESPACE, STRUCT_NAMESPACE, + LABEL_NAMESPACE, VARIABLES_NAMESPACE, FUNCTIONS_NAMESPACE, + TYPES_NAMESPACE, METHODS_NAMESPACE. + (SYMBOL_NAMESPACE): Rename to SYMBOL_DOMAIN. + (struct symbol, struct partial_symbol): Rename field + 'namespace_enum namespace' to 'domain_enum domain'. + (PSYMBOL_NAMESPACE): Rename to PSYMBOL_DOMAIN. + Delete old define kludge for namespace. + + * ada-exp.y, ada-lang.c, ada-lang.h, alpha-tdep.c, arm-tdep.c, + blockframe.c, c-exp.y, c-valprint.c, coffread.c, dbxread.c, + dwarf2read.c, dwarfread.c, f-exp.y, gdbtypes.c, gdbtypes.h, + gnu-v3-abi.c, hppa-tdep.c, hpread.c, jv-exp.y, jv-lang.c, + language.c, linespec.c, m2-exp.y, m3-nat.c, mdebugread.c, + mips-tdep.c, nlmread.c, objc-exp.y, objc-lang.c, objfiles.c, + p-exp.y, p-valprint.c, parse.c, printcmd.c, scm-lang.c, source.c, + stabsread.c, stack.c, symfile.c, symfile.h, symmisc.c, symtab.c, + valops.c, values.c, xcoffread.c, xstormy16-tdep.c: Replace all + occurrences of the above. + +2003-05-14 Ian Lance Taylor <ian@airs.com> + + * Makefile.in (install-only): Use $(SHELL) when running + mkinstalldirs. + +2003-05-13 Ian Lance Taylor <ian@airs.com> + + * MAINTAINERS (write after approval): Add myself. + + * ser-pipe.c (_initialize_ser_pipe): Correct call to memset--swap + second and third arguments. + * ser-tcp.c (_initialize_ser_tcp): Likewise. + * ser-unix.c (_initialize_ser_hardwire): Likewise. + +2003-05-13 Andrew Cagney <cagney@redhat.com> + + * defs.h (store_address): Delete declaration. + findvar.c (store_address): Delete function. + * arm-tdep.c (arm_push_dummy_call): Replace store_address with + store_unsigned_integer. + * xstormy16-tdep.c (xstormy16_address_to_pointer): Ditto. + * v850-tdep.c (v850_push_arguments): Ditto. + * sparc-tdep.c (sparc_get_saved_register): Ditto. + * sh-tdep.c (sh64_get_saved_register): Ditto. + * rs6000-tdep.c (rs6000_push_arguments): Ditto. + * ppc-sysv-tdep.c (ppc_sysv_abi_push_arguments): Ditto. + * mips-tdep.c (mips_eabi_push_arguments): Ditto. + (mips_get_saved_register): Ditto. + * ia64-tdep.c (ia64_get_saved_register): Ditto. + (find_func_descr, ia64_push_arguments): Ditto. + * i386-tdep.c (i386_push_arguments): Ditto. + * hpux-thread.c (hpux_thread_fetch_registers): Ditto. + * frv-tdep.c (frv_push_arguments): Ditto. + * frame.c (legacy_saved_regs_prev_register): Ditto. + (deprecated_generic_get_saved_register): Ditto. + * findvar.c (unsigned_address_to_pointer): Ditto. + * dwarf2read.c (dwarf2_const_value): Ditto. + * arm-linux-tdep.c (arm_linux_push_arguments): Ditto. + * alpha-tdep.c (alpha_push_arguments): Ditto. + +2003-05-12 J. Brobecker <brobecker@gnat.com> + + * NEWS: Mention that the hppa-hpux port has been partially + multiarched (32bit ABIT only, so far). + +2003-05-11 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (mi-symbol-cmds.o): Rename mi-cmd-symbol. + * config/djgpp/fnchange.lst: Rename include/xtensa-isa-internal.h, + include/xtensa-isa.h, sim/testsuite/sim/arm/misaligned1.ms, + sim/testsuite/sim/arm/misaligned2.ms, and + sim/testsuite/sim/arm/misaligned3.ms. + * disasm.h (struct ui_file): Add opaque struct declaration. + * config/pa/tm-hppa64.h (struct type, struct frame_info): Ditto. + * frame.h (struct ui_file): Ditto. + +2003-05-11 Mark Kettenis <kettenis@gnu.org> + + * value.h: Pretty print. + +2003-05-10 Mark Kettenis <kettenis@gnu.org> + + * config/i386/tm-linux.h (I386_GNULINUX_TARGET): Remove define. + +2003-05-08 Andrew Cagney <cagney@redhat.com> + + * regcache.h (max_register_size): Delete declaration. + * regcache.c (max_register_size): Delete function. + (struct regcache_descr): Delete field "max_register_size". + (init_regcache_descr, init_legacy_regcache_descr): Assert that all + registers fit in MAX_REGISTER_SIZE. + (regcache_save): Replace max_register_size with MAX_REGISTER_SIZE. + (regcache_restore, regcache_xfer_part, regcache_dump): Ditto. + * thread-db.c: Replace max_register_size with MAX_REGISTER_SIZE. + * sh-tdep.c, rom68k-rom.c, remote-sim.c, remote-mips.c: Ditto. + * remote-e7000.c, monitor.c, mipsv4-nat.c, mips-nat.c: Ditto. + * m68klinux-nat.c, lynx-nat.c, irix4-nat.c: Ditto. + * hpux-thread.c, hppah-nat.c, hppab-nat.c, hppa-tdep.c: Ditto. + * dve3900-rom.c, hppa-tdep.c: Ditto. + +2003-05-08 David Carlton <carlton@math.stanford.edu> + + * valops.c (push_word): Fix typo. + +2003-05-08 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh: Delete references to MAX_REGISTER_RAW_SIZE. + * gdbarch.h: Re-generate. + * defs.h (MAX_REGISTER_RAW_SIZE): Delete macro. + (legacy_max_register_raw_size): Delete declaration. + * regcache.c (legacy_max_register_raw_size): Delete function. + * valops.c: Replace MAX_REGISTER_RAW_SIZE with MAX_REGISTER_SIZE. + * target.c, stack.c, sparc-tdep.c, sh-tdep.c: Ditto. + * rs6000-tdep.c, rs6000-nat.c, remote.c, remote-sim.c: Ditto. + * remote-rdp.c, remote-array.c, regcache.c: Ditto. + * ppc-linux-nat.c, monitor.c, mn10300-tdep.c: Ditto. + * mips-tdep.c, mips-linux-tdep.c, m68klinux-nat.c: Ditto. + * infptrace.c, ia64-tdep.c, i386-tdep.c, frame.c: Ditto. + * findvar.c, dwarf2cfi.c: Ditto. + +2003-05-08 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (read_signed_register): New function, moved to here + from "regcache.c". + (read_signed_register_pid): Ditto. + * regcache.c (read_signed_register_pid): Delete function, moved to + "mips-tdep.c". + (read_signed_register): Ditto. + * regcache.h (read_signed_register): Delete declaration. + (read_signed_register_pid): Delete declaration. + +2003-05-08 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh: Add comments on MAX_REGISTER_SIZE. + * gdbarch.h: Re-generate. + * defs.h (MAX_REGISTER_VIRTUAL_SIZE): Delete macro. + (legacy_max_register_virtual_size): Delete declaration. + * infcmd.c (default_print_registers_info): Use MAX_REGISTER_SIZE. + * d10v-tdep.c (d10v_print_registers_info): Ditto. + * tracepoint.c (memrange_sortmerge): Ditto. + * sparc-tdep.c (sparc_print_registers): Ditto. + * regcache.c (legacy_max_register_virtual_size): Delete function. + +2002-05-08 J. Brobecker <brobecker@gnat.com> + + * fork-child.c (escape_bang_in_quoted_argument): New function. + (fork_inferior): Escape '!' characters in quoted arguments + only when needed. + +2003-05-08 J. Brobecker <brobecker@gnat.com> + + * dwarf2read.c (set_cu_language): Set the language to "minimal" if + the language of the CU is not currently supported by GDB. + +2003-05-08 J. Brobecker <brobecker@gnat.com> + + * defs.h (language): Add language_minimal enum value. + * c-lang.c (minimal_language_defn): New language definition. + (_initialize_c_language): Add the new minimal language to the list + of languages known to GDB. + +2003-05-08 Kevin Buettner <kevinb@redhat.com> + + * frame.c (get_frame_type): Don't attempt to lazily initialize + frame's unwinder for legacy frames. + +2003-05-07 Andrew Cagney <cagney@redhat.com> + + * ia64-tdep.c (ia64_remote_translate_xfer_address): Add "gdbarch" + and "regcache" parameters. + * avr-tdep.c (avr_remote_translate_xfer_address): Ditto. + +2003-05-07 Jeff Johnston <jjohnstn@redhat.com> + + * dwarf2read.c (dwarf_decode_lines): Only use output of + check_cu_functions() when calling record_line(). Do not update + the current address. + +2003-05-07 Andrew Cagney <cagney@redhat.com> + + * fork-child.c (startup_inferior): Delete #ifdef STARTUP_INFERIOR + code. + +2003-05-07 Jim Blandy <jimb@redhat.com> + + Rename commands 'maint list symtabs' and 'maint list psymtabs' to + 'maint info symtabs' and 'maint info psymtabs'. + * symmisc.c (maintenance_info_symtabs, maintenance_info_psymtabs): + Renamed from maintenance_list_symtabs and maintenance_list_psymtabs. + * symtab.h (maintenance_info_symtabs, maintenance_info_psymtabs): + Declarations updated. + * maint.c (maintenance_list_command): Delete. + (_initialize_maint_cmds): Update calls to add_cmd. + * gdbcmd.h (maintenancelistlist): Delete declaration. + * cli/cli-cmds.c (maintenancelistlist): Delete. + (init_cmd_lists): Don't initialize it. + * cli/cli-cmds.h (maintenancelistlist): Delete declaration. + +2003-05-07 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c (remote_d10v_translate_xfer_address): Add + "regcache". + (d10v_print_registers_info): Update. + (d10v_dmap_register, d10v_imap_register): Delete functions. + (struct gdbarch_tdep): Add "regcache" parameter to "dmap_register" + and "imap_register". + (d10v_ts2_dmap_register, d10v_ts2_imap_register): Add "regcache". + (d10v_ts3_dmap_register, d10v_ts3_imap_register): Add "regcache". + * arch-utils.c (generic_remote_translate_xfer_address): Add + "regcache" and "gdbarch" parameters. + * gdbarch.sh (REMOTE_TRANSLATE_XFER_ADDRESS): Add "regcache" + parameter. Change class to multi-arch. + * gdbarch.h, gdbarch.c: Re-generate. + * remote.c (remote_xfer_memory): Use + gdbarch_remote_translate_xfer_address. + +2003-05-07 Jeff Johnston <jjohnstn@redhat.com> + + * infrun.c (prev_pc): Move declaration ahead of proceed(). + (proceed): Refresh prev_pc value before resuming. + (stop_stepping): Remove code to refresh prev_pc. + +2003-05-06 Kris Warkentin <kewarken@qnx.com> + + * nto-tdep.c: Removed stray comment. + +2003-05-06 Kris Warkentin <kewarken@qnx.com> + + * i386-nto-tdep.c: Fix old K&R function definitions. + * nto-tdep.c: Likewise and change stat.h include to gdb_stat.h. + Also change add_show_from_set() call to add_setshow_cmd(). + * nto-tdep.h: Remove PARAMS and grep ^func ARI hits. + +2003-05-05 Andrew Cagney <cagney@redhat.com> + + * dummy-frame.c: Include "command.h" and "gdbcmd.h". + (fprint_dummy_frames): New function. + (maintenance_print_dummy_frames): New function. + (_initialize_dummy_frame): Add command "maint print dummy-frames". + * frame.c (fprint_frame_id): Make global. + * frame.h (fprint_frame_id): Declare. + * Makefile.in (dummy-frame.o): Update dependencies. + +2003-05-05 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_REGISTER_SIZE): Rename REGISTER_SIZE. + (DEPRECATED_SIZEOF_CALL_DUMMY_WORDS): Rename + SIZEOF_CALL_DUMMY_WORDS. + (DEPRECATED_CALL_DUMMY_WORDS): Rename CALL_DUMMY_WORDS. + (DEPRECATED_FIX_CALL_DUMMY): Rename FIX_CALL_DUMMY. + (DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET): Rename + CALL_DUMMY_BREAKPOINT_OFFSET. + (DEPRECATED_CALL_DUMMY_START_OFFSET): Rename + CALL_DUMMY_START_OFFSET. + (DEPRECATED_CALL_DUMMY_LENGTH): Rename CALL_DUMMY_LENGTH. + * gdbarch.h, gdbarch.c: Re-generate. + * alpha-tdep.c, alphafbsd-tdep.c, arm-linux-tdep.c: Update. + * arm-tdep.c, avr-tdep.c, breakpoint.c, cris-tdep.c: Update. + * dummy-frame.c, dummy-frame.h, frv-tdep.c, gdbarch.c: Update. + * gdbarch.h, gdbarch.sh, h8300-tdep.c, hppa-tdep.c: Update. + * i386-tdep.c, ia64-tdep.c, infcall.c, inferior.h: Update. + * m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c: Update. + * mips-tdep.c, mn10300-tdep.c, ns32k-tdep.c: Update. + * rs6000-tdep.c, s390-tdep.c, sh-tdep.c, sol-thread.c: Update. + * sparc-tdep.c, target.c, v850-tdep.c, valops.c: Update. + * vax-tdep.c, x86-64-tdep.c, xstormy16-tdep.c: Update. + * config/ia64/tm-ia64.h, config/m68k/tm-vx68.h: Update. + * config/mips/tm-mips.h, config/pa/nm-hppah.h: Update. + * config/pa/tm-hppa.h, config/pa/tm-hppa64.h: Update. + * config/s390/tm-s390.h, config/sparc/tm-sp64.h: Update. + * config/sparc/tm-sparc.h: Update. + +2003-05-05 Kris Warkentin <kewarken@qnx.com> + + * configure.tgt: Add i[3456]86-*-nto*. + * i386-nto-tdep.c: New file. i386 specific support for QNX Neutrino. + * nto-tdep.c: New file. Neutrino target support routines. + * nto-tdep.h: New file. Neutrino target header. + * config/tm-qnxnto.h: New file. + * config/i386/i386nto.mt: New file. + * config/i386/tm-i386nto.h: New file. + +2003-05-04 Andrew Cagney <cagney@redhat.com> + + * gdbthread.h (save_infrun_state): Drop prev_func_name parameter. + (load_infrun_state): Ditto. + (struct thread_info): Drop "prev_func_name" field. + * thread.c (load_infrun_state): Update. + (save_infrun_state): Update. + * infrun.c (prev_func_name): Delete variable. + (init_wait_for_inferior): Do not clear prev_func_name. + (stop_stepping, keep_going, context_switch): Do not swap + prev_func_name. + (handle_inferior_event, check_sigtramp2): Use pc_in_sigtramp + instead of PC_IN_SIGTRAMP. + +2003-05-04 Andrew Cagney <cagney@redhat.com> + + * sentinel-frame.c (sentinel_frame_prev_register): Replace + REGISTER_BYTE with register_offset_hack. + * regcache.c (init_regcache_descr): When REGISTER_BYTE_P, check + that REGISTER_BYTE is consistent with the regcache. + * gdbarch.sh (REGISTER_BYTE): Add a predicate. + * gdbarch.h, gdbarch.c: Regenerate. + +2003-05-04 Mark Kettenis <kettenis@gnu.org> + + * i387-tdep.c (fxsave_offset): Add entries for %xmm8-%xmm15. + (FXSAVE_ADDR, i387_supply_fxsave): Add support for %xmm8-%xmm15. + + * i386-linux-nat.c (supply_gregset): Remove unnecessary casts. + +2003-05-03 J. Brobecker <brobecker@gnat.com> + + From Thierry Schneider <tpschneider1@yahoo.com> + * Makfile.in (SUBDIR_MI_OBS): Add dependency on mi-cmd-symbol.o. + (SUBDIR_MI_SRCS): Add mi-cmd-symbol.c. + (mi-cmd-symbol.o): Add rule. + +2003-05-03 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (PUSH_DUMMY_CODE): New architecture method, add + comments noteing that it replaces the old FIX_CALL_DUMMY code. + * gdbarch.h, gdbarch.c: Re-generate. + * d10v-tdep.c (d10v_push_dummy_code): New function. + (d10v_gdbarch_init): Set push_dummy_code. + * infcall.c (legacy_push_dummy_code): New function. + (generic_push_dummy_code): New function. + (push_dummy_code): New function. + (call_function_by_hand): Call push_dummy_code. Pass bp_addr, + instead of dummy_addr, to push_dummy_call. Move call to + generic_save_call_dummy_addr to outside of CALL_DUMMY_LOCATION + switch. + * sparc-tdep.c (sparc_gdbarch_init): Mention push_dummy_code. + +2003-05-03 Andrew Cagney <cagney@redhat.com> + + * disasm.h (print_insn): Declare. + * disasm.c (init_gdb_disassemble_info): New function. + (gdb_disassembly): Call init_gdb_disassemble_info. + (gdb_print_insn): New function. + * v850-tdep.c (v850_scan_prologue): Call gdb_print_insn, instead + of TARGET_PRINT_INSN. Send debug info to "gdb_stdlog". + * mcore-tdep.c: Include "disasm.h" + (mcore_dump_insn): Call gdb_print_insn, instead of TARGET_PRINT_INSN. + * d10v-tdep.c: Include "disasm.h". + (display_trace): Call gdb_print_insn, instead of print_insn. + (print_insn): Delete function. + * printcmd.c: Include "disasm.h". + (print_insn): Delete function. + (print_formatted): Call gdb_print_insn, instead of print_insn. + * Makefile.in (printcmd.o): Update dependencies. + (mcore-tdep.o, d10v-tdep.o): Ditto. + +2003-05-02 Andrew Cagney <cagney@redhat.com> + + * std-regs.c (value_of_builtin_frame_pc_reg): Delete #ifdef + PC_REGNUM, re-indent. + * stack.c (frame_info): Use "pc" for the name of get_frame_pc when + PC_REGNUM isn't set. + + * gdbarch.sh (REGISTER_SIZE, REGISTER_BYTES): Make optional. + * gdbarch.h, gdbarch.c: Re-generate. + * d10v-tdep.c (d10v_gdbarch_init): Do not set register_size, + register_virtual_size, pc_regnum, or register_bytes. + (D10V_PC_REGNUM): Rename _PC_REGNUM. + (d10v_register_type): Use D10V_PC_REGNUM. + (d10v_print_registers_info, d10v_read_pc): Ditto. + (d10v_write_pc, d10v_eva_prepare_to_trace): Ditto. + (d10v_unwind_pc, d10v_frame_prev_register): Ditto. + +2003-05-02 David Carlton <carlton@bactrian.org> + + * objfiles.c (allocate_objfile): For anonymous objfiles, allocate + the name with mstrsave. + +2003-05-02 Elena Zannoni <ezannoni@redhat.com> + + * charset.c (GDB_DEFAULT_TARGET_CHARSET, + GDB_DEFAULT_HOST_CHARSET): Move to earlier in the file. + (host_charset_name, target_charset_name): New vars for use by + set/show commands. + (host_charset_enum, target_charset_enum): New enums for set/show + commands. + (set_charset_sfunc, set_host_charset_sfunc, + set_target_charset_sfunc): New functions. + (set_host_charset, set_target_charset): Make static. + (list_charsets, set_host_charset_command, + set_target_charset_command): Delete functions. + (show_charset_command): Rewrite as.... + (show_charset): Hook this up with the set/show command mechanism. + (_initialize_charset): Change names of charsets to match the + set/show enums. Use host_charset_name and target_charset_name. + Use set/show mechanism for charset, host-charset, target-charset + commands. Do not make 'show host-charset' and 'show + target-charset' be aliases of 'show charset'. + + * charset.h (set_host_charset, set_target_charset): Don't export, + they are not used outside the file. + +2003-05-01 Andrew Cagney <cagney@redhat.com> + + * disasm.c (gdb_disassemble_from_exec): Delete global variable. + (gdb_disassembly): Make "di" non static, always initialize and + cleanup. Always use dis_asm_read_memory. + (gdb_dis_asm_read_memory): Delete function. + +2003-05-01 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c (d10v_frame_align): Replace d10v_stack_align. + (d10v_gdbarch_init): Set frame_align instead of stack_align. + +2003-04-30 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (deprecated_tm_print_insn_info): Rename + "tm_print_insn_info". + (TARGET_PRINT_INSN_INFO): Delete macro. + (dis_asm_read_memory): Delete function declaration. + (dis_asm_memory_error, dis_asm_print_address): Ditto. + (tm_print_insn_info): Delete variable definition. + (_initialize_gdbarch): Do not initialize "tm_print_insn_info". + * gdbarch.h, gdbarch.c: Re-generate. + * d10v-tdep.c (display_trace): Replace "tm_print_insn_info" with + "deprecated_tm_print_insn_info". + * mcore-tdep.c (mcore_dump_insn): Ditto. + * mips-tdep.c (mips_gdbarch_init): Ditto. + * sparc-tdep.c (_initialize_sparc_tdep): Ditto. + * v850-tdep.c (v850_scan_prologue, v850_gdbarch_init): Ditto. + * ia64-tdep.c (_initialize_ia64_tdep): Ditto. + * printcmd.c (print_insn): Use "deprecated_tm_print_insn_info" + instead of TARGET_PRINT_INSN_INFO, add comment. + * s390-tdep.c (s390_get_frame_info): Instead of + "dis_asm_read_memory", use "deprecated_tm_print_insn_info". + (s390_check_function_end, s390_is_sigreturn): Ditto. + * corefile.c (dis_asm_read_memory): Move to "disasm.c". + (dis_asm_memory_error, dis_asm_print_address): Ditto. + * disasm.c: Include "gdbcore.h". + (_initialize_disasm): New function, initialize + "deprecated_tm_print_insn_info". + (deprecated_tm_print_insn_info): New variable. + (dis_asm_read_memory): Moved from "corefile.c", made static. + (dis_asm_print_address, dis_asm_memory_error): Ditto. + * Makefile.in (disasm.o): Update dependencies. + +2003-04-30 Andrew Cagney <cagney@redhat.com> + + * sparc-tdep.c (SPARC_HAS_FPU): When multi-arch, define as 1. + +2003-04-29 Adam Fedor <fedor@gnu.org> + + * eval.c (evaluate_subexp_standard): Handle ObjC ops. + * infcall.c (find_function_addr): Make non-static. + * infcall.h (find_function_addr): Declare. + * Makefile.in (eval.o): Update dependencies. + +2003-04-28 Adam Fedor <fedor@gnu.org> + + * symtab.c (symbol_find_demangled_name): Check for and demangle + ObjC symbols. + (symbol_init_demangled_name): Init for language_objc as well. + +2003-04-28 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_TARGET_READ_FP): Replace TARGET_READ_FP. + (DEPRECATED_FP_REGNUM): Replace FP_REGNUM. + * gdbarch.h, gdbarch.c: Re-generate. + * infcall.c (call_function_by_hand): Use DEPRECATED_FP_REGNUM, + DEPRECATED_TARGET_READ_FP, or "sp" to create the dummy frame ID. + * inferior.h (deprecated_read_fp): Rename read_fp. + (generic_target_read_fp): Delete declaration. + * regcache.c (generic_target_read_fp): Delete function. + (deprecated_read_fp): Replace read_fp, use + DEPRECATED_TARGET_READ_FP or DEPRECATED_FP_REGNUM. + * d10v-tdep.c (d10v_read_fp): Delete function. + (d10v_gdbarch_init): Do not set deprecated_read_fp. + + * sparc-tdep.c (sparc_gdbarch_init): Do not set + deprecated_target_read_fp to generic_target_read_fp. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * frv-tdep.c (frv_gdbarch_init): Ditto. + + * xstormy16-tdep.c (xstormy16_gdbarch_init): Set + deprecated_fp_regnum. + * x86-64-tdep.c (x86_64_init_abi): Ditto. + * vax-tdep.c (vax_gdbarch_init): Ditto. + * v850-tdep.c (v850_gdbarch_init): Ditto. + * sparc-tdep.c (sparc_gdbarch_init): Ditto. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * s390-tdep.c (s390_gdbarch_init): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. + * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. + * mcore-tdep.c (mcore_gdbarch_init): Ditto. + * m68k-tdep.c (m68k_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * ia64-tdep.c (ia64_gdbarch_init): Ditto. + * i386-tdep.c (i386_gdbarch_init): Ditto. + * hppa-tdep.c (hppa_gdbarch_init): Ditto. + * h8300-tdep.c (h8300_gdbarch_init): Ditto. + * frv-tdep.c (frv_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + * avr-tdep.c (avr_gdbarch_init): Ditto. + * arm-tdep.c (arm_gdbarch_init): Ditto. + * alpha-tdep.c (alpha_gdbarch_init): Ditto. + + * x86-64-tdep.c (x86_64_init_abi): Set deprecated_target_read_fp. + * v850-tdep.c (v850_gdbarch_init): Ditto. + * sparc-tdep.c (sparc_gdbarch_init): Ditto. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * s390-tdep.c (s390_gdbarch_init): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. + * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. + * mips-tdep.c (mips_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * ia64-tdep.c (ia64_gdbarch_init): Ditto. + * hppa-tdep.c (hppa_gdbarch_init): Ditto. + * frv-tdep.c (frv_gdbarch_init): Ditto. + * avr-tdep.c (avr_gdbarch_init): Ditto. + * arm-tdep.c (arm_gdbarch_init): Ditto. + + * vax-tdep.c (vax_frame_init_saved_regs): Replace FP_REGNUM with + DEPRECATED_FP_REGNUM. + (vax_push_dummy_frame, vax_pop_frame): Ditto. + * std-regs.c (value_of_builtin_frame_fp_reg): Ditto. + * sparc-tdep.c (sparc_init_extra_frame_info): Ditto. + (sparc_push_dummy_frame, sparc64_read_fp): Ditto. + (sparc32_register_virtual_type): Ditto. + * sh-tdep.c (sh64_frame_chain): Ditto. + (sh64_get_saved_register, sh64_pop_frame): Ditto. + (sh_nofp_frame_init_saved_regs): Ditto. + (sh64_nofp_frame_init_saved_regs): Ditto. + (sh_fp_frame_init_saved_regs): Ditto. + * remote-mips.c (mips_wait, mips_fetch_registers): Ditto. + * remote-e7000.c (fetch_regs_from_dump): Ditto. + * procfs.c (procfs_fetch_registers): Ditto. + (procfs_store_registers): Ditto. + * ns32knbsd-nat.c (fetch_inferior_registers): Ditto. + (store_inferior_registers, fetch_core_registers): Ditto. + (fetch_kcore_registers, clear_regs): Ditto. + * ns32k-tdep.c (ns32k_frame_init_saved_regs): Ditto. + (ns32k_push_dummy_frame, ns32k_pop_frame): Ditto. + * nlm/i386.h (DEPRECATED_FP_REGNUM): Ditto. + * nlm/i386.c (do_status): Ditto. + * mipsv4-nat.c (supply_gregset): Ditto. + * mips-tdep.c: Ditto for comments. + * mips-nat.c (fetch_inferior_registers): Ditto. + (store_inferior_registers, fetch_core_registers): Ditto. + * m68k-tdep.c (m68k_push_dummy_frame): Ditto. + (m68k_pop_frame, m68k_frame_init_saved_regs): Ditto. + * i386-tdep.c (i386_frame_init_saved_regs): Ditto. + (i386_do_pop_frame, i386_register_type): Ditto. + * hppa-tdep.c (hppa_frame_chain): Ditto. + (hppa_push_dummy_frame, find_dummy_frame_regs): Ditto. + (hppa_pop_frame, hppa_read_fp): Ditto. + (skip_prologue_hard_way, hppa_frame_find_saved_regs): Ditto. + * cris-tdep.c (cris_examine, cris_pop_frame): Ditto. + * config/vax/nm-vax.h (REGISTER_U_ADDR): Ditto. + * config/sparc/tm-sparc.h (DEPRECATED_FP_REGNUM): Ditto. + * config/sparc/tm-sp64.h (DEPRECATED_FP_REGNUM): Ditto. + * config/s390/tm-s390.h (DEPRECATED_FP_REGNUM): Ditto. + * config/pa/tm-hppa64.h (DEPRECATED_FP_REGNUM): Ditto. + * config/ia64/tm-ia64.h (DEPRECATED_FP_REGNUM): Ditto. + * blockframe.c: Ditto for comments. + * arch-utils.h: Ditto for comments. + * arch-utils.c (legacy_virtual_frame_pointer): Ditto. + * alphanbsd-tdep.c (fetch_core_registers): Ditto. + * alphabsd-nat.c (fetch_inferior_registers): Ditto. + * alpha-tdep.h: Ditto for comments. + * alpha-tdep.c (alpha_cannot_fetch_register): Ditto. + (alpha_cannot_store_register): Ditto. + (alpha_push_dummy_frame): Ditto. + * alpha-nat.c (supply_gregset): Ditto. + + * config/sparc/tm-sp64.h (DEPRECATED_TARGET_READ_FP): Update. + * config/pa/tm-hppa64.h (DEPRECATED_TARGET_READ_FP): Update. + * config/sparc/tm-sparc.h: Update comment. + + * hppa-tdep.c (hppa_init_extra_frame_info): Use + deprecated_read_fp instead of TARGET_READ_FP. + (hppa_init_extra_frame_info, hppa_frame_chain): Ditto. + (hppa_push_dummy_frame, hppa_read_fp): Ditto. + * sparc-tdep.c (sparc_init_extra_frame_info): Use + deprecated_read_fp instead of read_fp. + * s390-tdep.c (s390_push_arguments): Ditto. + * ia64-tdep.c (ia64_gdbarch_init): Ditto. + * frame.h: Ditto in comments. + * frame.c (legacy_get_prev_frame): Ditto. + * dummy-frame.c (dummy_frame_this_id): Ditto. + * arm-tdep.c (arm_init_extra_frame_info): Ditto. + +2003-04-28 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (deprecated_tm_print_insn): Rename tm_print_insn. + * gdbarch.h, gdbarch.c: Re-generate. + * xstormy16-tdep.c (_initialize_xstormy16_tdep): Update. + * vax-tdep.c (_initialize_vax_tdep): Update. + * v850-tdep.c (_initialize_v850_tdep): Update. + * sparc-tdep.c (_initialize_sparc_tdep): Update. + * s390-tdep.c (_initialize_s390_tdep): Update. + * ns32k-tdep.c (_initialize_ns32k_tdep): Update. + * mn10300-tdep.c (_initialize_mn10300_tdep): Update. + * mips-tdep.c (_initialize_mips_tdep): Update. + * mcore-tdep.c (_initialize_mcore_tdep): Update. + * m68k-tdep.c (_initialize_m68k_tdep): Update. + * ia64-tdep.c (_initialize_ia64_tdep): Update. + * hppa-tdep.c (_initialize_hppa_tdep): Update. + * h8300-tdep.c (_initialize_h8300_tdep): Update. + * frv-tdep.c (_initialize_frv_tdep): Update. + * cris-tdep.c (cris_delayed_get_disassembler): Update. + (_initialize_cris_tdep): Update. + * arch-utils.c (legacy_print_insn): Update. + * alpha-tdep.c (_initialize_alpha_tdep): Update. + +2003-04-26 Adam Fedor <fedor@gnu.org> + + * linespec.c (decode_objc): New function to decode ObjC calls + (decode_line_1): Check for ObjC calls (using decode_objc) + * Makefile (linespec.o): Update dependencies. + +2003-04-26 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.h (struct breakpoint_ops): New. + (struct breakpoint): Add ops member. + + * breakpoint.c (print_bp_stop_message, print_one_breakpoint) + (mention): Use new breakpoint ops member. + (set_raw_breakpoint): Initialize ops field to NULL. + (print_exception_catchpoint, print_one_exception_catchpoint) + (print_mention_exception_catchpoint, handle_gnu_v3_exceptions): New. + (gnu_v3_exception_catchpoint_ops): New. + (catch_exception_command_1): Call handle_gnu_v3_exceptions. + +2003-04-25 Adam Fedor <fedor@gnu.org> + + * Makefile.in (COMMON_OBS): Add objc-lang.o + +2003-04-25 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c (print_insn): Delete function. + (display_trace): Use TARGET_PRINT_INSN. + (_initialize_d10v_tdep): Do not set tm_print_insn. + (d10v_gdbarch_init): Set print_insn. + +2003-04-25 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c (d10v_extract_return_value): Delete call to printf. + (_initialize_d10v_tdep): Use add_setshow_boolean_cmd. + (d10v_frame_unwind_cache): Use FRAME_OBSTACK_CALLOC. + (NR_DMAP_REGS, A0_REGNUM): Delete, replaced by ... + (nr_dmap_regs, a0_regnum): ... new functions. + (d10v_print_registers_info): Use a0_regnum, use register_size. + (d10v_register_byte): Delete function. + (d10v_register_raw_size): Delete function. + (d10v_register_type): Use a0_regnum. + (d10v_print_registers_info): Use a0_regnum. + (D10V_SP_REGNUM): Rename _SP_REGNUM, replace it and SP_REGNUM. + (d10v_gdbarch_init): Do not set register_byte or + register_raw_size, use D10V_SP_REGNUM to set sp_regnum. + (d10v_pointer_to_address): Use extract_unsigned_integer instead of + extract_address. + (trace_command): Use XCALLOC. + (print_insn): Delete reference to tm_print_insn. + (saved_regs_unwinder): Use store_unsigned_integer instead of + store_address. + * frame.h (FRAME_OBSTACK_CALLOC): Define + +2003-04-25 David Carlton <carlton@bactrian.org> + + * config/djgpp/fnchange.lst: Add testsuite/gdb.c++/maint.exp. + +2003-04-24 Adam Fedor <fedor@gnu.org> + + * objc-lang.c: Include "valprint.h" + * Makefile.in (objc-lang.o): Update dependencies. + +2003-04-24 Adam Fedor <fedor@gnu.org> + + * objc-lang.c (FETCH_ARGUMENT, CONVERT_FUNCPTR): Remove + architecture dependant compilation and mark as unimplemented + (until they get put in the gdbarch vector). + +2003-04-23 David Carlton <carlton@bactrian.org> + + * cp-support.c (cp_find_first_component): Accept 'operator' in + more locations. + +2003-04-23 Andrew Cagney <cagney@redhat.com> + + * infcall.c (call_function_by_hand): Eliminate redundant + indentation. Move "saved_async" and "old_cleanups" to where they + are needed. + +2003-04-23 Andrew Cagney <cagney@redhat.com> + + * infcall.c (call_function_by_hand): Eliminate the variables "rc" + and "buffer". Move the "name" code to where it is needed. + +2003-04-23 Andrew Cagney <cagney@redhat.com> + + * infcall.c (call_function_by_hand): Move variables "start_sp", + "dummy", "sizeof_dummy1" and "dummy1" and corresponding dummy call + code to ON_STACK switch branch. + +2003-04-23 Andrew Cagney <cagney@redhat.com> + + * infcall.c (call_function_by_hand): Make declaration of "i", + "sal", "bpt" and "old_sp" more local to their use. Delete #if + lint. + +2003-04-23 Andrew Cagney <cagney@redhat.com> + + * infcall.c (call_function_by_hand): Delete variable + "n_method_args". Localize "param_type"'s declaration to the loop + that it is used. Reinstate code assigning to said variable - + deleted on 2002-06-14. Rationalize calls to value_args_coerce. + Rationalize code using "param_type". + +2003-04-22 Andrew Cagney <cagney@redhat.com> + + * infcall.c (call_function_by_hand): Use new variable "bp_addr" to + compute the breakpoint address. Only call FIX_CALL_DUMMY when + ON_STACK. Eliminate the variable "addr". Do not pass "real_pc" + to DEPRECATED_PUSH_RETURN_ADDRESS. + +2003-04-22 Kevin Buettner <kevinb@redhat.com> + + * dwarf2loc.c (dwarf2_evaluate_loc_desc): Invoke DWARF2_REG_TO_REGNUM + on the DWARF2 register number prior to fetching a register. + +2003-04-22 J. Brobecker <brobecker@gnat.com> + + * config/pa/tm-hppa.h (SOFT_FLOAT): Delete this macro. + Update all the tests using SOFT_FLOAT considering the fact that + this macro was always set to 0. + * config/pa/tm-hppa64.h: Update all the tests using SOFT_FLOAT + considering the fact that this macro was always set to 0. + * hppa-tdep.h (hppa_store_return_value): Likewise. + (hppa_extract_return_value): Likewise. + +2003-04-22 J. Brobecker <brobecker@gnat.com> + + * config/pa/tm-hppa.h: Remove obsolete code, was used by + the hppa-pro target only. + +2003-04-21 J. Brobecker <brobecker@gnat.com> + + Ongoing multi-arch conversion effort for HP/UX: + * config/pa/tm-hppa.h: Move all macro that are no longer + defined now that GDB_MULTI_ARCH is now set to 1 from here... + * config/pa/tm-hppa64.h: ... to here (hppa64 is not multiarch'ed yet). + +2003-04-21 J. Brobecker <brobecker@gnat.com> + + * config/pa/tm-hppa.h: Obsolete a section that was only used + for hppa-pro. + +2003-04-21 J. Brobecker <brobecker@gnat.com> + + Ongoing multi-arch conversion for HP/UX. + * config/pa/tm-hppa.h (GDB_MULTI_ARCH): Set to 1. Do not define + if already defined (allows hppa64 to stay non-multiarched for now). + * config/pa/tm-hppa64.h (GDB_MULTI_ARCH): Define. + +2003-04-21 Andrew Cagney <cagney@redhat.com> + + * frame.c (frame_id_eq): Fail when the code_addr's do not match. + +2003-04-21 Andrew Cagney <cagney@redhat.com> + + * i386-tdep.c (i386_gdbarch_init): Replace "mmx_num_regs" with + "i386_num_mmx_regs". + +2003-04-21 Andrew Cagney <cagney@redhat.com> + + * infcall.c: New file. + * infcall.h: New file. + * valarith.c: Include "infcall.h". + * scm-lang.c, objc-lang.cm, hppa-tdep.c, gcore.c: Ditto. + * eval.c, ada-valprint.c, ada-lang.c: Ditto. + * Makefile.in (valarith.o, scm-lang.o): Update dependencies. + (objc-lang.o, hppa-tdep.o, gcore.o): Update dependencies. + (eval.o, ada-valprint.o, ada-lang.o): Update dependencies. + (SFILES): Add "infcall.c" + (COMMON_OBS): Add "infcall.o". + (infcall.o): Specify dependencies. + * value.h (call_function_by_hand): Delete declaration. + * inferior.h (run_stack_dummy): Delete declaration. + * infcmd.c (breakpoint_auto_delete_contents): Move to "infcall.c". + (run_stack_dummy): Move to "infcall.c", merged into + call_function_by_hand. + * valops.c (call_function_by_hand): Moved to "infcall.c". + (find_function_addr, value_arg_coerce): Ditto. + (unwindonsignal_p, coerce_float_to_double): Ditto. + (_initialize_valops): Move "set/show coerce-float-to-double", and + "set/show unwindonsignal" commands to "infcall.c". + * v850-tdep.c, target.h: Update comments. + * sparc-tdep.c (sparc_fix_call_dummy): Update comments. + * sh-tdep.c (sh_init_extra_frame_info): Update comments. + (sh64_init_extra_frame_info): Update comments. + * mn10300-tdep.c: Update comments. + * mcore-tdep.c (mcore_init_extra_frame_info): Update comments. + * config/sparc/tm-sparc.h: Update comments. + * breakpoint.h: Update comments. + * avr-tdep.c (avr_init_extra_frame_info): Update comments. + * arm-tdep.c: Update comment. + +2003-04-19 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.c (i386_num_register_names): New variable. + (i386_num_mmx_regs): Renamed from mmx_num_regs. + (MM0_REGNUM): Remove redundant parentheses in define. + (i386_mmx_regnum_p): Use i386_mmx_regnum instead of mmx_num_regs. + (i386_fp_regnum_p, i386_fpc_regnum_p, i386_sse_regnum_p, + i386_mxcsr_regnum_p): Remove redundant parentheses. + (i386_register_name): Use i386_num_register_names. + + * i386-tdep.c (i386_extract_return_value, + i386_store_return_value): Correct check for availability of + floating-point registers. + + * i386-tdep.c (i386_frame_num_args): Remove function. + (i386_gdbarch_init): Set frame_num_args to frame_num_args_unknown. + + * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Renamed from + mmx_regnum_to_fp_regnum. Adjust all callers. + + * i386-tdep.c (i386_get_longjmp_target): Use + TYPE_LENGTH(builtin_type_void_func_ptr) instead of TARGET_PTR_BIT + and TARGET_CHAR_BIT. Use extract_typed_address instead of + extract_address. + +2003-04-19 Mark Kettenis <kettenis@gnu.org> + + * core-regset.c: Update comments to reflect reality. Re-order + includes. + (fetch_core_registers): Use switch instead of if. Remove + redundant prototype. + +2003-04-18 Jim Blandy <jimb@redhat.com> + + * s390-tdep.c (s390_frame_align): New function. + (s390_gdbarch_init): Register it with the gdbarch object. + +2003-04-17 Richard Henderson <rth@redhat.com> + + * remote.c (minitelnet): Don't redeclare escape_count, echo_check. + +2003-04-17 Michael Snyder <msnyder@redhat.com> + Karen Bennet <bennet@redhat.com> + + Committed by Elena Zannoni <ezannoni@redhat.com> + * gdb_gcore.sh: New script to create a core dump of a process. + +2003-04-17 Elena Zannoni <ezannoni@redhat.com> + + * values.c (value_being_returned): Don't fetch the return + value if the return type is void. + +2003-04-17 Jeff Johnston <jjohnstn@redhat.com> + + * thread-db.c: Reindented. + +2003-04-17 Jeff Johnston <jjohnstn@redhat.com> + + * gdb_indent.sh: Recognize td_thrhandle_t, td_event_msg_t, + td_thr_events_t, td_notify_t, td_thr_iter_f, and td_thrinfo_t + as types. + + + + + + + + + + + + + + + + + + + + + + + + + +2003-04-16 Kevin Buettner <kevinb@redhat.com> + + * rs6000-tdep.c (rs6000_gdbarch_init): For the SysV ABI, set + the size of ``long double'' to 16, instead of 8. + +2003-04-16 Mark Kettenis <kettenis@gnu.org> + + * i386-linux-nat.c: Add some whitespace to make things more + readable. + (fetch_register, store_register, fetch_inferior_registers, + store_inferior_registers): Get rid of assignment in if-statement. + (store_register): Fix typo in error message. + +2003-04-16 Andrew Cagney <cagney@redhat.com> + + * utils.c (xmmalloc): Always allocate something, matches + libiberty/xmalloc's semantics. + (xmrealloc, xmcalloc): Ditto. + +2003-04-16 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_prev_frame): Do not initialize "unwind" or "type", + update comments. + (get_frame_type): Initialize unwind and type when needed. + (get_frame_id, frame_register_unwind): Ditto. + +2003-04-16 Andrew Cagney <cagney@redhat.com> + + * NEWS: Mention that sparclet-*-* and sparclite-*-* have been made + obsolete. + * sparc-tdep.c: Obsolete SPARCLET and SPARCLITE code. + * sparcl-stub.c: Obsolete file. + * config/sparc/tm-sparclet.h: Obsolete file. + * sparclet-stub.c: Obsolete file. + * sparclet-rom.c: Obsolete file. + * sparcl-tdep.c: Obsolete file. + * config/sparc/tm-sparclite.h: Obsolete file. + * config/sparc/sparclite.mt: Obsolete file. + * config/sparc/sparclet.mt: Obsolete file. + * configure.tgt: Make sparclet-*-*, sparclite-*-*, and + sparc86x-*-* obsolete. + +2003-04-15 David Carlton <carlton@math.stanford.edu> + + * Makefile.in (SFILES): Add cp-namespace.c. + (COMMON_OBS): Add cp-namespace.o. + (block.o): Depend on gdb_obstack_h and cp_support_h. + (buildsym.o): Depend on cp_support_h. + (cp-namespace.o): New. + (cp-support.o): Depend on gdb_string_h, demangle_h, gdb_assert_h, + gdb_obstack_h, symtab_h, symfile_h, and gdbcmd_h. + (dwarf2read.o): Depend on cp_support_h. + * jv-lang.c (get_java_class_symtab): Set BLOCK_NAMESPACE. + * dwarf2read.c (process_die): Set processing_has_namespace_info, + processing_current_namespace. + (read_namespace): Update processing_current_namespace; check for + anonymous namespaces. + (dwarf2_name): New function. + (dwarf2_extension): Ditto. + * cp-support.h: Update copyright, contributors. + Add inclusion guards. + Add opaque declaration for structs obstack, block, symbol. + (struct using_direct): New struct. + Add declarations for cp_find_first_component, + cp_entire_prefix_len, processing_has_namespace_info, + processing_current_namespace, cp_is_anonymous, + cp_add_using_directive, cp_initialize_namespace, + cp_finalize_namespace, cp_set_block_scope, + cp_scan_for_anonymous_namespaces. + * cp-namespace.c: New file. + * cp-support.c: Update copyright. + Include ctype.h, gdb_assert.h, gdbcmd.h. + New variable maint_cplus_cmd_list. + (cp_find_first_component): New function. + (cp_entire_prefix_len, maint_cplus_command) + (first_component_command, _initialize_cp_support): Ditto. + * buildsym.c: Include cp-support.h. + New variable using_list. + (add_symbol_to_list): Check for anonymous namespaces. + (finish_block): Set block's scope. + (start_symtab): Initialize C++ namespace support. + (end_symtab): Finalize C++ namespace support. + * block.h: Add opaque declarations for structs + block_namespace_info, using_direct, and obstack. + Add declarations for block_set_scope and block_set_using. + (struct block): Add 'language_specific' member. + (BLOCK_NAMESPACE): New macro. + * block.c: Include gdb_obstack.h and cp-support.h. + (struct block_namespace_info): New struct. + (block_set_scope): New function. + (block_set_using, block_initialize_namespace): Ditto. + +2003-04-14 Kevin Buettner <kevinb@redhat.com> + + * solib-svr4.c (svr4_have_link_map_offsets): New function. + (locate_base): Return early if there aren't any link map offsets. + (svr4_solib_create_inferior_hook): Warn if shared library support + is unavailable. + +2003-04-14 David Carlton <carlton@math.stanford.edu> + + * symtab.c (symbol_set_names): Add prefix when storing Java names + in hash table. Fix for PR java/1039. + +2003-04-14 David Carlton <carlton@math.stanford.edu> + + * symtab.c (symbol_set_names): Rename 'name' arg to + 'linkage_name', and 'tmpname' variable to 'linkage_name_copy'. + * symtab.h: Change 'name' argument in declaration of + symbol_set_names to 'linkage_name'. + (SYMBOL_SET_NAMES): Change 'name' argument to 'linkage_name'. + +2003-04-14 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (mips_read_sp): Do not apply ADDR_BITS_REMOVE, + return the fully sign-extended register value. + (get_frame_pointer): Ditto. + (mips_pop_frame): Initialize "proc_desc" after checking for a + dummy frame. + +2003-04-14 Andrew Cagney <cagney@redhat.com> + + * mips-tdep.c (mips_push_dummy_frame): Delete function. + (MASK, PUSH_FP_REGNUM, GEN_REG_SAVE_MASK): Delete macros. + (FLOAT_REG_SAVE_MASK, FLOAT_SINGLE_REG_SAVE_MASK): Delete macro. + (mips_push_register): Delete function. + (mips_dump_tdep): Delete references to GEN_REG_SAVE_MASK and + PUSH_FP_REGNUM. + +2003-04-14 Jim Blandy <jimb@redhat.com> + + * symmisc.c: #include "gdb_regex.h". + (maintenance_list_symtabs, maintenance_list_psymtabs): New + functions. + * maint.c (maintenance_list_command): New function. + (_initialize_maint_cmds): Register the above as commands. + * symtab.h (maintenance_list_symtabs, + maintenance_list_psymtabs): New declarations. + * cli/cli-cmds.c (maintenancelistlist): New variable. + (init_cmd_lists): Initialize it. + * cli/cli-cmds.h (maintenancelistlist): New declaration. + * gdbcmd.h (maintenancelistlist): New declaration. + * Makefile.in (symmisc.o): Update dependencies. + +2003-04-14 Elena Zannoni <ezannoni@redhat.com> + + * s390-nat.c: Include asm/types.h for addr_t. + +2003-04-14 Corinna Vinschen <vinschen@redhat.com> + + * cp-valprint.c (cp_print_class_method): Call unpack_pointer() with + actually incoming type. + +2003-04-13 Andrew Cagney <cagney@redhat.com> + + * ppc-linux-tdep.c: Use get_frame_base, get_frame_pc, + get_next_frame and get_frame_saved_regs. + +2003-04-13 Andrew Cagney <cagney@redhat.com> + + * reggroups.c (default_register_reggroup_p): Use NUM_REGS instead + of gdbarch_num_regs. + +2003-04-13 Andrew Cagney <cagney@redhat.com> + + * frame.h: Mention what replaced what in "struct frame_info". + * hppa-hpux-tdep.c: Use get_frame_base, get_frame_pc and + deprecated_update_frame_base_hack and + deprecated_update_frame_pc_hack. + * hppa-tdep.c: Ditto. + +2003-04-13 Daniel Jacobowitz <drow@mvista.com> + + * dwarf2expr.h (struct dwarf_expr_context): Remove extra arguments + to read_reg and update its comment. Remove regnum member. + * dwarf2expr.c (execute_stack_op): Remove memaddr and expr_lval. + Don't call read_reg when setting in_reg. Call read_reg to get + the frame base if it's in a register. Return the register number + on the stack instead of in the context. Remove extra arguments + to read_reg. + * dwarf2loc.c (dwarf_expr_read_reg): Remove extra arguments. + (dwarf2_evaluate_loc_desc): Call value_from_register. Expect + the register number on the expression stack. + (needs_frame_read_reg): Remove extra arguments. + +2003-04-13 Daniel Jacobowitz <drow@mvista.com> + + * dwarf2expr.c (dwarf2_read_address): Renamed from read_address; + made non-static. + (execute_stack_op): All callers updated. + * dwarf2expr.h: Add prototype for dwarf2_read_address. + * dwarf2loc.c (find_location_expression): New function. + (dwarf_expr_frame_base): Call it. + (dwarf2_evaluate_loc_desc): Handle 0-length location expressions. + (dwarf2_tracepoint_var_ref): New function, broken out from + locexpr_tracepoint_var_ref. + (locexpr_tracepoint_var_ref): Call dwarf2_tracepoint_var_ref. + Make static. + (loclist_read_variable, loclist_read_needs_frame): New functions. + (loclist_describe_location, loclist_tracepoint_var_ref): New + functions. + (dwarf2_loclist_funcs): New struct location_funcs. + * dwarf2loc.h (struct dwarf2_loclist_baton): New type. + (struct dwarf2_locexpr_baton): Add comments. + (dwarf2_loclist_funcs): New extern. + * dwarf2read.c (struct comp_unit_head): Remove DIE member, add + base_address and base_known. + (dwarf_loc_buffer): New variable. + (struct dwarf2_pinfo): Add dwarf_loc_buffer and dwarf_loc_size. + (DWARF_LOC_BUFFER, DWARF_LOC_SIZE): New macros. + (dwarf2_has_info): Initialize dwarf_loc_offset. + (dwarf2_build_psymtabs): Read in .debug_loc. + (dwarf2_build_psymtabs_hard): Use DWARF_LOC_BUFFER and + DWARF_LOC_SIZE. + (psymtab_to_symtab_1): Likewise. Move base address calculation + here, from... + (dwarf2_get_pc_bounds): ... here. Use the base address from + cu_header. + (dwarf2_symbol_mark_computed): Handle location lists. + +2003-04-13 Daniel Jacobowitz <drow@mvista.com> + + * minsyms.c (install_minimal_symbols): Only switch to gnu-v3 mode + if the linkage name demangled successfully. + +2003-04-13 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.c (att_flavour, intel_flavour, valid_flavours, + disassmbly_flavour): Removed. + + * x86-64-tdep.c (gdb_print_insn_x86_64): Removed. + +2003-04-13 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.c (x86_64_breakpoint_from_pc): Removed. + +2003-04-12 Andrew Cagney <cagney@redhat.com> + + * frame.h (struct frame_info): Move definition from here ... + * frame.c (struct frame_info): ... to here. + +2003-04-12 Andrew Cagney <cagney@redhat.com> + + * gdbthread.h (save_infrun_state): Delete parameter + "prev_func_start". + (struct thread_info): Delete field "prev_func_start". + (load_infrun_state): Ditto. + * thread.c (load_infrun_state, save_infrun_state): Update. + * infrun.c (prev_func_start): Delete variable. + (context_switch, init_wait_for_inferior): Update. + (stop_stepping, keep_going): Update. + +2003-04-12 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh: Add missing opaque declarations. + * gdbarch.h: Regnerate. + * symtab.h: Add missing opaque declarations. + * value.h, target.h, symfile.h, stabsread.h: Ditto. + * x86-64-tdep.h, xmodem.h, monitor.h, typeprint.h: Ditto. + * srec.h, solib-svr4.h, source.h, inferior.h: Ditto. + * ser-unix.h, serial.h, remote-utils.h, gdbcore.h: Ditto. + * ppc-tdep.h, ocd.h, mips-tdep.h, gdbtypes.h: Ditto. + * buildsym.h, builtin-regs.h, linespec.h, language.h: Ditto. + * i387-tdep.h, gdbthread.h, event-top.h, gdb.h: Ditto. + * dwarf2cfi.h, doublest.h, disasm.h, cp-abi.h: Ditto. + * cli-out.h, c-lang.h, ax-gdb.h, arch-utils.h: Ditto. + * ada-lang.h, config/nm-lynx.h, config/nm-linux.h: Ditto. + * config/sparc/tm-sp64.h, config/rs6000/tm-rs6000.h: Ditto. + * config/pa/tm-hppah.h, config/m68k/tm-delta68.h: Ditto. + * cli/cli-setshow.h, cli/cli-script.h: Ditto. + +2003-04-11 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_frame_id): Return this frame's "id". + (legacy_get_prev_frame): Set prev's frame ID code_addr to the + function start. + (legacy_saved_regs_this_id): Replace function body with + internal-error. + (deprecated_frame_xmalloc): Mark the frame ID as valid, use + FRAME_OBSTACK_ZALLOC. + (create_new_frame): Mark the frame ID as valid. + +2003-04-11 Alexandre Oliva <aoliva@redhat.com> + + * Makefile.in (libbfd_h): Added missing setting. + * mips-tdep.c (mips_gdbarch_init): Set disassembler_options + according to the selected ABI. + +2003-04-11 Jeff Johnston <jjohnstn@redhat.com> + + * gdb_indent.sh: Recognize pid_t and sigset_t as types. + +2003-04-11 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_SAVED_PC_AFTER_CALL): Deprecate + SAVED_PC_AFTER_CALL. + * gdbarch.h, gdbarch.c: Regenerate. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * x86-64-tdep.c (x86_64_init_abi): Update. + * vax-tdep.c (vax_gdbarch_init): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + (ia64_saved_pc_after_call): Update declaration. + * i386ly-tdep.c (i386lynx_init_abi): Update. + * i386-tdep.c (i386_gdbarch_init): Update. + * hppa-tdep.c (hppa_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + * alpha-tdep.c (alpha_gdbarch_init): Update. + * ns32knbsd-nat.c (frame_num_args): Update. + * ns32k-tdep.c (umax_frame_num_args): Update. + * mips-tdep.c (mips_init_frame_pc_first): Update. + * infrun.c (step_over_function): Update. + * i386-linux-tdep.c (skip_hurd_resolver): Update. + * i386-interix-tdep.c (i386_interix_back_one_frame): Update. + * config/sparc/tm-sparc.h (DEPRECATED_SAVED_PC_AFTER_CALL): Update. + (DEPRECATED_INIT_FRAME_PC_FIRST): Update. + * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update. + * config/pa/tm-hppa.h (DEPRECATED_SAVED_PC_AFTER_CALL): Update. + * arm-linux-tdep.c (skip_hurd_resolver): Update. + * arch-utils.c (init_frame_pc_default): Update. + * alpha-tdep.c (alpha_init_frame_pc_first): Update. + * x86-64-tdep.h (x86_64_linux_saved_pc_after_call): Update + declaration. + +2003-04-11 Andrew Cagney <cagney@redhat.com> + + * i387-tdep.c: Update copyright. + (i387_to_double): Delete function. + (double_to_i387): Delete function. + +2003-04-10 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c (d10v_frame_this_id): Set the code addr to the + frame's function's address. Simplify. + (d10v_frame_unwind_cache): Check that the frame's function is + non-zero. + +2003-04-10 Jim Blandy <jimb@redhat.com> + + * s390-tdep.c (s390_gdbarch_init): Put back accidentally deleted + call to set_gdbarch_deprecated_push_arguments. + +2003-04-10 Andrew Cagney <cagney@redhat.com> + + * frame.c (fprint_frame_id): New function. + (fprint_frame_type, fprint_frame): New function. + (frame_pc_unwind, frame_func_unwind): Add/update trace code. + (create_sentinel_frame, get_frame_id): Ditto. + (frame_id_p, frame_id_eq): Ditto. + (frame_id_inner, create_new_frame): Ditto. + (legacy_get_prev_frame, get_prev_frame): Ditto. + (deprecated_update_frame_pc_hack): Ditto. + (frame_register_unwind): Ditto. + (deprecated_update_frame_base_hack): Ditto. + +2003-04-10 Corinna Vinschen <vinschen@redhat.com> + + * i386-cygwin-tdep.c (i386_cygwin_frame_chain): New function. + (i386_cygwin_init_abi): Set i386_cygwin_frame_chain as new + frame_chain function. + * Makefile.in: Add dependencies due to above change. + +2003-04-10 Corinna Vinschen <vinschen@redhat.com> + + * blockframe.c (legacy_frame_chain_valid): Move call to + DEPRECATED_FRAME_CHAIN_VALID before calls to inside_entry_func and + inside_entry_file. + +2003-04-09 Andrew Cagney <cagney@redhat.com> + + * frame.h (struct frame_id): Replace "pc" and "base" with + "stack_addr" and "code_addr". Update comments. + (frame_id_build): Update parameter names and comment. + (struct frame_info): Replace "id_p" and "id" with "this_id". + * dummy-frame.c (dummy_frame_this_id): Update. + * breakpoint.c (print_one_breakpoint): Update. + * frame.c (get_frame_id): Update. + (get_frame_base, frame_id_build): Update. + (create_sentinel_frame, legacy_get_prev_frame): Update. + (deprecated_update_frame_base_hack): Update. + (frame_id_p, frame_id_eq): Rework, return 0 when an invalid ID. + (frame_id_inner): Ditto. + +2003-04-09 Andrew Cagney <cagney@redhat.com> + + * defs.h (gdb_print_host_address): Make "addr" parameter a + pointer constant. + * utils.c (gdb_print_host_address): Update. + +2003-04-09 Kevin Buettner <kevinb@redhat.com> + + * rs6000-tdep.c (frame_get_saved_regs): Don't assume that the + register number for R0 is 0. + +2003-04-09 J. Brobecker <brobecker@gnat.com> + + * frame.h (struct gdbarch): Add opaque structure definition + to avoid a compilation warning on LynxOS 4.0. + +2003-04-09 Andrew Cagney <cagney@redhat.com> + + * frame.h (struct frame_info): Delete field "pc". Replace + "pc_unwind_cache" and "pc_unwind_cache_p" with "prev_pc" + structure. + * frame.c (frame_pc_unwind): Update. + (create_sentinel_frame): Do not set "pc". + (get_prev_frame): Do not set "pc". Use frame_pc_unwind. + (get_frame_pc): Call frame_pc_unwind. + (deprecated_update_frame_pc_hack): Update. + (create_new_frame): Use "pc" not "->pc". + +2003-04-09 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_frame_id): Eliminate code updating "frame". + (legacy_get_prev_frame): Ditto. + (get_frame_base): Return id.base directly. + (deprecated_update_frame_base_hack): Update "id.base". + * frame.h (struct frame_info): Delete field "frame". + +2003-04-09 Andrew Cagney <cagney@redhat.com> + + * NEWS: Mention that the "Sequent family" is obsolete. + * configure.tgt: Obsolete i[3456]86-sequent-bsd*, + i[3456]86-sequent-sysv4*, and i[3456]86-sequent-sysv*. + * configure.host: Obsolete i[3456]86-sequent-bsd*, + i[3456]86-sequent-sysv4*, and i[3456]86-sequent-sysv*. + * config/i386/tm-ptx4.h: Obsolete file. + * config/i386/tm-ptx.h: Obsolete file. + * symm-tdep.c: Obsolete file. + * config/i386/symmetry.mt: Obsolete file. + * config/i386/tm-symmetry.h: Obsolete file. + * symm-nat.c: Obsolete file. + * config/i386/nm-symmetry.h: Obsolete file. + * config/i386/xm-symmetry.h: Obsolete file. + * config/i386/symmetry.mh: Obsolete file. + * config/i386/nm-ptx4.h: Obsolete file. + * config/i386/ptx4.mh: Obsolete file. + * config/i386/ptx.mt: Obsolete file. + * config/i386/ptx.mh: Obsolete file. + * config/i386/xm-ptx4.h: Obsolete file. + * config/i386/xm-ptx.h: Obsolete file. + +2003-04-09 Andrew Cagney <cagney@redhat.com> + + Obsolete mips*-*-mach3*. + * NEWS: Mention that mips*-*-mach3* is obsolete. + * m3-nat.c: Obsolete file. + * config/nm-m3.h: Obsolete file. + * config/mips/tm-mipsm3.h: Obsolete file. + * config/mips/mipsm3.mt: Obsolete file. + * config/mips/mipsm3.mh: Obsolete file. + * config/mips/xm-mipsm3.h: Obsolete file. + * mipsm3-nat.c: Obsolete file. + * configure.host: Obsolete mips-dec-mach3*. + * configure.tgt: Obsolete mips*-*-mach3*. + +2003-04-09 Andrew Cagney <cagney@redhat.com> + + * doublest.h: Update copyright. + (deprecated_store_floating, deprecated_extract_floating): Rename + store_floating and extract_floating. Update comments. + * doublest.c: Update copyright. + (extract_floating_by_length): Replace extract_floating. + (store_floating_by_length): Replace store_floating. + (deprecated_extract_floating): New function. + (deprecated_store_floating): New function. + (extract_typed_floating): Call extract_floating_by_length. + (store_typed_floating): Call store_floating_by_length. + * x86-64-tdep.c (x86_64_store_return_value): Update. + * sh-tdep.c (sh3e_sh4_extract_return_value): Update. + (sh64_extract_return_value): Update. + (sh_sh4_register_convert_to_virtual): Update. + (sh_sh64_register_convert_to_virtual): Update. + (sh_sh4_register_convert_to_raw): Update. + (sh_sh64_register_convert_to_raw): Update. + * rs6000-tdep.c (rs6000_register_convert_to_virtual): Update. + (rs6000_register_convert_to_raw): Update. + * ia64-tdep.c (ia64_register_convert_to_virtual): Update. + (ia64_register_convert_to_raw): Update. + * config/i386/tm-symmetry.h (REGISTER_CONVERT_TO_RAW): Update. + (REGISTER_CONVERT_TO_VIRTUAL): Update. + * arm-linux-tdep.c (arm_linux_push_arguments): Update. + * alpha-tdep.c (alpha_register_convert_to_virtual): Update. + (alpha_register_convert_to_raw): Update. + +2003-04-08 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (SAVED_PC_AFTER_CALL): Add a predicate. + * gdbarch.h, gdbarch.c: Re-generate. + * d10v-tdep.c (d10v_saved_pc_after_call): Delete function. + (d10v_gdbarch_init): Do not set saved_pc_after_call. + * infrun.c (step_over_function): Call SAVED_PC_AFTER_CALL_P + conditionally, use frame_pc_unwind as an alternative. Add + comments. + * arch-utils.c (init_frame_pc_default): Only call + SAVED_PC_AFTER_CALL when available. + +2003-04-08 Elena Zannoni <ezannoni@redhat.com> + + * infrun.c (stop_soon): Rename from stop_soon_quietly. + (struct inferior_status): Rename stop_soon_quietly field to stop_soon. + (clear_proceed_status): Rename stop_soon_quietly to stop_soon. + (start_remote): Ditto. + (handle_inferior_event): Ditto. + (save_inferior_status): Ditto. + (restore_inferior_status): Ditto. + * infcmd.c (attach_command): Ditto. + * fork-child.c (startup_inferior): Ditto. + * inferior.h (stop_soon): Rename from stop_soon_quietly. + * alpha-tdep.c (heuristic_proc_start): Ditto. + * mips-tdep.c (heuristic_proc_start): Ditto. + * solib-svr4.c (svr4_solib_create_inferior_hook): Ditto. + * solib-sunos.c (sunos_solib_create_inferior_hook): Ditto. + * solib-osf.c (osf_solib_create_inferior_hook): Ditto. + * solib-irix.c (irix_solib_create_inferior_hook): Ditto. + * remote-vx.c (vx_create_inferior): Ditto. + +2003-04-08 Elena Zannoni <ezannoni@redhat.com> + + * infrun.c (stop_soon_quietly): Make it an enum, to better + override the default behavior of handle_inferior_event. + (clear_proceed_status): Update uses of stop_soon_quietly to + reflect that it is now an enum. + (start_remote): Ditto. + (handle_inferior_event): Change logic a bit if stop_soon_quietly + is set to handle the new GNU/Linux kernel behavior for + attach/sigstop. Update uses of stop_soon_quietly. + * inferior.h (enum stop_kind): New enum. + * infcmd.c (attach_command): Use STOP_QUIETLY_NO_SIGSTOP. + Reset normal handle_inferior_event behavior, afterwards. + * fork-child.c (startup_inferior): Update. + * alpha-tdep.c (heuristic_proc_start): Update. + * solib-svr4.c (svr4_solib_create_inferior_hook): Update. + * solib-sunos.c (sunos_solib_create_inferior_hook): Update. + * solib-osf.c (osf_solib_create_inferior_hook): Update. + * solib-irix.c (irix_solib_create_inferior_hook): Update. + * remote-vx.c (vx_create_inferior): Update. + * mips-tdep.c (heuristic_proc_start): Update. + +2003-04-07 Elena Zannoni <ezannoni@redhat.com> + + * disasm.c (dump_insns): Move variables inside loop, or they will + be freed more than once, causing wild memory corruptions. + (gdb_disassembly): Look for the substring "-thread", + instead of "-threads" in the target name, to make sure to find + the 'multi-thread' target. Also, make sure we do the right thing + with the "core" target. + +2003-04-07 Kevin Buettner <kevinb@redhat.com> + + * mips-tdep.c (mips_print_fp_register): New function, created from + do_fp_register_row(). Registers are now (also) printed as hex. + Only one register is printed per row. + (mips_print_register, do_fp_register_row): Print floating point + registers with mips_print_fp_register(). + +2003-04-06 Andrew Cagney <cagney@redhat.com> + + * valprint.h (inspect_it): Add extern declaration. + * objc-lang.c (value_nsstring): Avoid assignment inside of "if". + (selectors_info, classes_info): Ditto. + (find_objc_msgcall): Fix indentation. + (objc_printstr): Delete extern declarations. + + * arm-tdep.c (arm_frameless_function_invocation): Fix typo. + +2003-04-06 Andrew Cagney <cagney@redhat.com> + + * frame.h (legacy_frame_chain_valid): Rename frame_chain_valid. + Update comment. + * frame.c (legacy_saved_regs_this_id): Update. + (legacy_get_prev_frame): Update. + * xstormy16-tdep.c: Update comment. + * sparc-tdep.c (sparc_frame_chain): Update comment. + * blockframe.c (legacy_frame_chain_valid): Update. + +2003-04-06 Andrew Cagney <cagney@redhat.com> + + * valprint.c (val_print_type_code_int): Delete #ifdef + PRINT_TYPELESS_INTEGER code. + + * gdbarch.sh (DEPRECATED_USE_GENERIC_DUMMY_FRAMES) + (CALL_DUMMY_LOCATION, DEPRECATED_PC_IN_CALL_DUMMY): Allow partial + multi-arch definition. + * gdbarch.h: Re-generate. + +2003-04-05 Andrew Cagney <cagney@redhat.com> + + Eliminate FRAME_FIND_SAVED_REGS. + * config/pa/tm-hppah.h (hppa_hpux_frame_find_saved_regs_in_sigtramp): + Change FSR parameter to a pointer. + * config/pa/tm-hppa64.h (FRAME_FIND_SAVED_REGS_IN_SIGTRAMP): + Assume FSR parameter is a pointer. + * hppa-hpux-tdep.c (hppa_hpux_frame_find_saved_regs_in_sigtramp): + Make fsr a pointer. + * hppa-tdep.c (hppa_frame_find_saved_regs): New function. + (hppa_frame_saved_pc): Call hppa_frame_init_saved_regs. Make + saved_regs a pointer. + (hppa_frame_saved_pc): Ditto. + (find_dummy_frame_regs): Make frame_saved_regs a pointer + (hppa_pop_frame): Call hppa_frame_init_saved_regs. Make fsr a + pointer. + (restore_pc_queue): Make fsr a pointer. + (hppa_frame_find_saved_regs): Make frame_saved_regs a pointer. + (hppa_frame_chain): Make saved_regs a pointer, call + hppa_frame_init_saved_regs. + * sparc-tdep.c: Include "gdb_assert.h". + (sparc_frame_find_saved_regs): Replace internal_error with + gdb_assert. + * remote-vxsparc.c (vx_read_register): Delete reference to + FRAME_FIND_SAVED_REGS. + * gdbarch.sh: Delete check for FRAME_FIND_SAVED_REGS. + * gdbarch.h: Regenerate. + * frame.h (DEPRECATED_FRAME_INIT_SAVED_REGS): Delete macro. + (deprecated_get_frame_saved_regs): Delete declaration. + (struct frame_saved_regs): Delete definition. + * frame.c (deprecated_get_frame_saved_regs): Delete function. + * config/pa/tm-hppa.h (hppa_frame_init_saved_regs): Declare. + (hppa_frame_find_saved_regs): Delete declaration. + (FRAME_FIND_SAVED_REGS): Delete macro. + (DEPRECATED_FRAME_INIT_SAVED_REGS): Define. + * config/i386/tm-ptx.h (FRAME_FIND_SAVED_REGS): Delete + FRAME_FIND_SAVED_REGS in comment. + +2003-04-05 Andrew Cagney <cagney@redhat.com> + + * frame.c (frame_func_unwind, get_frame_func): New functions. + * frame.h (get_frame_func, frame_func_unwind): Declare. + (struct frame_info): Add field "prev_func" for caching the + previous frame's function address. + * arm-tdep.c (arm_frameless_function_invocation): Combine + get_pc_function_start and get_frame_pc into get_frame_func. + * sh-tdep.c (sh_nofp_frame_init_saved_regs): Ditto. + (sh64_nofp_frame_init_saved_regs): Ditto. + * s390-tdep.c (s390_function_start): Ditto. + * rs6000-tdep.c (rs6000_pop_frame): Ditto. + (rs6000_frameless_function_invocation): Ditto. + (rs6000_frame_saved_pc): Ditto. + * m68k-tdep.c (m68k_frame_init_saved_regs): Ditto. + * ia64-tdep.c (ia64_frame_init_saved_regs): Ditto. + * i386-tdep.c (i386_frameless_signal_p): Ditto. + (i386_frame_init_saved_regs): Ditto. + * hppa-tdep.c (hppa_frame_find_saved_regs): Ditto. + * d10v-tdep.c (d10v_frame_unwind_cache): Combine + get_pc_function_start and frame_pc_unwind into frame_func_unwind. + * cris-tdep.c (cris_frame_init_saved_regs): Ditto. + * blockframe.c (frameless_look_for_prologue): Ditto. + +2003-04-05 Andrew Cagney <cagney@redhat.com> + + * frame.c (legacy_get_prev_frame): Link prev to next at the + function start. Update comments. + +2003-04-05 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_frame_id): Update comment. + (legacy_get_prev_frame): Update comment. + * gdbarch.sh: Delete check for EXTRA_FRAME_INFO. + * gdbarch.h: Regenerate. + * config/sparc/tm-sparc.h (EXTRA_FRAME_INFO): Delete. + * frame.h: Delete #ifdef EXTRA_FRAME_INFO code. + +2003-04-05 Andrew Cagney <cagney@redhat.com> + + * stack.c (print_frame_info): Use get_frame_pc. + +2003-04-04 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_prev_frame): Do not call frame_type_from_pc. Set + the frame's type from the unwinder. + (get_frame_type): Map UNKNOWN_FRAME onto NORMAL_FRAME. + (create_new_frame, legacy_get_prev_frame): When the unwinder's + type isn't UNKNOWN_FRAME, initalize "type" from the unwinder. + (get_frame_base_address): Use get_frame_type. + (get_frame_locals_address, get_frame_args_address): Ditto. + (legacy_saved_regs_unwinder): Set the type to UNKNOWN_TYPE. + * frame.h (enum frame_type): Add UNKNOWN_FRAME. + (struct frame_info): Add comment explaining why the frame contains + a "type" field. + * dummy-frame.c (dummy_frame_unwind): Set the type to DUMMY_FRAME. + * d10v-tdep.c (d10v_frame_unwind): Set the type to NORMAL_FRAME. + * sentinel-frame.c (sentinel_frame_unwinder): Set the type to + NORMAL_FRAME. + * frame-unwind.h: Include "frame.h". + (struct frame_unwind): Add "type" field. + * Makefile.in (frame_unwind_h): Add $(frame_h). + +2003-04-04 Andrew Cagney <cagney@redhat.com> + + * x86-64-tdep.c (x86_64_unwind_dummy_id): Use frame_id_build. + * dummy-frame.c (dummy_frame_this_id): Use frame_id_build. + * d10v-tdep.c (d10v_frame_this_id): Use get_frame_pc and + get_frame_base. + (d10v_unwind_dummy_id): Use frame_id_build. + * frame.c (find_frame_sal): Use get_frame_pc. + (create_new_frame): Use deprecated_update_frame_pc_hack and + deprecated_update_frame_base_hack. + (create_sentinel_frame): Add comment about ->pc going away. + (get_prev_frame): Add comment about ->pc going away. + (legacy_get_prev_frame): Use get_frame_base, get_frame_pc, + frame_id_build, deprecated_update_frame_pc_hack and + deprecated_update_frame_base_hack. + (select_frame): Use get_frame_pc. + (legacy_saved_regs_this_id): Use frame_id_build. + +2003-04-04 Elena Zannoni <ezannoni@redhat.com> + + * x86-64-tdep.c (x86_64_push_arguments): Handle correctly the + signed integer case. + (classify_argument): Handle enumerations and references. + +2003-04-04 Andrew Cagney <cagney@redhat.com> + + * frame.c (create_sentinel_frame): Initialize the sentinel frame's + ID to NULL. + +2003-04-01 Adam Fedor <fedor@gnu.org> + + * gdb/objc-lang.c (selectors_info): Replace calls to + SYMBOL_DEMANGLED_NAME and DEPRECATED_SYMBOL_NAME with + SYMBOL_NATURAL_NAME. + (classes_info, find_methods): Likewise. + +2003-04-03 Kevin Buettner <kevinb@redhat.com> + + * rs6000-tdep.c (rs6000_gdbarch_init): For xcoff executables, set + ``mach'' to the value determined by bfd_default_set_arch_mach(). + +2003-04-02 Bob Rossi <bob_rossi@cox.net> + + * Makefile.in (SUBDIR_MI_OBS): Add "mi-cmd-file.o". + (SUBDIR_MI_SRCS): Add "mi-cmd-file.c". + (mi-cmd-file.o): Update dependencies. + +2003-04-01 Kevin Buettner <kevinb@redhat.com> + + * mips-tdep.c (mips_dwarf_dwarf2_ecoff_reg_to_regnum) + (mips_stab_reg_to_regnum): Add mappings for HI_REGNUM and LO_REGNUM. + +2003-04-01 Adam Fedor <fedor@gnu.org> + + * Makefile.in (c_lang.o, jv_lang.o, language.o): Add $(demangle_h). + * language.h (struct language_defn): Add la_demangle. + (language_demangle): Declare. + * language.c (language_demangle): New function. + (unk_lang_demangle): Likewise. + (unknown_language_defn, auto_language_defn, local_language_defn): + Add ukn_lang_demangle. + * ada-lang.c (ada_language_defn): Add NULL for la_demangle element. + * f-lang.c, m2-lang.c, p-lang.c, scm-lang.c: Likewise. + * c-lang.c (c_language_defn, asm_language_defn): Likewise. + (cplus_language_defn): Add cplus_demangle for la_demangle element. + * jv-lang.c (java_demangle): New function + (java_language_defn): Use it for la_demangle element. + * objc-lang.c (objc_demangle): Add options argument + (objc_language_defn): Use objc_demangle for la_demangle element. + * maint.c (maintenance_demangle): Replace switch with + call to language_demangle. + * utils.c (fprintf_symbol_filtered): Likewise. + +2003-04-01 Andrew Cagney <cagney@redhat.com> + + * printcmd.c (print_frame_nameless_args): Delete #ifdef + NAMELESS_ARG_VALUE, PRINT_NAMELESS_INTEGER and + PRINT_TYPELESS_INTEGER. + * config/sparc/tm-sp64.h (DEPRECATED_PUSH_RETURN_ADDRESS): Rename + PUSH_RETURN_ADDRESS. + +2003-04-01 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (d10v-tdep.o): Update dependencies. + * d10v-tdep.c: Include "frame-base.h". + (d10v_frame_unwind): Make constant. + (d10v_frame_base_address): New function. + (d10v_frame_base): New variable. + (d10v_gdbarch_init): Set frame_base default. + (struct d10v_unwind_cache): Add the field "prev_sp". Update + comment for base. + (d10v_frame_unwind_cache): Set and use "prev_sp". + (d10v_frame_this_id): Use the previous frame's inner most stack + address and this frame's func address for the frame ID. Use + frame_id_build. Don't analyze beyond the current instruction. + +2003-04-01 Andrew Cagney <cagney@redhat.com> + + * frame.h (get_frame_locals_address, get_frame_args_address): + Refer to the base address, instead of the address of the first + local or parameter. + +2003-04-01 Andrew Cagney <cagney@redhat.com> + + Add frame debug info addresses: + * frame-base.c: New file. + * frame-base.h: New file. + * frame.h (struct frame_base): Add opaque declaration. + (get_frame_base): Update comment. + (get_frame_base_address): Declare. + (get_frame_locals_address): Declare. + (get_frame_args_address): Declare. + (struct frame_info): Add "base" and "base_cache". Update + comments on the unwinder. + * frame.c: Include "frame-base.h". + (get_frame_locals_address): New function. + (get_frame_base_address): New function. + (get_frame_args_address): New function. + * findvar.c (read_var_value): Use get_frame_locals_address and + get_frame_args_address. + * stack.c (frame_info): Use get_frame_locals_address and + get_frame_args_address. + (FRAME_ARGS_ADDRESS_CORRECT): Delete conditionally defined macro, + moved to "frame-base.c". + * printcmd.c (print_frame_nameless_args): Ditto. + * symtab.h (address_class): Update comments. + * dwarf2loc.c (dwarf_expr_frame_base): Add note about + get_frame_base_address. + * dwarf2expr.c (execute_stack_op): Ditto. + * Makefile.in (frame_base_h): Define. + (frame.o): Update dependencies. + (frame-base.o): Add dependencies. + (SFILES): Add frame-base.c. + (COMMON_OBS): Add frame-base.o. + +2003-04-01 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (CALL_DUMMY_START_OFFSET): Default to zero. + CALL_DUMMY_LENGTH): Ditto. + * gdbarch.c: Re-generate. + * inferior.h (CALL_DUMMY_START_OFFSET): Delete macro. + (CALL_DUMMY_LENGTH): Delete macro. + * alpha-tdep.c (alpha_gdbarch_init): Do not set above when zero. + * arm-tdep.c (arm_gdbarch_init): Ditto. + * avr-tdep.c (avr_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + * d10v-tdep.c (d10v_gdbarch_init): Ditto. + * frv-tdep.c (frv_gdbarch_init): Ditto. + * h8300-tdep.c (h8300_gdbarch_init): Ditto. + * hppa-tdep.c (hppa_gdbarch_init): Ditto. + * i386-tdep.c (i386_gdbarch_init): Ditto. + * ia64-tdep.c (ia64_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * mcore-tdep.c (mcore_gdbarch_init): Ditto. + * mips-tdep.c (mips_gdbarch_init): Ditto. + * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. + * s390-tdep.c (s390_gdbarch_init): Ditto. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * sparc-tdep.c (sparc_gdbarch_init): Ditto. + * v850-tdep.c (v850_gdbarch_init): Ditto. + * vax-tdep.c (vax_gdbarch_init): Ditto. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto. + +2003-04-01 Corinna Vinschen <vinschen@redhat.com> + + * frame.c (get_prev_frame): Disable call to inside_entry_file(). + +2003-04-01 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (CALL_DUMMY_BREAKPOINT_OFFSET): Default to zero. + (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete. + * gdbarch.h, gdbarch.c: Re-generate. + * config/sparc/tm-sp64.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete. + (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete. + * config/pa/tm-hppa64.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete. + * inferior.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete. + (CALL_DUMMY_BREAKPOINT_OFFSET): Delete. + * infcmd.c (run_stack_dummy): Simplify assuming + CALL_DUMMY_BREAKPOINT_OFFSET_P. + * infrun.c (handle_inferior_event): Ditto. + * alpha-tdep.c (alpha_gdbarch_init): Do not set + call_dummy_breakpoint_offset or call_dummy_breakpoint_offset_p. + * arm-tdep.c (arm_gdbarch_init): Ditto. + * avr-tdep.c (avr_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + * d10v-tdep.c (d10v_gdbarch_init): Ditto. + * frv-tdep.c (frv_gdbarch_init): Ditto. + * h8300-tdep.c (h8300_gdbarch_init): Ditto. + * i386-tdep.c (i386_gdbarch_init): Ditto. + * ia64-tdep.c (ia64_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * m68k-tdep.c (m68k_gdbarch_init): Ditto. + * mcore-tdep.c (mcore_gdbarch_init): Ditto. + * mips-tdep.c (mips_gdbarch_init): Ditto. + * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. + * ns32k-tdep.c (ns32k_gdbarch_init): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. + * s390-tdep.c (s390_gdbarch_init): Ditto. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * sparc-tdep.c (sparc_gdbarch_init): Ditto. + * v850-tdep.c (v850_gdbarch_init): Ditto. + * vax-tdep.c (vax_gdbarch_init): Ditto. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto. + +2003-04-01 Daniel Jacobowitz <drow@mvista.com> + + * symfile.c (symfile_relocate_debug_section): Update call to + bfd_simple_get_relocated_section_contents. + +2003-03-31 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (FIX_CALL_DUMMY): Change to function with predicate. + * gdbarch.h, gdbarch.c: Regenerate. + * inferior.h (FIX_CALL_DUMMY): Delete macro. + * valops.c (hand_function_call): Only call FIX_CALL_DUMMY when + available. + * frame.h (generic_fix_call_dummy): Delete declaration. + * dummy-frame.h: Update comment. + * dummy-frame.c (generic_fix_call_dummy): Delete function. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set + fix_call_dummy. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * s390-tdep.c (s390_gdbarch_init): Ditto. + * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. + * mcore-tdep.c (mcore_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * ia64-tdep.c (ia64_gdbarch_init): Ditto. + * i386-tdep.c (i386_gdbarch_init): Ditto. + * h8300-tdep.c (h8300_gdbarch_init): Ditto. + * frv-tdep.c (frv_gdbarch_init): Ditto. + * d10v-tdep.c (d10v_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + * avr-tdep.c (avr_gdbarch_init): Ditto. + * arm-tdep.c (arm_gdbarch_init): Ditto. + +2003-03-31 J. Brobecker <brobecker@gnat.com> + + * config/pa/tm-hppa64.h (FRAME_ARGS_ADDRESS): Delete macro, not useful. + (INIT_FRAME_AP): Likewise. + (EXTRA_FRAME_INFO): Likewise. + +2003-03-31 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh: Include "symfile.h". + (CALL_DUMMY_ADDRESS): Default to entry_point_address. + * gdbarch.h, gdbarch.c: Re-generate. + * inferior.h (CALL_DUMMY_ADDRESS): Delete macro. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set + call_dummy_address, the default is at entry_point_address. + * v850-tdep.c (v850_gdbarch_init): Ditto. + * sparc-tdep.c (sparc_gdbarch_init): Ditto. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * s390-tdep.c (s390_gdbarch_init): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. + * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. + * mcore-tdep.c (mcore_gdbarch_init): Ditto. + * ia64-tdep.c (ia64_gdbarch_init): Ditto. + * i386-tdep.c (i386_gdbarch_init): Ditto. + * h8300-tdep.c (h8300_gdbarch_init): Ditto. + * frv-tdep.c (frv_gdbarch_init): Ditto. + * d10v-tdep.c (d10v_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + * arm-tdep.c (arm_gdbarch_init): Ditto. + +2003-03-31 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (CALL_DUMMY_P): Delete. + * gdbarch.h, gdbarch.c: Re-generate. + * inferior.h (CALL_DUMMY_P): Delete macro. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * vax-tdep.c (vax_gdbarch_init): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * i386-tdep.c (i386_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * d10v-tdep.c (d10v_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * breakpoint.c (deprecated_frame_in_dummy): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * alpha-tdep.c (alpha_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + * dummy-frame.c (dummy_frame_this_id): Update comments. + * rs6000-tdep.c (rs6000_extract_struct_value_address): Ditto. + * frame.c (legacy_get_prev_frame): Ditto. + * valops.c (call_function_by_hand): Delete function. + (hand_function_call): Rename to call_function_by_hand + +2003-03-30 Andrew Cagney <cagney@redhat.com> + + 2002-11-10 Klee Dienes <kdienes@apple.com> + * value.h (struct value): Update comment. + +2003-03-30 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c: Replace _FP_REGNUM and FP_REGNUM with + D10V_FP_REGNUM. + (d10v_gdbarch_init): Do not set fp_regnum. + + * frame.c (get_frame_base): Force ID initialization. + (get_prev_frame): Move computation of the frame ID from here ... + (get_frame_id): ... to here. + (legacy_get_prev_frame): Mark the frame ID as valid. + * frame.h (struct frame_info): Add field "id_p". + +2003-03-30 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.c (i386_store_struct_return): Removed. + (i386_gdbarch_init): Don't set deprecated_store_struct_return. + +2003-03-30 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_DUMMY_WRITE_SP): Replace TARGET_WRITE_SP. + * gdbarch.h, gdbarch.c: Regenerate. + * v850-tdep.c (v850_gdbarch_init): Set deprecated_dummy_write_sp. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto. + * mcore-tdep.c (mcore_gdbarch_init): Ditto. + * m68k-tdep.c (m68k_gdbarch_init): Ditto. + * i386-tdep.c (i386_gdbarch_init): Ditto. + * h8300-tdep.c (h8300_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + * vax-tdep.c (vax_gdbarch_init): Ditto. + * s390-tdep.c (s390_gdbarch_init): Ditto. + * ns32k-tdep.c (ns32k_gdbarch_init): Ditto. + * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. + * alpha-tdep.c (alpha_gdbarch_init): Ditto. + * sparc-tdep.c (sparc_push_dummy_frame, sparc_pop_frame): Update. + * config/sparc/tm-sp64.h (DEPRECATED_DUMMY_WRITE_SP): Update. + * config/pa/tm-hppa.h (DEPRECATED_DUMMY_WRITE_SP): Define. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * valops.c (hand_function_call): Replace TARGET_WRITE_SP with + DEPRECATED_DUMMY_WRITE_SP. Call when the method is available, + instead of when push_dummy_call is not available. + +2003-03-30 Andrew Cagney <cagney@redhat.com> + + * infttrace.c: Include "gdbthread.h". + (parent_attach_all): Fix function signature. + (call_ptrace): Update call. + * Makefile.in (infttrace.o): Update dependencies. + +2003-03-30 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_PUSH_RETURN_ADDRESS): Replace + PUSH_RETURN_ADDRESS. + * gdbarch.h, gdbarch.c: Regenerate. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * x86-64-tdep.c (x86_64_init_abi): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * i386-tdep.c (i386_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + * valops.c (hand_function_call): Update. + +2003-03-29 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c (d10v_gdbarch_init): Do not set call_dummy_words or + sizeof_call_dummy_words. + * gdbarch.sh (CALL_DUMMY_WORDS, SIZEOF_CALL_DUMMY_WORDS): Always + define. + * gdbarch.h: Regenerate. + +2003-03-29 Andrew Cagney <cagney@redhat.com> + + * infttrace.h: New file. + * hpread.c: Include "gdb_assert.h" and "somsolib.h". + (hpread_get_textlow): Detect an uninitialized dn_bufp. + (hpread_read_doc_function_type): Detect an initialized type1. + (hpread_quick_traverse): Initialize mod_name_string. + * somsolib.h: Add #ifdef SOMSOLIB_H wrapper. + (som_solib_get_solib_by_pc): Declare. + (so_lib_thread_start_addr): Declare. + (no_shared_libraries): Declare. + * somread.c (init_import_symbols): Make static. Add forward + declaration. + * config/pa/nm-hppah.h: Include "infttrace.h" for + parent_attach_all. + (hppa_insert_hw_watchpoint): Declare. + (hppa_can_use_hw_watchpoint, hppa_remove_hw_watchpoint): Declare. + * hppah-nat.c: Include "gdb_string.h". + (parent_attach_all): Delete extern declaration, moved to + "infttrace.h". + (hppa_can_use_hw_watchpoint): Change type of "type" parameter to + int. + (hppa_remove_hw_watchpoint, hppa_insert_hw_watchpoint): Ditto. + * Makefile.in (infttrace_h): Define. + (hpread.o): Update dependencies. + (hppah-nat.o, hppa-hpux-tdep.o, hppa-tdep.o): Ditto. + * hppa-hpux-tdep.c: Include "gdb_string.h". + * hppa-tdep.c (hppa_frame_saved_pc): Initialize "old_pc". + * infrun.c (handle_inferior_event): Always initialize + stepped_after_stopped_by_watchpoint. Add default and remove + fallthrough in switch statement. + * infttrace.c (hppa_can_use_hw_watchpoint): Change type of "type" + parameter to int. + (hppa_remove_hw_watchpoint): Ditto. + +2003-03-29 Andrew Cagney <cagney@redhat.com> + + * ns32k-tdep.c (ns32k_gdbarch_init): Set the call dummy breakpoint + offset. + +2003-03-29 Richard Earnshaw <rearnsha@arm.com> + + * arm-tdep.c (arm_push_arguments): Delete. + (struct stack_item): New type. + (push_stack_item, pop_stack_item, arm_push_dummy_call): New functions. + (arm_store_struct_return): Delte. + (arm_gdbarch_init): Register arm_push_dummy_call. Don't register + arm_push_arguments or arm_store_struct_return. + +2003-03-28 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (d10v-tdep.o): Update dependencies. + * remote.h (target_resume_hook, target_wait_loop_hook): Declare. + * d10v-tdep.c: Include "remote.h". + (target_resume_hook): Delete extern declaration. + (target_wait_loop_hook): Ditto. + (tdisassemble_command): Eliminate assignment in "if" conditional. + (d10v_ts2_register_sim_regno): Eliminate call to + legacy_register_sim_regno. + (d10v_ts3_register_sim_regno): Ditto. + +2003-03-28 Jeff Johnston <jjohnstn@redhat.com> + + * thread.c: Reindented. + * lin-lwp.c: Ditto. + * linux-proc.c: Ditto. + +2003-03-28 Bob Rossi <bob_rossi@cox.net> + + * MAINTAINERS (write after approval): Add myself. + +2003-03-27 Theodore A. Roth <troth@openavr.org> + + * objc-exp.y: Add missing semi-colons. + +2003-03-27 Andrew Cagney <cagney@redhat.com> + + * regcache.c (write_sp): Delete function and references. + * inferior.h (write_sp): Delete declaration. + * valops.c (hand_function_call): Replace write_sp with + TARGET_WRITE_SP. + * sparc-tdep.c (sparc_push_dummy_frame): Ditto. + (sparc_pop_frame): Ditto. + +2003-03-27 Andrew Cagney <cagney@redhat.com> + + * NEWS: Mention removal of support for hppa*-*-bsd* and + hppa*-*-osf* natives, and hppa*-*-pro* target. + * config/pa/xm-hppah.h: Do not include "pa/xm-pa.h". + * config/pa/xm-pa.h: Obsolete file. + * config/pa/xm-hppab.h: Obsolete file. + * config/pa/nm-hppab.h: Obsolete file. + * config/pa/tm-hppab.h: Obsolete file. + * config/pa/tm-hppao.h: Obsolete file. + * config/pa/nm-hppao.h: Obsolete file. + * config/pa/tm-pro.h: Obsolete file. + * config/pa/hppaosf.mt: Obsolete file. + * config/pa/hppaosf.mh: Obsolete file. + * config/pa/hppapro.mt: Obsolete file. + * config/pa/hppabsd.mt: Obsolete file. + * config/pa/hppabsd.mh: Obsolete file. + * configure.host: Disable hppa*-*-bsd* and hppa*-*-osf*. + * configure.tgt: Disable hppa*-*-bsd*, hppa*-*-pro* and + hppa*-*-osf*. + +2003-03-27 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c (d10v_gdbarch_init): Set push_dummy_call instead of + push_arguments. Don't set push_return_address or write_sp. + (d10v_push_dummy_call): Replace d10v_push_arguments. + (d10v_push_return_address, d10v_write_sp): Delete function, + handled by push_dummy_call. + +2003-03-26 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_PUSH_ARGUMENTS): Rename PUSH_ARGUMENTS. + (push_dummy_call): New pure multi-arch replacement with gdbarch, + regcache and dummy_addr parameters. + * gdbarch.h, gdbarch.c: Re-generate. + * valops.c (hand_function_call): Use gdbarch_push_dummy_call when + available; assume it will handle stack alignment and return + address issues. Fall back to DEPRECATED_PUSH_ARGUMENTS and + legacy_push_arguments. + (legacy_push_arguments): Rename default_push_arguments. + * value.h (legacy_push_arguments): Rename default_push_arguments. + * i386-tdep.c (i386_push_arguments): Call legacy_push_arguments. + * config/sparc/tm-sparc.h (DEPRECATED_PUSH_ARGUMENTS): Update. + * config/sparc/tm-sp64.h (DEPRECATED_PUSH_ARGUMENTS): Update. + * config/pa/tm-hppa.h (DEPRECATED_PUSH_ARGUMENTS): Update. + * config/i386/tm-symmetry.h: Update. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * x86-64-tdep.c (x86_64_init_abi): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * i386-tdep.c (i386_gdbarch_init): Update. + * hppa-tdep.c (hppa_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * d10v-tdep.c (d10v_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + * arm-linux-tdep.c (arm_linux_init_abi): Update. + * alpha-tdep.c (alpha_gdbarch_init): Update. + +2003-03-26 Daniel Jacobowitz <drow@mvista.com> + + * signals/signals.c (do_target_signal_to_host): Correct realtime + signal range test. + +2003-03-26 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.c (handle_gnu_4_16_catch_command, get_catch_sals) + (struct sal_chain, map_catch_names): Remove. + (catch_exception_command_1): Don't call + handle_gnu_4_16_catch_command. + +2003-03-26 Daniel Jacobowitz <drow@mvista.com> + + From Mark Dettinger <dettinge@de.ibm.com>: + * dwarf2cfi.c (read_2u): Increment pointer by two. + +2003-03-26 Daniel Jacobowitz <drow@mvista.com> + + * signals/signals.c: Fix typos in last change. + +2003-03-26 Daniel Jacobowitz <drow@mvista.com> + + * signals/signals.c (REALTIME_LO, REALTIME_HI): Define if + not already defined. Use __SIGRTMIN if available. + (target_signal_from_host): Remove SIGRTMIN block. + (do_target_signal_to_host): Remove SIGRTMIN block; check that + the signal is within the realtime range. + +2003-03-25 Adam Fedor <fedor@gnu.org> + + * Makefile.in (infrun.o): Add $(language_h) + * infrun.c (handle_inferior_event): Use skip_language_trampoline + for language specific trampolines. + * language.h (struct language_defn): Add skip_trampoline. + (skip_language_trampoline): Declare. + * language.c (unk_lang_trampoline, skip_language_trampoline): + New functions. + (unknown_language_defn, auto_language_defn, local_language_defn): + Add ukn_lang_trampoline. + * ada-lang.c (ada_language_defn): Add NULL for language + specific skip_trampoline. + * c-lang.c, f-lang.c, jv-lang.c, m2-lang.c, p-lang.c, + scm-lang.c: Likewise. + * objc-lang.c (objc_skip_trampoline): New function. + (objc_language_defn): Add objc_skip_trampoline. + +2003-03-25 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_prev_frame): Delay validating a frame's ID - + non-NULL, didn't go backwards - until an attempt to unwind it to + the previous frame. + +2003-03-25 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_EXTRA_STACK_ALIGNMENT_NEEDED): Replace + EXTRA_STACK_ALIGNMENT_NEEDED. Default to 0 not 1. + * gdbarch.h, gdbarch.c: Re-generate. + * config/sparc/tm-sparc.h + (DEPRECATED_EXTRA_STACK_ALIGNMENT_NEEDED): Define. + * sparc-tdep.c (sparc_gdbarch_init): Set + deprecated_extra_stack_alignment_needed. + * config/pa/tm-hppa.h (EXTRA_STACK_ALIGNMENT_NEEDED): Delete. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not clear + extra_stack_alignment_needed. + * v850-tdep.c (v850_gdbarch_init): Ditto. + * hppa-tdep.c (hppa_gdbarch_init): Ditto. + * h8300-tdep.c (h8300_gdbarch_init): Ditto. + * d10v-tdep.c (d10v_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + * m68k-tdep.c (m68k_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + +2003-03-25 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_STORE_STRUCT_RETURN): Replace + STORE_STRUCT_RETURN. + * gdbarch.h, gdbarch.c: Regenerate. + * d10v-tdep.c (d10v_store_struct_return): Delete function. + (d10v_push_arguments): Set the struct return register. + (d10v_gdbarch_init): Update. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * x86-64-tdep.c (x86_64_init_abi): Update. + * vax-tdep.c (vax_gdbarch_init): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * i386-tdep.c (i386_gdbarch_init): Update. + * hppa-tdep.c (hppa_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + * alpha-tdep.c (alpha_gdbarch_init): Update. + +2003-03-25 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (CALL_DUMMY_STACK_ADJUST_P): Delete. + (DEPRECATED_CALL_DUMMY_STACK_ADJUST): Replace + CALL_DUMMY_STACK_ADJUST with a predicate variable. + * gdbarch.h, gdbarch.c: Regenerate. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set + call_dummy_stack_adjust_p. + * vax-tdep.c (vax_gdbarch_init): Ditto. + * v850-tdep.c (v850_gdbarch_init): Ditto. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * s390-tdep.c (s390_gdbarch_init): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. + * ns32k-tdep.c (ns32k_gdbarch_init): Ditto. + * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. + * mips-tdep.c (mips_gdbarch_init): Ditto. + * mcore-tdep.c (mcore_gdbarch_init): Ditto. + * m68k-tdep.c (m68k_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * ia64-tdep.c (ia64_gdbarch_init): Ditto. + * i386-tdep.c (i386_gdbarch_init): Ditto. + * h8300-tdep.c (h8300_gdbarch_init): Ditto. + * frv-tdep.c (frv_gdbarch_init): Ditto. + * d10v-tdep.c (d10v_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + * avr-tdep.c (avr_gdbarch_init): Ditto. + * arm-tdep.c (arm_gdbarch_init): Ditto. + * alpha-tdep.c (alpha_gdbarch_init): Ditto. + * config/sparc/tm-sp64.h (CALL_DUMMY_STACK_ADJUST): Update. + * config/sparc/tm-sparc.h (CALL_DUMMY_STACK_ADJUST): Update. + * config/sparc/tm-sp64.h (CALL_DUMMY_STACK_ADJUST): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. Do not set + call_dummy_stack_adjust_p. + * inferior.h (CALL_DUMMY_STACK_ADJUST_P): Delete macro. + (CALL_DUMMY_STACK_ADJUST): Delete macro. + * sparc-tdep.c (sparc32_push_arguments): Update. + * valops.c (hand_function_call): Update. + +2003-03-25 Corinna Vinschen <vinschen@redhat.com> + + * xstormy16-tdep.c (xstormy16_gdbarch_init): Add call to + set_gdbarch_char_signed. + +2003-03-25 Richard Earnshaw <rearnsha@arm.com> + + PR cli/548 + * arm-tdep.c (_initialize_arm_tdep): Command is "set arm disassembler". + +2003-03-25 Richard Earnshaw <rearnsha@arm.com> + + * arm-tdep.c (arm_gdbarch_init): Register the disassembler function. + (_initialize_arm_tdep): Don't set tm_print_insn. + +2003-03-24 Adam Fedor <fedor@gnu.org> + + * Makefile.in (YYOBJ): Add objc-exp.tab.o + * objc-lang.h: Add multiple inclusion protection. + (start_msglist, add_msglist, end_msglist): Additional declarations. + +2003-03-24 Richard Earnshaw <rearnsha@arm.com> + + * armnbsd-tdep.c (arm_netbsd_aout_init_abi): ARM_FLOAT_SOFT enum + value was renamed to ARM_FLOAT_SOFT_FPA. + +2003-03-23 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_FRAME_CHAIN): Replace FRAME_CHAIN. + (DEPRECATED_FRAME_CHAIN_VALID): Replace FRAME_CHAIN_VALID. + * gdbarch.h, gdbarch.c: Regenerate. + * valops.c (hand_function_call): Update. + * objfiles.h (DEPRECATED_FRAME_CHAIN_VALID): Update. + * frame.c (legacy_saved_regs_this_id): Update. + (legacy_get_prev_frame, get_prev_frame, legacy_frame_p): Update. + * dummy-frame.h: Update. + * config/sparc/tm-sparc.h (DEPRECATED_FRAME_CHAIN): Update. + * config/pa/tm-hppa.h (DEPRECATED_FRAME_CHAIN_VALID): Update. + * config/m68k/tm-vx68.h (DEPRECATED_FRAME_CHAIN): Update. + * config/m68k/tm-os68k.h (DEPRECATED_FRAME_CHAIN): Update. + * config/m68k/tm-sun3.h: Update. + * blockframe.c (inside_main_func, frame_chain_valid): Update. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * x86-64-tdep.c (x86_64_init_abi): Update. + * vax-tdep.c (vax_gdbarch_init): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_frame_chain, sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_frame_saved_pc): Update. + (rs6000_gdbarch_init, rs6000_frame_saved_pc): Update. + (frame_get_saved_regs): Update. + * ppc-linux-tdep.c (ppc_linux_init_abi): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * i386-tdep.c (i386_frame_num_args, i386_gdbarch_init): Update. + * i386-interix-tdep.c (i386_interix_init_abi): Update. + (i386_interix_back_one_frame): Update. + * hppa-tdep.c (hppa_gdbarch_init): Update. + (hppa_init_extra_frame_info): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + * alpha-tdep.c (alpha_gdbarch_init): Update. + +2003-03-22 Richard Earnshaw <rearnsha@arm.com> + + * arm-tdep.h (arm_float_model): Add AUTO and LAST values. + (arm_get_fp_model): Declare. + * arm-tdep.c (fp_model_strings): New string array. + (arm_fp_model, current_fp_model): New variables. + (arm_get_fp_model): New function. + (arm_set_fp): New function. + (set_fp_model_sfunc): New function. + (show_fp_model): New function. + (_initialize_arm_tdep): Add new command to set/show the FPU. + (arm_extract_return_value): Use arm_get_fp_model. + (arm_store_return_value): Likewise. + (arm_gdbarch_init): Default fpa model is softfpa. Call arm_set_fp + to initialize the floating-point data types. + * arm-linux-tdep.c (arm_linux_init_abi): The default floating point + model is FPA. + +2003-03-22 Richard Earnshaw <rearnsha@arm.com> + + * arm-tdep.c (show_arm_command): Don't print out help. Instead, show + the current setting of each value. + (_initialize_arm_tdep): Delete variable new_cmd and add new vars + new_set and new_show. Use add_setshow_cmd_full and + add_setshow_boolean_cmd as appropriate. Deprecate "set/show apcs32" + commands and add new version as subcommands of "set/show arm". + +2003-03-22 Richard Earnshaw <rearnsha@arm.com> + + * arm-tdep.c (setarmcmdlist, showarmcmdlist): New command lists. + (set_arm_command, show_arm_command): New functions. + (_initialize_arm_tdep): Add them. + (num_disassembly_options): Renamed from num_flavor_options. + (valid_disassembly_styles): Renamed from valid_flavors. + (disassembly_style): Renamed from disassembly_flavor. + (set_disassembly_style_sfunc): Renamed from + set_disassembly_flavor_sfunc. + (set_disassembly_style): Renamed from set_disassembly_flavor. + (arm_othernames): Updated. + (_initialize_arm_tdep): Deprecate "set/show disassembly-flavor" + command. Add "set/show arm disassembly" commands. Deprecate + "othernames" command. + +2003-03-22 Richard Earnshaw <rearnsha@arm.com> + + * Makefile.in (elf_reloc_macros_h, elf_arm_h): Define. + (arm-tdep.o): Depend on elf_arm_h. + +2003-03-22 Richard Earnshaw <rearnsha@arm.com> + + * Makefile.in (coff_internal_h): Define. + (arm-tdep.o): Update dependencies. + +2003-03-22 Richard Earnshaw <rearnsha@arm.com> + + * arm-tdep.c (prologue_cache): Delete. + (check_prologue_cache, save_prologue_cache): Delete. + (arm_scan_prologue): Don't check or update the prologue_cache. + (arm_gdb_arch_init): Don't initialize it. + (_initialize_arm_tdep): Likewise. + +2003-03-21 Stephane Carrez <stcarrez@nerim.fr> + + * MAINTAINERS (tui): Maintainer of tui code. + +2003-03-21 Corinna Vinschen <vinschen@redhat.com> + + * Makefile.in (ALLDEPFILES): Add i386-cygwin-tdep.c. + (i386-cygwin-tdep.o): Add dependencies. + * defs.h (enum gdb_osabi): Add GDB_OSABI_CYGWIN. + * i386-cygwin-tdep.c: New file. + * osabi.c (gdb_osabi_name): Add string for GDB_OSABI_CYGWIN. + * config/i386/cygwin.mt (TDEPFILES): Add i386-cygwin-tdep.o. + +2003-03-20 Andrew Cagney <cagney@redhat.com> + + * infrun.c (DYNAMIC_TRAMPOLINE_NEXTPC): Delete macro. + (handle_inferior_event): Remove code calling + DYNAMIC_TRAMPOLINE_NEXTPC. + + * Makefile.in (init.c): Don't add $(srcdir) prefix when a file + already has a full path. + + * main.c (gdb_main): Return 1. + (captured_main): Call error to report an invalid interpreter. + + * Makefile.in (alpha-osf1-tdep.o): Update dependencies. + * alpha-osf1-tdep.c: Include "gdb_string.h". + +2003-03-19 J. Brobecker <brobecker@gnat.com> + + Continuing work to convert the hppa targets to multiarch partial. + + * hppa-tdep.c (hppa_gdbarch_init): Set the push_dummy_frame gdbarch + method, now that hppa_push_dummy_frame has a conformant prototype. + * config/pa/tm-hppa.h (DEPRECATED_PUSH_DUMMY_FRAME): Wrap macro + inside "#if !GDB_MULTI_ARCH ... #endif" conditional, in preparation + for the switch to multiarch partial. + +2003-03-19 Kevin Buettner <kevinb@redhat.com> + + * mdebugread.c (parse_symbol): For stEnd, we're done counting + when iss is issNull. + +2003-03-18 Kevin Buettner <kevinb@redhat.com> + + * mips-tdep.c (mips_register_name): Fix fencepost error involving + NUM_REGS bounds check. + +2003-03-18 Kevin Buettner <kevinb@redhat.com> + + * Makefile.in (mips-tdep.o): Add dependency on $(gdb_assert_h). + * mips-tdep.c (gdb_assert.h): Include. + (mips_generic_reg_names, mips_processor_reg_names): Make static. + (mips_register_name): Handle integer registers explicitly. Add + bounds checking. + (mips_r3041_reg_names, mips_r3051_reg_names, mips_r3081_reg_names) + (mips_lsi33k_reg_names): Don't list integer registers; they're + handled by mips_register_name() now. + * config/mips/tm-irix3.h (MIPS_REGISTER_NAMES): Likewise. + * config/mips/tm-irix6.h (MIPS_REGISTER_NAMES): Likewise. + * config/mips/tm-mips.h (MIPS_REGISTER_NAMES): Likewise. + * config/mips/tm-tx39.h (MIPS_REGISTER_NAMES): Likewise. + * config/mips/tm-tx39l.h (MIPS_REGISTER_NAMES): Likewise. + +2003-03-18 Andrew Cagney <cagney@redhat.com> + + * printcmd.c (print_scalar_formatted): Change VALADDR parameter to + a void pointer. + * gdbtypes.h (print_scalar_formatted): Update declaration. + * expression.h (enum exp_opcode): Remove non-ISO C trailing comma. + +2003-03-18 J. Brobecker <brobecker@gnat.com> + + * infrun.c (observer.h): Add #include. + (normal_stop): Add call to observer_notify_normal_stop. + * Makefile.in (infrun.o): Add dependency on observer.h. + +2003-03-18 J. Brobecker <brobecker@gnat.com> + + Continuing work to convert the hppa targets to multiarch partial. + * hppa-tdep.c (hppa_push_dummy_frame): Remove unused function + parameter. Reformat comment. + * config/pa/tm-hppa.h (hppa_push_dummy_frame): Update profile. + (DEPRECATED_PUSH_DUMMY_FRAME): Update call to hppa_push_dummy_frame() + to match new profile. + +2003-03-18 J. Brobecker <brobecker@gnat.com> + + * hppa-tdep.c (hppa_push_dummy_frame): Remove hack which does not + appear to be working in any case. + +2003-03-18 J. Brobecker <brobecker@gnat.com> + + * observer.c (observer_test_first_observer): New static variable. + (observer_test_second_observer): Likewise. + (observer_test_third_observer): Likewise. + (observer_test_first_notification_function): New static function. + (observer_test_second_notification_function): Likewise. + (observer_test_third_notification_function): Likewise. + +2003-03-17 J. Brobecker <brobecker@gnat.com> + + * hppa-tdep.c (gdb_assert.h): Add missing #include. + * somsolib.c (gdb_assert.h): Likewise. + * Makefile.in (hppa-tdep.o): Add dependency on gdb_assert.h. + (somsolib.o): Likewise. + +2003-03-17 Andrew Cagney <cagney@redhat.com> + + * disasm.c (gdb_disassembly): Set di.mach using the architecture's + BFD. Simplify setting of di.endian. + +2003-03-17 Andrew Cagney <cagney@redhat.com> + + * rs6000-tdep.c (ppc_floating_point_unit_p): New function. + * ppc-tdep.h (ppc_floating_point_unit_p): Declare. + + From Elena Zannoni <ezannoni@redhat.com> + * ppc-sysv-tdep.c (ppc_sysv_abi_push_arguments): Handle e500 + vector and floating-point parameters. + (ppc_sysv_abi_use_struct_convention): Handle e500 struct return + convention. + (ppc_sysv_abi_broken_use_struct_convention): Ditto. + +2003-03-17 Fernando Nasser <fnasser@redhat.com> + + * MAINTAINERS: Remove my name from several maintainership roles. + +2003-03-17 Andrew Cagney <cagney@redhat.com> + + Fix frame off-by-one bug. + * frame-unwind.h (frame_this_id_ftype): Replace + frame_unwind_id_ftype. + (frame_prev_register_ftype): Replace frame_unwind_reg_ftype. + (struct frame_unwind): Replace "id" with "this_id". Replace "reg" + with "prev_register". + * frame-unwind.c (frame_unwind_find_by_pc): Return + legacy_saved_regs_unwind instead of trad_frame_unwind. Update + comment. + * dummy-frame.c (cached_find_dummy_frame): Delete function. + (dummy_frame_this_id): Replace dummy_frame_id_unwind. + (dummy_frame_prev_register): Replace dummy_frame_register_unwind. + (dummy_frame_unwind): Update. + * sentinel-frame.c (sentinel_frame_prev_register): Replace + sentinel_frame_register_unwind. + (sentinel_frame_this_id): Replace sentinel_frame_id_unwind. + (sentinel_frame_unwinder): Update. + * frame.h (legacy_saved_regs_unwind): Replace trad_frame_unwind. + (struct frame_info): Rename "unwind_cache" to "prologue_cache". + * frame.c (create_sentinel_frame): Update. Initialize + "prologue_cache" instead of "unwind_cache". + (frame_register_unwind): Call this frame's prev_register with the + next frame and this frame's prologue cache. + (get_prev_frame): Simplify. Always call prev frame's this_id with + this frame and prev frame's prologue cache. Document that this + call is shifted one to the left when compared to the + frame_register_unwind call. + (legacy_saved_regs_prev_register): Replace + frame_saved_regs_register_unwind. + (legacy_saved_regs_this_id): Replace frame_saved_regs_id_unwind. + (legacy_saved_regs_unwinder): Replace trad_frame_unwinder. + (legacy_saved_regs_unwind): Replace trad_frame_unwind. + * d10v-tdep.c (d10v_frame_this_id): Replace d10v_frame_id_unwind. + (d10v_frame_unwind): Update. + (d10v_frame_prev_register): Replace d10v_frame_register_unwind. + (d10v_frame_unwind_cache): Replace this "fi" with "next_frame". + (saved_regs_unwinder): Replace this "frame" with "next_frame", and + "saved_regs" with "this_saved_regs". + +2003-03-16 Andrew Cagney <cagney@redhat.com> + + * frame.c (frame_pop): Don't call target_store_registers. Fix + problem reported by Mark Kettenis. + +2003-03-16 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.c (i386_register_type): Renamed from + i386_register_virtual_type. Adjust function signature. + (i386_gdbarch_init): Set register_type instead of + deprecated_max_register_raw_size, + deprecated_max_register_virtual_size and register_virtual_type. + +2003-03-14 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_prev_frame): When a legacy frame, always call + legacy_get_prev_frame. Simplify unwind code using assumption that + the unwinder is new. + (legacy_get_prev_frame): Handle legacy sentinel frame unwind here. + (legacy_frame_p): When no gdbarch_unwind_dummy_id, or + SAVED_DUMMY_FRAME_TOS, assume a legacy frame. + +2003-03-14 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_saved_register): Delete function. + * frame.h (get_saved_register): Delete declaration. + * xstormy16-tdep.c: Update comment. + * regcache.h: Update comments. + * sparc-tdep.c (sparc_init_extra_frame_info): Instead of + get_saved_register and extract_address, use + frame_read_unsigned_register. + (sparc_frame_saved_pc): Ditto. + (sparc_get_saved_register): Instead of get_saved_register, use + frame_register. + (sparc_pop_frame): Ditto. + * findvar.c: Update comments. + (value_of_register): Call frame_register instead of + get_saved_register. + (value_from_register): Ditto. + * config/sparc/tm-sparc.h: Update comment. + * breakpoint.c: Update comment. + +2003-03-14 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_GET_SAVED_REGISTER): Replace + GET_SAVED_REGISTER. + * gdbarch.h, gdbarch.c: Re-generate. + * frame.h: Update comments. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * x86-64-tdep.c (x86_64_init_abi): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * frame.c (frame_register): Update. + (get_saved_register): Update. + * config/sparc/tm-sparc.h (DEPRECATED_GET_SAVED_REGISTER): Update. + +2003-03-13 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_POP_FRAME): Replace POP_FRAME. + * gdbarch.h, gdbarch.c: Regenerate. + * valops.c (hand_function_call): Update comment. + * stack.c (return_command): Update comment. + * config/sparc/tm-sparc.h (DEPRECATED_POP_FRAME): Update. + * config/pa/tm-hppa.h (DEPRECATED_POP_FRAME): Update. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * x86-64-tdep.c (x86_64_init_abi): Update. + * vax-tdep.c (vax_gdbarch_init): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * i386-tdep.c (i386_gdbarch_init): Update. + * hppa-tdep.c (hppa_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + * alpha-tdep.c (alpha_gdbarch_init): Update. + +2003-03-13 Andrew Cagney <cagney@redhat.com> + + * frame.c (legacy_frame_p): New function. + (get_prev_frame): Use legacy_frame_p. + * frame.h (legacy_frame_p): Declare. + +2003-03-13 D. Venkatasubramanian <dvenkat@noida.hcltech.com> + + * MAINTAINERS (write after approval): Alphabetically + listing corrected. + +2003-03-13 D. Venkatasubramanian <dvenkat@noida.hcltech.com> + + * MAINTAINERS (write after approval): Add myself. + +2003-03-12 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_prev_frame): Rename the frame parameter to + "this_frame". + (get_next_frame, legacy_get_prev_frame): Ditto. + +2003-03-12 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_current_frame): Check target_has_registers before + checking target_has_stack. + * eval.c (evaluate_subexp_standard): Use get_selected_frame, + instead of deprecated_selected_frame. + * findvar.c (value_of_register): Pass "frame", not + deprecated_selected_frame, to value_of_builtin_reg. + +2003-03-12 Andrew Cagney <cagney@redhat.com> + + * regcache.c (regcache_cooked_write_signed): New function. + (regcache_cooked_write_unsigned): New function. + (regcache_cooked_read_unsigned): Fix regnum in range assertion. + (regcache_cooked_read_signed): Fix regnum in range assertion. + * regcache.h (regcache_cooked_write_signed): Declare. + (regcache_cooked_write_unsigned): Declare. + +2003-03-12 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_FRAME_SAVED_PC): Replace FRAME_SAVED_PC. + * gdbarch.h, gdbarch.c: Re-generate. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * x86-64-tdep.h: Update. + * x86-64-tdep.c (x86_64_init_abi): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * ppc-linux-tdep.c (ppc_linux_init_abi): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * i386-tdep.c (i386_gdbarch_init): Update. + * i386-interix-tdep.c (i386_interix_init_abi): Update. + * hppa-tdep.c (hppa_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + * alpha-tdep.c (alpha_gdbarch_init): Update. + * sh-tdep.c (sh_init_extra_frame_info): Update. + (sh64_init_extra_frame_info): Update. + * ns32knbsd-nat.c (frame_num_args): Update. + * m68hc11-tdep.c (m68hc11_init_extra_frame_info): Update. + * xstormy16-tdep.c (xstormy16_pop_frame): Update. + (xstormy16_frame_chain_valid): Update. + * vax-tdep.c (vax_saved_pc_after_call): Update. + * v850-tdep.c (v850_frame_chain): Update. + (v850_pop_frame): Update. + (v850_init_extra_frame_info): Update. + * sparc-tdep.c (setup_arbitrary_frame): Update. + * ns32k-tdep.c (umax_frame_num_args): Update. + * s390-tdep.c (s390_pop_frame_regular): Update. + * mn10300-tdep.c (mn10300_frame_chain): Update. + (mn10300_pop_frame_regular): Update. + (mn10300_init_extra_frame_info): Update. + * mips-tdep.c (mips_init_frame_pc_first): Update. + (mips_frame_chain): Update. + (mips_pop_frame): Update. + * mcore-tdep.c (mcore_frame_chain): Update. + (mcore_pop_frame): Update. + (mcore_init_extra_frame_info): Update. + * arch-utils.c (init_frame_pc_default): Update. + * m68k-tdep.c (isi_frame_num_args): Update. + (delta68_frame_num_args): Update. + (news_frame_num_args): Update. + * ia64-tdep.c (ia64_pop_frame_regular): Update. + * alpha-tdep.c (alpha_init_frame_pc_first): Update. + (alpha_frame_chain): Update. + (alpha_pop_frame): Update. + * hppa-tdep.c (hppa_saved_pc_after_call): Update. + (hppa_init_extra_frame_info): Update. + (hppa_frame_chain): Update. + (hppa_frame_chain_valid): Update. + * cris-tdep.c (cris_init_extra_frame_info): Update. + * avr-tdep.c (avr_init_extra_frame_info): Update. + * arm-tdep.c (arm_frame_chain_valid): Update. + (arm_init_extra_frame_info): Update. + (arm_pop_frame): Update. + * frame.c (frame_pc_unwind): Update. + * config/sparc/tm-sparc.h (DEPRECATED_FRAME_SAVED_PC): Update. + (DEPRECATED_INIT_FRAME_PC_FIRST): Update. + * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update. + * config/pa/tm-hppa.h (DEPRECATED_FRAME_SAVED_PC): Update. + * config/m68k/tm-delta68.h (DEPRECATED_FRAME_SAVED_PC): Update. + * config/m68k/tm-linux.h (DEPRECATED_FRAME_SAVED_PC): Update. + +2003-03-12 Andrew Cagney <cagney@redhat.com> + + Eliminate the need for POP_FRAME. + * frame.c (do_frame_unwind_register): New function. + (frame_pop): When no POP_FRAME, pop the frame using register + unwind and a scratch regcache. + (frame_saved_regs_pop): Delete function. + (trad_frame_unwinder): Update. + * d10v-tdep.c (d10v_frame_pop): Delete function. + (d10v_frame_unwind): Update. + * sentinel-frame.c (sentinel_frame_pop): Delete function. + (sentinel_frame_unwinder): Update. + * dummy-frame.c (dummy_frame_pop): Delete function. + (dummy_frame_unwind): Update. + * frame-unwind.h (frame_unwind_pop_ftype): Delete definition. + (struct frame_unwind): Update. + +2003-03-11 Kevin Buettner <kevinb@redhat.com> + + * mips-tdep.c (mips_ecoff_reg_to_regnum): Rename to + mips_dwarf_dwarf2_ecoff_reg_to_regnum(). + (mips_dwarf_dwarf2_ecoff_reg_to_regnum, mips_stab_reg_to_regnum): + Do range checks on register number obtained from debugging info. + (mips_gdbarch_init): Call set_gdbarch_dwarf_reg_to_regnum() and + set_gdbarch_dwarf2_reg_to_regnum(). Adjust call of + set_gdbarch_ecoff_reg_to_regnum() to account for new name of + mapping function. + (do_fp_register_row): Fix typo which caused double type to be + used when attempting to unpack a float. + +2003-03-11 J. Brobecker <brobecker@gnat.com> + + * breakpoint.c (bpstat_stop_status): Fix a small memory leak. + +2003-03-11 Andrew Cagney <cagney@redhat.com> + + * frame.c (deprecated_update_frame_pc_hack): Don't assume a next + frame. Problem found by Corinna Vinschen. + +2003-03-11 Pierre Muller <muller@ics.u-strasbg.fr> + + * doublest.c (floatformat_from_length): Accept also + the real size of 'long double' type. + +2003-03-10 Daniel Jacobowitz <drow@mvista.com> + + From Klee Dienes <kdienes@apple.com>: + * breakpoint.c (bpstat_copy): Copy the command lines as well + as the old value, to match what is freed in bpstat_clear. + +2003-03-10 David Carlton <carlton@math.stanford.edu> + + * minsyms.c (add_minsym_to_hash_table): Replace + DEPRECATED_SYMBOL_NAME by SYMBOL_LINKAGE_NAME. + (compare_minimal_symbols, compact_minimal_symbols) + (install_minimal_symbols, find_solib_trampoline_target): Ditto. + (lookup_minimal_symbol_text): Use strcmp on linkage names instead + of DEPRECATED_SYMBOL_MATCHES_NAME. + (lookup_minimal_symbol_solib_trampoline): Ditto. + +2003-03-10 Andrew Cagney <cagney@redhat.com> + + * regcache.h (regcache_cooked_read_ftype): Define. + (regcache_save, regcache_restore): Add a cooked_read parameter. + * regcache.c (regcache_save, regcache_restore): Update. + (do_cooked_read): New function. + (regcache_cpy): Pass do_cooked_read to regcache_save and + regcache_restore. + +2003-03-10 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_FRAME_SAVED_PC): Replace FRAME_SAVED_PC. + * gdbarch.h, gdbarch.c: Re-generate. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * x86-64-tdep.h: Update. + * x86-64-tdep.c (x86_64_init_abi): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * ppc-linux-tdep.c (ppc_linux_init_abi): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * i386-tdep.c (i386_gdbarch_init): Update. + * i386-interix-tdep.c (i386_interix_init_abi): Update. + * hppa-tdep.c (hppa_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + * alpha-tdep.c (alpha_gdbarch_init): Update. + * sh-tdep.c (sh_init_extra_frame_info): Update. + (sh64_init_extra_frame_info): Update. + * ns32knbsd-nat.c (frame_num_args): Update. + * m68hc11-tdep.c (m68hc11_init_extra_frame_info): Update. + * xstormy16-tdep.c (xstormy16_pop_frame): Update. + (xstormy16_frame_chain_valid): Update. + * vax-tdep.c (vax_saved_pc_after_call): Update. + * v850-tdep.c (v850_frame_chain): Update. + (v850_pop_frame): Update. + (v850_init_extra_frame_info): Update. + * sparc-tdep.c (setup_arbitrary_frame): Update. + * ns32k-tdep.c (umax_frame_num_args): Update. + * s390-tdep.c (s390_pop_frame_regular): Update. + * mn10300-tdep.c (mn10300_frame_chain): Update. + (mn10300_pop_frame_regular): Update. + (mn10300_init_extra_frame_info): Update. + * mips-tdep.c (mips_init_frame_pc_first): Update. + (mips_frame_chain): Update. + (mips_pop_frame): Update. + * mcore-tdep.c (mcore_frame_chain): Update. + (mcore_pop_frame): Update. + (mcore_init_extra_frame_info): Update. + * arch-utils.c (init_frame_pc_default): Update. + * m68k-tdep.c (isi_frame_num_args): Update. + (delta68_frame_num_args): Update. + (news_frame_num_args): Update. + * ia64-tdep.c (ia64_pop_frame_regular): Update. + * alpha-tdep.c (alpha_init_frame_pc_first): Update. + (alpha_frame_chain): Update. + (alpha_pop_frame): Update. + * hppa-tdep.c (hppa_saved_pc_after_call): Update. + (hppa_init_extra_frame_info): Update. + (hppa_frame_chain): Update. + (hppa_frame_chain_valid): Update. + * cris-tdep.c (cris_init_extra_frame_info): Update. + * avr-tdep.c (avr_init_extra_frame_info): Update. + * arm-tdep.c (arm_frame_chain_valid): Update. + (arm_init_extra_frame_info): Update. + (arm_pop_frame): Update. + * frame.c (frame_pc_unwind): Update. + * config/sparc/tm-sparc.h (DEPRECATED_FRAME_SAVED_PC): Update. + (DEPRECATED_INIT_FRAME_PC_FIRST): Update. + * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update. + * config/pa/tm-hppa.h (DEPRECATED_FRAME_SAVED_PC): Update. + * config/m68k/tm-delta68.h (DEPRECATED_FRAME_SAVED_PC): Update. + * config/m68k/tm-linux.h (DEPRECATED_FRAME_SAVED_PC): Update. + +2003-03-10 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (gdbarch_unwind_pc): New method. + * gdbarch.h, gdbarch.c: Regenerate. + * frame.c (frame_pc_unwind): Rewrite. Prefer gdbarch_unwind_pc, + but use read_pc and FRAME_SAVED_PC as fall backs. + (frame_saved_regs_pc_unwind): Delete function. + (trad_frame_unwinder): Update. + * frame-unwind.h (frame_unwind_pc_ftype): Delete declaration. + (struct frame_unwind): Update. + * dummy-frame.c (dummy_frame_pc_unwind): Delete function. + (dummy_frame_unwind): Update. + * sentinel-frame.c (sentinel_frame_pc_unwind): Delete function. + (sentinel_frame_unwinder): Update. + * d10v-tdep.c (d10v_frame_pc_unwind): Delete function. + (d10v_frame_unwind): Update. + (d10v_unwind_pc): New function. + (d10v_gdbarch_init): Set unwind_pc. + +2003-03-10 Andrew Cagney <cagney@redhat.com> + + * gdbarch.h: Re-generate. + + * d10v-tdep.c (d10v_frame_register_unwind): Correctly unwind the + PC. + (d10v_frame_pop): Unwind the PC, and not the LR, when restoring + the PC register. + +2003-03-08 Mark Kettenis <kettenis@gnu.org> + + * gdbarch.sh (save_dummy_frame_tos): Add comment. + +2003-03-08 Andrew Cagney <cagney@redhat.com> + + * cli-out.c: Update copyright. + (cli_out_data): Define typedef. Use instead of ui_out_data. + +2003-03-08 Andrew Cagney <cagney@redhat.com> + + * valarith.c (value_subscripted_rvalue): Copy the array's REGNO to + the result. + +2003-03-07 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh: Don't generate two macro definitions when an + undefined macro taking no arguments. + * gdbarch.h: Regenerate. + +2002-03-07 Michal Ludvig <mludvig@suse.cz> + + * x86-64-tdep.c (x86_64_save_dummy_frame_tos) + (x86_64_unwind_dummy_id): New functions. + (x86_64_init_abi): Register these two new functions. + +2003-03-07 Michal Ludvig <mludvig@suse.cz> + + * x86-64-tdep.c (x86_64_function_has_prologue): New function. + (x86_64_skip_prologue): Move prologue detection to + separate function. + * x86-64-tdep.h (x86_64_function_has_prologue): New prototype. + +2003-03-05 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c (d10v_unwind_dummy_id): New function. + (d10v_gdbarch_init): Set unwind_dummy_id and save_dummy_frame_tos. + * frame.c (get_prev_frame): Restructure the frame ID unwind code + to use unwind_dummy_id when a dummy frame. + * gdbarch.sh (unwind_dummy_id): New multi-arch method with + predicate. + * gdbarch.h, gdbarch.c: Regneerate. + +2003-03-05 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c (struct d10v_unwind_cache): Add field "base". + (d10v_frame_unwind_cache): Rewrite code computing the base and SP. + Do not use d10v_read_sp or d10v_read_fp when obtaining register + values. + +2003-03-05 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c (struct frame_extra_info): Delete unused structure. + (struct d10v_unwind_cache): Delete field "frameless". Replace + "next_addr" with "sp_offset". Add "r11_offset". + (d10v_frame_unwind_cache): Update. + (prologue_find_regs): Update. When "mv r11, sp", save the + "sp_offset" in "r11_offset". Recognize "st rn, @r11", note that + RN was saved in r11_offset. + +2003-03-05 Andrew Cagney <cagney@redhat.com> + + * frame.c (deprecated_update_frame_pc_hack): Also update the the + cached PC value in the next frame. + +2003-03-05 Andrew Cagney <cagney@redhat.com> + + * frame.h (struct frame_info): Replace "id_unwind_cache_p" and + "id_unwind_cache" with "id". + (frame_id_unwind): Delete declaration. + * frame.c (frame_id_unwind): Delete function. + (get_prev_frame): Call the frame id unwind method directly. Store + the returned next frame's ID value in NEXT_FRAME. Note that there + is a problem with the wrong unwind ID being called with the wrong + unwind cache. + +2003-03-05 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in (FLAGS_TO_PASS): Add LDFLAGS. + +2003-03-05 James Ingham <jingham@apple.com> + Daniel Jacobowitz <drow@mvista.com> + + * cp-abi.c: Include "command.h", "gdbcmd.h", and "ui-out.h". + (auto_cp_abi): New variable. + (current_cp_abi, num_cp_abis): Make static. + (CP_ABI_MAX): Define. + (cp_abis): Turn into an array. + (value_virtual_fn_field): Fix formatting. + (switch_to_cp_abi, register_cp_abi): Update. register_cp_abi now + takes a pointer. + (set_cp_abi_as_auto_default, set_cp_abi_cmd, show_cp_abi_cmd) + (list_cp_abis, _initialize_cp_abi): New functions. + * cp-abi.h: Add prototype for set_cp_abi_as_auto_default. Remove + declarations for cp_abis, num_cp_abis, current_cp_abi, and + switch_to_cp_abi. Update prototype for register_cp_abi. + * Makefile.in (cp-abi.o): Update dependencies. + * minsyms.c (install_minimal_symbols): Call set_cp_abi_as_auto_default + instead of switch_to_cp_abi. + * gnu-v2-abi.c (_initialize_gnu_v2_abi): Likewise. Update call to + register_cp_abi. + * gnu-v3-abi.c (_initialize_gnu_v3_abi): Update call to + register_cp_abi. + * hpacc-abi.c (_initialize_hpacc_abi): Likewise. + +2003-03-05 Daniel Jacobowitz <drow@mvista.com> + + * dwarf2expr.c (new_dwarf_expr_context): Add (void) to definition. + * dwarf2loc.c: Include "regcache.h". + (dwarf_expr_read_reg): Rename regnum argument to dwarf_regnum. Use + register_size. + * Makefile.in (dwarf2loc.o): Update dependencies. + +2003-03-04 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_io_reg_read_command): Fix to handle case when the + number of io registers reported by remote target is not a multiple of + step. + +2003-03-04 David Carlton <carlton@math.stanford.edu> + + * symtab.c (lookup_partial_symbol): Add linkage_name argument. + (lookup_symbol_aux_psymtabs): Update call to + lookup_partial_symbol. + (lookup_transparent_type, find_main_psymtab) + (make_symbol_overload_list): Ditto. + +2003-03-04 Kazu Hirata <kazu@cs.umass.edu> + + * MAINTAINERS (Write after approval): Update my email address. + +2003-03-03 Andrew Cagney <cagney@redhat.com> + + Make MAX_REGISTER_RAW_SIZE and MAX_REGISTER_VIRTUAL_SIZE optional. + * gdbarch.sh (DEPRECATED_MAX_REGISTER_RAW_SIZE): Variable with + predicate. Replace MAX_REGISTER_RAW_SIZE. + (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto for + MAX_REGISTER_VIRTUAL_SIZE. + * regcache.c (legacy_max_register_raw_size): New function. + (legacy_max_register_virtual_size): New function. + * defs.h (MAX_REGISTER_VIRTUAL_SIZE): Define. + (MAX_REGISTER_RAW_SIZE): Define. + (legacy_max_register_raw_size): Declare. + (legacy_max_register_virtual_size): Declare. + * config/sparc/tm-sparc.h (DEPRECATED_MAX_REGISTER_RAW_SIZE) + (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Update. + * config/sparc/tm-sp64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE) + (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto. + * config/pa/tm-hppa.h (DEPRECATED_MAX_REGISTER_RAW_SIZE) + (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto. + * config/pa/tm-hppa64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto. + * config/ia64/tm-ia64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto. + * config/i386/tm-ptx.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * vax-tdep.c (vax_gdbarch_init): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * i386-tdep.c (i386_gdbarch_init): Update. + * hppa-tdep.c (hppa_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + * alpha-tdep.c (alpha_gdbarch_init): Update. + * d10v-tdep.c (d10v_gdbarch_init): Do not set + max_register_raw_size or max_register_virtual_size. + +2003-03-03 David Carlton <carlton@math.stanford.edu> + + * symtab.h (DEPRECATED_SYMBOL_MATCHES_NAME): Rename from + SYMBOL_MATCHES_NAME, add comment. + (SYMBOL_MATCHES_NATURAL_NAME): New. + * minsyms.c (lookup_minimal_symbol_solib_trampoline): Replace + SYMBOL_MATCHES_NAME with DEPRECATED_SYMBOL_MATCHES_NAME. + (lookup_minimal_symbol, lookup_minimal_symbol_text): Ditto. + * symtab.c (lookup_partial_symbol): Use + SYMBOL_MATCHES_NATURAL_NAME, not SYMBOL_MATCHES_NAME. Delete + unhelpful comment. + (lookup_block_symbol): Use SYMBOL_MATCHES_NATURAL_NAME, not + SYMBOL_MATCHES_NAME. + Fix for PR c++/33. + +2003-03-03 David Carlton <carlton@math.stanford.edu> + + * symtab.h (SYMBOL_MATCHES_REGEXP): Delete. + * symtab.c (search_symbols): Replace uses of SYMBOL_MATCHES_REGEXP + by regexp matching against SYMBOL_NATURAL_NAME. + +2003-03-03 David Carlton <carlton@math.stanford.edu> + + * linespec.c (find_method): Extract code into collect_methods. + (collect_methods): New. + +2003-03-02 Mark Kettenis <kettenis@gnu.org> + + * i386bsd-tdep.c (i386bsd_sigcontext_addr): Use get_next_frame and + get_frame_base. + + * i386-tdep.c (i386_pe_skip_trampoline_code): Replace usage of + DEPRECATED_SYMBOL_NAME with SYMBOL_LINKAGE_NAME. + +2003-03-02 Stephane Carrez <stcarrez@nerim.fr> + + * arch-utils.c (generic_register_byte): Fix to use the loop index + and not regnum when summing the size of all registers up to regnum. + +2003-03-01 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_FRAME_INIT_SAVED_REGS): Rename + FRAME_INIT_SAVED_REGS. + * gdbarch.h, gdbarch.c: Regenerate. + * stack.c (frame_info): Update. + * sh-tdep.c (sh_find_callers_reg, sh64_get_saved_pr): Update. + (sh_init_extra_frame_info, sh64_init_extra_frame_info): Update. + (sh64_get_saved_register, sh_pop_frame, sh64_pop_frame): Update. + * ns32k-tdep.c (ns32k_pop_frame): Update. + * mips-tdep.c (mips_pop_frame): Update. + * m68hc11-tdep.c (m68hc11_pop_frame): Update. + * ia64-tdep.c (ia64_frame_chain): Update. + (ia64_frame_saved_pc, ia64_get_saved_register): Update. + (ia64_frameless_function_invocation): Update. + (ia64_init_extra_frame_info): Update. + (ia64_pop_frame_regular): Update. + * frame.h (struct frame_info): Update comment. + (DEPRECATED_FRAME_INIT_SAVED_REGS): Rename macro. + * frame.c (frame_saved_regs_register_unwind): Update. + (frame_saved_regs_register_unwind): Update. + (deprecated_generic_get_saved_register): Update. + * cris-tdep.c: Update comment. + * config/sparc/tm-sparc.h (DEPRECATED_FRAME_INIT_SAVED_REGS): + Rename macro. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * x86-64-tdep.c (x86_64_init_abi): Update. + * vax-tdep.c (vax_gdbarch_init): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * ppc-linux-tdep.c (ppc_linux_init_abi): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * i386-tdep.c (i386_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + * alpha-tdep.c (alpha_gdbarch_init): Update. + +2003-03-01 Andrew Cagney <cagney@redhat.com> + + * main.c (captured_main): Add OPT_WINDOWS and OPT_NOWINDOWS to + option enum and switch. When no windows, set the interpreter to + INTERP_CONSOLE. + +2003-03-01 Andrew Cagney <cagney@redhat.com> + + * main.c (captured_main): Replace magic option characters with an + enum. + +2003-03-01 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename + INIT_EXTRA_FRAME_INFO. + * gdbarch.h, gdbarch.c: Regenerate. + * arm-tdep.c: Update comments. + * sh-tdep.c, mcore-tdep.c, m68hc11-tdep.c: Ditto. + * i386-interix-tdep.c, hppa-tdep.c, h8300-tdep.c: Ditto. + * frame.h, avr-tdep.c: Ditto. + * frame.c (get_prev_frame): DEPRECATED_INIT_EXTRA_FRAME_INFO. + (create_new_frame, legacy_get_prev_frame): Ditto. + * config/sparc/tm-sparc.h (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename. + * config/pa/tm-hppa.h (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Initialize + deprecated_init_extra_frame_info instead of init_extra_frame_info. + * x86-64-tdep.c (x86_64_init_abi): Ditto. + * v850-tdep.c (v850_gdbarch_init): Ditto. + * sparc-tdep.c (sparc_gdbarch_init): Ditto. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * s390-tdep.c (s390_gdbarch_init): Ditto. + * ppc-linux-tdep.c (ppc_linux_init_abi): Ditto. + * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. + * mips-tdep.c (mips_gdbarch_init): Ditto. + * mcore-tdep.c (mcore_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * ia64-tdep.c (ia64_gdbarch_init): Ditto. + * i386-interix-tdep.c (i386_interix_init_abi): Ditto. + * hppa-tdep.c (hppa_gdbarch_init): Ditto. + * h8300-tdep.c (h8300_gdbarch_init): Ditto. + * frv-tdep.c (frv_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + * avr-tdep.c (avr_gdbarch_init): Ditto. + * arm-tdep.c (arm_gdbarch_init): Ditto. + * alpha-tdep.c (alpha_gdbarch_init): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. + +2003-03-01 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (register_type): New function with predicate. + (REGISTER_VIRTUAL_TYPE): Change to function with predicate. + * gdbarch.h, gdbarch.c: Re-generate. + * arch-utils.c (generic_register_byte): Use generic_register_size. + (generic_register_size): When available, use + gdbarch_register_type. + * regcache.c (init_regcache_descr): When available, initialize the + register type array using gdbarch_register_type. If the + architecture supplies gdbarch_register_type, do not use the legacy + regcache layout. + * d10v-tdep.c (d10v_register_type): Replace + d10v_register_virtual_type. + (d10v_gdbarch_init): Set register_type instead of + register_virtual_type. + +2003-03-01 Andrew Cagney <cagney@redhat.com> + + * Makefile.in (ax-gdb.o): Update dependencies. + * ax-gdb.c: Include "regcache.h". + (gen_expr): Use register_type instead of REGISTER_VIRTUAL_TYPE. + * findvar.c (value_of_register): Ditto. + * infcmd.c (default_print_registers_info): Ditto. + +2003-03-01 Mark Kettenis <kettenis@gnu.org> + + * i386-linux-tdep.c (find_minsym_and_objfile): Replace usage of + DEPRECATED_SYMBOL_NAME with SYMBOL_LINKAGE_NAME. + +2003-03-01 Mark Kettenis <kettenis@gnu.org> + + * i386-linux-tdep.c (find_minsym_and_objfile): Use strcmp instead + of STREQ. + +2003-02-28 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in (dwarf2loc.o): Update dependencies. + * ax-gdb.c (gen_var_ref): Handle LOC_COMPUTED and LOC_COMPUTED_ARG. + * dwarf2expr.c (read_uleb128, read_sleb128): Make non-static. + * dwarf2expr.h (read_uleb128, read_sleb128): Add prototypes. + * dwarf2loc.c: Include "ax.h" and "ax-gdb.h". + (locexpr_tracepoint_var_ref): New function. + (dwarf2_locexpr_funcs): Add locexpr_tracepoint_var_ref. + +2003-02-28 Andrew Cagney <cagney@redhat.com> + + * regcache.c (register_size): New function. + * regcache.h (register_size): Declare + * d10v-tdep.c: Use register_size instead of REGISTER_RAW_SIZE, use + max_register_size instead of MAX_REGISTER_RAW_SIZE. + +2003-02-28 David Carlton <carlton@math.stanford.edu> + + * linespec.c (decode_compound): Extract code into find_method. + (find_method): New. + +2003-02-28 J. Brobecker <brobecker@gnat.com> + + * Makefile.in: Add rules to build and link in observer.o. + +2003-02-27 J. Brobecker <brobecker@gnat.com> + + * observer.c: Minor comments edits. + +2003-02-27 J. Brobecker <brobecker@gnat.com> + + * observer.h, observer.c: New file. + +2003-02-27 Andrew Cagney <cagney@redhat.com> + + * arm-tdep.c (gdb_print_insn_arm): Rename _bfd to just bfd. + +2003-02-27 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-tdep.c (M6811_OP_LDX_EXT, M6811_OP_STS_EXT): New defines. + (M6812_OP_STS_EXT): Likewise. + (m6811_prologue): Use the above to recognize prologue. + (m6812_prologue): Likewise. + +2003-02-27 David Carlton <carlton@math.stanford.edu> + + * symfile.c (compare_symbols): Use SYMBOL_NATURAL_NAME, not + SYMBOL_PRINT_NAME. + (compare_psymbols): Ditto. + * symtab.c (lookup_partial_symbol, lookup_block_symbol): Ditto. + +2003-02-27 Michael Snyder <msnyder@redhat.com> + + * f-lang.c (build_fortran_types): New function. + (_initialize_f_language): Gdbarch-register built-in fortran types. + * doublest.c (extract_floating): Fix warning text. + +2003-02-27 Andrew Cagney <cagney@redhat.com> + + * gdbarch.sh (DEPRECATED_PUSH_DUMMY_FRAME): Procedure with + predicate. Replaces PUSH_DUMMY_FRAME. + * gdbarch.h, gdbarch.c: Regnerate. + * valops.c (hand_function_call): Update. Call + generic_push_dummy_frame directly. + * vax-tdep.c (vax_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * hppa-tdep.c (hppa_gdbarch_init): Update. + * alpha-tdep.c (alpha_gdbarch_init): Update. + * config/sparc/tm-sparc.h (DEPRECATED_PUSH_DUMMY_FRAME): Update. + * config/pa/tm-hppa.h (DEPRECATED_PUSH_DUMMY_FRAME): Update. + * inferior.h (PUSH_DUMMY_FRAME): Delete definition. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Don't set + push_dummy_frame to generic_push_dummy_frame. + * v850-tdep.c (v850_gdbarch_init): Ditto. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * s390-tdep.c (s390_gdbarch_init): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. + * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. + * mips-tdep.c (mips_gdbarch_init): Ditto. + * mcore-tdep.c (mcore_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * ia64-tdep.c (ia64_gdbarch_init): Ditto. + * i386-tdep.c (i386_gdbarch_init): Ditto. + * h8300-tdep.c (h8300_gdbarch_init): Ditto. + * frv-tdep.c (frv_gdbarch_init): Ditto. + * d10v-tdep.c (d10v_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + * avr-tdep.c (avr_gdbarch_init): Ditto. + * arm-tdep.c (arm_gdbarch_init): Ditto. + +2003-02-26 Kevin Buettner <kevinb@redhat.com> + + * mips-tdep.c (show_mips_abi): New function. + (_initialize_mips_tdep): Use show_mips_abi() to implement the + command ``show mips abi''. + +2003-02-26 Jeff Johnston <jjohnstn@redhat.com> + + From Elena Zannoni <ezannoni@redhat.com> + * dbxread.c (process_one_symbol): Only record line 0 if one or + more sline entries have been seen for the function. + +2003-02-26 Michael Chastain <mec@shout.net> + + * configure: Regenerate with autoconf 000227. + +2003-02-26 Michael Chastain <mec@shout.net> + + Close PR build/660. + * PROBLEMS (i[3456]86-*-linux*): Note explicit error message + for old libc5/glibc. + * gdb_thread_db.h: Die if not HAVE_UINTPTR_T. + +2003-02-26 Kris Warkentin <kewarken@qnx.com> + + * defs.h (gdb_osabi): Add GDB_OSABI_QNXNTO. + * osabi.c (gdb_osabi_names): Add "QNX Neutrino". + +2003-02-26 Michael Chastain <mec@shout.net> + + * configure.in: New variable HAVE_UINTPTR_T. + * configure, config.in: Regenerated. + +2003-02-26 Daniel Jacobowitz <drow@mvista.com> + + Fix PR build/1097. + * utils.c (gdb_realpath): Move closing brace outwards one #endif. + +2003-02-25 Andrew Cagney <cagney@redhat.com> + + * frame.c (get_prev_frame): Add comment on check for + inside_entry_func. Only check for inside_entry_file when not a + dummy and not a sentinel. Check that the new frame is not inner + to the old frame. + +2003-02-25 Andrew Cagney <cagney@redhat.com> + + * frame.c (frame_debug): New variable. + (_initialize_frame): Add "set/show debug frame" command. + (get_prev_frame): When frame_debug, print reason why unwind + failed. + +2003-02-25 Michael Chastain <mec@shout.net> + + * PROBLEMS (i[3456]86-*-linux*): Require glibc 2.1.3 or later + to avoid uintptr_t definition problems. + +2003-02-25 David Carlton <carlton@math.stanford.edu> + + * symtab.h (SYMBOL_NATURAL_NAME): New macro. + (SYMBOL_LINKAGE_NAME): Ditto. + (SYMBOL_PRINT_NAME): Use SYMBOL_NATURAL_NAME and + SYMBOL_LINKAGE_NAME. + (struct general_symbol_info): Expand comment. + (DEPRECATED_SYMBOL_NAME): Rename from SYMBOL_NAME. + (SYMBOL_MATCHES_NAME): Use DEPRECATED_SYMBOL_NAME. + (SYMBOL_MATCHES_REGEXP): Ditto. + * symtab.c (symbol_natural_name): New function. + * objfiles.h: Replace all uses of SYMBOL_NAME by + DEPRECATED_SYMBOL_NAME. + * xcoffread.c, valops.c, typeprint.c, tracepoint.c: Ditto. + * symtab.c, symmisc.c, symfile.c, stack.c, stabsread.c: Ditto. + * somsolib.c, sol-thread.c, rs6000-tdep.c, p-valprint.c: Ditto. + * printcmd.c, objfiles.c, objc-lang.c, mipsread.c: Ditto. + * minsyms.c, mdebugread.c, linespec.c, jv-lang.c: Ditto. + * i386-tdep.c, i386-linux-tdep.c, hpread.c, hppa-tdep.c: Ditto. + * gnu-v2-abi.c, f-valprint.c, findvar.c, expprint.c: Ditto. + * dwarfread.c, dwarf2read.c, dbxread.c, c-valprint.c: Ditto. + * cp-valprint.c, coffread.c, buildsym.c, breakpoint.c: Ditto. + * blockframe.c, ax-gdb.c, arm-linux-tdep.c, ada-lang.c: Ditto. + * ada-exp.y: Ditto. + * ada-exp.y: Update copyright. + * sol-thread.c, mipsread.c, jv-lang.c, f-valprint.c: Ditto. + * cp-valprint.c: Ditto. + +2003-02-25 Jeff Johnston <jjohnstn@redhat.com> + + * infptrace.c (detach): Do not flag error if ptrace detach fails + and errno is set to ESRCH. + +2003-02-24 Andrew Cagney <cagney@redhat.com> + + * infptrace.c (udot_info): Change type of udot_off to long. Use + paddr when printing udot_off's value. + +2003-02-24 David Carlton <carlton@math.stanford.edu> + + * symtab.c (make_symbol_overload_list): Only read in partial + symtabs containing a matching partial symbol. + +2003-02-24 David Carlton <carlton@math.stanford.edu> + + * symtab.c (lookup_partial_symbol): Use strcmp_iw_ordered to + do the comparison, not strcmp. + * symfile.c (compare_psymbols): Ditto. + * defs.h: Declare strcmp_iw_ordered. + * utils.c (strcmp_iw_ordered): New function. + +2003-02-24 Jim Blandy <jimb@redhat.com> + + * MAINTAINERS (GNU/Linux/x86, linespec, breakpoints, Scheme + support, shared libs): Remove my name from here, to better reflect + reality. + +2003-02-24 Kris Warkentin <kewarken@qnx.com> + + * target.h: (HAVE_CONTINUABLE_WATCHPOINT): Define. + (target_ops): Add to_have_continuable_watchpoint. + * target.c (update_current_target): Add INHERIT line for + to_have_continuable_watchpoint. + * infrun.c: Remove HAVE_CONTINUABLE_WATCHPOINT defines. + * config/i386/nm-i386.h, config/i386/nm-i386sco5.h, + config/i386/nm-i386sol2.h, config/s390/nm-linux.h, + config/sparc/nm-sun4sol2.h: HAVE_CONTINUABLE_WATCHPOINT defined as 1. + +2003-02-24 Elena Zannoni <ezannoni@redhat.com> + + * MAINTAINERS (Core): Drop main.c and top.c. Clarify event loop + maintainership. + +2003-02-24 Kris Warkentin <kewarken@qnx.com> + + * solib.c (solib_open): Call target defined search function after + failing with solib-search-path. + * solist.h (target_so_ops): Add find_and_open_solib function hook and + create define TARGET_SO_FIND_AND_OPEN_SOLIB. + +2003-02-24 Kris Warkentin <kewarken@qnx.com> + + * MAINTAINERS: Add myself to Write After section. + +2003-02-23 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-tdep.c (m68hc11_gdbarch_init): long double is 64-bit wide. + +2003-02-22 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-tdep.c (m68hc11_init_reggroups): New function. + (m68hc11_add_reggroups): New function. + (m68hc11_register_reggroup_p): New to register hard/soft reggroups. + (m68hc11_gdbarch_init): Install the reggroups. + (_initialize_m68hc11_tdep): Initialize them. + +2003-02-21 James E Wilson <wilson@tuliptree.org> + + * MAINTAINERS: Update my email address. + +2003-02-21 David Carlton <carlton@math.stanford.edu> + + * arm-tdep.c (arm_gdbarch_init): Add break after default label. + +2003-02-21 Daniel Jacobowitz <drow@mvista.com> + + Based on a patch from Daniel Berlin (dberlin@dberlin.org). + * symtab.h: Add opaque declarations of struct axs_value and + struct agent_expr. + (enum address_class): Add LOC_COMPUTED and LOC_COMPUTED_ARG. + (struct location_funcs): New type. + (struct symbol): Add "loc" to aux_value. + (SYMBOL_LOCATION_BATON, SYMBOL_LOCATION_FUNCS): New macros. + * dwarf2read.c: Include "dwarf2expr.h". + (dwarf2_symbol_mark_computed): New function. + (read_func_scope): Use it. + (var_decode_location): New function. + (new_symbol): Use it. + * dwarf2expr.c, dwarf2expr.h, dwarf2loc.c, dwarf2loc.h: New files. + + * Makefile.in (SFILES): Add dwarf2loc.c and dwarf2expr.c. + (dwarf2expr_h, dwarf2loc_h): New variables. + (COMMON_OBS): Add dwarf2expr.o and dwarf2loc.o. + (dwarf2expr.o, dwarf2loc.o): New rules. + (dwarf2read.o): Add $(dwarf2expr_h) and $(dwarf2loc_h). + * buildsym.c (finish_block): Handle LOC_COMPUTED and + LOC_COMPUTED_ARG. + * findvar.c (symbol_read_needs_frame, read_var_value): Likewise. + * m2-exp.y (yylex): Likewise. + * printcmd.c (address_info, print_frame_args): Likewise. + * stack.c (print_block_frame_locals, print_frame_arg_vars): Likewise. + * symmisc.c (print_symbol, print_partial_symbols): Likewise. + * ada-lang.c (ada_resolve_subexp, symtab_for_sym) + (ada_add_block_symbols, fill_in_ada_prototype): Likewise. + * symtab.c (lookup_block_symbol): Likewise. + +2003-02-20 Adam Fedor <fedor@gnu.org> + + * symtab.h: Remove objc_specific struct + (SYMBOL_OBJC_DEMANGLED_NAME): Remove. + * symtab.c (symbol_init_language_specific, symbol_demangled_name): + Have language_objc use cplus_specific struct. + +2003-02-20 Tom Tromey <tromey@redhat.com> + + * jv-valprint.c (java_value_print): Look at TYPE_TAG_NAME, not + TYPE_NAME, when printing a String value. PR java/1075. + +2003-02-20 Adam Fedor <fedor@gnu.org> + + * objc-lang.h (find_methods): Remove declaration. + * objc-lang.c (find_methods): Make static. + +2003-02-20 Christopher Faylor <cgf@redhat.com> + + * win32-nat.c (get_image_name): Check return value from + ReadProcessMemory. + (child_xfer_memory): Ditto. + +2003-02-20 Alexandre Oliva <aoliva@redhat.com> + + * configure.in (TARGET_SYSTEM_ROOT): Set default to + ${exec_prefix}/${target_alias}/sys-root. Match explicit + '${exec_prefix}' (in addition to the expansion thereof) as + relocatable. + * configure: Rebuilt. + +2003-02-20 David Carlton <carlton@math.stanford.edu> + + * symtab.c (search_symbols): Revert the search_symbols part of my + 2002-12-23 patch. Add comment. + +2002-02-20 Daniel Jacobowitz <drow@mvista.com> + + * coffread.c (coff_symfile_read): Clean up minimal symbols earlier. + * dbxread.c (elfstab_build_psymtabs): Don't call + install_minimal_symbols. + (stabsect_build_psymtabs): Likewise. + * elfread.c (elf_symfile_read): Call install_minimal_symbols + earlier. + * somread.c (som_symfile_read): Call install_minimal_symbols + and do_cleanups earlier. + * nlmread.c (nlm_symfile_read): Likewise. + * mdebugread.c (elfmdebug_build_psymtabs): Call + install_minimal_symbols and make appropriate cleanups. + +2003-02-20 Kevin Buettner <kevinb@redhat.com> + + * solib.c (reload_shared_libraries): New function. + (_initialize_solib): Add callbacks for ``set solib-search-path'' + and ``set solib-absolute-prefix''. + +2003-02-20 David Carlton <carlton@math.stanford.edu> + + * symtab.h (SYMBOL_PRINT_NAME): Rename from SYMBOL_SOURCE_NAME; + expand comment. + * ada-lang.c (user_select_syms, ada_finish_decode_line_1): Replace + SYMBOL_PRINT_NAME with SYMBOL_SOURCE_NAME. + * ada-typeprint.c (ada_typedef_print): Ditto. + * ax-gdb.c (gen_var_ref): Ditto. + * breakpoint.c (print_one_breakpoint): Ditto. + * buildsym.c (finish_block): Ditto. + * c-valprint.c (c_val_print): Ditto. + * expprint.c (print_subexp): Ditto. + * findvar.c (locate_var_value): Ditto. + * infcmd.c (jump_command): Ditto. + * linespec.c (decode_line_2, decode_compound): Ditto. + * maint.c (maintenance_translate_address): Ditto. + * objc-lang.c (compare_selectors, compare_classes): Ditto. + * printcmd.c (build_address_symbolic, sym_info, print_frame_args): + Ditto. + * p-valprint.c (pascal_val_print): Ditto. + * stabsread.c (define_symbol): Ditto. + * stack.c (print_frame, frame_info, print_block_frame_locals) + (print_frame_arg_vars, return_command): Ditto. + * symfile.c (compare_symbols, compare_psymbols): Ditto. + * symmisc.c (print_symbol): Ditto. + * symtab.c (lookup_partial_symbol, lookup_block_symbol) + (compare_search_syms, print_symbol_info, print_msymbol_info) + (rbreak_command): Ditto. + * tracepoint.c (tracepoints_info): Ditto. + * typeprint.c (typedef_print): Ditto. + * valops.c (value_of_variable, hand_function_call): Ditto. + * cli/cli-cmds.c (edit_command, list_command): Ditto. + * ada-typeprint.c: Update Copyright. + * infcmd.c, objc-lang.c, p-valprint.c, symmisc.c: Ditto. + * tracepoint.c, cli/cli-cmds.c: Ditto. + +2003-02-20 Kevin Buettner <kevinb@redhat.com> + + * frame.c (generic_unwind_get_saved_register): Make non-static. + * frame.h (generic_unwind_get_saved_register): Declare. + * mips-tdep.c (read_next_frame_reg): Fetch register from + current regcache when frame is NULL. + (mips_init_extra_frame_info): Pass NULL explicitly for parameter + that must be NULL. + (mips_get_saved_register): Call generic_unwind_get_saved_register() + instead of frame_register_unwind(). + +2003-02-20 Andrew Cagney <ac131313@redhat.com> + + * remote-sim.c (gdbsim_insert_breakpoint) + (gdbsim_remove_breakpoint): Delete #ifdef SIM_HAS_BREAKPOINTS + code. + +2003-02-20 Andrew Cagney <ac131313@redhat.com> + + * remote.c (_initialize_remote): Add commands "set/show remote + hardware-watchpoint-limit" and "set/show remote + hardware-breakpoint-limit". + (remote_hw_watchpoint_limit): Initialize to -1. + (remote_hw_breakpoint_limit): Ditto. + (remote_check_watch_resources): Treat a limit of -1 as unlimited. + +2003-02-19 Raoul Gough <RaoulGough@yahoo.co.uk> + + * coff-pe-read.c: New file - support reading of minimal symbols from a + portable executable using the export table. + * coff-pe-read.h: New file. + * coffread.c: Include coff-pe-read.h. + (coff_symtab_read): Call read_pe_exported_syms iff no recognized + debugging symbols found. + * Makefile.in (SFILES): Add coff-pe-read.o. + (coff_pe_read_h): Define. + (COMMON_OBS): Add coff-pe-read.o. + (coffread.o): Add coff_pe_read_h dependency. + (coff-pe-read.o): New target. + +2003-02-19 David Carlton <carlton@math.stanford.edu> + + * Makefile.in (SFILES): Add block.c. + (block_h): New. + (COMMON_OBS): Add block.o. + (block.o): New. + (x86-64-tdep.o): Add $(block_h). + (values.o, valops.o, tracepoint.o, symtab.o, symmisc.o, symfile.o) + (stack.o, printcmd.o, p-exp.tab.o, parse.o, objfiles.o) + (objc-exp.tab.o, objc-lang.o, nlmread.o, mips-tdep.o, mdebugread.o) + (m2-exp.tab.o, linespec.o, jv-lang.o, jv-exp.tab.o, infcmd.o) + (f-valprint.o, findvar.o, f-exp.tab.o, expprint.o, coffread.o) + (c-exp.tab.o, buildsym.o, breakpoint.o, blockframe.o, ax-gdb.o) + (alpha-tdep.o, ada-lang.o, ada-exp.tab.o, mi-cmd-stack.o): Ditto. + * value.h: Add opaque declaration for struct block. + * parser-defs.h, objc-lang.h, buildsym.h, breakpoint.h: Ditto. + * ada-lang.h: Ditto. + * x86-64-tdep.c: #include "block.h" + * values.c, valops.c, tracepoint.c, symtab.c, symmisc.c: Ditto. + * symfile.c, stack.c, printcmd.c, p-exp.y, parse.c: Ditto. + * objfiles.c, objc-exp.y, objc-lang.c, nlmread.c: Ditto. + * mips-tdep.c, mdebugread.c, m2-exp.y, linespec.c: Ditto. + * jv-lang.c, jv-exp.y, infcmd.c, f-valprint.c: Ditto. + * findvar.c, f-exp.y, expprint.c, coffread.c, c-exp.y: Ditto. + * buildsym.c, breakpoint.c, blockframe.c, ax-gdb.c: Ditto. + * alpha-tdep.c, ada-lang.c, ada-exp.y: Ditto. + * blockframe.c (blockvector_for_pc_sect): Move to "block.c". + (blockvector_for_pc, block_for_pc_sect, block_for_pc): Ditto. + * symtab.c (block_function): Ditto. + (contained_in): Ditto. + * frame.h: Move block_for_pc and block_for_pc_sect declarations to + block.h. Add opaque declaration for struct block. + * symtab.h: Move block_function and contained_in declarations to + block.h. Add opaque declarations for struct block, struct + blockvector. + (struct block): Move to block.h. + (struct blockvector): Ditto. + (BLOCK_START, BLOCK_END, BLOCK_FUNCTION, BLOCK_SUPERBLOCK) + (BLOCK_GCC_COMPILED, BLOCK_HASHTABLE, BLOCK_NSYMS, BLOCK_SYM) + (BLOCK_BUCKETS, BLOCK_BUCKET, BLOCK_HASHTABLE_SIZE) + (ALL_BLOCK_SYMBOLS, BLOCK_SHOULD_SORT, BLOCKVECTOR_NBLOCKS) + (BLOCKVECTOR_BLOCK, GLOBAL_BLOCK, STATIC_BLOCK, FIRST_LOCAL_BLOCK): + Ditto. + * block.c: New file. + * block.h: New file. + +2003-02-19 Theodore A. Roth <troth@openavr.org> + + * avr-tdep.c (avr_extract_return_value): Remove function. + (avr_store_return_value): Remove function. + (avr_extract_struct_value_address): Remove function. + (avr_gdbarch_init): Remove set_gdbarch_deprecated_*() calls. + +2003-02-19 Andrew Cagney <ac131313@redhat.com> + + * rs6000-tdep.c: Include "gdb_assert.h". + (registers_e500): Add "acc" and "spefscr". + (PPC_GPRS_PSEUDO_REGS): Remove trailing comma. + (rs6000_gdbarch_init): Update initialization of ppc_gp0_regnum, + ppc_gplast_regnum, sp_regnum and fp_regnum. Check that gp0_regnum + really is "r0". + (registers_e500): Mark the "acc" as a 64 bit (from Jim Willson). + +2003-02-18 Keith Seitz <keiths@redhat.com> + + * Makefile.in: Add gdbtk-interps.c. + +2003-02-18 Kevin Buettner <kevinb@redhat.com> + + * sparc-tdep.c (sparc_frame_chain): Adjust return value. + * config/sparc/tm-sparc.h (init_frame_pc_noop): Declare. + +2003-02-18 Andrew Cagney <cagney@redhat.com> + + * symtab.h (struct objfile): Add opaque declaration. + +2003-02-18 Elena Zannoni <ezannoni@redhat.com> + + From Jim Ingham <jingham@apple.com>: + * dbxread.c (process_one_symbol): Use last_function_start rather + than function_start_offset to find the real beginning of the + current function. The latter is just the text section offset on + some systems, the former is always the real function start. + +2003-02-17 Andrew Cagney <cagney@redhat.com> + + * configure.in: Revert ${target} != ${host}. + +2003-02-17 Andrew Cagney <ac131313@redhat.com> + + * configure.in (Makefile): Use the test ${target} != ${host}, + instead of the absence of the "nm.h" file, to determine of the + configuration non-native. + * configure: Regenerate. + +2003-02-14 Elena Zannoni <ezannoni@redhat.com> + + From Brian Ford <ford@vss.fsi.com> + + * cli/cli-decode.c (lookup_cmd_composition) [TUI]: Properly + conditionalize tui_active test. + (lookup_cmd_1): Ditto. + +2003-02-14 Mark Kettenis <kettenis@gnu.org> + + * configure.in: Add check for _etext. + * maint.c (maintenance_set_profile_cmd): Use etext if _etext isn't + available. + * config.in, configure: regenerated. + +2003-02-14 Daniel Jacobowitz <drow@mvista.com> + + * dwarf2read.c (dwarf2_get_pc_bounds): Offset addresses by base. + +2003-02-14 Andrew Cagney <ac131313@redhat.com> + + * main.c (tui_version): Delete variable. + (captured_main): When --tui, set interpreter_p to "tui" instead of + enabling tui_version. + * printcmd.c (display_command) [TUI]: Test tui_active instead of + tui_version. + * cli/cli-decode.c (lookup_cmd_composition): Ditto. + * cli/cli-cmds.c (disassemble_command): Ditto. + * defs.h (tui_version): Delete declaration. + * Makefile.in (SUBDIR_TUI_SRCS): Add "tui/tui-interp.c". + (tui-interp.o): Add rules. + (SUBDIR_TUI_OBS): Add "tui-interp.o". + +2003-02-14 Christopher Faylor <cgf@redhat.com> + + * win32-nat.c (register_loaded_dll): Correctly set address range for + just-loaded dll. + +2003-02-12 Jason Molenda (jmolenda@apple.com) + + * symmisc.c (print_objfile_statistics): Include information about + the number of psymtabs and symtabs in each object file. + +2003-02-13 Keith R Seitz <keiths@redhat.com> + + * main.h (struct captured_main_args): Add interpreter_p. + * main.c (captured_main): Initialize interpreter_p from context. + * gdb.c (main): Set interpreter_p argument. + * Makefile.in (gdb.o): Add dependency for interps.h. + +2003-02-12 Andrew Cagney <ac131313@redhat.com> + + * event-top.c (cli_command_loop): Delete declaration. + (_initialize_event_loop): Delete function setting event_loop_hook. + * event-top.h (cli_command_loop): Declare. Update copyright. + (EVENT_TOP_H): Define. Wrap header in #ifdef EVENT_TOP_H. + * interps.c (current_interp_command_loop): When event_loop_p, call + cli_command_loop. + +2003-02-12 Andrew Cagney <ac131313@redhat.com> + + * interps.h (interp_command_loop_ftype): Change return type to + void. + +2003-02-12 Michal Ludvig <mludvig@suse.cz> + + * x86-64-tdep.c (x86_64_extract_return_value) + (x86_64_store_return_value): Use regcache instead of regbuf. + (x86_64_gdbarch_init): Change related set_gdbarch_* functions. + * x86-64-linux-nat.c (fill_gregset): Use regcache. + +2003-02-11 Andrew Cagney <ac131313@redhat.com> + + * acinclude.m4 (no_tcl): SUBST TCL_CC_SEARCH_FLAGS. + * aclocal.m4: Regenerate. + * configure: Regenerate. + + * Makefile.in (TCL): Use TCL_CC_SEARCH_FLAGS instead of + TCL_LD_SEARCH_FLAGS. + +2003-02-10 Michal Ludvig <mludvig@suse.cz> + + * dwarf2cfi.c: Reindented. + +2003-02-09 Andrew Cagney <ac131313@redhat.com> + + * interps.c (clear_interpreter_hooks): Convert function definition + to ISO C. + +2003-02-07 David Carlton <carlton@math.stanford.edu> + + * gdb_mbuild.sh: Delete extra shift after parsing '-f'. + +2003-02-07 Kevin Buettner <kevinb@redhat.com> + + * gdbtypes.h (struct main_type): Move ``length'' field from here... + (struct type): ...to here. + (TYPE_LENGTH): Adjust to reflect different location of ``length'' + field. + * gdbtypes.c (make_qualified_type): Set length on newly created type. + (replace_type): Set length on all type variants for a given type. + +2003-02-07 Andrew Cagney <ac131313@redhat.com> + + * sol-thread.c, hpux-thread.c: Include "gdb_stat.h" instead of + <sys/stat.h>. + * Makefile.in (sol-thread.o, hpux-thread.o): Update dependencies. + +2003-02-06 Andrew Cagney <ac131313@redhat.com> + + * Makefile.in (symm-nat.o): Update dependencies. + (sparc-nat.o, procfs.o, proc-api.o, ppc-linux-nat.o): Ditto. + (lynx-nat.o, ia64-linux-nat.): Ditto. + * symm-nat.c, sparc-nat.c, procfs.c, proc-api.c: Include + "gdb_wait.h" instead of <wait.h> or <sys/wait.h>. + * ppc-linux-nat.c, lynx-nat.c, ia64-linux-nat.c: Ditto. + + * Makefile.in (inflow_h): Define. + (procfs.o, inflow.o, procfs.o): Update dependencies. + * inftarg.c (child_stop): Delete extern declaration of + inferior_process_group. Include "inflow.h". + * procfs.c (procfs_stop): Ditto. Include "inflow.h". + * inflow.c (PROCESS_GROUP_TYPE): Move definitions from here ... + * inflow.h (PROCESS_GROUP_TYPE): ... to here. New file. + (our_process_group, inferior_process_group): Extern declarations. + + * procfs.c: Include "gdb_assert.h". + + * linux-proc.c: Include "gdb_stat.h" instead of <sys/stat.h>. + * cp-valprint.c (cp_print_value_fields): Eliminate STREQN. + * jv-typeprint.c (java_type_print_base): Ditto. + * typeprint.c (typedef_print): Eliminate STREQ. + * cli/cli-script.c (define_command, define_command): Ditto. + * main.c (captured_main): Ditto. + * values.c (lookup_internalvar): Ditto. + * utils.c (safe_strerror, parse_escape): Eliminate assignment + within `if' conditional. + * linespec.c (decode_line_2): Ditto. + * cli/cli-dump.c (bfd_openr_with_cleanup): Ditto. + (bfd_openw_with_cleanup): Ditto. + +2003-02-07 Mark Kettenis <kettenis@gnu.org> + + * x86-64-tdep.c (x86_64_init_abi): Set extract_return_value to + legacy_extract_return_value and store_return_value to + legacy_return_value. + +2003-02-06 Raoul Gough <RaoulGough@yahoo.co.uk> + + * win32-nat.c (get_relocated_section_addrs): New function. Find + section load addresses for symbol handling in relocated DLLs. + (solib_symbols_add): Open a bfd and call get_relocated_section_addrs. + +2003-02-05 Fred Fish <fnf@intrinsity.com> + + * remote-e7000.c (e7000_drain_command): Fix precedence problem with + '=' and '!='. + * rdi-share/ardi.c (wait_for_debug_message): Fix precedence problem + with '&' and '=='. + (angel_RDI_info): Ditto. + * infttrace.c (threads_continue_all_but_one): Fix precedence problem + with '&' and '!='. + (threads_continue_all_with_signals): Ditto. + +2003-02-05 Jim Ingham <jingham@apple.com> + Keith Seitz <keiths@redhat.com> + Elena Zannoni <ezannoni@redhat.com> + Andrew Cagney <ac131313@redhat.com> + + * Makefile.in (SUBDIR_CLI_OBS): Add "cli-interp.o". + (SUBDIR_CLI_SRCS): Add "cli/cli-interp.c". + (SUBDIR_MI_OBS): Add "mi-interp.o". + (SUBDIR_MI_SRCS): Add "mi/mi-interp.c". + (SFILES): Add "interps.c". + (COMMON_OBS): Add "interps.o". + (interps_h, mi_main_h): Define. + (interps.o, cli-interp.o, mi-interp.o): Add dependencies. + (mi-main.o, main.o, event-top.o): Update dependencies. + * cli/cli-interp.c: New file. + * interps.h, interps.c: New files. + * top.c: (gdb_init): Don't install the default interpreter, handed + by captured_main. + * main.c: Include "interps.h". + (interpreter_p): Note that it should malloc'ed. + (captured_command_loop): Call current_interp_command_loop. + (captured_main): Initialize interpreter_p to INTERP_CONSOLE. Use + xfree and xstrdup when updating interpreter_p. Install the + default interpreter. Add hack to stop mi1's copyright notice + being encoded. + * event-top.h (gdb_setup_readline): Declare. + (gdb_disable_readline): Declare. + * event-top.c: Include "interps.h". + (display_gdb_prompt): Call current_interp_display_prompt_p. + (gdb_setup_readline): Initialize gdb_stdout, gdb_stderr, + gdb_stdlog, and gdb_stdtarg. + (_initialize_event_loop): Don't call gdb_setup_readline. + * cli-out.c (cli_out_set_stream): New function. + * cli-out.h (cli_out_set_stream): Declare. + +2003-02-06 Mark Kettenis <kettenis@gnu.org> + + * configure.tgt (i[3456]86-*-sysv4.2*, i[3456]86-*-sysv4*, + i[3456]86-*-sysv5*, i[3456]86-*-sco3.2v5*): Remove. These are all + handled fine by i[3456]86-*sco* and i[3456]86-sysv*. + * config/i386/i386sco5.mt, config/i386/i386v4.mt, + config/i386/i386v42mp.mt: Removed. + +2003-02-05 Mark Kettenis <kettenis@gnu.org> + + * configure.tgt (*-*-solaris*): Set gdb_osabi to + GDB_OSABI_SOLARIS. + +2003-02-05 Michael Chastain <mec@shout.net> + + * PROBLEMS (i[3456]86-*-linux*): Warn about binutils + 2.12.1 and earlier versions. + +2003-02-05 Andrew Cagney <ac131313@redhat.com> + + Remove orphaned hosts, targets and files. + * config/i386/gdbserve.mt, config/m68k/nm-apollo68b.h: Delete. + * config/m68k/nm-hp300bsd.h, config/m68k/tm-apollo68b.h: Delete. + * config/m68k/tm-es1800.h, config/m68k/tm-hp300bsd.h: Delete. + * config/m68k/tm-mac.h, config/m68k/xm-apollo68b.h: Delete. + * config/pa/hpux1020.mt, config/pa/hpux11.mt: Delete. + * config/pa/hpux11w.mt, config/powerpc/gdbserve.mt: Delete. + * config/powerpc/ppcle-eabi.mt, config/powerpc/ppcle-sim.mt: Delete. + * config/powerpc/tm-ppc-sim.h, config/sparc/sp64sim.mt: Delete. + * config/sparc/tm-sp64sim.h: Delete. + * configure.host: Delete strongarm-*-*, xscale-*-*, and arm*-*-* + hosts. + * configure.tgt: Delete i[3456]86-*-sco3.2v4*, and + mips*-dec-mach3* targets. + +2003-02-04 Michael Chastain <mec@shout.net> + + * NEWS: Fix typo: sepcifying -> specifying. + +2003-02-04 Michael Chastain <mec@shout.net> + + * dwarfread.c: Add documentation on the state of dwarf-1, + looking towards obsoletion. + +2003-02-03 Michael Chastain <mec@shout.net> + + * config/djgpp/fnchange.lst: Add gdb/testsuite/gdb.c++/pr-1023.cc, + gdb/testsuite/gdb.c++/pr-1023.exp. + +2003-02-04 Andrew Cagney <ac131313@redhat.com> + + * values.c: Delete code conditional on IS_TRAPPED_INTERNALVAR. + * TODO: Delete reference to IS_TRAPPED_INTERNALVAR. + + * utils.c (init_page_info): Delete reference to MPW in comments. + * main.c (captured_main): Delete #ifdef MPW. + +2003-02-04 Andrew Cagney <ac131313@redhat.com> + + * NEWS: Note that the m32r-*-elf* is obsolete. + * monitor.c (monitor_expect): Obsolete reference to m32r. + * configure.tgt: Mark m32r-*-elf* as obsolete. + * MAINTAINERS: Mark m32k as obsolete. + * m32r-rom.c: Obsolete file. + * config/m32r/m32r.mt: Obsolete file. + * config/m32r/tm-m32r.h: Obsolete file. + * m32r-stub.c: Obsolete file. + * m32r-tdep.c: Obsolete file. + +2003-02-04 Andrew Cagney <ac131313@redhat.com> + + * NEWS: Mention that the z8k-zilog-none is obsolete. + * MAINTAINERS: Mark z8k as obsolete. + * configure.tgt: Obsolete the z8k-*-coff* target. + * config/z8k/z8k.mt: Obsolete file. + * config/z8k/tm-z8k.h: Obsolete file. + * z8k-tdep.c: Obsolete file. + +2003-02-04 Andrew Cagney <ac131313@redhat.com> + + * NEWS: Mention that the mn10200-elf is obsolete. + * configure.tgt: Obsolete mn10200-*-* target. + * breakpoint.c (update_breakpoints_after_exec): Update comment to + mention that the mn10200 is obsolete. + * breakpoint.h: Ditto. + * MAINTAINERS: Mark the mn10200-elf as obsolete. + * config/mn10200/mn10200.mt: Obsolete file. + * config/mn10200/tm-mn10200.h: Obsolete file. + * mn10200-tdep.c: Obsolete file. + +2003-02-04 Andrew Cagney <ac131313@redhat.com> + + * MAINTAINERS: Mark h8500 as obsolete. + * configure.tgt (h8500-*-*): Mark h8500 code as obsolete. + * findvar.c (value_from_register): Ditto. + * h8500-tdep.c: Mark file as obsolete. + * config/h8500/h8500.mt: Ditto. + * config/h8500/tm-h8500.h: Ditto. + * NEWS: Mention that h8500 is obsolete. + +2003-02-04 David Carlton <carlton@math.stanford.edu> + + * objfiles.c (allocate_objfile): Always set name. Add comment at + start of function. + * jv-lang.c (get_dynamics_objfile): Add comment. + +2003-02-04 David Carlton <carlton@math.stanford.edu> + + * symtab.h (SYMBOL_LINKAGE_NAME): Delete. + * printcmd.c (build_address_symbolic): Replace uses of + SYMBOL_LINKAGE_NAME by equivalent uses of SYMBOL_SOURCE_NAME, + SYMBOL_NAME, and asm_demangle. + Update copyright. + +2003-02-04 David Carlton <carlton@math.stanford.edu> + + * linespec.c (decode_compound): Extract code into + lookup_prefix_sym. + (lookup_prefix_sym): New function. + +2003-02-04 David Carlton <carlton@math.stanford.edu> + + * gdbtypes.h: Delete INTEGER_COERCION_BADNESS, + FLOAT_COERCION_BADNESS. + * gdbtypes.c (rank_one_type): Replace all uses of + INTEGER_COERCION_BADNESS by INTEGER_CONVERSION_BADNESS. + +2003-02-04 Jim Blandy <jimb@redhat.com> + + * dwarf2read.c (dwarf2_locate_sections): When we find a macro info + section, let dwarf_macinfo_section point to it, not + dwarf_loc_section. + +2003-02-04 Daniel Jacobowitz <drow@mvista.com> + + Pointed out by Anton Blanchard <anton@samba.org>. + * ppc-linux-tdep.c (insn_is_sigreturn): New function. + (ppc_linux_at_sigtramp_return_path): Use it. + +2003-02-04 Daniel Jacobowitz <drow@mvista.com> + + * defs.h (streq): Add prototype. + * utils.c (streq): New function. + + * dwarf2read.c (new_symbol): Use SYMBOL_SET_NAMES instead of + SYMBOL_NAME and SYMBOL_INIT_DEMANGLED_NAME. + * mdebugread.c (new_symbol): Likewise. + * stabsread.c (define_symbol): Likewise. + * coffread.c (process_coff_symbol): Likewise. + * dwarfread.c (new_symbol): Likewise. + + * minsyms.c (prim_record_minimal_symbol_and_info): Use + SYMBOL_SET_NAMES instead of setting SYMBOL_NAME. Set the language + here. + (install_minimal_symbols): Don't set SYMBOL_LANGUAGE or call + SYMBOL_INIT_DEMANGLED_NAME. + * objfiles.c: Include "hashtab.h". + (allocate_objfile): Call htab_set_functions_ex for the + demangled_names_hash. + (free_objfile): Call htab_delete for the demangled_names_hash. + * objfiles.h (struct htab): Add declaration. + (struct objfile): Add demangled_names_hash. + * symfile.c: Include "hashtab.h". + (reread_symbols): Call htab_delete for the demangled_names_hash. + (add_psymbol_to_list): Use SYMBOL_SET_NAMES instead of putting + SYMBOL_NAME in the bcache. + * symtab.c: Include "hashtab.h". Update comments. + (create_demangled_names_hash, symbol_set_names): New functions. + (symbol_find_demangled_name): New function, broken out from + symbol_init_demangled_names. + (symbol_init_demangled_names): Use it. + * symtab.h (SYMBOL_INIT_DEMANGLED_NAME): Add missing parentheses. + (SYMBOL_SET_NAMES): New macro. + (symbol_set_names): Add prototype. + +2003-02-03 Jim Blandy <jimb@redhat.com> + + Use a single, consistent representation for an empty minimal + symbol table in an objfile. + * objfiles.c (terminate_minimal_symbol_table): New function. + (allocate_objfile): Call it. + * objfiles.h (terminate_minimal_symbol_table): New declaration. + (ALL_MSYMBOLS): No need to test whether (objfile)->msymbols is + non-NULL. + * minsyms.c (lookup_minimal_symbol_by_pc_section): To see whether + objfile has minimal symbols, compare minimal_symbol_count to zero, + instead of comparing msymbols with NULL. + * objfiles.c (have_minimal_symbols): Same. + * solib-sunos.c (solib_add_common_symbols): Call + terminate_minimal_symbol_table. + * symfile.c (reread_symbols): Same. + +2003-02-03 Kevin Buettner <kevinb@redhat.com> + + * s390-tdep.c (s390_address_class_type_flags) + (s390_address_class_type_flags_to_name) + (s390_address_class_name_to_type_flags): New functions. + (s390_gdbarch_init): Define ADDRESS_CLASS_TYPE_FLAGS_TO_NAME, + ADDRESS_CLASS_NAME_TO_TYPE_FLAGS, and ADDRESS_CLASS_TYPE_FLAGS. + +2003-02-03 Michael Snyder <msnyder@redhat.com> + + * arm-tdep.c: Fix spell-o in comment. + +2003-02-03 Michal Ludvig <mludvig@suse.cz> + + * dwarf2cfi.c (pointer_encoding): Added new parameter. + * dwarf2cfi.c, dwarf2read.c: Changed all warnings and + error messages to contain BFD filename. + +2003-02-02 Elena Zannoni <ezannoni@redhat.com> + + Fix PR gdb/742 gdb/743 gdb/877 + * disasm.c (dump_insns): Use make_cleanup_ui_out_tuple_begin_end. + (do_mixed_source_and_assembly): Use + make_cleanup_ui_out_tuple_begin_end and + make_cleanup_ui_out_tuple_begin_end. + (do_mixed_source_and_assembly): Ditto. + * thread.c (do_captured_list_thread_ids): Ditto. + * ui-out.h (ui_out_table_begin, ui_out_list_begin, + ui_out_tuple_begin, ui_out_table_end, ui_out_list_end, + ui_out_tuple_end): Delete prototypes. + * ui-out.c (ui_out_list_begin, ui_out_tuple_begin, + ui_out_list_end, ui_out_tuple_end): Delete. + + From Kevin Buettner <kevinb@redhat.com>: + * ui-out.h (make_cleanup_ui_out_table_begin_end): New function. + * ui-out.c (make_cleanup_ui_out_table_begin_end) + (do_cleanup_table_end): New functions. + * breakpoint.c (print_it_typical, print_one_breakpoint, mention): + Use cleanups to invoke_ui_out_tuple_end(). + (breakpoint_1): Use cleanup to invoke ui_out_table_end(). + * cli/cli-setshow.c (cmd_show_list): Use + make_cleanup_ui_out_tuple_begin_end. + +2003-02-02 Andrew Cagney <ac131313@redhat.com> + + * frame.c (frame_unwind_register): New function. + (frame_unwind_unsigned_register): Use. + (frame_unwind_signed_register): Use. + (frame_read_register): New function. + * frame.h (frame_unwind_register): Declare. + (frame_read_register): Declare. + + * d10v-tdep.c (d10v_frame_pop): Rewrite. Use regcache_cooked_write + and frame_unwind_register instead of read_memory, write_register + and deprecated_write_register_bytes. + +2003-02-02 Andrew Cagney <ac131313@redhat.com> + + * frame.h: Note that namelen can be negative. + * frame.c (frame_map_name_to_regnum): When LEN is negative, use + NAME's length. + + * NEWS: Mention that the d10v's `regs' command is deprecated. + * d10v-tdep.c (d10v_gdbarch_init): Set print_registers_info. + (d10v_print_registers_info): New function. + (show_regs): Call d10v_print_registers_info. + (_initialize_d10v_tdep): Mark "show regs" command as deprecated. + +2003-02-02 Mark Kettenis <kettenis@gnu.org> + + * stack.c (print_frame_info): Restore call to annotate_frame_begin + lost in the previous patch. + +2003-02-01 Andrew Cagney <ac131313@redhat.com> + + From 2002-11-09 Jason Molenda (jason-cl@molenda.com) + * stack.c (print_frame_info_base): Output complete FRAME tuple + for synthesized frames. + +2003-02-02 Andrew Cagney <ac131313@redhat.com> + + * mips-nat.c (zerobuf): Delete. + (fetch_inferior_registers): Alloc local zerobuf. + (fetch_core_registers): Alloc local zerobuf. + * d10v-tdep.c (show_regs): Don't allocate a dynamic array using + MAX_REGISTER_RAW_SIZE or MAX_REGISTER_VIRTUAL_SIZE. + * thread-db.c (thread_db_store_registers): Ditto. + * sh-tdep.c (sh_do_register): Ditto. + * rom68k-rom.c (rom68k_supply_one_register): Ditto. + * remote-sim.c (gdbsim_store_register): Ditto. + * remote-mips.c (mips_wait, mips_fetch_registers): Ditto. + * remote-e7000.c (fetch_regs_from_dump): Ditto. + * monitor.c (monitor_supply_register): Ditto. + * mipsv4-nat.c (supply_gregset, supply_fpregset): Ditto. + * mips-nat.c (fetch_inferior_registers): Ditto. + * m68klinux-nat.c (fetch_register): Ditto. + * lynx-nat.c (fetch_inferior_registers): Ditto. + (fetch_inferior_registers): Ditto. + * irix4-nat.c (supply_gregset, supply_fpregset): Ditto. + * hpux-thread.c (hpux_thread_fetch_registers): Ditto. + (hpux_thread_store_registers): Ditto. + * hppah-nat.c (fetch_register): Ditto. + * hppab-nat.c (fetch_register): Ditto. + * hppa-tdep.c (pa_register_look_aside): Ditto. + (pa_print_fp_reg, pa_strcat_fp_reg): Ditto. + * dve3900-rom.c (fetch_bitmapped_register): Ditto. + +2003-02-01 Andrew Cagney <ac131313@redhat.com> + + * gdbarch.sh: Explictly specify all method levels. When a + variable with an empty level, provide a non-multi-arch default. + (BELIEVE_PCC_PROMOTION_TYPE): Set level to empty. + * gdbarch.h: Re-generate. + * stabsread.c (BELIEVE_PCC_PROMOTION_TYPE): Delete. Always defined. + * config/m68k/tm-sun3.h (BELIEVE_PCC_PROMOTION_TYPE): Define as 1 + +2003-02-01 Andrew Cagney <ac131313@redhat.com> + + * defs.h (host_pointer_to_address): Delete declaration. + (address_to_host_pointer): Delete declaration. + * utils.c (host_pointer_to_address): Delete function. + (address_to_host_pointer): Delete function. + * procfs.c (procfs_address_to_host_pointer): New function. + * procfs.c (proc_set_watchpoint): Use. + (procfs_can_use_hw_breakpoint): Update comments. + * somsolib.c (hpux_address_to_host_pointer_hack): New function. + (som_solib_add): Use. + * hppa-tdep.c (hppa_pointer_to_address_hack): New function. + * hppa-tdep.c (unwind_command): Use. + +2003-02-01 Andrew Cagney <ac131313@redhat.com> + + * gdb_dirent.h: Mark up valid uses of <dirent.h>, d_namelen and + strlen d_name. + + * main.c (captured_main): Delete #ifdef ADDITIONAL_OPTIONS, + ADDITIONAL_OPTION_CASES, and ADDITIONAL_OPTION_HANDLER code. + (print_gdb_help): Delete #ifdef ADDITIONAL_OPTION_HELP code. + * stabsread.c (DBX_PARM_SYMBOL_CLASS): Delete macro. + (define_symbol): Update. + * symfile.c (generic_load): Remove references to nindy. + * symtab.c: Remove references to nindy. + +2003-02-01 Andrew Cagney <ac131313@redhat.com> + + * infcmd.c (print_float_info): Delete code conditional on + FLOAT_INFO. + * config/nm-lynx.h: Delete #undef FLOAT_INFO. Update copyright. + * config/m68k/nm-apollo68b.h: Ditto. + * config/i386/tm-ptx.h (FLOAT_INFO): Delete. Update copyright. + * config/ns32k/nm-nbsd.h (FLOAT_INFO): Ditto. + * config/i386/tm-symmetry.h (FLOAT_INFO): Ditto. + +2003-02-01 Mark Kettenis <kettenis@gnu.org> + + * config/i386/tm-i386os9k.h: Removed. + + * configure.host (i[3456]86-*-isc*): Set gdb_host to i386v. + Remove i[3456]86-*-sysv3.2* and i[3456]86-*-sysv32* entries since + they're identical to i[3456]86-*-sysv* now. + * config/i386/i386v32.mh: Removed. + * config/i386/xm-i386v32.h: Removed. + * config/i386/xm-i386sco.h (U_FPSTATE): Remove macro. + + * config/i386/i386mk.mt, config/i386/i386mk.mh: Removed. + + * config/i386/i386dgux.mh: Removed. + * configure.host (i[3456]86-*-dgux): Set gdb_host to i386v4. + + * configure.in: Fix typo. + * configure: Regenerated. + +2003-01-31 David Carlton <carlton@math.stanford.edu> + + * dwarf2read.c (dwarf2_locate_sections): Set + dwarf_ranges_section. + +2003-01-31 Andrew Cagney <ac131313@redhat.com> + + * objc-exp.y, c-exp.y, f-exp.y: Remove PTR casts. + * utils.c: Update comments documenting legitimate uses of PTR. + + * utils.c: Re-indent. + + * config/djgpp/fnchange.lst: Delete nindy files. + * nindy-share/ttyflush.c, nindy-share/stop.h: Delete files. + * nindy-share/nindy.c, nindy-share/env.h: Delete files. + * nindy-share/coff.h, nindy-share/block_io.h: Delete files. + * nindy-share/b.out.h, nindy-share/VERSION: Delete files. + * nindy-share/README, nindy-share/Onindy.c: Delete files. + * nindy-tdep.c, nindy-share/Makefile: Delete files. + * Makefile.in (init.c): Remove nindy references. + (saber_gdb): Delete rule. + (ALLDEPFILES): Delete hp300ux-nat.c, nindy-tdep.c, + nindy-share/Onindy.c, nindy-share/nindy.c, nindy-share/ttyflush.c, + and a68v-nat.c. + (hp300ux-nat.o, a68v-nat.o, ptx4-nat.o): Delete rules. + (Onindy.o, nindy.o, ttyflush.o, nindy-tdep.o): Delete rules. + (HFILES_NO_SRCDIR): Delete nindy-share/b.out.h, + nindy-share/block_io.h, nindy-share/coff.h, nindy-share/env.h, and + nindy-share/stop.h. + * hp300ux-nat.c, a68v-nat.c, ptx4-nat.c: Delete files. + * saber.suppress: Delete file. + +2003-01-31 Daniel Jacobowitz <drow@mvista.com> + + * dbxread.c (stabs_data): New static variable. + (fill_symbuf): Support an in-memory buffer for stabs data. + (stabs_seek): New function. + (dbx_psymtab_to_symtab): Relocate the stabs data if necessary. + (read_ofile_symtab): Use stabs_seek. + (elfstab_build_psymtabs): Take an asection* instead of + an offset and size. Relocate the stabs data if necessary. + Save the section* for dbx_psymtab_to_symtab. + * dwarf2read.c: Add section variables for each debug section. + (dwarf2_locate_sections): Fill them in. + (dwarf2_read_section): Take an asection* argument. + Relocate the section contents if necessary. + (dwarf2_build_psymtabs, dwarf2_build_psymtabs_easy): Update callers. + * dwarf2cfi.c (parse_frame_info): Take a section argument and pass + it to dwarf2_read_section. + (dwarf2_build_frame_info): Update callers. + * elfread.c (elf_symfile_read): Update call to + elfstab_build_psymtabs. + * gdb-stabs.h (struct dbx_symfile_info): Add stab_section. + (DBX_STAB_SECTION): New macro. + * stabsread.h (elfstab_build_psymtabs): Update prototype. + * symfile.c (symfile_dummy_outputs): New function. + (symfile_relocate_debug_section): New function. + * symfile.h (symfile_relocate_debug_section): Add prototype. + +2003-01-31 Richard Henderson <rth@redhat.com> + + * alpha-nat.c (REGISTER_PTRACE_ADDR): Merge into ... + (register_addr): ... here. Support ALPHA_UNIQUE_REGNUM. + (fetch_elf_core_registers): Support ALPHA_UNIQUE_REGNUM. + * alpha-tdep.c (alpha_register_name): Add "unique". + * alpha-tdep.h (ALPHA_NUM_REGS): Increment. + (ALPHA_UNIQUE_REGNUM): New. + * config/alpha/nm-linux.h (ALPHA_UNIQUE_PTRACE_ADDR): New. + +2003-01-31 Andrew Cagney <ac131313@redhat.com> + + * README: Remove reference to Ericsson 1800 monitor. + * Makefile.in (remote-es.o): Delete rule. + (ALLDEPFILES): Delete remote-es.c. + * remote-es.c: Delete file. + * config/m68k/es1800.mt: Delete file. + * config/djgpp/fnchange.lst: Update. + * configure.tgt: Delete m68*-ericsson-* target. + +2003-01-31 Adam Fedor <fedor@gnu.org> + + * infrun.c (handle_inferior_event): Rename 'tmp' to real_stop_pc. + Remove duplicate/shadowing variable of same name. + +2003-01-30 Jim Blandy <jimb@redhat.com> + + * symfile.c (find_separate_debug_file): Assert that the objfile's + directory name we compute ends with a slash, and then assume that + that's so everywhere we use it. + +2003-01-30 Daniel Jacobowitz <drow@mvista.com> + + * valops.c (value_assign): Flush frame cache after stores to memory + also. + +2003-01-30 Andrew Cagney <ac131313@redhat.com> + + * Makefile.in (mon960-rom.o): Delete rule. + * mon960-rom.c: Delete file. + +2003-01-30 Andrew Cagney <ac131313@redhat.com> + + * d10v-tdep.c: Include "frame-unwind.h". + (d10v_gdbarch_init): Append d10v_frame_p to the unwind predicate + list. + (next_addr, uses_frame): Delete. + (struct d10v_unwind_cache): Define. + (prologue_find_regs): Add struct d10v_unwind_cache info parameter. + Use info instead of next_addr and uses_frame globals. + (d10v_frame_init_saved_regs): Delete function. + (d10v_init_extra_frame_info): Delete function. + (d10v_gdbarch_init): Do not initialize init_extra_frame_info, + frame_init_saved_regs or pop_frame, frame_chain, frame_chain_valid, + init_frame_pc or frame_saved_pc. + (d10v_pop_frame): Delete function. + (do_d10v_pop_frame): Delete function. + (d10v_frame_chain): Delete function. + (d10v_frame_chain_valid): Delete function. + (d10v_frame_pc_unwind): New function. + (d10v_frame_id_unwind): New function. + (saved_regs_unwinder): New function. + (d10v_frame_register_unwind): New function. + (d10v_frame_pop): New function. + (d10v_frame_unwind): New variable. + (d10v_frame_p): New function. + (d10v_frame_saved_pc): Delete function. + * Makefile.in (d10v-tdep.o): Update dependencies. + +2003-01-30 J. Brobecker <brobecker@gnat.com> + + * config/pa/tm-hppa64.h (CALL_DUMMY_LOCATION): Remove #undef + causing some regressions due to a change in the default value + for this macro. + +2003-01-29 Richard Henderson <rth@redhat.com> + Elena Zannoni <ezannoni@redhat.com> + Daniel Jacobowitz <drow@mvista.com> + + Fix PR gdb/961. + * dwarf2read.c (dwarf_ranges_offset, dwarf_ranges_size): New + variables. + (RANGES_SECTION): New. + (dwarf_ranges_buffer): New variable. + (struct comp_unit_head): Add member "die". + (struct dwarf2_pinfo): Add dwarf_ranges_buffer, dwarf_ranges_size. + (DWARF_RANGES_BUFFER, DWARF_RANGES_SIZE): New. + (dwarf2_has_info): Init dwarf_ranges_offset and dwarf_ranges_size. + (dwarf2_locate_sections): Likewise. + (dwarf2_build_psymtabs): Read .debug_ranges. + (dwarf2_build_psymtabs_hard): Swap dwarf_ranges out. + (psymtab_to_symtab_1): Swap dwarf_ranges in. Set cu_header.die. + (dwarf2_get_pc_bounds): New cu_header argument; adjust all callers. + Look for DW_AT_ranges and return the bounding box. + +2003-01-29 Brian Ford <ford@vss.fsi.com> + + * win32-nat.c (cygwin_pid): Removed as unused. + (child_attach): Try fall back to Cygwin pid. + +2003-01-29 Jim Blandy <jimb@redhat.com> + + * objfiles.h (struct objfile): Doc fix. + +2003-01-29 Andrew Cagney <ac131313@redhat.com> + + * frame.c (frame_saved_regs_id_unwind): Assert FRAME_CHAIN_P. + (legacy_get_prev_frame): Assert FRAME_CHAIN_P. + (get_prev_frame): When FRAME_CHAIN_P, call legacy_get_prev_frame. + (frame_saved_regs_pc_unwind): Assert FRAME_SAVED_PC_P. + * gdbarch.sh (FRAME_CHAIN): Change to a function with predicate. + (FRAME_SAVED_PC): Change to a function with predicate. + * gdbarch.h, gdbarch.c: Re-generate. + +2003-01-28 Andrew Cagney <ac131313@redhat.com> + + * hppah-nat.c (child_pid_to_exec_file): Don't use boolean. + + * complaints.c (complain): Delete function. + * complaints.h (struct deprecated_complaint): Delete definition. + (complain): Delete declaration. + +2003-01-28 Kevin Buettner <kevinb@redhat.com> + + * mips-tdep.c (mips_init_extra_frame_info): Return early for + dummy frames. + +2003-01-27 Andrew Cagney <ac131313@redhat.com> + + * sentinel-frame.h, sentinel-frame.c: New files. + * Makefile.in (frame.o): Update dependencies. + (SFILES): Add sentinel-frame.c. + (sentinel_frame_h): Define. + (COMMON_OBS): Add sentinel-frame.o. + (sentinel-frame.o): Specify dependencies. + * frame.c: Include "sentinel-frame.h". + (frame_register_unwind): Rewrite assuming that there is always a a + ->next frame. + (frame_register, generic_unwind_get_saved_register): Ditto. + (frame_read_unsigned_register, frame_read_signed_register): Ditto. + (create_sentinel_frame, unwind_to_current_frame): New functions. + (get_current_frame): Rewrite using create_sentinel_frame and + unwind_to_current_frame. When possible, always create a frame. + (create_new_frame): Set next to the sentinel frame. + (get_next_frame): Rewrite. Don't go below the level 0 frame. + (deprecated_update_frame_pc_hack): Update the next frame's PC and + ID cache when necessary. + (frame_saved_regs_id_unwind): Use frame_relative_level. + (deprecated_generic_get_saved_register): Use frame_relative_level, + get_frame_saved_regs, get_frame_pc, get_frame_base and + get_next_frame. + (frame_saved_regs_register_unwind): Use get_frame_saved_regs and + frame_register. + +2003-01-27 Daniel Jacobowitz <drow@mvista.com> + + * gdb_indent.sh: Add -T bfd and -T asection to the indent arguments. + +2003-01-27 Daniel Jacobowitz <drow@mvista.com> + + * maint.c [! (HAVE_MONSTARTUP && HAVE__MCLEANUP)] + (maintenance_set_profile_cmd): Use error () instead of warning (). + +2003-01-27 Daniel Jacobowitz <drow@mvista.com> + + * configure.in: Check that -pg works if using --enable-profiling. + Check for monstartup and _mcleanup regardless of --enable-profiling. + * maint.c: Check for monstartup and _mcleanup before using them. + * config.in: Regenerated. + * configure: Regenerated. + +2003-01-24 Nick Clifton <nickc@redhat.com> + + * Add sh2e support: + + 2002-04-02 Elena Zannoni <ezannoni@redhat.com> + + * gdb/sh-tdep.c (sh_sh2e_register_name): New. + (sh2e_show_regs): New. + (sh_gdbarch_init): Handle bfd_mach_sh2e. + * config/sh/tm-sh.h: Added sh2e to comments. + +2003-01-23 Jim Blandy <jimb@redhat.com> + + * symfile.c (syms_from_objfile): Don't print the "(no debugging + symbols found)" message here; we haven't checked for a separate + debug info file yet, so we don't know yet. + (symbol_file_add_with_addrs_or_offsets): Print it here, after + we've looked everywhere. Also, there's no need to print a special + message when we're loading the separate debug info file: the one + symbol_file_add prints is fine. + +2003-01-23 Alexander Larsson <alexl@redhat.com> + Jim Blandy <jimb@redhat.com> + + Add support for executables whose debug info has been separated + out into a separate file, leaving only a link behind. + * objfiles.h (struct objfile): New fields: separate_debug_objfile + and separate_debug_objfile_backlink. + (put_objfile_before): New declaration. + * symfile.c: #include "filenames.h". + (symbol_file_add_with_addrs_or_offsets): If this objfile has its + debug info in a separate file, read that, too. Save the addrs + argument, so we can use it again to read the separated debug info; + syms_from_objfile modifies the table we pass it. + (reread_symbols): After re-reading an objfile, call + reread_separate_symbols to refresh its separate debug info + objfile, if it has one. + (reread_separate_symbols, find_separate_debug_file, + get_debug_link_info, separate_debug_file_exists): New functions. + (debug_file_directory): New global var. + (_initialize_symfile): Initialize debug_file_directory, and + provide the new `set debug-file-directory' command to let the user + change it. + * objfiles.c (free_objfile): If this objfile has its debug info in + a separate objfile, free that one too. If this is itself a + separate debug info objfile, clear our parent's backlink. + (put_objfile_before): New function. + * utils.c (gnu_debuglink_crc32): New function. + * defs.h (gnu_debuglink_crc32): New declaration. + * Makefile.in (symfile.o): Note dependency on "filenames.h". + * configure.in: Handle --with-separate-debug-dir config option. + * acinclude.m4 (AC_DEFINE_DIR): New macro. + * acconfig.h (DEBUGDIR): New macro. + * configure, aclocal.m4, config.in: Regenerated. + +2003-01-22 Jim Blandy <jimb@redhat.com> + + * symfile.c (symbol_file_add_with_addrs_or_offsets): New function, + like the old symbol_file_add, but taking new arguments: you can + now pass in either a `struct section_addr_info' list to say where + each section is loaded, or a `struct section_offsets' table. Pass + these new arguments through to syms_from_objfile as appropriate. + (symbol_file_add): Just call symbol_file_add_with_addrs_or_offsets, + with the appropriate quiescent values for the new arguments. + + * symfile.c: #include "gdb_assert.h". + (syms_from_objfile): Add the ability to pass in a section offset + table directly, as an alternative to the section_addr_info table. + Document arguments better. + (symbol_file_add): Pass extra arguments to syms_from_objfile. + * symfile.h (syms_from_objfile): Update declaration. + * rs6000-nat.c (objfile_symbol_add): Pass new arguments to + syms_from_objfile. + * Makefile.in (symfile.o): List dependency on $(gdb_assert_h). + +2003-01-22 Daniel Jacobowitz <drow@mvista.com> + + Original patch by Tom Tromey <tromey@cygnus.com> and + Jason Molenda <jmolenda@apple.com>. + * Makefile.in (PROFILE_CFLAGS): Substitute from configure. + (INTERNAL_LDFLAGS): Don't include PROFILE_CFLAGS. + * NEWS: Mention profiling. + * configure.in (--enable-gdbtk): Fix typo. + (--enable-profiling): New. Set PROFILE_CFLAGS. + * maint.c (maintenance_set_profile_cmd): Remove NOTYET. + Fill in function. + (profiling_state): New variable. + (mcleanup_wrapper): New function. + (_initialize_maint): Remove NOTYET, fix call to + add_setshow_boolean_cmd for "maint set profile". + * configure: Regenerated. + +2003-01-21 Martin M. Hunt <hunt@redhat.com> + + * Makefile.in (install-gdbtk): Install PNG images too. + +2003-01-21 Andrew Cagney <ac131313@redhat.com> + + * exec.c (text_start): Delete global variable. + (exec_file_attach): Make text_start local to the function. + * inferior.h (BEFORE_TEXT_END, AFTER_TEXT_END): Delete macros. + * valops.c (hand_function_call): Delete code that handles + BEFORE_TEXT_END and AFTER_TEXT_END. + * gdbarch.sh (CALL_DUMMY_LENGTH): Test call_dummy_length instead + of CALL_DUMMY_LOCATION. + * gdbarch.c: Regenerate. + * inferior.h (deprecated_pc_in_call_dummy_before_text_end) + (deprecated_pc_in_call_dummy_after_text_end): Delete declaration. + * blockframe.c (deprecated_pc_in_call_dummy_before_text_end) + (deprecated_pc_in_call_dummy_after_text_end): Delete functions. + (text_end): Delete extern declaration. + +2003-01-21 Andrew Cagney <ac131313@redhat.com> + + * frame.h (FRAME_OBSTACK_ZALLOC): Define. + * blockframe.c (backtrace_below_main): Move to "frame.c". + (frame_chain_valid): Delete check for backtrace_below_main. + (_initialize_blockframe): Delete initialization, move ``set + backtrace-below-main'' command to "frame.c". + (do_flush_frames_sfunc): Delete function. + * frame.c: Include "command.h" and "gdbcmd.h". + (frame_type_from_pc): New function. + (create_new_frame): Use frame_type_from_pc. + (legacy_get_prev_frame): New function. + (get_prev_frame): Rewrite. When an old style frame, call + legacy_get_prev_frame. Otherwize, unwind the PC first. + (_initialize_frame): Add ``set backtrace-below-main'' command. + * Makefile.in (frame.o): Update dependencies. + +2003-01-19 Andrew Cagney <ac131313@redhat.com> + + * config/pa/tm-hppa.h (DEPRECATED_DO_REGISTERS_INFO): Rename + DEPRECATED_REGISTERS_INFO. + +2003-01-19 Andrew Cagney <ac131313@redhat.com> + + * MAINTAINERS: Replace `Blanket Write Privs' with `Global + Maintainers'. Update `Various Maintainers'. + +2003-01-19 Andrew Cagney <ac131313@redhat.com> + + * frame.c (frame_saved_regs_pop): Assert POP_FRAME_P. + * gdbarch.sh (POP_FRAME): Change to function with predicate. + Suppress actual parameters when `-'. + * gdbarch.h, gdbarch.c: Regenerate. + +2003-01-19 Andrew Cagney <ac131313@redhat.com> + + * d10v-tdep.c (d10v_frame_saved_pc, d10v_frame_chain): Restore + code handling dummy frames. + +2003-01-19 Andrew Cagney <ac131313@redhat.com> + + * frame-unwind.h (frame_unwind_pop_ftype): Declare. + (struct frame_unwind): Add field pop. + * frame.h (frame_pop): Declare. + * frame.c (frame_saved_regs_pop): New function. + (trad_frame_unwinder): Add frame_saved_regs_pop. + (frame_pop): New function. + * dummy-frame.c (dummy_frame_pop): New function. + (discard_innermost_dummy): New function. + (generic_pop_dummy_frame): Use discard_innermost_dummy. + (dummy_frame_unwind): Add dummy_frame_pop. + * infrun.c (normal_stop): Call frame_pop instead of POP_FRAME. + * valops.c (hand_function_call): Ditto. + * stack.c (return_command): Ditto. + +2003-01-18 Andrew Cagney <ac131313@redhat.com> + + * cris-tdep.c: Fix function declaration indentation. + * dwarfread.c, gdbcore.h, gdbtypes.h, i386v-nat.c: Ditto. + * mips-tdep.c, monitor.h, parse.c, proc-utils.h: Ditto. + * rs6000-nat.c, ser-go32.c, somread.c, stabsread.c: Ditto. + * symfile.h, symtab.h, target.c, target.h, value.h: Ditto. + * xcoffread.c, config/pa/tm-hppa.h: Ditto. + * config/sparc/tm-sp64.h, config/sparc/tm-sparc.h: Ditto. + +2003-01-18 Michael Chastain <mec@shout.net> + + * README (Unpacking and Installation -- quick overview): + Warn against ".../gdb-5.3/gdb/configure". + +2003-01-18 Andrew Cagney <ac131313@redhat.com> + + * dummy-frame.h (dummy_frame_id_unwind): Delete declaration. + (dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto. + (struct frame_unwind): Declare opaque. + (dummy_frame_p): Declare function. + * dummy-frame.c (dummy_frame_id_unwind): Make static. + (dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto. + * dummy-frame.c: Include "frame-unwind.h". + (dummy_frame_p): New function. + (dummy_frame_unwind): New variable. + * frame.c: Include "frame-unwind.h". + (frame_pc_unwind, frame_id_unwind, frame_register_unwind): Update + to use the new unwind field. + (set_unwind_by_pc): Delete function. + (create_new_frame, get_prev_frame): Set unwind field using + frame_unwind_find_by_pc. + (trad_frame_unwind, trad_frame_unwinder): New variables. + * frame.h (trad_frame_unwind): Declare variable. + (frame_id_unwind_ftype): Delete declaration. + (frame_pc_unwind_ftype, frame_register_unwind_ftype): Ditto. + (struct frame_unwind): Declare opaque. + (struct frame_info): Replace the fields id_unwind, pc_unwind and + register_unwind with a single unwind pointer. + * frame-unwind.h, frame-unwind.c: New files. + * Makefile.in (SFILES): Add frame-unwind.c. + (frame_unwind_h): Define. + (COMMON_OBS): Add frame-unwind.o. + (frame-unwind.o): Specify dependencies. + (frame.o, dummy-frame.o): Update dependencies. + +2003-01-18 Andrew Cagney <ac131313@redhat.com> + + * ada-valprint.c: Eliminate PTR. + * breakpoint.c, corelow.c, cris-tdep.c, dbxread.c: Ditto. + * defs.h, dve3900-rom.c, dwarf2read.c, dwarfread.c: Ditto. + * exec.c, hppa-tdep.c, hpread.c, infcmd.c, mdebugread.c: Ditto. + * objfiles.c, objfiles.h, ocd.c, remote-es.c: Ditto. + * remote-mips.c, remote-sds.c, remote-vx.c: Ditto. + * solib-svr4.c, solib.c, stack.c, symfile.c, symfile.h: Ditto. + * symmisc.c, v850ice.c, xcoffread.c, cli/cli-script.c: Ditto. + +2003-01-17 Andrew Cagney <ac131313@redhat.com> + + * main.c (captured_main): Don't use PTR. + * cp-valprint.c (cp_print_class_method): Replace STREQ with strcmp. + * gdbtypes.c (lookup_primitive_typename): Ditto. + (lookup_struct_elt_type): Ditto. + * f-valprint.c (info_common_command): Ditto. + (list_all_visible_commons): Ditto. + * jv-typeprint.c (java_type_print_base): Ditto. + + * config/djgpp/fnchange.lst: Rename mi1-var-block.exp, + mi1-var-child.exp, mi1-var-cmd.exp and mi1-var-display.exp. + Rename opcodes/iq2000-desc.c and opcodes/iq2000-dis.c. Rename + i386-interix-nat.c and i386-interix-tdep.c. Rename + m68klinux-nat.c and m68klinux-tdep.c. Rename + config/mips/tm-linux.h and config/mips/tm-linux64.h. Rename + bfd/po/.cvsignore and opcodes/po/.cvsignore. Rename + gdb/objc-exp.tab.c and gdb/ada-exp.tab.c + * main.c (captured_main): Use xfree, not free. + +2003-01-16 Andrew Cagney <ac131313@redhat.com> + + * frame.h (frame_id_unwind_ftype): Change type so that the frame's + ID back using a parameter. + * frame.c (frame_id_unwind): Update call. + (frame_saved_regs_id_unwind): Update. + * dummy-frame.c (dummy_frame_id_unwind): Update function. + * dummy-frame.h (struct frame_id): Add opaque declaration. + (dummy_frame_id_unwind): Update declaration. + +2003-01-15 Andrew Cagney <ac131313@redhat.com> + + * sparc-tdep.c: Delete reference to PRINT_REGISTER_HOOK. + +2003-01-15 Stephen P. Smith <ischis2@cox.net> + + * MAINTAINERS (Stephen P. Smith): Updated email address. + +2003-01-14 Elena Zannoni <ezannoni@redhat.com> + + Fix PR gdb/898 + * breakpoint.c (until_break_command): Add new argument. Use it to + decide whether to stop only at the current frame or not. + * breakpoint.h (until_break_command): Update prototype. + * infcmd.c (until_command): Add new argument to until_break_command + call. + (advance_command): New function. + (_initialize_infcmd): Update help string for 'until' command. + Add new 'advance' command. + +2003-01-14 David Carlton <carlton@math.stanford.edu> + + * linespec.c (decode_line_1): Normalize comments. + (set_flags): Ditto. + (locate_first_half): Ditto. + (decode_compound): Ditto. + (symtab_from_filename): Ditto. + (decode_all_digits): Ditto. + (decode_dollar): Ditto. + (find_methods): Ditto. + (find_toplevel_char): Ditto. + +2003-01-13 Andrew Cagney <ac131313@redhat.com> + + * ax-gdb.c, c-valprint.c, charset.c, corefile.c: Update copyright. + * demangle.c, disasm.c, dwarf2cfi.c, dwarfread.c: Update copyright. + * elfread.c, eval.c, expprint.c, expression.h: Update copyright. + * f-typeprint.c, findvar.c, gcore.c, gdb_mbuild.sh: Update copyright. + * gdbtypes.h, gnu-v2-abi.c, inferior.h, inftarg.c: Update copyright. + * language.c, language.h, m32r-tdep.c: Update copyright. + * mn10200-tdep.c, scm-lang.c, scm-lang.h: Update copyright. + * somsolib.c, somsolib.h, symfile.c, symtab.h: Update copyright. + * thread-db.c, typeprint.c, utils.c, valarith.c: Update copyright. + * values.c, win32-nat.c, x86-64-linux-nat.c: Update copyright. + * x86-64-linux-tdep.c, z8k-tdep.c: Update copyright. + * cli/cli-decode.h, config/h8500/tm-h8500.h: Update copyright. + +2003-01-13 Elena Zannoni <ezannoni@redhat.com> + + * stabsread.h (process_later, resolve_cfront_continuation): + Obsolete. + Update copyright years. + * buildsym.c (start_subfile): Obsolete comment pertinent to Cfront. + Update copyright year. + * dbxread.c(struct cont_elem): Obsolete. + (process_later, process_now): Obsolete functions. + (read_dbx_symtab, read_ofile_symtab): Obsolete cfront support. + Update copyright year. + * gdbtypes.c (INIT_EXTRA, ADD_EXTRA): Obsolete macros. + (add_name, add_mangled_type, cfront_mangle_name): Obsolete functions. + * mdebugread.c (parse_type): Obsolete comment pertinent to Cfront. + (parse_partial_symbols): Obsolete cfront support. + * stabsread.c + (CFRONT_VISIBILITY_PRIVATE,CFRONT_VISIBILITY_PUBLIC): Obsolete + macros. + (get_substring, get_cfront_method_physname, msg_unknown_complaint, + read_cfront_baseclasses, read_cfront_member_functions, + resolve_cfront_continuation,read_cfront_static_fields, + copy_cfront_struct_fields): Obsolete functions. + (define_symbol, read_one_struct_field): Obsolete cfront support. + * xcoffread.c (scan_xcoff_symtab): Obsolete CFront support. + Update Copyright year. + +2003-01-13 Elena Zannoni <ezannoni@redhat.com> + + * stack.c (print_frame_info, print_stack_frame_base_stub, + print_stack_frame_base, show_and_print_stack_frame_stub, + show_and_print_stack_frame, print_only_stack_frame_stub, + print_only_stack_frame): Delete functions. + (print_stack_frame_stub): Call print_frame_info instead of + print_frame_info_base. + (print_frame_info_base): Rename to print_frame_info. + (backtrace_command_1): Call print_frame_info, instead of + print_frame_info_base. + (current_frame_command): Call print_stack_frame, instead of + print_only_stack_frame. + (frame_command): Call print_stack_frame, instead of + show_and_print_stack_frame. + (up_command): Ditto. + (down_command): Ditto. + * frame.h (print_only_stack_frame): Delete prototype. + * infrun.c (normal_stop): Call print_stack_frame, instead of + show_and_print_stack_frame. + * thread.c (info_threads_command): Call print_stack_frame, instead + of print_only_stack_frame. + +2003-01-13 Andrew Cagney <ac131313@redhat.com> + + * README (Graphical interface to GDB): Update URL. Point at + gdb/links/. + + * gdb_indent.sh: Update to version 2.2.9. Warn when not exact + version match. + +2003-01-13 Daniel Jacobowitz <drow@mvista.com> + + * symtab.c (find_pc_sect_line): Don't consider end-of-function + lines. + +2003-01-13 Daniel Jacobowitz <drow@mvista.com> + + * thread-db.c (attach_thread): Prototype. + (struct private_thread_info): Remove lwpid. Add thread handle (th), + thread information (ti), and valid flags (th_valid, ti_valid). + (attach_thread): Move target_pid_to_str call to after the thread + is added to GDB's list. Initialize the cache. + (thread_get_info_callback, thread_db_map_id2thr) + (thread_db_get_info): New functions. + (thread_from_lwp, lwp_from_thread, thread_db_fetch_registers) + (thread_db_store_registers, thread_db_thread_alive) + (thread_db_get_thread_local_address): Use them. + (thread_db_pid_to_str): Likewise. Return "Missing" instead + of calling error() for threads in unknown state. + + (clear_lwpid_callback): New function. + (thread_db_resume): Use it to clear the cache. + +2003-01-13 Daniel Jacobowitz <drow@mvista.com> + + * lin-lwp.c (struct private_thread_info, find_lwp_callback): Remove. + (resume_callback): Remove dead code. + +2003-01-13 Andrew Cagney <ac131313@redhat.com> + + * gdbarch.sh (FRAME_INIT_SAVED_REGS): Change to function with + predicate. + * gdbarch.h, gdbarch.c: Regenerate. + * stack.c (frame_info): Only initialize the saved registers when + FRAME_INIT_SAVED_REGS_P. + * frame.c (frame_saved_regs_register_unwind): Assert + FRAME_INIT_SAVED_REGS_P. + (deprecated_generic_get_saved_register): Ditto. + +2003-01-13 Daniel Jacobowitz <drow@mvista.com> + + * source.c (openp): Squelch warning about "filename". + +2003-01-13 Daniel Jacobowitz <drow@mvista.com> + + * source.c (openp): If the file does not exist don't necessarily + search the path. + +2003-01-13 Daniel Jacobowitz <drow@mvista.com> + + Fix PR gdb/872. + * gdbtypes.c (init_type): Mark "char" as TYPE_FLAG_NOSIGN. + (integer_types_same_name_p): New function. + (rank_one_type): Use it. + * stabsread.c (read_range_type): Mark "char" as TYPE_FLAG_NOSIGN. + +2003-01-13 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in (TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE): New + variables. + (main.o): Custom rule which uses $(TARGET_SYSTEM_ROOT_DEFINE). + * configure.in: Add --with-sysroot. + * configure: Regenerated. + * main.c (gdb_sysroot): New variable. + (captured_main): Initialize gdb_sysroot. + * defs.h (gdb_sysroot): New extern declaration. + * solib.c (_initialize_solib): Initialize solib_absolute_prefix. + +2003-01-12 Michael Chastain <mec@shout.net> + + * config/djgpp/fnchange.lst: add gdb/ChangeLog-2002. + +2003-01-12 Michael Chastain <mec@shout.net> + + * top.c (print_gdb_version): Bump copyright year to 2003. + +2003-01-12 David Carlton <carlton@bactrian.org> + + * linespec.c (symtab_from_filename): Rename variable 's' to + 'file_symtab'. + +2003-01-12 Andrew Cagney <ac131313@redhat.com> + + * d10v-tdep.c (d10v_init_extra_frame_info): Remove checks for a + dummy frame. + (d10v_frame_saved_pc, d10v_frame_chain): Ditto. + +2003-01-12 Andrew Cagney <ac131313@redhat.com> + + * d10v-tdep.c: Include "gdb_assert.h". + (d10v_store_return_value): Rewrite to match current interface. + (d10v_extract_struct_value_address): Ditto. + (d10v_extract_return_value): Ditto. + (d10v_gdbarch_init): Set store_restore_value, + extract_struct_value_address and extract_return_value. + +2003-01-12 J. Brobecker <brobecker@gnat.com> + + * hpread.c (set_namestring): New procedure replacing the + SET_NAMESTRING macro. + (hpread_build_psymtabs): Replace calls to SET_NAMESTRING + by calls to set_namestring. + +2003-01-11 J. Brobecker <brobecker@gnat.com> + + * hpread.c (SET_NAMESTRING): Remove an incorrect cast to fix + a compilation warning. + (hpread_process_one_debug_symbol): Likewise. + +2003-01-10 David Carlton <carlton@math.stanford.edu> + + * linespec.c (decode_line_1): Rename variable 's' to + 'file_symtab'. + (decode_all_digits): Rename argument 's' to 'file_symtab'. + (decode_dollar): Ditto. + (decode_variable): Ditto. + (symbol_found): Ditto. + +2003-01-09 Michael Chastain <mec@shout.net> + + * config/djgpp/fnchange.lst: update file list for testsuite/gdb.c++. + +2003-01-07 Corinna Vinschen <vinschen@redhat.com> + + * win32-nat.c (set_process_privilege): New function. + (child_attach): Call set_process_privilege() to enable the + SE_DEBUG_NAME user privilege if available in process token. + +2003-01-10 J. Brobecker <brobecker@gnat.com> + + * hpread.c (hpread_process_one_debug_symbol): Fix a small + compilation error in the previous revision. + +2003-01-09 David Carlton <carlton@math.stanford.edu> + + * linespec.c: Update copyright. + +2003-01-09 Daniel Jacobowitz <drow@mvista.com> + + * lin-lwp.c (child_wait): Ignore exit statuses for processes other + than inferior_ptid. + (lin_lwp_wait): Ignore exit statuses for unknown LWPs. + +2003-01-09 Andrew Cagney <ac131313@redhat.com> + + * frame.h (frame_obstack_zalloc): Replace frame_obstack_alloc. + Update comments. + * frame.c (frame_obstack_zalloc): Replace frame_obstack_alloc. + (frame_saved_regs_zalloc): Update. + (frame_saved_regs_register_unwind): Update. + (create_new_frame): Update. + (get_prev_frame): Update. + (frame_extra_info_zalloc): Update. + (deprecated_get_frame_saved_regs): Update. + * dwarf2cfi.c (cfi_init_extra_frame_info): Update. + * cris-tdep.c: Update comment. + + * somsolib.h: Fix function indentation. + * disasm.c, buildsym.c, buildsym.h: Eliminate PTR. + * gnu-v2-abi.c, f-typeprint.c, x86-64-linux-tdep.c: Eliminate STREQ. + * demangle.c, ax-gdb.c, c-valprint.c: Eliminate STREQ. + * alpha-osf1-tdep.c, corefile.c: Eliminate STREQ. + * somsolib.c, inftarg.c: Remove assignment in if conditional. + + * infrun.c (follow_fork): Use ISO C definition. + * expprint.c (print_subexp): Use xfree instead of free. + * charset.c: Include "gdb_string.h" instead of <string.h>. + (register_iconv_charsets): Use ISO C definition. + (host_charset, target_charset): Ditto. + * Makefile.in (charset.o): Update dependencies. + (mi-cmd-env.o): Update dependencies. + +2003-01-08 Andrew Cagney <cagney@redhat.com> + + * alpha-linux-tdep.c (alpha_linux_sigcontext_addr): Use + get_frame_base. + +2003-01-08 Andrew Cagney <ac131313@redhat.com> + + * gdb_mbuild.sh: Add --keep option. When specified, keep the + build directories. Save edited gdb output in Mbuild.log. If a + build fails, remove any final GDB executable. + +2003-01-08 Andrew Cagney <ac131313@redhat.com> + + * gdb_mbuild.sh: Edit the output of `maint print architecture' + replacing hex constants with function names and stripping leading + file name directory prefixes. + +2003-01-08 Andrew Cagney <cagney@redhat.com> + + * gcore.c, i386-linux-tdep.c: Use get_frame_pc, get_next_frame and + get_frame_base. + +2003-01-08 David Carlton <carlton@math.stanford.edu> + + * linespec.c (decode_line_1): Move code into decode_variable. + (decode_variable): New function. + +2003-01-08 Andrew Cagney <ac131313@redhat.com> + + * mn10300-tdep.c (analyze_dummy_frame): Fix typo. + +2003-01-08 Andrew Cagney <cagney@redhat.com> + + * cris-tdep.c (cris_frame_init_saved_regs): Use + get_frame_saved_regs and SIZEOF_FRAME_SAVED_REGS when copying a + saved_regs buffer. + * sh-tdep.c (sh_nofp_frame_init_saved_regs): Ditto. + (sh64_nofp_frame_init_saved_regs): Ditto. + (sh_fp_frame_init_saved_regs): Ditto. + * arm-tdep.c: Use deprecated_set_frame_saved_regs_hack. + * mips-tdep.c (mips_init_extra_frame_info): Ditto. + * mcore-tdep.c (analyze_dummy_frame): Ditto. + * mn10300-tdep.c (analyze_dummy_frame): Ditto. + +2003-01-08 Daniel Jacobowitz <drow@mvista.com> + + * minsyms.c (lookup_minimal_symbol): Update comment. + (lookup_minimal_symbol_text): Update comment. Use the hash table. + (lookup_minimal_symbol_solib_trampoline): Likewise. + +2003-01-08 Andrew Cagney <cagney@redhat.com> + + * d10v-tdep.c (d10v_init_extra_frame_info): Use + frame_relative_level. + + * alpha-tdep.c: Use get_frame_extra_info. + * arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto. + * h8300-tdep.c, ia64-tdep.c, m68hc11-tdep.c, mcore-tdep.c: Ditto. + * mips-tdep.c, mn10300-tdep.c, s390-tdep.c, sh-tdep.c: Ditto. + * sparc-tdep.c, xstormy16-tdep.c: Ditto. + + * alpha-tdep.c: Use get_next_frame. + * arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto. + * dwarf2cfi.c, h8300-tdep.c, i386-tdep.c, ia64-tdep.c: Ditto. + * m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c: Ditto. + * mips-tdep.c, mn10200-tdep.c, mn10300-tdep.c: Ditto. + * ns32k-tdep.c, s390-tdep.c, sh-tdep.c, sparc-tdep.c: Ditto. + * v850-tdep.c, vax-tdep.c, x86-64-linux-tdep.c: Ditto. + * xstormy16-tdep.c: Ditto. + +2003-01-07 Andrew Cagney <cagney@redhat.com> + + * alpha-tdep.c: Use get_frame_base. + * arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto. + * h8300-tdep.c, i386-tdep.c, ia64-tdep.c, m68hc11-tdep.c: Ditto. + * m68k-tdep.c, mcore-tdep.c, mips-tdep.c, mn10200-tdep.c: Ditto. + * mn10300-tdep.c, ns32k-tdep.c, s390-tdep.c, sh-tdep.c: Ditto. + * sparc-tdep.c, v850-tdep.c, vax-tdep.c: Ditto. + * x86-64-linux-tdep.c, xstormy16-tdep.c: Ditto. + * config/h8500/tm-h8500.h, config/mn10200/tm-mn10200.h: Ditto. + * config/sparc/tm-sparc.h: Ditto. + +2003-01-07 Andrew Cagney <cagney@redhat.com> + + * frame.c (deprecated_get_frame_context): New function. + (deprecated_set_frame_context): New function. + * frame.h (deprecated_get_frame_context): Declare. + (deprecated_set_frame_context): Declare. + * dwarf2cfi.c (UNWIND_CONTEXT): Use deprecated_get_frame_context. + (cfi_init_extra_frame_info): Use deprecated_set_frame_context. + +2003-01-07 Andrew Cagney <cagney@redhat.com> + + * frame.c (deprecated_set_frame_next_hack): New function. + (deprecated_set_frame_prev_hack): New function. + * frame.h (deprecated_set_frame_next_hack): Declare. + (deprecated_set_frame_prev_hack): Declare. + * mcore-tdep.c (analyze_dummy_frame): Use + deprecated_set_frame_next_hack and deprecated_set_frame_prev_hack. + * mn10300-tdep.c (analyze_dummy_frame): Ditto. + +2003-01-07 David Carlton <carlton@math.stanford.edu> + + * linespec.c (decode_line_1): Move code into decode_dollar. + (decode_dollar): New function. + +2003-01-07 Andrew Cagney <cagney@redhat.com> + + * arm-tdep.c (arm_init_extra_frame_info): Use + deprecated_update_frame_base_hack. + * xstormy16-tdep.c (xstormy16_scan_prologue): Ditto. + * mn10300-tdep.c (analyze_dummy_frame): Ditto. + (fix_frame_pointer): Ditto. + (mn10300_analyze_prologue): Ditto. + +2003-01-07 Andrew Cagney <cagney@redhat.com> + + * xstormy16-tdep.c (xstormy16_init_extra_frame_info): Allocate + extra_info using frame_extra_info_zalloc. + * sparc-tdep.c (sparc_init_extra_frame_info): Ditto. + * sh-tdep.c (sh_init_extra_frame_info): Ditto. + (sh64_init_extra_frame_info): Ditto. + * mn10300-tdep.c (mn10300_init_extra_frame_info): Ditto. + * s390-tdep.c (s390_init_extra_frame_info): Ditto. + * mips-tdep.c (mips_init_extra_frame_info): Ditto. + * mcore-tdep.c (mcore_init_extra_frame_info): Ditto. + * frv-tdep.c (frv_init_extra_frame_info): Ditto. + * m68hc11-tdep.c (m68hc11_init_extra_frame_info): Ditto. + * ia64-tdep.c (ia64_init_extra_frame_info): Ditto. + * h8300-tdep.c (h8300_init_extra_frame_info): Ditto. + * d10v-tdep.c (d10v_init_extra_frame_info): Ditto. + * cris-tdep.c (cris_init_extra_frame_info): Ditto. + * arm-tdep.c (arm_init_extra_frame_info): Ditto. + * alpha-tdep.c (alpha_init_extra_frame_info): Ditto. + + * mn10300-tdep.c (analyze_dummy_frame): Use + deprecated_set_frame_extra_info_hack. + * mcore-tdep.c (analyze_dummy_frame): Ditto. + +2003-01-07 J. Brobecker <brobecker@gnat.com> + + * mdebugread.c (parse_symbol): Skip stProc entries which storage + class is not scText. These do not define "real" procedures. + (parse_partial_symbols): Likewise. + +2003-01-06 Michael Snyder <msnyder@redhat.com> + + * lin-lwp.c: Added or elaborated on "debug lin-lwp" info. + +2003-01-06 Andrew Cagney <ac131313@redhat.com> + + * frame.h (deprecated_frame_xmalloc_with_cleanup): Declare. + * frame.c (deprecated_frame_xmalloc_with_cleanup): New function. + * arm-tdep.c (arm_frame_chain): Allocate caller_fi using + deprecated_frame_xmalloc_with_cleanup. + * m32r-tdep.c (m32r_virtual_frame_pointer): Allocate `fi' using + deprecated_frame_xmalloc. + * mcore-tdep.c (analyze_dummy_frame): Ditto for dummy. + * mn10200-tdep.c (mn10200_frame_chain): Ditto for dummy_frame. + +2003-01-06 Andrew Cagney <cagney@redhat.com> + + * x86-64-linux-tdep.c: Include "osabi.h". + * Makefile.in (x86-64-linux-tdep.o): Update dependencies. + + * sparc-tdep.c (sparc_dump_tdep): Fix typo, match -> mach. + +2003-01-06 Andrew Cagney <cagney@redhat.com> + + * MAINTAINERS (Target Instruction Set Architectures): Update + arm-elf. Can be built with -Werror, has been multiarched. + + * value.h (unpack_long): Make buffer parameter constant. + (unpack_double, unpack_pointer, unpack_field_as_long): Ditto. + * scm-lang.h (scm_parse): Ditto. + * defs.h (extract_typed_address, extract_address): Ditto. + (extract_long_unsigned_integer): Ditto. + * inferior.h (unsigned_pointer_to_address): Ditto. + (signed_pointer_to_address): Ditto. + * gdbarch.sh (POINTER_TO_ADDRESS): Ditto. + * gdbarch.h, gdbarch.c: Regenerate. + * findvar.c (extract_long_unsigned_integer): Update. + (extract_address): Update. + (extract_typed_address): Update. + (unsigned_pointer_to_address): Update. + * values.c (unpack_long): Update. + (unpack_double): Update. + (unpack_pointer): Update. + (unpack_field_as_long): Update. + * d10v-tdep.c (d10v_pointer_to_address): Update. + * avr-tdep.c (avr_pointer_to_address): Update. + * scm-lang.c (scm_unpack): Update. + * findvar.c (signed_pointer_to_address): Update. + +2003-01-06 Michal Ludvig <mludvig@suse.cz> + + * x86-64-linux-nat.c (i386_sse_regnum_p): Deleted. Not needed anymore + since it is in i386-tdep.c. + +2003-01-06 J. Brobecker <brobecker@gnat.com> + + * alpha-tdep.c (alpha_gdbarch_init): Fix a small compilation + failure introduced in the previous change. + +2003-01-05 Michael Chastain <mec@shout.net> + + * README: Remove references to deleted remote-*.c files: + remote-adapt.c, remote-eb.c, remote-mm.c, remote-nindy.c, + remote-nrom.c, remote-os9k.c, remote-udi.c. + +2003-01-05 Mark Kettenis <kettenis@gnu.org> + + * i386-tdep.c (i386_get_longjmp_target): Make usable on x86-64. + * x86-64-tdep.c (x86_64_init_abi): Remove FIXME about + i386_get_longjmp_target. + +2003-01-05 Andrew Cagney <ac131313@redhat.com> + + * arm-tdep.c (prologue_cache): Change to a pointer. + (_initialize_arm_tdep): Allocate prologue_cache. + (check_prologue_cache): Update. + (save_prologue_cache): Update. + (arm_gdbarch_init): Update. + +2003-01-04 Daniel Jacobowitz <drow@mvista.com> + + * stabsread.c (update_method_name_from_physname): Call complaint() + instead of error. + +2003-01-04 Daniel Jacobowitz <drow@mvista.com> + + * arm-tdep.c (arm_frame_chain_valid): Remove unnecessary test. + * d10v-tdep.c (d10v_frame_chain_valid): Remove unnecessary tests. + * hppa-tdep.c (hppa_frame_chain_valid): Remove unnecessary test. + + * blockframe.c: Include "gdbcmd.h" and "command.h". + (backtrace_below_main): New variable. + (file_frame_chain_valid, func_frame_chain_valid) + (nonnull_frame_chain_valid, generic_file_frame_chain_valid) + (generic_func_frame_chain_valid): Remove functions. + (frame_chain_valid, do_flush_frames_sfunc): New functions. + (_initialize_blockframe): New function. + * Makefile.in (blockframe.o): Update dependencies. + * frame.c (frame_saved_regs_id_unwind, get_prev_frame): Remove FIXME + comment. Call frame_chain_valid (). + * frame.h: Remove old prototypes. Add prototype for + frame_chain_valid and update comments to match. + * gdbarch.sh: Change FRAME_CHAIN_VALID into a predicated function. + Remove old comment. + * gdbarch.h: Regenerated. + * gdbarch.c: Regenerated. + + * alpha-tdep.c (alpha_gdbarch_init): Don't call + set_gdbarch_frame_chain_valid. + * avr-tdep.c (avr_gdbarch_init): Likewise. + * cris-tdep.c (cris_gdbarch_init): Likewise. + * frv-tdep.c (frv_gdbarch_init): Likewise. + * h8300-tdep.c (h8300_gdbarch_init): Likewise. + * i386-tdep.c (i386_svr4_init_abi): Likewise. + (i386_nw_init_abi): Likewise. + (i386_gdbarch_init): Likewise. + * ia64-tdep.c (ia64_gdbarch_init): Likewise. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise. + * m68k-tdep.c (m68k_gdbarch_init): Likewise. + * mcore-tdep.c (mcore_gdbarch_init): Likewise. + * mips-tdep.c (mips_gdbarch_init): Likewise. + * mn10300-tdep.c (mn10300_gdbarch_init): Likewise. + * ns32k-tdep.c (ns32k_gdbarch_init): Likewise. + * ppcnbsd-tdep.c (ppcnbsd_init_abi): Likewise. + * rs6000-tdep.c (rs6000_gdbarch_init): Likewise. + * s390-tdep.c (s390_gdbarch_init): Likewise. + * sh-tdep.c (sh_gdbarch_init): Likewise. + * sparc-tdep.c (sparc_gdbarch_init): Likewise. + * v850-tdep.c (v850_gdbarch_init): Likewise. + * vax-tdep.c (vax_gdbarch_init): Likewise. + * x86-64-tdep.c (x86_64_init_abi): Likewise. + + * config/m32r/tm-m32r.h (FRAME_CHAIN_VALID): Don't define. + * config/m68k/tm-apollo68b.h (FRAME_CHAIN_VALID): Likewise. + * config/m68k/tm-m68kv4.h (FRAME_CHAIN_VALID): Likewise. + * config/m68k/tm-monitor.h (FRAME_CHAIN_VALID): Likewise. + * config/m68k/tm-os68k.h (FRAME_CHAIN_VALID): Likewise. + * config/m68k/tm-vx68.h (FRAME_CHAIN_VALID): Likewise. + * config/mn10200/tm-mn10200.h (FRAME_CHAIN_VALID): Likewise. + * config/sparc/tm-sparclite.h (FRAME_CHAIN_VALID): Likewise. + +2002-01-04 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in (acconfig_h): Remove incorrect macro. + (config_h): Define. + (osabi.o): Update dependencies. + * configure.tgt: Set gdb_osabi based on target triplet. + * configure.in: Define GDB_OSABI_DEFAULT based on gdb_osabi. + * configure: Regenerated. + * config.in: Regenerated. + * osabi.c: Include "arch-utils.h", "gdbcmd.h", and "command.h". + (GDB_OSABI_DEFAULT): Define if not already defined. + (user_osabi_state, user_selected_osabi, gdb_osabi_available_names) + (set_osabi_string): New variables. + (gdbarch_register_osabi): Add new OS ABI to + gdb_osabi_available_names. + (gdbarch_lookup_osabi): Honor specified and default OS ABIs. + (set_osabi, show_osabi): New functions. + (_initialize_gdb_osabi): Add "set osabi" and "show osabi" commands. + +2003-01-04 Daniel Jacobowitz <drow@mvista.com> + + * arch-utils.c (gdbarch_info_init): Set osabi to + GDB_OSABI_UNINITIALIZED. + * gdbarch.sh: Add osabi to struct gdbarch and to struct + gdbarch_info. Include "osabi.h" in gdbarch.c. Check osabi + in gdbarch_list_lookup_by_info and in gdbarch_update_p. + * gdbarch.c: Regenerated. + * gdbarch.h: Regenerated. + * osabi.c (gdbarch_lookup_osabi): Return GDB_OSABI_UNINITIALIZED if + there's no BFD. + (gdbarch_init_osabi): Remove osabi argument; use info.osabi. + * osabi.h (enum gdb_osabi): Move to defs.h. + (gdbarch_init_osabi): Update prototype. + * defs.h (enum gdb_osabi): Moved here. + * Makefile.in: Update dependencies. + + * alpha-tdep.h: Don't include "osabi.h". + (struct gdbarch_tdep): Remove osabi member. + * alpha-tdep.c: Include "osabi.h". + (alpha_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't + iterate over arches. Update call to gdbarch_init_osabi. + (alpha_dump_tdep): Don't dump osabi. + * alpha-linux-tdep.c: Include "osabi.h". + * alpha-osf1-tdep.c: Include "osabi.h". + * alphafbsd-tdep.c: Include "osabi.h". + * alphanbsd-tdep.c: Include "osabi.h". + + * arm-tdep.h: Don't include "osabi.h". + (struct gdbarch_tdep): Remove osabi member. + * arm-tdep.c: Include "osabi.h". + (arm_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't + iterate over arches. Update call to gdbarch_init_osabi. + (arm_dump_tdep): Don't dump osabi. + * arm-linux-tdep.c: Include "osabi.h". + * armnbsd-tdep.c: Include "osabi.h". + + * hppa-tdep.c (hppa_gdbarch_init): Don't call gdbarch_lookup_osabi. + Update call to gdbarch_init_osabi. + + * i386-tdep.h: Don't include "osabi.h". + (struct gdbarch_tdep): Remove osabi member. + * i386-tdep.c: Include "osabi.h". + (i386_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't + iterate over arches. Update call to gdbarch_init_osabi. + (i386_dump_tdep): Don't dump osabi. + * i386-linux-tdep.c: Include "osabi.h". + * i386-sol2-tdep.c: Include "osabi.h". + * i386bsd-tdep.c: Include "osabi.h". + * i386gnu-tdep.c: Include "osabi.h". + * i386ly-tdep.c: Include "osabi.h". + * i386nbsd-tdep.c: Include "osabi.h". + * i386obsd-tdep.c: Include "osabi.h". + + * mips-tdep.c (struct gdbarch_tdep): Remove osabi member. + (mips_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't + check osabi when iterating over arches. Update call to + gdbarch_init_osabi. + (mips_dump_tdep): Don't dump osabi. + + * ns32k-tdep.h: Don't include "osabi.h". + (struct gdbarch_tdep): Remove. + * ns32k-tdep.c (ns32k_gdbarch_init): Don't call + gdbarch_lookup_osabi. Don't iterate over arches. Don't + allocate tdep. Update call to gdbarch_init_osabi. + (ns32k_dump_tdep): Remove. + (_initialize_ns32k_tdep): Update call to gdbarch_register. + * ns32knbsd-tdep.c: Include "osabi.h". + + * ppc-tdep.h: Don't include "osabi.h". + (struct gdbarch_tdep): Remove osabi member. + * rs6000-tdep.c: Include "osabi.h". + (rs6000_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't check + osabi when iterating over arches. Update call to + gdbarch_init_osabi. + (rs6000_dump_tdep): Don't dump osabi. + * ppc-linux-tdep.c: Include "osabi.h". + * ppcnbsd-tdep.c: Include "osabi.h". + + * sh-tdep.h: Don't include "osabi.h". + (struct gdbarch_tdep): Remove osabi member. + * sh-tdep.c: Include "osabi.h". + (sh_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't + iterate over arches. Update call to gdbarch_init_osabi. + (sh_dump_tdep): Don't dump osabi. + * shnbsd-tdep.c: Include "osabi.h". + + * sparc-tdep.c: Include "osabi.h". + (sparc_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't + iterate over arches. Update call to gdbarch_init_osabi. + (sparc_dump_tdep): Don't dump osabi. Do dump the rest of the + tdep structure. + + * vax-tdep.h: Don't include "osabi.h". + (struct gdbarch_tdep): Remove. + * vax-tdep.c: Include "osabi.h". + (vax_gdbarch_init): Don't call gdbarch_lookup_osabi. Don't + iterate over arches. Don't allocate tdep. Update call + to gdbarch_init_osabi. + (vax_dump_tdep): Remove. + (_initialize_vax_tdep): Update call to gdbarch_register. + +2003-01-04 Daniel Jacobowitz <drow@mvista.com> + + * breakpoint.c (insert_breakpoints): Skip disabled breakpoints + entirely. + (breakpoint_re_set_one): Don't fetch the value for a disabled + watchpoint. + +2003-01-04 Daniel Jacobowitz <drow@mvista.com> + + * buildsym.h (processing_hp_compilation): Remove obsolete variable. + * gdbarch.sh Remove include of "value.h" in gdbarch.h. + (COERCE_FLOAT_TO_DOUBLE): Remove. + * gdbarch.c: Regenerate. + * gdbarch.h: Regenerate. + * Makefile.in: Remove value_h from gdbarch_h. + * valops.c (coerce_float_to_double): New variable. + (default_coerce_float_to_double): Remove. + (standard_coerce_float_to_double): Remove. + (value_arg_coerce): Use coerce_float_to_double. + (_initialize_valops): Add "set coerce-float-to-double". + * value.h (default_coerce_float_to_double): Remove prototype. + (standard_coerce_float_to_double): Remove prototype. + + * hpread.c (hpread_process_one_debug_symbol): Mark C++ functions as + prototyped. + * mdebugread.c (parse_symbol): Likewise. + * stabsread.c (define_symbol): Mark all functions as prototyped. + + * hppa-tdep.c (hppa_coerce_float_to_double): Remove. + * alpha-tdep.c (alpha_gdbarch_init): Remove call to + set_gdbarch_coerce_float_to_double. + * arm-tdep.c (arm_gdbarch_init): Likewise. + * frv-tdep.c (frv_gdbarch_init): Likewise. + * h8300-tdep.c (h8300_gdbarch_init): Likewise (commented out). + * i386-sol2-tdep.c (i386_sol2_init_abi): Likewise. + * mips-tdep.c (mips_gdbarch_init): Likewise. + (mips_coerce_float_to_double): Remove. + * rs6000-tdep.c (rs6000_gdbarch_init): Likewise. + (rs6000_coerce_float_to_double): Remove. + * s390-tdep.c (s390_gdbarch_init): Likewise. + * sh-tdep.c (sh_gdbarch_init): Likewise. + (sh_coerce_float_to_double): Remove. + * sparc-tdep.c (sparc_gdbarch_init): Likewise. + (sparc_coerce_float_to_double): Remove. + * v850-tdep.c (v850_gdbarch_init): Likewise. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise. + * config/m32r/tm-m32r.h (COERCE_FLOAT_TO_DOUBLE): Remove. + * config/pa/tm-hppa.h: (COERCE_FLOAT_TO_DOUBLE): Remove. + (hppa_coerce_float_to_double): Remove prototype. + * config/sparc/tm-sparc.h (COERCE_FLOAT_TO_DOUBLE): Remove. + +2003-01-04 Daniel Jacobowitz <drow@mvista.com> + + * regformats/reg-m68k.dat: Remove fpcode and fpflags. + +2003-01-04 Daniel Jacobowitz <drow@mvista.com> + + Suggested by Stewart Brown <sb24@avaya.com>: + * c-typeprint.c (c_type_print_varspec_prefix): Pass value of show + in recursive calls. Handle TYPE_CODE_TYPEDEF. + (c_type_print_varspec_suffix): Likewise. + +2003-01-04 Mark Kettenis <kettenis@gnu.org> + + * configure.in: Don't set and AC_SUBST SUBDIRS. + * configure: Regenerated. + + * configure.in: Remove code dealing with shared libraries. + * Makefile.in: Remove HLDFLAGS and HLDENV. + * configure: Regenerated. + +2003-01-04 Andrew Cagney <ac131313@redhat.com> + + * frame.c (deprecated_frame_xmalloc): New function. + (deprecated_set_frame_saved_regs_hack): New function. + (deprecated_set_frame_extra_info_hack): New function. + * frame.h (deprecated_frame_xmalloc): Declare. + (deprecated_set_frame_saved_regs_hack): Declare. + (deprecated_set_frame_extra_info_hack): Declare. + +2003-01-04 Mark Kettenis <kettenis@gnu.org> + + * configure.in: Move code that provides the --enable-gdbtk option + right after the code that handles the --enable-tui option, and + polish it somewhat. + * configure: Regenerated. + + * configure.in: Call AC_GNU_SOURCE. Check for pread64 using + AC_CHECK_FUNCS and remove the old check for pread64. + * acinclude.m4 (AC_GNU_SOURCE): New macro. + * acconfig.h (_GNU_SOURCE): Add. + (HAVE_PREAD64): Remove. + * configure, aclocal.m4, config.in: Regenerated. + +2003-01-03 Andrew Cagney <ac131313@redhat.com> + + * alpha-tdep.c: Use get_frame_saved_regs. + * arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto. + * h8300-tdep.c, i386-tdep.c, ia64-tdep.c, m68hc11-tdep.c: Ditto. + * m68k-tdep.c, mcore-tdep.c, mips-tdep.c, mn10300-tdep.c: Ditto. + * ns32k-tdep.c, s390-tdep.c, sh-tdep.c, v850-tdep.c: Ditto. + * vax-tdep.c, xstormy16-tdep.c: Ditto. + +2003-01-03 Mark Kettenis <kettenis@gnu.org> + + * configure.in: Remove all use of the SUBDIRS variable; add + directories using the AC_CONFIG_SUBDIRS macro instead. Polish + code providing the --enable-multi-ice option, and move it right in + front of the code that checks whether gdbserver is supported. + Polish that too. + * configure: Regenerated. + * Makefile.in (SUBDIRS): Substitute @subdirs@ instead of + @SUBDIRS@. + +2003-01-03 Andrew Cagney <cagney@redhat.com> + + * alpha-tdep.c: Use deprecated_update_frame_base_hack. + * avr-tdep.c, cris-tdep.c: Ditto. + * mcore-tdep.c, mips-tdep.c, mn10200-tdep.c: Ditto. + * sh-tdep.c, sparc-tdep.c, v850-tdep.c: Ditto. + +2003-01-03 Mark Kettenis <kettenis@gnu.org> + + * configure.in: Remove --enable-netrom option. + * configure: Regenerated. + +2003-01-03 Mark Kettenis <kettenis@gnu.org> + + * cli/cli-decode.h: Don't include "gdb_regex.h"; provide a forward + declaration for `struct re_pattern_buffer' instead. + * Makefile.in (cli_decode_h): Remove $(gdb_regex_h). + +2003-01-03 J. Brobecker <brobecker@gnat.com> + + * mdebugread.c (parse_symbol): Count until the stEnd matching + the structure name. + +2003-01-02 Mark Kettenis <kettenis@gnu.org> + + * configure.in: Remove --with-cpu option. + subscripts. Remove evil changequotes here. + * acconfig.h (TARGET_CPU_DEFAULT): Remove. + * config.in, configure: Regenerated. + + * acconfig.h (DEFAULT_BFD_ARCH, DEFAULT_BFD_VEC): Remove. + * configure.in: Cleanup section that sources GDB and BFD configure + subscripts. Remove evil changequotes here. + * config.in, configure: Regenerated. + +2003-01-02 Andrew Cagney <ac131313@redhat.com> + + * arm-tdep.c: Use get_frame_pc and deprecated_update_frame_pc_hack + frame accessor methods. + * alpha-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto. + * dwarf2cfi.c, h8300-tdep.c, i386-tdep.c, ia64-tdep.c: Ditto. + * m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c, mips-tdep.c: Ditto. + * mn10200-tdep.c, mn10300-tdep.c, ns32k-tdep.c: Ditto. + * s390-tdep.c, sh-tdep.c, sparc-tdep.c, v850-tdep.c: Ditto. + * vax-tdep.c, x86-64-linux-tdep.c, xstormy16-tdep.c: Ditto. + * z8k-tdep.c: Ditto. + +2003-01-02 Mark Kettenis <kettenis@gnu.org> + + * configure.in: Remove UI_OUT configuration code. + * ada-lang.c: Update assuming UI_OUT is always true. + * Makefile.in (UIOUT_CFLAGS): Remove. + * configure: Regenerated. + * TODO: Remove blurb about elimination of -DUI_OUT. + + * configure.in: Move code that provides the --enable-gdbcli, + --enable-gdbmi options right before the code that handles the + --enable-tui option. Polish a bit. + * configure: Regenerated. + + * configure.in: Rewrite check for GNU regex and the + --without-included regex option, and move it into the "Checks for + library functions" section. This makes us use the system regex + again by default on systems with version 2 of the GNU C library. + This was apparently broken. + * gdb_regex.h [!USE_INCLUDED_REGEX] (_REGEX_RE_COMP): Define. + * acconfig.h (USE_INCLUDED_REGEX): Remove. + * config.in, configure: Regenerated. + + * configure.in: Move code that provides the --enable-tui option + before the "Checks for libraries" section. Polish the code + somewhat and set need_curses to yes if we build the TUI. Rewrite + code that looks for a library providing termcap functionality to + match more closely what's done in the Readline library, and move + it into to the "Checks for libraries" section. + * configure: Regenerated. + * Makefile.in (TERMCAP): Remove variable. + * config/i386/go32.mh (TERMCAP): Remove variable. + +2003-01-02 Andrew Cagney <ac131313@redhat.com> + + * MAINTAINERS: Mention gdb_mbuild.sh. + * gdb_mbuild.sh: Rewrite. + +2003-01-02 Mark Kettenis <kettenis@gnu.org> + + * configure.in: Fix typo in last change. + * config.in, configure: Regenerated. + +2003-01-02 Andrew Cagney <ac131313@redhat.com> + + * valarith.c (value_binop): Delete obsolete code and comments. + * configure.host: Ditto. + * buildsym.h (make_blockvector): Ditto. + * buildsym.c (make_blockvector): Ditto. + * defs.h (enum language): Ditto. + (chill_demangle): Ditto. + * elfread.c (elf_symtab_read): Ditto. + * dwarfread.c (CHILL_PRODUCER): Ditto. + (set_cu_language): Ditto. + (handle_producer): Ditto. + * expprint.c (print_subexp): Ditto. + * gdbtypes.c (chill_varying_type): Ditto. + * gdbtypes.h (builtin_type_chill_bool): Ditto. + (builtin_type_chill_char, builtin_type_chill_long): Ditto. + (builtin_type_chill_ulong, builtin_type_chill_real): Ditto. + (chill_varying_type): Ditto. + * language.h (_LANG_chill): Ditto. + * language.c (binop_result_type, integral_type): Ditto. + (character_type, string_type, structured_type): Ditto. + (lang_bool_type, binop_type_check): Ditto. + * stabsread.h (os9k_stabs): Ditto. + * stabsread.c (os9k_type_vector, dbx_lookup_type): Ditto. + (define_symbol, read_type, read_struct_fields): Ditto. + (read_array_type, read_enum_type, read_huge_number): Ditto. + (read_range_type, start_stabs): Ditto. + * symfile.c (init_filename_language_table): Ditto. + (add_psymbol_with_dem_name_to_list): Ditto. + * symtab.c (symbol_init_language_specific): Ditto. + (symbol_init_demangled_name, symbol_demangled_name): Ditto. + * symtab.h (struct general_symbol_info): Ditto. + (SYMBOL_CHILL_DEMANGLED_NAME): Ditto. + * typeprint.c (typedef_print): Ditto. + * utils.c (fprintf_symbol_filtered): Ditto. + * valops.c (value_cast, search_struct_field, value_slice): Delete + obsolete code. + (varying_to_slice): Delete function. + * value.h (COERCE_VARYING_ARRAY): Delete obsolete macro contents. + (varying_to_slice): Delete declaration. + * MAINTAINERS: Update. + +2003-01-02 Mark Kettenis <kettenis@gnu.org> + + * configure.in: Reorganize "Checks for library functions section" + a bit. Remove check for `btowc' and `isascii' functions. + * configure: Regenerated. + + * acconfig.h (_MSE_INT_H): Remove. + * configure.in: Create "Checks for header files" section, and move + appropriate tests there. Don't check for objlist.h, wchar.h, + wctype.h and asm/debugreg.h. Rewrite Solaris 2.[78] <curses.h> + misdetection fix. Also add "Checks for types", "Checks for + compiler characteristics" and "Checks for library functions" + sections. + * config.in, configure: Regenerated. + + * configure.in: Create "Checks for programs" section, and move + appropriate tests there. + +2003-01-01 Mark Kettenis <kettenis@gnu.org> + + * configure.in: Create "Checks for libraries" section, and move + appropriate tests there. Cleanup check for wctype in libw. Use + AC_SEARCH_LIBS to see whether we need libsocket. + * configure: Regenerated. + +For older changes see ChangeLog-2002 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/gdb/config/sparc/linux64.mh b/gdb/config/sparc/linux64.mh new file mode 100644 index 0000000..c1472de --- /dev/null +++ b/gdb/config/sparc/linux64.mh @@ -0,0 +1,11 @@ +# Host: GNU/Linux UltraSPARC +NAT_FILE= nm-linux.h +NATDEPFILES= sparc-nat.o sparc64-nat.o sparc-sol2-nat.o sparc64-linux-nat.o \ + corelow.o core-regset.o \ + fork-child.o infptrace.o inftarg.o \ + proc-service.o thread-db.o lin-lwp.o \ + linux-proc.o gcore.o linux-nat.o + +# The dynamically loaded libthread_db needs access to symbols in the +# gdb executable. +LOADLIBES = -ldl -rdynamic diff --git a/gdb/config/sparc/linux64.mt b/gdb/config/sparc/linux64.mt new file mode 100644 index 0000000..4121314 --- /dev/null +++ b/gdb/config/sparc/linux64.mt @@ -0,0 +1,5 @@ +# Target: GNU/Linux UltraSPARC +TDEPFILES= sparc64-tdep.o sparc64-sol2-tdep.o sparc64-linux-tdep.o \ + sparc-tdep.o sparc-sol2-tdep.o sparc-linux-tdep.o \ + solib.o solib-svr4.o solib-legacy.o +TM_FILE= tm-linux.h diff --git a/gdb/config/sparc/nm-sol2.h b/gdb/config/sparc/nm-sol2.h new file mode 100644 index 0000000..bc9de3f --- /dev/null +++ b/gdb/config/sparc/nm-sol2.h @@ -0,0 +1,65 @@ +/* Native-dependent definitions for Solaris SPARC. + + Copyright 2003 Free Software Foundation, Inc. + + This file is part of GDB. + + 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#ifndef NM_SOL2_H +#define NM_SOL2_H + +#define GDB_GREGSET_T prgregset_t +#define GDB_FPREGSET_T prfpregset_t + +/* Shared library support. */ + +#include "solib.h" + +/* Hardware wactchpoints. */ + +/* Solaris 2.6 and above can do HW watchpoints. */ +#ifdef NEW_PROC_API + +#define TARGET_HAS_HARDWARE_WATCHPOINTS + +/* The man page for proc(4) on Solaris 2.6 and up says that the system + can support "thousands" of hardware watchpoints, but gives no + method for finding out how many; It doesn't say anything about the + allowed size for the watched area either. So we just tell GDB + 'yes'. */ +#define TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT(SIZE) 1 + +/* When a hardware watchpoint fires off the PC will be left at the + instruction following the one which caused the watchpoint. It will + *NOT* be necessary for GDB to step over the watchpoint. */ +#define HAVE_CONTINUABLE_WATCHPOINT 1 + +extern int procfs_stopped_by_watchpoint (ptid_t); +#define STOPPED_BY_WATCHPOINT(W) \ + procfs_stopped_by_watchpoint(inferior_ptid) + +/* Use these macros for watchpoint insertion/deletion. TYPE can be 0 + (write watch), 1 (read watch), 2 (access watch (read/write). */ + +extern int procfs_set_watchpoint (ptid_t, CORE_ADDR, int, int, int); +#define target_insert_watchpoint(ADDR, LEN, TYPE) \ + procfs_set_watchpoint (inferior_ptid, ADDR, LEN, TYPE, 1) +#define target_remove_watchpoint(ADDR, LEN, TYPE) \ + procfs_set_watchpoint (inferior_ptid, ADDR, 0, 0, 0) + +#endif /* NEW_PROC_API */ + +#endif /* nm-sol2.h */ diff --git a/gdb/config/sparc/obsd.mt b/gdb/config/sparc/obsd.mt new file mode 100644 index 0000000..800cb04 --- /dev/null +++ b/gdb/config/sparc/obsd.mt @@ -0,0 +1,4 @@ +# Target: OpenBSD/sparc +TDEPFILES= sparc-tdep.o sparcnbsd-tdep.o sparcobsd-tdep.o nbsd-tdep.o \ + corelow.o solib.o solib-svr4.o +TM_FILE= tm-nbsd.h diff --git a/gdb/config/sparc/obsd64.mt b/gdb/config/sparc/obsd64.mt new file mode 100644 index 0000000..a692817 --- /dev/null +++ b/gdb/config/sparc/obsd64.mt @@ -0,0 +1,5 @@ +# Target: OpenBSD/sparc64 +TDEPFILES= sparc64-tdep.o sparc64nbsd-tdep.o sparc64obsd-tdep.o \ + sparc-tdep.o sparcnbsd-tdep.o nbsd-tdep.o \ + corelow.o solib.o solib-svr4.o +TM_FILE= tm-nbsd.h diff --git a/gdb/config/sparc/sol2-64.mt b/gdb/config/sparc/sol2-64.mt new file mode 100644 index 0000000..92f8489 --- /dev/null +++ b/gdb/config/sparc/sol2-64.mt @@ -0,0 +1,3 @@ +# Target: Solaris UltraSPARC +TDEPFILES= sparc64-tdep.o sparc64-sol2-tdep.o sparc-tdep.o sparc-sol2-tdep.o +TM_FILE= tm-sol2.h diff --git a/gdb/config/sparc/sol2.mh b/gdb/config/sparc/sol2.mh new file mode 100644 index 0000000..735b9ee --- /dev/null +++ b/gdb/config/sparc/sol2.mh @@ -0,0 +1,6 @@ +# Host: Solaris SPARC & UltraSPARC +NAT_FILE= nm-sol2.h +NATDEPFILES= sparc-sol2-nat.o \ + corelow.o core-regset.o fork-child.o gcore.o \ + procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o \ + solib.o solib-svr4.o solib-legacy.o diff --git a/gdb/config/sparc/sol2.mt b/gdb/config/sparc/sol2.mt new file mode 100644 index 0000000..4037956 --- /dev/null +++ b/gdb/config/sparc/sol2.mt @@ -0,0 +1,3 @@ +# Target: Solaris SPARC +TDEPFILES= sparc-tdep.o sparc-sol2-tdep.o +TM_FILE= tm-sol2.h diff --git a/gdb/config/sparc/sparc.mt b/gdb/config/sparc/sparc.mt new file mode 100644 index 0000000..ea78c97 --- /dev/null +++ b/gdb/config/sparc/sparc.mt @@ -0,0 +1,2 @@ +# Target: SPARC +TDEPFILES= sparc-tdep.o diff --git a/gdb/config/sparc/sparc64.mt b/gdb/config/sparc/sparc64.mt new file mode 100644 index 0000000..b1082be --- /dev/null +++ b/gdb/config/sparc/sparc64.mt @@ -0,0 +1,2 @@ +# Target: UltraSPARC +TDEPFILES= sparc-tdep.o sparc64-tdep.o diff --git a/gdb/config/sparc/tm-sol2.h b/gdb/config/sparc/tm-sol2.h new file mode 100644 index 0000000..d111c1a --- /dev/null +++ b/gdb/config/sparc/tm-sol2.h @@ -0,0 +1,40 @@ +/* Target-dependent definitions for Solaris SPARC. + + Copyright 2003 Free Software Foundation, Inc. + + This file is part of GDB. + + 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#ifndef TM_SOL2_H +#define TM_SOL2_H + +#define GDB_MULTI_ARCH GDB_MULTI_ARCH_TM + +/* The Sun compilers (Sun ONE Studio, Forte Developer, Sun WorkShop, + SunPRO) compiler puts out 0 instead of the address in N_SO stabs. + Starting with SunPRO 3.0, the compiler does this for N_FUN stabs + too. */ +#define SOFUN_ADDRESS_MAYBE_MISSING + +/* The Sun compilers also do "globalization"; see the comment in + sparc-tdep.c for more information. */ +extern char *sparc_stabs_unglobalize_name (char *name); +#define STATIC_TRANSFORM_NAME(name) \ + sparc_stabs_unglobalize_name (name) +#define IS_STATIC_TRANSFORM_NAME(name) \ + ((name) != sparc_stabs_unglobalize_name (name)) + +#endif /* tm-sol2.h */ diff --git a/gdb/config/sparc/tm-vxworks.h b/gdb/config/sparc/tm-vxworks.h new file mode 100644 index 0000000..7b04748 --- /dev/null +++ b/gdb/config/sparc/tm-vxworks.h @@ -0,0 +1,31 @@ +/* Target-dependent defenitions for VxWorks SPARC. + + Copyright 1993, 1999, 2004 Free Software Foundation, Inc. + Contributed by Cygnus Support. + + This file is part of GDB. + + 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 TM_VXWORKS_H +#define TM_VXWORKS_H + +#define GDB_MULTI_ARCH GDB_MULTI_ARCH_TM + +/* Get generic VxWorks definitions. */ +#include "config/tm-vxworks.h" + +#endif /* tm-vxworks.h */ diff --git a/gdb/config/sparc/vxworks.mt b/gdb/config/sparc/vxworks.mt new file mode 100644 index 0000000..175f92e --- /dev/null +++ b/gdb/config/sparc/vxworks.mt @@ -0,0 +1,4 @@ +# Target: VxWorks SPARC +TDEPFILES= sparc-tdep.o \ + remote-vx.o remote-vxsparc.o xdr_ld.o xdr_ptrace.o xdr_rdb.o +TM_FILE= tm-vxworks.h diff --git a/gdb/mi/ChangeLog-1999-2003 b/gdb/mi/ChangeLog-1999-2003 new file mode 100644 index 0000000..4821597 --- /dev/null +++ b/gdb/mi/ChangeLog-1999-2003 @@ -0,0 +1,2180 @@ +2003-11-06 Andrew Cagney <cagney@redhat.com> + + * mi-cmd-var.c (mi_cmd_var_set_format): Replace STREQN with + strncmp. + +2003-10-24 Andrew Cagney <cagney@redhat.com> + + * tui-out.c: Fix "fortunatly"[sic]. + +2003-10-02 Andrew Cagney <cagney@redhat.com> + + * mi-main.c: Rename REGISTER_RAW_SIZE to + DEPRECATED_REGISTER_RAW_SIZE. + +2003-09-30 Andrew Cagney <cagney@redhat.com> + + * mi-main.c: Rename REGISTER_VIRTUAL_SIZE to + DEPRECATED_REGISTER_VIRTUAL_SIZE. + +2003-09-17 Andrew Cagney <cagney@redhat.com> + + * mi-main.c: Rename REGISTER_BYTE to DEPRECATED_REGISTER_BYTE. + +2003-09-10 Elena Zannoni <ezannoni@redhat.com> + + * mi-main.c (mi_setup_architecture_data): Don't use + DEPRECATED_REGISTER_BYTES because some architecture don't set it + and its default is 0. + +2003-08-08 Andrew Cagney <cagney@redhat.com> + + * mi-main.c (captured_mi_execute_command): Add "mi2" and "mi3" to + interpreters that hack around CLI. + * mi-interp.c (mi3_command_loop): New function. + (mi_interpreter_resume): Check for "mi3", default to "mi2". + +2003-08-07 Andrew Cagney <cagney@redhat.com> + + * mi-interp.c (_initialize_mi_interp): Register "mi2" and "mi3". + Make "mi" select "mi2". + +2003-08-05 Andrew Cagney <cagney@redhat.com> + + * mi-cmd-env.c (env_execute_cli_command): Use an explicit "%s %s" + when constructing the run command. + (mi_cmd_env_cd, mi_cmd_env_path, mi_cmd_env_dir): Simplify command + string removing the "%s". + +2003-08-04 Andrew Cagney <cagney@redhat.com> + + * mi-cmds.h (struct mi_cli): Define. + (struct mi_cmd): Change type of "cli" to "struct mi_cli". + * mi-cmds.c (mi_cmds): Update table. + * mi-parse.c (mi_parse): Update. + * mi-main.c (mi_execute_cli_command): Add "args_p" parameter, make + others constant. + (mi_cmd_execute): Update call. + (captured_mi_execute_command): Ditto. + +2003-08-04 David Carlton <carlton@kealia.com> + + * mi-main.c (mi_error_last_message): Add "%s" second argument to + xasprintf call. + +2003-06-28 Daniel Jacobowitz <drow@mvista.com> + + * mi-out.c (mi_ui_out_impl): Add NULL for redirect member. + +2003-06-17 Daniel Jacobowitz <drow@mvista.com> + + * mi-cmds.c (mi_cmds): Add "-target-disconnect". + +2003-06-11 David Carlton <carlton@bactrian.org> + + * mi-cmd-stack.c: Include dictionary.h. + (list_args_or_locals): Update use of ALL_BLOCK_SYMBOLS. + +2003-06-11 Andrew Cagney <cagney@redhat.com> + + * mi-main.c (get_register): Replace REGISTER_CONVERTIBLE with + DEPRECATED_REGISTER_CONVERTIBLE. + +2003-06-08 Andrew Cagney <cagney@redhat.com> + + * mi-parse.c (_initialize_mi_parse): Delete function. + * mi-main.c: Include "mi-main.h". + * mi-interp.c (_initialize_mi_interp): Add declaration. + * mi-cmd-stack.c: Include "stack.h". + (select_frame_command_wrapper): Delete extern declaration. + (mi_cmd_stack_select_frame): Replace select_frame_command_wrapper + with select_frame_command. + +2003-05-16 Andrew Cagney <cagney@redhat.com> + + * mi-main.c (mi_setup_architecture_data): + +2003-05-12 Elena Zannoni <ezannoni@redhat.com> + + * mi-mi-cmd-stack.c (list_args_or_locals): Rename VAR_NAMESPACE to + VAR_DOMAIN. + +2003-05-11 Andrew Cagney <cagney@redhat.com> + + * mi-symbol-cmds.c: Rename "mi-cmd-symbol.c", avoid 8.3 problem. + +2003-05-08 Andrew Cagney <cagney@redhat.com> + + * mi-main.c (register_changed_p): Use MAX_REGISTER_SIZE instead of + MAX_REGISTER_RAW_SIZE. + +2003-05-08 Andrew Cagney <cagney@redhat.com> + + * mi-main.c (get_register): Use MAX_REGISTER_SIZE. + +2003-05-05 Andrew Cagney <cagney@redhat.com> + + * mi-main.c (mi_cmd_data_write_register_values): Replace + REGISTER_SIZE with DEPRECATED_REGISTER_SIZE. + +2003-05-03 J. Brobecker <brobecker@gnat.com> + + From Thierry Schneider <tpschneider1@yahoo.com>: + * mi-cmds.h (mi_cmd_symbol_list_lines): Add declaration. + * mi-cmds.c (mi_cmds): Add entry for new MI command. + * mi-cmd-symbol.c (mi_cmd_symbol_list_lines): New source file + for all symbol-related commands. + +2003-04-02 Bob Rossi <bob_rossi@cox.net> + + * mi-cmd-file.c: New file to implement mi file commands. + * mi-getopt.c (mi_valid_noargs): Added mi_valid_noargs to verify + if a set of parameters passed to an MI function has no arguments + * mi-getopt.h (mi_valid_noargs): Declare. + * mi-cmds.c (mi_cmds): Added -file-list-exec-source-file command. + * mi-cmds.h (mi_cmd_file_list_exec_source_file): Declare. + +2003-03-27 Andrew Cagney <cagney@redhat.com> + + * gdbmi.texinfo: Delete file. Contents moved to + ../doc/gdb.texinfo. + +2003-03-12 Andrew Cagney <cagney@redhat.com> + + * mi-main.c (get_register): Use frame_register instead of + get_saved_register. + +2003-03-08 Andrew Cagney <cagney@redhat.com> + + * mi-out.c: Update copyright. + (mi_out_data): Define typedef. Use instead of ui_out_data. + +2003-03-01 Andrew Cagney <cagney@redhat.com> + + * mi-main.c (get_register): Use register_type instead of + REGISTER_VIRTUAL_TYPE. + +2003-02-25 David Carlton <carlton@math.stanford.edu> + + * mi-cmd-stack.c: Replace all instances of SYMBOL_NAME with + DEPRECATED_SYMBOL_NAME. Update copyright. + +2003-02-21 Daniel Jacobowitz <drow@mvista.com> + + * mi-cmd-stack.c (list_args_or_locals): Handle LOC_COMPUTED and + LOC_COMPUTED_ARG. + +2003-02-19 David Carlton <carlton@math.stanford.edu> + + * mi-cmd-stack.c: #include "block.h" + +2003-02-09 Andrew Cagney <ac131313@redhat.com> + + * mi-interp.c (mi_remove_notify_hooks): Convert function + definition to ISO C. + +2003-02-06 Andrew Cagney <ac131313@redhat.com> + + * mi-cmd-env.c: Include "gdb_stat.h" instead of <sys/stat.h>. + +2003-02-04 Jim Ingham <jingham@apple.com> + Keith Seitz <keiths@redhat.com> + Elena Zannoni <ezannoni@redhat.com> + Andrew Cagney <ac131313@redhat.com> + + * mi-main.h: New file. + * mi-interp.c: New file. + * mi-main.c: Include "interps.h". + (mi_error_message): Make global. + (mi_input): Delete static function, moved to "mi-interp.c". + (mi_execute_command, mi_execute_command_wrapper): Ditto. + (mi_command_loop, mi1_command_loop, mi2_command_loop): Ditto. + (mi_load_progress): Make non-static. + (mi_error_last_message): New function. + (captured_mi_execute_command): If the interpreter changed, don't + print anything. + (mi_load_progress): Use current_interp_named_p. + (mi_init_ui): Delete function. + (_initialize_mi_main): Don't install the mi interpreter, handled + by "mi-interp.c". + (mi_exec_async_cli_cmd_continuation): Make static. + * mi-console.h (mi_console_file_new): Add `quote' parameter. + * mi-console.c (struct mi_console_file): Add `quote'. + (mi_console_file_new): Add `quote' parameter. Initialize `quote'. + (mi_console_raw_packet): Only quote the output when `quote'. + * mi-cmds.h (mi_cmd_interpreter_exec): Declare. + (mi_error_message, mi_error_last_message): Declare. + (mi_execute_command): Declare. + * mi-cmds.c: Add `interpreter-exec' command. + +2003-02-04 Andrew Cagney <ac131313@redhat.com> + + From Keith Seitz <keiths@redhat.com>: + * gdbmi.texinfo (GDB/MI Miscellaneous Commands): Document the + interpreter-exec command. + +2003-02-02 Andrew Cagney <ac131313@redhat.com> + + From 2002-11-10 Jason Molenda (jason-cl@molenda.com): + * mi-cmd-var.c (mi_cmd_var_list_children): CHILDREN field is + now a list; still a tuple when in mi1. + * gdbmi.texinfo: Update var-list-children example. + +2003-01-13 Andrew Cagney <ac131313@redhat.com> + + * mi-cmd-env.c: Update copyright. + +2003-01-13 Elena Zannoni <ezannoni@redhat.com> + + * mi-main.c (mi_cmd_exec_return): Use print_stack_frame instead of + show_and_print_stack_frame. + +2003-01-09 Andrew Cagney <ac131313@redhat.com> + + * mi-cmd-env.c: Include "gdb_string.h" instead of <string.h>. + Move all includes to after "defs.h". + +2002-12-13 Jeff Johnston <jjohnstn@redhat.com> + + * mi-cmds.c (-environment-directory) Change to use mi_cmd_env_dir, + (-environment-cd): Change to use mi_cmd_env_cd,. + (-environment-pwd): Change to use mi_cmd_env_pwd. + (-environment-path): Change to use mi_cmd_env_path. + * mi-cmds.h (mi_cmd_env_cd, mi_cmd_env_dir): New prototypes. + (mi_cmd_env_path, mi_cmd_env_pwd): Ditto. + * mi-cmd-env.c: New file. Part of fix for PR gdb/741. + * gdbmi.texinfo (environment-cd): Update output and example. + (environment-pwd): Ditto. + (environment-dir): Update output, description, and examples. + (environment-path): Ditto. + +2002-11-29 Andrew Cagney <ac131313@redhat.com> + + * mi/mi-cmd-stack.c, mi/mi-main.c: Update to use + deprecated_selected_frame. + +2002-11-13 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (mi_cmd_data_write_register_values): Use + deprecated_write_register_bytes instead of write_register_bytes. + +2002-11-11 Jeff Johnston <jjohnstn@redhat.com> + + * gdbmi.texinfo (-var-assign): Add comments about interaction + with -var-update and add an example. Part of fix for gdb/702. + +2002-11-08 Jeff Johnston <jjohnstn@redhat.com> + + * mi-main.c (mi_command_loop): Initialize raw_stdout and gdb_stdout + only if mi version is <= 1. + (mi_init_ui): Initialize raw_stdout and gdb_stdout if mi version + is > 1 so startup message is treated as console output. This is + part of fix for PR gdb/604. + +2002-11-06 Jeff Johnston <jjohnstn@redhat.com> + + * mi-cmd-var.c (mi_cmd_var_create): Change the function used to + parse the frame addr from parse_and_eval_address() to + string_to_core_addr(). This is a fix for PR gdb/494. + +2002-10-23 Jeff Johnston <jjohnstn@redhat.com> + + * mi-cmd-var.c: Change all remaining occurrences of ui_out_tuple_begin + to make_cleanup_ui_out_tuple_begin_end. Change all remaining + occurrences of ui_out_list_begin to make_cleanup_ui_out_list_begin_end. + Use do_cleanups instead of ui_out_list_end or ui_out_tuple_end. This + is a fix for PR gdb/680. + * mi-cmd-stack.c: Ditto. + * mi-main.c: Ditto. + +2002-10-22 Keith Seitz <keiths@redhat.com> + + * mi-main.c (mi_cmd_thread_select): Only return MI_CMD_CAUGHT_ERROR + when we really did catch an error(). If we got GDB_RC_FAIL, return + MI_CMD_ERROR instead. + +2002-10-03 Jeff Johnston <jjohnstn@redhat.com> + + * gdbmi.texinfo: Fix examples that show frames to remove + extraneous blank in level field. Part of fix for PR gdb/192. + +2002-10-03 Jeff Johnston <jjohnstn@redhat.com> + + * mi-cmd-var.c (mi_cmd_var_update): Fix for PR gdb/672. For m2, + output list begin and end for "changelist" rather than tuple begin/end. + (varobj_update_one): For m2, add tuple begin and end for varobj + update output. + +2002-10-02 Elena Zannoni <ezannoni@redhat.com> + + * mi-main.c (mi_cmd_exec_return): Don't use + return_command_wrapper, use return_command instead. + (mi_cmd_exec_interrupt): Don't use + interrupt_target_command_wrapper, use interrupt_target_command + instead. + (return_command_wrapper, interrupt_target_command_wrapper): + Delete. + Include frame.h. + +2002-10-01 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (mi2_command_loop): New function. + (mi0_command_loop): Delete function. + (_initialize_mi_main): Recognize, and default to, "mi2". Do not + recognize "mi0". + * mi-out.c (mi_table_begin): Remove mi0 code. + (mi_table_body, mi_table_end): Ditto. + (mi_table_header, mi_open, mi_close): Ditto. + +2002-09-29 Andrew Cagney <ac131313@redhat.com> + + * mi-out.c (mi_version): New function. + * mi-out.h (mi_version): Declare. + +2002-09-27 Andrew Cagney <ac131313@redhat.com> + + From 2002-07-12 Mo DeJong <supermo@bayarea.net> + * gdbmi.texinfo (var-evaluate-expression): Note that + var-list-children must be invoked before child variable + values can be evaluated. + +2002-09-26 Elena Zannoni <ezannoni@redhat.com> + + * mi-cmd-disas.c (dump_insns): Add text only output for CLI. + (do_mixed_source_and_assembly): Ditto. + +2002-09-11 Keith Seitz <keiths@redhat.com> + + * mi-main.c (mi_cmd_data_list_register_names): Use cleanups + for the uiout list. Do the cleanups when returning an error. + (mi_cmd_data_list_changed_registers): Ditto. + (mi_cmd_data_list_register_values): Use cleanups for the uiout list + and tuples. Do the cleanups when returning errors. + +2002-07-29 Andrew Cagney <ac131313@redhat.com> + + * mi-cmd-var.c: Include "gdb_string.h". + * mi-cmd-disas.c: Ditto. + +2002-06-17 Keith Seitz <keiths@redhat.com> + + * gdbmi.texinfo: Update command examples with real MI behavior. + +2002-05-20 Keith Seitz <keiths@redhat.com> + + * mi-main.c (captured_mi_execute_command): Add uiout parameter. + "data" is now a structure which is used to pass data to/from this + function to mi_execute_command. + Modify function to comply with requirements from catch_exceptions. + Store real return result and command's return result in data. + (mi_execute_command): Use catch_exceptions. + Use enum to handle actions to be performed instead of overloading + catch_errors return result and the mi return result. + +2002-04-14 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (mi_cmd_exec_return): + +2002-04-09 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (register_changed_p): Use frame_register_read instead + of read_relative_register_raw_bytes. + (get_register): Delete out-of-date comment. + +2002-04-07 Elena Zannoni <ezannoni@redhat.com> + + * mi-cmd-disas.c: Run through indent. + +2002-04-07 Elena Zannoni <ezannoni@redhat.com> + + * mi-cmd-disas.c (dump_insns): New function. + (do_mixed_source_and_assembly): New function. + (do_assembly_only): New function. + (do_disassembly): New function. + (mi_cmd_disassemble): Rewrite using smaller, more modular + functions. + +2002-04-05 Jim Blandy <jimb@redhat.com> + + * mi-cmd-stack.c (list_args_or_locals): Pass new arg to + get_frame_block. (See entry in gdb/ChangeLog.) + +2002-04-05 Elena Zannoni <ezannoni@redhat.com> + + * mi-cmd-disas.c (mi_cmd_disassemble): Use TARGET_PRINT_INSN + instead of tm_print_insn. + Update copyright year. + +2002-04-04 Daniel Jacobowitz <drow@mvista.com> + + * mi-cmd-disas.c (mi_cmd_disassemble): Skip end-of-function + markers in the line table. + +2002-03-15 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (XMALLOC): Delete macro. + * mi-out.c (XMALLOC): Ditto. + * mi-parse.c (XMALLOC): Ditto. + * mi-console.c (XMALLOC): Ditto. + * mi-cmd-var.c (XMALLOC): Ditto. + * mi-cmd-break.c (XMALLOC): Ditto. + + * mi/mi-cmd-var.c, mi/mi-console.c, mi/mi-out.c: Update copyright + * mi/mi-parse.c: Ditto. + +2002-02-24 Andrew Cagney <ac131313@redhat.com> + + From wiz at danbala: + * gdbmi.texinfo: Fix grammar and typos. + Fix PR gdb/287. + +2002-02-03 Jim Blandy <jimb@redhat.com> + + * mi-cmd-stack.c (list_args_or_locals): Move declaration of + print_me inside the loop body, so it gets re-initialized every + iteration. The cases for the different symbol kinds leave + print_me unchanged if they don't want the symbol printed. + +2002-01-22 Andrew Cagney <ac131313@redhat.com> + + * gdbmi.texinfo: Remove makeinfo 3.12 hacks. + +2002-01-21 Andrew Cagney <ac131313@redhat.com> + + * mi-cmd-stack.c: Remove #else clause of #ifdef UI_OUT. + * mi-cmd-break.c: Ditto. + * mi-main.c: Ditto. + +2001-12-30 Eli Zaretskii <eliz@is.elta.co.il> + + * gdbmi.texinfo: Fix the application of GFDL in the Copyright notice. + +2001-10-12 Daniel Jacobowitz <drow@mvista.com> + + * mi-cmd-stack.c (list_args_or_locals): Use ALL_BLOCK_SYMBOLS. + +2001-09-18 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (mi_cmd_thread_select): Pass uiout to + gdb_thread_select. + (mi_cmd_thread_list_ids): Pass uiout to gdb_list_thread_ids. + + * mi-cmd-break.c (breakpoint_notify): Pass uiout to + gdb_breakpoint_query. + +2001-08-17 Keith Seitz <keiths@redhat.com> + + * mi-cmd-var.c (varobj_update_one): Update call to + varobj_update to reflect recent api change. + +2001-07-26 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c: Include "gdb.h". + * mi-cmd-break.c: Include "gdb.h". + +2001-07-12 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (mi_execute_command): Flush output after ``(gdb)'' + prompt. Bug reported by David Whedon. + (mi_execute_async_cli_command): Ditto. + (mi_exec_async_cli_cmd_continuation): Ditto. + (mi_command_loop): Ditto. + +2001-07-10 Mark Kettenis <kettenis@gnu.org> + + * mi-out.c (mi_out_new): Initialize suppress_ouput field of newly + created `struct ui_out_data'. + +2001-07-09 Kevin Buettner <kevinb@redhat.com> + + * mi-main.c (register_changed_p, get_register): Use alloca() + to allocate space previously allocated via gcc's + variable-length array extension. + (mi_cmd_data_write_register_values, mi_cmd_data_write_memory): + Change type of ``buffer'' to ``void *''. Don't cast return value + from xmalloc(). Add a cleanup to free the xmalloc'd buffer. + +2001-07-07 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (mi_cmd_data_evaluate_expression): Replace value_ptr + with `struct value *'. + +2001-07-08 Kevin Buettner <kevinb@redhat.com> + + * mi-out.c (mi_table_header, mi_field_int, mi_field_skip) + (mi_field_string) Make function declarators match earlier + declarations. + +2001-07-04 Andrew Cagney <ac131313@redhat.com> + + * mi-out.c (mi_ui_out_impl): Initialize is_mi_like_p to one. + +2001-06-27 Andrew Cagney <ac131313@redhat.com> + + * mi-out.c (mi_table_begin): Include nr_cols and nr_rows in mi1 + table output. + * mi-out.c (mi_table_begin): Only suppress output when mi0. Change + the header to a list. + (mi_table_body): For mi1, close the header list and open a table + body list. + (mi_table_end): For mi1, close the body list. + (mi_table_header): For mi1, output a tuple containing all the + header information. + (mi_open, mi_close): Reverse logic of mi_version test. + * gdbmi.texinfo (GDB/MI Breakpoint Table Commands): Update. + +2001-06-26 Andrew Cagney <ac131313@redhat.com> + + * gdbmi.texinfo (GDB/MI Output Syntax): Delete reference to query + packet. + +2001-06-26 Andrew Cagney <ac131313@redhat.com> + + * mi-cmd-stack.c (list_args_or_locals): Output a list of "args" or + "locals" entries. + * gdbmi.texinfo (stack-list-locals, stack-list-arguments) + (exec-interrupt, target-select, thread-select): Update + documentation. + +2001-06-26 Andrew Cagney <ac131313@redhat.com> + + * mi-cmd-stack.c (mi_cmd_stack_list_frames): Output a list of + "stack" entries. + (mi_cmd_stack_list_args): Ditto for "stack-args". + * gdbmi.texinfo (stack-list-frames, stack-list-arguments): Update + documentation. + (GDB/MI Stack Manipulation Commands): Fix section title. Was + Stack Manipulation Commands in GDB/MI. + +2001-06-25 Andrew Cagney <ac131313@redhat.com> + + * gdbmi.texinfo: Update output examples that contain stop reason + output, change the args=.... to a list. + (exec-return): Ditto. + +2001-06-25 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (mi_cmd_data_read_memory): Output the memory contents + - memory and data - as a list. + * gdbmi.texinfo (data-read-memory): Update documentation. + +2001-06-25 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (mi_cmd_data_list_register_values): Output a list of + register values. + * gdbmi.texinfo (data-list-register-values): Update documentation. + +2001-06-25 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (mi_cmd_data_list_register_names): Output a list of + register names. + (mi_cmd_data_list_register_names): Include the pseudo registers. + (mi_cmd_data_list_register_names): Don't leave holes in the list, + output "" for NULL registers. + * gdbmi.texinfo (data-list-register-names): Update documentation. + +2001-06-23 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (mi_cmd_data_list_changed_registers): Output a list of + register numbers. + * gdbmi.texinfo (data-list-changed-registers): Update + documentation. + +2001-06-23 Andrew Cagney <ac131313@redhat.com> + + * gdbmi.texinfo (data-disassemble): Update documentation of + output. Produces a list of instructions and a list of source + lines. + +2001-06-22 Andrew Cagney <ac131313@redhat.com> + + * mi-cmd-disas.c (mi_cmd_disassemble): For "-data-disassemble", + output a list instead of a tupple. + +2001-06-21 Andrew Cagney <ac131313@redhat.com> + + * mi-out.c (struct ui_out_data): Replace field first_header with + suppress_output. + (mi_begin, mi_end): Check suppress_header. + (mi_field_int, mi_field_skip): Ditto. + (mi_field_string, mi_field_fmt): Ditto. + (mi_table_begin): When nr_rows is zero, set suppress_header else, + output the start of the header. + (mi_table_body): Clear suppress header. + +2001-06-21 Andrew Cagney <ac131313@redhat.com> + + * mi-out.c (mi_open): For lists, when mi_version > 0, use ``[''. + (mi_close): Ditto for ``]''. + +2001-06-20 Andrew Cagney <ac131313@redhat.com> + + * mi-out.c (mi_table_header): Add parameter ``col_name''. + +2001-06-18 Andrew Cagney <ac131313@redhat.com> + + * mi-out.c: Include "gdb_assert.h". + (mi_table_begin): Add parameter ``nr_rows''. + +2001-06-18 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c: Use strncmp as the "mi" test. Allow "mi", "mi0" and + "mi1". + (mi_command_loop): Add parameter mi_version, pass to mi_out_new. + (mi1_command_loop, mi0_command_loop): New functions. + (_initialize_mi_main): Recognize "mi", "mi0" and "mi1". + * mi-out.c (mi_out_new): Add parameter mi_version. + (struct ui_out_data): Add field mi_version. + * mi-out.h (mi_out_new): Update. + +2001-06-07 Andrew Cagney <ac131313@redhat.com> + + * gdbmi.texinfo (GDB/MI Output Syntax): Add tuples and lists to + syntax. + (GDB/MI Draft Changes to Output Syntax): Delete section. + +Mon Jun 11 17:22:25 2001 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-out.c: Fix typo. s/supress/suppress/. + +2001-06-09 Andrew Cagney <ac131313@redhat.com> + + * mi-out.c (mi_table_end, mi_table_begin, mi_begin, mi_end): Move + supress_field_separator updates from here. + (mi_open, mi_close): To here. + (mi_open): Add parameter name. Output a field_separator. + (mi_table_begin): Update. + (mi_table_header): Update. + (mi_begin): Update. + +2001-06-09 Andrew Cagney <ac131313@redhat.com> + + * mi-out.c (mi_table_begin): Make char* parameters constant. + (mi_table_header): Ditto. + (mi_field_int): Ditto. + (mi_field_skip): Ditto. + (mi_field_string): Ditto. + (mi_field_fmt): Ditto. + (mi_text): Ditto. + (mi_message): Ditto. + +2001-05-12 Andrew Cagney <ac131313@redhat.com> + + * mi-out.c (mi_close, mi_open): Output ``[]'' when a list. + +Fri May 11 13:55:07 2001 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmd-var.c: Replace ui_out_list_begin, ui_out_list_end and + make_cleanup_ui_out_list_end with ui_out_tupple_begin, + ui_out_tupple_end and make_cleanup_ui_out_tupple_begin_end. + * mi-cmd-stack.c: Ditto. + * mi-cmd-disas.c: Ditto. + * mi-main.c: Ditto. + +2001-05-10 Andrew Cagney <ac131313@redhat.com> + + * mi-out.c (mi_open, mi_close): Replace list_open and list_close. + (mi_table_begin): Update. + (mi_table_header): Update. + (mi_begin): Update. + (mi_table_body): Update. + (mi_table_end): Update. + (mi_end): Update. + +Thu May 10 16:28:13 2001 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_execute_async_cli_command): Always initialize + old_cleanups. + +2001-05-08 Andrew Cagney <ac131313@redhat.com> + + * mi-out.c (mi_begin, mi_end): Replace mi_list_begin and + mi_list_end. + (mi_ui_out_impl): Update. + +2001-03-28 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (mi_cmd_data_read_memory): Use xcalloc. + +2001-03-26 Eli Zaretskii <eliz@is.elta.co.il> + + * gdbmi.texinfo: Update copyright. Change Permissions to GFDL. + +2001-03-20 Andrew Cagney <ac131313@redhat.com> + + * mi-cmd-disas.c (mi_cmd_disassemble): Initialize ``file_string'' + and ``line_num''. Consolidate declaration of argument variables. + +2001-03-19 Andrew Cagney <ac131313@redhat.com> + + * mi-out.h: Remove #ifdef __STDC__. + +2001-03-08 Andrew Cagney <ac131313@redhat.com> + + * mi-main.c (mi_cmd_data_list_register_names): Use NUM_REGS, not + ARCH_NUM_REGS. + (mi_cmd_data_list_changed_registers): Ditto. + (mi_cmd_data_list_register_values): Ditto. + (mi_cmd_data_write_register_values): Ditto. + +2001-03-06 Kevin Buettner <kevinb@redhat.com> + + * gdbmi.texinfo, mi-cmd-disas.c, mi-cmd-stack.c, mi-cmd-var.c, + mi-cmds.c, mi-cmds.h, mi-console.c, mi-console.h, mi-getopt.c, + mi-getopt.h, mi-out.c, mi-out.h, mi-parse.c, mi-parse.h: + Update/correct copyright notices. + +Wed Feb 7 19:50:37 2001 Andrew Cagney <cagney@redhat.com> + + * mi-getopt.c: Add __FILE__ and __LINE__ parameter to calls to + internal_error. + * mi-console.c: Ditto. + * mi-cmds.c: Ditto. + * mi-cmd-break.c: Ditto. + +2001-01-27 Fernando Nasser <fnasser@redhat.com> + + From Momchil Velikov <velco@fadata.bg> + * mi-cmd-disas.c (gdb_dis_asm_read_memory): Add missing memory + attributes argument in the call to `xfer_memory'. + +2000-12-14 Kevin Buettner <kevinb@redhat.com> + + * mi-cmd-disas.c, mi-cmd-var.c, mi-console.c, mi-main.c, + mi-parse.c: Replace occurrences of free() with xfree(). + +Fri Nov 17 16:07:23 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c: Replace asprintf with xasprintf. + * mi-cmd-var.c (mi_cmd_var_create): Ditto. + +2000-10-16 Eli Zaretskii <eliz@is.elta.co.il> + + * gdbmi.texinfo (GDB/MI Variable Objects): Dimensions of + multitable changed to "@columnfractions .4 .6". Suggested by + Dmitry Sivachenko <dima@Chg.RU>. + +2000-08-23 Eli Zaretskii <eliz@is.elta.co.il> + + * gdbmi.texinfo: Change flathead -> @sc{gdb/mi}. + Fix typos and markup mistakes (from Dmitry S. + Sivachenko <dima@Chg.RU>). + +2000-07-24 Eli Zaretskii <eliz@is.elta.co.il> + + * gdbmi.texinfo: Change GDB -> @value{GDBN}, and + (gdb) -> (@value{GDBP}). Fix a few typos and some markup. From + Dmitry S. Sivachenko <dima@Chg.RU>. + +Tue May 16 14:13:41 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_cmd_execute): Use free_current_contents. + (free_and_reset): Delete. + +Mon May 15 16:17:56 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_cmd_data_assign, mi_cmd_data_evaluate_expression), + mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete): Delete + make_cleanup_func casts. Not needed. + +2000-05-07 Eli Zaretskii <eliz@is.elta.co.il> + + * gdbmi.texinfo: Lots of typos and grammar fixes from Brian + Youmans <3diff@flib.gnu.ai.mit.edu>. + +Wed Apr 26 18:35:19 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * gdbmi.texinfo (GDB/MI Output Syntax v2.0): Convert Draft 2.0 + Output Syntax into a new section. Cross reference. + (menu): Fix tipo. GDB/MI Compatibility with CLI. + +2000-04-23 Eli Zaretskii <eliz@is.elta.co.il> + + * gdbmi.texinfo: Lots of changes, to include this document as part + of the GDB manual. + +2000-03-13 James Ingham <jingham@leda.cygnus.com> + + * mi-cmd-var.c (mi_cmd_var_create): Add special frame cookie "@" + to indicate an "USE_CURRENT_FRAME" variable. + (varobj_update_one): Add "in_scope" and "type_changed" to the + result. + +2000-03-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmds.h: Export mi_cmd_data_write_register_values. + + * mi-cmds.c (mi_cmds): Implement data-write-register-values with + mi_cmd_data_write_register_values. + + * mi-main.c (mi_cmd_data_write_register_values): New + function. Write a value into a register. + +2000-03-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdbmi.texinfo: Update data-disassemble documentation. + +2000-03-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmd-disas.c (mi_cmd_disassemble): Use + ui_out_field_core_addr() instead of print_address_numeric(), to + maintain consistency throughout MI. + +Wed Feb 23 17:09:39 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmd-break.c, mi-cmd-disas.c, mi-cmd-stack.c, mi-cmd-var.c, + mi-cmds.c, mi-cmds.h, mi-console.c, mi-console.h, mi-getopt.c, + mi-getopt.h, mi-main.c, mi-out.c, mi-out.h, mi-parse.c, + mi-parse.h: Update copyright information. + +Wed Feb 23 13:31:16 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmd-disas.c (gdb_dis_asm_read_memory): Change LEN to unsigned + long. Match ../include/dis-asm.h change. + +Wed Feb 23 10:30:55 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * gdbmi.texinfo: Update copyright - FSF. Update version + information. + + mi-cmd-break.c, mi-cmd-disas.c, mi-cmd-stack.c, mi-cmd-var.c, + mi-cmds.h, mi-main.c, mi-parse.c, mi-parse.h: Re-format using GNU + indent. + +2000-02-21 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c: Add include of gdbcore.h for write_memory() + prototype. + +2000-02-18 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmd-disas.c (mi_cmd_disassemble): Change syntax of + command. Now use options. + Instead of printing the symbolic address of instructions via + print_address_symbolic(), use build_address_symbolic() and format + properly for output. + (gdb_do_disassmble): Delete. + +2000-02-18 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmd-disas.c (mi_cmd_disassemble): + +2000-02-17 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_data_write_memory): New function. Write a + value into target memory. + + * mi-cmds.h (mi_cmd_data_write_memory): Export. + + * mi-cmds.c (mi_cmds): Hook up data-write-memory to + mi_cmd_data_write_memory(). + +2000-02-17 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_target_download): Correct error message to + report right function name. + (mi_cmd_target_select): Add doing exec cleanups at end. + (mi_cmd_data_read_memory): Correct typo. + (mi_cmd_execute): Do not simply free last_async_command, but reset + it to NULL as well. + (free_and_reset): New function, free the argument and set it to + NULL. + (mi_cmd_target_select_continuation): Delete prototype. + +Tue Feb 1 00:17:12 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmd-disas.c, mi-cmds.h, mi-console.c, mi-console.h, + mi-main.c, mi-out.c, mi-out.h: Update to reflect rename of + gdb-file / GDB_FILE to ui-file / ``struct ui_file''. + +Mon Jan 31 18:33:28 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_command_loop): Delete reference to + fputs_unfiltered_hook. + +2000-01-27 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmds.c (mi_cmds): Update entries for + mi_cmd_data_list_register_names, + mi_cmd_data_list_changed_registers, + mi_cmd_data_list_register_values. + + * mi-cmds.h (mi_cmd_data_list_register_names, + mi_cmd_data_list_changed_registers, + mi_cmd_data_list_register_values): Update to mi_cmd_argv_ftype. + + * mi-main.c (mi_cmd_data_list_register_names, + mi_cmd_data_list_changed_registers, + mi_cmd_data_list_register_values): Update to use argc, argv + parameters. + +2000-01-27 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_data_read_memory): Correct the computation of + next-row. + +2000-01-27 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-cmd-var.c (mi_cmd_var_create): Test for NULL type. + (mi_cmd_var_set_format, mi_cmd_var_show_format, + mi_cmd_var_info_num_children, mi_cmd_var_list_children, + mi_cmd_var_info_type, mi_cmd_var_info_expression, + mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression, + mi_cmd_var_assign, mi_cmd_var_update): Prevent possibility of memory + leak on error. + +2000-01-27 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-out.c (mi_field_string): Test for NULL string pointer. + +2000-01-17 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmd-stack.c (mi_cmd_stack_list_frames): Call + print_frmae_info() with the correct arguments. + + * mi-main.c (mi_cmd_exec_return): Call + show_and_print_stack_frame() with LOC_AND_ADDRESS, so it does the + right thing. Update Copyright. + +2000-01-13 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c: Move disassemble commands from here. + + * mi-cmd-disas.c: To here. New file. + +2000-01-13 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmd-stack.c: Remove include of mi-out.h. + + * mi-main.c (mi_cmd_disassemble): Update function to use argc/argv + interface. + + * mi-cmds.h: Ditto. + + * mi-cmds.c: Ditto. + +2000-01-12 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdbmi.texinfo: Update stack commands descriptions. + Add thread commands descriptions and examples. + + * mi-main.c (mi_cmd_thread_list_ids): Fix typo. + +2000-01-12 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_thread_list_ids): New function, print a list + of currently known threads ids, and the total number of threads. + (mi_cmd_thread_select): New function. Switch current thread. + + * mi-cmds.c (mi_cmds): Implement thread-list-ids by + mi_cmd_thread_list_ids, and thread-select by mi_cmd_thread_select. + + * mi-cmds.h (mi_cmd_thread_select, mi_cmd_thread_list_ids): Export. + +2000-01-11 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c: Move stack commands from here. + + * mi-cmd-stack.c: To here. New file. + +2000-01-07 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (list_args_or_locals): Add a new paramter, the frame + for which to display args or locals. Don't use selected_frame + anymore, use the new parameter instead. Return void instead of + mi_cmd_result, let callers do so. + (mi_cmd_stack_list_args): Change interface. Now accept low and + high frame numbers to display args for a range of frames. Without + these two, display args for the whole stack. + (mi_cmd_stack_list_locals): Adapt to new interface for + list_args_or_locals. + +2000-01-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_stack_info_depth, mi_cmd_stack_list_args, + mi_cmd_stack_list_frames, mi_cmd_stack_list_locals, + mi_cmd_stack_select_frame): Change to use argv type of parameters. + + * mi-cmds.c (mi_cmds): Change stack-info-depth, + stack-list-arguments, stack-list-frames, stack-list-locals, + stack-select-frame to use argv parameters. + + * mi-cmds.h (mi_cmd_stack_info_depth, mi_cmd_stack_list_args, + mi_cmd_stack_list_frames, mi_cmd_stack_list_locals, + mi_cmd_stack_select_frame): Update definitions. + +Tue Jan 4 12:38:54 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_command_loop): Force the MI interface to use seven + bit strings. + * gdbmi.texinfo: Make it clear that a quoted C string is seven + bit. + +Thu Dec 30 14:15:22 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-getopt.c (mi_getopt): Rewrite. Allow long options. + * mi-getopt.h (struct mi_opt): Declare. + (mi_getopt): Update. + + * mi-main.c (mi_cmd_data_read_memory), mi-cmd-break.c + (mi_cmd_break_insert, mi_cmd_break_watch): Update. + +Wed Dec 29 23:38:35 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmd-break.c (mi_cmd_break_insert): Add support for -c + <condition>, -i <ignore-count> and -p <thread>. + (breakpoint_notify): New function. + (mi_cmd_break_insert): Wrap GDB call with callback hooks so that + MI is notified when ever a breakpoint is created. + + * gdbmi.texinfo: Update. + +Fri Dec 24 11:23:22 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (gdb_do_disassemble): Strip out more useless #ifdef + UI_OUTs. + +1999-12-23 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (gdb_do_disassemble): Fix output. Lines that have no + assembly instructions must still be outputted, to keep the source + line numbering correct. + Remove #ifdef UI_OUT's, they are useless. + +1999-12-17 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (gdb_do_disassemble): Don't print a new list in mixed + mode, every time. Just do it when we actually encounter a new + source line. + +1999-12-17 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-cmd-var.c (mi_cmd_var_list_children): Add test for C++ pseudo + variable objects (private, public, protected) as these do not have + a type and the -var-list-children operation was dumping core. + +Fri Dec 17 20:23:33 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * gdbmi.texinfo: Document recommended syntax for options. + + * mi-main.c (mi_cmd_data_read_memory): Add support for ``-o + <offset>''. + * gdbmi.texinfo: Document. + +Wed Dec 15 17:43:08 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-getopt.h (mi_getopt): Change optarg to a char pointer. Check + optind. + * mi-cmd-break.c (mi_cmd_break_insert): Update. + + * mi-main.c (mi_cmd_data_read_memory): Add fields "next-row-addr", + "prev-row-addr", "next-page-addr", "prev-page-addr" and a per row + "addr". + * gdbmi.texinfo: Update. + +Wed Dec 15 01:05:40 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmds.h (mi_cmd_result): Add MI_CMD_CAUGHT_ERROR for when the + error is caught. + + * mi-main.c (captured_mi_execute_command): When + MI_CMD_CAUGHT_ERROR return 0 rethrowing the eror. + +1999-12-13 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmd-break.c (mi_cmd_break_insert): Remove unused var. + + * mi-cmd-var.c (mi_cmd_var_update): Remove unused variables. + +Mon Dec 13 18:43:36 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-parse.c (mi_parse): Quote the command when printing it. + (mi_parse_argv): Fix handling of quoted strings. Was not + de-quoting them. + (mi_parse_argv): Make static. + +Mon Dec 13 18:30:03 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmds.h (mi_cmd_break_insert, mi_cmd_break_watch): Change type + to mi_cmd_argv_ftype. + * mi-cmds.c (mi_cmds): Update. + * mi-cmd-break.c (mi_cmd_break_insert, mi_cmd_break_watch): Change + to new style of arguments with argc and argv. Parse arguments + using mi_getopt. + + * mi-cmd-break.c (mi_cmd_break_insert): Wrap body in #ifdef UI_OUT + to avoid non-ui compile problems. + +Mon Dec 13 15:08:36 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-getopt.h, mi-getopt.c: New files. Similar to getopt but with + well defined semantics. + +Mon Dec 13 14:22:21 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_cmd_break_insert, mi_cmd_break_watch, enum + wp_type, enum bp_type): Move from here. + * mi-cmd-break.c: To here. New file. + (mi_cmd_break_insert, mi_cmd_break_insert, mi_cmd_break_watch): + Use error to report problems. + +1999-12-09 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdbmi.texinfo: Update description of exec-interrupt. + + * mi-main.c (mi_cmd_exec_interrupt): If the program is not + executing, don't try to interrupt it, but error out instead. Make + sure previous_async_command is not null before duplicating it into + last_async_command. + + * gdbmi.texinfo: Add examples for data-evaluate-expression. + +1999-12-08 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmd-var.c (mi_cmd_var_assign, mi_cmd_var_create, + mi_cmd_var_delete, mi_cmd_var_evaluate_expression, + mi_cmd_var_info_expression, mi_cmd_var_info_num_children, + mi_cmd_var_info_type, mi_cmd_var_list_children, + mi_cmd_var_set_format, mi_cmd_var_show_attributes, + mi_cmd_var_show_format, mi_cmd_var_update): Change to use new + style of arguments with argc and argv. + (next_arg): Delete. + (which_var): Delete. + + * mi-cmds.c (mi_cmds): Update entries for mi_cmd_var_assign, + mi_cmd_var_create, mi_cmd_var_delete, + mi_cmd_var_evaluate_expression, mi_cmd_var_info_expression, + mi_cmd_var_info_num_children, mi_cmd_var_info_type, + mi_cmd_var_list_children, mi_cmd_var_set_format, + mi_cmd_var_show_attributes, mi_cmd_var_show_format, + mi_cmd_var_update. + + * mi-cmds.h (mi_cmd_var_assign, mi_cmd_var_create, + mi_cmd_var_delete, mi_cmd_var_evaluate_expression, + mi_cmd_var_info_expression, mi_cmd_var_info_num_children, + mi_cmd_var_info_type, mi_cmd_var_list_children, + mi_cmd_var_set_format, mi_cmd_var_show_attributes, + mi_cmd_var_show_format, mi_cmd_var_update): Update declarations. + +1999-12-08 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdbmi.texinfo: Comment out -data-assign command. * mi-main.c + (mi_cmd_data_assign): Do not use, comment out. * mi-cmds.h + (mi_cmd_data_assign): Remove. * mi-cmds.c: Remove -data-assign + command from MI interface. + +1999-12-07 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-parse.c (mi_parse): Add '\n' at end of error messages, so + that prompt comes out on new line. + + * gdbmi.texinfo: Update disassembly command output. + +1999-12-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (gdb_do_disassemble): Update output for UI_OUT case. + +1999-12-02 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdbmi.texinfo: Update exec-until output, including the reason + for stopping. + +Thu Dec 2 17:17:22 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmds.c: Include <string.h> for memset. + +1999-12-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_exec_return): ifdef the references to + return_command_wrapper(). + +1999-12-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_interrupt, + mi_cmd_target_select, mi_execute_async_cli_command, + mi_exec_async_cli_cmd_continuation, mi_load_progress): Don't print + last_async_command if it is NULL. + (mi_cmd_exec_return): + +1999-12-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_exec_return): Reimplement using + return_command() instead of mi_execute_async_cli_command(). + +1999-12-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmds.h: Export mi_cmd_data_assign and + mi_cmd_data_evaluate_expression. + + * mi-cmds.c (mi_cmds): Hook data-assign to mi_cmd_data_assign and + data-evaluate-expression to mi_cmd_data_evaluate_expression. + + * mi-main.c (mi_cmd_data_assign): New function. Implement + data-assign command. + (mi_cmd_data_evaluate_expression): New function. Implement + data-evaluate-expression command. + +1999-12-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdbmi.texinfo: Fix some texinfo formatting errors. + +1999-12-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdbmi.texinfo: Update data-list-register-values description. + + * mi-cmds.h: Export mi_cmd_data_list_register_values. + + * mi-cmds.c (mi_cmds): Hook data-list-register-values to + mi_cmd_data_list_register_values. + + * mi-main.c (mi_cmd_data_list_register_values): New + function. Implements the -data-list-register-values command. + (get_register): New function. Output the contents of a given + register. + +Wed Dec 1 20:27:22 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_execute_async_cli_command): Append missing "\n" + for synchronous stopped message. + +1999-11-30 James Ingham <jingham@leda.cygnus.com> + + * gdbmi.texinfo: Fix obvious typo in @end statement. + +Wed Dec 1 12:36:27 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmd-var.c: Include "value.h". + * mi-console.c: Include <string.h>. + +Wed Dec 1 00:21:03 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (captured_mi_execute_command): For a CLI command, pass + "%s" to mi_execute_cli_command to stop core dumps. + (captured_mi_execute_command): Echo CLI commands on gdb_stdlog. + +Wed Dec 1 00:10:07 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * gdbmi.texinfo: Explain NR-BYTES and ADDR. + +Tue Nov 30 23:31:57 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete, + mi_cmd_var_set_format, mi_cmd_var_show_format, + mi_cmd_var_info_num_children, mi_cmd_var_list_children, + mi_cmd_var_info_type, mi_cmd_var_info_expression, + mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression, + mi_cmd_var_assign, mi_cmd_var_update, varobj_update_one, next_arg, + which_var): New file. Move varobj commands to here from + mi-main.c. + + * mi-console.h, mi-console.c (mi_console_file_new, + mi_console_file_delete, mi_console_file_fputs, + mi_console_raw_packet, mi_console_file_flush): New files. Move + mi_console_file to here from mi-main.c. + +Tue Nov 30 19:37:25 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (captured_mi_execute_command): Use fputstr_unfiltered + when printing error messages. + (mi_cmd_execute): Ditto. + +1999-11-29 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdbmi.texinfo: Describe -data-list-changed-registers, + -data-list-register-names. Add examples for + -exec-next-instruction, exec-step-instruction, -exec-run, + -exec-until. Format examples for -data-read-memory. + update example for -target-download. + +1999-11-29 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdbmi.texinfo: Remove mentioning of inaccurate watchpoint hit + count. + +Mon Nov 29 19:28:55 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_execute_async_cli_command): Return ``enum + mi_cmd_cmd_result''. mi_cmd_exec_run, mi_cmd_exec_next, + mi_cmd_exec_step, mi_cmd_exec_step_instruction, + mi_cmd_exec_finish, mi_cmd_exec_until, mi_cmd_exec_return, + mi_cmd_exec_continue): Update call. + (mi_execute_async_cli_command): When target is synchronous, fake + asynchronous behavour (ulgh). Allows tests to be run on built-in + simulator and native targets. + +Mon Nov 29 15:15:16 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmds.h (mi_cmd_gdb_exit), mi-cmds.c (mi_cmds), mi-main.c + (mi_cmd_gdb_exit): Change function signature to mi_cmd_argv_ftype. + +1999-11-28 Andew Cagney <cagney@rat-in-a-hat.cygnus.com> + + * mi-parse.c: Include <ctype.h> and <string.h> + +1999-11-26 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdbmi.texinfo: Added watchpoint command descriptions and + examples. + + * mi-main.c (mi_load_progress): Add parameter for total sent so far. + Print it as well. + +Fri Nov 26 10:17:49 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * gdbmi.texinfo (section Output Syntax): For lists, the <string> + part of a <result> is optional. Clarify syntax. + (appendix Proposed v2.0 Output Syntax): New section. Provide + record of discussion of possible changes to syntax. + +Wed Nov 24 19:41:35 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_cmd_data_read_memory): Simplify. Fix coredump + when arguments were bad. + (mi_cmd_execute): Change parameter to ``struct mi_parse''. Handle + case of argv_func as well as args_func. + (captured_mi_execute_command): Update. + + * mi-cmds.c (struct mi_cmd): Add field for mi_cmd_argv_ftype. + (mi_cmds): Update mi_cmd_data_read_memory. + (mi_lookup): Return + + * mi-cmds.h (mi_cmd_args_ftype): Rename mi_cmd_ftype. Make all + functions of type this type. + (mi_cmd_argv_ftype): Declare. + (mi_cmd_data_read_memory): Change type to mi_cmd_argv_fytpe. + (struct mi_cmd): Move declaration to here from mi-cmds.c. + (mi_lookup): Return a pointer to ``struct mi_cmd''. + +Wed Nov 24 15:03:34 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-parse.c (mi_parse): Initialize TOKEN when a CLI command. + + * gdbmi.texinfo: Allow a <token> before a CLI command. + + * mi-parse.h (struct mi_parse): Declare. + (mi_parse): Change to return a ``struct mi_parse''. + (enum mi_command_type): Delete PARSE_ERROR. + + * mi-main.c (struct mi_execute_command_context): Delete. + (captured_mi_execute_command): Update + (mi_execute_command): Update. Check for mi_parse returning NULL. + +Wed Nov 24 12:57:14 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-parse.h: Remove const, from cmd parameter. Causes cascading + warnings. + +Wed Nov 24 15:03:34 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-parse.c (mi_parse): New function. Move parse code to here. + * mi-main.c (parse): From here. Delete. + +Wed Nov 24 12:57:14 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-parse.c, mi-parse.h: New files. Implement mi_parse_env. + +Wed Nov 24 11:24:05 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-out.c (mi_field_string): Make string parameter constant. + +1999-11-23 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmds.h (mi_cmd_target_download): Export. + + * mi-cmds.c (mi_cmds): Add mi_cmd_target_download. + + * mi-main.c: Include <sys/time.h>. + (mi_cmd_target_download): New function, implement the + target-download command. + (mi_load_progress): New function. Called via the + show_load_progress hook. Prints updates every 0.5 secs. + (mi_command_loop): Initialize the show_load_progress hook. + +1999-11-22 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_exec_until): New function. Implement until + command. + (mi_cmd_exec_step_instruction): New function. Implement stepi + command. + (mi_cmd_exec_next_instruction): New function. Implement nexti + command. + + * mi-cmds.c (mi_cmds): Add mi_cmd_exec_step_instruction, + mi_cmd_exec_next_instruction, mi_cmd_exec_until. + + * mi-cmds.h (mi_cmd_exec_step_instruction, + mi_cmd_exec_next_instruction, mi_cmd_exec_until): Export. + +Tue Nov 23 00:30:37 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi/gdbmi.texinfo: Document -data-read-memory. + + * mi-main.c (mi_cmd_data_read_memory): Fix off-by-one check of + argc. + (mi_cmd_data_read_memory): Label the output table with "memory". + +Thu Nov 18 18:15:53 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_cmd_exec_interrupt, mi_cmd_break_insert, + mi_cmd_break_watch, mi_cmd_disassemble, mi_cmd_execute): Replace + strdup with xstrdup. + +Thu Nov 18 20:50:09 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_cmd_data_read_memory): New function. Implement + data-read-memory. + + * mi-cmds.h, mi-cmds.c: Add mi_cmd_data_read_memory. + * mi-cmds.c (mi_cmds): Ditto. + +1999-11-11 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmds.h (mi_cmd_break_watch): Export. + + * mi-cmds.c (mi_cmds): Hook up break-watch to function + mi_cmd_break_watch. + + * mi-main.c (wp_type): New enumeration for the possible types of + watchpoints. + (mi_cmd_break_watch): New function, implements the break-watch + command. + +1999-11-11 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_break_insert): Handle case in which the command is + just a -break-insert w/o args. + +Fri Nov 12 00:01:52 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-out.c (mi_field_string): Always quote the string. + +1999-11-10 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmds.h(mi_cmd_data_list_changed_registers, + mi_cmd_data_list_register_names): Export. + + * mi-cmds.c (mi_cmds): Hook up data-list-changed-registers to + mi_cmd_data_list_changed_registers and data-list-register-names to + mi_cmd_data_list_register_names. + + * mi-main.c (mi_cmd_data_list_changed_registers): New function, + implements the data-list-changed-registers command. + (mi_cmd_data_list_register_names): New function, implements the + data-list-register-names command. + (register_changed_p): New function. Decide whether the register + contents have changed. + (setup_architecture_data): New function. Initialize registers + memory. + (_initialize_mi_main): Call setup_architecture_data(), and + register_gdbarch_swap(). + +Wed Nov 10 18:35:08 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_execute_command): Correctly quote error messages. + +Wed Nov 10 11:05:14 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi/gdbmi.texinfo: Delete <stream-output>. Replaced by + <c-string>. + + * mi-main.c (mi_console_raw_packet): Always quote console output. + +Tue Nov 9 17:53:05 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_console_file_new), mi-out.c (mi_out_new): Replace + the tui_file with a mem_file. Ya! + + * mi-out.c (do_write): New function, wrapper to gdb_file_write. + (mi_out_put): Pass do_write to gdb_file_put. + + * mi-main.c (mi_console_file_flush): Rewrite. Use + mi_console_raw_packet to send data to the console. + (mi_console_raw_packet): New function. Correctly + create quoted C string packets. + +1999-11-08 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmds.c (mi_cmds): Break-insert is now implemented by + mi_cmd_break_insert. + * mi-cmds.h (mi_cmd_break_insert): Export. + * mi-main.c (bp_type): New enumeration. + (mi_cmd_break_insert): New function. Implements all flavors of + breakpoint insertion. + +Mon Nov 8 17:49:17 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_console_file_flush): Replace gdb_file_get_strbuf + with tui_file_get_strbuf. + +Fri Nov 5 17:06:07 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_console_file_delete, mi_console_file_fputs, + mi_console_file_flush): Call internal_error instead of error. + +Thu Nov 4 19:53:32 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (captured_mi_execute_command): New function. + (mi_execute_command): Rewrite. Replace SET_TOP_LEVEL() with call + to captured_mi_execute_command via catch_errors. + +Thu Nov 4 20:33:58 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (clean): Delete. + (mi_command_loop): Delete extern declaration of + mi_execute_command. + +1999-10-28 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_stack_select_frame): Conditionalize the body + on UI_OUT, because select_frame_command_wrapper is only defined if + UI_OUT is. + (mi_cmd_exec_interrupt): Conditionalize the body on UI_OUT, + because interrupt_target_command_wrapper is only defined if UI_OUT is. + + * mi-cmds.c (mi_cmds): Implement command exec-interrupt by + mi_cmd_exec_interrupt. + + * mi-main.c (mi_cmd_exec_interrupt): New function. Implements + exec-interrupt command. + (mi_cmd_execute): If the target is running save execution command + token in previous_async_command. If the command is not 'interrupt' + and the target is running, reject it. + (clean): New function. Free the arg and reset it to NULL. + + * mi-cmds.h (mi_cmd_exec_interrupt):Export. + +1999-10-28 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmds.c (mi_cmds): Implement command stack-select-frame by + mi_cmd_stack_select_frame. + + * mi-main.c (mi_cmd_stack_select_frame): New function. Implements + stack-select-frame command. + + * mi-cmds.h (mi_cmd_select_frame):Export. + +1999-10-26 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmds.c (mi_cmds): Implement commands stack-list-locals and + stack-list-arguments by mi_cmd_stack_list_locals and + mi_cmd_stack_list_args. + + * mi-main.c (mi_cmd_stack_list_locals): New function. Implements + stack-list-locals command. + (mi_cmd_stack_list_args): New function. Implements + stack-list-arguments command. + (list_args_or_locals): New function. Do all the work for the + listing of locals or arguments. + + * mi-cmds.h (mi_cmd_stack_list_args,mi_cmd_stack_list_locals) : + Export. + +1999-10-25 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-cmds.c (mi_cmds): Add new command stack-info-depth. + + * mi-main.c (mi_cmd_stack_info_depth): New function. Implements + the stack-info-depth command. + * mi-cmds.h (mi_cmd_stack_info_depth): Export. + + +1999-10-22 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_execute_command): Handle MI_CMD_ERROR case + properly, for command that return error code and don't set + mi_error_message. + + * mi-cmds.c (mi_cmds): Hook stack-list-frames command to + mi_cmd_stack_list_frames function. + * mi-cmds.h (mi_cmd_stack_list_frames): Export. + + * mi-main.c (mi_execute_command): Deal with a return code of + MI_CMD_ERROR from the execution of mi commands. + (mi_error_message): Static string variable, to contain the error + message from mi commands. + (mi_cmd_stack_list_frames): New function. Prints a backtrace. + +1999-10-18 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_disassemble): Handle the new command line + parameter that specifies the number of disassembly lines to be + displayed. + (gdb_do_disassemble): Add new parameter. Count the number of lines + that have been displayed, and stop when limit is reached. + +Wed Oct 13 18:04:13 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_command_loop): Don't initialize ``flush_hook''. + +1999-10-13 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi/gdbmi.texinfo: More reformatting of the grammars. + +1999-10-12 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi/gdbmi.texinfo: More TeX formatting. + +1999-10-11 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi/gdbmi.texinfo: First pass completed. All commands should have + some comments/info. + Escape '@' output special char. + Reformat for TeX. + +1999-10-08 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi/gdbmi.texinfo: Filled in part of file command section, and + stack section. + +1999-10-07 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi/gdbmi.texinfo: Filled in some sections about execution + commands. + +Tue Oct 5 15:27:28 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmds.h: Sort table + * mi-cmds.c: Ditto. + (MI_TABLE_SIZE): Increase to 251. + +1999-10-04 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c (mi_cmd_var_create, mi_cmd_var_delete): Add missing + cleanups. + +1999-10-04 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c (next_arg): Returns lenght as well. + (which_var, mi_cmd_var_create, mi_cmd_var_delete, + mi_cmd_var_set_format, mi_cmd_var_update): Do not modify the input + string, use allocated storage instead. + (mi_cmd_var_assign): Adjust call to next_arg() to include new + argument. + +1999-10-04 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c (mi_execute_command): Fix handling of errors. + +1999-10-04 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-out.c (mi_out_new): Call tui_sfileopen() instead of + deprecated gdb_file_init_astream(). + * mi-main.c (mi_console_file_new): Ditto. + +Mon Oct 4 15:17:29 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmds.h: Sort function declarations. + (mi_lookup): Add extern. + + * mi-cmds.c (mi_lookup): Delete dead code. + (build_table): Call internal_error instead of error. + (build_table): Send trace output to gdb_stdlog. + +1999-10-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_execute_async_cli_command): Don't do the cleanups + if target_executing is null. + +1999-09-28 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (async_p): Change var name to event_loop_p. + +Mon Sep 27 15:11:00 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_execute_async_cli_command, mi_execute_command): + Replace target_has_async with function target_can_async_p. + +Sun Sep 26 00:12:52 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_cmd_target_select_continuation): Delete function. + (mi_cmd_target_select): Simplify. target-connect is guarenteed to + be synchronous. + +Sun Sep 26 00:12:52 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmds.h (mi_cmd_ftype): Replace mi_impl_ftype. + (enum mi_cmd_result): Define. + * mi-cmds.c (struct mi_cmd): Update. + (mi_lookup): Update. + * mi-main.c (mi_cmd_execute): Update. + + * mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_run, mi_cmd_exec_next, + mi_cmd_exec_step, mi_cmd_target_select, mi_cmd_exec_continue, + mi_cmd_exec_return, mi_cmd_exec_finish, mi_cmd_disassemble, + mi_cmd_var_create, mi_cmd_var_delete, mi_cmd_var_set_format, + mi_cmd_var_show_format, mi_cmd_var_info_num_children, + mi_cmd_var_list_children, mi_cmd_var_info_type, + mi_cmd_var_info_expression, mi_cmd_var_show_attributes, + mi_cmd_var_evaluate_expression, mi_cmd_var_update): Update. + Return MI_CMD_DONE. + +1999-09-22 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c (mi_cmd_var_create): Use paddr() to format address + on trace output. + +1999-09-21 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c (mi_cmd_var_create): Test for varobjdebug before + printing trace and send it to gdb_stdlog. + +Mon Sep 20 13:41:04 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * Makefile.in (mi-out.o): Add dependency list. + * mi-out.c: Include "mi-out.h". + +1999-09-18 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (_initialize_mi_main): Events on stadin are now + handled by stdin_event_handler. + +1999-09-17 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-cmds.c (mi_cmds): Add var-* commands. + +1999-09-17 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c (mi_cmd_var_create, mi_cmd_var_delete, + mi_cmd_var_set_format, mi_cmd_var_show_format, + mi_cmd_var_info_num_children, mi_cmd_var_list_children, + mi_cmd_var_info_type, mi_cmd_var_info_expression, + mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression, + mi_cmd_var_assign, mi_cmd_var_update, varobj_update_one, + which_var, next_arg): New functions. Implement the -var-* + commands. + * mi-cmds.h: Add prototypes for the above. + +1999-09-14 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-cmds.c (mi_cmds): Add detach command. + +1999-09-09 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-cmds.c (lookup_table): Fix typo. + +1999-09-09 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-cmds.c (mi_cmds): Fix typo and missing command. + +1999-09-09 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c: Properly align function prototypes. + (mi_cmd_target_select): Proper check for NULL value. + +1999-09-09 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c (mi_execute_async_cli_command): Fix for native targets + that do not have async yet. + +1999-09-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_disassemble): Remove unused var. + (gdb_do_disassemble): Ditto. + +1999-08-30 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c: Replace all the occurrences of 'asynch' in variable + or function names with 'async' to make it consistent with the rest + of gdb. + +Mon Aug 30 18:16:39 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c: #include <ctype.h> for isspace(). + +1999-08-27 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (gdb_do_disassemble): This function returns void, not + int. + +1999-08-26 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_disassemble): Don't use atoi() on the high + address string, just treat it same as address low. + (gdb_do_disassemble): Parse high_address string before seeing if + it is zero. + +1999-08-25 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_disassemble): New function to produce + disassembly output for mi. + (gdb_dis_asm_read_memory): New function. Read the disassembly from + the executable file, instead of target memory. + (compare_lines): New function. Compare order of disassembly lines. + (gdb_do_disassemble): New function. Do the real job of getting the + assembly code out. + + * mi-cmds.c (mi_cmds): Do data-disassemble mi command via the + mi_cmd_disassemble function. + + * mi-cmds.h: Export new function mi_cmd_disassemble. + +Wed Aug 25 15:58:31 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_command_loop): Remove references to ui-hooks. + +1999-08-21 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_execute_asynch_cli_command): Fix the incorrect + usage of strcat(): allocate enough space for the string. + +1999-08-13 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + From Christopher Faylor <cgf@cygnus.com> + * mi-main.c (mi_execute_command): Make sure we flush all the + output after each command. + +1999-08-10 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (_initialize_mi_main): Remove casting in call to + add_file_handler. + +Sun Aug 8 17:20:57 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_cmd_target_select, mi_execute_asynch_cli_command): + Replace call to fatal with call to internal_error. + +1999-07-26 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c (mi_cmd_execute): Add return code. + (mi_execute_command): Make appropriate changes when calling the + function mentioned above. + (mi_cmd_gdb_exit, mi_cmd_target_select, + mi_cmd_target_select_continuation, mi_execute_command, + mi_exec_asynch_cli_cmd, mi_exec_asynch_cli_cmd_continuation): + Print token, prefix, class and output (if any) in one single group + of statements. + (mi_execute_command, mi_cmd_execute): Fix error prefix. + (mi_cmd_execute): Use exec cleanup for token. + * mi-out.c (mi_out_rewind): New function. + * mi-out.h: Prototype for the above. + +1999-07-16 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c (mi_cmd_gdb_exit): Use buffer for exit message. + (mi_cmd_execute): Route error messages to correct file. + (mi_execute_asynch_cli_command): Insert line feed after running + message. + +1999-07-16 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-out.h (mi_out_buffered): Add extern declaration. + * mi-out.c (mi_out_buffered): New function. Insert a string at the + current buffer position. + * mi-main.c (mi_cmd_target_select, mi_execute_command, + mi_cmd_execute, mi_execute_asynch_cli_command): Use the above + function instead of printing to raw_stdout. + (mi_cmd_target_select, mi_cmd_target_select_continuation, + mi_execute_command, mi_cmd_execute, mi_execute_cli_command, + mi_exec_asynch_cli_cmd_continuation): Fix handling of token and + prefix. + (mi_execute_cli_command): Remove parameter no longer needed. + +1999-07-15 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c (mi_cmd_target_select_continuation): Print the numeric + token when we are connected. + (mi_execute_command): Don't print the token now, do it later. + (mi_execute_cli_command): Add a new parameter for the numeric + token. Print the token, the prefix and the class after the + command has executed, not before. + (mi_execute_asynch_cli_command): Don't print an extra blank line. + +1999-07-15 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c (mi_gdb_exit): Add \n at the end. + +1999-07-15 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c (mi_cmd_execute): New function. Dispatch a mi operation. + (mi_execute_command): Use the above. + +1999-07-15 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c: Fix identation. + +1999-07-15 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-main.c: Include target.h and inferior.h. + (mi_cmd_target_select): New function to execute the target-select + mi operation. + (mi_cmd_target_select_continuation): New function. Continuation + for the target-select operation. + (mi_execute_command): In case of an MI command which requires + asynchronous execution, do not try to display the result now. If + the execution has to look synchronous don't display the "(gdb)" + prompt. + (mi_execute_asynch_cli_command): Invoke real asynchronous + commands, set up exec_cleanups, and continuations. + (mi_exec_asynch_cli_cmd_continuation): New function. Continuation + for all the MI execution commands except 'target-select'. + (mi_execute_command): Handle null commands by exiting gdb, instead + of core dumping. + + * mi-cmds.c (mi_cmds): Hook up -target-select operation to new mi + function. + + * mi-cmds.h (mi_cmd_target_select): Add extern declaration. + +Thu Jul 15 10:31:39 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (struct mi_console_file): Add field ``prefix''. + (mi_console_file_new): Add argument prefix. Initialize prefix + field. + (mi_console_file_flush): Use ``prefix'' instead of "~" as the + prefix string. + (mi_command_loop): Update stream output prefixes. gdb_stdout == + "~", gdb_stderr / gdb_stdlog == "&", gdb_stdtarg == "@". + +1999-07-13 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c (ui_out_data): New field first_header. Fix output when + no breakpoints are found. + (mi_table_begin, mi_table_body, mi_table_header): Test for + first_header. + (mi_table_end): Test for supress_field_separator. + (mi_message): Remove messages from MI output. + +1999-06-30 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-cmds.c (mi_cmds[]): Delete gdb-cli operation. + * mi-main.c (parse): Remove ifdefs for cli commands parsing. + (mi-execute-command): Ditto. + +Mon Jun 28 13:06:52 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-out.h: New file. + (mi_out_new, mi_out_put): Move mi specific delcarations to here. + * ui-out.h: From here. + + * mi-main.c: Include "mi-out.h". + +1999-06-25 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * top.c (print_gdb_version): Add the word HEADLESS when output + follows headless format. + (print_command_lines): Fix typo. + +1999-06-25 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * event-loop.h: Export input_fd. + * mi-main.c (mi_command_loop): Use the event loop if running + asynchronously. + (mi_execute_command_wrapper): New function. + (_initialize_mi-main): Set things up for running asynchronously. + +1999-06-18 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-cmds.c (mi_lookup): Deleted. + (lookup_table): New function. Replaces old mi_lookup() for local + use. + (mi_lookup): New function. External interface for command table + searchs. + (build_table): New definition. + (mi_cmds[]): Add several command implementations and the gdb-cli + special operation. + (mi_cmd_execute): Deleted. + * mi-cmds.h: Add type definition for command implementation + function pointers, add declaration for new implementation + functions and a declaration for mi_lookup(). + * mi-main.c (mi_execute_asynch_cli_command): New + function. Captures code that was repeated for all asynch + operations. + (mi_cmd_exec_*): Use the above new function. + (mi_gdb_cmd_exit): Fix the output, printing something appropriate. + (mi_cmd_exec_finish): New operation implementation function. + (mi_cmd_exec_return): Ditto. + (parse): Prepare to remove cli commands. + (mi_execute_command): Fix the output and change the way mi-cmds is + used. + +1999-06-18 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-out.c (mi_table_begin): Add missing field separator call. + +Thu Jun 17 21:05:40 1999 Fernando Nasser <fnasser@tofu.to.cygnus.com> + + * breakpoint.c (breakpoint_1): Remove space in breakpoint table + id. + (mention): Use ui_out for last new line (forgotten). + +1999-06-16 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c (mi_console_file_flush): Prevent prefix printing when + buffer empty; change prefix to '~'. + (mi_cmd_exec_*): Prefix normal output with '^' instead of + ','; remove unwanted new lines before "stopped". + +1999-06-16 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-cmds.c (struct mi_cmds): Updated entries for -exec-continue + and exec-next operations. + (mi_cmd_execute): New text for error messages. + * mi-cmds.h: Add declaration for mi_cmd_exec_next and + mi_cmd_exec_continue. + * mi-main.c (mi_cmd_exec_next): New function. Implements exec-next + operation. + (mi_cmd_exec_continue): New function. Implements exec-continue + operation. + (mi_execute_comand): Add missing space to prompt. + (mi_cmd_exec_run): Ditto. + (mi_cmd_exec_step): Ditto. + * mi-out.c (mi_out_new): Add flags argument to ui_out_new call. + (ui_list_end): Reset supress_field_separator flag. + +Sat Jun 12 11:49:10 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmds.h. mi-cmds.c (exec step): Command implemented by + mi_cmd_exec_step instead of cli call. + * mi-main.c (mi_cmd_exec_step): New function. + + * mi-cmds.h. mi-cmds.c (exec run): Command implemented by + mi_cmd_exec_run instead of cli call. + * mi-main.c (mi_cmd_exec_run): New function. + + * mi-cmds.h. mi-cmds.c (gdb exit): Command implemented by + mi_cmd_gdb_exit instead of quit_force. + * mi-main.c (mi_cmd_gdb_exit): New function. + +Sat Jun 12 11:33:23 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_command_loop): Pass mi_input to + simplified_command_loop. + (mi_input): New function. Calls gdb_readline with no prompt. + +Sat Jun 12 11:19:02 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_console_file_fputs): Re-implement. Use a buffer + to accumulate output. + + * mi-main.c (struct mi_console_file): Add a buffer. + (mi_console_file_new): Create a buffer. + (mi_console_file_flush): New function. + +Sat Jun 12 10:59:39 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-cmds.h (raw_stdout): Declare. Will be moved later. + * mi-cmds.c (mi_cmd_execute): Send error messages to RAW stdout. + (mi_cmds): Sort by class. + + * mi-main.c (raw_stdout): Make global. + * mi-main.c: Remove #ifdef UI_OUT. File assumes UI_OUT is + present. + * mi-main.c: Include "gdb_string.h". + (mi_out_put): Delete declaration. + +1999-06-11 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-main.c: Add pre-processor test for UI_OUT. + (mi_execute_command): Add pre-processor test for UI_OUT. + +Fri Jun 11 23:11:41 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (raw_stdout): New variable. + (mi_execute_command): Write mi-out direct to raw_stdout. + (mi_command_loop): Create raw_stdout. Attach gdb_stdout to the + console. + (mi_console_file_fputs, mi_console_file_delete, + mi_console_file_new): New functions. + (struct mi_console_file): Declare. + +Fri Jun 11 18:34:33 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c (mi_execute_command): Call mi_out_put to display the + result. + * mi-out.c (mi_out_put): New function. + * ui-out.h (mi_out_put): Add declare. Will move later. + * Makefile.in (mi-cmds.o, mi-main.o): Add dependency on ui-out.h. + + * mi-out.c (mi_field_string, mi_field_fmt, mi_message, mi_flush, + out_field_fmt, list_open, list_close): Replace gdb_stdout with + data->buffer. + (field_separator, list_open, list_close): Add uiout parameter. + (mi_table_begin, mi_table_body, mi_table_end, mi_list_begin, + mi_list_end, mi_field_string, mi_field_fmt, out_field_fmt, + out_field_fmt): Update. + + * mi-out.c (mi_out_new): Initialize supress_field_separator. + (supress_field_separator): Move into mi-out local data object. + (mi_table_begin, mi_list_begin, field_separator): Update. + +Fri Jun 11 16:08:37 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-out.c (mi_out_new): New function, replace init_mi_out. + * mi-main.c (mi_command_loop): Call mi_out_new(). + + * ui-out.h (mi_out_new): Add declaration. Will move later. + (mi_ui_out_impl): Delete. + +Wed Jun 9 16:42:16 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-main.c: Include "ui-hooks.h". + (mi_init_ui, mi_command_loop): New functions. + (_initialize_mi_main): Install ``mi'' as the interpreter when + selected. + +Mon Jun 7 18:43:43 1999 Andrew Cagney <cagney@b1.cygnus.com> + + From Fernando Nasser <fnasser@totem.to.cygnus.com> + * mi-cmds.c (build_table): Clean up error message. + * mi-cmds.c (mi_cmd_execute), mi-main.c (mi_execute_command): Only + print debug information when mi_debug_p. + * mi-cmds.h (mi_debug_p), mi-main.c: Global, control debug messages. + +Thu Jun 3 00:44:52 1999 Andrew Cagney <cagney@b1.cygnus.com> + + From Fernando Nasser <fnasser@totem.to.cygnus.com>: + * mi-cmds.c: Add CLI definitions for "exec-arguments", + "exec-next", "gdb-exit", "break-list", "break-info", "exec-step" + and "stack-list-frames" to mi_cmds. + (struct mi_command): Add ``from_tty'' argument to func. + * mi-cmds.h (quit_force): Declare. + +1999-05-31 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-out.c (mi_table_end): Remove unwanted "\n". + +Thu May 27 14:59:06 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * top.c: Include "ui-hooks.h". + (call_interp_loop): Tempoary. Pass mi_execute_command to + simplified_command_loop. Initialize gdb_stdout & gdb_stderr to + stdio gdb_file streams. Force all hooks to null. + + * mi-cmds.h, mi-main.c, mi-cmds.c: New files. + * Makefile.in (SFILES): Add mi-main.c, mi-cmds.c + (COMMON_OBS): Add mi-main.o, mi-cmds.o. + (mi_cmds_h): Define. + +Wed May 26 12:39:49 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * top.c (call_interp_loop): Hack. Add extern declaration for + mi_ui_out_impl. + +1999-05-25 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-out.c: New table syntax. + +Mon May 24 16:16:29 1999 Andrew Cagney <cagney@amy.cygnus.com> + + mi-out.c (_initialize_mi_out): Add external declaration. + +1999-05-21 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-out.c (mi_table_begin): Added missing parameter. + +1999-05-21 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-out.c: Changed table markers and added table id. + +1999-05-21 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * mi-out.c: New file. Implements low-level ui-out primitives for + CLI-based interaction. + + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/gdb/sparc-linux-tdep.c b/gdb/sparc-linux-tdep.c new file mode 100644 index 0000000..13875af --- /dev/null +++ b/gdb/sparc-linux-tdep.c @@ -0,0 +1,311 @@ +/* Target-dependent code for GNU/Linux SPARC. + + Copyright 2003 Free Software Foundation, Inc. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "floatformat.h" +#include "frame.h" +#include "frame-unwind.h" +#include "gdbarch.h" +#include "gdbcore.h" +#include "osabi.h" +#include "regcache.h" +#include "solib-svr4.h" +#include "symtab.h" +#include "trad-frame.h" + +#include "gdb_assert.h" +#include "gdb_string.h" + +#include "sparc-tdep.h" + +/* Recognizing signal handler frames. */ + +/* GNU/Linux has two flavors of signals. Normal signal handlers, and + "realtime" (RT) signals. The RT signals can provide additional + information to the signal handler if the SA_SIGINFO flag is set + when establishing a signal handler using `sigaction'. It is not + unlikely that future versions of GNU/Linux will support SA_SIGINFO + for normal signals too. */ + +/* When the sparc Linux kernel calls a signal handler and the + SA_RESTORER flag isn't set, the return address points to a bit of + code on the stack. This function returns whether the PC appears to + be within this bit of code. + + The instruction sequence for normal signals is + mov __NR_sigreturn, %g1 ! hex: 0x821020d8 + ta 0x10 ! hex: 0x91d02010 + + Checking for the code sequence should be somewhat reliable, because + the effect is to call the system call sigreturn. This is unlikely + to occur anywhere other than a signal trampoline. + + It kind of sucks that we have to read memory from the process in + order to identify a signal trampoline, but there doesn't seem to be + any other way. However, sparc32_linux_pc_in_sigtramp arranges to + only call us if no function name could be identified, which should + be the case since the code is on the stack. */ + +#define LINUX32_SIGTRAMP_INSN0 0x821020d8 /* mov __NR_sigreturn, %g1 */ +#define LINUX32_SIGTRAMP_INSN1 0x91d02010 /* ta 0x10 */ + +/* The instruction sequence for RT signals is + mov __NR_rt_sigreturn, %g1 ! hex: 0x82102065 + ta {0x10,0x6d} ! hex: 0x91d02010 or 0x91d0206d + + The effect is to call the system call rt_sigreturn. The trap number + is variable based upon whether this is a 32-bit or 64-bit sparc binary. + Note that 64-bit binaries only use this RT signal return method. */ + +#define LINUX32_RT_SIGTRAMP_INSN0 0x82102065 +#define LINUX32_RT_SIGTRAMP_INSN1 0x91d02010 + +/* If PC is in a sigtramp routine consisting of the instructions INSN0 + and INSN1, return the address of the start of the routine. + Otherwise, return 0. */ + +CORE_ADDR +sparc_linux_sigtramp_start (CORE_ADDR pc, ULONGEST insn0, ULONGEST insn1) +{ + ULONGEST word0, word1; + char buf[8]; /* Two instructions. */ + + /* We only recognize a signal trampoline if PC is at the start of + one of the instructions. We optimize for finding the PC at the + start of the instruction sequence, as will be the case when the + trampoline is not the first frame on the stack. We assume that + in the case where the PC is not at the start of the instruction + sequence, there will be a few trailing readable bytes on the + stack. */ + + if (read_memory_nobpt (pc, buf, sizeof buf) != 0) + return 0; + + word0 = extract_unsigned_integer (buf, 4); + if (word0 != insn0) + { + if (word0 != insn1) + return 0; + + pc -= 4; + if (read_memory_nobpt (pc, buf, sizeof buf) != 0) + return 0; + + word0 = extract_unsigned_integer (buf, 4); + } + + word1 = extract_unsigned_integer (buf + 4, 4); + if (word0 != insn0 || word1 != insn1) + return 0; + + return pc; +} + +static CORE_ADDR +sparc32_linux_sigtramp_start (CORE_ADDR pc) +{ + return sparc_linux_sigtramp_start (pc, LINUX32_SIGTRAMP_INSN0, + LINUX32_SIGTRAMP_INSN1); +} + +static CORE_ADDR +sparc32_linux_rt_sigtramp_start (CORE_ADDR pc) +{ + return sparc_linux_sigtramp_start (pc, LINUX32_RT_SIGTRAMP_INSN0, + LINUX32_RT_SIGTRAMP_INSN1); +} + +static int +sparc32_linux_pc_in_sigtramp (CORE_ADDR pc, char *name) +{ + /* If we have NAME, we can optimize the search. The trampolines are + named __restore and __restore_rt. However, they aren't dynamically + exported from the shared C library, so the trampoline may appear to + be part of the preceding function. This should always be sigaction, + __sigaction, or __libc_sigaction (all aliases to the same function). */ + if (name == NULL || strstr (name, "sigaction") != NULL) + return (sparc32_linux_sigtramp_start (pc) != 0 + || sparc32_linux_rt_sigtramp_start (pc) != 0); + + return (strcmp ("__restore", name) == 0 + || strcmp ("__restore_rt", name) == 0); +} + +static struct sparc_frame_cache * +sparc32_linux_sigtramp_frame_cache (struct frame_info *next_frame, + void **this_cache) +{ + struct sparc_frame_cache *cache; + CORE_ADDR sigcontext_addr, addr; + int regnum; + + if (*this_cache) + return *this_cache; + + cache = sparc32_frame_cache (next_frame, this_cache); + gdb_assert (cache == *this_cache); + + /* ??? What about signal trampolines that aren't frameless? */ + regnum = SPARC_SP_REGNUM; + cache->base = frame_unwind_register_unsigned (next_frame, regnum); + + regnum = SPARC_O1_REGNUM; + sigcontext_addr = frame_unwind_register_unsigned (next_frame, regnum); + + cache->pc = frame_pc_unwind (next_frame); + addr = sparc32_linux_sigtramp_start (cache->pc); + if (addr == 0) + { + /* If this is a RT signal trampoline, adjust SIGCONTEXT_ADDR + accordingly. */ + addr = sparc32_linux_rt_sigtramp_start (cache->pc); + if (addr) + sigcontext_addr += 128; + else + addr = frame_func_unwind (next_frame); + } + cache->pc = addr; + + cache->saved_regs = trad_frame_alloc_saved_regs (next_frame); + + cache->saved_regs[SPARC32_PSR_REGNUM].addr = sigcontext_addr + 0; + cache->saved_regs[SPARC32_PC_REGNUM].addr = sigcontext_addr + 4; + cache->saved_regs[SPARC32_NPC_REGNUM].addr = sigcontext_addr + 8; + cache->saved_regs[SPARC32_Y_REGNUM].addr = sigcontext_addr + 12; + + /* Since %g0 is always zero, keep the identity encoding. */ + for (regnum = SPARC_G1_REGNUM, addr = sigcontext_addr + 20; + regnum <= SPARC_O7_REGNUM; regnum++, addr += 4) + cache->saved_regs[regnum].addr = addr; + + for (regnum = SPARC_L0_REGNUM, addr = cache->base; + regnum <= SPARC_I7_REGNUM; regnum++, addr += 4) + cache->saved_regs[regnum].addr = addr; + + return cache; +} + +static void +sparc32_linux_sigtramp_frame_this_id (struct frame_info *next_frame, + void **this_cache, + struct frame_id *this_id) +{ + struct sparc_frame_cache *cache = + sparc32_linux_sigtramp_frame_cache (next_frame, this_cache); + + (*this_id) = frame_id_build (cache->base, cache->pc); +} + +static void +sparc32_linux_sigtramp_frame_prev_register (struct frame_info *next_frame, + void **this_cache, + int regnum, int *optimizedp, + enum lval_type *lvalp, + CORE_ADDR *addrp, + int *realnump, void *valuep) +{ + struct sparc_frame_cache *cache = + sparc32_linux_sigtramp_frame_cache (next_frame, this_cache); + + trad_frame_prev_register (next_frame, cache->saved_regs, regnum, + optimizedp, lvalp, addrp, realnump, valuep); +} + +static const struct frame_unwind sparc32_linux_sigtramp_frame_unwind = +{ + SIGTRAMP_FRAME, + sparc32_linux_sigtramp_frame_this_id, + sparc32_linux_sigtramp_frame_prev_register +}; + +static const struct frame_unwind * +sparc32_linux_sigtramp_frame_sniffer (struct frame_info *next_frame) +{ + CORE_ADDR pc = frame_pc_unwind (next_frame); + char *name; + + find_pc_partial_function (pc, &name, NULL, NULL); + if (sparc32_linux_pc_in_sigtramp (pc, name)) + return &sparc32_linux_sigtramp_frame_unwind; + + return NULL; +} + + +static struct link_map_offsets * +sparc32_linux_svr4_fetch_link_map_offsets (void) +{ + static struct link_map_offsets lmo; + static struct link_map_offsets *lmp = NULL; + + if (lmp == NULL) + { + lmp = &lmo; + + /* Everything we need is in the first 8 bytes. */ + lmo.r_debug_size = 8; + lmo.r_map_offset = 4; + lmo.r_map_size = 4; + + /* Everything we need is in the first 20 bytes. */ + lmo.link_map_size = 20; + lmo.l_addr_offset = 0; + lmo.l_addr_size = 4; + lmo.l_name_offset = 4; + lmo.l_name_size = 4; + lmo.l_next_offset = 12; + lmo.l_next_size = 4; + lmo.l_prev_offset = 16; + lmo.l_prev_size = 4; + } + + return lmp; +} + +static void +sparc32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) +{ + /* GNU/Linux is very similar to Solaris ... */ + sparc32_sol2_init_abi (info, gdbarch); + + /* ... but doesn't have kernel-assisted single-stepping support. */ + set_gdbarch_software_single_step (gdbarch, sparc_software_single_step); + + /* GNU/Linux doesn't support the 128-bit `long double' from the psABI. */ + set_gdbarch_long_double_bit (gdbarch, 64); + set_gdbarch_long_double_format (gdbarch, &floatformat_ieee_double_big); + + set_gdbarch_pc_in_sigtramp (gdbarch, sparc32_linux_pc_in_sigtramp); + frame_unwind_append_sniffer (gdbarch, sparc32_linux_sigtramp_frame_sniffer); + + set_solib_svr4_fetch_link_map_offsets + (gdbarch, sparc32_linux_svr4_fetch_link_map_offsets); +} + +/* Provide a prototype to silence -Wmissing-prototypes. */ +extern void _initialize_sparc_linux_tdep (void); + +void +_initialize_sparc_linux_tdep (void) +{ + gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_LINUX, + sparc32_linux_init_abi); +} diff --git a/gdb/sparc-nat.h b/gdb/sparc-nat.h new file mode 100644 index 0000000..8f99b1e --- /dev/null +++ b/gdb/sparc-nat.h @@ -0,0 +1,40 @@ +/* Native-dependent code for SPARC. + + Copyright 2003 Free Software Foundation, Inc. + + This file is part of GDB. + + 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 SPARC_NAT_H +#define SPARC_NAT_H 1 + +struct sparc_gregset; + +extern const struct sparc_gregset *sparc_gregset; +extern void (*sparc_supply_gregset) (const struct sparc_gregset *, + struct regcache *, int , const void *); +extern void (*sparc_collect_gregset) (const struct sparc_gregset *, + const struct regcache *, int, void *); +extern void (*sparc_supply_fpregset) (struct regcache *, int , const void *); +extern void (*sparc_collect_fpregset) (const struct regcache *, int , void *); +extern int (*sparc_gregset_supplies_p) (int); +extern int (*sparc_fpregset_supplies_p) (int); + +extern int sparc32_gregset_supplies_p (int regnum); +extern int sparc32_fpregset_supplies_p (int regnum); + +#endif /* sparc-nat.h */ diff --git a/gdb/sparc-sol2-nat.c b/gdb/sparc-sol2-nat.c new file mode 100644 index 0000000..61ca712 --- /dev/null +++ b/gdb/sparc-sol2-nat.c @@ -0,0 +1,98 @@ +/* Native-dependent code for Solaris SPARC. + + Copyright 2003, 2004 Free Software Foundation, Inc. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "regcache.h" + +#include <sys/procfs.h> +#include "gregset.h" + +#include "sparc-tdep.h" + +/* This file provids the (temporary) glue between the Solaris SPARC + target dependent code and the machine independent SVR4 /proc + support. */ + +/* Solaris 7 (Solaris 2.7, SunOS 5.7) and up support two process data + models, the traditional 32-bit data model (ILP32) and the 64-bit + data model (LP64). The format of /proc depends on the data model + of the observer (the controlling process, GDB in our case). The + Solaris header files conveniently define PR_MODEL_NATIVE to the + data model of the controlling process. If its value is + PR_MODEL_LP64, we know that GDB is being compiled as a 64-bit + program. + + GNU/Linux uses the same formats as Solaris for its core files (but + not for ptrace(2)). The GNU/Linux headers don't define + PR_MODEL_NATIVE though. Therefore we rely on the __arch64__ define + provided by GCC to determine the appropriate data model. + + Note that a 32-bit GDB won't be able to debug a 64-bit target + process using /proc on Solaris. */ + +#if (defined (__arch64__) || \ + (defined (PR_MODEL_NATIVE) && (PR_MODEL_NATIVE == PR_MODEL_LP64))) + +#include "sparc64-tdep.h" + +#define sparc_supply_gregset sparc64_supply_gregset +#define sparc_supply_fpregset sparc64_supply_fpregset +#define sparc_collect_gregset sparc64_collect_gregset +#define sparc_collect_fpregset sparc64_collect_fpregset + +#define sparc_sol2_gregset sparc64_sol2_gregset +#define sparc_sol2_fpregset sparc64_sol2_fpregset + +#else + +#define sparc_supply_gregset sparc32_supply_gregset +#define sparc_supply_fpregset sparc32_supply_fpregset +#define sparc_collect_gregset sparc32_collect_gregset +#define sparc_collect_fpregset sparc32_collect_fpregset + +#define sparc_sol2_gregset sparc32_sol2_gregset +#define sparc_sol2_fpregset sparc32_sol2_fpregset + +#endif + +void +supply_gregset (prgregset_t *gregs) +{ + sparc_supply_gregset (&sparc_sol2_gregset, current_regcache, -1, gregs); +} + +void +supply_fpregset (prfpregset_t *fpregs) +{ + sparc_supply_fpregset (current_regcache, -1, fpregs); +} + +void +fill_gregset (prgregset_t *gregs, int regnum) +{ + sparc_collect_gregset (&sparc_sol2_gregset, current_regcache, regnum, gregs); +} + +void +fill_fpregset (prfpregset_t *fpregs, int regnum) +{ + sparc_collect_fpregset (current_regcache, regnum, fpregs); +} diff --git a/gdb/sparc-sol2-tdep.c b/gdb/sparc-sol2-tdep.c new file mode 100644 index 0000000..5f65b78 --- /dev/null +++ b/gdb/sparc-sol2-tdep.c @@ -0,0 +1,201 @@ +/* Target-dependent code for Solaris SPARC. + + Copyright 2003 Free Software Foundation, Inc. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "frame.h" +#include "frame-unwind.h" +#include "gdbcore.h" +#include "symtab.h" +#include "objfiles.h" +#include "osabi.h" +#include "regcache.h" +#include "target.h" +#include "trad-frame.h" + +#include "gdb_assert.h" +#include "gdb_string.h" + +#include "sparc-tdep.h" + +/* From <sys/regset.h>. */ +const struct sparc_gregset sparc32_sol2_gregset = +{ + 32 * 4, /* %psr */ + 33 * 4, /* %pc */ + 34 * 4, /* %npc */ + 35 * 4, /* %y */ + 36 * 4, /* %wim */ + 37 * 4, /* %tbr */ + 1 * 4, /* %g1 */ + 16 * 4, /* %l0 */ +}; + + +/* The Solaris signal trampolines reside in libc. For normal signals, + the function `sigacthandler' is used. This signal trampoline will + call the signal handler using the System V calling convention, + where the third argument is a pointer to an instance of + `ucontext_t', which has a member `uc_mcontext' that contains the + saved registers. Incidentally, the kernel passes the `ucontext_t' + pointer as the third argument of the signal trampoline too, and + `sigacthandler' simply passes it on. However, if you link your + program with "-L/usr/ucblib -R/usr/ucblib -lucb", the function + `ucbsigvechandler' will be used, which invokes the using the BSD + convention, where the third argument is a pointer to an instance of + `struct sigcontext'. It is the `ucbsigvechandler' function that + converts the `ucontext_t' to a `sigcontext', and back. Unless the + signal handler modifies the `struct sigcontext' we can safely + ignore this. */ + +int +sparc_sol2_pc_in_sigtramp (CORE_ADDR pc, char *name) +{ + return (name && (strcmp (name, "sigacthandler") == 0 + || strcmp (name, "ucbsigvechandler") == 0)); +} + +static struct sparc_frame_cache * +sparc32_sol2_sigtramp_frame_cache (struct frame_info *next_frame, + void **this_cache) +{ + struct sparc_frame_cache *cache; + CORE_ADDR mcontext_addr, addr; + int regnum; + + if (*this_cache) + return *this_cache; + + cache = sparc_frame_cache (next_frame, this_cache); + gdb_assert (cache == *this_cache); + + cache->saved_regs = trad_frame_alloc_saved_regs (next_frame); + + /* The third argument is a pointer to an instance of `ucontext_t', + which has a member `uc_mcontext' that contains the saved + registers. */ + regnum = (cache->frameless_p ? SPARC_O2_REGNUM : SPARC_I2_REGNUM); + mcontext_addr = frame_unwind_register_unsigned (next_frame, regnum) + 40; + + cache->saved_regs[SPARC32_PSR_REGNUM].addr = mcontext_addr + 0 * 4; + cache->saved_regs[SPARC32_PC_REGNUM].addr = mcontext_addr + 1 * 4; + cache->saved_regs[SPARC32_NPC_REGNUM].addr = mcontext_addr + 2 * 4; + cache->saved_regs[SPARC32_Y_REGNUM].addr = mcontext_addr + 3 * 4; + + /* Since %g0 is always zero, keep the identity encoding. */ + for (regnum = SPARC_G1_REGNUM, addr = mcontext_addr + 4 * 4; + regnum <= SPARC_O7_REGNUM; regnum++, addr += 4) + cache->saved_regs[regnum].addr = addr; + + if (get_frame_memory_unsigned (next_frame, mcontext_addr + 19 * 4, 4)) + { + /* The register windows haven't been flushed. */ + for (regnum = SPARC_L0_REGNUM; regnum <= SPARC_I7_REGNUM; regnum++) + trad_frame_set_unknown (cache->saved_regs, regnum); + } + else + { + addr = cache->saved_regs[SPARC_SP_REGNUM].addr; + addr = get_frame_memory_unsigned (next_frame, addr, 4); + for (regnum = SPARC_L0_REGNUM; + regnum <= SPARC_I7_REGNUM; regnum++, addr += 4) + cache->saved_regs[regnum].addr = addr; + } + + return cache; +} + +static void +sparc32_sol2_sigtramp_frame_this_id (struct frame_info *next_frame, + void **this_cache, + struct frame_id *this_id) +{ + struct sparc_frame_cache *cache = + sparc32_sol2_sigtramp_frame_cache (next_frame, this_cache); + + (*this_id) = frame_id_build (cache->base, cache->pc); +} + +static void +sparc32_sol2_sigtramp_frame_prev_register (struct frame_info *next_frame, + void **this_cache, + int regnum, int *optimizedp, + enum lval_type *lvalp, + CORE_ADDR *addrp, + int *realnump, void *valuep) +{ + struct sparc_frame_cache *cache = + sparc32_sol2_sigtramp_frame_cache (next_frame, this_cache); + + trad_frame_prev_register (next_frame, cache->saved_regs, regnum, + optimizedp, lvalp, addrp, realnump, valuep); +} + +static const struct frame_unwind sparc32_sol2_sigtramp_frame_unwind = +{ + SIGTRAMP_FRAME, + sparc32_sol2_sigtramp_frame_this_id, + sparc32_sol2_sigtramp_frame_prev_register +}; + +static const struct frame_unwind * +sparc32_sol2_sigtramp_frame_sniffer (struct frame_info *next_frame) +{ + CORE_ADDR pc = frame_pc_unwind (next_frame); + char *name; + + find_pc_partial_function (pc, &name, NULL, NULL); + if (sparc_sol2_pc_in_sigtramp (pc, name)) + return &sparc32_sol2_sigtramp_frame_unwind; + + return NULL; +} + + +void +sparc32_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) +{ + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + + /* Solaris has SVR4-style shared libraries... */ + set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section); + set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target); + + /* ...which means that we need some special handling when doing + prologue analysis. */ + tdep->plt_entry_size = 12; + + /* Solaris has kernel-assisted single-stepping support. */ + set_gdbarch_software_single_step (gdbarch, NULL); + + set_gdbarch_pc_in_sigtramp (gdbarch, sparc_sol2_pc_in_sigtramp); + frame_unwind_append_sniffer (gdbarch, sparc32_sol2_sigtramp_frame_sniffer); +} + + +/* Provide a prototype to silence -Wmissing-prototypes. */ +void _initialize_sparc_sol2_tdep (void); + +void +_initialize_sparc_sol2_tdep (void) +{ + gdbarch_register_osabi (bfd_arch_sparc, 0, + GDB_OSABI_SOLARIS, sparc32_sol2_init_abi); +} diff --git a/gdb/sparc64-linux-nat.c b/gdb/sparc64-linux-nat.c new file mode 100644 index 0000000..56ee293 --- /dev/null +++ b/gdb/sparc64-linux-nat.c @@ -0,0 +1,48 @@ +/* Native-dependent code for GNU/Linux UltraSPARC. + + Copyright 2003 Free Software Foundation, Inc. + + This file is part of GDB. + + 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. */ + +#include "defs.h" + +#include "sparc64-tdep.h" +#include "sparc-nat.h" + +static const struct sparc_gregset sparc64_linux_ptrace_gregset = +{ + 16 * 8, /* "tstate" */ + 17 * 8, /* %pc */ + 18 * 8, /* %npc */ + 19 * 8, /* %y */ + -1, /* %wim */ + -1, /* %tbr */ + 0 * 8, /* %g1 */ + -1, /* %l0 */ + 4 /* sizeof (%y) */ +}; + + +/* Provide a prototype to silence -Wmissing-prototypes. */ +void _initialize_sparc64_linux_nat (void); + +void +_initialize_sparc64_linux_nat (void) +{ + sparc_gregset = &sparc64_linux_ptrace_gregset; +} diff --git a/gdb/sparc64-linux-tdep.c b/gdb/sparc64-linux-tdep.c new file mode 100644 index 0000000..cd78557 --- /dev/null +++ b/gdb/sparc64-linux-tdep.c @@ -0,0 +1,82 @@ +/* Target-dependent code for GNU/Linux UltraSPARC. + + Copyright 2003 Free Software Foundation, Inc. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "gdbarch.h" +#include "osabi.h" +#include "solib-svr4.h" + +#include "sparc64-tdep.h" + +static struct link_map_offsets * +sparc64_linux_svr4_fetch_link_map_offsets (void) +{ + static struct link_map_offsets lmo; + static struct link_map_offsets *lmp = NULL; + + if (lmp == NULL) + { + lmp = &lmo; + + /* Everything we need is in the first 16 bytes. */ + lmo.r_debug_size = 16; + lmo.r_map_offset = 8; + lmo.r_map_size = 8; + + /* Everything we need is in the first 40 bytes. */ + lmo.link_map_size = 40; + lmo.l_addr_offset = 0; + lmo.l_addr_size = 8; + lmo.l_name_offset = 8; + lmo.l_name_size = 8; + lmo.l_next_offset = 24; + lmo.l_next_size = 8; + lmo.l_prev_offset = 32; + lmo.l_prev_size = 8; + } + + return lmp; +} + +static void +sparc64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) +{ + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + + /* GNU/Linux is very similar to Solaris ... */ + sparc64_sol2_init_abi (info, gdbarch); + + /* ... but doesn't have kernel-assisted single-stepping support. */ + set_gdbarch_software_single_step (gdbarch, sparc_software_single_step); + + set_solib_svr4_fetch_link_map_offsets + (gdbarch, sparc64_linux_svr4_fetch_link_map_offsets); +} + +/* Provide a prototype to silence -Wmissing-prototypes. */ +extern void _initialize_sparc64_linux_tdep (void); + +void +_initialize_sparc64_linux_tdep (void) +{ + gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9, + GDB_OSABI_LINUX, sparc64_linux_init_abi); +} diff --git a/gdb/sparc64-nat.c b/gdb/sparc64-nat.c new file mode 100644 index 0000000..40a8b3b --- /dev/null +++ b/gdb/sparc64-nat.c @@ -0,0 +1,87 @@ +/* Native-dependent code for GNU/Linux UltraSPARC. + + Copyright 2003 Free Software Foundation, Inc. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "gdbarch.h" + +#include "sparc64-tdep.h" +#include "sparc-nat.h" + +/* Determine whether `gregset_t' contains register REGNUM. */ + +static int +sparc64_gregset_supplies_p (int regnum) +{ + if (gdbarch_ptr_bit (current_gdbarch) == 32) + return sparc32_gregset_supplies_p (regnum); + + /* Integer registers. */ + if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_G7_REGNUM) + || (regnum >= SPARC_O0_REGNUM && regnum <= SPARC_O7_REGNUM) + || (regnum >= SPARC_L0_REGNUM && regnum <= SPARC_L7_REGNUM) + || (regnum >= SPARC_I0_REGNUM && regnum <= SPARC_I7_REGNUM)) + return 1; + + /* Control registers. */ + if (regnum == SPARC64_PC_REGNUM + || regnum == SPARC64_NPC_REGNUM + || regnum == SPARC64_STATE_REGNUM + || regnum == SPARC64_Y_REGNUM + || regnum == SPARC64_FPRS_REGNUM) + return 1; + + return 0; +} + +/* Determine whether `fpregset_t' contains register REGNUM. */ + +static int +sparc64_fpregset_supplies_p (int regnum) +{ + if (gdbarch_ptr_bit (current_gdbarch) == 32) + return sparc32_fpregset_supplies_p (regnum); + + /* Floating-point registers. */ + if ((regnum >= SPARC_F0_REGNUM && regnum <= SPARC_F31_REGNUM) + || (regnum >= SPARC64_F32_REGNUM && regnum <= SPARC64_F62_REGNUM)) + return 1; + + /* Control registers. */ + if (regnum == SPARC64_FSR_REGNUM) + return 1; + + return 0; +} + + +/* Provide a prototype to silence -Wmissing-prototypes. */ +void _initialize_sparc64_nat (void); + +void +_initialize_sparc64_nat (void) +{ + sparc_supply_gregset = sparc64_supply_gregset; + sparc_collect_gregset = sparc64_collect_gregset; + sparc_supply_fpregset = sparc64_supply_fpregset; + sparc_collect_fpregset = sparc64_collect_fpregset; + sparc_gregset_supplies_p = sparc64_gregset_supplies_p; + sparc_fpregset_supplies_p = sparc64_fpregset_supplies_p; +} diff --git a/gdb/sparc64-sol2-tdep.c b/gdb/sparc64-sol2-tdep.c new file mode 100644 index 0000000..079f3c5 --- /dev/null +++ b/gdb/sparc64-sol2-tdep.c @@ -0,0 +1,182 @@ +/* Target-dependent code for Solaris UltraSPARC. + + Copyright 2003, 2004 Free Software Foundation, Inc. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "frame.h" +#include "frame-unwind.h" +#include "gdbarch.h" +#include "symtab.h" +#include "objfiles.h" +#include "osabi.h" +#include "trad-frame.h" + +#include "gdb_assert.h" + +#include "sparc64-tdep.h" + +/* From <sys/regset.h>. */ +const struct sparc_gregset sparc64_sol2_gregset = +{ + 32 * 8, /* "tstate" */ + 33 * 8, /* %pc */ + 34 * 8, /* %npc */ + 35 * 8, /* %y */ + -1, /* %wim */ + -1, /* %tbr */ + 1 * 8, /* %g1 */ + 16 * 8, /* %l0 */ + 8 /* sizeof (%y) */ +}; + + +static struct sparc_frame_cache * +sparc64_sol2_sigtramp_frame_cache (struct frame_info *next_frame, + void **this_cache) +{ + struct sparc_frame_cache *cache; + CORE_ADDR mcontext_addr, addr; + int regnum; + + if (*this_cache) + return *this_cache; + + cache = sparc_frame_cache (next_frame, this_cache); + gdb_assert (cache == *this_cache); + + cache->saved_regs = trad_frame_alloc_saved_regs (next_frame); + + /* The third argument is a pointer to an instance of `ucontext_t', + which has a member `uc_mcontext' that contains the saved + registers. */ + regnum = (cache->frameless_p ? SPARC_O2_REGNUM : SPARC_I2_REGNUM); + mcontext_addr = frame_unwind_register_unsigned (next_frame, regnum) + 64; + + cache->saved_regs[SPARC64_CCR_REGNUM].addr = mcontext_addr + 0 * 8; + cache->saved_regs[SPARC64_PC_REGNUM].addr = mcontext_addr + 1 * 8; + cache->saved_regs[SPARC64_NPC_REGNUM].addr = mcontext_addr + 2 * 8; + cache->saved_regs[SPARC64_Y_REGNUM].addr = mcontext_addr + 3 * 8; + cache->saved_regs[SPARC64_ASI_REGNUM].addr = mcontext_addr + 19 * 8; + cache->saved_regs[SPARC64_FPRS_REGNUM].addr = mcontext_addr + 20 * 8; + + /* Since %g0 is always zero, keep the identity encoding. */ + for (regnum = SPARC_G1_REGNUM, addr = mcontext_addr + 4 * 8; + regnum <= SPARC_O7_REGNUM; regnum++, addr += 8) + cache->saved_regs[regnum].addr = addr; + + if (get_frame_memory_unsigned (next_frame, mcontext_addr + 21 * 8, 8)) + { + /* The register windows haven't been flushed. */ + for (regnum = SPARC_L0_REGNUM; regnum <= SPARC_I7_REGNUM; regnum++) + trad_frame_set_unknown (cache->saved_regs, regnum); + } + else + { + CORE_ADDR sp; + + addr = cache->saved_regs[SPARC_SP_REGNUM].addr; + sp = get_frame_memory_unsigned (next_frame, addr, 8); + for (regnum = SPARC_L0_REGNUM, addr = sp + BIAS; + regnum <= SPARC_I7_REGNUM; regnum++, addr += 8) + cache->saved_regs[regnum].addr = addr; + } + + return cache; +} + +static void +sparc64_sol2_sigtramp_frame_this_id (struct frame_info *next_frame, + void **this_cache, + struct frame_id *this_id) +{ + struct sparc_frame_cache *cache = + sparc64_sol2_sigtramp_frame_cache (next_frame, this_cache); + + (*this_id) = frame_id_build (cache->base, cache->pc); +} + +static void +sparc64_sol2_sigtramp_frame_prev_register (struct frame_info *next_frame, + void **this_cache, + int regnum, int *optimizedp, + enum lval_type *lvalp, + CORE_ADDR *addrp, + int *realnump, void *valuep) +{ + struct sparc_frame_cache *cache = + sparc64_sol2_sigtramp_frame_cache (next_frame, this_cache); + + trad_frame_prev_register (next_frame, cache->saved_regs, regnum, + optimizedp, lvalp, addrp, realnump, valuep); +} + +static const struct frame_unwind sparc64_sol2_sigtramp_frame_unwind = +{ + SIGTRAMP_FRAME, + sparc64_sol2_sigtramp_frame_this_id, + sparc64_sol2_sigtramp_frame_prev_register +}; + +static const struct frame_unwind * +sparc64_sol2_sigtramp_frame_sniffer (struct frame_info *next_frame) +{ + CORE_ADDR pc = frame_pc_unwind (next_frame); + char *name; + + find_pc_partial_function (pc, &name, NULL, NULL); + if (sparc_sol2_pc_in_sigtramp (pc, name)) + return &sparc64_sol2_sigtramp_frame_unwind; + + return NULL; +} + + +void +sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) +{ + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + + set_gdbarch_pc_in_sigtramp (gdbarch, sparc_sol2_pc_in_sigtramp); + frame_unwind_append_sniffer (gdbarch, sparc64_sol2_sigtramp_frame_sniffer); + + sparc64_init_abi (info, gdbarch); + + /* Solaris has SVR4-style shared libraries... */ + set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section); + set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target); + + /* ...which means that we need some special handling when doing + prologue analysis. */ + tdep->plt_entry_size = 16; + + /* Solaris has kernel-assisted single-stepping support. */ + set_gdbarch_software_single_step (gdbarch, NULL); +} + + +/* Provide a prototype to silence -Wmissing-prototypes. */ +void _initialize_sparc64_sol2_tdep (void); + +void +_initialize_sparc64_sol2_tdep (void) +{ + gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9, + GDB_OSABI_SOLARIS, sparc64_sol2_init_abi); +} diff --git a/gdb/sparc64nbsd-tdep.c b/gdb/sparc64nbsd-tdep.c new file mode 100644 index 0000000..8e79870 --- /dev/null +++ b/gdb/sparc64nbsd-tdep.c @@ -0,0 +1,256 @@ +/* Target-dependent code for NetBSD/sparc64. + + Copyright 2002, 2003, 2004 Free Software Foundation, Inc. + Based on code contributed by Wasabi Systems, Inc. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "frame.h" +#include "frame-unwind.h" +#include "gdbcore.h" +#include "osabi.h" +#include "regcache.h" +#include "regset.h" +#include "symtab.h" +#include "solib-svr4.h" +#include "trad-frame.h" + +#include "gdb_assert.h" +#include "gdb_string.h" + +#include "sparc64-tdep.h" +#include "nbsd-tdep.h" + +/* From <machine/reg.h>. */ +const struct sparc_gregset sparc64nbsd_gregset = +{ + 0 * 8, /* "tstate" */ + 1 * 8, /* %pc */ + 2 * 8, /* %npc */ + 3 * 8, /* %y */ + -1, /* %fprs */ + -1, + 5 * 8, /* %g1 */ + -1, /* %l0 */ + 4 /* sizeof (%y) */ +}; + + +static void +sparc64nbsd_supply_gregset (const struct regset *regset, + struct regcache *regcache, + int regnum, const void *gregs, size_t len) +{ + sparc64_supply_gregset (regset->descr, regcache, regnum, gregs); +} + +static void +sparc64nbsd_supply_fpregset (const struct regset *regset, + struct regcache *regcache, + int regnum, const void *fpregs, size_t len) +{ + sparc64_supply_fpregset (regcache, regnum, fpregs); +} + + +/* Signal trampolines. */ + +/* The following variables describe the location of an on-stack signal + trampoline. The current values correspond to the memory layout for + NetBSD 1.3 and up. These shouldn't be necessary for NetBSD 2.0 and + up, since NetBSD uses signal trampolines provided by libc now. */ + +static const CORE_ADDR sparc64nbsd_sigtramp_start = 0xffffffffffffdee4ULL; +static const CORE_ADDR sparc64nbsd_sigtramp_end = 0xffffffffffffe000ULL; + +static int +sparc64nbsd_pc_in_sigtramp (CORE_ADDR pc, char *name) +{ + if (pc >= sparc64nbsd_sigtramp_start && pc < sparc64nbsd_sigtramp_end) + return 1; + + return nbsd_pc_in_sigtramp (pc, name); +} + +struct trad_frame_saved_reg * +sparc64nbsd_sigcontext_saved_regs (CORE_ADDR sigcontext_addr, + struct frame_info *next_frame) +{ + struct trad_frame_saved_reg *saved_regs; + CORE_ADDR addr, sp; + int regnum, delta; + + saved_regs = trad_frame_alloc_saved_regs (next_frame); + + /* The registers are saved in bits and pieces scattered all over the + place. The code below records their location on the assumption + that the part of the signal trampoline that saves the state has + been executed. */ + + saved_regs[SPARC_SP_REGNUM].addr = sigcontext_addr + 8; + saved_regs[SPARC64_PC_REGNUM].addr = sigcontext_addr + 16; + saved_regs[SPARC64_NPC_REGNUM].addr = sigcontext_addr + 24; + saved_regs[SPARC64_STATE_REGNUM].addr = sigcontext_addr + 32; + saved_regs[SPARC_G1_REGNUM].addr = sigcontext_addr + 40; + saved_regs[SPARC_O0_REGNUM].addr = sigcontext_addr + 48; + + /* The remaining `global' registers and %y are saved in the `local' + registers. */ + delta = SPARC_L0_REGNUM - SPARC_G0_REGNUM; + for (regnum = SPARC_G2_REGNUM; regnum <= SPARC_G7_REGNUM; regnum++) + saved_regs[regnum].realreg = regnum + delta; + saved_regs[SPARC64_Y_REGNUM].realreg = SPARC_L1_REGNUM; + + /* The remaining `out' registers can be found in the current frame's + `in' registers. */ + delta = SPARC_I0_REGNUM - SPARC_O0_REGNUM; + for (regnum = SPARC_O1_REGNUM; regnum <= SPARC_O5_REGNUM; regnum++) + saved_regs[regnum].realreg = regnum + delta; + saved_regs[SPARC_O7_REGNUM].realreg = SPARC_I7_REGNUM; + + /* The `local' and `in' registers have been saved in the register + save area. */ + addr = saved_regs[SPARC_SP_REGNUM].addr; + sp = get_frame_memory_unsigned (next_frame, addr, 8); + for (regnum = SPARC_L0_REGNUM, addr = sp + BIAS; + regnum <= SPARC_I7_REGNUM; regnum++, addr += 8) + saved_regs[regnum].addr = addr; + + /* TODO: Handle the floating-point registers. */ + + return saved_regs; +} + +static struct sparc_frame_cache * +sparc64nbsd_sigcontext_frame_cache (struct frame_info *next_frame, + void **this_cache) +{ + struct sparc_frame_cache *cache; + CORE_ADDR addr; + + if (*this_cache) + return *this_cache; + + cache = sparc_frame_cache (next_frame, this_cache); + gdb_assert (cache == *this_cache); + + /* If we couldn't find the frame's function, we're probably dealing + with an on-stack signal trampoline. */ + if (cache->pc == 0) + { + cache->pc = sparc64nbsd_sigtramp_start; + + /* Since we couldn't find the frame's function, the cache was + initialized under the assumption that we're frameless. */ + cache->frameless_p = 0; + addr = frame_unwind_register_unsigned (next_frame, SPARC_FP_REGNUM); + cache->base = addr; + } + + /* We find the appropriate instance of `struct sigcontext' at a + fixed offset in the signal frame. */ + addr = cache->base + BIAS + 128 + 8; + cache->saved_regs = sparc64nbsd_sigcontext_saved_regs (addr, next_frame); + + return cache; +} + +static void +sparc64nbsd_sigcontext_frame_this_id (struct frame_info *next_frame, + void **this_cache, + struct frame_id *this_id) +{ + struct sparc_frame_cache *cache = + sparc64nbsd_sigcontext_frame_cache (next_frame, this_cache); + + (*this_id) = frame_id_build (cache->base, cache->pc); +} + +static void +sparc64nbsd_sigcontext_frame_prev_register (struct frame_info *next_frame, + void **this_cache, + int regnum, int *optimizedp, + enum lval_type *lvalp, + CORE_ADDR *addrp, + int *realnump, void *valuep) +{ + struct sparc_frame_cache *cache = + sparc64nbsd_sigcontext_frame_cache (next_frame, this_cache); + + trad_frame_prev_register (next_frame, cache->saved_regs, regnum, + optimizedp, lvalp, addrp, realnump, valuep); +} + +static const struct frame_unwind sparc64nbsd_sigcontext_frame_unwind = +{ + SIGTRAMP_FRAME, + sparc64nbsd_sigcontext_frame_this_id, + sparc64nbsd_sigcontext_frame_prev_register +}; + +static const struct frame_unwind * +sparc64nbsd_sigtramp_frame_sniffer (struct frame_info *next_frame) +{ + CORE_ADDR pc = frame_pc_unwind (next_frame); + char *name; + + find_pc_partial_function (pc, &name, NULL, NULL); + if (sparc64nbsd_pc_in_sigtramp (pc, name)) + { + if (name == NULL || strncmp (name, "__sigtramp_sigcontext", 21)) + return &sparc64nbsd_sigcontext_frame_unwind; + } + + return NULL; +} + + +static void +sparc64nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) +{ + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + + tdep->gregset = XMALLOC (struct regset); + tdep->gregset->descr = &sparc64nbsd_gregset; + tdep->gregset->supply_regset = sparc64nbsd_supply_gregset; + tdep->sizeof_gregset = 160; + + tdep->fpregset = XMALLOC (struct regset); + tdep->fpregset->supply_regset = sparc64nbsd_supply_fpregset; + tdep->sizeof_fpregset = 272; + + set_gdbarch_pc_in_sigtramp (gdbarch, sparc64nbsd_pc_in_sigtramp); + frame_unwind_append_sniffer (gdbarch, sparc64nbsd_sigtramp_frame_sniffer); + + sparc64_init_abi (info, gdbarch); + + set_solib_svr4_fetch_link_map_offsets + (gdbarch, nbsd_lp64_solib_svr4_fetch_link_map_offsets); +} + + +/* Provide a prototype to silence -Wmissing-prototypes. */ +void _initialize_sparc64nbsd_tdep (void); + +void +_initialize_sparc64nbsd_tdep (void) +{ + gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9, + GDB_OSABI_NETBSD_ELF, sparc64nbsd_init_abi); +} diff --git a/gdb/sparc64obsd-tdep.c b/gdb/sparc64obsd-tdep.c new file mode 100644 index 0000000..190a46b --- /dev/null +++ b/gdb/sparc64obsd-tdep.c @@ -0,0 +1,210 @@ +/* Target-dependent code for OpenBSD/sparc64. + + Copyright 2004 Free Software Foundation, Inc. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "frame.h" +#include "frame-unwind.h" +#include "osabi.h" +#include "regset.h" +#include "symtab.h" +#include "solib-svr4.h" +#include "trad-frame.h" + +#include "gdb_assert.h" + +#include "sparc64-tdep.h" +#include "nbsd-tdep.h" + +/* OpenBSD uses the traditional NetBSD core file format, even for + ports that use ELF. The core files don't use multiple register + sets. Instead, the general-purpose and floating-point registers + are lumped together in a single section. Unlike on NetBSD, OpenBSD + uses a different layout for its general-purpose registers than the + layout used for ptrace(2). */ + +/* From <machine/reg.h>. */ +const struct sparc_gregset sparc64obsd_core_gregset = +{ + 0 * 8, /* "tstate" */ + 1 * 8, /* %pc */ + 2 * 8, /* %npc */ + 3 * 8, /* %y */ + -1, /* %fprs */ + -1, + 7 * 8, /* %g1 */ + 22 * 8, /* %l0 */ + 4 /* sizeof (%y) */ +}; + +static void +sparc64obsd_supply_gregset (const struct regset *regset, + struct regcache *regcache, + int regnum, const void *gregs, size_t len) +{ + const char *regs = gregs; + + sparc64_supply_gregset (regset->descr, regcache, regnum, regs); + sparc64_supply_fpregset (regcache, regnum, regs + 288); +} + + +/* Signal trampolines. */ + +/* The OpenBSD kernel maps the signal trampoline at some random + location in user space, which means that the traditional BSD way of + detecting it won't work. + + The signal trampoline will be mapped at an address that is page + aligned. We recognize the signal trampoline by the looking for the + sigreturn system call. */ + +static const int sparc64obsd_page_size = 8192; + +static int +sparc64obsd_pc_in_sigtramp (CORE_ADDR pc, char *name) +{ + CORE_ADDR start_pc = (pc & ~(sparc64obsd_page_size - 1)); + unsigned long insn; + + if (name) + return 0; + + /* Check for "restore %g0, SYS_sigreturn, %g1". */ + insn = sparc_fetch_instruction (start_pc + 0xe8); + if (insn != 0x83e82067) + return 0; + + /* Check for "t ST_SYSCALL". */ + insn = sparc_fetch_instruction (start_pc + 0xf0); + if (insn != 0x91d02000) + return 0; + + return 1; +} + +static struct sparc_frame_cache * +sparc64obsd_frame_cache (struct frame_info *next_frame, void **this_cache) +{ + struct sparc_frame_cache *cache; + CORE_ADDR addr; + + if (*this_cache) + return *this_cache; + + cache = sparc_frame_cache (next_frame, this_cache); + gdb_assert (cache == *this_cache); + + /* If we couldn't find the frame's function, we're probably dealing + with an on-stack signal trampoline. */ + if (cache->pc == 0) + { + cache->pc = frame_pc_unwind (next_frame); + cache->pc &= ~(sparc64obsd_page_size - 1); + + /* Since we couldn't find the frame's function, the cache was + initialized under the assumption that we're frameless. */ + cache->frameless_p = 0; + addr = frame_unwind_register_unsigned (next_frame, SPARC_FP_REGNUM); + cache->base = addr; + } + + /* We find the appropriate instance of `struct sigcontext' at a + fixed offset in the signal frame. */ + addr = cache->base + BIAS + 128 + 16; + cache->saved_regs = sparc64nbsd_sigcontext_saved_regs (addr, next_frame); + + return cache; +} + +static void +sparc64obsd_frame_this_id (struct frame_info *next_frame, void **this_cache, + struct frame_id *this_id) +{ + struct sparc_frame_cache *cache = + sparc64obsd_frame_cache (next_frame, this_cache); + + (*this_id) = frame_id_build (cache->base, cache->pc); +} + +static void +sparc64obsd_frame_prev_register (struct frame_info *next_frame, + void **this_cache, + int regnum, int *optimizedp, + enum lval_type *lvalp, CORE_ADDR *addrp, + int *realnump, void *valuep) +{ + struct sparc_frame_cache *cache = + sparc64obsd_frame_cache (next_frame, this_cache); + + trad_frame_prev_register (next_frame, cache->saved_regs, regnum, + optimizedp, lvalp, addrp, realnump, valuep); +} + +static const struct frame_unwind sparc64obsd_frame_unwind = +{ + SIGTRAMP_FRAME, + sparc64obsd_frame_this_id, + sparc64obsd_frame_prev_register +}; + +static const struct frame_unwind * +sparc64obsd_sigtramp_frame_sniffer (struct frame_info *next_frame) +{ + CORE_ADDR pc = frame_pc_unwind (next_frame); + char *name; + + find_pc_partial_function (pc, &name, NULL, NULL); + if (sparc64obsd_pc_in_sigtramp (pc, name)) + return &sparc64obsd_frame_unwind; + + return NULL; +} + + +static void +sparc64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) +{ + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + + tdep->gregset = XMALLOC (struct regset); + tdep->gregset->descr = &sparc64obsd_core_gregset; + tdep->gregset->supply_regset = sparc64obsd_supply_gregset; + tdep->sizeof_gregset = 832; + + set_gdbarch_pc_in_sigtramp (gdbarch, sparc64obsd_pc_in_sigtramp); + frame_unwind_append_sniffer (gdbarch, sparc64obsd_sigtramp_frame_sniffer); + + sparc64_init_abi (info, gdbarch); + + set_solib_svr4_fetch_link_map_offsets + (gdbarch, nbsd_lp64_solib_svr4_fetch_link_map_offsets); +} + + +/* Provide a prototype to silence -Wmissing-prototypes. */ +void _initialize_sparc64obsd_tdep (void); + +void +_initialize_sparc64obsd_tdep (void) +{ + gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9, + GDB_OSABI_OPENBSD_ELF, sparc64obsd_init_abi); +} diff --git a/gdb/sparcobsd-tdep.c b/gdb/sparcobsd-tdep.c new file mode 100644 index 0000000..108e255 --- /dev/null +++ b/gdb/sparcobsd-tdep.c @@ -0,0 +1,171 @@ +/* Target-dependent code for OpenBSD/sparc. + + Copyright 2004 Free Software Foundation, Inc. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "floatformat.h" +#include "frame.h" +#include "frame-unwind.h" +#include "osabi.h" +#include "solib-svr4.h" +#include "symtab.h" +#include "trad-frame.h" + +#include "gdb_assert.h" + +#include "sparc-tdep.h" +#include "nbsd-tdep.h" + +/* Signal trampolines. */ + +/* The OpenBSD kernel maps the signal trampoline at some random + location in user space, which means that the traditional BSD way of + detecting it won't work. + + The signal trampoline will be mapped at an address that is page + aligned. We recognize the signal trampoline by the looking for the + sigreturn system call. */ + +static const int sparc32obsd_page_size = 4096; + +static int +sparc32obsd_pc_in_sigtramp (CORE_ADDR pc, char *name) +{ + CORE_ADDR start_pc = (pc & ~(sparc32obsd_page_size - 1)); + unsigned long insn; + + if (name) + return 0; + + /* Check for "restore %g0, SYS_sigreturn, %g1". */ + insn = sparc_fetch_instruction (start_pc + 0xec); + if (insn != 0x83e82067) + return 0; + + /* Check for "t ST_SYSCALL". */ + insn = sparc_fetch_instruction (start_pc + 0xf4); + if (insn != 0x91d02000) + return 0; + + return 1; +} + +static struct sparc_frame_cache * +sparc32obsd_frame_cache (struct frame_info *next_frame, void **this_cache) +{ + struct sparc_frame_cache *cache; + CORE_ADDR addr; + + if (*this_cache) + return *this_cache; + + cache = sparc_frame_cache (next_frame, this_cache); + gdb_assert (cache == *this_cache); + + /* If we couldn't find the frame's function, we're probably dealing + with an on-stack signal trampoline. */ + if (cache->pc == 0) + { + cache->pc = frame_pc_unwind (next_frame); + cache->pc &= ~(sparc32obsd_page_size - 1); + + /* Since we couldn't find the frame's function, the cache was + initialized under the assumption that we're frameless. */ + cache->frameless_p = 0; + addr = frame_unwind_register_unsigned (next_frame, SPARC_FP_REGNUM); + cache->base = addr; + } + + cache->saved_regs = sparc32nbsd_sigcontext_saved_regs (next_frame); + + return cache; +} + +static void +sparc32obsd_frame_this_id (struct frame_info *next_frame, void **this_cache, + struct frame_id *this_id) +{ + struct sparc_frame_cache *cache = + sparc32obsd_frame_cache (next_frame, this_cache); + + (*this_id) = frame_id_build (cache->base, cache->pc); +} + +static void +sparc32obsd_frame_prev_register (struct frame_info *next_frame, + void **this_cache, + int regnum, int *optimizedp, + enum lval_type *lvalp, CORE_ADDR *addrp, + int *realnump, void *valuep) +{ + struct sparc_frame_cache *cache = + sparc32obsd_frame_cache (next_frame, this_cache); + + trad_frame_prev_register (next_frame, cache->saved_regs, regnum, + optimizedp, lvalp, addrp, realnump, valuep); +} + +static const struct frame_unwind sparc32obsd_frame_unwind = +{ + SIGTRAMP_FRAME, + sparc32obsd_frame_this_id, + sparc32obsd_frame_prev_register +}; + +static const struct frame_unwind * +sparc32obsd_sigtramp_frame_sniffer (struct frame_info *next_frame) +{ + CORE_ADDR pc = frame_pc_unwind (next_frame); + char *name; + + find_pc_partial_function (pc, &name, NULL, NULL); + if (sparc32obsd_pc_in_sigtramp (pc, name)) + return &sparc32obsd_frame_unwind; + + return NULL; +} + + +static void +sparc32obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) +{ + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + + /* OpenBSD doesn't support the 128-bit `long double' from the psABI. */ + set_gdbarch_long_double_bit (gdbarch, 64); + set_gdbarch_long_double_format (gdbarch, &floatformat_ieee_double_big); + + set_gdbarch_pc_in_sigtramp (gdbarch, sparc32obsd_pc_in_sigtramp); + frame_unwind_append_sniffer (gdbarch, sparc32obsd_sigtramp_frame_sniffer); + + set_solib_svr4_fetch_link_map_offsets + (gdbarch, nbsd_ilp32_solib_svr4_fetch_link_map_offsets); +} + + +/* Provide a prototype to silence -Wmissing-prototypes. */ +void _initialize_sparc32obsd_tdep (void); + +void +_initialize_sparc32obsd_tdep (void) +{ + gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_OPENBSD_ELF, + sparc32obsd_init_abi); +} diff --git a/gdb/testsuite/gdb.base/gdb1476.c b/gdb/testsuite/gdb.base/gdb1476.c new file mode 100644 index 0000000..c3f4376 --- /dev/null +++ b/gdb/testsuite/gdb.base/gdb1476.c @@ -0,0 +1,12 @@ +void x() +{ + void (*fp)() = 0; + fp(); +} + +int +main() +{ + x(); + return 0; +} diff --git a/gdb/testsuite/gdb.base/gdb1476.exp b/gdb/testsuite/gdb.base/gdb1476.exp new file mode 100644 index 0000000..b88b2de --- /dev/null +++ b/gdb/testsuite/gdb.base/gdb1476.exp @@ -0,0 +1,72 @@ +# Copyright 2004 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 +# 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. + +# Please email any bugs, comments, and/or additions to this file to: +# bug-gdb@gnu.org + +# This file is part of the gdb testsuite. + +if $tracelevel { + strace $tracelevel +} + +# Testcase for backtrace/gdb1476. + +set prms_id 0 +set bug_id 0 + +set testfile "gdb1476" +set srcfile ${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { + gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." +} + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +# +# Run to `main' where we begin our tests. +# + +if ![runto_main] then { + gdb_suppress_tests +} + +# If we can examine what's at memory address 0, it is possible that we +# could also execute it. This could probably make us run away, +# executing random code, which could have all sorts of ill effects, +# especially on targets without an MMU. Don't run the tests in that +# case. + +send_gdb "x 0\n" +gdb_expect { + -re "0x0:.*Cannot access memory at address 0x0.*$gdb_prompt $" { } + -re "0x0:.*Error accessing memory address 0x0.*$gdb_prompt $" { } + -re ".*$gdb_prompt $" { + untested "Memory at address 0 is possibly executable" + return + } +} + +gdb_test "continue" "Program received signal SIGSEGV.*" \ + "continue to null pointer call" + +gdb_test "backtrace 10" \ + "#0\[ \t\]*0x0* in .*\r\n#1\[ \t\]*$hex in x.*\r\n#2\[ \t\]*$hex in main.*" \ + "backtrace from null pointer call" diff --git a/gdb/testsuite/gdb.base/sepdebug.c b/gdb/testsuite/gdb.base/sepdebug.c new file mode 100644 index 0000000..adb6921 --- /dev/null +++ b/gdb/testsuite/gdb.base/sepdebug.c @@ -0,0 +1,150 @@ +/* Copyright 1994, 1995, 1999, 2002, 2003, 2004 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 + 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. + + Please email any bugs, comments, and/or additions to this file to: + bug-gdb@prep.ai.mit.edu */ + +#ifdef vxworks + +# include <stdio.h> + +/* VxWorks does not supply atoi. */ +static int +atoi (z) + char *z; +{ + int i = 0; + + while (*z >= '0' && *z <= '9') + i = i * 10 + (*z++ - '0'); + return i; +} + +/* I don't know of any way to pass an array to VxWorks. This function + can be called directly from gdb. */ + +vxmain (arg) +char *arg; +{ + char *argv[2]; + + argv[0] = ""; + argv[1] = arg; + main (2, argv, (char **) 0); +} + +#else /* ! vxworks */ +# include <stdio.h> +# include <stdlib.h> +#endif /* ! vxworks */ + +/* + * The following functions do nothing useful. They are included simply + * as places to try setting breakpoints at. They are explicitly + * "one-line functions" to verify that this case works (some versions + * of gcc have or have had problems with this). + */ + +#ifdef PROTOTYPES +int marker1 (void) { return (0); } +int marker2 (int a) { return (1); } /* set breakpoint 8 here */ +void marker3 (char *a, char *b) {} +void marker4 (long d) {} /* set breakpoint 14 here */ +#else +int marker1 () { return (0); } +int marker2 (a) int a; { return (1); } /* set breakpoint 9 here */ +void marker3 (a, b) char *a, *b; {} +void marker4 (d) long d; {} /* set breakpoint 13 here */ +#endif + +/* + * This simple classical example of recursion is useful for + * testing stack backtraces and such. + */ + +#ifdef PROTOTYPES +int factorial(int); + +int +main (int argc, char **argv, char **envp) +#else +int +main (argc, argv, envp) +int argc; +char *argv[], **envp; +#endif +{ +#ifdef usestubs + set_debug_traps(); /* set breakpoint 5 here */ + breakpoint(); +#endif + if (argc == 12345) { /* an unlikely value < 2^16, in case uninited */ /* set breakpoint 6 here */ + fprintf (stderr, "usage: factorial <number>\n"); + return 1; + } + printf ("%d\n", factorial (atoi ("6"))); /* set breakpoint 1 here */ + /* set breakpoint 12 here */ + marker1 (); /* set breakpoint 11 here */ + marker2 (43); + marker3 ("stack", "trace"); + marker4 (177601976L); + argc = (argc == 12345); /* This is silly, but we can step off of it */ /* set breakpoint 2 here */ + return argc; /* set breakpoint 10 here */ +} + +#ifdef PROTOTYPES +int factorial (int value) +#else +int factorial (value) +int value; +#endif +{ + if (value > 1) { /* set breakpoint 7 here */ + value *= factorial (value - 1); + } + return (value); +} + +#ifdef PROTOTYPES +int multi_line_if_conditional (int a, int b, int c) +#else +int multi_line_if_conditional (a, b, c) + int a, b, c; +#endif +{ + if (a /* set breakpoint 3 here */ + && b + && c) + return 0; + else + return 1; +} + +#ifdef PROTOTYPES +int multi_line_while_conditional (int a, int b, int c) +#else +int multi_line_while_conditional (a, b, c) + int a, b, c; +#endif +{ + while (a /* set breakpoint 4 here */ + && b + && c) + { + a--, b--, c--; + } + return 0; +} diff --git a/gdb/testsuite/gdb.base/sepdebug.exp b/gdb/testsuite/gdb.base/sepdebug.exp new file mode 100644 index 0000000..1028dab --- /dev/null +++ b/gdb/testsuite/gdb.base/sepdebug.exp @@ -0,0 +1,987 @@ +# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2002, 2003, 2004 +# 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 +# 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. + +# Please email any bugs, comments, and/or additions to this file to: +# bug-gdb@prep.ai.mit.edu + +# Based on break.exp, written by Rob Savoye. (rob@cygnus.com) +# Modified to test gdb's handling of separate debug info files. + +# This file has two parts. The first is testing that gdb behaves +# normally after reading in an executable and its corresponding +# separate debug file. The second moves the .debug file to a different +# location and tests the "set debug-file-directory" command. + + +if $tracelevel then { + strace $tracelevel +} + +# +# test running programs +# +set prms_id 0 +set bug_id 0 + +set testfile "sepdebug" +set srcfile ${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } { + gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." +} + +# FIXME: this is nasty. We need to check for the stabs debug format. +# To do this we must run gdb on the unstripped executable, list 'main' +# (as to have a default source file), use get_debug_format (which does +# 'info source') and then see if the debug info is stabs. If so, we +# bail out. We cannot do this any other way because get_debug_format +# finds out the debug format using gdb itself, and in case of stabs we +# get an error loading the program if it is already stripped. An +# alternative would be to find out the debug info from the flags +# passed to dejagnu when the test is run. + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} +gdb_test "list main" "" "" +get_debug_format +if { [test_debug_format "stabs"] } then { + # the separate debug info feature doesn't work well in binutils with stabs. + # It produces a corrupted debug info only file, and gdb chokes on it. + # It is almost impossible to capture the failing message out of gdb, + # because it happens inside gdb_load. At that point any error message + # is intercepted by dejagnu itself, and, because of the error threshold, + # any faulty test result is changed into an UNRESOLVED. + # (see dejagnu/lib/framework.exp) + unsupported "no separate debug info handling with stabs" + return -1 +} elseif { [test_debug_format "unknown"] } then { + # gdb doesn't know what the debug format is. We are out of luck here. + unsupported "unknown debugging format" + return -1 +} +gdb_exit + +# Note: the procedure gdb_gnu_strip_debug will produce an executable called +# ${binfile}, which is just like the executable ($binfile) but without +# the debuginfo. Instead $binfile has a .gnudebuglink section which contains +# the name of a debuginfo only file. This file will be stored in the +# gdb.base/.debug subdirectory. + +if [gdb_gnu_strip_debug $binfile] { + # check that you have a recent version of strip and objcopy installed + unsupported "cannot produce separate debug info files" + return -1 +} + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +if [target_info exists gdb_stub] { + gdb_step_for_stub; +} +# +# test simple breakpoint setting commands +# + +# Test deleting all breakpoints when there are none installed, +# GDB should not prompt for confirmation. +# Note that gdb-init.exp provides a "delete_breakpoints" proc +# for general use elsewhere. + +send_gdb "delete breakpoints\n" +gdb_expect { + -re "Delete all breakpoints.*$" { + send_gdb "y\n" + gdb_expect { + -re "$gdb_prompt $" { + fail "Delete all breakpoints when none (unexpected prompt)" + } + timeout { fail "Delete all breakpoints when none (timeout after unexpected prompt)" } + } + } + -re ".*$gdb_prompt $" { pass "Delete all breakpoints when none" } + timeout { fail "Delete all breakpoints when none (timeout)" } +} + +# +# test break at function +# +gdb_test "break main" \ + "Breakpoint.*at.* file .*$srcfile, line.*" \ + "breakpoint function" + +# +# test break at quoted function +# +gdb_test "break \"marker2\"" \ + "Breakpoint.*at.* file .*$srcfile, line.*" \ + "breakpoint quoted function" + +# +# test break at function in file +# +gdb_test "break $srcfile:factorial" \ + "Breakpoint.*at.* file .*$srcfile, line.*" \ + "breakpoint function in file" + +set bp_location1 [gdb_get_line_number "set breakpoint 1 here"] + +# +# test break at line number +# +# Note that the default source file is the last one whose source text +# was printed. For native debugging, before we've executed the +# program, this is the file containing main, but for remote debugging, +# it's wherever the processor was stopped when we connected to the +# board. So, to be sure, we do a list command. +# +gdb_test "list main" \ + ".*main \\(argc, argv, envp\\).*" \ + "use `list' to establish default source file" +gdb_test "break $bp_location1" \ + "Breakpoint.*at.* file .*$srcfile, line $bp_location1\\." \ + "breakpoint line number" + +# +# test duplicate breakpoint +# +gdb_test "break $bp_location1" \ + "Note: breakpoint \[0-9\]+ also set at pc.*Breakpoint \[0-9\]+ at.* file .*$srcfile, line $bp_location1\\." \ + "breakpoint duplicate" + +set bp_location2 [gdb_get_line_number "set breakpoint 2 here"] + +# +# test break at line number in file +# +gdb_test "break $srcfile:$bp_location2" \ + "Breakpoint.*at.* file .*$srcfile, line $bp_location2\\." \ + "breakpoint line number in file" + +set bp_location3 [gdb_get_line_number "set breakpoint 3 here"] +set bp_location4 [gdb_get_line_number "set breakpoint 4 here"] + +# +# Test putting a break at the start of a multi-line if conditional. +# Verify the breakpoint was put at the start of the conditional. +# +gdb_test "break multi_line_if_conditional" \ + "Breakpoint.*at.* file .*$srcfile, line $bp_location3\\." \ + "breakpoint at start of multi line if conditional" + +gdb_test "break multi_line_while_conditional" \ + "Breakpoint.*at.* file .*$srcfile, line $bp_location4\\." \ + "breakpoint at start of multi line while conditional" + +set bp_location5 [gdb_get_line_number "set breakpoint 5 here"] +set bp_location6 [gdb_get_line_number "set breakpoint 6 here"] + +# +# check to see what breakpoints are set +# +if [target_info exists gdb_stub] { + set main_line $bp_location5 +} else { + set main_line $bp_location6 +} + +set bp_location7 [gdb_get_line_number "set breakpoint 7 here"] +set bp_location8 [gdb_get_line_number "set breakpoint 8 here"] +set bp_location9 [gdb_get_line_number "set breakpoint 9 here"] + +gdb_test "info break" \ + "Num Type\[ \]+Disp Enb Address\[ \]+What.* +\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$main_line.* +\[0-9\]+\[\t \]+breakpoint keep y.* in marker2 at .*$srcfile:($bp_location8|$bp_location9).* +\[0-9\]+\[\t \]+breakpoint keep y.* in factorial at .*$srcfile:$bp_location7.* +\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$bp_location1.* +\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$bp_location1.* +\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$bp_location2.* +\[0-9\]+\[\t \]+breakpoint keep y.* in multi_line_if_conditional at .*$srcfile:$bp_location3.* +\[0-9\]+\[\t \]+breakpoint keep y.* in multi_line_while_conditional at .*$srcfile:$bp_location4" \ + "breakpoint info" + +# FIXME: The rest of this test doesn't work with anything that can't +# handle arguments. +# Huh? There doesn't *appear* to be anything that passes arguments +# below. +if [istarget "mips-idt-*"] then { + return +} + +# +# run until the breakpoint at main is hit. For non-stubs-using targets. +# +if ![target_info exists use_gdb_stub] { + if [istarget "*-*-vxworks*"] then { + send_gdb "run vxmain \"2\"\n" + set timeout 120 + verbose "Timeout is now $timeout seconds" 2 + } else { + send_gdb "run\n" + } + gdb_expect { + -re "The program .* has been started already.*y or n. $" { + send_gdb "y\n" + exp_continue + } + -re "Starting program.*Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.* \{.*$gdb_prompt $"\ + { pass "run until function breakpoint" } + -re ".*$gdb_prompt $" { fail "run until function breakpoint" } + timeout { fail "run until function breakpoint (timeout)" } + } +} else { + if ![target_info exists gdb_stub] { + gdb_test continue ".*Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.*\{.*" "stub continue" + } +} + +# +# run until the breakpoint at a line number +# +gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location1.*$bp_location1\[\t \]+printf.*factorial.*" \ + "run until breakpoint set at a line number" + +# +# Run until the breakpoint set in a function in a file +# +for {set i 6} {$i >= 1} {incr i -1} { + gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, factorial \\(value=$i\\) at .*$srcfile:$bp_location7.*$bp_location7\[\t \]+.*if .value > 1. \{.*" \ + "run until file:function($i) breakpoint" +} + +# +# Run until the breakpoint set at a quoted function +# +gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, (0x\[0-9a-f\]+ in )?marker2 \\(a=43\\) at .*$srcfile:($bp_location8|$bp_location9).*" \ + "run until quoted breakpoint" +# +# run until the file:function breakpoint at a line number in a file +# +gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location2.*$bp_location2\[\t \]+argc = \\(argc == 12345\\);.*" \ + "run until file:linenum breakpoint" + +# Test break at offset +1 +set bp_location10 [gdb_get_line_number "set breakpoint 10 here"] + +gdb_test "break +1" \ + "Breakpoint.*at.* file .*$srcfile, line $bp_location10\\." \ + "breakpoint offset +1" + +# Check to see if breakpoint is hit when stepped onto + +gdb_test "step" \ + ".*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location10.*$bp_location10\[\t \]+return argc;.*breakpoint 10 here.*" \ + "step onto breakpoint" + +# +# delete all breakpoints so we can start over, course this can be a test too +# +delete_breakpoints + +# +# test temporary breakpoint at function +# + +gdb_test "tbreak main" "Breakpoint.*at.* file .*$srcfile, line.*" "Temporary breakpoint function" + +# +# test break at function in file +# + +gdb_test "tbreak $srcfile:factorial" "Breakpoint.*at.* file .*$srcfile, line.*" \ + "Temporary breakpoint function in file" + +# +# test break at line number +# +send_gdb "tbreak $bp_location1\n" +gdb_expect { + -re "Breakpoint.*at.* file .*$srcfile, line $bp_location1.*$gdb_prompt $" { pass "Temporary breakpoint line number #1" } + -re ".*$gdb_prompt $" { pass "Temporary breakpoint line number #1" } + timeout { fail "breakpoint line number #1 (timeout)" } +} + +gdb_test "tbreak $bp_location6" "Breakpoint.*at.* file .*$srcfile, line $bp_location6.*" "Temporary breakpoint line number #2" + +# +# test break at line number in file +# +send_gdb "tbreak $srcfile:$bp_location2\n" +gdb_expect { + -re "Breakpoint.*at.* file .*$srcfile, line $bp_location2.*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" } + -re ".*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" } + timeout { fail "Temporary breakpoint line number in file #1 (timeout)" } +} + +set bp_location11 [gdb_get_line_number "set breakpoint 11 here"] +gdb_test "tbreak $srcfile:$bp_location11" "Breakpoint.*at.* file .*$srcfile, line $bp_location11.*" "Temporary breakpoint line number in file #2" + +# +# check to see what breakpoints are set (temporary this time) +# +gdb_test "info break" "Num Type.*Disp Enb Address.*What.*\[\r\n\] +\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$main_line.*\[\r\n\] +\[0-9\]+\[\t \]+breakpoint del.*y.*in factorial at .*$srcfile:$bp_location7.*\[\r\n\] +\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$bp_location1.*\[\r\n\] +\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$bp_location6.*\[\r\n\] +\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$bp_location2.*\[\r\n\] +\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$bp_location11.*" \ + "Temporary breakpoint info" + + +#*********** + +# Verify that catchpoints for fork, vfork and exec don't trigger +# inappropriately. (There are no calls to those system functions +# in this test program.) +# +if ![runto_main] then { fail "break tests suppressed" } + +send_gdb "catch\n" +gdb_expect { + -re "Catch requires an event name.*$gdb_prompt $"\ + {pass "catch requires an event name"} + -re "$gdb_prompt $"\ + {fail "catch requires an event name"} + timeout {fail "(timeout) catch requires an event name"} +} + + +set name "set catch fork, never expected to trigger" +send_gdb "catch fork\n" +gdb_expect { + -re "Catchpoint \[0-9\]* .fork..*$gdb_prompt $" + {pass $name} + -re "Catch of fork not yet implemented.*$gdb_prompt $" + {pass $name} + -re "$gdb_prompt $" + {fail $name} + timeout {fail "(timeout) $name"} +} + + +set name "set catch vfork, never expected to trigger" +send_gdb "catch vfork\n" + +# If we are on HP-UX 10.20, we expect an error message to be +# printed if we type "catch vfork" at the gdb gdb_prompt. This is +# because on HP-UX 10.20, we cannot catch vfork events. + +if [istarget "hppa*-hp-hpux10.20"] then { + gdb_expect { + -re "Catch of vfork events not supported on HP-UX 10.20..*$gdb_prompt $" + {pass $name} + -re "$gdb_prompt $" + {fail $name} + timeout {fail "(timeout) $name"} + } +} else { + gdb_expect { + -re "Catchpoint \[0-9\]* .vfork..*$gdb_prompt $" + {pass $name} + -re "Catch of vfork not yet implemented.*$gdb_prompt $" + {pass $name} + -re "$gdb_prompt $" + {fail $name} + timeout {fail "(timeout) $name"} + } +} + +set name "set catch exec, never expected to trigger" +send_gdb "catch exec\n" +gdb_expect { + -re "Catchpoint \[0-9\]* .exec..*$gdb_prompt $" + {pass $name} + -re "Catch of exec not yet implemented.*$gdb_prompt $" + {pass $name} + -re "$gdb_prompt $" {fail $name} + timeout {fail "(timeout) $name"} +} + +# Verify that GDB responds gracefully when asked to set a breakpoint +# on a nonexistent source line. +# +send_gdb "break 999\n" +gdb_expect { + -re "No line 999 in file .*$gdb_prompt $"\ + {pass "break on non-existent source line"} + -re "$gdb_prompt $"\ + {fail "break on non-existent source line"} + timeout {fail "(timeout) break on non-existent source line"} +} + +# Run to the desired default location. If not positioned here, the +# tests below don't work. +# +gdb_test "until $bp_location1" "main .* at .*:$bp_location1.*" "until bp_location1" + + +# Verify that GDB allows one to just say "break", which is treated +# as the "default" breakpoint. Note that GDB gets cute when printing +# the informational message about other breakpoints at the same +# location. We'll hit that bird with this stone too. +# +send_gdb "break\n" +gdb_expect { + -re "Breakpoint \[0-9\]*.*$gdb_prompt $"\ + {pass "break on default location, 1st time"} + -re "$gdb_prompt $"\ + {fail "break on default location, 1st time"} + timeout {fail "(timeout) break on default location, 1st time"} +} + +send_gdb "break\n" +gdb_expect { + -re "Note: breakpoint \[0-9\]* also set at .*Breakpoint \[0-9\]*.*$gdb_prompt $"\ + {pass "break on default location, 2nd time"} + -re "$gdb_prompt $"\ + {fail "break on default location, 2nd time"} + timeout {fail "(timeout) break on default location, 2nd time"} +} + +send_gdb "break\n" +gdb_expect { + -re "Note: breakpoints \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*$gdb_prompt $"\ + {pass "break on default location, 3rd time"} + -re "$gdb_prompt $"\ + {fail "break on default location, 3rd time"} + timeout {fail "(timeout) break on default location, 3rd time"} +} + +send_gdb "break\n" +gdb_expect { + -re "Note: breakpoints \[0-9\]*, \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*$gdb_prompt $"\ + {pass "break on default location, 4th time"} + -re "$gdb_prompt $"\ + {fail "break on default location, 4th time"} + timeout {fail "(timeout) break on default location, 4th time"} +} + +# Verify that a "silent" breakpoint can be set, and that GDB is indeed +# "silent" about its triggering. +# +if ![runto_main] then { fail "break tests suppressed" } + +send_gdb "break $bp_location1\n" +gdb_expect { + -re "Breakpoint (\[0-9\]*) at .*, line $bp_location1.*$gdb_prompt $"\ + {pass "set to-be-silent break bp_location1"} + -re "$gdb_prompt $"\ + {fail "set to-be-silent break bp_location1"} + timeout {fail "(timeout) set to-be-silent break bp_location1"} +} + +send_gdb "commands $expect_out(1,string)\n" +send_gdb "silent\n" +send_gdb "end\n" +gdb_expect { + -re ".*$gdb_prompt $"\ + {pass "set silent break bp_location1"} + timeout {fail "(timeout) set silent break bp_location1"} +} + +send_gdb "info break $expect_out(1,string)\n" +gdb_expect { + -re "\[0-9\]*\[ \t\]*breakpoint.*:$bp_location1\r\n\[ \t\]*silent.*$gdb_prompt $"\ + {pass "info silent break bp_location1"} + -re "$gdb_prompt $"\ + {fail "info silent break bp_location1"} + timeout {fail "(timeout) info silent break bp_location1"} +} +send_gdb "continue\n" +gdb_expect { + -re "Continuing.\r\n$gdb_prompt $"\ + {pass "hit silent break bp_location1"} + -re "$gdb_prompt $"\ + {fail "hit silent break bp_location1"} + timeout {fail "(timeout) hit silent break bp_location1"} +} +send_gdb "bt\n" +gdb_expect { + -re "#0 main .* at .*:$bp_location1.*$gdb_prompt $"\ + {pass "stopped for silent break bp_location1"} + -re "$gdb_prompt $"\ + {fail "stopped for silent break bp_location1"} + timeout {fail "(timeout) stopped for silent break bp_location1"} +} + +# Verify that GDB can at least parse a breakpoint with the +# "thread" keyword. (We won't attempt to test here that a +# thread-specific breakpoint really triggers appropriately. +# The gdb.threads subdirectory contains tests for that.) +# +set bp_location12 [gdb_get_line_number "set breakpoint 12 here"] +send_gdb "break $bp_location12 thread 999\n" +gdb_expect { + -re "Unknown thread 999.*$gdb_prompt $"\ + {pass "thread-specific breakpoint on non-existent thread disallowed"} + -re "$gdb_prompt $"\ + {fail "thread-specific breakpoint on non-existent thread disallowed"} + timeout {fail "(timeout) thread-specific breakpoint on non-existent thread disallowed"} +} +send_gdb "break $bp_location12 thread foo\n" +gdb_expect { + -re "Junk after thread keyword..*$gdb_prompt $"\ + {pass "thread-specific breakpoint on bogus thread ID disallowed"} + -re "$gdb_prompt $"\ + {fail "thread-specific breakpoint on bogus thread ID disallowed"} + timeout {fail "(timeout) thread-specific breakpoint on bogus thread ID disallowed"} +} + +# Verify that GDB responds gracefully to a breakpoint command with +# trailing garbage. +# +send_gdb "break $bp_location12 foo\n" +gdb_expect { + -re "Junk at end of arguments..*$gdb_prompt $"\ + {pass "breakpoint with trailing garbage disallowed"} + -re "$gdb_prompt $"\ + {fail "breakpoint with trailing garbage disallowed"} + timeout {fail "(timeout) breakpoint with trailing garbage disallowed"} +} + +# Verify that GDB responds gracefully to a "clear" command that has +# no matching breakpoint. (First, get us off the current source line, +# which we know has a breakpoint.) +# +send_gdb "next\n" +gdb_expect { + -re ".*$gdb_prompt $"\ + {pass "step over breakpoint"} + timeout {fail "(timeout) step over breakpoint"} +} +send_gdb "clear 81\n" +gdb_expect { + -re "No breakpoint at 81..*$gdb_prompt $"\ + {pass "clear line has no breakpoint disallowed"} + -re "$gdb_prompt $"\ + {fail "clear line has no breakpoint disallowed"} + timeout {fail "(timeout) clear line has no breakpoint disallowed"} +} +send_gdb "clear\n" +gdb_expect { + -re "No breakpoint at this line..*$gdb_prompt $"\ + {pass "clear current line has no breakpoint disallowed"} + -re "$gdb_prompt $"\ + {fail "clear current line has no breakpoint disallowed"} + timeout {fail "(timeout) clear current line has no breakpoint disallowed"} +} + +# Verify that we can set and clear multiple breakpoints. +# +# We don't test that it deletes the correct breakpoints. We do at +# least test that it deletes more than one breakpoint. +# +gdb_test "break marker3" "Breakpoint.*at.*" "break marker3 #1" +gdb_test "break marker3" "Breakpoint.*at.*" "break marker3 #2" +gdb_test "clear marker3" {Deleted breakpoints [0-9]+ [0-9]+.*} + +# Verify that a breakpoint can be set via a convenience variable. +# +send_gdb "set \$foo=$bp_location11\n" +gdb_expect { + -re "$gdb_prompt $"\ + {pass "set convenience variable \$foo to bp_location11"} + timeout {fail "(timeout) set convenience variable \$foo to bp_location11"} +} +send_gdb "break \$foo\n" +gdb_expect { + -re "Breakpoint (\[0-9\]*) at .*, line $bp_location11.*$gdb_prompt $"\ + {pass "set breakpoint via convenience variable"} + -re "$gdb_prompt $"\ + {fail "set breakpoint via convenience variable"} + timeout {fail "(timeout) set breakpoint via convenience variable"} +} + +# Verify that GDB responds gracefully to an attempt to set a +# breakpoint via a convenience variable whose type is not integer. +# +send_gdb "set \$foo=81.5\n" +gdb_expect { + -re "$gdb_prompt $"\ + {pass "set convenience variable \$foo to 81.5"} + timeout {fail "(timeout) set convenience variable \$foo to 81.5"} +} +send_gdb "break \$foo\n" +gdb_expect { + -re "Convenience variables used in line specs must have integer values..*$gdb_prompt $"\ + {pass "set breakpoint via non-integer convenience variable disallowed"} + -re "$gdb_prompt $"\ + {fail "set breakpoint via non-integer convenience variable disallowed"} + timeout {fail "(timeout) set breakpoint via non-integer convenience variable disallowed"} +} + +# Verify that we can set and trigger a breakpoint in a user-called function. +# +send_gdb "break marker2\n" +gdb_expect { + -re "Breakpoint (\[0-9\]*) at .*, line ($bp_location8|$bp_location9).*$gdb_prompt $"\ + {pass "set breakpoint on to-be-called function"} + -re "$gdb_prompt $"\ + {fail "set breakpoint on to-be-called function"} + timeout {fail "(timeout) set breakpoint on to-be-called function"} +} +send_gdb "print marker2(99)\n" +gdb_expect { + -re "The program being debugged stopped while in a function called from GDB.\r\nWhen the function .marker2. is done executing, GDB will silently\r\nstop .instead of continuing to evaluate the expression containing\r\nthe function call...*$gdb_prompt $"\ + {pass "hit breakpoint on called function"} + -re "$gdb_prompt $"\ + {fail "hit breakpoint on called function"} + timeout {fail "(timeout) hit breakpoint on called function"} +} + +# As long as we're stopped (breakpointed) in a called function, +# verify that we can successfully backtrace & such from here. +# +# In this and the following test, the _sr4export check apparently is needed +# for hppa*-*-hpux. +# +send_gdb "bt\n" +gdb_expect { + -re "#0\[ \t\]*($hex in )?marker2.*:($bp_location8|$bp_location9)\r\n#1.*_sr4export.*$gdb_prompt $"\ + {pass "backtrace while in called function"} + -re "#0\[ \t\]*($hex in )?marker2.*:($bp_location8|$bp_location9)\r\n#1.*function called from gdb.*$gdb_prompt $"\ + {pass "backtrace while in called function"} + -re "$gdb_prompt $"\ + {fail "backtrace while in called function"} + timeout {fail "(timeout) backtrace while in called function"} +} + +# Return from the called function. For remote targets, it's important to do +# this before runto_main, which otherwise may silently stop on the dummy +# breakpoint inserted by GDB at the program's entry point. +# +send_gdb "finish\n" +gdb_expect { + -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.* in _sr4export.*$gdb_prompt $"\ + {pass "finish from called function"} + -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.*function called from gdb.*$gdb_prompt $"\ + {pass "finish from called function"} + -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.*Value returned.*$gdb_prompt $"\ + {pass "finish from called function"} + -re "$gdb_prompt $"\ + {fail "finish from called function"} + timeout {fail "(timeout) finish from called function"} +} + +# Verify that GDB responds gracefully to a "finish" command with +# arguments. +# +if ![runto_main] then { fail "break tests suppressed" } + +send_gdb "finish 123\n" +gdb_expect { + -re "The \"finish\" command does not take any arguments.\r\n$gdb_prompt $"\ + {pass "finish with arguments disallowed"} + -re "$gdb_prompt $"\ + {fail "finish with arguments disallowed"} + timeout {fail "(timeout) finish with arguments disallowed"} +} + +# Verify that GDB responds gracefully to a request to "finish" from +# the outermost frame. On a stub that never exits, this will just +# run to the stubs routine, so we don't get this error... Thus the +# second condition. +# + +send_gdb "finish\n" +gdb_expect { + -re "\"finish\" not meaningful in the outermost frame.\r\n$gdb_prompt $"\ + {pass "finish from outermost frame disallowed"} + -re "Run till exit from.*\r\n$gdb_prompt $" { + pass "finish from outermost frame disallowed" + } + -re "$gdb_prompt $"\ + {fail "finish from outermost frame disallowed"} + timeout {fail "(timeout) finish from outermost frame disallowed"} +} + +# Verify that we can explicitly ask GDB to stop on all shared library +# events, and that it does so. +# +if [istarget "hppa*-*-hpux*"] then { + if ![runto_main] then { fail "break tests suppressed" } + + send_gdb "set stop-on-solib-events 1\n" + gdb_expect { + -re "$gdb_prompt $"\ + {pass "set stop-on-solib-events"} + timeout {fail "(timeout) set stop-on-solib-events"} + } + + send_gdb "run\n" + gdb_expect { + -re ".*Start it from the beginning.*y or n. $"\ + {send_gdb "y\n" + gdb_expect { + -re ".*Stopped due to shared library event.*$gdb_prompt $"\ + {pass "triggered stop-on-solib-events"} + -re "$gdb_prompt $"\ + {fail "triggered stop-on-solib-events"} + timeout {fail "(timeout) triggered stop-on-solib-events"} + } + } + -re "$gdb_prompt $"\ + {fail "rerun for stop-on-solib-events"} + timeout {fail "(timeout) rerun for stop-on-solib-events"} + } + + send_gdb "set stop-on-solib-events 0\n" + gdb_expect { + -re "$gdb_prompt $"\ + {pass "reset stop-on-solib-events"} + timeout {fail "(timeout) reset stop-on-solib-events"} + } +} + +# Hardware breakpoints are unsupported on HP-UX. Verify that GDB +# gracefully responds to requests to create them. +# +if [istarget "hppa*-*-hpux*"] then { + if ![runto_main] then { fail "break tests suppressed" } + + send_gdb "hbreak\n" + gdb_expect { + -re "No hardware breakpoint support in the target.*$gdb_prompt $"\ + {pass "hw breaks disallowed"} + -re "$gdb_prompt $"\ + {fail "hw breaks disallowed"} + timeout {fail "(timeout) hw breaks disallowed"} + } + + send_gdb "thbreak\n" + gdb_expect { + -re "No hardware breakpoint support in the target.*$gdb_prompt $"\ + {pass "temporary hw breaks disallowed"} + -re "$gdb_prompt $"\ + {fail "temporary hw breaks disallowed"} + timeout {fail "(timeout) temporary hw breaks disallowed"} + } +} + +#******** + + +# +# Test "next" over recursive function call. +# + +proc test_next_with_recursion {} { + global gdb_prompt + global decimal + global binfile + + if [target_info exists use_gdb_stub] { + # Reload the program. + delete_breakpoints + gdb_load ${binfile}; + } else { + # FIXME: should be using runto + gdb_test "kill" "" "kill program" "Kill the program being debugged.*y or n. $" "y" + + delete_breakpoints + } + + gdb_test "break factorial" "Breakpoint $decimal at .*" "break at factorial" + + # Run until we call factorial with 6 + + if [istarget "*-*-vxworks*"] then { + send_gdb "run vxmain \"6\"\n" + } else { + gdb_run_cmd + } + gdb_expect { + -re "Break.* factorial .value=6. .*$gdb_prompt $" {} + -re ".*$gdb_prompt $" { + fail "run to factorial(6)"; + gdb_suppress_tests; + } + timeout { fail "run to factorial(6) (timeout)" ; gdb_suppress_tests } + } + + # Continue until we call factorial recursively with 5. + + if [gdb_test "continue" \ + "Continuing.*Break.* factorial .value=5. .*" \ + "continue to factorial(5)"] then { gdb_suppress_tests } + + # Do a backtrace just to confirm how many levels deep we are. + + if [gdb_test "backtrace" \ + "#0\[ \t\]+ factorial .value=5..*" \ + "backtrace from factorial(5)"] then { gdb_suppress_tests } + + # Now a "next" should position us at the recursive call, which + # we will be performing with 4. + + if [gdb_test "next" \ + ".* factorial .value - 1.;.*" \ + "next to recursive call"] then { gdb_suppress_tests } + + # Disable the breakpoint at the entry to factorial by deleting them all. + # The "next" should run until we return to the next line from this + # recursive call to factorial with 4. + # Buggy versions of gdb will stop instead at the innermost frame on + # the line where we are trying to "next" to. + + delete_breakpoints + + if [istarget "mips*tx39-*"] { + set timeout 60 + } + # We used to set timeout here for all other targets as well. This + # is almost certainly wrong. The proper timeout depends on the + # target system in use, and how we communicate with it, so there + # is no single value appropriate for all targets. The timeout + # should be established by the Dejagnu config file(s) for the + # board, and respected by the test suite. + # + # For example, if I'm running GDB over an SSH tunnel talking to a + # portmaster in California talking to an ancient 68k board running + # a crummy ROM monitor (a situation I can only wish were + # hypothetical), then I need a large timeout. But that's not the + # kind of knowledge that belongs in this file. + + gdb_test next "\[0-9\]*\[\t \]+return \\(value\\);.*" \ + "next over recursive call" + + # OK, we should be back in the same stack frame we started from. + # Do a backtrace just to confirm. + + set result [gdb_test "backtrace" \ + "#0\[ \t\]+ factorial .value=120.*\r\n#1\[ \t\]+ \[0-9a-fx\]+ in factorial .value=6..*" \ + "backtrace from factorial(5.1)"] + if { $result != 0 } { gdb_suppress_tests } + + if [target_info exists gdb,noresults] { gdb_suppress_tests } + gdb_continue_to_end "recursive next test" + gdb_stop_suppressing_tests; +} + +test_next_with_recursion + + +#******** + +# now move the .debug file to a different location so that we can test +# the "set debug-file-directory" command. + +remote_exec build "mv ${objdir}/${subdir}/.debug/${testfile}.debug ${objdir}/${subdir}" +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_test "set debug-file-directory ${objdir}/${subdir}" ".*" "set separate debug location" +gdb_load ${binfile} + +if [target_info exists gdb_stub] { + gdb_step_for_stub; +} + +# +# test break at function +# +gdb_test "break main" \ + "Breakpoint.*at.* file .*$srcfile, line.*" \ + "breakpoint function, optimized file" + +# +# test break at function +# +gdb_test "break marker4" \ + "Breakpoint.*at.* file .*$srcfile, line.*" \ + "breakpoint small function, optimized file" + +# +# run until the breakpoint at main is hit. For non-stubs-using targets. +# +if ![target_info exists use_gdb_stub] { + if [istarget "*-*-vxworks*"] then { + send_gdb "run vxmain \"2\"\n" + set timeout 120 + verbose "Timeout is now $timeout seconds" 2 + } else { + send_gdb "run\n" + } + gdb_expect { + -re "The program .* has been started already.*y or n. $" { + send_gdb "y\n" + exp_continue + } + -re "Starting program.*Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.* \{.*$gdb_prompt $"\ + { pass "run until function breakpoint, optimized file" } + -re "Starting program.*Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$gdb_prompt $"\ + { pass "run until function breakpoint, optimized file (code motion)" } + -re ".*$gdb_prompt $" { fail "run until function breakpoint, optimized file" } + timeout { fail "run until function breakpoint, optimized file (timeout)" } + } +} else { + if ![target_info exists gdb_stub] { + gdb_test continue ".*Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.*\{.*" "stub continue, optimized file" + } +} + +# +# run until the breakpoint at a small function +# + +# +# Add a second pass pattern. The behavior differs here between stabs +# and dwarf for one-line functions. Stabs preserves two line symbols +# (one before the prologue and one after) with the same line number, +# but dwarf regards these as duplicates and discards one of them. +# Therefore the address after the prologue (where the breakpoint is) +# has no exactly matching line symbol, and GDB reports the breakpoint +# as if it were in the middle of a line rather than at the beginning. + +set bp_location13 [gdb_get_line_number "set breakpoint 13 here"] +set bp_location14 [gdb_get_line_number "set breakpoint 14 here"] +send_gdb "continue\n" +gdb_expect { + -re "Breakpoint $decimal, marker4 \\(d=177601976\\) at .*$srcfile:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" { + pass "run until breakpoint set at small function, optimized file" + } + -re "Breakpoint $decimal, $hex in marker4 \\(d=177601976\\) at .*$srcfile:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" { + pass "run until breakpoint set at small function, optimized file" + } + -re "Breakpoint $decimal, marker4 \\(d=177601976\\) at .*$srcfile:$bp_location14\[\r\n\]+$bp_location14\[\t \]+void marker4.*" { + # marker4() is defined at line 46 when compiled with -DPROTOTYPES + pass "run until breakpoint set at small function, optimized file (line bp_location14)" + } + -re ".*$gdb_prompt " { + fail "run until breakpoint set at small function, optimized file" + } + timeout { + fail "run until breakpoint set at small function, optimized file (timeout)" + } +} + + +# Reset the default arguments for VxWorks +if [istarget "*-*-vxworks*"] { + set timeout 10 + verbose "Timeout is now $timeout seconds" 2 + send_gdb "set args main\n" + gdb_expect -re ".*$gdb_prompt $" {} +} diff --git a/gdb/testsuite/gdb.cp/bs15503.cc b/gdb/testsuite/gdb.cp/bs15503.cc new file mode 100644 index 0000000..aec5a0b --- /dev/null +++ b/gdb/testsuite/gdb.cp/bs15503.cc @@ -0,0 +1,74 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 1992, 2004 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 + 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. + + Please email any bugs, comments, and/or additions to this file to: + bug-gdb@prep.ai.mit.edu */ + +#include <string> +#include <iostream> +using namespace std; + +template <class T> +class StringTest { +public: + virtual void runTest(); + void testFunction(); +}; + +template <class T> +void StringTest<T>:: runTest() { + testFunction (); +} + +template <class T> +void StringTest <T>::testFunction() { + // initialize s with string literal + cout << "in StringTest" << endl; + string s("I am a shot string"); + cout << s << endl; + + // insert 'r' to fix "shot" + s.insert(s.begin()+10,'r' ); + cout << s << endl; + + // concatenate another string + s += "and now a longer string"; + cout << s << endl; + + // find position where blank needs to be inserted + string::size_type spos = s.find("and"); + s.insert(spos, " "); + cout << s << endl; + + // erase the concatenated part + s.erase(spos); + cout << s << endl; +} + +int main() { + StringTest<wchar_t> ts; + ts.runTest(); +} + +/* output: +I am a shot string +I am a short string +I am a short stringand now a longer string +I am a short string and now a longer string +I am a short string +*/ diff --git a/gdb/testsuite/gdb.cp/bs15503.exp b/gdb/testsuite/gdb.cp/bs15503.exp new file mode 100644 index 0000000..9b6095b --- /dev/null +++ b/gdb/testsuite/gdb.cp/bs15503.exp @@ -0,0 +1,100 @@ +# Copyright 1992, 2004 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 +# 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. */ + +# Test case for CLLbs15503 +# This file was written by Sue Kimura (sue_kimura@hp.com) +# Rewritten by Michael Chastain (mec.gnu@mindspring.com) + +if $tracelevel { + strace $tracelevel +} + +set testfile "bs15503" +set srcfile ${testfile}.cc +set binfile ${objdir}/${subdir}/${testfile} + +if [get_compiler_info ${binfile}] { + return -1 +} + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "debug c++"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 +} + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +if ![runto_main] then { + perror "couldn't run to breakpoint" + continue +} + +# Set breakpoint on template function + +gdb_test "break StringTest<wchar_t>::testFunction" \ + "Breakpoint $decimal at $hex: file .*${srcfile}, line $decimal." + +gdb_test "continue" \ + ".*Breakpoint $decimal, StringTest<wchar_t>::testFunction \\(this=$hex\\).*" \ + "continue to StringTest<wchar_t>" + +# Run to some random point in the middle of the function. + +gdb_breakpoint [gdb_get_line_number "find position where blank needs to be inserted"] +gdb_continue_to_breakpoint "find position where blank needs to be inserted" + +# Call some string methods. + +gdb_test "print s.length()" "\\$\[0-9\]+ = 42" +gdb_test "print s\[0\]" "\\$\[0-9\]+ =.* 'I'" +gdb_test "print s\[s.length()-1\]" "\\$\[0-9\]+ =.* 'g'" +gdb_test "print (const char *) s" \ + "\\$\[0-9\]+ = $hex \"I am a short stringand now a longer string\"" + +# TODO: tests that do not work with gcc 2.95.3 +# -- chastain 2004-01-07 +# +# gdb_test "print s.compare(s)" "\\$\[0-9\]+ = 0" +# gdb_test "print s.compare(\"AAA\")" "\\$\[0-9\]+ = 1" +# gdb_test "print s.compare(\"ZZZ\")" "\\$\[0-9\]+ = -1" + +# TODO: tests that do not work with gcc 2.95.3 and gcc 3.3.2. +# cannot call overloaded non-member operator. -- chastain 2004-01-07 +# +# gdb_test "print s == s" "\\$\[0-9\]+ = true" +# gdb_test "print s > "AAA" "\\$\[0-9\]+ = true" +# gdb_test "print s < "ZZZ" "\\$\[0-9\]+ = true" + +# TODO crash gdb! This is going to be a great test! +# -- chastain 2004-01-07 +# +# gdb_test "print s == \"I am a short stringand now a longer string\"" \ +# "\\$\[0-9\]+ = "true" + +gdb_test "print (const char *) s.substr(0,4)" "\\$\[0-9\]+ = $hex \"I am\"" +gdb_test "print (const char *) (s=s.substr(0,4))" \ + "\\$\[0-9\]+ = $hex \"I am\"" + +# TODO: cannot call overloaded non-member operator again. +# -- chastain 2004-01-07 +# +# gdb_test "print (const char *) (s + s)" \ +# "\\$\[0-9\]+ = $hex \"I amI am\"" +# gdb_test "print (const char *) (s + \" \" + s)" \ +# "\\$\[0-9\]+ = $hex \"I am I am\"" diff --git a/gdb/testsuite/gdb.cp/exception.cc b/gdb/testsuite/gdb.cp/exception.cc new file mode 100644 index 0000000..4134fbc --- /dev/null +++ b/gdb/testsuite/gdb.cp/exception.cc @@ -0,0 +1,69 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 1997, 1998, 2004 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 + 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. + + Please email any bugs, comments, and/or additions to this file to: + bug-gdb@prep.ai.mit.edu */ + +// Test file for exception handling support. + +#include <iostream> +using namespace std; + +int foo (int i) +{ + if (i < 32) + throw (int) 13; + else + return i * 2; +} + +extern "C" int bar (int k, unsigned long eharg, int flag); + +int bar (int k, unsigned long eharg, int flag) +{ + cout << "k is " << k << " eharg is " << eharg << " flag is " << flag << endl; + return 1; +} + +int main() +{ + int j; + + try { + j = foo (20); + } + catch (int x) { + cout << "Got an except " << x << endl; + } + + try { + try { + j = foo (20); + } + catch (int x) { + cout << "Got an except " << x << endl; + throw; + } + } + catch (int y) { + cout << "Got an except (rethrown) " << y << endl; + } + + // Not caught + foo (20); +} diff --git a/gdb/testsuite/gdb.cp/exception.exp b/gdb/testsuite/gdb.cp/exception.exp new file mode 100644 index 0000000..d921ead --- /dev/null +++ b/gdb/testsuite/gdb.cp/exception.exp @@ -0,0 +1,222 @@ +# Copyright 1997, 1998, 2004 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 +# 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. + +# Please email any bugs, comments, and/or additions to this file to: +# bug-gdb@prep.ai.mit.edu + +# This file is part of the gdb testsuite. +# tests for exception-handling support +# Written by Satish Pai <pai@apollo.hp.com> 1997-07-23 +# Rewritten by Michael Chastain <mec.gnu@mindspring.com> 2004-01-08 + +# This file used to have two copies of the tests with different +# compiler flags for hp-ux. Instead, the user should set CXXOPTS +# or run runtest with --target_board unix/gdb:debug_flags="..." +# to choose the compiler flags. +# +# The interesting compiler flags are: "aCC +A -Wl,-a,-archive" . +# Static-linked executables use a different mechanism to get the +# address of the notification hook in the C++ support library. + +# TODO: this file is not ready for production yet. If you are working +# on C++ exception support for gdb, you can take out the "continue" +# statement and try your luck. -- chastain 2004-01-09 + +# TODO: this file has many absolute line numbers. +# Replace them with gdb_get_line_number. + +set ws "\[\r\n\t \]+" +set nl "\[\r\n\]+" + +if $tracelevel then { + strace $tracelevel +} + +set testfile "exception" +set srcfile ${testfile}.cc +set binfile ${objdir}/${subdir}/${testfile} + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { + gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." +} + +# Start with a fresh gdb + +set prms_id 0 +set bug_id 0 + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +if ![runto_main] then { + perror "couldn't run to breakpoint" + continue +} + +# As I said before, this test script is not ready yet! + +continue + +# Set a catch catchpoint + +gdb_test "catch catch" "Catchpoint \[0-9\]+ \\(catch\\)" + +# Set a throw catchpoint + +gdb_test "catch throw" "Catchpoint \[0-9\]+ \\(throw\\)" \ + "catch throw (static executable)" + +# The catchpoints should be listed in the list of breakpoints. + +set re_head "Num${ws}Type${ws}Disp${ws}Enb${ws}Address${ws}What" +set re_1_main "1${ws}breakpoint${ws}keep${ws}y${ws}$hex${ws}in main.*breakpoint already hit.*" +set re_2_catch "2${ws}catch catch${ws}keep${ws}y${ws}$hex${ws}exception catch" +set re_3_catch "3${ws}catch throw${ws}keep${ws}y${ws}$hex${ws}exception throw" +set re_2_bp "2${ws}breakpoint${ws}keep${ws}y${ws}$hex${ws}exception catch" +set re_3_bp "3${ws}breakpoint${ws}keep${ws}y${ws}$hex${ws}exception throw" + +set name "info breakpoints" +gdb_test_multiple "info breakpoints" $name { + -re "$re_head${ws}$re_1_main${ws}$re_2_catch${ws}$re_3_catch\r\n$gdb_prompt $" { + pass $name + } + -re "$re_head${ws}$re_1_main${ws}$re_2_bp${ws}$re_3_bp\r\n$gdb_prompt $" { + # TODO: gdb HEAD 2004-01-08 does this. Is this okay? + unresolved $name + } +} + +# Some targets support "info catch". +# Some do not. + +set name "info catch" +gdb_test_multiple "info catch" $name { + -re "Info catch not supported with this target/compiler combination.\r\n$gdb_prompt $" { + unsupported $name + } + -re "No catches.\r\n$gdb_prompt $" { + # TODO: gdb HEAD 2004-01-08 does this. Is this okay? + unresolved $name + } +} + +# Get the first exception thrown + +set name "continue to first throw" +gdb_test_multiple "continue" $name { + -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception thrown\\), throw location.*${srcfile}:30, catch location .*${srcfile}:50\r\n$gdb_prompt $" { + pass $name + } + -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception thrown\\)\r\n.*\r\n$gdb_prompt $" { + # TODO: gdb HEAD 2004-01-08 does this. Is this okay? + unresolved $name + } +} + +# Backtrace from the throw point. +# This should get to user code. + +set name "backtrace after first throw" +gdb_test_multiple "backtrace" $name { + -re ".*#\[0-9\]+${ws}$hex in foo \\(i=20\\) at .*${srcfile}:30\r\n#\[0-9\]+${ws}$hex in main \\((void|)\\) at .*${srcfile}:48\r\n$gdb_prompt $" { + pass $name + } +} + +# Continue to the catch. + +set name "continue to first catch" +gdb_test_multiple "continue" $name { + -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception caught\\), throw location.*${srcfile}:30, catch location .*${srcfile}:50\r\n$gdb_prompt $" { + pass $name + } + -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception caught\\)\r\n.*\r\n$gdb_prompt $" { + # TODO: gdb HEAD 2004-01-08 does this. Is this okay? + unresolved $name + } +} + +# Backtrace from the catch point. +# This should get to user code. + +set name "backtrace after first catch" +gdb_test_multiple "backtrace" $name { + -re ".*#\[0-9\]+${ws}$hex in main \\((void|)\\) at .*$srcfile:50\r\n$gdb_prompt $" { + pass $name + } +} + +# Continue to second throw. + +set name "continue to second throw" +gdb_test_multiple "continue" $name { + -re "Continuing.${ws}Got an except 13${ws}Catchpoint \[0-9\]+ \\(exception thrown\\), throw location.*${srcfile}:30, catch location .*${srcfile}:58\r\n$gdb_prompt $" { + pass $name + } + -re "Continuing.${ws}Got an except 13${ws}Catchpoint \[0-9\]+ \\(exception thrown\\)\r\n.*\r\n$gdb_prompt $" { + # TODO: gdb HEAD 2004-01-08 does this. Is this okay? + unresolved $name + } +} + +# Backtrace from the throw point. +# This should get to user code. + +set name "backtrace after second throw" +gdb_test_multiple "backtrace" $name { + -re ".*#\[0-9\]+${ws}$hex in foo \\(i=20\\) at .*${srcfile}:30\r\n#\[0-9\]+${ws}$hex in main \\((void|)\\) at .*${srcfile}:56\r\n$gdb_prompt $" { + pass $name + } +} + +# Continue to second catch. + +set name "continue to second catch" +gdb_test_multiple "continue" $name { + -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception caught\\), throw location.*${srcfile}:30, catch location .*${srcfile}:58\r\n$gdb_prompt $" { + pass $name + } + -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception caught\\)\r\n.*\r\n$gdb_prompt $" { + # TODO: gdb HEAD 2004-01-08 does this. Is this okay? + unresolved $name + } +} + +# Backtrace from the catch point. +# This should get to user code. + +set name "backtrace after second catch" +gdb_test_multiple "backtrace" $name { + -re ".*#\[0-9\]+${ws}$hex in main \\((void|)\\) at .*$srcfile:58\r\n$gdb_prompt $" { + pass $name + } +} + +# That is all for now. +# +# The original code had: +# +# continue to re-throw ; backtrace +# continue to catch ; backtrace +# continue to throw out of main +# +# The problem is that "re-throw" does not show a throw; only a catch. +# I do not know if this is because of a bug, or because the generated +# code is optimized for a throw into the same function. +# +# -- chastain 2004-01-09 diff --git a/gdb/testsuite/gdb.mi/ChangeLog-1999-2003 b/gdb/testsuite/gdb.mi/ChangeLog-1999-2003 new file mode 100644 index 0000000..6f263c3 --- /dev/null +++ b/gdb/testsuite/gdb.mi/ChangeLog-1999-2003 @@ -0,0 +1,768 @@ +2003-08-07 Andrew Cagney <cagney@redhat.com> + + * mi2-basics.exp: Copy base MI .exp file, set MIFLAGS to -i=mi2. + * mi2-break.exp, mi2-cli.exp, mi2-console.exp: Ditto. + * mi2-disassemble.exp, mi2-eval.exp, mi2-file.exp: Ditto. + * mi2-hack-cli.exp, mi2-pthreads.exp, mi2-read-memory.exp: Ditto. + * mi2-regs.exp, mi2-return.exp, mi2-simplerun.exp: Ditto. + * mi2-stack.exp, mi2-stepi.exp, mi2-syn-frame.exp: Ditto. + * mi2-until.exp, mi2-var-block.exp, mi2-var-child.exp: Ditto. + * mi2-var-cmd.exp, mi2-var-display.exp, mi2-watch.exp: Ditto. + +2003-05-03 J. Brobecker <brobecker@gnat.com> + + From Thierry Schneider <tpschneider1@yahoo.com>: + * mi1-symbol.exp (-symbol-list-lines): New test file to + validate all symbol-related commands + +2003-04-08 Andrew Cagney <cagney@redhat.com> + + * gdb792.exp: Skip when C++. + +2003-02-23 Stephane Carrez <stcarrez@nerim.fr> + + * mi-syn-frame.exp: Don't run this test when gdb,nosignals is set. + +2002-12-13 Jeff Johnston <jjohnstn@redhat.com> + + * mi-basics.exp: Change tests for -environment-directory. Also add + tests for -environment-cd, -environment-pwd, and -environment-path. + Part of fix for PR gdb/741. + +2002-11-05 Jeff Johnston <jjohnstn@redhat.com> + + * gdb792.cc: New file to test patch for PR gdb/792. + * gdb792.exp: Ditto. + +2002-11-04 Elena Zannoni <ezannoni@redhat.com> + + * mi-console.exp: Use mi_runto, mi_run_to_main, mi_next_to, + mi_step_to wherever possible. Update copyright notices. + * mi-disassemble.exp: Ditto. + * mi-eval.exp: Ditto. + * mi-read-memory.exp: Ditto. + * mi-regs.exp: Ditto. + * mi-return.exp: Ditto. + * mi-stack.exp: Ditto. + * mi-stepi.exp: Ditto. + * mi-var-block.exp: Ditto. + * mi-var-cmd.exp: Ditto. + * mi-watch.exp: Ditto. + * mi1-console.exp: Ditto. + * mi1-disassemble.exp: Ditto. + * mi1-eval.exp: Ditto. + * mi1-read-memory.exp: Ditto. + * mi1-regs.exp: Ditto. + * mi1-return.exp: Ditto. + * mi1-stack.exp: Ditto. + * mi1-stepi.exp: Ditto. + * mi1-var-block.exp: Ditto. + * mi1-var-cmd.exp: Ditto. + * mi1-watch.exp: Ditto. + +2002-10-23 Jeff Johnston <jjohnstn@redhat.com> + + * mi-var-cmd.exp: Add tests to verify that a -var-assign that changes + a value shows up in the changelist of a -var-update. Part of fix + for gdb/702. + * mi1-var-cmd.exp: Ditto. + +2002-10-03 Jeff Johnston <jjohnstn@redhat.com> + + * mi-return.exp: Change expected frame output to remove extraneous + space in level field when frame level is single digit. Part of + fix for PR gdb/192. + * mi-stack.exp: Ditto. + * mi1-return.exp: Ditto. + * mi1-stack.exp: Ditto. + +2002-10-03 Jeff Johnston <jjohnstn@redhat.com> + + * mi-var-block.exp: Change expected output from -var-update + command to expect list format for "changelist". Fix for + PR gdb/672. + * mi-var-cmd.exp: Ditto. + * mi-var-child: Ditto. + +2002-09-25 Keith Seitz <keiths@redhat.com> + + * mi-pthreads.exp (get_mi_thread_list): Check if expect_out + exists before using it. + (check_mi_and_console_threads): Likewise. + * gdb669.exp (get_mi_thread_list): Likewise. + (check_mi_and_console_threads): Likewise. + +2002-09-24 Keith Seitz <keiths@redhat.com> + + * configure.in: Add config header. + Check for pthread.h. + * configure: Regenerate. + * config.in: New file. + * pthreads.c: New file. + * mi-pthreads.exp: New file to test thread functionality. + * gdb669.exp: New file. + +2002-09-17 Keith Seitz <keiths@redhat.com> + + * mi-var-cmd.exp: Add tests to check when varobj pinned to a + selected frame changes type. + +2002-09-17 Keith Seitz <keiths@redhat.com> + + * mi-console.exp: Update copyright. + * mi-var-block.exp: Likewise. + * mi-var-cmd.exp: Likewise. + * mi-var-display.exp: Likewise. + * mi0-console.exp: Likewise. + * mi0-var-child.exp: Likewise. + * mi0-var-cmd.exp: Likewise. + * mi0-var-display.exp: Likewise. + +2002-09-16 Keith Seitz <keiths@redhat.com> + + * gdb701.exp: New file for testing varobj target type bug. + * gdb701.c: New file. + +2002-09-13 Keith Seitz <keiths@redhat.com> + + * mi-var-child.exp: Use mi_step_to and mi_execute_to instead + of a bunch of repeated send_gdb/gdb_expect statements. + Fix line numbers. + +2002-09-10 Keith Seitz <keiths@redhat.com> + + * mi-simplerun.exp (test_controlled_execution): Follow renaming of + mi_run_to to mi_execute_to. + * mi-var-cmd.exp: Likewise. + * mi0-simplerun.exp: Likewise. + * mi0-var-cmd.exp: Likewise. + +2002-09-03 Keith Seitz <keiths@redhat.com> + + * gdb680.exp: New file to test to check for uiout list/tuple + nesting bug. + +2002-03-04 Michael Chastain <mec@shout.net> + + * mi-var-cmd.exp: In test "create local variable func", + accommodate gcc v3 function signature. + * mi0-var-cmd-exp: Ditto. + +2002-02-05 Jim Blandy <jimb@redhat.com> + + * mi-regs.exp: Various cleanups for SPARC-only tests. + (test_breakpoints_creation_and_listing): Format of breakpoint + table has changed. + (sparc_register_tests): Expand floating-point number regexp to + recognize NaN values, too. Replace ineffectual single backslash + before a hyphen with a double backslash. Don't check the exact + numbers of the registers which have changed, since there's no way + to know which registers changed, exactly; just check that the + result is well-formed. + * mi0-regs.exp: (sparc_register_tests): Same as for + sparc_register_tests in mi-regs.exp. + + * mi-var-child.exp ("get children of struct_declarations", "get + children of struct_declarations.s2.u2.u1s2", "get children of + weird"): Tolerate argument types when they appear in function + types. (Dwarf 2 includes prototype info; STABS does not.) + * mi0-var-child.exp: Same. + +2001-12-19 Keith Seitz <keiths@redhat.com> + + * mi-var-display.exp: char* variables have a child. Update all + occurences. + * mi0-var-display.exp: Likewise. + +2001-08-29 Andrew Cagney <cagney@redhat.com> + + * mi-var-cmd.exp, mi0-var-cmd.exp: Variable lpcharacter has one + child. Soften floating point tests. + +2001-08-09 Andrew Cagney <ac131313@redhat.com> + + * mi0-var-block.exp, mi0-stack.exp, mi0-simplerun.exp, + mi0-regs.exp, mi0-watch.exp, mi0-stepi.exp, mi0-until.exp, + mi0-return.exp, mi0-read-memory.exp, mi0-eval.exp, + mi0-disassemble.exp, mi0-console.exp, mi-watch.exp, + mi-var-display.exp, mi-var-cmd.exp, mi-var-child.exp, + mi-until.exp, mi-var-block.exp, mi-stepi.exp, mi-stack.exp, + mi-simplerun.exp, mi-return.exp, mi-regs.exp, mi-read-memory.exp, + mi-disassemble.exp, mi-eval.exp, mi-console.exp: Replace pattern + matching thread=0 with one to also match thread=1. + Fix PR gdb/190. + +2001-08-18 Andrew Cagney <ac131313@redhat.com> + + * mi0-until.exp, mi-until.exp, mi0-stepi.exp, mi-stepi.exp, + mi-simplerun.exp, mi0-simplerun.exp, mi0-return.exp, + mi-return.exp, mi0-console.exp, mi-console.exp: Recognize an + unexpected run-to-main response. Report as a fail. + +2001-06-27 Andrew Cagney <ac131313@redhat.com> + + * mi-disassemble.exp: Update to accept mi1 breakpoint tables. + * mi-basics.exp: Ditto. + * mi-simplerun.exp: Ditto. + * mi-watch.exp: Ditto. Add check for full header. + * mi-break.exp: Ditto. Add check for full header. + +2001-06-26 Andrew Cagney <ac131313@redhat.com> + + * mi-stack.exp: Update. Output for args=... and + locals=... changed to a list. + +2001-06-26 Andrew Cagney <ac131313@redhat.com> + + * mi-stack.exp: Update. Output for stack=..., args=... and + stack-args=... changed to a list. + +2001-06-25 Andrew Cagney <ac131313@redhat.com> + + * mi-console.exp: Update args=... part of stop-reason + patterns. Output changed to a list of arguments. + * mi-disassemble.exp: Ditto. + * mi-simplerun.exp: Ditto. + * mi-return.exp: Ditto. + * mi-read-memory.exp: Ditto. + * mi-eval.exp: Ditto. + * mi-watch.exp: Ditto. + * mi-var-display.exp: Ditto. + * mi-var-cmd.exp: Ditto. + * mi-var-child.exp: Ditto. + * mi-var-block.exp: Ditto. + * mi-until.exp: Ditto. + * mi-stepi.exp: Ditto. + * mi-stack.exp: Ditto. + * mi-regs.exp: Ditto. + +2001-06-25 Andrew Cagney <ac131313@redhat.com> + + * mi-read-memory.exp: Update patterns matching data-read-memory. + Outputs a list. + +2001-06-25 Andrew Cagney <ac131313@redhat.com> + + * mi-regs.exp: Update patterns matching register-values. Outputs a + list. + +2001-06-25 Andrew Cagney <ac131313@redhat.com> + + * mi-regs.exp: Update patters matching register-names. Now + outputs a list. + +2001-06-25 Andrew Cagney <ac131313@redhat.com> + + * mi-regs.exp: Update patterns matching changed-registers. Now + outputs a list. + +2001-06-23 Andrew Cagney <ac131313@redhat.com> + + * ChangeLog-mi: Rename to ChangeLog. + * mi-basics.exp: Remove local emacs variable defining + change-log-default-name. + * mi-break.exp, mi-console.exp, mi-disassemble.exp: Ditto. + * mi-eval.exp, mi-hack-cli.exp, mi-read-memory.exp: Ditto. + * mi-regs.exp, mi-return.exp, mi-simplerun.exp: Ditto. + * mi-stack.exp, mi-stepi.exp, mi-until.exp: Ditto. + * mi-var-block.exp, mi-var-child.exp, mi-var-cmd.exp: Ditto. + * mi-var-display.exp, mi-watch.exp, mi0-basics.exp: Ditto. + * mi0-break.exp, mi0-console.exp, mi0-disassemble.exp: Ditto. + * mi0-eval.exp, mi0-hack-cli.exp, mi0-read-memory.exp: Ditto. + * mi0-regs.exp, mi0-return.exp, mi0-simplerun.exp: Ditto. + * mi0-stack.exp, mi0-stepi.exp, mi0-until.exp: Ditto. + * mi0-var-block.exp, mi0-var-child.exp, mi0-var-cmd.exp: Ditto. + * mi0-var-display.exp, mi0-watch.exp: Ditto. + +2001-06-23 Andrew Cagney <ac131313@redhat.com> + + * mi-disassemble.exp: Update patterns matching data-disassemble + output. Now produces a list of instructions and a list of + source/assembly lines. + +2001-06-18 Andrew Cagney <ac131313@redhat.com> + + * mi-basics.exp, mi-break.exp, mi-console.exp, mi-disassemble.exp, + mi-eval.exp, mi-hack-cli.exp, mi-read-memory.exp, mi-regs.exp, + mi-return.exp, mi-simplerun.exp, mi-stack.exp, mi-stepi.exp, + mi-until.exp, mi-var-block.exp, mi-var-child.exp, mi-var-cmd.exp, + mi-var-display.exp, mi-watch.exp, mi0-basics.exp, mi0-break.exp, + mi0-console.exp, mi0-disassemble.exp, mi0-eval.exp, + mi0-hack-cli.exp, mi0-read-memory.exp, mi0-regs.exp, + mi0-return.exp, mi0-simplerun.exp, mi0-stack.exp, mi0-stepi.exp, + mi0-until.exp, mi0-var-block.exp, mi0-var-child.exp, + mi0-var-cmd.exp, mi0-var-display.exp, mi0-watch.exp: Use MIFLAGS + to explictly select an interpreter. + +2001-06-16 Andrew Cagney <ac131313@redhat.com> + + MI0 was the never enabled MI interface included in GDB 5.0. + * mi0-basics.exp: Copy mi-basics.exp. + * mi0-break.exp: Copy mi-break.exp. + * mi0-console.exp: Copy mi-console.exp. + * mi0-disassemble.exp: Copy mi-disassemble.exp. + * mi0-eval.exp: Copy mi-eval.exp. + * mi0-hack-cli.exp: Copy mi-hack-cli.exp. + * mi0-read-memory.exp: Copy mi-read-memory.exp. + * mi0-regs.exp: Copy mi-regs.exp. + * mi0-return.exp: Copy mi-return.exp. + * mi0-simplerun.exp: Copy mi-simplerun.exp. + * mi0-stack.exp: Copy mi-stack.exp. + * mi0-stepi.exp: Copy mi-stepi.exp. + * mi0-until.exp: Copy mi-until.exp. + * mi0-var-block.exp: Copy mi-var-block.exp. + * mi0-var-child.exp: Copy mi-var-child.exp. + * mi0-var-cmd.exp: Copy mi-var-cmd.exp. + * mi0-var-display.exp: Copy mi-var-display.exp. + * mi0-watch.exp: Copy mi-watch.exp. + +2001-05-11 Fernando Nasser <fnasser@redhat.com> + + * mi-var-child.exp: Adjust for the fact that now (char *) can be + dereferenced. + +2001-03-06 Kevin Buettner <kevinb@redhat.com> + + * mi-basics.exp, mi-break.exp, mi-disassemble.exp, + mi-eval.exp, mi-hack-cli.exp, mi-read-memory.exp, mi-regs.exp, + mi-return.exp, mi-simplerun.exp, mi-stack.exp, mi-stepi.exp, + mi-until.exp, mi-watch.exp: Update/correct copyright notices. + +2001-01-20 Mark Kettenis <kettenis@gnu.org> + + * mi-support.exp (mi_gdb_start): Skip mi tests if -i flag is + recognized (i.e. if GDB was compiled with UI_OUT, but the mi + interpreter wasn't recognized (because it wasn't compiled in). + +Tue Apr 18 15:36:07 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * Makefile.in (clean mostlyclean): Do not delete $(MISCELLANEOUS). + +Tue Mar 14 15:54:57 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * basics.c: Add EMACS local variable pointing change-log at this + file. + * Makefile.in: Ditto + +2000-03-13 James Ingham <jingham@leda.cygnus.com> + + * mi-var-block.exp: The error report from varobj_create changed + since I am now trapping parse_exp_1 errors. Change the tests to + match the new error message. + * mi-var-child.exp: Ditto. + * mi-var-cmd.exp: Ditto. + +2000-03-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-disassemble.exp: Don't assume numbers for the offset + values. They can be different depending on the architecture. + + * mi-watch.exp (test_watchpoint_triggering): In same cases the + type can be 'hw wathcpoint' not just 'watchpoint'. Adjust for that. + + * basics.c (callee4): Make the function return something, + otherwise the return value is undefined. + +2000-03-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-basics.exp: Comment out test for a still unimplemented operation. + + * mi-disassemble.exp: Rewrite most of the tests to conform to new + disassemble interface. + +Sat Mar 4 13:55:08 2000 Andrew Cagney <cagney@b1.cygnus.com> + + From Fri 3 Mar 2000 Peter Schauer: + * mi-support.exp (mi_gdb_start): When GDB doesn't recongize -i=mi + option, assume no MI support present. + +2000-02-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-support.exp (mi_gdb_start): Update to recognize start up + message with 'UI_OUT' instead of 'HEADLESS'. + +2000-01-27 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-regs.exp (test_running_the_program): Add global var 'hex'. + + * mi-stack.exp, mi-stepi.exp, mi-until.exp, mi-watch.exp, + mi-var-display.exp, mi-var-cmd.exp, mi-var-child.exp, + mi-var-block.exp: Update all stopped messages. + +2000-01-17 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-console.exp, mi-disassemble.exp, mi-eval.exp, + mi-read-memory.exp, mi-regs.exp, mi-return.exp, mi-simplerun.exp: + Update stopped messages, update copyright. + + * mi-disassemble.exp: Update error messages output. + + * mi-support.exp (proc mi_step): Make gdb do a 'step' command, not + a 'next'. Update stopped message. + (proc mi_next): Update stop message. + (proc mi_run_to_main): Update stopped message. + Update copyright. + +2000-01-11 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-simplerun.exp: Remove stack frames tests from here, to: + + * mi-stack.exp: New file, tests for stack commands. + + * mi-support.exp (mi_run_to_main, mi_next, mi_step) : Update to + include thread-id in stopped message. + + * mi-regs.exp: Update break-insert output. + + * (mi-console.exp, mi-disassemble.exp, mi-eval.exp, + mi-read-memory.exp, mi-regs.exp, mi-return.exp, mi-simplerun.exp, + mi-stepi.exp, mi-until.exp, mi-var-block.exp, mi-var-child.exp, + mi-var-cmd.exp, mi-var-display.exp, mi-watch.exp): Update stopped + message to include thread-id. + +Wed Dec 29 22:06:05 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-watch.exp, mi-var-display.exp, mi-var-cmd.exp, + mi-var-child.exp, mi-var-block.exp, mi-until.exp, mi-stepi.exp, + mi-simplerun.exp, mi-return.exp, mi-support.exp, mi-eval.exp, + mi-console.exp, mi-disassemble.exp, mi-break.exp: Update to + reflect extended output from -break-insert command. + + * mi-break.exp (test_rbreak_creation_and_listing): XFAIL regexp + tests. -r flag broken by above. + +Sun Dec 19 19:28:13 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * cpp_variable.cc, cpp_variable.h, c_variable.c: Delete. + +Fri Dec 17 20:59:55 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-read-memory.exp: Test of ``-o <offset>'' now works. + +1999-12-16 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-var-cmd.exp: Fix 2 tests outputs. + + * mi-var-child.exp: Add many more tests. + + * mi-var-display.exp: Add many more tests. + + * var-cmd.c: Change type of incr_a parameter to char. + +1999-12-15 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-var-block.exp: Set up xfails fro known problems. + + * mi-var-display.exp: Set up printing of values of 'e' and 'anone' + as xfails. + + * mi-var-child.exp: Fix typos. + +1999-12-15 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-var-child.exp: Space was missing before ``[10]''. + +Wed Dec 15 19:23:38 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-read-memory.exp: Add test for ``-o <offset>''. Update checks + and match next-row et.al. + +1999-12-14 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-var-display.exp : New file. Tests for format and type, with + unions, structs and enums. + + * mi-var-cmd.exp: Add some var-assign tests. + +1999-12-14 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-var-cmd.exp, mi-var-block.exp, mi-var-child.exp: New files + some tests for -var* commands. + + * var-cmd.c: New source file for var-* commands tests. + * gdb.mi/Makefile.in (PROGS): Add var-cmd. + +Mon Dec 13 18:06:09 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-break.exp: Fix quoting. Changed "srcfile.c":6 to + "\"srcfile.c\":6". + * mi-simplerun.exp: Fix quoting. + +Sat Dec 11 21:33:37 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-simplerun.exp (exec-finish): Fix return value was zero, + should have been three. + + * mi-disassemble.exp: Reduce number of wild card matches in + * patterns. Remove all numeric constants. + +1999-12-09 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-eval.exp: New file. Some initial tests for + -data-evaluate-expression. + +1999-12-09 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * c_variable.c, cpp_variable.cc, cpp_variable.h: New files. Used + for testing "var" operations. + * Makefile.in: Add reference to the above files. + +1999-12-08 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-regs.exp: Fix test for format 'N' for + data-list-register-values. + +1999-12-07 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-disassemble.exp: Update expected output. Break test of + disassembly in mixed mode into 2 functions. + + * mi-regs.exp: Initial register tests. Works only on sparc right + now. + +1999-12-02 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-stepi.exp: New file. Tests exec-step-instruction and + exec-next-instruction. + * mi-until.exp: New file. Tests exec-until. + * until.c: New file. + * mi-return.exp: New file. Tests exec-return. + +Thu Dec 2 09:38:23 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-hack-cli.exp: New test. Check the hacked up access to the + CLI. + +Wed Dec 1 16:47:40 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-basics.exp: Delete calls to mi_delete_breakpoints, + mi_gdb_reinitialize_dir and mi_gdb_load. This test is checking + that these can work. + + * mi-support.exp (mi_step, mi_next, mi_run_to_main): New + procedures. + + * mi-read-memory.exp, mi-read-memory.c: New files. Test + data-read-memory command. + +Tue Nov 30 23:54:16 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-support.exp: Don't start SID until after GDB has been started + and verified. + +Tue Nov 30 22:21:33 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-support.exp (mi_uncatched_gdb_exit): When SID, call sid_exit. + (mi_gdb_start): When SID, call sid_start. + (mi_gdb_start): Add MIFLAGS to spawn-GDB command. Check for + HEADLESS gdb. Return non-zero when GDB fails to start. + (mi_gdb_load): When SID or SIM, download program. + (mi_run_cmd): Don't do download here. Assume target supports the + 00-exec-run command. + (skip_mi_tests, setup_gdbmi, unset_gdbmi): Delete. Merged into + mi_gdb_start. + + * mi-basics.exp, mi-break.exp, mi-console.exp, mi-disassemble.exp, + mi-simplerun.exp, mi-watch.exp: Update. Check status from + mi_gdb_start indicating that GDB started correctly. + +Tue Nov 30 15:22:08 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-support.exp (setup_gdbmi, unset_gdbmi): New + procedures. Setup/unset dejagnu for mi tests. + * mi-basics.exp, mi-console.exp, mi-simplerun.exp, mi-break.exp, + mi-disassemble.exp, mi-watch.exp: Update. + +1999-11-29 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-simplerun.exp (test_running_the_program): Remove XFAIL. The + output is fixed now. + (test_program_termination): Update output pattern. + +Tue Nov 30 00:19:10 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-console.c, mi-console.exp: New files. Test console output. + +Mon Nov 29 17:59:13 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-support.exp (mi_run_command): Check for exec-run command + failure due to MI not having an active target. + (mi_run_command): Check for and handle a builtin simulator target. + (mi_run_command): Don't check/handle for ``The program has been + started already'', not a valid MI response. + + * mi-simplerun.exp (test_running_the_program): Update all patterns + to match async output. + (test_running_the_program): Mark ``step to callee4'' as XFAIL. MI + output contains {,reason="end-stepping-range"}+. + + * mi-simplerun.exp: Limit the timeout for ``step to callee4'' to + 30 seconds. + +Mon Nov 29 17:30:00 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * mi-support.exp (skip_mi_tests): Print UNTESTED when MI interface + isn't available. Start/stop instead of assuming GDB is running. + (MIFLAGS): Define. + * mi-simplerun.exp, mi-disassemble.exp, mi-break.exp, + mi-basics.exp, mi-watch.exp: Update. + +1999-11-26 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * mi-simplerun.exp: Move break-insert {-t, -r} from here. + * mi-break.exp: To here. New file. + * mi-watch.exp: New file. Tests for watchpoints. + +Wed Nov 24 17:42:07 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * gdb.mi/ChangeLog-mi: MI entries moved to here. + +Wed Nov 24 17:31:04 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * gdb.mi/mi-basics.exp, gdb.mi/mi-disassemble.exp, + gdb.mi/mi-simplerun.exp: Print warning message when test isn't + run. + +1999-11-23 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdb.mi/mi-simplerun.exp: Update output of break-list to account for + "times" field. + +1999-11-05 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdb.mi/mi-simplerun.exp: Add tests for temporary breakpoints + and bp based on regular expressions. + * gdb.mi/mi-disassemble.exp: Fix typo. + +1999-11-04 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdb.mi/mi-disassemble.exp: Update output of execution commands + to reflect new 'reason' field. + * gdb.mi/mi-simplerun.exp: Ditto. + +1999-10-25 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdb.mi/mi-simplerun.exp: Add more stack-list-frames tests. + + * gdb.mi/mi-disassemble.exp: Update 'run to main' output. + + * gdb.mi/mi-simplerun.exp: Update execution commands + output. Update backtrace output. + +1999-10-18 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdb.mi/mi-disassemble.exp: Add new tests for the new + disassembly command parameter, number of lines. + +Mon Oct 11 13:57:21 1999 Andrew Cagney <cagney@amy.cygnus.com> + + * lib/mi-support.exp: Break complicated gdb_expect containing + exp_continue into a while within an expect. Don't attempt a start + more than three times. Check return value from gdb_load. + +1999-10-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + * gdb.mi/mi-disassemble.exp: New file. + +Wed Oct 6 12:05:58 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * lib/mi-support.exp (mi_run_cmd): Give up after two restart + attempts. + +1999-09290 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * gdb.mi/mi-basics.exp: Update to current syntax and output formats. + * gdb.mi/mi-simplerun.exp: Ditto. + * lib/mi-support.exp (mi_delete_breakpoints): Ditto. + +1999-06-30 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * gdb.mi/basics.c (main): Fix return code. Add a print "Hello, + World". + * gdb.mi/mi-basics.exp: Fix message texts and numbering. + * gdb.mi/mi-simplerun.exp: Ditto. Also, add new tests and improve + some patterns. + +1999-06-30 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * lib/mi-support.exp (mi_gdb_reinitialize_dir): Remove query as an + acceptable response to the environment-dir command. + +1999-06-30 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * lib/mi-support.exp (mi_delete_breakpoints): Remove references to + gdb-cli. + (mi_run_cmd): Ditto. + +1999-06-25 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * lib/mi-support.exp (skip_mi_tests): Use gdb-version to check for + headless output format. + +1999-06-24 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * gdb.mi/mi-simplerun.exp (test_controlled_execution): Add global + spec for hex. + +1999-06-24 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * lib/mi-support.exp (mi_run_cmd): Fix pattern and add a timeout + clause. + +1999-06-24 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * lib/mi-support.exp: Use mi_gdb_prompt instead of a modified + gdb_prompt. Remove uneeded loading of libgloss. + (mi_gdb_exit): Remove prompt argument. + (mi_uncatched_gdb_exit): Ditto. + (mi_run_cmd): New proc. MI version of gdb_run. + (skip_mi_tests): New proc. Check if gdb is capable of producing + headless formatted output. + * gdb.mi/mi-basics.exp: Use mi_gdb_prompt instead of a modified + gdb_prompt. Eliminate parameter to mi_gdb_exit (as a result of + the above). Test for skip_mi_tests before running. + Note: The above changes are interelated (need each other). + * gdb.mi/mi-simplerun.exp: Same changes as for mi-basics.exe + above. + (test_breakpoint_creation_and_listing): Remove insertion of + breakpoint at callee1 (and renumber tokens). Add tests for + break-list, break-disable and break-info. + (test_running_the_program): Use mi_run_cmd so it can run on remote + targets. + (test_controlled_execution): Fix broken test. + (test_program_termination): Test implemented. + * gdb.mi/basic.c (main): Small change to allow for testing of both + exec-next and exec-step operations. + +1999-06-22 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * lib/mi-support.exp (mi_gdb_test): New proc. MI version of gdb_test. + * gdb.mi/mi-basics.exp: Use the above instead of gdb_test. + * gdb.mi/mi-simplerun.exp: Ditto. + +1999-06-22 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * gdb.mi/mi-simplerun.exp: New file. Tests simple debugging tasks. + * gdb.mi/mi-basics.exp: Remove tests moved to above new file. + * lib/mi-support.exp: New file. Support procedures for mi tests. + +1999-06-08 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * gdb.mi/mi-basics.exp: Skip all tests if the MI interpreter is + not active. + +1999-06-03 Fernando Nasser <fnasser@totem.to.cygnus.com> + + * gdb.mi: New directory. + * configure.in: Configure it. + * configure: Regenerate. + * gdb.mi/{Makefile.in,configure.in,configure}: New files. + * gdb.mi/{mi-basics.exp,basics.c,testcmds}: New files. + + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/gdb/tui/ChangeLog-1998-2003 b/gdb/tui/ChangeLog-1998-2003 new file mode 100644 index 0000000..fc5886c --- /dev/null +++ b/gdb/tui/ChangeLog-1998-2003 @@ -0,0 +1,1217 @@ +2003-09-27 Andrew Cagney <cagney@redhat.com> + + * tuiRegs.c: Rename REGISTER_RAW_SIZE to + DEPRECATED_REGISTER_RAW_SIZE. + +2003-09-13 Andrew Cagney <cagney@redhat.com> + + * tui.h (struct ui_file): Add opaque declaration. + +2003-08-04 Daniel Jacobowitz <drow@mvista.com> + + * tui-interp.c: Include "cli-out.h". + (tui_resume): Update tui_old_uiout's stream to gdb_stdout. + +2003-07-24 Stephane Carrez <stcarrez@nerim.fr> + + * tui.c (tui_rl_other_window): New function to switch the TUI active + window and give focus to a next window. + (tui_initialize_readline): Bind it to c-x o. + (tui_rl_next_keymap): Activate TUI mode when entering SingleKey mode. + +2003-07-23 Stephane Carrez <stcarrez@nerim.fr> + + * tui.c (tui_enable): Call tuiRefreshAll to make sure the window + is accurate. + +2003-07-23 Stephane Carrez <stcarrez@nerim.fr> + + * tui-interp.c (tui_resume): Enable tui when we expected it. + (tui_suspend): Remember in which TUI mode we are. + (_initialize_tui_interp): Use the tui interpreter even when no + other interpreter was set and define in which TUI mode to start. + +2003-06-28 Daniel Jacobowitz <drow@mvista.com> + + * tui-out.c (tui_ui_out_impl): Add NULL for redirect member. + +2003-06-22 Daniel Jacobowitz <drow@mvista.com> + + * tui-hooks.c: Update include order. + * tui.c: Likewise. + * tuiCommand.c: Likewise. + * tuiData.c: Likewise. + * tuiDataWin.c: Likewise. + * tuiDisassem.c: Likewise. + * tuiGeneralWin.c: Likewise. + * tuiIO.c: Likewise. + * tuiLayout.c: Likewise. + * tuiRegs.c: Likewise. + * tuiSource.c: Likewise. + * tuiSourceWin.c: Likewise. + * tuiStack.c: Likewise. + * tuiWin.c: Likewise. + +2003-06-12 Andreas Schwab <schwab@suse.de> + + * tuiSource.c (tuiVerticalSourceScroll): Use get_frame_pc. + * tuiSourceWin.c (tuiHorizontalSourceScroll): Likewise. + * tuiStack.c (tui_get_function_from_frame): Likewise. + (tuiShowFrameInfo): Likewise. + * tuiWin.c (_makeVisibleWithNewHeight): Likewise. + * tui-hooks.c (tui_selected_frame_level_changed_hook): Likewise. + * tuiDisassem.c (tuiVerticalDisassemScroll): Likewise. + Include "disasm.h". + +2003-05-08 Andrew Cagney <cagney@redhat.com> + + * tuiRegs.c: Use MAX_REGISTER_SIZE instead of + MAX_REGISTER_RAW_SIZE. + +2003-05-03 Andrew Cagney <cagney@redhat.com> + + * tuiDisassem.c (tui_disassemble): Call gdb_print_insn, instead of + TARGET_PRINT_INSN. Do not initialize a disassemble_info object. + +2003-04-30 Andrew Cagney <cagney@redhat.com> + + * tuiDisassem.c (tui_disassemble): Use + "deprecated_tm_print_insn_info" instead of TARGET_PRINT_INSN_INFO, + add comment. + +2003-03-14 Andrew Cagney <cagney@redhat.com> + + * tuiRegs.c (_tuiGetRegisterRawValue): Use frame_read_register, + instead of get_saved_register. + +2003-03-13 Stephane Carrez <stcarrez@nerim.fr> + + * tui-out.c (tui_out_data): Fix typedef. + +2003-03-08 Andrew Cagney <cagney@redhat.com> + + * tui-out.c: Update copyright. + (tui_out_data): Define typedef. Use instead of ui_out_data. + +2003-02-14 Andrew Cagney <ac131313@redhat.com> + + * tui.c (tui_enable, tui_disable): Don't modify tui_version. + (tui_is_window_visible, tui_get_command_dimension): Test + tui_active instead of tui_version. + * tuiData.h (tui_version): Delete declaration. + * tui-hooks.c (tui_init_hook, tui_event_loop): Delete function, + moved to "tui-interp.c". + (tui_exit, tui_command_loop): Ditto. + (_initialize_tui): Don't initialize init_ui_hook. Initialize + target_new_objfile_hook. + * tui-interp.c: New file. + +2003-02-12 Andrew Cagney <ac131313@redhat.com> + + * tuiIO.c (tui_prep_terminal): Add one notused parameter. + * tui.c (tui_rl_switch_mode): Add two notused parameters. + (tui_rl_change_windows, tui_rl_next_keymap): Ditto. + (tui_rl_delete_other_windows): Ditto. + (tui_rl_change_windows, tui_rl_delete_other_windows): Update + calls. + +2002-12-08 Elena Zannoni <ezannoni@redhat.com> + + Import of readline 4.3. + Fix PR gdb/675 + * tuiWin.c: Include readline/readline.h. + (tui_update_gdb_sizes): Use accessor function rl_get_screen_size. + (tuiResizeAll): Ditto. + +2002-12-06 Elena Zannoni <ezannoni@redhat.com> + + * tuiStack.c (tuiShowFrameInfo): Fix typo. + +2002-11-29 Andrew Cagney <ac131313@redhat.com> + + * tui/tui-hooks.c: Update to use deprecated_selected_frame. + * tui/tui.c, tui/tuiDisassem.c, tui/tuiRegs.c: Ditto. + * tui/tuiSource.c, tui/tuiSourceWin.c, tui/tuiWin.c: Ditto. + +2002-11-28 Andrew Cagney <ac131313@redhat.com> + + * tuiStack.c (tuiShowFrameInfo): Use find_frame_sal instead of + find_pc_line. + +2002-11-23 Andrew Cagney <ac131313@redhat.com> + + * tuiStack.c (tuiShowFrameInfo): Use get_frame_type instead of + deprecated_frame_in_dummy. Fix coding style. + +2002-11-21 Stephane Carrez <stcarrez@nerim.fr> + + * tui-hooks.c (tui_init_hook): Don't enable the TUI if a specific + interpreter is installed. + +2002-11-18 Andrew Cagney <ac131313@redhat.com> + + * tuiStack.c (tuiShowFrameInfo): Use get_frame_type instead of + signal_handler_caller. + +2002-11-10 Andrew Cagney <ac131313@redhat.com> + + * tuiStack.c (tuiShowFrameInfo): Replace frame_in_dummy with + deprecated_frame_in_dummy. + +2002-10-26 Stephane Carrez <stcarrez@nerim.fr> + + * tuiIO.c (tui_prep_terminal): Save the prompt registered in readline. + (tui_redisplay_readline): Use the last saved prompt. + (tui_rl_saved_prompt): New. + +2002-10-25 Stephane Carrez <stcarrez@nerim.fr> + + Fix PR gdb/787 + * tuiWin.c (ACS_LRCORNER, ACS_LLCORNER, ACS_ULCORNER, ACS_URCORNER, + ACS_HLINE, ACS_VLINE): Define if they don't exist. + +2002-10-25 Stephane Carrez <stcarrez@nerim.fr> + + Fix PR gdb/478 + * tuiIO.c (tui_initialize_io): Use setvbuf since this is portable. + +2002-10-02 Elena Zannoni <ezannoni@redhat.com> + + * tui-hooks.c (selected_frame_level_changed_hook): Use the one + exported from frame.h. + +2002-09-29 Elena Zannoni <ezannoni@redhat.com> + + * tui.c (tui_show_source): Don't access current_source_symtab, use + accessor function instead. Include source.h and symtab.h + * tuiDisassem.c (tuiShowDisassemAndUpdateSource, + tuiVerticalDisassemScroll): Use accessor functions for current + source line and symtab. Include source.h. + * tuiLayout.c (_extractDisplayStartAddr): Use accessor functions + for current source line and symtab. Include source.h. + * tuiWin.c (_makeVisibleWithNewHeight): Ditto. + * tuiSourceWin.c (tuiUpdateSourceWindowAsIs, + tuiHorizontalSourceScroll): Ditto. + * tuiSource.c (tuiVerticalSourceScroll): Ditto. + +2002-09-13 Stephane Carrez <stcarrez@nerim.fr> + + * tui.c (tui_rl_switch_mode): Remove unecessary TUI switch printfs. + (tui_initialize_readline): Allow to use space to leave SingleKey + to enter one gdb command. + (tui_enable): Restore the TUI keymap when we are back to TUI. + (tui_disable): Restore normal keymap when leaving TUI. + * tuiIO.c (tui_redisplay_readline): Restore the SingleKey mode + when the buffer becomes empty and we are in tui_one_command_mode. + +2002-09-13 Stephane Carrez <stcarrez@nerim.fr> + + * tuiIO.c (tui_setup_io): rl_already_prompted must be cleared + when leaving TUI mode so that gdb prompt is displayed. + +2002-09-13 Stephane Carrez <stcarrez@nerim.fr> + + * tuiStack.c (tui_make_status_line): Make sure the local buffer + is large enough to hold the complete line. + +2002-09-10 Stephane Carrez <stcarrez@nerim.fr> + + * tui-hooks.c (tui_event_loop): New function. + (tui_command_loop): New function to override gdb loop and make sure + uiout is set according to TUI mode. + (tui_command_loop): Install the specific TUI command hook. + * tuiIO.c (tui_initialize_io): Initialize tui_old_uiout. + (tui_uiout, tui_old_uiout): Make public. + * tuiIO.h (tui_uiout, tui_old_uiout): Declare. + +2002-09-04 Stephane Carrez <stcarrez@nerim.fr> + + * tuiIO.c (tui_putc): New function to print one character. + (printable_part): New function from readline/complete.c. + (PUTX): New macro, likewise. + (print_filename): New function, likewise. + (get_y_or_n): New function, likewise and adapted for TUI. + (tui_rl_display_match_list): New function from readline/complete.c + and writes on TUI command window. + (tui_setup_io): Install or remove the readline hook + rl_completion_display_matches_hook so that completion is written + directly in TUI command window instead of in the TUI pipe. + (tui_initialize_io): Use #ifdef TUI_USE_PIPE_FOR_READLINE for the + TUI redirection pipe. + (tui_getc): Likewise for call to tui_readline_output. + (tui_readline_output): Likewise for function. + * tui.c (tui_rl_startup_hook): Always take care of gdb prompt. + +2002-09-02 Stephane Carrez <stcarrez@nerim.fr> + + * tuiWin.c (_newHeightOk): Fix compilation warnings. + +2002-09-01 Stephane Carrez <stcarrez@nerim.fr> + + * tuiWin.c (_tuiAllWindowsInfo): Don't crash if the window + is not displayed. + +2002-09-01 Stephane Carrez <stcarrez@nerim.fr> + + * tui-out.c (tui_out_new): Clear start_of_line. + * tuiSource.c (tuiVerticalSourceScroll): Use print_source_lines + to update the current source line. + +2002-09-01 Stephane Carrez <stcarrez@nerim.fr> + + * tui-hooks.c (tui_detach_hook): New hook to know when a process dies. + (tui_install_hooks): Install it. + (tui_remove_hooks): Remove it. + +2002-09-01 Stephane Carrez <stcarrez@nerim.fr> + + * tuiData.h (FILE_PREFIX): Don't define. + (blankStr, locationStr, breakStr): Don't declare. + (breakLocationStr, nullStr, historyLimit, setHistoryLimitTo): Likewise. + (displayableWinContentOf, displayableWinContentAt): Likewise. + (winElementHeight, winByName, freeAllWindows): Likewise. + + * tuiData.c (blankStr, locationStr, breakStr): Remove. + (breakLocationStr, nullStr, historyLimit, setHistoryLimitTo): Remove. + (displayableWinContentOf, displayableWinContentAt): Remove. + (winElementHeight, winByName, freeAllWindows): Remove. + +2002-09-01 Stephane Carrez <stcarrez@nerim.fr> + + * tuiStack.c (tui_make_status_line): New function to create the + status line. + (tuiShowLocatorContent): Use it instead of displayableWinContentAt. + * tuiData.h (PROC_PREFIX): Use "In:" to reduce length of prefix. + (PC_PREFIX): Use upper case. + (SINGLE_KEY, MIN_LINE_WIDTH, MIN_PROC_WIDTH): Define. + (MAX_TARGET_WIDTH, MAX_PID_WIDTH): Define. + +2002-08-31 Stephane Carrez <stcarrez@nerim.fr> + + * tuiSourceWin.h (tuiUpdateAllExecInfos): Don't declare. + (tuiClearAllExecInfosContent): Likewise. + (tuiEraseAllExecInfosContent): Ditto. + (tuiUpdateSourceWindowsFromLocator): Ditto. + * tuiSourceWin.c (tuiUpdateAllExecInfos): Remove. + * tui.h (tui_vCheckDataValues): Don't declare. + (tui_vStartNewLines, tui_vAllSetHasBreakAt): Likewise. + (tui_vUpdateLocatorFilename, tui_vUpdateSourceWindowsWithAddr): Ditto. + (tui_vShowFrameInfo): Ditto. + +2002-08-31 Stephane Carrez <stcarrez@nerim.fr> + + * tui.c (tui_commands): Table of single key commands. + (tui_rl_command_key): New function to execute gdb command. + (tui_rl_command_mode): New function to temporarily leave SingleKey. + (tui_rl_next_keymap): New function to enter/leave the SingleKey mode. + (tui_rl_startup_hook): New function to avoid prompt display by + readline functions. + (tui_set_key_mode): New function to set the key mode and install + the readline keymap. + (tui_initialize_readline): Create TUI SingleKey readline map. + (tui_enable): Install rl_startup_hook. + (tui_disable): Remove it. + * tui.h (enum tui_key_mode): Declare. + (tui_set_key_mode, tui_current_key_mode): Declare. + * tuiIO.c (tui_redisplay_readline): Don't display the prompt in + SingleKey mode. + * tuiIO.h (tui_redisplay_readline): Declare. + +2002-08-31 Stephane Carrez <stcarrez@nerim.fr> + + * tuiSourceWin.c (tuiSetIsExecPointAt): Redraw the previous and + current line. + +2002-08-31 Stephane Carrez <stcarrez@nerim.fr> + + * tuiSource.c (tuiSetSourceContent): Remove old breakpoint code. + (_hasBreak): Remove. + (tuiShowSource): Fix comment indentation. + (tuiSourceIsDisplayed): Likewise. + (tuiVerticalSourceScroll): Likewise. + +2002-08-30 Stephane Carrez <stcarrez@nerim.fr> + + * tuiSourceWin.h (tui_update_all_breakpoint_info): Declare. + (tui_update_breakpoint_info): Declare. + (tuiSetHasBreakAt, tuiAllSetHasBreakAt): Remove. + + * tuiSourceWin.c (tuiUpdateSourceWindowAsIs): Update breakpoint + information using tui_update_breakpoint_info. + (tui_update_all_breakpoint_info): New function to refresh all + execution windows. + (tui_update_breakpoint_info): New function to recompute the status + of exec info window from breakpoints. + (tuiSetHasBreakAt, tuiAllSetHasBreakAt): Remove. + (tuiSetExecInfoContent): Use the exec info flags computed by + tui_update_breakpoint_info to display a short status about breakpoints. + + * tuiData.h (TuiExecInfoContent): New for exec info string. + (TuiWhichElement): Use it. + (TUI_BP_ENABLED, TUI_BP_DISABLED, TUI_BP_HIT): New defines. + (TUI_BP_CONDITIONAL, TUI_BP_HARDWARE): New defines. + (TUI_BP_HIT_POS, TUI_BP_BREAK_POS, TUI_EXEC_POS): Likewise. + (TUI_EXECINFO_SIZE): Likewise. + * tuiData.c (initContentElement): Clear exec info string. + + * tui-hooks.c (get_breakpoint): Remove. + (tui_event_create_breakpoint): Call tui_update_all_breakpoint_info. + (tui_event_delete_breakpoint): Likewise. + (tui_event_modify_breakpoint): Likewise. + +2002-08-29 Stephane Carrez <stcarrez@nerim.fr> + + * tui.c (tuiGetLowDisassemblyAddress): Moved from here. + * tuiDisassem.c (tuiGetLowDisassemblyAddress): To here, and use + tui_find_disassembly_address to find the starting address of + disassemble window. + +2002-08-28 Stephane Carrez <stcarrez@nerim.fr> + + * tuiDisassem.c (tui_disassemble): New function to disassemble + several lines in a buffer. + (tui_find_disassembly_address): New function to search backward + or forward a disassembly line. + (tuiSetDisassemContent): Use tui_disassemble to obtain the real + content and format it in the window. + (tuiShowDisassemAndUpdateSource): Remove unused locals. + (tuiVerticalDisassemScroll): Use tui_find_disassembly_address to + obtain the address to disassemble for the scrolling. + * tuiDisassem.h (tuiGetBeginAsmAddress): Update. + * tuiSourceWin.c (tuiUpdateSourceWindowAsIs): Don't pass symtab. + +2002-08-28 Stephane Carrez <stcarrez@nerim.fr> + + * tuiIO.c (CTRL_CHAR): Redefine and use readline 4.3 definition. + +2002-08-26 Stephane Carrez <stcarrez@nerim.fr> + + Fix PR gdb/393: + * tui.c (tui_disable): Update gdb's knowledge of its terminal + using target_terminal_save_ours. + (tui_enable): Likewise. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tui.c (tui_rl_switch_mode): Renames tui_switch_mode. + (tui_rl_change_windows): Renames tui_change_windows. + (tui_rl_delete_other_windows): Renames tui_delete_other_windows. + (tui_initialize_readline): Update. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiDisassem.c (tuiSetDisassemContent): Use breakpoint_here_p. + (_hasBreak): Remove. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiDisassem.c (tuiGetBeginAsmAddress): Use lookup_minimal_symbol + to find symbol address. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiSourceWin.c (tui_display_main): Rename from tuiDisplayMainFunction + and use tuiGetBeginAsmAddress. + * tuiSourceWin.h (tui_display_main): Declare. + * tui.h (tuiDisplayMainFunction): Remove. + * tui-hooks.c (tui_new_objfile_hook): Update. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiSource.h (m_tuiShowSourceAsIs): Remove macro. + (tuiShowSourceAsIs): Don't declare. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tui-hooks.c (tui_selected_frame_level_changed_hook): Always update + the frame position. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiStack.c (tuiSetLocatorContent): Remove. + (tuiUpdateLocatorInfoFromFrame): Remove. + (tui_set_locator_info): Allocate the content buffer if necessary. + (tui_set_locator_filename): Call tui_set_locator_info directly. + (tuiShowFrameInfo): Likewise and use find_pc_line instead of + find_pc_symtab. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiSourceWin.c (tuiDisplayMainFunction): Update to use + tuiUpdateLocatorFilename. + * tuiStack.c (tuiSetLocatorInfo): Make it static. + (tuiSetLocatorContent): Likewise. + (tuiUpdateLocatorInfoFromFrame): Likewise. + (tuiSwitchFilename): Remove. + (tui_set_locator_filename): New function + (tui_set_locator_info): Rename from tuiSetLocatorInfo to GNU-ify; + use tui_set_locator_filename to record the filename. + (tuiUpdateLocatorFilename): Likewise. + (tuiUpdateLocatorInfoFromFrame): Update. + (tuiSetLocatorContent): Likewise. + * tuiStack.h (tuiClearLocatorContent): Don't declare. + (tuiSetLocatorInfo, tuiSetLocatorContent): Likewise. + (tuiUpdateLocatorInfoFromFrame, tuiSwitchFilename): Likewise. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiSourceWin.c (tuiSetHasBreakAt): Use filename for breakpoint + comparison; cleanup. + * tuiSource.c (tuiSetSourceContent): Set window title and filename. + * tuiGeneralWin.c (boxWin): Print optional title on top of window. + * tuiData.h (TuiSourceInfo): Add filename member. + (TuiGenWinInfo): Add title member. + * tuiData.c (initGenericPart): Clear title. + (freeWindow): Free title and filename; remove unused locals. + (initWinInfo): Clear filename. + (tuiDelWindow): Free it; remove unused locals. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiStack.h (tuiGetLocatorFilename): Don't declare. + (tuiUpdateLocatorDisplay): Likewise. + * tuiStack.c (tuiGetLocatorFilename): Remove. + (tuiShowFrameInfo): Use tuiSetLocatorContent and tuiShowLocatorContent + instead of tuiUpdateLocatorDisplay. + (tuiUpdateLocatorDisplay): Remove. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiStack.h (tuiClearLocatorDisplay): Don't declare. + * tuiStack.c (tuiClearLocatorDisplay): Remove. + (tuiShowLocatorContent): Use wclrtoeol to clear end of status line. + (tuiUpdateLocatorDisplay): Don't call tuiClearLocatorDisplay. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiStack.c (tui_get_function_from_frame): Rename from + _getFuncNameFromFrame; use print_address_symbolic to get symbolic + name of address. + (tuiUpdateLocatorInfoFromFrame): Update. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiRegs.c (tuiDisplayRegistersFrom): Remove unused locals. + (_tuiRegisterFormat, _tuiSetSpecialRegsContent): Likewise. + (_tuiSetGeneralAndSpecialRegsContent): Likewise. + (_tuiSetFloatRegsContent): Likewise. + (_tuiRegisterName): Return a const char*. + * tuiData.h (_TuiDataElement): Use const char* for name. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiSourceWin.h (tuiEraseAllSourceContent): Don't declare. + (tuiShowAllExecInfosContent): Likewise. + * tuiSourceWin.c (tuiEraseAllSourceContent): Remove. + (tuiShowAllExecInfosContent): Remove. + (tuiAllocSourceBuffer): Remove unused locals. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiStack.c (tui_update_command): Rename _tuiUpdateLocation_command + to follow other gdb's command names; use execute_command; cleanup. + (_initialize_tuiStack): Update. + +2002-08-25 Stephane Carrez <stcarrez@nerim.fr> + + * tuiWin.h (tui_update_gdb_sizes): Declare. + +2002-08-24 Stephane Carrez <stcarrez@nerim.fr> + + * tui.c (strcat_to_buf): Use const char* for source item. + (tui_enable): Update the windows if there is a selected frame. + * tui.h (strcat_to_buf): Update prototype. + (strcat_to_buf_with_fmt): Remove. + +2002-08-24 Stephane Carrez <stcarrez@nerim.fr> + + * tuiWin.c (tui_update_gdb_sizes): New function to tell gdb what + is the size of command window. + (tuiResizeAll): Call it instead of init_page_info. + * tui.c (tui_enable): Call it to resize to TUI command window. + (tui_disable): Likewise for plain screen. + +2002-08-24 Stephane Carrez <stcarrez@nerim.fr> + + * tui.c (tui_enable): Use tuiSetLayout instead of showLayout and + use tuiShowFrameInfo instead of tuiSetLocatorContent. + * tuiLayout.h (showLayout): Remove. + * tuiLayout.c (_showSourceOrDisassemAndCommand): Remove unused locals. + (_showSourceDisassemCommand): Likewise. + (showLayout): Make it static. + (lastLayout): Remove. + +2002-08-24 Stephane Carrez <stcarrez@nerim.fr> + + * tuiSourceWin.c (tui_show_source_line): New function. + (tuiShowSourceContent): Call it and avoid clearing the window before + redrawing it. + (tuiClearAllSourceWinsContent): Remove. + * tuiSourceWin.h (tuiClearAllSourceWinsContent): Don't declare. + * tuiWin.h (tuiClearWinFocus, tuiClearWinFocusFrom): Don't declare. + * tuiWin.c (tuiClearWinFocus, tuiClearWinFocusFrom): Remove. + (tuiRefreshAll): Don't clear the window. + (_makeVisibleWithNewHeight): Don't clear locator line. + (tuiResizeAll): Remove unused locals. + (_tuiAdjustWinHeights): Likewise. + (_makeInvisibleAndSetNewHeight): Likewise. + (_newHeightOk): Likewise. + * tuiLayout.c (showLayout): Don't clear source windows. + (tuiSetLayout): Don't clear the window. + (_initAndMakeWin): Likewise for status line. + * tuiGeneralWin.c (makeVisible): Don't clear or refresh the window. + (makeWindow): Likewise. + (tuiClearWin): Remove. + * tuiGeneralWin.h (tuiClearWin): Don't declare. + +2002-08-24 Stephane Carrez <stcarrez@nerim.fr> + + * tuiSourceWin.c (tuiSrcWinIsDisplayed): Remove. + (tuiAsmWinIsDisplayed): Remove. + (tuiShowAllSourceWinsContent): Remove. + (tuiUpdateOnEnd): Remove. + * tuiGeneralWin.c (scrollWinForward): Remove. + (scrollWinBackward): Remove. + (_winResize): Don't declare. + * tui.h (tuiUpdateOnEnd): Don't declare. + (vcatch_errors, va_catch_errors): Likewise. + * tuiSourceWin.h (tuiUpdateOnEnd): Likewise. + (tuiShowAllSourceWinsContent): Likewise. + * tuiGeneralWin.h (scrollWinForward): Likewise. + (scrollWinBackward): Likewise. + +2002-08-24 Stephane Carrez <stcarrez@nerim.fr> + + * tuiRegs.c (_tuiRegisterFormat): Use gdbarch_print_registers_info. + +2002-08-18 Daniel Jacobowitz <drow@mvista.com> + + Fix PR gdb/655 + * tui.c: Disable <termio.h> include. + +2002-03-15 Andrew Cagney <ac131313@redhat.com> + + * tui-out.c (XMALLOC): Delete macro. Update copyright. + +2002-03-01 Andrew Cagney <ac131313@redhat.com> + + * tui-hooks.c: Add FIXME to explain true/false problem. Update + copyright. + * tui.c, tuiCommand.c, tuiData.c, tuiDataWin.c: Ditto. + * tuiDisassem.c, tuiGeneralWin.c, tuiIO.c, tuiLayout.c: Ditto. + * tuiRegs.c, tuiSource.c, tuiSourceWin.c, tuiStack.c: Ditto. + * tuiWin.c: Ditto. + + 2002-02-08 Daniel Jacobowitz <drow@mvista.com> + * tui-hooks.c: Include <curses.h> before "bfd.h". + * tui.c: Likewise. + * tuiCommand.c: Likewise. + * tuiData.c: Likewise. + * tuiDataWin.c: Likewise. + * tuiDisassem.c: Likewise. + * tuiGeneralWin.c: Likewise. + * tuiIO.c: Likewise. + * tuiLayout.c: Likewise. + * tuiRegs.c: Likewise. + * tuiSource.c: Likewise. + * tuiSourceWin.c: Likewise. + * tuiStack.c: Likewise. + * tuiWin.c: Likewise. + +2002-02-01 Andrew Cagney <ac131313@redhat.com> + + * tuiWin.c (_initialize_tuiWin): Replace NO_FUNCTION with NULL. + +2001-10-20 Andrew Cagney <ac131313@redhat.com> + + * tuiDisassem.c: Include "value.h". + * tuiSourceWin.c: Ditto. + +2001-09-28 Tom Tromey <tromey@redhat.com> + + * tuiLayout.h (tui_set_layout): Don't declare. + * tui.h (tui_vAddWinToLayout): Don't declare. + (tui_vSetLayoutTo): Likewise. + (tui_set_layout): Declare. + +2001-08-02 Eli Zaretskii <eliz@is.elta.co.il> + + * tuiSourceWin.c: Use disp_del instead of del. + + * tuiSource.c: Use disp_del instead of del. + + * tuiDisassem.c: Use disp_del instead of del. + +2001-07-31 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tui.c (tui_enable): Remove call to terminal_save_ours(). + (tui_disable): Likewise. + +2001-07-28 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiWin.c (_initialize_tuiWin): Use specific tui prefix for + set/show configuration variables. + (show_tui_cmd): New function. + (set_tui_cmd): New function. + +2001-07-24 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tui-hooks.c: New file, gdb hooks for tui. + * tui-out.c: New file, image copied from cli-out.c. + (tui_field_int): Identify "line" fields and keep track of them. + (tui_field_string): Likewise for "file". + (tui_out_new): Use flags = 0 to avoid printing the sources. + +2001-07-23 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiIO.c (tui_cont_sig): Update cursor position on the screen to + leave it in the command window. + (tui_redisplay_readline): Save cursor position to restore the + cursor after we go back from background. + * tuiData.h (TuiCommandInfo): Add start_line member. + +2001-07-23 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiStack.c (tuiUpdateLocatorFilename): Use const char*. + * tuiStack.h (tuiUpdateLocatorFilename): Update prototype. + * tuiWin.c (_initialize_tuiWin): Don't cast table of enum in calls + to add_set_enum_cmd. + * tui.c (tui_show_source): New function. + (tuiGetLowDisassemblyAddress): Use CORE_ADDR for newLow. + (tui_switch_mode): Prep or deprep readline terminal; + make sure the \n we return does not redo the last command. + * tui.h (tui_show_source): Declare. + (tui_out_new, tui_install_hooks, tui_remove_hooks): Likewise. + (tui_active, tui_initialize_io, tui_initialize_readline): Likewise. + +2001-07-22 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiIO.c (tui_initialize_io): Install tui_cont_sig signal handler + if SIGCONT is defined. + (tui_cont_sig): New function when SIGCONT is defined. + (tui_setup_io): Save tty setting to restore by SIGCONT. + +2001-07-22 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tui.h (tui_show_assembly): Declare. + (tui_is_window_visible): Declare. + * tui.c (tui_show_assembly): New function. + (tui_is_window_visible): New function. + (tui_get_command_dimension): New function. + +2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiWin.c (tuiRefreshAll): Use clearok to force a refresh. + +2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tui-file.c (tui_file_fputs): Use tui_puts. + +2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiStack.c (tuiSetLocatorInfo): Cleanup. + * tuiStack.h (tuiGetLocatorFilename): Declare. + * tuiRegs.h (tuiFirstRegElementNoInLine): Declare. + * tuiData.h (addToSourceWindows): Declare. + +2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tui.c (tui_change_windows): New function. + (tui_delete_other_windows): New function. + (tui_initialize_readline): Bind them to C-X 1 and C-X 2. + (tui_enable): Enable the keypad; call tui_update_variables. + (strcat_to_buf_with_fmt): Remove. + +2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tui.h: Remove old declarations, add the new ones. + * tui.c (tui_switch_mode): New function. + (tui_initialize_readline): New function. + (tui_enable): New function. + (tui_disable): New function. + (tuiGetLowDisassemblyAddress): Use CORE_ADDR, cleanup. + (tui_vSelectSourceSymtab): Remove. + (tuiInitWindows): Remove. + (_initialize_tui): Remove. + (_tuiReset): Keep but put arround #if 0. + +2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiIO.h: Remove old declarations and add the new ones. + * tuiIO.c: New management for curses and gdb terminal interactions. + (tui_tputs): Remove. + (tuiTermSetup, tuiTermUnsetup): Remove, must use normal curses ops. + (tuiBufferGetc, tui_vStartNewLines, _updateCommandInfo): Remove. + (tui_owns_terminal): Remove. + (tui_redisplay_readline): New function. + (tui_puts): New function. + (tui_prep_terminal): New function. + (tui_deprep_terminal): New function. + (tui_getc): Rename of tuiGetc, simplify and fix. + (tui_setup_io): New function. + (tui_initialize_io): New function. + +2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiRegs.c (tuiDisplayRegistersFrom): Call touchwin. + (_tuiRegisterFormat): Reduce size of format result. + +2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiGeneralWin.c (boxWin): Use the tui configuration variables. + * tuiWin.h: Declare the new variables. + * tuiWin.c (_initialize_tuiWin): Create TUI configuration variables. + (tui_update_variables): New function. + (translate): New function. + (tui_border_kind_enums, tui_border_mode_enums): New tables. + (tui_border_mode_translate): New table. + (tui_border_kind_translate_*): New tables. + (tui_active_border_mode): New variables. + (tui_border_*): New variables. + +2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiWin.c (_parseScrollingArgs): Fix uninitialized variable. + (_makeVisibleWithNewHeight): Use TuiLineOrAddress type. + + * tuiStack.c (tuiShowFrameInfo): Use TuiLineOrAddress type. + (tui_vUpdateLocatorFilename): Remove. + * tuiStack.h: Update prototypes. + + * tuiSourceWin.c (tuiAddrIsDisplayed): New function. + (tuiLineIsDisplayed): Split for address and line. + (tuiUpdateSourceWindow): Use TuiLineOrAddress type. + (tuiUpdateSourceWindowAsIs): Likewise. + (tuiUpdateSourceWindowsWithAddr): Likewise. + (tuiUpdateSourceWindowsWithLine): Likewise. + (tuiHorizontalSourceScroll): Likewise. + (tuiSetIsExecPointAt): Likewise. + (tuiUpdateOnEnd): Likewise. + * tuiSourceWin.h: Update prototypes. + + * tuiSource.c (tuiVerticalSourceScroll): Use TuiLineOrAddress type. + (tuiShowSource): Likewise. + (tuiVerticalSourceScroll): Likewise. + * tuiSource.h (tuiShowSource): Update prototype. + + * tuiDisassem.c (tuiSetDisassemContent): Use CORE_ADDR for address. + (tuiShowDisassem): Use TuiLineOrAddress type. + (tuiShowDisassemAndUpdateSource): Likewise. + (tuiVerticalDisassemScroll): Likewise. + (tuiShowDisassemAsIs): Remove. + * tuiDisassem.h (tuiSetDisassemContent): Update prototype. + + * tuiData.c (initWinInfo): Use CORE_ADDR for address. + (clearWinDetail): Likewise. + (displayableWinContentOf): Fix address conversion. + (tuiNextWin): Fix crash when the window is not yet created. + (partialWinByName): Likewise. + +2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiSourceWin.h: Remove unused declarations. + * tuiSourceWin.c (tui_vUpdateSourceWindowsWithAddr): Remove. + (tui_vUpdateSourceWindowsWithLine): Remove. + (tui_vAllSetHasBreakAt): Remove. + + * tuiLayout.h (tui_set_layout): Declare. + (tui_vSetLayoutTo): Remove. + (tui_vAddWinToLayout): Remove. + * tuiLayout.c (_tuiLayout_command): Call tui_enable() to force TUI. + (_tuiToggleLayout_command): Remove. + (_tuiToggleSplitLayout_command): Remove. + (_tuiLayout_command): Remove. + (tui_vSetLayoutTo): Remove. + (tui_vAddWinToLayout): Remove. + + * tuiDataWin.h (tui_vCheckDataValues): Remove. + * tuiDataWin.c (tui_vCheckDataValues): Remove. + +2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiWin.c (tuiStrDup): Remove, replaced by xstrdup. + (_parseScrollingArgs): Use xstrdup. + (_tuiScrollForward_command): Call tui_enable() to force TUI mode. + (_tuiScrollBackward_command): Likewise. + (_tuiScrollLeft_command): Likewise. + (_tuiScrollRight_command): Likewise. + (_tuiSetFocus): Likewise. + (_tuiSetFocus_command): Likewise. + (_tuiRefreshAll_command): Likewise. + (_tuiSetTabWidth_command): Likewise. + (_tuiSetWinHeight): Likewise. + (_tuiSetWinHeight_command): Likewise. + (_tuiXDBsetWinHeight): Likewise. + (_tui_vSetFocus): Remove. + (_tui_vSetWinHeight): Remove. + (_tui_vXDBsetWinHeight): Remove. + +2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiCommand.h: Remove unused declarations. + * tuiCommand.c (tuiDispatchCtrlChar): Fix escape sequences. + (tuiIncrCommandCharCountBy): Remove. + (tuiDecrCommandCharCountBy): Remove. + (tuiSetCommandCharCountTo): Remove. + (tuiClearCommandCharCount): Remove. + +2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiWin.c (_initialize_tuiWin): Always define the tui commands; + create the tui class help. + * tuiLayout.c (_initialize_tuiLayout): Always define the tui commands. + * tuiRegs.c (_initialize_tuiRegs): Likewise. + * tuiStack.c (_initialize_tuiStack): Likewise. + +2001-07-19 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiDisassem.c (tuiVerticalDisassemScroll): Use CORE_ADDR. + (tuiVerticalDisassemScroll): Likewise. + (tuiShowDisassemAndUpdateSource): Check for null symtab to + prevent a crash. + +2001-07-18 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiIO.c (_tuiHandleResizeDuringIO): Call tuiRefreshAll. + (tuiRead, tui_vread): Remove. + + * tui.c (va_catch_errors, tuiDo, tuiDoAndReturnToTop): Remove. + (vcatch_errors, _tui_vDo): Remove. + * tui.h (tuiDo, tuiDoAndReturnToTop): Remove. + + * tuiLayout.c (tuiSetLayout): Remove vcatch_errors. + (tui_set_layout): Rename of _tuiSetLayoutTo, public. + (_tuiToggleLayout_command): Merge with _tui_vToggleLayout_command. + (_tuiToggleSplitLayout_command): Merge with _tui_vToggleSplitLayout_command. + (_tuiLayout_command): Call tui_set_layout. + + * tuiRegs.c (_tuiScrollRegsBackward_command): Call tui_scroll. + (_tuiScrollRegsForward_command): Likewise. + (_tuiShowFloat_command): Call _tui_vShowRegisters_commandSupport. + (_tuiShowGeneral_command): Likewise. + (_tuiShowSpecial_command): Likewise. + (_tuiToggleFloatRegs_command): Call tuiToggleFloatRegs. + * tuiWin.c (tui_scroll): Rename of tui_vScroll, update parameters. + (_tuiScrollForward_command): Call tui_scroll. + (_tuiScrollBackward_command): Likewise. + (_tuiScrollLeft_command): Likewise. + (_tuiScrollRight_command): Likewise. + (_tuiSetFocus_command): Call _tuiSetFocus. + (_tuiRefreshAll_command): Call tuiRefreshAll. + (_tuiSetWinHeight_command): Call _tuiSetWinHeight. + (_tuiXDBsetWinHeight_command): Call _tuiXDBsetWinHeight. + * tuiWin.h (tui_scroll): Rename of tui_vScroll, update parameters. + +2001-07-18 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiData.h (TuiLocatorElement): Use CORE_ADDR for address member. + (TuiLineOrAddress): Likewise. + * tuiDisassem.c (tuiGetBeginAsmAddress): Use CORE_ADDR to specify + an address. + (tuiSetDisassemContent): Likewise. + (tuiShowDisassem, tuiShowDisassemAndUpdateSource): Likewise. + * tuiLayout.c (_extractDisplayStartAddr): Likewise. + (tuiSetLayout): Likewise. + * tuiSourceWin.c (tuiDisplayMainFunction): Likewise. + (tuiUpdateSourceWindowsWithAddr): Likewise. + (tuiUpdateSourceWindowsWithLine): Likewise. + (tuiSetHasBreakAt): Likewise. + * tuiStack.c (tuiSetLocatorInfo): Likewise. + (tuiSwitchFilename): Likewise. + (tuiUpdateLocatorInfoFromFrame): Likewise. + (tuiSetLocatorContent): Likewise. + (tuiShowFrameInfo): Likewise. + * tuiDisassem.h: Update prototypes to use CORE_ADDR. + * tuiSourceWin.h: Likewise. + * tuiStack.h: Likewise. + +2001-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiWin.c: Add missing includes. + (_makeVisibleWithNewHeight): Fix call to find_line_pc. + * tuiLayout.c: Add missing includes. + (_initAndMakeWin): Don't put curses in echo mode. + (_extractDisplayStartAddr): Fix calls to find_line_pc. + (_tuiLayout_command): Missing ',' in warning call. + * tuiSourceWin.c (tuiUpdateSourceWindowsWithLine): Fix calls to + find_line_pc. + (tuiSetHasBreakAt): Check for null source file. + +2001-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiWin.c (_tuiSetFocus): Replace subsetCompare with subset_compare. + * tuiLayout.c (_tuiSetLayoutTo): Likewise. + * tui.c (_tui_vToggle_command): Likewise. + +2001-07-17 Elena Zannoni <ezannoni@redhat.com> + + * tui-file.c: Add include of tuiIO.h, for tuiPuts_unfiltered. + +2001-07-16 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiRegs.c (tuiDisplayRegistersFrom): Set scrollok to FALSE in + each register window. + (tuiCheckRegisterValues): Use REGISTER_RAW_SIZE to obtain the size + of the register to check. + (_tuiRegValueHasChanged): Likewise. + (_tuiRegisterName): Use REGISTER_NAME. + (tui_restore_gdbout): New function. + (_tuiRegisterFormat): Use do_registers_info with gdb_stdout redirected + to a string. + (START_SPECIAL_REGS): Define. + (_tuiGetRegisterRawValue): Use get_saved_register. + (_tuiDisplayRegister): Fix clearing of register window. + +2001-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tui-file.h (fputs_unfiltered_hook): Remove. + * tui-file.c (tui_file_flush): Remove fputs_unfiltered_hook. + (tui_file_fputs): Likewise; simplify + +2001-07-16 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiStack.c: Add missing includes. + (tuiShowFrameInfo): Don't crash when there is no symbol table + associated with the pc. + * tuiSource.c (_hasBreak): Check for null source file. + * tuiWin.c (tuiRefreshAll): Check for null winList[type]. + (_tuiSetFocus): Check for null dataWin. + * tuiGeneralWin.c (refreshAll): Check for null list[type]. + +2001-07-16 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiDisassem.c (tuiSetDisassemContent): Use tm_print_insn_info + to disassemble in the curses window. + +2001-07-16 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tui.h: Cleanup to avoid inclusion of curses includes. + (TuiGenWinInfo, TuiGenWinInfoPtr): Move from here. + * tuiData.h: To here; include curses includes here. + (setTermHeightTo): Rename of setTermHeight to follow reality. + (setTermWidthTo): Likewise with setTermWidth. + +2001-07-14 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiWin.c, tui.c, tuiCommand.c: Use ansi prototype. + tuiIO.c, tuiData.c: Likewise. + tuiDataWin.c, tuiDisassem.c: Likewise. + tuiGeneralWin.c, tuiLayout.c: Likewise. + tuiRegs.c, tuiSource.c: Likewise. + tuiSouceWin.c, tuiStack.c: Likewise. + +2001-07-14 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * tuiWin.c, tuiWin.h, tui.c, tui.h, tuiCommand.c: Add FSF copyright. + tuiCommand.h, tuiIO.c, tuiIO.h, tuiData.h, tuiData.c: Likewise. + tuiDataWin.c, tuiDataWin.h, tuiDisassem.c, tuiDisassem.h: Likewise. + tuiGeneralWin.c, tuiGeneralWin.h, tuiLayout.c, tuiLayout.h: Likewise. + tuiRegs.c, tuiRegs.h, tuiSource.c, tuiSource.h: Likewise. + tuiSouceWin.c, tuiSourceWin.h, tuiStack.c, tuiStack.h: Likewise. + +2001-03-08 Andrew Cagney <ac131313@redhat.com> + + * tuiRegs.c: Use NUM_REGS, not ARCH_NUM_REGS. + +2001-03-06 Kevin Buettner <kevinb@redhat.com> + + * tui-file.h: Update/correct copyright notice. + +Wed Feb 7 19:54:27 2001 Andrew Cagney <cagney@redhat.com> + + * tui-file.c: Add __FILE__ and __LINE__ parameter to calls to + internal_error. + +2000-12-14 Kevin Buettner <kevinb@redhat.com> + + * tui-file.c, tui.c, tuiData.c, tuiLayout.c: Replace occurrences + of free() with xfree(). + +2000-06-22 Kevin Buettner <kevinb@redhat.com> + + * tuiSourceWin.h: Eliminate use of PARAMS from this file. + +2000-06-20 Kevin Buettner <kevinb@redhat.com> + + * tuiLayout.c: Eliminate use of PARAMS from this file. + +2000-06-17 Kevin Buettner <kevinb@redhat.com> + + * tuiIO.c: Eliminate use of PARAMS from this file. + +Thu May 25 14:46:20 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * tui-file.c: Include "tui.h", "tuiData.h", "tuiIO.h" and + "tuiCommand.h". + (tui_file_fputs): Pass ``file'' and not ``stream'' to + tui_file_adjust_strbuf. + +Thu May 25 16:58:01 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * tui.h: Include <ncurses.h> when available. + * tui.c, tuiGeneralWin.c: Do not include <curses.h>. + +Mon May 15 17:16:10 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * Makefile.in: Delete. + +Tue Apr 18 15:32:15 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * Makefile.in (distclean, maintainer-clean, realclean, + mostlyclean): New targets. + +Tue Feb 1 00:17:12 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * tui-file.c, tui-file.h, tuiDisassem.c, tuiIO.c, tuiIO.h, + tuiRegs.c: Update to reflect rename of gdb-file / GDB_FILE to + ui-file / ``struct ui_file''. + +Mon Jan 31 18:12:43 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * tui-file.c (enum streamtype, struct tui_stream, tui_file_new, + tui_file_delete, tui_fileopen, tui_sfileopen, tui_file_isatty, + tui_file_rewind, tui_file_put, tui_file_fputs, + tui_file_get_strbuf, tui_file_adjust_strbuf, tui_file_flush, + fputs_unfiltered_hook): Move to here from ../utils.c + + * tui-file.h, tui-file.c: New files. + +Mon Nov 8 17:47:37 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * tuiRegs.c (_tuiRegisterFormat), tuiDisassem.c + (tuiSetDisassemContent): Replace gdb_file_init_astring with + tui_sfileopen. Replace gdb_file_get_strbuf with + tui_file_get_strbuf. + +Mon Nov 8 16:54:51 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * tuiRegs.c (_tuiRegisterFormat), tuiDisassem.c + (tuiSetDisassemContent): Repace gdb_file_deallocate with + gdb_file_delete. Replace gdb_file_init_astring with tui_sfileopen. + +Fri Sep 17 19:34:38 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * tuiSource.c: Include "source.h". + (open_source_file, find_source_lines): Delete declarations. + +1999-01-26 Jason Molenda (jsm@bugshack.cygnus.com) + + * tui.h: Include stdarg.h instead of varargs.h if we're on an ISO Cish + system. + +Thu Dec 31 12:08:32 1998 David Taylor <taylor@texas.cygnus.com> + + The following changes were made by Jim Blandy <jimb@cygnus.com>, + Edith Epstein <eepstein@cygnus.com>, Elena Zannoni + <ezannoni@cygnus.com> Stan Shebs <shebs@cygnus.com>, and David + Taylor <taylor@cygnus.com>, as part of the project to merge in + changes originally made by HP; HP did not create ChangeLog + entries. + + * Makefile.in: New file; we're merging HP's changes into GDB, and + we've moved the TUI files into a subdirectory, so we need a new + Makefile. + + * tui.c: + #include <term.h>, if we have it, to get declarations for + the termcap functions on Solaris. + (tgoto): Add external K&R declaration for this; Solaris doesn't + bother to actually declare it in their header files. + (_tuiReset): Ignore the #definition of TIOCGETC if USG is defined; + we'd rather use the USG mechanisms than the Berkeley mechanisms + (TIOCGETC is one of the Berkeley terminal control ioctls). + Apologies if this causes trouble later; this should all be handled + by autoconf... + (strcat_to_buf, strcat_to_buf_with_fmt): New functions, moved here + from ../utils.h. + (tuiFree): replace safe_free with free. + (strcat_to_buf): new function, copied from utils.c. + (tuiInit): Add ignored `argv0' argument, to match the type that + init_ui_hook expects; updated declaration. Call the + initialize_tui_files function constructed above. Initialize + flush_hook to NULL. + (tuiInitWindows): Call tuiSetLocatorContent, to get the first + element of the locator window's content allocated. This seems + wrong, because it must have been initialized somehow in HP's + sources, and we should do it the same way now. But we do get + further before it segfaults. [Postscript: HP didn't bother to + initialize it; they compile + (va_catch_errors, vcatch_errors): Functions moved here from + ../utils.c in HP's sources. They're not used anywhere else. + (xdb_style): Delete this variable, and remove all references to + it. It's always true. + (tuiInit, _tui_vDo): References removed. + + * tui.h: Add prototypes. + Don't #include "gendefs.h"; it's only used in the TUI. + Integrate its contents into this file: + #include <ansidecl.h> here. + (Opaque, OpaqueFuncPtr): Typedefs moved to here. + + * tuiCommand.c: #include "defs.h", so we get the appropriate + definition of GDB_FILE. + + * tuiData.c + (freeWindow): replace safe_free with free. + (tui_version): don't define it here; it's defined in main.c now. + + * tuiDisassem.c + (tuiSetDisassemContent): Call strcat_address_numeric instead of + strcat_address. Simplify the control structure. Use predefined + GDB function to print asm inst address. Use GDB_FILE to collect + output into buffers. + + * tuiIO.c + (tgoto): Add external K&R declaration for this here too. + (tuiGetc, tuiTermSetup, tuiTermUnsetup): Same. + (tuiPuts_unfiltered): change FILE to GDB_FILE. + (tui_tputs): fix prototype for 3rd argument. + + * tuiIO.h (tuiPuts_unfiltered): change declaration. + + * tuiLayout.c + (_tuiSetLayoutTo): for displaying registers, hook up the HP code + that decides which registers to display (i.e. single precision + float, double precision float, general, special). Previously, + only handled TUI_GENERAL_REGS. Now that the code is hooked up, + compiling with -z poses a problem. When the first layout command + is 'layout regs', dataWin->detail is a NULL pointer, and gdb + core dumps. + + * tuiLayout.c (_tuiSetLayoutTo): replace safe_free with free. + + * tuiRegs.c #include "defs.h" earlier, to avoid problems in + <stdarg.h>. No idea exactly what's conflicting with what, but the + errors went away... + (_tuiRegisterFormat): Change so that function creates a GDB_FILE + object, calls pa_do_strcat_registers_info, copies the register + info into a buffer, and deallocates the GDB_FILE object. Remove + some code that is not executed. Also, call to + pa_do_strcat_registers_info has an additional parameter, + precision. This code requires some new per-target functions that + we don't want to merge. Dyke it out, with #ifdef + TUI_EXTENDED_FORMATTERS. + (_tuiSetSpecialRegsContent): this function was ifdefed out. + Hooked this up. + (_tuiSetGeneralAndSpecialRegsContent): this function was ifdefed + out. Hooked it up. + (IS_64BIT): Just define this to be zero; we're not merging in the + 64-bit support. + (tuiShowRegisters): Comment out all references to the "special" + regs; we don't have a distinction between the "special" and + "non-special" regs in most of our machine descriptions. This code + is PA-specific in other ways as well, and needs to be redesigned + to be portable to other processors. + + * tuiWin.c: #include <string.h>, to get a declaration for + strchr. + + * tui.c, tuiCommand.c, tuiData.c, tuiDataWin.c, tuiDisassem.c, + tuiGeneralWin.c, tuiIO.c, tuiLayout.c, tuiRegs.c, tuiSource.c, + tuiSourceWin.c, tuiStack.c, tuiWin.c: New files (from HP). Changed + bool to int throughout. Re-indented, GNU style. + + * tui.h, tuiCommand.h, tuiData.h, tuiDataWin.h, tuiDisassem.h, + tuiGeneralWin.h, tuiIO.h, tuiLayout.h, tuiRegs.h, tuiSource.h, + tuiSourceWin.h, tuiStack.h, tuiWin.h: new files (from HP). + Changed bool to int throughout. diff --git a/gdb/tui/tui-command.c b/gdb/tui/tui-command.c new file mode 100644 index 0000000..4b1c0fd --- /dev/null +++ b/gdb/tui/tui-command.c @@ -0,0 +1,135 @@ +/* Specific command window processing. + + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software + Foundation, Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include <ctype.h> +#include "tui/tui.h" +#include "tui/tui-data.h" +#include "tui/tui-win.h" +#include "tui/tui-io.h" + +#ifdef HAVE_NCURSES_H +#include <ncurses.h> +#else +#ifdef HAVE_CURSES_H +#include <curses.h> +#endif +#endif + + +/***************************************** +** STATIC LOCAL FUNCTIONS FORWARD DECLS ** +******************************************/ + + + +/***************************************** +** PUBLIC FUNCTIONS ** +******************************************/ + +/* Dispatch the correct tui function based upon the control character. */ +unsigned int +tui_dispatch_ctrl_char (unsigned int ch) +{ + TuiWinInfoPtr winInfo = tuiWinWithFocus (); + WINDOW *w = cmdWin->generic.handle; + + /* + ** If the command window has the logical focus, or no-one does + ** assume it is the command window; in this case, pass the + ** character on through and do nothing here. + */ + if (winInfo == (TuiWinInfoPtr) NULL || winInfo == cmdWin) + return ch; + else + { + unsigned int c = 0, chCopy = ch; + register int i; + char *term; + + /* If this is an xterm, page next/prev keys aren't returned + ** by keypad as a single char, so we must handle them here. + ** Seems like a bug in the curses library? + */ + term = (char *) getenv ("TERM"); + for (i = 0; (term && term[i]); i++) + term[i] = toupper (term[i]); + if ((strcmp (term, "XTERM") == 0) && key_is_start_sequence (ch)) + { + unsigned int pageCh = 0, tmpChar; + + tmpChar = 0; + while (!key_is_end_sequence (tmpChar)) + { + tmpChar = (int) wgetch (w); + if (tmpChar == ERR) + { + return ch; + } + if (!tmpChar) + break; + if (tmpChar == 53) + pageCh = KEY_PPAGE; + else if (tmpChar == 54) + pageCh = KEY_NPAGE; + else + { + return 0; + } + } + chCopy = pageCh; + } + + switch (chCopy) + { + case KEY_NPAGE: + tuiScrollForward (winInfo, 0); + break; + case KEY_PPAGE: + tuiScrollBackward (winInfo, 0); + break; + case KEY_DOWN: + case KEY_SF: + tuiScrollForward (winInfo, 1); + break; + case KEY_UP: + case KEY_SR: + tuiScrollBackward (winInfo, 1); + break; + case KEY_RIGHT: + tuiScrollLeft (winInfo, 1); + break; + case KEY_LEFT: + tuiScrollRight (winInfo, 1); + break; + case '\f': + tuiRefreshAll (); + break; + default: + c = chCopy; + break; + } + return c; + } +} diff --git a/gdb/tui/tui-command.h b/gdb/tui/tui-command.h new file mode 100644 index 0000000..9653bf0 --- /dev/null +++ b/gdb/tui/tui-command.h @@ -0,0 +1,30 @@ +/* Specific command window processing. + + Copyright 1998, 1999, 2000, 2001, 2004 Free Software Foundation, + Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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 TUI_COMMAND_H +#define TUI_COMMAND_H + +extern unsigned int tui_dispatch_ctrl_char (unsigned int); + +#endif diff --git a/gdb/tui/tui-data.c b/gdb/tui/tui-data.c new file mode 100644 index 0000000..c6f4fb5 --- /dev/null +++ b/gdb/tui/tui-data.c @@ -0,0 +1,1055 @@ +/* TUI data manipulation routines. + + Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, + Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "symtab.h" +#include "tui/tui.h" +#include "tui/tui-data.h" +#include "tui/tui-wingeneral.h" + +#ifdef HAVE_NCURSES_H +#include <ncurses.h> +#else +#ifdef HAVE_CURSES_H +#include <curses.h> +#endif +#endif + +/**************************** +** GLOBAL DECLARATIONS +****************************/ +TuiWinInfoPtr winList[MAX_MAJOR_WINDOWS]; + +/*************************** +** Private data +****************************/ +static TuiLayoutType _currentLayout = UNDEFINED_LAYOUT; +static int _termHeight, _termWidth; +static TuiGenWinInfo _locator; +static TuiGenWinInfo _execInfo[2]; +static TuiWinInfoPtr _srcWinList[2]; +static TuiList _sourceWindows = +{(OpaqueList) _srcWinList, 0}; +static int _defaultTabLen = DEFAULT_TAB_LEN; +static TuiWinInfoPtr _winWithFocus = (TuiWinInfoPtr) NULL; +static TuiLayoutDef _layoutDef = +{SRC_WIN, /* displayMode */ + FALSE, /* split */ + TUI_UNDEFINED_REGS, /* regsDisplayType */ + TUI_SFLOAT_REGS}; /* floatRegsDisplayType */ +static int _winResized = FALSE; + + +/********************************* +** Static function forward decls +**********************************/ +static void freeContent (TuiWinContent, int, TuiWinType); +static void freeContentElements (TuiWinContent, int, TuiWinType); + + + +/********************************* +** PUBLIC FUNCTIONS +**********************************/ + +/****************************************** +** ACCESSORS & MUTATORS FOR PRIVATE DATA +******************************************/ + +/* + ** tuiWinResized(). + ** Answer a whether the terminal window has been resized or not + */ +int +tuiWinResized (void) +{ + return _winResized; +} /* tuiWinResized */ + + +/* + ** tuiSetWinResized(). + ** Set a whether the terminal window has been resized or not + */ +void +tuiSetWinResizedTo (int resized) +{ + _winResized = resized; + + return; +} /* tuiSetWinResizedTo */ + + +/* + ** tuiLayoutDef(). + ** Answer a pointer to the current layout definition + */ +TuiLayoutDefPtr +tuiLayoutDef (void) +{ + return &_layoutDef; +} /* tuiLayoutDef */ + + +/* + ** tuiWinWithFocus(). + ** Answer the window with the logical focus + */ +TuiWinInfoPtr +tuiWinWithFocus (void) +{ + return _winWithFocus; +} /* tuiWinWithFocus */ + + +/* + ** tuiSetWinWithFocus(). + ** Set the window that has the logical focus + */ +void +tuiSetWinWithFocus (TuiWinInfoPtr winInfo) +{ + _winWithFocus = winInfo; + + return; +} /* tuiSetWinWithFocus */ + + +/* + ** tuiDefaultTabLen(). + ** Answer the length in chars, of tabs + */ +int +tuiDefaultTabLen (void) +{ + return _defaultTabLen; +} /* tuiDefaultTabLen */ + + +/* + ** tuiSetDefaultTabLen(). + ** Set the length in chars, of tabs + */ +void +tuiSetDefaultTabLen (int len) +{ + _defaultTabLen = len; + + return; +} /* tuiSetDefaultTabLen */ + + +/* + ** currentSourceWin() + ** Accessor for the current source window. Usually there is only + ** one source window (either source or disassembly), but both can + ** be displayed at the same time. + */ +TuiListPtr +sourceWindows (void) +{ + return &_sourceWindows; +} /* currentSourceWindows */ + + +/* + ** clearSourceWindows() + ** Clear the list of source windows. Usually there is only one + ** source window (either source or disassembly), but both can be + ** displayed at the same time. + */ +void +clearSourceWindows (void) +{ + _sourceWindows.list[0] = (Opaque) NULL; + _sourceWindows.list[1] = (Opaque) NULL; + _sourceWindows.count = 0; + + return; +} /* currentSourceWindows */ + + +/* + ** clearSourceWindowsDetail() + ** Clear the pertinant detail in the source windows. + */ +void +clearSourceWindowsDetail (void) +{ + int i; + + for (i = 0; i < (sourceWindows ())->count; i++) + clearWinDetail ((TuiWinInfoPtr) (sourceWindows ())->list[i]); + + return; +} /* currentSourceWindows */ + + +/* + ** addSourceWindowToList(). + ** Add a window to the list of source windows. Usually there is + ** only one source window (either source or disassembly), but + ** both can be displayed at the same time. + */ +void +addToSourceWindows (TuiWinInfoPtr winInfo) +{ + if (_sourceWindows.count < 2) + _sourceWindows.list[_sourceWindows.count++] = (Opaque) winInfo; + + return; +} /* addToSourceWindows */ + + +/* + ** clearWinDetail() + ** Clear the pertinant detail in the windows. + */ +void +clearWinDetail (TuiWinInfoPtr winInfo) +{ + if (m_winPtrNotNull (winInfo)) + { + switch (winInfo->generic.type) + { + case SRC_WIN: + case DISASSEM_WIN: + winInfo->detail.sourceInfo.startLineOrAddr.addr = 0; + winInfo->detail.sourceInfo.horizontalOffset = 0; + break; + case CMD_WIN: + winInfo->detail.commandInfo.curLine = + winInfo->detail.commandInfo.curch = 0; + break; + case DATA_WIN: + winInfo->detail.dataDisplayInfo.dataContent = + (TuiWinContent) NULL; + winInfo->detail.dataDisplayInfo.dataContentCount = 0; + winInfo->detail.dataDisplayInfo.regsContent = + (TuiWinContent) NULL; + winInfo->detail.dataDisplayInfo.regsContentCount = 0; + winInfo->detail.dataDisplayInfo.regsDisplayType = + TUI_UNDEFINED_REGS; + winInfo->detail.dataDisplayInfo.regsColumnCount = 1; + winInfo->detail.dataDisplayInfo.displayRegs = FALSE; + break; + default: + break; + } + } + + return; +} /* clearWinDetail */ + + +/* + ** sourceExecInfoPtr(). + ** Accessor for the source execution info ptr. + */ +TuiGenWinInfoPtr +sourceExecInfoWinPtr (void) +{ + return &_execInfo[0]; +} /* sourceExecInfoWinPtr */ + + +/* + ** disassemExecInfoPtr(). + ** Accessor for the disassem execution info ptr. + */ +TuiGenWinInfoPtr +disassemExecInfoWinPtr (void) +{ + return &_execInfo[1]; +} /* disassemExecInfoWinPtr */ + + +/* + ** locatorWinInfoPtr(). + ** Accessor for the locator win info. Answers a pointer to the + ** static locator win info struct. + */ +TuiGenWinInfoPtr +locatorWinInfoPtr (void) +{ + return &_locator; +} /* locatorWinInfoPtr */ + + +/* + ** termHeight(). + ** Accessor for the termHeight + */ +int +termHeight (void) +{ + return _termHeight; +} /* termHeight */ + + +/* + ** setTermHeightTo(). + ** Mutator for the term height + */ +void +setTermHeightTo (int h) +{ + _termHeight = h; + + return; +} /* setTermHeightTo */ + + +/* + ** termWidth(). + ** Accessor for the termWidth + */ +int +termWidth (void) +{ + return _termWidth; +} /* termWidth */ + + +/* + ** setTermWidth(). + ** Mutator for the termWidth + */ +void +setTermWidthTo (int w) +{ + _termWidth = w; + + return; +} /* setTermWidthTo */ + + +/* + ** currentLayout(). + ** Accessor for the current layout + */ +TuiLayoutType +currentLayout (void) +{ + return _currentLayout; +} /* currentLayout */ + + +/* + ** setCurrentLayoutTo(). + ** Mutator for the current layout + */ +void +setCurrentLayoutTo (TuiLayoutType newLayout) +{ + _currentLayout = newLayout; + + return; +} /* setCurrentLayoutTo */ + + +/* + ** setGenWinOrigin(). + ** Set the origin of the window + */ +void +setGenWinOrigin (TuiGenWinInfoPtr winInfo, int x, int y) +{ + winInfo->origin.x = x; + winInfo->origin.y = y; + + return; +} /* setGenWinOrigin */ + + +/***************************** +** OTHER PUBLIC FUNCTIONS +*****************************/ + + +/* + ** tuiNextWin(). + ** Answer the next window in the list, cycling back to the top + ** if necessary + */ +TuiWinInfoPtr +tuiNextWin (TuiWinInfoPtr curWin) +{ + TuiWinType type = curWin->generic.type; + TuiWinInfoPtr nextWin = (TuiWinInfoPtr) NULL; + + if (curWin->generic.type == CMD_WIN) + type = SRC_WIN; + else + type = curWin->generic.type + 1; + while (type != curWin->generic.type && m_winPtrIsNull (nextWin)) + { + if (winList[type] && winList[type]->generic.isVisible) + nextWin = winList[type]; + else + { + if (type == CMD_WIN) + type = SRC_WIN; + else + type++; + } + } + + return nextWin; +} /* tuiNextWin */ + + +/* + ** tuiPrevWin(). + ** Answer the prev window in the list, cycling back to the bottom + ** if necessary + */ +TuiWinInfoPtr +tuiPrevWin (TuiWinInfoPtr curWin) +{ + TuiWinType type = curWin->generic.type; + TuiWinInfoPtr prev = (TuiWinInfoPtr) NULL; + + if (curWin->generic.type == SRC_WIN) + type = CMD_WIN; + else + type = curWin->generic.type - 1; + while (type != curWin->generic.type && m_winPtrIsNull (prev)) + { + if (winList[type]->generic.isVisible) + prev = winList[type]; + else + { + if (type == SRC_WIN) + type = CMD_WIN; + else + type--; + } + } + + return prev; +} + + +/* + ** partialWinByName(). + ** Answer the window represented by name + */ +TuiWinInfoPtr +partialWinByName (char *name) +{ + TuiWinInfoPtr winInfo = (TuiWinInfoPtr) NULL; + + if (name != (char *) NULL) + { + int i = 0; + + while (i < MAX_MAJOR_WINDOWS && m_winPtrIsNull (winInfo)) + { + if (winList[i] != 0) + { + char *curName = winName (&winList[i]->generic); + if (strlen (name) <= strlen (curName) && + strncmp (name, curName, strlen (name)) == 0) + winInfo = winList[i]; + } + i++; + } + } + + return winInfo; +} /* partialWinByName */ + + +/* + ** winName(). + ** Answer the name of the window + */ +char * +winName (TuiGenWinInfoPtr winInfo) +{ + char *name = (char *) NULL; + + switch (winInfo->type) + { + case SRC_WIN: + name = SRC_NAME; + break; + case CMD_WIN: + name = CMD_NAME; + break; + case DISASSEM_WIN: + name = DISASSEM_NAME; + break; + case DATA_WIN: + name = DATA_NAME; + break; + default: + name = ""; + break; + } + + return name; +} /* winName */ + + +/* + ** initializeStaticData + */ +void +initializeStaticData (void) +{ + initGenericPart (sourceExecInfoWinPtr ()); + initGenericPart (disassemExecInfoWinPtr ()); + initGenericPart (locatorWinInfoPtr ()); + + return; +} /* initializeStaticData */ + + +/* + ** allocGenericWinInfo(). + */ +TuiGenWinInfoPtr +allocGenericWinInfo (void) +{ + TuiGenWinInfoPtr win; + + if ((win = (TuiGenWinInfoPtr) xmalloc ( + sizeof (TuiGenWinInfoPtr))) != (TuiGenWinInfoPtr) NULL) + initGenericPart (win); + + return win; +} /* allocGenericWinInfo */ + + +/* + ** initGenericPart(). + */ +void +initGenericPart (TuiGenWinInfoPtr win) +{ + win->width = + win->height = + win->origin.x = + win->origin.y = + win->viewportHeight = + win->contentSize = + win->lastVisibleLine = 0; + win->handle = (WINDOW *) NULL; + win->content = (OpaquePtr) NULL; + win->contentInUse = + win->isVisible = FALSE; + win->title = 0; +} + + +/* + ** initContentElement(). + */ +void +initContentElement (TuiWinElementPtr element, TuiWinType type) +{ + element->highlight = FALSE; + switch (type) + { + case SRC_WIN: + case DISASSEM_WIN: + element->whichElement.source.line = (char *) NULL; + element->whichElement.source.lineOrAddr.lineNo = 0; + element->whichElement.source.isExecPoint = FALSE; + element->whichElement.source.hasBreak = FALSE; + break; + case DATA_WIN: + initGenericPart (&element->whichElement.dataWindow); + element->whichElement.dataWindow.type = DATA_ITEM_WIN; + ((TuiGenWinInfoPtr) & element->whichElement.dataWindow)->content = + (OpaquePtr) allocContent (1, DATA_ITEM_WIN); + ((TuiGenWinInfoPtr) + & element->whichElement.dataWindow)->contentSize = 1; + break; + case CMD_WIN: + element->whichElement.command.line = (char *) NULL; + break; + case DATA_ITEM_WIN: + element->whichElement.data.name = (char *) NULL; + element->whichElement.data.type = TUI_REGISTER; + element->whichElement.data.itemNo = UNDEFINED_ITEM; + element->whichElement.data.value = (Opaque) NULL; + element->whichElement.data.highlight = FALSE; + break; + case LOCATOR_WIN: + element->whichElement.locator.fileName[0] = + element->whichElement.locator.procName[0] = (char) 0; + element->whichElement.locator.lineNo = 0; + element->whichElement.locator.addr = 0; + break; + case EXEC_INFO_WIN: + memset(element->whichElement.simpleString, ' ', + sizeof(element->whichElement.simpleString)); + break; + default: + break; + } + return; +} /* initContentElement */ + +/* + ** initWinInfo(). + */ +void +initWinInfo (TuiWinInfoPtr winInfo) +{ + initGenericPart (&winInfo->generic); + winInfo->canHighlight = + winInfo->isHighlighted = FALSE; + switch (winInfo->generic.type) + { + case SRC_WIN: + case DISASSEM_WIN: + winInfo->detail.sourceInfo.executionInfo = (TuiGenWinInfoPtr) NULL; + winInfo->detail.sourceInfo.hasLocator = FALSE; + winInfo->detail.sourceInfo.horizontalOffset = 0; + winInfo->detail.sourceInfo.startLineOrAddr.addr = 0; + winInfo->detail.sourceInfo.filename = 0; + break; + case DATA_WIN: + winInfo->detail.dataDisplayInfo.dataContent = (TuiWinContent) NULL; + winInfo->detail.dataDisplayInfo.dataContentCount = 0; + winInfo->detail.dataDisplayInfo.regsContent = (TuiWinContent) NULL; + winInfo->detail.dataDisplayInfo.regsContentCount = 0; + winInfo->detail.dataDisplayInfo.regsDisplayType = + TUI_UNDEFINED_REGS; + winInfo->detail.dataDisplayInfo.regsColumnCount = 1; + winInfo->detail.dataDisplayInfo.displayRegs = FALSE; + break; + case CMD_WIN: + winInfo->detail.commandInfo.curLine = 0; + winInfo->detail.commandInfo.curch = 0; + break; + default: + winInfo->detail.opaque = (Opaque) NULL; + break; + } + + return; +} /* initWinInfo */ + + +/* + ** allocWinInfo(). + */ +TuiWinInfoPtr +allocWinInfo (TuiWinType type) +{ + TuiWinInfoPtr winInfo = (TuiWinInfoPtr) NULL; + + winInfo = (TuiWinInfoPtr) xmalloc (sizeof (TuiWinInfo)); + if (m_winPtrNotNull (winInfo)) + { + winInfo->generic.type = type; + initWinInfo (winInfo); + } + + return winInfo; +} /* allocWinInfo */ + + +/* + ** allocContent(). + ** Allocates the content and elements in a block. + */ +TuiWinContent +allocContent (int numElements, TuiWinType type) +{ + TuiWinContent content = (TuiWinContent) NULL; + char *elementBlockPtr = (char *) NULL; + int i; + + if ((content = (TuiWinContent) + xmalloc (sizeof (TuiWinElementPtr) * numElements)) != (TuiWinContent) NULL) + { /* + ** All windows, except the data window, can allocate the elements + ** in a chunk. The data window cannot because items can be + ** added/removed from the data display by the user at any time. + */ + if (type != DATA_WIN) + { + if ((elementBlockPtr = (char *) + xmalloc (sizeof (TuiWinElement) * numElements)) != (char *) NULL) + { + for (i = 0; i < numElements; i++) + { + content[i] = (TuiWinElementPtr) elementBlockPtr; + initContentElement (content[i], type); + elementBlockPtr += sizeof (TuiWinElement); + } + } + else + { + tuiFree ((char *) content); + content = (TuiWinContent) NULL; + } + } + } + + return content; +} /* allocContent */ + + +/* + ** addContentElements(). + ** Adds the input number of elements to the windows's content. If + ** no content has been allocated yet, allocContent() is called to + ** do this. The index of the first element added is returned, + ** unless there is a memory allocation error, in which case, (-1) + ** is returned. + */ +int +addContentElements (TuiGenWinInfoPtr winInfo, int numElements) +{ + TuiWinElementPtr elementPtr; + int i, indexStart; + + if (winInfo->content == (OpaquePtr) NULL) + { + winInfo->content = (OpaquePtr) allocContent (numElements, winInfo->type); + indexStart = 0; + } + else + indexStart = winInfo->contentSize; + if (winInfo->content != (OpaquePtr) NULL) + { + for (i = indexStart; (i < numElements + indexStart); i++) + { + if ((elementPtr = (TuiWinElementPtr) + xmalloc (sizeof (TuiWinElement))) != (TuiWinElementPtr) NULL) + { + winInfo->content[i] = (Opaque) elementPtr; + initContentElement (elementPtr, winInfo->type); + winInfo->contentSize++; + } + else /* things must be really hosed now! We ran out of memory!? */ + return (-1); + } + } + + return indexStart; +} /* addContentElements */ + + +/* Delete all curses windows associated with winInfo, leaving everything + else intact. */ +void +tuiDelWindow (TuiWinInfoPtr winInfo) +{ + TuiGenWinInfoPtr genericWin; + + switch (winInfo->generic.type) + { + case SRC_WIN: + case DISASSEM_WIN: + genericWin = locatorWinInfoPtr (); + if (genericWin != (TuiGenWinInfoPtr) NULL) + { + tuiDelwin (genericWin->handle); + genericWin->handle = (WINDOW *) NULL; + genericWin->isVisible = FALSE; + } + if (winInfo->detail.sourceInfo.filename) + { + xfree (winInfo->detail.sourceInfo.filename); + winInfo->detail.sourceInfo.filename = 0; + } + genericWin = winInfo->detail.sourceInfo.executionInfo; + if (genericWin != (TuiGenWinInfoPtr) NULL) + { + tuiDelwin (genericWin->handle); + genericWin->handle = (WINDOW *) NULL; + genericWin->isVisible = FALSE; + } + break; + case DATA_WIN: + if (winInfo->generic.content != (OpaquePtr) NULL) + { + tuiDelDataWindows (winInfo->detail.dataDisplayInfo.regsContent, + winInfo->detail.dataDisplayInfo.regsContentCount); + tuiDelDataWindows (winInfo->detail.dataDisplayInfo.dataContent, + winInfo->detail.dataDisplayInfo.dataContentCount); + } + break; + default: + break; + } + if (winInfo->generic.handle != (WINDOW *) NULL) + { + tuiDelwin (winInfo->generic.handle); + winInfo->generic.handle = (WINDOW *) NULL; + winInfo->generic.isVisible = FALSE; + } +} + + +/* + ** freeWindow(). + */ +void +freeWindow (TuiWinInfoPtr winInfo) +{ + TuiGenWinInfoPtr genericWin; + + switch (winInfo->generic.type) + { + case SRC_WIN: + case DISASSEM_WIN: + genericWin = locatorWinInfoPtr (); + if (genericWin != (TuiGenWinInfoPtr) NULL) + { + tuiDelwin (genericWin->handle); + genericWin->handle = (WINDOW *) NULL; + } + freeWinContent (genericWin); + if (winInfo->detail.sourceInfo.filename) + { + xfree (winInfo->detail.sourceInfo.filename); + winInfo->detail.sourceInfo.filename = 0; + } + genericWin = winInfo->detail.sourceInfo.executionInfo; + if (genericWin != (TuiGenWinInfoPtr) NULL) + { + tuiDelwin (genericWin->handle); + genericWin->handle = (WINDOW *) NULL; + freeWinContent (genericWin); + } + break; + case DATA_WIN: + if (winInfo->generic.content != (OpaquePtr) NULL) + { + freeDataContent ( + winInfo->detail.dataDisplayInfo.regsContent, + winInfo->detail.dataDisplayInfo.regsContentCount); + winInfo->detail.dataDisplayInfo.regsContent = + (TuiWinContent) NULL; + winInfo->detail.dataDisplayInfo.regsContentCount = 0; + freeDataContent ( + winInfo->detail.dataDisplayInfo.dataContent, + winInfo->detail.dataDisplayInfo.dataContentCount); + winInfo->detail.dataDisplayInfo.dataContent = + (TuiWinContent) NULL; + winInfo->detail.dataDisplayInfo.dataContentCount = 0; + winInfo->detail.dataDisplayInfo.regsDisplayType = + TUI_UNDEFINED_REGS; + winInfo->detail.dataDisplayInfo.regsColumnCount = 1; + winInfo->detail.dataDisplayInfo.displayRegs = FALSE; + winInfo->generic.content = (OpaquePtr) NULL; + winInfo->generic.contentSize = 0; + } + break; + default: + break; + } + if (winInfo->generic.handle != (WINDOW *) NULL) + { + tuiDelwin (winInfo->generic.handle); + winInfo->generic.handle = (WINDOW *) NULL; + freeWinContent (&winInfo->generic); + } + if (winInfo->generic.title) + xfree (winInfo->generic.title); + xfree (winInfo); +} + + +/* + ** freeAllSourceWinsContent(). + */ +void +freeAllSourceWinsContent (void) +{ + int i; + + for (i = 0; i < (sourceWindows ())->count; i++) + { + TuiWinInfoPtr winInfo = (TuiWinInfoPtr) (sourceWindows ())->list[i]; + + if (m_winPtrNotNull (winInfo)) + { + freeWinContent (&(winInfo->generic)); + freeWinContent (winInfo->detail.sourceInfo.executionInfo); + } + } + + return; +} /* freeAllSourceWinsContent */ + + +/* + ** freeWinContent(). + */ +void +freeWinContent (TuiGenWinInfoPtr winInfo) +{ + if (winInfo->content != (OpaquePtr) NULL) + { + freeContent ((TuiWinContent) winInfo->content, + winInfo->contentSize, + winInfo->type); + winInfo->content = (OpaquePtr) NULL; + } + winInfo->contentSize = 0; + + return; +} /* freeWinContent */ + + +void +tuiDelDataWindows (TuiWinContent content, int contentSize) +{ + int i; + + /* + ** Remember that data window content elements are of type TuiGenWinInfoPtr, + ** each of which whose single element is a data element. + */ + for (i = 0; i < contentSize; i++) + { + TuiGenWinInfoPtr genericWin = &content[i]->whichElement.dataWindow; + + if (genericWin != (TuiGenWinInfoPtr) NULL) + { + tuiDelwin (genericWin->handle); + genericWin->handle = (WINDOW *) NULL; + genericWin->isVisible = FALSE; + } + } + + return; +} /* tuiDelDataWindows */ + + +void +freeDataContent (TuiWinContent content, int contentSize) +{ + int i; + + /* + ** Remember that data window content elements are of type TuiGenWinInfoPtr, + ** each of which whose single element is a data element. + */ + for (i = 0; i < contentSize; i++) + { + TuiGenWinInfoPtr genericWin = &content[i]->whichElement.dataWindow; + + if (genericWin != (TuiGenWinInfoPtr) NULL) + { + tuiDelwin (genericWin->handle); + genericWin->handle = (WINDOW *) NULL; + freeWinContent (genericWin); + } + } + freeContent (content, + contentSize, + DATA_WIN); + + return; +} /* freeDataContent */ + + +/********************************** +** LOCAL STATIC FUNCTIONS ** +**********************************/ + + +/* + ** freeContent(). + */ +static void +freeContent (TuiWinContent content, int contentSize, TuiWinType winType) +{ + if (content != (TuiWinContent) NULL) + { + freeContentElements (content, contentSize, winType); + tuiFree ((char *) content); + } + + return; +} /* freeContent */ + + +/* + ** freeContentElements(). + */ +static void +freeContentElements (TuiWinContent content, int contentSize, TuiWinType type) +{ + if (content != (TuiWinContent) NULL) + { + int i; + + if (type == SRC_WIN || type == DISASSEM_WIN) + { + /* free whole source block */ + if (content[0]->whichElement.source.line != (char *) NULL) + tuiFree (content[0]->whichElement.source.line); + } + else + { + for (i = 0; i < contentSize; i++) + { + TuiWinElementPtr element; + + element = content[i]; + if (element != (TuiWinElementPtr) NULL) + { + switch (type) + { + case DATA_WIN: + tuiFree ((char *) element); + break; + case DATA_ITEM_WIN: + /* + ** Note that data elements are not allocated + ** in a single block, but individually, as needed. + */ + if (element->whichElement.data.type != TUI_REGISTER) + tuiFree ((char *) + element->whichElement.data.name); + tuiFree ((char *) element->whichElement.data.value); + tuiFree ((char *) element); + break; + case CMD_WIN: + tuiFree ((char *) element->whichElement.command.line); + break; + default: + break; + } + } + } + } + if (type != DATA_WIN && type != DATA_ITEM_WIN) + tuiFree ((char *) content[0]); /* free the element block */ + } + + return; +} /* freeContentElements */ diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h new file mode 100644 index 0000000..6657fcd --- /dev/null +++ b/gdb/tui/tui-data.h @@ -0,0 +1,386 @@ +/* TUI data manipulation routines. + + Copyright 1998, 1999, 2000, 2001, 2002, 2004 Free Software + Foundation, Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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 TUI_DATA_H +#define TUI_DATA_H + +#if defined (HAVE_NCURSES_H) +#include <ncurses.h> +#elif defined (HAVE_CURSES_H) +#include <curses.h> +#endif + +/* Generic window information */ + typedef struct _TuiGenWinInfo + { + WINDOW *handle; /* window handle */ + TuiWinType type; /* type of window */ + int width; /* window width */ + int height; /* window height */ + TuiPoint origin; /* origin of window */ + OpaquePtr content; /* content of window */ + int contentSize; /* Size of content (# of elements) */ + int contentInUse; /* Can it be used, or is it already used? */ + int viewportHeight; /* viewport height */ + int lastVisibleLine; /* index of last visible line */ + int isVisible; /* whether the window is visible or not */ + char* title; /* Window title to display. */ + } +TuiGenWinInfo, *TuiGenWinInfoPtr; + +/* Constant definitions */ +#define DEFAULT_TAB_LEN 8 +#define NO_SRC_STRING "[ No Source Available ]" +#define NO_DISASSEM_STRING "[ No Assembly Available ]" +#define NO_REGS_STRING "[ Register Values Unavailable ]" +#define NO_DATA_STRING "[ No Data Values Displayed ]" +#define MAX_CONTENT_COUNT 100 +#define SRC_NAME "SRC" +#define CMD_NAME "CMD" +#define DATA_NAME "REGS" +#define DISASSEM_NAME "ASM" +#define TUI_NULL_STR "" +#define DEFAULT_HISTORY_COUNT 25 +#define BOX_WINDOW TRUE +#define DONT_BOX_WINDOW FALSE +#define HILITE TRUE +#define NO_HILITE FALSE +#define WITH_LOCATOR TRUE +#define NO_LOCATOR FALSE +#define EMPTY_SOURCE_PROMPT TRUE +#define NO_EMPTY_SOURCE_PROMPT FALSE +#define UNDEFINED_ITEM -1 +#define MIN_WIN_HEIGHT 3 +#define MIN_CMD_WIN_HEIGHT 3 + +/* Strings to display in the TUI status line. */ +#define PROC_PREFIX "In: " +#define LINE_PREFIX "Line: " +#define PC_PREFIX "PC: " +#define SINGLE_KEY "(SingleKey)" + +/* Minimum/Maximum length of some fields displayed in the TUI status line. */ +#define MIN_LINE_WIDTH 4 /* Use at least 4 digits for line numbers. */ +#define MIN_PROC_WIDTH 12 +#define MAX_TARGET_WIDTH 10 +#define MAX_PID_WIDTH 14 + +#define TUI_FLOAT_REGS_NAME "$FREGS" +#define TUI_FLOAT_REGS_NAME_LOWER "$fregs" +#define TUI_GENERAL_REGS_NAME "$GREGS" +#define TUI_GENERAL_REGS_NAME_LOWER "$gregs" +#define TUI_SPECIAL_REGS_NAME "$SREGS" +#define TUI_SPECIAL_REGS_NAME_LOWER "$sregs" +#define TUI_GENERAL_SPECIAL_REGS_NAME "$REGS" +#define TUI_GENERAL_SPECIAL_REGS_NAME_LOWER "$regs" + +/* Scroll direction enum */ +typedef enum tui_scroll_direction + { + FORWARD_SCROLL, + BACKWARD_SCROLL, + LEFT_SCROLL, + RIGHT_SCROLL + } +TuiScrollDirection, *TuiScrollDirectionPtr; + + +/* General list struct */ +typedef struct _TuiList + { + OpaqueList list; + int count; + } +TuiList, *TuiListPtr; + + +/* The kinds of layouts available */ +typedef enum tui_layout_type + { + SRC_COMMAND, + DISASSEM_COMMAND, + SRC_DISASSEM_COMMAND, + SRC_DATA_COMMAND, + DISASSEM_DATA_COMMAND, + UNDEFINED_LAYOUT + } +TuiLayoutType, *TuiLayoutTypePtr; + +/* Basic data types that can be displayed in the data window. */ +typedef enum _TuiDataType + { + TUI_REGISTER, + TUI_SCALAR, + TUI_COMPLEX, + TUI_STRUCT + } +TuiDataType, TuiDataTypePtr; + +/* Types of register displays */ +typedef enum tui_register_display_type + { + TUI_UNDEFINED_REGS, + TUI_GENERAL_REGS, + TUI_SFLOAT_REGS, + TUI_DFLOAT_REGS, + TUI_SPECIAL_REGS, + TUI_GENERAL_AND_SPECIAL_REGS + } +TuiRegisterDisplayType, *TuiRegisterDisplayTypePtr; + +/* Structure describing source line or line address */ +typedef union _TuiLineOrAddress + { + int lineNo; + CORE_ADDR addr; + } +TuiLineOrAddress, *TuiLineOrAddressPtr; + +/* Current Layout definition */ +typedef struct _TuiLayoutDef + { + TuiWinType displayMode; + int split; + TuiRegisterDisplayType regsDisplayType; + TuiRegisterDisplayType floatRegsDisplayType; + } +TuiLayoutDef, *TuiLayoutDefPtr; + +/* Elements in the Source/Disassembly Window */ +typedef struct _TuiSourceElement + { + char *line; + TuiLineOrAddress lineOrAddr; + int isExecPoint; + int hasBreak; + } +TuiSourceElement, *TuiSourceElementPtr; + + +/* Elements in the data display window content */ +typedef struct _TuiDataElement + { + const char *name; + int itemNo; /* the register number, or data display number */ + TuiDataType type; + Opaque value; + int highlight; + } +TuiDataElement, *TuiDataElementPtr; + + +/* Elements in the command window content */ +typedef struct _TuiCommandElement + { + char *line; + } +TuiCommandElement, *TuiCommandElementPtr; + + +#define MAX_LOCATOR_ELEMENT_LEN 100 + +/* Elements in the locator window content */ +typedef struct _TuiLocatorElement + { + char fileName[MAX_LOCATOR_ELEMENT_LEN]; + char procName[MAX_LOCATOR_ELEMENT_LEN]; + int lineNo; + CORE_ADDR addr; + } +TuiLocatorElement, *TuiLocatorElementPtr; + +/* Flags to tell what kind of breakpoint is at current line. */ +#define TUI_BP_ENABLED 0x01 +#define TUI_BP_DISABLED 0x02 +#define TUI_BP_HIT 0x04 +#define TUI_BP_CONDITIONAL 0x08 +#define TUI_BP_HARDWARE 0x10 + +/* Position of breakpoint markers in the exec info string. */ +#define TUI_BP_HIT_POS 0 +#define TUI_BP_BREAK_POS 1 +#define TUI_EXEC_POS 2 +#define TUI_EXECINFO_SIZE 4 + +typedef char TuiExecInfoContent[TUI_EXECINFO_SIZE]; + +/* An content element in a window */ +typedef union + { + TuiSourceElement source; /* the source elements */ + TuiGenWinInfo dataWindow; /* data display elements */ + TuiDataElement data; /* elements of dataWindow */ + TuiCommandElement command; /* command elements */ + TuiLocatorElement locator; /* locator elements */ + TuiExecInfoContent simpleString; /* simple char based elements */ + } +TuiWhichElement, *TuiWhichElementPtr; + +typedef struct _TuiWinElement + { + int highlight; + TuiWhichElement whichElement; + } +TuiWinElement, *TuiWinElementPtr; + + +/* This describes the content of the window. */ +typedef TuiWinElementPtr *TuiWinContent; + + +/* This struct defines the specific information about a data display window */ +typedef struct _TuiDataInfo + { + TuiWinContent dataContent; /* start of data display content */ + int dataContentCount; + TuiWinContent regsContent; /* start of regs display content */ + int regsContentCount; + TuiRegisterDisplayType regsDisplayType; + int regsColumnCount; + int displayRegs; /* Should regs be displayed at all? */ + } +TuiDataInfo, *TuiDataInfoPtr; + + +typedef struct _TuiSourceInfo + { + int hasLocator; /* Does locator belongs to this window? */ + TuiGenWinInfoPtr executionInfo; /* execution information window */ + int horizontalOffset; /* used for horizontal scroll */ + TuiLineOrAddress startLineOrAddr; + char* filename; + } +TuiSourceInfo, *TuiSourceInfoPtr; + + +typedef struct _TuiCommandInfo + { + int curLine; /* The current line position */ + int curch; /* The current cursor position */ + int start_line; + } +TuiCommandInfo, *TuiCommandInfoPtr; + + +/* This defines information about each logical window */ +typedef struct _TuiWinInfo + { + TuiGenWinInfo generic; /* general window information */ + union + { + TuiSourceInfo sourceInfo; + TuiDataInfo dataDisplayInfo; + TuiCommandInfo commandInfo; + Opaque opaque; + } + detail; + int canHighlight; /* Can this window ever be highlighted? */ + int isHighlighted; /* Is this window highlighted? */ + } +TuiWinInfo, *TuiWinInfoPtr; + +/* MACROS (prefixed with m_) */ + +/* Testing macros */ +#define m_genWinPtrIsNull(winInfo) \ + ((winInfo) == (TuiGenWinInfoPtr)NULL) +#define m_genWinPtrNotNull(winInfo) \ + ((winInfo) != (TuiGenWinInfoPtr)NULL) +#define m_winPtrIsNull(winInfo) \ + ((winInfo) == (TuiWinInfoPtr)NULL) +#define m_winPtrNotNull(winInfo) \ + ((winInfo) != (TuiWinInfoPtr)NULL) + +#define m_winIsSourceType(type) \ + (type == SRC_WIN || type == DISASSEM_WIN) +#define m_winIsAuxillary(winType) \ + (winType > MAX_MAJOR_WINDOWS) +#define m_hasLocator(winInfo) \ + ( ((winInfo) != (TuiWinInfoPtr)NULL) ? \ + (winInfo->detail.sourceInfo.hasLocator) : \ + FALSE ) + +#define m_setWinHighlightOn(winInfo) \ + if ((winInfo) != (TuiWinInfoPtr)NULL) \ + (winInfo)->isHighlighted = TRUE +#define m_setWinHighlightOff(winInfo) \ + if ((winInfo) != (TuiWinInfoPtr)NULL) \ + (winInfo)->isHighlighted = FALSE + + +/* Global Data */ +extern TuiWinInfoPtr winList[MAX_MAJOR_WINDOWS]; + +/* Macros */ +#define srcWin winList[SRC_WIN] +#define disassemWin winList[DISASSEM_WIN] +#define dataWin winList[DATA_WIN] +#define cmdWin winList[CMD_WIN] + +/* Data Manipulation Functions */ +extern void initializeStaticData (void); +extern TuiGenWinInfoPtr allocGenericWinInfo (void); +extern TuiWinInfoPtr allocWinInfo (TuiWinType); +extern void initGenericPart (TuiGenWinInfoPtr); +extern void initWinInfo (TuiWinInfoPtr); +extern TuiWinContent allocContent (int, TuiWinType); +extern int addContentElements (TuiGenWinInfoPtr, int); +extern void initContentElement (TuiWinElementPtr, TuiWinType); +extern void freeWindow (TuiWinInfoPtr); +extern void freeWinContent (TuiGenWinInfoPtr); +extern void freeDataContent (TuiWinContent, int); +extern void freeAllSourceWinsContent (void); +extern void tuiDelWindow (TuiWinInfoPtr); +extern void tuiDelDataWindows (TuiWinContent, int); +extern TuiWinInfoPtr partialWinByName (char *); +extern char *winName (TuiGenWinInfoPtr); +extern TuiLayoutType currentLayout (void); +extern void setCurrentLayoutTo (TuiLayoutType); +extern int termHeight (void); +extern void setTermHeightTo (int); +extern int termWidth (void); +extern void setTermWidthTo (int); +extern void setGenWinOrigin (TuiGenWinInfoPtr, int, int); +extern TuiGenWinInfoPtr locatorWinInfoPtr (void); +extern TuiGenWinInfoPtr sourceExecInfoWinPtr (void); +extern TuiGenWinInfoPtr disassemExecInfoWinPtr (void); +extern TuiListPtr sourceWindows (void); +extern void clearSourceWindows (void); +extern void clearSourceWindowsDetail (void); +extern void clearWinDetail (TuiWinInfoPtr winInfo); +extern void tuiAddToSourceWindows (TuiWinInfoPtr); +extern int tuiDefaultTabLen (void); +extern void tuiSetDefaultTabLen (int); +extern TuiWinInfoPtr tuiWinWithFocus (void); +extern void tuiSetWinWithFocus (TuiWinInfoPtr); +extern TuiLayoutDefPtr tuiLayoutDef (void); +extern int tuiWinResized (void); +extern void tuiSetWinResizedTo (int); + +extern TuiWinInfoPtr tuiNextWin (TuiWinInfoPtr); +extern TuiWinInfoPtr tuiPrevWin (TuiWinInfoPtr); + +extern void addToSourceWindows (TuiWinInfoPtr winInfo); + +#endif /* TUI_DATA_H */ diff --git a/gdb/tui/tui-disasm.c b/gdb/tui/tui-disasm.c new file mode 100644 index 0000000..493c00d --- /dev/null +++ b/gdb/tui/tui-disasm.c @@ -0,0 +1,403 @@ +/* Disassembly display. + + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software + Foundation, Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "symtab.h" +#include "breakpoint.h" +#include "frame.h" +#include "value.h" +#include "source.h" +#include "disasm.h" + +#include "tui/tui.h" +#include "tui/tui-data.h" +#include "tui/tui-win.h" +#include "tui/tui-layout.h" +#include "tui/tui-winsource.h" +#include "tui/tui-stack.h" +#include "tui/tui-file.h" + +#ifdef HAVE_NCURSES_H +#include <ncurses.h> +#else +#ifdef HAVE_CURSES_H +#include <curses.h> +#endif +#endif + +struct tui_asm_line +{ + CORE_ADDR addr; + char* addr_string; + char* insn; +}; + +/* Function to set the disassembly window's content. + Disassemble count lines starting at pc. + Return address of the count'th instruction after pc. */ +static CORE_ADDR +tui_disassemble (struct tui_asm_line* lines, CORE_ADDR pc, int count) +{ + struct ui_file *gdb_dis_out; + + /* now init the ui_file structure */ + gdb_dis_out = tui_sfileopen (256); + + /* Now construct each line */ + for (; count > 0; count--, lines++) + { + if (lines->addr_string) + xfree (lines->addr_string); + if (lines->insn) + xfree (lines->insn); + + print_address (pc, gdb_dis_out); + lines->addr = pc; + lines->addr_string = xstrdup (tui_file_get_strbuf (gdb_dis_out)); + + ui_file_rewind (gdb_dis_out); + + pc = pc + gdb_print_insn (pc, gdb_dis_out); + + lines->insn = xstrdup (tui_file_get_strbuf (gdb_dis_out)); + + /* reset the buffer to empty */ + ui_file_rewind (gdb_dis_out); + } + ui_file_delete (gdb_dis_out); + return pc; +} + +/* Find the disassembly address that corresponds to FROM lines + above or below the PC. Variable sized instructions are taken + into account by the algorithm. */ +static CORE_ADDR +tui_find_disassembly_address (CORE_ADDR pc, int from) +{ + register CORE_ADDR newLow; + int maxLines; + int i; + struct tui_asm_line* lines; + + maxLines = (from > 0) ? from : - from; + if (maxLines <= 1) + return pc; + + lines = (struct tui_asm_line*) alloca (sizeof (struct tui_asm_line) + * maxLines); + memset (lines, 0, sizeof (struct tui_asm_line) * maxLines); + + newLow = pc; + if (from > 0) + { + tui_disassemble (lines, pc, maxLines); + newLow = lines[maxLines - 1].addr; + } + else + { + CORE_ADDR last_addr; + int pos; + struct minimal_symbol* msymbol; + + /* Find backward an address which is a symbol + and for which disassembling from that address will fill + completely the window. */ + pos = maxLines - 1; + do { + newLow -= 1 * maxLines; + msymbol = lookup_minimal_symbol_by_pc_section (newLow, 0); + + if (msymbol) + newLow = SYMBOL_VALUE_ADDRESS (msymbol); + else + newLow += 1 * maxLines; + + tui_disassemble (lines, newLow, maxLines); + last_addr = lines[pos].addr; + } while (last_addr > pc && msymbol); + + /* Scan forward disassembling one instruction at a time + until the last visible instruction of the window + matches the pc. We keep the disassembled instructions + in the 'lines' window and shift it downward (increasing + its addresses). */ + if (last_addr < pc) + do + { + CORE_ADDR next_addr; + + pos++; + if (pos >= maxLines) + pos = 0; + + next_addr = tui_disassemble (&lines[pos], last_addr, 1); + + /* If there are some problems while disassembling exit. */ + if (next_addr <= last_addr) + break; + last_addr = next_addr; + } while (last_addr <= pc); + pos++; + if (pos >= maxLines) + pos = 0; + newLow = lines[pos].addr; + } + for (i = 0; i < maxLines; i++) + { + xfree (lines[i].addr_string); + xfree (lines[i].insn); + } + return newLow; +} + +/* Function to set the disassembly window's content. */ +enum tui_status +tui_set_disassem_content (CORE_ADDR pc) +{ + TuiStatus ret = TUI_FAILURE; + register int i; + register int offset = disassemWin->detail.sourceInfo.horizontalOffset; + register int lineWidth, maxLines; + CORE_ADDR cur_pc; + TuiGenWinInfoPtr locator = locatorWinInfoPtr (); + int tab_len = tuiDefaultTabLen (); + struct tui_asm_line* lines; + int insn_pos; + int addr_size, max_size; + char* line; + + if (pc == 0) + return TUI_FAILURE; + + ret = tuiAllocSourceBuffer (disassemWin); + if (ret != TUI_SUCCESS) + return ret; + + disassemWin->detail.sourceInfo.startLineOrAddr.addr = pc; + cur_pc = (CORE_ADDR) + (((TuiWinElementPtr) locator->content[0])->whichElement.locator.addr); + + maxLines = disassemWin->generic.height - 2; /* account for hilite */ + + /* Get temporary table that will hold all strings (addr & insn). */ + lines = (struct tui_asm_line*) alloca (sizeof (struct tui_asm_line) + * maxLines); + memset (lines, 0, sizeof (struct tui_asm_line) * maxLines); + + lineWidth = disassemWin->generic.width - 1; + + tui_disassemble (lines, pc, maxLines); + + /* See what is the maximum length of an address and of a line. */ + addr_size = 0; + max_size = 0; + for (i = 0; i < maxLines; i++) + { + size_t len = strlen (lines[i].addr_string); + if (len > addr_size) + addr_size = len; + + len = strlen (lines[i].insn) + tab_len; + if (len > max_size) + max_size = len; + } + max_size += addr_size + tab_len; + + /* Allocate memory to create each line. */ + line = (char*) alloca (max_size); + insn_pos = (1 + (addr_size / tab_len)) * tab_len; + + /* Now construct each line */ + for (i = 0; i < maxLines; i++) + { + TuiWinElementPtr element; + TuiSourceElement* src; + int curLen; + + element = (TuiWinElementPtr) disassemWin->generic.content[i]; + src = &element->whichElement.source; + strcpy (line, lines[i].addr_string); + curLen = strlen (line); + + /* Add spaces to make the instructions start on the same column */ + while (curLen < insn_pos) + { + strcat (line, " "); + curLen++; + } + + strcat (line, lines[i].insn); + + /* Now copy the line taking the offset into account */ + if (strlen (line) > offset) + strcpy (src->line, &line[offset]); + else + src->line[0] = '\0'; + + src->lineOrAddr.addr = lines[i].addr; + src->isExecPoint = lines[i].addr == cur_pc; + + /* See whether there is a breakpoint installed. */ + src->hasBreak = (!src->isExecPoint + && breakpoint_here_p (pc) != no_breakpoint_here); + + xfree (lines[i].addr_string); + xfree (lines[i].insn); + } + disassemWin->generic.contentSize = i; + return TUI_SUCCESS; +} + + +/* Function to display the disassembly window with disassembled code. */ +void +tui_show_disassem (CORE_ADDR startAddr) +{ + struct symtab *s = find_pc_symtab (startAddr); + TuiWinInfoPtr winWithFocus = tuiWinWithFocus (); + TuiLineOrAddress val; + + val.addr = startAddr; + tui_add_win_to_layout (DISASSEM_WIN); + tuiUpdateSourceWindow (disassemWin, s, val, FALSE); + /* + ** if the focus was in the src win, put it in the asm win, if the + ** source view isn't split + */ + if (currentLayout () != SRC_DISASSEM_COMMAND && winWithFocus == srcWin) + tuiSetWinFocusTo (disassemWin); + + return; +} + + +/* Function to display the disassembly window. */ +void +tui_show_disassem_and_update_source (CORE_ADDR startAddr) +{ + struct symtab_and_line sal; + + tui_show_disassem (startAddr); + if (currentLayout () == SRC_DISASSEM_COMMAND) + { + TuiLineOrAddress val; + + /* + ** Update what is in the source window if it is displayed too, + ** note that it follows what is in the disassembly window and visa-versa + */ + sal = find_pc_line (startAddr, 0); + val.lineNo = sal.line; + tuiUpdateSourceWindow (srcWin, sal.symtab, val, TRUE); + if (sal.symtab) + { + set_current_source_symtab_and_line (&sal); + tuiUpdateLocatorFilename (sal.symtab->filename); + } + else + tuiUpdateLocatorFilename ("?"); + } + + return; +} + +CORE_ADDR +tui_get_begin_asm_address (void) +{ + TuiGenWinInfoPtr locator; + TuiLocatorElementPtr element; + CORE_ADDR addr; + + locator = locatorWinInfoPtr (); + element = &((TuiWinElementPtr) locator->content[0])->whichElement.locator; + + if (element->addr == 0) + { + struct minimal_symbol *main_symbol; + + /* Find address of the start of program. + Note: this should be language specific. */ + main_symbol = lookup_minimal_symbol ("main", NULL, NULL); + if (main_symbol == 0) + main_symbol = lookup_minimal_symbol ("MAIN", NULL, NULL); + if (main_symbol == 0) + main_symbol = lookup_minimal_symbol ("_start", NULL, NULL); + if (main_symbol) + addr = SYMBOL_VALUE_ADDRESS (main_symbol); + else + addr = 0; + } + else /* the target is executing */ + addr = element->addr; + + return addr; +} + +/* Determine what the low address will be to display in the TUI's + disassembly window. This may or may not be the same as the + low address input. */ +CORE_ADDR +tuiGetLowDisassemblyAddress (CORE_ADDR low, CORE_ADDR pc) +{ + int pos; + + /* Determine where to start the disassembly so that the pc is about in the + middle of the viewport. */ + pos = tui_default_win_viewport_height (DISASSEM_WIN, DISASSEM_COMMAND) / 2; + pc = tui_find_disassembly_address (pc, -pos); + + if (pc < low) + pc = low; + return pc; +} + +/* Scroll the disassembly forward or backward vertically. */ +void +tui_vertical_disassem_scroll (enum tui_scroll_direction scrollDirection, + int numToScroll) +{ + if (disassemWin->generic.content != (OpaquePtr) NULL) + { + CORE_ADDR pc; + TuiWinContent content; + struct symtab *s; + TuiLineOrAddress val; + int maxLines, dir; + struct symtab_and_line cursal = get_current_source_symtab_and_line (); + + content = (TuiWinContent) disassemWin->generic.content; + if (cursal.symtab == (struct symtab *) NULL) + s = find_pc_symtab (get_frame_pc (deprecated_selected_frame)); + else + s = cursal.symtab; + + /* account for hilite */ + maxLines = disassemWin->generic.height - 2; + pc = content[0]->whichElement.source.lineOrAddr.addr; + dir = (scrollDirection == FORWARD_SCROLL) ? maxLines : - maxLines; + + val.addr = tui_find_disassembly_address (pc, dir); + tuiUpdateSourceWindowAsIs (disassemWin, s, val, FALSE); + } +} diff --git a/gdb/tui/tui-disasm.h b/gdb/tui/tui-disasm.h new file mode 100644 index 0000000..e72aba1 --- /dev/null +++ b/gdb/tui/tui-disasm.h @@ -0,0 +1,37 @@ +/* Disassembly display. + + Copyright 1998, 1999, 2000, 2001, 2004 Free Software Foundation, + Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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 TUI_DISASM_H +#define TUI_DISASM_H + +#include "tui/tui.h" /* For enum tui_status. */ +#include "tui/tui-data.h" /* For enum tui_scroll_direction. */ + +extern enum tui_status tui_set_disassem_content (CORE_ADDR); +extern void tui_show_disassem (CORE_ADDR); +extern void tui_show_disassem_and_update_source (CORE_ADDR); +extern void tui_vertical_disassem_scroll (enum tui_scroll_direction, int); +extern CORE_ADDR tui_get_begin_asm_address (void); + +#endif diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c new file mode 100644 index 0000000..61b1f93 --- /dev/null +++ b/gdb/tui/tui-io.c @@ -0,0 +1,722 @@ +/* TUI support I/O functions. + + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software + Foundation, Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "terminal.h" +#include "target.h" +#include "event-loop.h" +#include "event-top.h" +#include "command.h" +#include "top.h" +#include "readline/readline.h" +#include "tui/tui.h" +#include "tui/tui-data.h" +#include "tui/tui-io.h" +#include "tui/tui-command.h" +#include "tui/tui-win.h" +#include "tui/tui-wingeneral.h" +#include "tui/tui-file.h" +#include "ui-out.h" +#include "cli-out.h" +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> + +#ifdef HAVE_NCURSES_H +#include <ncurses.h> +#else +#ifdef HAVE_CURSES_H +#include <curses.h> +#endif +#endif + +int +key_is_start_sequence (int ch) +{ + return (ch == 27); +} + +int +key_is_end_sequence (int ch) +{ + return (ch == 126); +} + +int +key_is_backspace (int ch) +{ + return (ch == 8); +} + +int +key_is_command_char (int ch) +{ + return ((ch == KEY_NPAGE) || (ch == KEY_PPAGE) + || (ch == KEY_LEFT) || (ch == KEY_RIGHT) + || (ch == KEY_UP) || (ch == KEY_DOWN) + || (ch == KEY_SF) || (ch == KEY_SR) + || (ch == (int)'\f') || key_is_start_sequence (ch)); +} + +/* Use definition from readline 4.3. */ +#undef CTRL_CHAR +#define CTRL_CHAR(c) ((c) < control_character_threshold && (((c) & 0x80) == 0)) + +/* This file controls the IO interactions between gdb and curses. + When the TUI is enabled, gdb has two modes a curses and a standard + mode. + + In curses mode, the gdb outputs are made in a curses command window. + For this, the gdb_stdout and gdb_stderr are redirected to the specific + ui_file implemented by TUI. The output is handled by tui_puts(). + The input is also controlled by curses with tui_getc(). The readline + library uses this function to get its input. Several readline hooks + are installed to redirect readline output to the TUI (see also the + note below). + + In normal mode, the gdb outputs are restored to their origin, that + is as if TUI is not used. Readline also uses its original getc() + function with stdin. + + Note SCz/2001-07-21: the current readline is not clean in its management of + the output. Even if we install a redisplay handler, it sometimes writes on + a stdout file. It is important to redirect every output produced by + readline, otherwise the curses window will be garbled. This is implemented + with a pipe that TUI reads and readline writes to. A gdb input handler + is created so that reading the pipe is handled automatically. + This will probably not work on non-Unix platforms. The best fix is + to make readline clean enougth so that is never write on stdout. + + Note SCz/2002-09-01: we now use more readline hooks and it seems that + with them we don't need the pipe anymore (verified by creating the pipe + and closing its end so that write causes a SIGPIPE). The old pipe code + is still there and can be conditionally removed by + #undef TUI_USE_PIPE_FOR_READLINE. */ + +/* For gdb 5.3, prefer to continue the pipe hack as a backup wheel. */ +#define TUI_USE_PIPE_FOR_READLINE +/*#undef TUI_USE_PIPE_FOR_READLINE*/ + +/* TUI output files. */ +static struct ui_file *tui_stdout; +static struct ui_file *tui_stderr; +struct ui_out *tui_out; + +/* GDB output files in non-curses mode. */ +static struct ui_file *tui_old_stdout; +static struct ui_file *tui_old_stderr; +struct ui_out *tui_old_uiout; + +/* Readline previous hooks. */ +static Function *tui_old_rl_getc_function; +static VFunction *tui_old_rl_redisplay_function; +static VFunction *tui_old_rl_prep_terminal; +static VFunction *tui_old_rl_deprep_terminal; +static int tui_old_readline_echoing_p; + +/* Readline output stream. + Should be removed when readline is clean. */ +static FILE *tui_rl_outstream; +static FILE *tui_old_rl_outstream; +#ifdef TUI_USE_PIPE_FOR_READLINE +static int tui_readline_pipe[2]; +#endif + +/* The last gdb prompt that was registered in readline. + This may be the main gdb prompt or a secondary prompt. */ +static char *tui_rl_saved_prompt; + +static unsigned int _tuiHandleResizeDuringIO (unsigned int); + +static void +tui_putc (char c) +{ + char buf[2]; + + buf[0] = c; + buf[1] = 0; + tui_puts (buf); +} + +/* Print the string in the curses command window. */ +void +tui_puts (const char *string) +{ + static int tui_skip_line = -1; + char c; + WINDOW *w; + + w = cmdWin->generic.handle; + while ((c = *string++) != 0) + { + /* Catch annotation and discard them. We need two \032 and + discard until a \n is seen. */ + if (c == '\032') + { + tui_skip_line++; + } + else if (tui_skip_line != 1) + { + tui_skip_line = -1; + waddch (w, c); + } + else if (c == '\n') + tui_skip_line = -1; + } + getyx (w, cmdWin->detail.commandInfo.curLine, + cmdWin->detail.commandInfo.curch); + cmdWin->detail.commandInfo.start_line = cmdWin->detail.commandInfo.curLine; + + /* We could defer the following. */ + wrefresh (w); + fflush (stdout); +} + +/* Readline callback. + Redisplay the command line with its prompt after readline has + changed the edited text. */ +void +tui_redisplay_readline (void) +{ + int prev_col; + int height; + int col, line; + int c_pos; + int c_line; + int in; + WINDOW *w; + char *prompt; + int start_line; + + /* Detect when we temporarily left SingleKey and now the readline + edit buffer is empty, automatically restore the SingleKey mode. */ + if (tui_current_key_mode == tui_one_command_mode && rl_end == 0) + tui_set_key_mode (tui_single_key_mode); + + if (tui_current_key_mode == tui_single_key_mode) + prompt = ""; + else + prompt = tui_rl_saved_prompt; + + c_pos = -1; + c_line = -1; + w = cmdWin->generic.handle; + start_line = cmdWin->detail.commandInfo.start_line; + wmove (w, start_line, 0); + prev_col = 0; + height = 1; + for (in = 0; prompt && prompt[in]; in++) + { + waddch (w, prompt[in]); + getyx (w, line, col); + if (col < prev_col) + height++; + prev_col = col; + } + for (in = 0; in < rl_end; in++) + { + unsigned char c; + + c = (unsigned char) rl_line_buffer[in]; + if (in == rl_point) + { + getyx (w, c_line, c_pos); + } + + if (CTRL_CHAR (c) || c == RUBOUT) + { + waddch (w, '^'); + waddch (w, CTRL_CHAR (c) ? UNCTRL (c) : '?'); + } + else + { + waddch (w, c); + } + if (c == '\n') + { + getyx (w, cmdWin->detail.commandInfo.start_line, + cmdWin->detail.commandInfo.curch); + } + getyx (w, line, col); + if (col < prev_col) + height++; + prev_col = col; + } + wclrtobot (w); + getyx (w, cmdWin->detail.commandInfo.start_line, + cmdWin->detail.commandInfo.curch); + if (c_line >= 0) + { + wmove (w, c_line, c_pos); + cmdWin->detail.commandInfo.curLine = c_line; + cmdWin->detail.commandInfo.curch = c_pos; + } + cmdWin->detail.commandInfo.start_line -= height - 1; + + wrefresh (w); + fflush(stdout); +} + +/* Readline callback to prepare the terminal. It is called once + each time we enter readline. Terminal is already setup in curses mode. */ +static void +tui_prep_terminal (int notused1) +{ + /* Save the prompt registered in readline to correctly display it. + (we can't use gdb_prompt() due to secondary prompts and can't use + rl_prompt because it points to an alloca buffer). */ + xfree (tui_rl_saved_prompt); + tui_rl_saved_prompt = xstrdup (rl_prompt); +} + +/* Readline callback to restore the terminal. It is called once + each time we leave readline. There is nothing to do in curses mode. */ +static void +tui_deprep_terminal (void) +{ +} + +#ifdef TUI_USE_PIPE_FOR_READLINE +/* Read readline output pipe and feed the command window with it. + Should be removed when readline is clean. */ +static void +tui_readline_output (int code, gdb_client_data data) +{ + int size; + char buf[256]; + + size = read (tui_readline_pipe[0], buf, sizeof (buf) - 1); + if (size > 0 && tui_active) + { + buf[size] = 0; + tui_puts (buf); + } +} +#endif + +/* Return the portion of PATHNAME that should be output when listing + possible completions. If we are hacking filename completion, we + are only interested in the basename, the portion following the + final slash. Otherwise, we return what we were passed. + + Comes from readline/complete.c */ +static char * +printable_part (pathname) + char *pathname; +{ + char *temp; + + temp = rl_filename_completion_desired ? strrchr (pathname, '/') : (char *)NULL; +#if defined (__MSDOS__) + if (rl_filename_completion_desired && temp == 0 && isalpha (pathname[0]) && pathname[1] == ':') + temp = pathname + 1; +#endif + return (temp ? ++temp : pathname); +} + +/* Output TO_PRINT to rl_outstream. If VISIBLE_STATS is defined and we + are using it, check for and output a single character for `special' + filenames. Return the number of characters we output. */ + +#define PUTX(c) \ + do { \ + if (CTRL_CHAR (c)) \ + { \ + tui_puts ("^"); \ + tui_putc (UNCTRL (c)); \ + printed_len += 2; \ + } \ + else if (c == RUBOUT) \ + { \ + tui_puts ("^?"); \ + printed_len += 2; \ + } \ + else \ + { \ + tui_putc (c); \ + printed_len++; \ + } \ + } while (0) + +static int +print_filename (to_print, full_pathname) + char *to_print, *full_pathname; +{ + int printed_len = 0; + char *s; + + for (s = to_print; *s; s++) + { + PUTX (*s); + } + return printed_len; +} + +/* The user must press "y" or "n". Non-zero return means "y" pressed. + Comes from readline/complete.c */ +static int +get_y_or_n () +{ + extern int _rl_abort_internal (); + int c; + + for (;;) + { + c = rl_read_key (); + if (c == 'y' || c == 'Y' || c == ' ') + return (1); + if (c == 'n' || c == 'N' || c == RUBOUT) + return (0); + if (c == ABORT_CHAR) + _rl_abort_internal (); + beep (); + } +} + +/* A convenience function for displaying a list of strings in + columnar format on readline's output stream. MATCHES is the list + of strings, in argv format, LEN is the number of strings in MATCHES, + and MAX is the length of the longest string in MATCHES. + + Comes from readline/complete.c and modified to write in + the TUI command window using tui_putc/tui_puts. */ +static void +tui_rl_display_match_list (matches, len, max) + char **matches; + int len, max; +{ + typedef int QSFUNC (const void *, const void *); + extern int _rl_qsort_string_compare (const void*, const void*); + extern int _rl_print_completions_horizontally; + + int count, limit, printed_len; + int i, j, k, l; + char *temp; + + /* Screen dimension correspond to the TUI command window. */ + int screenwidth = cmdWin->generic.width; + + /* If there are many items, then ask the user if she really wants to + see them all. */ + if (len >= rl_completion_query_items) + { + char msg[256]; + + sprintf (msg, "\nDisplay all %d possibilities? (y or n)", len); + tui_puts (msg); + if (get_y_or_n () == 0) + { + tui_puts ("\n"); + return; + } + } + + /* How many items of MAX length can we fit in the screen window? */ + max += 2; + limit = screenwidth / max; + if (limit != 1 && (limit * max == screenwidth)) + limit--; + + /* Avoid a possible floating exception. If max > screenwidth, + limit will be 0 and a divide-by-zero fault will result. */ + if (limit == 0) + limit = 1; + + /* How many iterations of the printing loop? */ + count = (len + (limit - 1)) / limit; + + /* Watch out for special case. If LEN is less than LIMIT, then + just do the inner printing loop. + 0 < len <= limit implies count = 1. */ + + /* Sort the items if they are not already sorted. */ + if (rl_ignore_completion_duplicates == 0) + qsort (matches + 1, len, sizeof (char *), + (QSFUNC *)_rl_qsort_string_compare); + + tui_putc ('\n'); + + if (_rl_print_completions_horizontally == 0) + { + /* Print the sorted items, up-and-down alphabetically, like ls. */ + for (i = 1; i <= count; i++) + { + for (j = 0, l = i; j < limit; j++) + { + if (l > len || matches[l] == 0) + break; + else + { + temp = printable_part (matches[l]); + printed_len = print_filename (temp, matches[l]); + + if (j + 1 < limit) + for (k = 0; k < max - printed_len; k++) + tui_putc (' '); + } + l += count; + } + tui_putc ('\n'); + } + } + else + { + /* Print the sorted items, across alphabetically, like ls -x. */ + for (i = 1; matches[i]; i++) + { + temp = printable_part (matches[i]); + printed_len = print_filename (temp, matches[i]); + /* Have we reached the end of this line? */ + if (matches[i+1]) + { + if (i && (limit > 1) && (i % limit) == 0) + tui_putc ('\n'); + else + for (k = 0; k < max - printed_len; k++) + tui_putc (' '); + } + } + tui_putc ('\n'); + } +} + +/* Setup the IO for curses or non-curses mode. + - In non-curses mode, readline and gdb use the standard input and + standard output/error directly. + - In curses mode, the standard output/error is controlled by TUI + with the tui_stdout and tui_stderr. The output is redirected in + the curses command window. Several readline callbacks are installed + so that readline asks for its input to the curses command window + with wgetch(). */ +void +tui_setup_io (int mode) +{ + extern int readline_echoing_p; + + if (mode) + { + /* Redirect readline to TUI. */ + tui_old_rl_redisplay_function = rl_redisplay_function; + tui_old_rl_deprep_terminal = rl_deprep_term_function; + tui_old_rl_prep_terminal = rl_prep_term_function; + tui_old_rl_getc_function = rl_getc_function; + tui_old_rl_outstream = rl_outstream; + tui_old_readline_echoing_p = readline_echoing_p; + rl_redisplay_function = tui_redisplay_readline; + rl_deprep_term_function = tui_deprep_terminal; + rl_prep_term_function = tui_prep_terminal; + rl_getc_function = tui_getc; + readline_echoing_p = 0; + rl_outstream = tui_rl_outstream; + rl_prompt = 0; + rl_completion_display_matches_hook = tui_rl_display_match_list; + rl_already_prompted = 0; + + /* Keep track of previous gdb output. */ + tui_old_stdout = gdb_stdout; + tui_old_stderr = gdb_stderr; + tui_old_uiout = uiout; + + /* Reconfigure gdb output. */ + gdb_stdout = tui_stdout; + gdb_stderr = tui_stderr; + gdb_stdlog = gdb_stdout; /* for moment */ + gdb_stdtarg = gdb_stderr; /* for moment */ + uiout = tui_out; + + /* Save tty for SIGCONT. */ + savetty (); + } + else + { + /* Restore gdb output. */ + gdb_stdout = tui_old_stdout; + gdb_stderr = tui_old_stderr; + gdb_stdlog = gdb_stdout; /* for moment */ + gdb_stdtarg = gdb_stderr; /* for moment */ + uiout = tui_old_uiout; + + /* Restore readline. */ + rl_redisplay_function = tui_old_rl_redisplay_function; + rl_deprep_term_function = tui_old_rl_deprep_terminal; + rl_prep_term_function = tui_old_rl_prep_terminal; + rl_getc_function = tui_old_rl_getc_function; + rl_outstream = tui_old_rl_outstream; + rl_completion_display_matches_hook = 0; + readline_echoing_p = tui_old_readline_echoing_p; + rl_already_prompted = 0; + + /* Save tty for SIGCONT. */ + savetty (); + } +} + +#ifdef SIGCONT +/* Catch SIGCONT to restore the terminal and refresh the screen. */ +static void +tui_cont_sig (int sig) +{ + if (tui_active) + { + /* Restore the terminal setting because another process (shell) + might have changed it. */ + resetty (); + + /* Force a refresh of the screen. */ + tuiRefreshAll (); + + /* Update cursor position on the screen. */ + wmove (cmdWin->generic.handle, + cmdWin->detail.commandInfo.start_line, + cmdWin->detail.commandInfo.curch); + wrefresh (cmdWin->generic.handle); + } + signal (sig, tui_cont_sig); +} +#endif + +/* Initialize the IO for gdb in curses mode. */ +void +tui_initialize_io () +{ +#ifdef SIGCONT + signal (SIGCONT, tui_cont_sig); +#endif + + /* Create tui output streams. */ + tui_stdout = tui_fileopen (stdout); + tui_stderr = tui_fileopen (stderr); + tui_out = tui_out_new (tui_stdout); + + /* Create the default UI. It is not created because we installed + a init_ui_hook. */ + tui_old_uiout = uiout = cli_out_new (gdb_stdout); + +#ifdef TUI_USE_PIPE_FOR_READLINE + /* Temporary solution for readline writing to stdout: + redirect readline output in a pipe, read that pipe and + output the content in the curses command window. */ + if (pipe (tui_readline_pipe) != 0) + { + fprintf_unfiltered (gdb_stderr, "Cannot create pipe for readline"); + exit (1); + } + tui_rl_outstream = fdopen (tui_readline_pipe[1], "w"); + if (tui_rl_outstream == 0) + { + fprintf_unfiltered (gdb_stderr, "Cannot redirect readline output"); + exit (1); + } + setvbuf (tui_rl_outstream, (char*) NULL, _IOLBF, 0); + +#ifdef O_NONBLOCK + (void) fcntl (tui_readline_pipe[0], F_SETFL, O_NONBLOCK); +#else +#ifdef O_NDELAY + (void) fcntl (tui_readline_pipe[0], F_SETFL, O_NDELAY); +#endif +#endif + add_file_handler (tui_readline_pipe[0], tui_readline_output, 0); +#else + tui_rl_outstream = stdout; +#endif +} + +/* Get a character from the command window. This is called from the readline + package. */ +int +tui_getc (FILE *fp) +{ + int ch; + WINDOW *w; + + w = cmdWin->generic.handle; + +#ifdef TUI_USE_PIPE_FOR_READLINE + /* Flush readline output. */ + tui_readline_output (GDB_READABLE, 0); +#endif + + ch = wgetch (w); + ch = _tuiHandleResizeDuringIO (ch); + + /* The \n must be echoed because it will not be printed by readline. */ + if (ch == '\n') + { + /* When hitting return with an empty input, gdb executes the last + command. If we emit a newline, this fills up the command window + with empty lines with gdb prompt at beginning. Instead of that, + stay on the same line but provide a visual effect to show the + user we recognized the command. */ + if (rl_end == 0) + { + wmove (w, cmdWin->detail.commandInfo.curLine, 0); + + /* Clear the line. This will blink the gdb prompt since + it will be redrawn at the same line. */ + wclrtoeol (w); + wrefresh (w); + napms (20); + } + else + { + wmove (w, cmdWin->detail.commandInfo.curLine, + cmdWin->detail.commandInfo.curch); + waddch (w, ch); + } + } + + if (key_is_command_char (ch)) + { /* Handle prev/next/up/down here */ + ch = tui_dispatch_ctrl_char (ch); + } + + if (ch == '\n' || ch == '\r' || ch == '\f') + cmdWin->detail.commandInfo.curch = 0; +#if 0 + else + tuiIncrCommandCharCountBy (1); +#endif + if (ch == KEY_BACKSPACE) + return '\b'; + + return ch; +} + + +/* Cleanup when a resize has occured. + Returns the character that must be processed. */ +static unsigned int +_tuiHandleResizeDuringIO (unsigned int originalCh) +{ + if (tuiWinResized ()) + { + tuiRefreshAll (); + dont_repeat (); + tuiSetWinResizedTo (FALSE); + return '\n'; + } + else + return originalCh; +} diff --git a/gdb/tui/tui-io.h b/gdb/tui/tui-io.h new file mode 100644 index 0000000..06d085d --- /dev/null +++ b/gdb/tui/tui-io.h @@ -0,0 +1,55 @@ +/* TUI support I/O functions. + + Copyright 1998, 1999, 2000, 2001, 2002, 2004 Free Software + Foundation, Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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 TUI_IO_H +#define TUI_IO_H + +struct ui_out; + +/* Print the string in the curses command window. */ +extern void tui_puts (const char *); + +/* Setup the IO for curses or non-curses mode. */ +extern void tui_setup_io (int mode); + +/* Initialize the IO for gdb in curses mode. */ +extern void tui_initialize_io (void); + +/* Get a character from the command window. */ +extern int tui_getc (FILE *); + +/* Readline callback. + Redisplay the command line with its prompt after readline has + changed the edited text. */ +extern void tui_redisplay_readline (void); + +extern struct ui_out *tui_out; +extern struct ui_out *tui_old_uiout; + +extern int key_is_start_sequence (int ch); +extern int key_is_end_sequence (int ch); +extern int key_is_backspace (int ch); +extern int key_is_command_char (int ch); + +#endif diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c new file mode 100644 index 0000000..38d8de5 --- /dev/null +++ b/gdb/tui/tui-layout.c @@ -0,0 +1,1140 @@ +/* TUI layout window management. + + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software + Foundation, Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "command.h" +#include "symtab.h" +#include "frame.h" +#include "source.h" +#include <ctype.h> + +#include "tui/tui.h" +#include "tui/tui-data.h" +#include "tui/tui-windata.h" +#include "tui/tui-wingeneral.h" +#include "tui/tui-stack.h" +#include "tui/tui-regs.h" +#include "tui/tui-win.h" +#include "tui/tui-winsource.h" +#include "tui/tui-disasm.h" + +#ifdef HAVE_NCURSES_H +#include <ncurses.h> +#else +#ifdef HAVE_CURSES_H +#include <curses.h> +#endif +#endif + +/******************************* +** Static Local Decls +********************************/ +static void showLayout (TuiLayoutType); +static void _initGenWinInfo (TuiGenWinInfoPtr, TuiWinType, int, int, int, int); +static void _initAndMakeWin (Opaque *, TuiWinType, int, int, int, int, int); +static void _showSourceOrDisassemAndCommand (TuiLayoutType); +static void _makeSourceOrDisassemWindow (TuiWinInfoPtr *, TuiWinType, int, int); +static void _makeCommandWindow (TuiWinInfoPtr *, int, int); +static void _makeSourceWindow (TuiWinInfoPtr *, int, int); +static void _makeDisassemWindow (TuiWinInfoPtr *, int, int); +static void _makeDataWindow (TuiWinInfoPtr *, int, int); +static void _showSourceCommand (void); +static void _showDisassemCommand (void); +static void _showSourceDisassemCommand (void); +static void _showData (TuiLayoutType); +static TuiLayoutType _nextLayout (void); +static TuiLayoutType _prevLayout (void); +static void _tuiLayout_command (char *, int); +static void _tuiToggleLayout_command (char *, int); +static void _tuiToggleSplitLayout_command (char *, int); +static CORE_ADDR _extractDisplayStartAddr (void); +static void _tuiHandleXDBLayout (TuiLayoutDefPtr); + + +/*************************************** +** DEFINITIONS +***************************************/ + +#define LAYOUT_USAGE "Usage: layout prev | next | <layout_name> \n" + +/* Show the screen layout defined. */ +static void +showLayout (TuiLayoutType layout) +{ + TuiLayoutType curLayout = currentLayout (); + + if (layout != curLayout) + { + /* + ** Since the new layout may cause changes in window size, we + ** should free the content and reallocate on next display of + ** source/asm + */ + freeAllSourceWinsContent (); + clearSourceWindows (); + if (layout == SRC_DATA_COMMAND || layout == DISASSEM_DATA_COMMAND) + { + _showData (layout); + refreshAll (winList); + } + else + { + /* First make the current layout be invisible */ + m_allBeInvisible (); + m_beInvisible (locatorWinInfoPtr ()); + + switch (layout) + { + /* Now show the new layout */ + case SRC_COMMAND: + _showSourceCommand (); + addToSourceWindows (srcWin); + break; + case DISASSEM_COMMAND: + _showDisassemCommand (); + addToSourceWindows (disassemWin); + break; + case SRC_DISASSEM_COMMAND: + _showSourceDisassemCommand (); + addToSourceWindows (srcWin); + addToSourceWindows (disassemWin); + break; + default: + break; + } + } + } +} + + +/* Function to set the layout to SRC_COMMAND, DISASSEM_COMMAND, + SRC_DISASSEM_COMMAND, SRC_DATA_COMMAND, or DISASSEM_DATA_COMMAND. + If the layout is SRC_DATA_COMMAND, DISASSEM_DATA_COMMAND, or + UNDEFINED_LAYOUT, then the data window is populated according to + regsDisplayType. */ +enum tui_status +tui_set_layout (enum tui_layout_type layoutType, + enum tui_register_display_type regsDisplayType) +{ + TuiStatus status = TUI_SUCCESS; + + if (layoutType != UNDEFINED_LAYOUT || regsDisplayType != TUI_UNDEFINED_REGS) + { + TuiLayoutType curLayout = currentLayout (), newLayout = UNDEFINED_LAYOUT; + int regsPopulate = FALSE; + CORE_ADDR addr = _extractDisplayStartAddr (); + TuiWinInfoPtr newWinWithFocus = (TuiWinInfoPtr) NULL, winWithFocus = tuiWinWithFocus (); + TuiLayoutDefPtr layoutDef = tuiLayoutDef (); + + + if (layoutType == UNDEFINED_LAYOUT && + regsDisplayType != TUI_UNDEFINED_REGS) + { + if (curLayout == SRC_DISASSEM_COMMAND) + newLayout = DISASSEM_DATA_COMMAND; + else if (curLayout == SRC_COMMAND || curLayout == SRC_DATA_COMMAND) + newLayout = SRC_DATA_COMMAND; + else if (curLayout == DISASSEM_COMMAND || + curLayout == DISASSEM_DATA_COMMAND) + newLayout = DISASSEM_DATA_COMMAND; + } + else + newLayout = layoutType; + + regsPopulate = (newLayout == SRC_DATA_COMMAND || + newLayout == DISASSEM_DATA_COMMAND || + regsDisplayType != TUI_UNDEFINED_REGS); + if (newLayout != curLayout || regsDisplayType != TUI_UNDEFINED_REGS) + { + if (newLayout != curLayout) + { + showLayout (newLayout); + /* + ** Now determine where focus should be + */ + if (winWithFocus != cmdWin) + { + switch (newLayout) + { + case SRC_COMMAND: + tuiSetWinFocusTo (srcWin); + layoutDef->displayMode = SRC_WIN; + layoutDef->split = FALSE; + break; + case DISASSEM_COMMAND: + /* the previous layout was not showing + ** code. this can happen if there is no + ** source available: + ** 1. if the source file is in another dir OR + ** 2. if target was compiled without -g + ** We still want to show the assembly though! + */ + addr = tui_get_begin_asm_address (); + tuiSetWinFocusTo (disassemWin); + layoutDef->displayMode = DISASSEM_WIN; + layoutDef->split = FALSE; + break; + case SRC_DISASSEM_COMMAND: + /* the previous layout was not showing + ** code. this can happen if there is no + ** source available: + ** 1. if the source file is in another dir OR + ** 2. if target was compiled without -g + ** We still want to show the assembly though! + */ + addr = tui_get_begin_asm_address (); + if (winWithFocus == srcWin) + tuiSetWinFocusTo (srcWin); + else + tuiSetWinFocusTo (disassemWin); + layoutDef->split = TRUE; + break; + case SRC_DATA_COMMAND: + if (winWithFocus != dataWin) + tuiSetWinFocusTo (srcWin); + else + tuiSetWinFocusTo (dataWin); + layoutDef->displayMode = SRC_WIN; + layoutDef->split = FALSE; + break; + case DISASSEM_DATA_COMMAND: + /* the previous layout was not showing + ** code. this can happen if there is no + ** source available: + ** 1. if the source file is in another dir OR + ** 2. if target was compiled without -g + ** We still want to show the assembly though! + */ + addr = tui_get_begin_asm_address (); + if (winWithFocus != dataWin) + tuiSetWinFocusTo (disassemWin); + else + tuiSetWinFocusTo (dataWin); + layoutDef->displayMode = DISASSEM_WIN; + layoutDef->split = FALSE; + break; + default: + break; + } + } + if (newWinWithFocus != (TuiWinInfoPtr) NULL) + tuiSetWinFocusTo (newWinWithFocus); + /* + ** Now update the window content + */ + if (!regsPopulate && + (newLayout == SRC_DATA_COMMAND || + newLayout == DISASSEM_DATA_COMMAND)) + tuiDisplayAllData (); + + tuiUpdateSourceWindowsWithAddr (addr); + } + if (regsPopulate) + { + layoutDef->regsDisplayType = + (regsDisplayType == TUI_UNDEFINED_REGS ? + TUI_GENERAL_REGS : regsDisplayType); + tui_show_registers (layoutDef->regsDisplayType); + } + } + } + else + status = TUI_FAILURE; + + return status; +} + +/* Add the specified window to the layout in a logical way. This + means setting up the most logical layout given the window to be + added. */ +void +tui_add_win_to_layout (enum tui_win_type type) +{ + TuiLayoutType curLayout = currentLayout (); + + switch (type) + { + case SRC_WIN: + if (curLayout != SRC_COMMAND && + curLayout != SRC_DISASSEM_COMMAND && + curLayout != SRC_DATA_COMMAND) + { + clearSourceWindowsDetail (); + if (curLayout == DISASSEM_DATA_COMMAND) + showLayout (SRC_DATA_COMMAND); + else + showLayout (SRC_COMMAND); + } + break; + case DISASSEM_WIN: + if (curLayout != DISASSEM_COMMAND && + curLayout != SRC_DISASSEM_COMMAND && + curLayout != DISASSEM_DATA_COMMAND) + { + clearSourceWindowsDetail (); + if (curLayout == SRC_DATA_COMMAND) + showLayout (DISASSEM_DATA_COMMAND); + else + showLayout (DISASSEM_COMMAND); + } + break; + case DATA_WIN: + if (curLayout != SRC_DATA_COMMAND && + curLayout != DISASSEM_DATA_COMMAND) + { + if (curLayout == DISASSEM_COMMAND) + showLayout (DISASSEM_DATA_COMMAND); + else + showLayout (SRC_DATA_COMMAND); + } + break; + default: + break; + } + + return; +} /* tuiAddWinToLayout */ + + +/* + ** tuiDefaultWinHeight(). + ** Answer the height of a window. If it hasn't been created yet, + ** answer what the height of a window would be based upon its + ** type and the layout. + */ +int +tuiDefaultWinHeight (TuiWinType type, TuiLayoutType layout) +{ + int h; + + if (winList[type] != (TuiWinInfoPtr) NULL) + h = winList[type]->generic.height; + else + { + switch (layout) + { + case SRC_COMMAND: + case DISASSEM_COMMAND: + if (m_winPtrIsNull (cmdWin)) + h = termHeight () / 2; + else + h = termHeight () - cmdWin->generic.height; + break; + case SRC_DISASSEM_COMMAND: + case SRC_DATA_COMMAND: + case DISASSEM_DATA_COMMAND: + if (m_winPtrIsNull (cmdWin)) + h = termHeight () / 3; + else + h = (termHeight () - cmdWin->generic.height) / 2; + break; + default: + h = 0; + break; + } + } + + return h; +} /* tuiDefaultWinHeight */ + + +/* Answer the height of a window. If it hasn't been created yet, + answer what the height of a window would be based upon its type and + the layout. */ +int +tui_default_win_viewport_height (enum tui_win_type type, + enum tui_layout_type layout) +{ + int h; + + h = tuiDefaultWinHeight (type, layout); + + if (winList[type] == cmdWin) + h -= 1; + else + h -= 2; + + return h; +} /* tuiDefaultWinViewportHeight */ + + +/* + ** _initialize_tuiLayout(). + ** Function to initialize gdb commands, for tui window layout + ** manipulation. + */ +void +_initialize_tuiLayout (void) +{ + add_com ("layout", class_tui, _tuiLayout_command, + "Change the layout of windows.\n\ +Usage: layout prev | next | <layout_name> \n\ +Layout names are:\n\ + src : Displays source and command windows.\n\ + asm : Displays disassembly and command windows.\n\ + split : Displays source, disassembly and command windows.\n\ + regs : Displays register window. If existing layout\n\ + is source/command or assembly/command, the \n\ + register window is displayed. If the\n\ + source/assembly/command (split) is displayed, \n\ + the register window is displayed with \n\ + the window that has current logical focus.\n"); + if (xdb_commands) + { + add_com ("td", class_tui, _tuiToggleLayout_command, + "Toggle between Source/Command and Disassembly/Command layouts.\n"); + add_com ("ts", class_tui, _tuiToggleSplitLayout_command, + "Toggle between Source/Command or Disassembly/Command and \n\ +Source/Disassembly/Command layouts.\n"); + } +} + + +/************************* +** STATIC LOCAL FUNCTIONS +**************************/ + + +/* + ** _tuiSetLayoutTo() + ** Function to set the layout to SRC, ASM, SPLIT, NEXT, PREV, DATA, REGS, + ** $REGS, $GREGS, $FREGS, $SREGS. + */ +TuiStatus +tui_set_layout_for_display_command (const char *layoutName) +{ + TuiStatus status = TUI_SUCCESS; + + if (layoutName != (char *) NULL) + { + register int i; + register char *bufPtr; + TuiLayoutType newLayout = UNDEFINED_LAYOUT; + TuiRegisterDisplayType dpyType = TUI_UNDEFINED_REGS; + TuiLayoutType curLayout = currentLayout (); + + bufPtr = (char *) xstrdup (layoutName); + for (i = 0; (i < strlen (layoutName)); i++) + bufPtr[i] = toupper (bufPtr[i]); + + /* First check for ambiguous input */ + if (strlen (bufPtr) <= 1 && (*bufPtr == 'S' || *bufPtr == '$')) + { + warning ("Ambiguous command input.\n"); + status = TUI_FAILURE; + } + else + { + if (subset_compare (bufPtr, "SRC")) + newLayout = SRC_COMMAND; + else if (subset_compare (bufPtr, "ASM")) + newLayout = DISASSEM_COMMAND; + else if (subset_compare (bufPtr, "SPLIT")) + newLayout = SRC_DISASSEM_COMMAND; + else if (subset_compare (bufPtr, "REGS") || + subset_compare (bufPtr, TUI_GENERAL_SPECIAL_REGS_NAME) || + subset_compare (bufPtr, TUI_GENERAL_REGS_NAME) || + subset_compare (bufPtr, TUI_FLOAT_REGS_NAME) || + subset_compare (bufPtr, TUI_SPECIAL_REGS_NAME)) + { + if (curLayout == SRC_COMMAND || curLayout == SRC_DATA_COMMAND) + newLayout = SRC_DATA_COMMAND; + else + newLayout = DISASSEM_DATA_COMMAND; + +/* could ifdef out the following code. when compile with -z, there are null + pointer references that cause a core dump if 'layout regs' is the first + layout command issued by the user. HP has asked us to hook up this code + - edie epstein + */ + if (subset_compare (bufPtr, TUI_FLOAT_REGS_NAME)) + { + if (dataWin->detail.dataDisplayInfo.regsDisplayType != + TUI_SFLOAT_REGS && + dataWin->detail.dataDisplayInfo.regsDisplayType != + TUI_DFLOAT_REGS) + dpyType = TUI_SFLOAT_REGS; + else + dpyType = + dataWin->detail.dataDisplayInfo.regsDisplayType; + } + else if (subset_compare (bufPtr, + TUI_GENERAL_SPECIAL_REGS_NAME)) + dpyType = TUI_GENERAL_AND_SPECIAL_REGS; + else if (subset_compare (bufPtr, TUI_GENERAL_REGS_NAME)) + dpyType = TUI_GENERAL_REGS; + else if (subset_compare (bufPtr, TUI_SPECIAL_REGS_NAME)) + dpyType = TUI_SPECIAL_REGS; + else if (dataWin) + { + if (dataWin->detail.dataDisplayInfo.regsDisplayType != + TUI_UNDEFINED_REGS) + dpyType = + dataWin->detail.dataDisplayInfo.regsDisplayType; + else + dpyType = TUI_GENERAL_REGS; + } + +/* end of potential ifdef + */ + +/* if ifdefed out code above, then assume that the user wishes to display the + general purpose registers + */ + +/* dpyType = TUI_GENERAL_REGS; + */ + } + else if (subset_compare (bufPtr, "NEXT")) + newLayout = _nextLayout (); + else if (subset_compare (bufPtr, "PREV")) + newLayout = _prevLayout (); + else + status = TUI_FAILURE; + xfree (bufPtr); + + tui_set_layout (newLayout, dpyType); + } + } + else + status = TUI_FAILURE; + + return status; +} + + +static CORE_ADDR +_extractDisplayStartAddr (void) +{ + TuiLayoutType curLayout = currentLayout (); + CORE_ADDR addr; + CORE_ADDR pc; + struct symtab_and_line cursal = get_current_source_symtab_and_line (); + + switch (curLayout) + { + case SRC_COMMAND: + case SRC_DATA_COMMAND: + find_line_pc (cursal.symtab, + srcWin->detail.sourceInfo.startLineOrAddr.lineNo, + &pc); + addr = pc; + break; + case DISASSEM_COMMAND: + case SRC_DISASSEM_COMMAND: + case DISASSEM_DATA_COMMAND: + addr = disassemWin->detail.sourceInfo.startLineOrAddr.addr; + break; + default: + addr = 0; + break; + } + + return addr; +} /* _extractDisplayStartAddr */ + + +static void +_tuiHandleXDBLayout (TuiLayoutDefPtr layoutDef) +{ + if (layoutDef->split) + { + tui_set_layout (SRC_DISASSEM_COMMAND, TUI_UNDEFINED_REGS); + tuiSetWinFocusTo (winList[layoutDef->displayMode]); + } + else + { + if (layoutDef->displayMode == SRC_WIN) + tui_set_layout (SRC_COMMAND, TUI_UNDEFINED_REGS); + else + tui_set_layout (DISASSEM_DATA_COMMAND, layoutDef->regsDisplayType); + } + + + return; +} /* _tuiHandleXDBLayout */ + + +static void +_tuiToggleLayout_command (char *arg, int fromTTY) +{ + TuiLayoutDefPtr layoutDef = tuiLayoutDef (); + + /* Make sure the curses mode is enabled. */ + tui_enable (); + if (layoutDef->displayMode == SRC_WIN) + layoutDef->displayMode = DISASSEM_WIN; + else + layoutDef->displayMode = SRC_WIN; + + if (!layoutDef->split) + _tuiHandleXDBLayout (layoutDef); + +} + + +static void +_tuiToggleSplitLayout_command (char *arg, int fromTTY) +{ + TuiLayoutDefPtr layoutDef = tuiLayoutDef (); + + /* Make sure the curses mode is enabled. */ + tui_enable (); + layoutDef->split = (!layoutDef->split); + _tuiHandleXDBLayout (layoutDef); + +} + + +static void +_tuiLayout_command (char *arg, int fromTTY) +{ + /* Make sure the curses mode is enabled. */ + tui_enable (); + + /* Switch to the selected layout. */ + if (tui_set_layout_for_display_command (arg) != TUI_SUCCESS) + warning ("Invalid layout specified.\n%s", LAYOUT_USAGE); + +} + +/* + ** _nextLayout(). + ** Answer the previous layout to cycle to. + */ +static TuiLayoutType +_nextLayout (void) +{ + TuiLayoutType newLayout; + + newLayout = currentLayout (); + if (newLayout == UNDEFINED_LAYOUT) + newLayout = SRC_COMMAND; + else + { + newLayout++; + if (newLayout == UNDEFINED_LAYOUT) + newLayout = SRC_COMMAND; + } + + return newLayout; +} /* _nextLayout */ + + +/* + ** _prevLayout(). + ** Answer the next layout to cycle to. + */ +static TuiLayoutType +_prevLayout (void) +{ + TuiLayoutType newLayout; + + newLayout = currentLayout (); + if (newLayout == SRC_COMMAND) + newLayout = DISASSEM_DATA_COMMAND; + else + { + newLayout--; + if (newLayout == UNDEFINED_LAYOUT) + newLayout = DISASSEM_DATA_COMMAND; + } + + return newLayout; +} /* _prevLayout */ + + + +/* + ** _makeCommandWindow(). + */ +static void +_makeCommandWindow (TuiWinInfoPtr * winInfoPtr, int height, int originY) +{ + _initAndMakeWin ((Opaque *) winInfoPtr, + CMD_WIN, + height, + termWidth (), + 0, + originY, + DONT_BOX_WINDOW); + + (*winInfoPtr)->canHighlight = FALSE; + + return; +} /* _makeCommandWindow */ + + +/* + ** _makeSourceWindow(). + */ +static void +_makeSourceWindow (TuiWinInfoPtr * winInfoPtr, int height, int originY) +{ + _makeSourceOrDisassemWindow (winInfoPtr, SRC_WIN, height, originY); + + return; +} /* _makeSourceWindow */ + + +/* + ** _makeDisassemWindow(). + */ +static void +_makeDisassemWindow (TuiWinInfoPtr * winInfoPtr, int height, int originY) +{ + _makeSourceOrDisassemWindow (winInfoPtr, DISASSEM_WIN, height, originY); + + return; +} /* _makeDisassemWindow */ + + +/* + ** _makeDataWindow(). + */ +static void +_makeDataWindow (TuiWinInfoPtr * winInfoPtr, int height, int originY) +{ + _initAndMakeWin ((Opaque *) winInfoPtr, + DATA_WIN, + height, + termWidth (), + 0, + originY, + BOX_WINDOW); + + return; +} /* _makeDataWindow */ + + + +/* + ** _showSourceCommand(). + ** Show the Source/Command layout + */ +static void +_showSourceCommand (void) +{ + _showSourceOrDisassemAndCommand (SRC_COMMAND); + + return; +} /* _showSourceCommand */ + + +/* + ** _showDisassemCommand(). + ** Show the Dissassem/Command layout + */ +static void +_showDisassemCommand (void) +{ + _showSourceOrDisassemAndCommand (DISASSEM_COMMAND); + + return; +} /* _showDisassemCommand */ + + +/* + ** _showSourceDisassemCommand(). + ** Show the Source/Disassem/Command layout + */ +static void +_showSourceDisassemCommand (void) +{ + if (currentLayout () != SRC_DISASSEM_COMMAND) + { + int cmdHeight, srcHeight, asmHeight; + + if (m_winPtrNotNull (cmdWin)) + cmdHeight = cmdWin->generic.height; + else + cmdHeight = termHeight () / 3; + + srcHeight = (termHeight () - cmdHeight) / 2; + asmHeight = termHeight () - (srcHeight + cmdHeight); + + if (m_winPtrIsNull (srcWin)) + _makeSourceWindow (&srcWin, srcHeight, 0); + else + { + _initGenWinInfo (&srcWin->generic, + srcWin->generic.type, + srcHeight, + srcWin->generic.width, + srcWin->detail.sourceInfo.executionInfo->width, + 0); + srcWin->canHighlight = TRUE; + _initGenWinInfo (srcWin->detail.sourceInfo.executionInfo, + EXEC_INFO_WIN, + srcHeight, + 3, + 0, + 0); + m_beVisible (srcWin); + m_beVisible (srcWin->detail.sourceInfo.executionInfo); + srcWin->detail.sourceInfo.hasLocator = FALSE;; + } + if (m_winPtrNotNull (srcWin)) + { + TuiGenWinInfoPtr locator = locatorWinInfoPtr (); + + tuiShowSourceContent (srcWin); + if (m_winPtrIsNull (disassemWin)) + { + _makeDisassemWindow (&disassemWin, asmHeight, srcHeight - 1); + _initAndMakeWin ((Opaque *) & locator, + LOCATOR_WIN, + 2 /* 1 */ , + termWidth (), + 0, + (srcHeight + asmHeight) - 1, + DONT_BOX_WINDOW); + } + else + { + _initGenWinInfo (locator, + LOCATOR_WIN, + 2 /* 1 */ , + termWidth (), + 0, + (srcHeight + asmHeight) - 1); + disassemWin->detail.sourceInfo.hasLocator = TRUE; + _initGenWinInfo ( + &disassemWin->generic, + disassemWin->generic.type, + asmHeight, + disassemWin->generic.width, + disassemWin->detail.sourceInfo.executionInfo->width, + srcHeight - 1); + _initGenWinInfo (disassemWin->detail.sourceInfo.executionInfo, + EXEC_INFO_WIN, + asmHeight, + 3, + 0, + srcHeight - 1); + disassemWin->canHighlight = TRUE; + m_beVisible (disassemWin); + m_beVisible (disassemWin->detail.sourceInfo.executionInfo); + } + if (m_winPtrNotNull (disassemWin)) + { + srcWin->detail.sourceInfo.hasLocator = FALSE; + disassemWin->detail.sourceInfo.hasLocator = TRUE; + m_beVisible (locator); + tuiShowLocatorContent (); + tuiShowSourceContent (disassemWin); + + if (m_winPtrIsNull (cmdWin)) + _makeCommandWindow (&cmdWin, + cmdHeight, + termHeight () - cmdHeight); + else + { + _initGenWinInfo (&cmdWin->generic, + cmdWin->generic.type, + cmdWin->generic.height, + cmdWin->generic.width, + 0, + cmdWin->generic.origin.y); + cmdWin->canHighlight = FALSE; + m_beVisible (cmdWin); + } + if (m_winPtrNotNull (cmdWin)) + tuiRefreshWin (&cmdWin->generic); + } + } + setCurrentLayoutTo (SRC_DISASSEM_COMMAND); + } + + return; +} /* _showSourceDisassemCommand */ + + +/* + ** _showData(). + ** Show the Source/Data/Command or the Dissassembly/Data/Command layout + */ +static void +_showData (TuiLayoutType newLayout) +{ + int totalHeight = (termHeight () - cmdWin->generic.height); + int srcHeight, dataHeight; + TuiWinType winType; + TuiGenWinInfoPtr locator = locatorWinInfoPtr (); + + + dataHeight = totalHeight / 2; + srcHeight = totalHeight - dataHeight; + m_allBeInvisible (); + m_beInvisible (locator); + _makeDataWindow (&dataWin, dataHeight, 0); + dataWin->canHighlight = TRUE; + if (newLayout == SRC_DATA_COMMAND) + winType = SRC_WIN; + else + winType = DISASSEM_WIN; + if (m_winPtrIsNull (winList[winType])) + { + if (winType == SRC_WIN) + _makeSourceWindow (&winList[winType], srcHeight, dataHeight - 1); + else + _makeDisassemWindow (&winList[winType], srcHeight, dataHeight - 1); + _initAndMakeWin ((Opaque *) & locator, + LOCATOR_WIN, + 2 /* 1 */ , + termWidth (), + 0, + totalHeight - 1, + DONT_BOX_WINDOW); + } + else + { + _initGenWinInfo (&winList[winType]->generic, + winList[winType]->generic.type, + srcHeight, + winList[winType]->generic.width, + winList[winType]->detail.sourceInfo.executionInfo->width, + dataHeight - 1); + _initGenWinInfo (winList[winType]->detail.sourceInfo.executionInfo, + EXEC_INFO_WIN, + srcHeight, + 3, + 0, + dataHeight - 1); + m_beVisible (winList[winType]); + m_beVisible (winList[winType]->detail.sourceInfo.executionInfo); + _initGenWinInfo (locator, + LOCATOR_WIN, + 2 /* 1 */ , + termWidth (), + 0, + totalHeight - 1); + } + winList[winType]->detail.sourceInfo.hasLocator = TRUE; + m_beVisible (locator); + tuiShowLocatorContent (); + addToSourceWindows (winList[winType]); + setCurrentLayoutTo (newLayout); + + return; +} /* _showData */ + +/* + ** _initGenWinInfo(). + */ +static void +_initGenWinInfo (TuiGenWinInfoPtr winInfo, TuiWinType type, + int height, int width, int originX, int originY) +{ + int h = height; + + winInfo->type = type; + winInfo->width = width; + winInfo->height = h; + if (h > 1) + { + winInfo->viewportHeight = h - 1; + if (winInfo->type != CMD_WIN) + winInfo->viewportHeight--; + } + else + winInfo->viewportHeight = 1; + winInfo->origin.x = originX; + winInfo->origin.y = originY; + + return; +} /* _initGenWinInfo */ + +/* + ** _initAndMakeWin(). + */ +static void +_initAndMakeWin (Opaque * winInfoPtr, TuiWinType winType, + int height, int width, int originX, int originY, int boxIt) +{ + Opaque opaqueWinInfo = *winInfoPtr; + TuiGenWinInfoPtr generic; + + if (opaqueWinInfo == (Opaque) NULL) + { + if (m_winIsAuxillary (winType)) + opaqueWinInfo = (Opaque) allocGenericWinInfo (); + else + opaqueWinInfo = (Opaque) allocWinInfo (winType); + } + if (m_winIsAuxillary (winType)) + generic = (TuiGenWinInfoPtr) opaqueWinInfo; + else + generic = &((TuiWinInfoPtr) opaqueWinInfo)->generic; + + if (opaqueWinInfo != (Opaque) NULL) + { + _initGenWinInfo (generic, winType, height, width, originX, originY); + if (!m_winIsAuxillary (winType)) + { + if (generic->type == CMD_WIN) + ((TuiWinInfoPtr) opaqueWinInfo)->canHighlight = FALSE; + else + ((TuiWinInfoPtr) opaqueWinInfo)->canHighlight = TRUE; + } + makeWindow (generic, boxIt); + } + *winInfoPtr = opaqueWinInfo; +} + + +/* + ** _makeSourceOrDisassemWindow(). + */ +static void +_makeSourceOrDisassemWindow (TuiWinInfoPtr * winInfoPtr, TuiWinType type, + int height, int originY) +{ + TuiGenWinInfoPtr executionInfo = (TuiGenWinInfoPtr) NULL; + + /* + ** Create the exeuction info window. + */ + if (type == SRC_WIN) + executionInfo = sourceExecInfoWinPtr (); + else + executionInfo = disassemExecInfoWinPtr (); + _initAndMakeWin ((Opaque *) & executionInfo, + EXEC_INFO_WIN, + height, + 3, + 0, + originY, + DONT_BOX_WINDOW); + /* + ** Now create the source window. + */ + _initAndMakeWin ((Opaque *) winInfoPtr, + type, + height, + termWidth () - executionInfo->width, + executionInfo->width, + originY, + BOX_WINDOW); + + (*winInfoPtr)->detail.sourceInfo.executionInfo = executionInfo; + + return; +} /* _makeSourceOrDisassemWindow */ + + +/* + ** _showSourceOrDisassemAndCommand(). + ** Show the Source/Command or the Disassem layout + */ +static void +_showSourceOrDisassemAndCommand (TuiLayoutType layoutType) +{ + if (currentLayout () != layoutType) + { + TuiWinInfoPtr *winInfoPtr; + int srcHeight, cmdHeight; + TuiGenWinInfoPtr locator = locatorWinInfoPtr (); + + if (m_winPtrNotNull (cmdWin)) + cmdHeight = cmdWin->generic.height; + else + cmdHeight = termHeight () / 3; + srcHeight = termHeight () - cmdHeight; + + + if (layoutType == SRC_COMMAND) + winInfoPtr = &srcWin; + else + winInfoPtr = &disassemWin; + + if (m_winPtrIsNull (*winInfoPtr)) + { + if (layoutType == SRC_COMMAND) + _makeSourceWindow (winInfoPtr, srcHeight - 1, 0); + else + _makeDisassemWindow (winInfoPtr, srcHeight - 1, 0); + _initAndMakeWin ((Opaque *) & locator, + LOCATOR_WIN, + 2 /* 1 */ , + termWidth (), + 0, + srcHeight - 1, + DONT_BOX_WINDOW); + } + else + { + _initGenWinInfo (locator, + LOCATOR_WIN, + 2 /* 1 */ , + termWidth (), + 0, + srcHeight - 1); + (*winInfoPtr)->detail.sourceInfo.hasLocator = TRUE; + _initGenWinInfo ( + &(*winInfoPtr)->generic, + (*winInfoPtr)->generic.type, + srcHeight - 1, + (*winInfoPtr)->generic.width, + (*winInfoPtr)->detail.sourceInfo.executionInfo->width, + 0); + _initGenWinInfo ((*winInfoPtr)->detail.sourceInfo.executionInfo, + EXEC_INFO_WIN, + srcHeight - 1, + 3, + 0, + 0); + (*winInfoPtr)->canHighlight = TRUE; + m_beVisible (*winInfoPtr); + m_beVisible ((*winInfoPtr)->detail.sourceInfo.executionInfo); + } + if (m_winPtrNotNull (*winInfoPtr)) + { + (*winInfoPtr)->detail.sourceInfo.hasLocator = TRUE; + m_beVisible (locator); + tuiShowLocatorContent (); + tuiShowSourceContent (*winInfoPtr); + + if (m_winPtrIsNull (cmdWin)) + { + _makeCommandWindow (&cmdWin, cmdHeight, srcHeight); + tuiRefreshWin (&cmdWin->generic); + } + else + { + _initGenWinInfo (&cmdWin->generic, + cmdWin->generic.type, + cmdWin->generic.height, + cmdWin->generic.width, + cmdWin->generic.origin.x, + cmdWin->generic.origin.y); + cmdWin->canHighlight = FALSE; + m_beVisible (cmdWin); + } + } + setCurrentLayoutTo (layoutType); + } + + return; +} /* _showSourceOrDisassemAndCommand */ diff --git a/gdb/tui/tui-layout.h b/gdb/tui/tui-layout.h new file mode 100644 index 0000000..5df1f0b --- /dev/null +++ b/gdb/tui/tui-layout.h @@ -0,0 +1,38 @@ +/* TUI layout window management. + + Copyright 1998, 1999, 2000, 2001, 2002, 2004 Free Software + Foundation, Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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 TUI_LAYOUT_H +#define TUI_LAYOUT_H + +#include "tui/tui.h" +#include "tui/tui-data.h" + +extern void tui_add_win_to_layout (enum tui_win_type); +extern int tui_default_win_height (enum tui_win_type, enum tui_layout_type); +extern int tui_default_win_viewport_height (enum tui_win_type, + enum tui_layout_type); +extern enum tui_status tui_set_layout (enum tui_layout_type, + enum tui_register_display_type); + +#endif /*TUI_LAYOUT_H */ diff --git a/gdb/tui/tui-regs.c b/gdb/tui/tui-regs.c new file mode 100644 index 0000000..68520b9 --- /dev/null +++ b/gdb/tui/tui-regs.c @@ -0,0 +1,1023 @@ +/* TUI display registers in window. + + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software + Foundation, Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "tui/tui.h" +#include "tui/tui-data.h" +#include "symtab.h" +#include "gdbtypes.h" +#include "gdbcmd.h" +#include "frame.h" +#include "regcache.h" +#include "inferior.h" +#include "target.h" +#include "tui/tui-layout.h" +#include "tui/tui-win.h" +#include "tui/tui-windata.h" +#include "tui/tui-wingeneral.h" +#include "tui/tui-file.h" + +#ifdef HAVE_NCURSES_H +#include <ncurses.h> +#else +#ifdef HAVE_CURSES_H +#include <curses.h> +#endif +#endif + +/***************************************** +** LOCAL DEFINITIONS ** +******************************************/ +#define DOUBLE_FLOAT_LABEL_WIDTH 6 +#define DOUBLE_FLOAT_LABEL_FMT "%6.6s: " +#define DOUBLE_FLOAT_VALUE_WIDTH 30 /*min of 16 but may be in sci notation */ + +#define SINGLE_FLOAT_LABEL_WIDTH 6 +#define SINGLE_FLOAT_LABEL_FMT "%6.6s: " +#define SINGLE_FLOAT_VALUE_WIDTH 25 /* min of 8 but may be in sci notation */ + +#define SINGLE_LABEL_WIDTH 16 +#define SINGLE_LABEL_FMT "%10.10s: " +#define SINGLE_VALUE_WIDTH 20 /* minimum of 8 but may be in sci notation */ + +/* In the code HP gave Cygnus, this was actually a function call to a + PA-specific function, which was supposed to determine whether the + target was a 64-bit or 32-bit processor. However, the 64-bit + support wasn't complete, so we didn't merge that in, so we leave + this here as a stub. */ +#define IS_64BIT 0 + +/***************************************** +** STATIC DATA ** +******************************************/ + + +/***************************************** +** STATIC LOCAL FUNCTIONS FORWARD DECLS ** +******************************************/ +static TuiStatus _tuiSetRegsContent + (int, int, struct frame_info *, TuiRegisterDisplayType, int); +static const char *_tuiRegisterName (int); +static TuiStatus _tuiGetRegisterRawValue (int, char *, struct frame_info *); +static void _tuiSetRegisterElement + (int, struct frame_info *, TuiDataElementPtr, int); +static void _tuiDisplayRegister (int, TuiGenWinInfoPtr, enum precision_type); +static void _tuiRegisterFormat + (char *, int, int, TuiDataElementPtr, enum precision_type); +static TuiStatus _tuiSetGeneralRegsContent (int); +static TuiStatus _tuiSetSpecialRegsContent (int); +static TuiStatus _tuiSetGeneralAndSpecialRegsContent (int); +static TuiStatus _tuiSetFloatRegsContent (TuiRegisterDisplayType, int); +static int _tuiRegValueHasChanged + (TuiDataElementPtr, struct frame_info *, char *); +static void _tuiShowFloat_command (char *, int); +static void _tuiShowGeneral_command (char *, int); +static void _tuiShowSpecial_command (char *, int); +static void _tui_vShowRegisters_commandSupport (TuiRegisterDisplayType); +static void _tuiToggleFloatRegs_command (char *, int); +static void _tuiScrollRegsForward_command (char *, int); +static void _tuiScrollRegsBackward_command (char *, int); + + + +/***************************************** +** PUBLIC FUNCTIONS ** +******************************************/ + +/* Answer the number of the last line in the regs display. If there + are no registers (-1) is returned. */ +int +tui_last_regs_line_no (void) +{ + register int numLines = (-1); + + if (dataWin->detail.dataDisplayInfo.regsContentCount > 0) + { + numLines = (dataWin->detail.dataDisplayInfo.regsContentCount / + dataWin->detail.dataDisplayInfo.regsColumnCount); + if (dataWin->detail.dataDisplayInfo.regsContentCount % + dataWin->detail.dataDisplayInfo.regsColumnCount) + numLines++; + } + return numLines; +} + + +/* Answer the line number that the register element at elementNo is + on. If elementNo is greater than the number of register elements + there are, -1 is returned. */ +int +tui_line_from_reg_element_no (int elementNo) +{ + if (elementNo < dataWin->detail.dataDisplayInfo.regsContentCount) + { + int i, line = (-1); + + i = 1; + while (line == (-1)) + { + if (elementNo < + (dataWin->detail.dataDisplayInfo.regsColumnCount * i)) + line = i - 1; + else + i++; + } + + return line; + } + else + return (-1); +} + + +/* Answer the index of the first element in lineNo. If lineNo is past + the register area (-1) is returned. */ +int +tui_first_reg_element_no_inline (int lineNo) +{ + if ((lineNo * dataWin->detail.dataDisplayInfo.regsColumnCount) + <= dataWin->detail.dataDisplayInfo.regsContentCount) + return ((lineNo + 1) * + dataWin->detail.dataDisplayInfo.regsColumnCount) - + dataWin->detail.dataDisplayInfo.regsColumnCount; + else + return (-1); +} + + +/* + ** tuiLastRegElementNoInLine() + ** Answer the index of the last element in lineNo. If lineNo is past + ** the register area (-1) is returned. + */ +int +tuiLastRegElementNoInLine (int lineNo) +{ + if ((lineNo * dataWin->detail.dataDisplayInfo.regsColumnCount) <= + dataWin->detail.dataDisplayInfo.regsContentCount) + return ((lineNo + 1) * + dataWin->detail.dataDisplayInfo.regsColumnCount) - 1; + else + return (-1); +} /* tuiLastRegElementNoInLine */ + + +/* Calculate the number of columns that should be used to display the + registers. */ +int +tui_calculate_regs_column_count (TuiRegisterDisplayType dpyType) +{ + int colCount, colWidth; + + if (IS_64BIT || dpyType == TUI_DFLOAT_REGS) + colWidth = DOUBLE_FLOAT_VALUE_WIDTH + DOUBLE_FLOAT_LABEL_WIDTH; + else + { + if (dpyType == TUI_SFLOAT_REGS) + colWidth = SINGLE_FLOAT_VALUE_WIDTH + SINGLE_FLOAT_LABEL_WIDTH; + else + colWidth = SINGLE_VALUE_WIDTH + SINGLE_LABEL_WIDTH; + } + colCount = (dataWin->generic.width - 2) / colWidth; + + return colCount; +} /* tuiCalulateRegsColumnCount */ + + +/* Show the registers int the data window as indicated by dpyType. If + there is any other registers being displayed, then they are + cleared. What registers are displayed is dependent upon dpyType. */ +void +tui_show_registers (TuiRegisterDisplayType dpyType) +{ + TuiStatus ret = TUI_FAILURE; + int refreshValuesOnly = FALSE; + + /* Say that registers should be displayed, even if there is a problem */ + dataWin->detail.dataDisplayInfo.displayRegs = TRUE; + + if (target_has_registers) + { + refreshValuesOnly = + (dpyType == dataWin->detail.dataDisplayInfo.regsDisplayType); + switch (dpyType) + { + case TUI_GENERAL_REGS: + ret = _tuiSetGeneralRegsContent (refreshValuesOnly); + break; + case TUI_SFLOAT_REGS: + case TUI_DFLOAT_REGS: + ret = _tuiSetFloatRegsContent (dpyType, refreshValuesOnly); + break; + +/* could ifdef out */ + + case TUI_SPECIAL_REGS: + ret = _tuiSetSpecialRegsContent (refreshValuesOnly); + break; + case TUI_GENERAL_AND_SPECIAL_REGS: + ret = _tuiSetGeneralAndSpecialRegsContent (refreshValuesOnly); + break; + +/* end of potential if def */ + + default: + break; + } + } + if (ret == TUI_FAILURE) + { + dataWin->detail.dataDisplayInfo.regsDisplayType = TUI_UNDEFINED_REGS; + tuiEraseDataContent (NO_REGS_STRING); + } + else + { + int i; + + /* Clear all notation of changed values */ + for (i = 0; (i < dataWin->detail.dataDisplayInfo.regsContentCount); i++) + { + TuiGenWinInfoPtr dataItemWin; + + dataItemWin = &dataWin->detail.dataDisplayInfo. + regsContent[i]->whichElement.dataWindow; + (&((TuiWinElementPtr) + dataItemWin->content[0])->whichElement.data)->highlight = FALSE; + } + dataWin->detail.dataDisplayInfo.regsDisplayType = dpyType; + tuiDisplayAllData (); + } + (tuiLayoutDef ())->regsDisplayType = dpyType; + + return; +} + + +/* Function to display the registers in the content from + 'startElementNo' until the end of the register content or the end + of the display height. No checking for displaying past the end of + the registers is done here. */ +void +tui_display_registers_from (int startElementNo) +{ + if (dataWin->detail.dataDisplayInfo.regsContent != (TuiWinContent) NULL && + dataWin->detail.dataDisplayInfo.regsContentCount > 0) + { + register int i = startElementNo; + int j, valueCharsWide, itemWinWidth, curY, labelWidth; + enum precision_type precision; + + precision = (dataWin->detail.dataDisplayInfo.regsDisplayType + == TUI_DFLOAT_REGS) ? + double_precision : unspecified_precision; + if (IS_64BIT || + dataWin->detail.dataDisplayInfo.regsDisplayType == TUI_DFLOAT_REGS) + { + valueCharsWide = DOUBLE_FLOAT_VALUE_WIDTH; + labelWidth = DOUBLE_FLOAT_LABEL_WIDTH; + } + else + { + if (dataWin->detail.dataDisplayInfo.regsDisplayType == + TUI_SFLOAT_REGS) + { + valueCharsWide = SINGLE_FLOAT_VALUE_WIDTH; + labelWidth = SINGLE_FLOAT_LABEL_WIDTH; + } + else + { + valueCharsWide = SINGLE_VALUE_WIDTH; + labelWidth = SINGLE_LABEL_WIDTH; + } + } + itemWinWidth = valueCharsWide + labelWidth; + /* + ** Now create each data "sub" window, and write the display into it. + */ + curY = 1; + while (i < dataWin->detail.dataDisplayInfo.regsContentCount && + curY <= dataWin->generic.viewportHeight) + { + for (j = 0; + (j < dataWin->detail.dataDisplayInfo.regsColumnCount && + i < dataWin->detail.dataDisplayInfo.regsContentCount); j++) + { + TuiGenWinInfoPtr dataItemWin; + TuiDataElementPtr dataElementPtr; + + /* create the window if necessary */ + dataItemWin = &dataWin->detail.dataDisplayInfo. + regsContent[i]->whichElement.dataWindow; + dataElementPtr = &((TuiWinElementPtr) + dataItemWin->content[0])->whichElement.data; + if (dataItemWin->handle == (WINDOW *) NULL) + { + dataItemWin->height = 1; + dataItemWin->width = (precision == double_precision) ? + itemWinWidth + 2 : itemWinWidth + 1; + dataItemWin->origin.x = (itemWinWidth * j) + 1; + dataItemWin->origin.y = curY; + makeWindow (dataItemWin, DONT_BOX_WINDOW); + scrollok (dataItemWin->handle, FALSE); + } + touchwin (dataItemWin->handle); + + /* + ** Get the printable representation of the register + ** and display it + */ + _tuiDisplayRegister ( + dataElementPtr->itemNo, dataItemWin, precision); + i++; /* next register */ + } + curY++; /* next row; */ + } + } + + return; +} + + +/* + ** tuiDisplayRegElementAtLine(). + ** Function to display the registers in the content from + ** 'startElementNo' on 'startLineNo' until the end of the + ** register content or the end of the display height. + ** This function checks that we won't display off the end + ** of the register display. + */ +void +tuiDisplayRegElementAtLine (int startElementNo, int startLineNo) +{ + if (dataWin->detail.dataDisplayInfo.regsContent != (TuiWinContent) NULL && + dataWin->detail.dataDisplayInfo.regsContentCount > 0) + { + register int elementNo = startElementNo; + + if (startElementNo != 0 && startLineNo != 0) + { + register int lastLineNo, firstLineOnLastPage; + + lastLineNo = tui_last_regs_line_no (); + firstLineOnLastPage = lastLineNo - (dataWin->generic.height - 2); + if (firstLineOnLastPage < 0) + firstLineOnLastPage = 0; + /* + ** If there is no other data displayed except registers, + ** and the elementNo causes us to scroll past the end of the + ** registers, adjust what element to really start the display at. + */ + if (dataWin->detail.dataDisplayInfo.dataContentCount <= 0 && + startLineNo > firstLineOnLastPage) + elementNo = tui_first_reg_element_no_inline (firstLineOnLastPage); + } + tui_display_registers_from (elementNo); + } + + return; +} /* tuiDisplayRegElementAtLine */ + + + +/* Function to display the registers starting at line lineNo in the + data window. Answers the line number that the display actually + started from. If nothing is displayed (-1) is returned. */ +int +tui_display_registers_from_line (int lineNo, int forceDisplay) +{ + if (dataWin->detail.dataDisplayInfo.regsContentCount > 0) + { + int line, elementNo; + + if (lineNo < 0) + line = 0; + else if (forceDisplay) + { /* + ** If we must display regs (forceDisplay is true), then make + ** sure that we don't display off the end of the registers. + */ + if (lineNo >= tui_last_regs_line_no ()) + { + if ((line = tui_line_from_reg_element_no ( + dataWin->detail.dataDisplayInfo.regsContentCount - 1)) < 0) + line = 0; + } + else + line = lineNo; + } + else + line = lineNo; + + elementNo = tui_first_reg_element_no_inline (line); + if (elementNo < dataWin->detail.dataDisplayInfo.regsContentCount) + tuiDisplayRegElementAtLine (elementNo, line); + else + line = (-1); + + return line; + } + + return (-1); /* nothing was displayed */ +} + + +/* This function check all displayed registers for changes in values, + given a particular frame. If the values have changed, they are + updated with the new value and highlighted. */ +void +tui_check_register_values (struct frame_info *frame) +{ + if (m_winPtrNotNull (dataWin) && dataWin->generic.isVisible) + { + if (dataWin->detail.dataDisplayInfo.regsContentCount <= 0 && + dataWin->detail.dataDisplayInfo.displayRegs) + tui_show_registers ((tuiLayoutDef ())->regsDisplayType); + else + { + int i, j; + char rawBuf[MAX_REGISTER_SIZE]; + + for (i = 0; + (i < dataWin->detail.dataDisplayInfo.regsContentCount); i++) + { + TuiDataElementPtr dataElementPtr; + TuiGenWinInfoPtr dataItemWinPtr; + int wasHilighted; + + dataItemWinPtr = &dataWin->detail.dataDisplayInfo. + regsContent[i]->whichElement.dataWindow; + dataElementPtr = &((TuiWinElementPtr) + dataItemWinPtr->content[0])->whichElement.data; + wasHilighted = dataElementPtr->highlight; + dataElementPtr->highlight = + _tuiRegValueHasChanged (dataElementPtr, frame, &rawBuf[0]); + if (dataElementPtr->highlight) + { + int size; + + size = DEPRECATED_REGISTER_RAW_SIZE (dataElementPtr->itemNo); + for (j = 0; j < size; j++) + ((char *) dataElementPtr->value)[j] = rawBuf[j]; + _tuiDisplayRegister ( + dataElementPtr->itemNo, + dataItemWinPtr, + ((dataWin->detail.dataDisplayInfo.regsDisplayType == + TUI_DFLOAT_REGS) ? + double_precision : unspecified_precision)); + } + else if (wasHilighted) + { + dataElementPtr->highlight = FALSE; + _tuiDisplayRegister ( + dataElementPtr->itemNo, + dataItemWinPtr, + ((dataWin->detail.dataDisplayInfo.regsDisplayType == + TUI_DFLOAT_REGS) ? + double_precision : unspecified_precision)); + } + } + } + } + return; +} + + +/* + ** tuiToggleFloatRegs(). + */ +void +tuiToggleFloatRegs (void) +{ + TuiLayoutDefPtr layoutDef = tuiLayoutDef (); + + if (layoutDef->floatRegsDisplayType == TUI_SFLOAT_REGS) + layoutDef->floatRegsDisplayType = TUI_DFLOAT_REGS; + else + layoutDef->floatRegsDisplayType = TUI_SFLOAT_REGS; + + if (m_winPtrNotNull (dataWin) && dataWin->generic.isVisible && + (dataWin->detail.dataDisplayInfo.regsDisplayType == TUI_SFLOAT_REGS || + dataWin->detail.dataDisplayInfo.regsDisplayType == TUI_DFLOAT_REGS)) + tui_show_registers (layoutDef->floatRegsDisplayType); + + return; +} /* tuiToggleFloatRegs */ + + +void +_initialize_tuiRegs (void) +{ + if (xdb_commands) + { + add_com ("fr", class_tui, _tuiShowFloat_command, + "Display only floating point registers\n"); + add_com ("gr", class_tui, _tuiShowGeneral_command, + "Display only general registers\n"); + add_com ("sr", class_tui, _tuiShowSpecial_command, + "Display only special registers\n"); + add_com ("+r", class_tui, _tuiScrollRegsForward_command, + "Scroll the registers window forward\n"); + add_com ("-r", class_tui, _tuiScrollRegsBackward_command, + "Scroll the register window backward\n"); + add_com ("tf", class_tui, _tuiToggleFloatRegs_command, + "Toggle between single and double precision floating point registers.\n"); + add_cmd (TUI_FLOAT_REGS_NAME_LOWER, + class_tui, + _tuiToggleFloatRegs_command, + "Toggle between single and double precision floating point \ +registers.\n", + &togglelist); + } +} + + +/***************************************** +** STATIC LOCAL FUNCTIONS ** +******************************************/ + + +/* + ** _tuiRegisterName(). + ** Return the register name. + */ +static const char * +_tuiRegisterName (int regNum) +{ + return REGISTER_NAME (regNum); +} +extern int pagination_enabled; + +static void +tui_restore_gdbout (void *ui) +{ + ui_file_delete (gdb_stdout); + gdb_stdout = (struct ui_file*) ui; + pagination_enabled = 1; +} + +/* + ** _tuiRegisterFormat + ** Function to format the register name and value into a buffer, + ** suitable for printing or display + */ +static void +_tuiRegisterFormat (char *buf, int bufLen, int regNum, + TuiDataElementPtr dataElement, + enum precision_type precision) +{ + struct ui_file *stream; + struct ui_file *old_stdout; + const char *name; + struct cleanup *cleanups; + char *p; + int pos; + + name = REGISTER_NAME (regNum); + if (name == 0) + { + strcpy (buf, ""); + return; + } + + pagination_enabled = 0; + old_stdout = gdb_stdout; + stream = tui_sfileopen (bufLen); + gdb_stdout = stream; + cleanups = make_cleanup (tui_restore_gdbout, (void*) old_stdout); + gdbarch_print_registers_info (current_gdbarch, stream, deprecated_selected_frame, + regNum, 1); + + /* Save formatted output in the buffer. */ + p = tui_file_get_strbuf (stream); + pos = 0; + while (*p && *p == *name++ && bufLen) + { + *buf++ = *p++; + bufLen--; + pos++; + } + while (*p == ' ') + p++; + while (pos < 8 && bufLen) + { + *buf++ = ' '; + bufLen--; + pos++; + } + strncpy (buf, p, bufLen); + + /* Remove the possible \n. */ + p = strchr (buf, '\n'); + if (p) + *p = 0; + + do_cleanups (cleanups); +} + + +#define NUM_GENERAL_REGS 32 +/* + ** _tuiSetGeneralRegsContent(). + ** Set the content of the data window to consist of the general registers. + */ +static TuiStatus +_tuiSetGeneralRegsContent (int refreshValuesOnly) +{ + return (_tuiSetRegsContent (0, + NUM_GENERAL_REGS - 1, + deprecated_selected_frame, + TUI_GENERAL_REGS, + refreshValuesOnly)); + +} /* _tuiSetGeneralRegsContent */ + + +#ifndef PCOQ_HEAD_REGNUM +#define START_SPECIAL_REGS 0 +#else +#define START_SPECIAL_REGS PCOQ_HEAD_REGNUM +#endif + +/* + ** _tuiSetSpecialRegsContent(). + ** Set the content of the data window to consist of the special registers. + */ +static TuiStatus +_tuiSetSpecialRegsContent (int refreshValuesOnly) +{ + TuiStatus ret = TUI_FAILURE; + int endRegNum; + + endRegNum = FP0_REGNUM - 1; + ret = _tuiSetRegsContent (START_SPECIAL_REGS, + endRegNum, + deprecated_selected_frame, + TUI_SPECIAL_REGS, + refreshValuesOnly); + + return ret; +} /* _tuiSetSpecialRegsContent */ + + +/* + ** _tuiSetGeneralAndSpecialRegsContent(). + ** Set the content of the data window to consist of the special registers. + */ +static TuiStatus +_tuiSetGeneralAndSpecialRegsContent (int refreshValuesOnly) +{ + TuiStatus ret = TUI_FAILURE; + int endRegNum = (-1); + + endRegNum = FP0_REGNUM - 1; + ret = _tuiSetRegsContent ( + 0, endRegNum, deprecated_selected_frame, TUI_SPECIAL_REGS, refreshValuesOnly); + + return ret; +} /* _tuiSetGeneralAndSpecialRegsContent */ + +/* + ** _tuiSetFloatRegsContent(). + ** Set the content of the data window to consist of the float registers. + */ +static TuiStatus +_tuiSetFloatRegsContent (TuiRegisterDisplayType dpyType, int refreshValuesOnly) +{ + TuiStatus ret = TUI_FAILURE; + int startRegNum; + + startRegNum = FP0_REGNUM; + ret = _tuiSetRegsContent (startRegNum, + NUM_REGS - 1, + deprecated_selected_frame, + dpyType, + refreshValuesOnly); + + return ret; +} /* _tuiSetFloatRegsContent */ + + +/* + ** _tuiRegValueHasChanged(). + ** Answer TRUE if the register's value has changed, FALSE otherwise. + ** If TRUE, newValue is filled in with the new value. + */ +static int +_tuiRegValueHasChanged (TuiDataElementPtr dataElement, + struct frame_info *frame, + char *newValue) +{ + int hasChanged = FALSE; + + if (dataElement->itemNo != UNDEFINED_ITEM && + _tuiRegisterName (dataElement->itemNo) != (char *) NULL) + { + char rawBuf[MAX_REGISTER_SIZE]; + int i; + + if (_tuiGetRegisterRawValue ( + dataElement->itemNo, rawBuf, frame) == TUI_SUCCESS) + { + int size = DEPRECATED_REGISTER_RAW_SIZE (dataElement->itemNo); + + for (i = 0; (i < size && !hasChanged); i++) + hasChanged = (((char *) dataElement->value)[i] != rawBuf[i]); + if (hasChanged && newValue != (char *) NULL) + { + for (i = 0; i < size; i++) + newValue[i] = rawBuf[i]; + } + } + } + return hasChanged; +} /* _tuiRegValueHasChanged */ + + + +/* + ** _tuiGetRegisterRawValue(). + ** Get the register raw value. The raw value is returned in regValue. + */ +static TuiStatus +_tuiGetRegisterRawValue (int regNum, char *regValue, struct frame_info *frame) +{ + TuiStatus ret = TUI_FAILURE; + + if (target_has_registers) + { + get_frame_register (frame, regNum, regValue); + /* NOTE: cagney/2003-03-13: This is bogus. It is refering to + the register cache and not the frame which could have pulled + the register value off the stack. */ + if (register_cached (regNum) >= 0) + ret = TUI_SUCCESS; + } + return ret; +} /* _tuiGetRegisterRawValue */ + + + +/* + ** _tuiSetRegisterElement(). + ** Function to initialize a data element with the input and + ** the register value. + */ +static void +_tuiSetRegisterElement (int regNum, struct frame_info *frame, + TuiDataElementPtr dataElement, + int refreshValueOnly) +{ + if (dataElement != (TuiDataElementPtr) NULL) + { + if (!refreshValueOnly) + { + dataElement->itemNo = regNum; + dataElement->name = _tuiRegisterName (regNum); + dataElement->highlight = FALSE; + } + if (dataElement->value == (Opaque) NULL) + dataElement->value = (Opaque) xmalloc (MAX_REGISTER_SIZE); + if (dataElement->value != (Opaque) NULL) + _tuiGetRegisterRawValue (regNum, dataElement->value, frame); + } + + return; +} /* _tuiSetRegisterElement */ + + +/* + ** _tuiSetRegsContent(). + ** Set the content of the data window to consist of the registers + ** numbered from startRegNum to endRegNum. Note that if + ** refreshValuesOnly is TRUE, startRegNum and endRegNum are ignored. + */ +static TuiStatus +_tuiSetRegsContent (int startRegNum, int endRegNum, + struct frame_info *frame, + TuiRegisterDisplayType dpyType, + int refreshValuesOnly) +{ + TuiStatus ret = TUI_FAILURE; + int numRegs = endRegNum - startRegNum + 1; + int allocatedHere = FALSE; + + if (dataWin->detail.dataDisplayInfo.regsContentCount > 0 && + !refreshValuesOnly) + { + freeDataContent (dataWin->detail.dataDisplayInfo.regsContent, + dataWin->detail.dataDisplayInfo.regsContentCount); + dataWin->detail.dataDisplayInfo.regsContentCount = 0; + } + if (dataWin->detail.dataDisplayInfo.regsContentCount <= 0) + { + dataWin->detail.dataDisplayInfo.regsContent = + allocContent (numRegs, DATA_WIN); + allocatedHere = TRUE; + } + + if (dataWin->detail.dataDisplayInfo.regsContent != (TuiWinContent) NULL) + { + int i; + + if (!refreshValuesOnly || allocatedHere) + { + dataWin->generic.content = (OpaquePtr) NULL; + dataWin->generic.contentSize = 0; + addContentElements (&dataWin->generic, numRegs); + dataWin->detail.dataDisplayInfo.regsContent = + (TuiWinContent) dataWin->generic.content; + dataWin->detail.dataDisplayInfo.regsContentCount = numRegs; + } + /* + ** Now set the register names and values + */ + for (i = startRegNum; (i <= endRegNum); i++) + { + TuiGenWinInfoPtr dataItemWin; + + dataItemWin = &dataWin->detail.dataDisplayInfo. + regsContent[i - startRegNum]->whichElement.dataWindow; + _tuiSetRegisterElement ( + i, + frame, + &((TuiWinElementPtr) dataItemWin->content[0])->whichElement.data, + !allocatedHere && refreshValuesOnly); + } + dataWin->detail.dataDisplayInfo.regsColumnCount = + tui_calculate_regs_column_count (dpyType); +#ifdef LATER + if (dataWin->detail.dataDisplayInfo.dataContentCount > 0) + { + /* delete all the windows? */ + /* realloc content equal to dataContentCount + regsContentCount */ + /* append dataWin->detail.dataDisplayInfo.dataContent to content */ + } +#endif + dataWin->generic.contentSize = + dataWin->detail.dataDisplayInfo.regsContentCount + + dataWin->detail.dataDisplayInfo.dataContentCount; + ret = TUI_SUCCESS; + } + + return ret; +} /* _tuiSetRegsContent */ + + +/* + ** _tuiDisplayRegister(). + ** Function to display a register in a window. If hilite is TRUE, + ** than the value will be displayed in reverse video + */ +static void +_tuiDisplayRegister (int regNum, + TuiGenWinInfoPtr winInfo, /* the data item window */ + enum precision_type precision) +{ + if (winInfo->handle != (WINDOW *) NULL) + { + int i; + char buf[40]; + int valueCharsWide, labelWidth; + TuiDataElementPtr dataElementPtr = &((TuiWinContent) + winInfo->content)[0]->whichElement.data; + + if (IS_64BIT || + dataWin->detail.dataDisplayInfo.regsDisplayType == TUI_DFLOAT_REGS) + { + valueCharsWide = DOUBLE_FLOAT_VALUE_WIDTH; + labelWidth = DOUBLE_FLOAT_LABEL_WIDTH; + } + else + { + if (dataWin->detail.dataDisplayInfo.regsDisplayType == + TUI_SFLOAT_REGS) + { + valueCharsWide = SINGLE_FLOAT_VALUE_WIDTH; + labelWidth = SINGLE_FLOAT_LABEL_WIDTH; + } + else + { + valueCharsWide = SINGLE_VALUE_WIDTH; + labelWidth = SINGLE_LABEL_WIDTH; + } + } + + buf[0] = (char) 0; + _tuiRegisterFormat (buf, + valueCharsWide + labelWidth, + regNum, + dataElementPtr, + precision); + + if (dataElementPtr->highlight) + wstandout (winInfo->handle); + + wmove (winInfo->handle, 0, 0); + for (i = 1; i < winInfo->width; i++) + waddch (winInfo->handle, ' '); + wmove (winInfo->handle, 0, 0); + waddstr (winInfo->handle, buf); + + if (dataElementPtr->highlight) + wstandend (winInfo->handle); + tuiRefreshWin (winInfo); + } + return; +} /* _tuiDisplayRegister */ + + +static void +_tui_vShowRegisters_commandSupport (TuiRegisterDisplayType dpyType) +{ + + if (m_winPtrNotNull (dataWin) && dataWin->generic.isVisible) + { /* Data window already displayed, show the registers */ + if (dataWin->detail.dataDisplayInfo.regsDisplayType != dpyType) + tui_show_registers (dpyType); + } + else + (tuiLayoutDef ())->regsDisplayType = dpyType; + + return; +} /* _tui_vShowRegisters_commandSupport */ + + +static void +_tuiShowFloat_command (char *arg, int fromTTY) +{ + if (m_winPtrIsNull (dataWin) || !dataWin->generic.isVisible || + (dataWin->detail.dataDisplayInfo.regsDisplayType != TUI_SFLOAT_REGS && + dataWin->detail.dataDisplayInfo.regsDisplayType != TUI_DFLOAT_REGS)) + _tui_vShowRegisters_commandSupport ((tuiLayoutDef ())->floatRegsDisplayType); + + return; +} /* _tuiShowFloat_command */ + + +static void +_tuiShowGeneral_command (char *arg, int fromTTY) +{ + _tui_vShowRegisters_commandSupport (TUI_GENERAL_REGS); +} + + +static void +_tuiShowSpecial_command (char *arg, int fromTTY) +{ + _tui_vShowRegisters_commandSupport (TUI_SPECIAL_REGS); +} + + +static void +_tuiToggleFloatRegs_command (char *arg, int fromTTY) +{ + if (m_winPtrNotNull (dataWin) && dataWin->generic.isVisible) + tuiToggleFloatRegs (); + else + { + TuiLayoutDefPtr layoutDef = tuiLayoutDef (); + + if (layoutDef->floatRegsDisplayType == TUI_SFLOAT_REGS) + layoutDef->floatRegsDisplayType = TUI_DFLOAT_REGS; + else + layoutDef->floatRegsDisplayType = TUI_SFLOAT_REGS; + } + + + return; +} /* _tuiToggleFloatRegs_command */ + + +static void +_tuiScrollRegsForward_command (char *arg, int fromTTY) +{ + tui_scroll (FORWARD_SCROLL, dataWin, 1); +} + + +static void +_tuiScrollRegsBackward_command (char *arg, int fromTTY) +{ + tui_scroll (BACKWARD_SCROLL, dataWin, 1); +} diff --git a/gdb/tui/tui-regs.h b/gdb/tui/tui-regs.h new file mode 100644 index 0000000..19703a2 --- /dev/null +++ b/gdb/tui/tui-regs.h @@ -0,0 +1,41 @@ +/* TUI display registers in window. + + Copyright 1998, 1999, 2000, 2001, 2004 Free Software Foundation, + Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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 TUI_REGS_H +#define TUI_REGS_H + +#include "tui/tui-data.h" /* For TuiRegisterDisplayType. */ + +extern void tui_check_register_values (struct frame_info *); +extern void tui_show_registers (enum tui_register_display_type); +extern void tui_display_registers_from (int); +extern int tui_display_registers_from_line (int, int); +extern int tui_last_regs_line_no (void); +extern int tui_first_reg_element_inline (int); +extern int tui_line_from_reg_element_no (int); +extern void tui_toggle_float_regs (void); +extern int tui_calculate_regs_column_count (enum tui_register_display_type); +extern int tui_first_reg_element_no_inline (int lineno); + +#endif diff --git a/gdb/tui/tui-source.c b/gdb/tui/tui-source.c new file mode 100644 index 0000000..f2d3762 --- /dev/null +++ b/gdb/tui/tui-source.c @@ -0,0 +1,356 @@ +/* TUI display source window. + + Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, + Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include <ctype.h> +#include "symtab.h" +#include "frame.h" +#include "breakpoint.h" +#include "source.h" +#include "symtab.h" + +#include "tui/tui.h" +#include "tui/tui-data.h" +#include "tui/tui-stack.h" +#include "tui/tui-winsource.h" +#include "tui/tui-source.h" + +#ifdef HAVE_NCURSES_H +#include <ncurses.h> +#else +#ifdef HAVE_CURSES_H +#include <curses.h> +#endif +#endif + +/* Function to display source in the source window. */ +TuiStatus +tuiSetSourceContent (struct symtab *s, int lineNo, int noerror) +{ + TuiStatus ret = TUI_FAILURE; + + if (s != (struct symtab *) NULL && s->filename != (char *) NULL) + { + register FILE *stream; + register int i, desc, c, lineWidth, nlines; + register char *srcLine = 0; + + if ((ret = tuiAllocSourceBuffer (srcWin)) == TUI_SUCCESS) + { + lineWidth = srcWin->generic.width - 1; + /* Take hilite (window border) into account, when calculating + the number of lines */ + nlines = (lineNo + (srcWin->generic.height - 2)) - lineNo; + desc = open_source_file (s); + if (desc < 0) + { + if (!noerror) + { + char *name = alloca (strlen (s->filename) + 100); + sprintf (name, "%s:%d", s->filename, lineNo); + print_sys_errmsg (name, errno); + } + ret = TUI_FAILURE; + } + else + { + if (s->line_charpos == 0) + find_source_lines (s, desc); + + if (lineNo < 1 || lineNo > s->nlines) + { + close (desc); + printf_unfiltered ( + "Line number %d out of range; %s has %d lines.\n", + lineNo, s->filename, s->nlines); + } + else if (lseek (desc, s->line_charpos[lineNo - 1], 0) < 0) + { + close (desc); + perror_with_name (s->filename); + } + else + { + register int offset, curLineNo, curLine, curLen, threshold; + TuiGenWinInfoPtr locator = locatorWinInfoPtr (); + TuiSourceInfoPtr src = &srcWin->detail.sourceInfo; + + if (srcWin->generic.title) + xfree (srcWin->generic.title); + srcWin->generic.title = xstrdup (s->filename); + + if (src->filename) + xfree (src->filename); + src->filename = xstrdup (s->filename); + + /* Determine the threshold for the length of the line + and the offset to start the display. */ + offset = src->horizontalOffset; + threshold = (lineWidth - 1) + offset; + stream = fdopen (desc, FOPEN_RT); + clearerr (stream); + curLine = 0; + curLineNo = src->startLineOrAddr.lineNo = lineNo; + if (offset > 0) + srcLine = (char *) xmalloc ( + (threshold + 1) * sizeof (char)); + while (curLine < nlines) + { + TuiWinElementPtr element = (TuiWinElementPtr) + srcWin->generic.content[curLine]; + + /* get the first character in the line */ + c = fgetc (stream); + + if (offset == 0) + srcLine = ((TuiWinElementPtr) + srcWin->generic.content[ + curLine])->whichElement.source.line; + /* Init the line with the line number */ + sprintf (srcLine, "%-6d", curLineNo); + curLen = strlen (srcLine); + i = curLen - + ((curLen / tuiDefaultTabLen ()) * tuiDefaultTabLen ()); + while (i < tuiDefaultTabLen ()) + { + srcLine[curLen] = ' '; + i++; + curLen++; + } + srcLine[curLen] = (char) 0; + + /* Set whether element is the execution point and + whether there is a break point on it. */ + element->whichElement.source.lineOrAddr.lineNo = + curLineNo; + element->whichElement.source.isExecPoint = + (strcmp (((TuiWinElementPtr) + locator->content[0])->whichElement.locator.fileName, + s->filename) == 0 + && curLineNo == ((TuiWinElementPtr) + locator->content[0])->whichElement.locator.lineNo); + if (c != EOF) + { + i = strlen (srcLine) - 1; + do + { + if ((c != '\n') && + (c != '\r') && (++i < threshold)) + { + if (c < 040 && c != '\t') + { + srcLine[i++] = '^'; + srcLine[i] = c + 0100; + } + else if (c == 0177) + { + srcLine[i++] = '^'; + srcLine[i] = '?'; + } + else + { /* Store the charcter in the line + buffer. If it is a tab, then + translate to the correct number of + chars so we don't overwrite our + buffer. */ + if (c == '\t') + { + int j, maxTabLen = tuiDefaultTabLen (); + + for (j = i - ( + (i / maxTabLen) * maxTabLen); + ((j < maxTabLen) && + i < threshold); + i++, j++) + srcLine[i] = ' '; + i--; + } + else + srcLine[i] = c; + } + srcLine[i + 1] = 0; + } + else + { /* If we have not reached EOL, then eat + chars until we do */ + while (c != EOF && c != '\n' && c != '\r') + c = fgetc (stream); + } + } + while (c != EOF && c != '\n' && c != '\r' && + i < threshold && (c = fgetc (stream))); + } + /* Now copy the line taking the offset into account */ + if (strlen (srcLine) > offset) + strcpy (((TuiWinElementPtr) srcWin->generic.content[ + curLine])->whichElement.source.line, + &srcLine[offset]); + else + ((TuiWinElementPtr) + srcWin->generic.content[ + curLine])->whichElement.source.line[0] = (char) 0; + curLine++; + curLineNo++; + } + if (offset > 0) + tuiFree (srcLine); + fclose (stream); + srcWin->generic.contentSize = nlines; + ret = TUI_SUCCESS; + } + } + } + } + return ret; +} + + +/* elz: this function sets the contents of the source window to empty + except for a line in the middle with a warning message about the + source not being available. This function is called by + tuiEraseSourceContents, which in turn is invoked when the source files + cannot be accessed */ + +void +tuiSetSourceContentNil (TuiWinInfoPtr winInfo, char *warning_string) +{ + int lineWidth; + int nLines; + int curr_line = 0; + + lineWidth = winInfo->generic.width - 1; + nLines = winInfo->generic.height - 2; + + /* set to empty each line in the window, except for the one + which contains the message */ + while (curr_line < winInfo->generic.contentSize) + { + /* set the information related to each displayed line + to null: i.e. the line number is 0, there is no bp, + it is not where the program is stopped */ + + TuiWinElementPtr element = + (TuiWinElementPtr) winInfo->generic.content[curr_line]; + element->whichElement.source.lineOrAddr.lineNo = 0; + element->whichElement.source.isExecPoint = FALSE; + element->whichElement.source.hasBreak = FALSE; + + /* set the contents of the line to blank */ + element->whichElement.source.line[0] = (char) 0; + + /* if the current line is in the middle of the screen, then we want to + display the 'no source available' message in it. + Note: the 'weird' arithmetic with the line width and height comes from + the function tuiEraseSourceContent. We need to keep the screen and the + window's actual contents in synch */ + + if (curr_line == (nLines / 2 + 1)) + { + int i; + int xpos; + int warning_length = strlen (warning_string); + char *srcLine; + + srcLine = element->whichElement.source.line; + + if (warning_length >= ((lineWidth - 1) / 2)) + xpos = 1; + else + xpos = (lineWidth - 1) / 2 - warning_length; + + for (i = 0; i < xpos; i++) + srcLine[i] = ' '; + + sprintf (srcLine + i, "%s", warning_string); + + for (i = xpos + warning_length; i < lineWidth; i++) + srcLine[i] = ' '; + + srcLine[i] = '\n'; + + } /* end if */ + + curr_line++; + + } /* end while */ +} + + +/* Function to display source in the source window. This function + initializes the horizontal scroll to 0. */ +void +tuiShowSource (struct symtab *s, TuiLineOrAddress line, int noerror) +{ + srcWin->detail.sourceInfo.horizontalOffset = 0; + tuiUpdateSourceWindowAsIs(srcWin, s, line, noerror); +} + + +/* Answer whether the source is currently displayed in the source window. */ +int +tuiSourceIsDisplayed (char *fname) +{ + return (srcWin->generic.contentInUse && + (strcmp (((TuiWinElementPtr) (locatorWinInfoPtr ())-> + content[0])->whichElement.locator.fileName, fname) == 0)); +} + + +/* Scroll the source forward or backward vertically. */ +void +tuiVerticalSourceScroll (TuiScrollDirection scrollDirection, + int numToScroll) +{ + if (srcWin->generic.content != (OpaquePtr) NULL) + { + TuiLineOrAddress l; + struct symtab *s; + TuiWinContent content = (TuiWinContent) srcWin->generic.content; + struct symtab_and_line cursal = get_current_source_symtab_and_line (); + + if (cursal.symtab == (struct symtab *) NULL) + s = find_pc_symtab (get_frame_pc (deprecated_selected_frame)); + else + s = cursal.symtab; + + if (scrollDirection == FORWARD_SCROLL) + { + l.lineNo = content[0]->whichElement.source.lineOrAddr.lineNo + + numToScroll; + if (l.lineNo > s->nlines) + /*line = s->nlines - winInfo->generic.contentSize + 1; */ + /*elz: fix for dts 23398 */ + l.lineNo = content[0]->whichElement.source.lineOrAddr.lineNo; + } + else + { + l.lineNo = content[0]->whichElement.source.lineOrAddr.lineNo - + numToScroll; + if (l.lineNo <= 0) + l.lineNo = 1; + } + + print_source_lines (s, l.lineNo, l.lineNo + 1, 0); + } +} diff --git a/gdb/tui/tui-source.h b/gdb/tui/tui-source.h new file mode 100644 index 0000000..96cf865 --- /dev/null +++ b/gdb/tui/tui-source.h @@ -0,0 +1,33 @@ +/* TUI display source window. + Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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 _TUI_SOURCE_H +#define _TUI_SOURCE_H + +#include "defs.h" + +extern TuiStatus tuiSetSourceContent (struct symtab *, int, int); +extern void tuiShowSource (struct symtab *, TuiLineOrAddress, int); +extern int tuiSourceIsDisplayed (char *); +extern void tuiVerticalSourceScroll (TuiScrollDirection, int); + +#endif +/*_TUI_SOURCE_H*/ diff --git a/gdb/tui/tui-stack.c b/gdb/tui/tui-stack.c new file mode 100644 index 0000000..6bf64bb --- /dev/null +++ b/gdb/tui/tui-stack.c @@ -0,0 +1,435 @@ +/* TUI display locator. + + Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, + Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "symtab.h" +#include "breakpoint.h" +#include "frame.h" +#include "command.h" +#include "inferior.h" +#include "target.h" +#include "top.h" + +#include "tui/tui.h" +#include "tui/tui-data.h" +#include "tui/tui-stack.h" +#include "tui/tui-wingeneral.h" +#include "tui/tui-source.h" +#include "tui/tui-winsource.h" +#include "tui/tui-file.h" + +#ifdef HAVE_NCURSES_H +#include <ncurses.h> +#else +#ifdef HAVE_CURSES_H +#include <curses.h> +#endif +#endif + +/* Get a printable name for the function at the address. + The symbol name is demangled if demangling is turned on. + Returns a pointer to a static area holding the result. */ +static char* tui_get_function_from_frame (struct frame_info *fi); + +/* Set the filename portion of the locator. */ +static void tui_set_locator_filename (const char *filename); + +/* Update the locator, with the provided arguments. */ +static void tui_set_locator_info (const char *filename, const char *procname, + int lineno, CORE_ADDR addr); + +static void tui_update_command (char *, int); + + +/* Create the status line to display as much information as we + can on this single line: target name, process number, current + function, current line, current PC, SingleKey mode. */ +static char* +tui_make_status_line (TuiLocatorElement* loc) +{ + char* string; + char line_buf[50], *pname; + char* buf; + int status_size; + int i, proc_width; + const char* pid_name; + const char* pc_buf; + int target_width; + int pid_width; + int line_width; + int pc_width; + struct ui_file *pc_out; + + if (ptid_equal (inferior_ptid, null_ptid)) + pid_name = "No process"; + else + pid_name = target_pid_to_str (inferior_ptid); + + target_width = strlen (target_shortname); + if (target_width > MAX_TARGET_WIDTH) + target_width = MAX_TARGET_WIDTH; + + pid_width = strlen (pid_name); + if (pid_width > MAX_PID_WIDTH) + pid_width = MAX_PID_WIDTH; + + status_size = termWidth (); + string = (char *) xmalloc (status_size + 1); + buf = (char*) alloca (status_size + 1); + + /* Translate line number and obtain its size. */ + if (loc->lineNo > 0) + sprintf (line_buf, "%d", loc->lineNo); + else + strcpy (line_buf, "??"); + line_width = strlen (line_buf); + if (line_width < MIN_LINE_WIDTH) + line_width = MIN_LINE_WIDTH; + + /* Translate PC address. */ + pc_out = tui_sfileopen (128); + print_address_numeric (loc->addr, 1, pc_out); + pc_buf = tui_file_get_strbuf (pc_out); + pc_width = strlen (pc_buf); + + /* First determine the amount of proc name width we have available. + The +1 are for a space separator between fields. + The -1 are to take into account the \0 counted by sizeof. */ + proc_width = (status_size + - (target_width + 1) + - (pid_width + 1) + - (sizeof (PROC_PREFIX) - 1 + 1) + - (sizeof (LINE_PREFIX) - 1 + line_width + 1) + - (sizeof (PC_PREFIX) - 1 + pc_width + 1) + - (tui_current_key_mode == tui_single_key_mode + ? (sizeof (SINGLE_KEY) - 1 + 1) + : 0)); + + /* If there is no room to print the function name, try by removing + some fields. */ + if (proc_width < MIN_PROC_WIDTH) + { + proc_width += target_width + 1; + target_width = 0; + if (proc_width < MIN_PROC_WIDTH) + { + proc_width += pid_width + 1; + pid_width = 0; + if (proc_width <= MIN_PROC_WIDTH) + { + proc_width += pc_width + sizeof (PC_PREFIX) - 1 + 1; + pc_width = 0; + if (proc_width < 0) + { + proc_width += line_width + sizeof (LINE_PREFIX) - 1 + 1; + line_width = 0; + if (proc_width < 0) + proc_width = 0; + } + } + } + } + + /* Now convert elements to string form */ + pname = loc->procName; + + /* Now create the locator line from the string version + of the elements. We could use sprintf() here but + that wouldn't ensure that we don't overrun the size + of the allocated buffer. strcat_to_buf() will. */ + *string = (char) 0; + + if (target_width > 0) + { + sprintf (buf, "%*.*s ", + -target_width, target_width, target_shortname); + strcat_to_buf (string, status_size, buf); + } + if (pid_width > 0) + { + sprintf (buf, "%*.*s ", + -pid_width, pid_width, pid_name); + strcat_to_buf (string, status_size, buf); + } + + /* Show whether we are in SingleKey mode. */ + if (tui_current_key_mode == tui_single_key_mode) + { + strcat_to_buf (string, status_size, SINGLE_KEY); + strcat_to_buf (string, status_size, " "); + } + + /* procedure/class name */ + if (proc_width > 0) + { + if (strlen (pname) > proc_width) + sprintf (buf, "%s%*.*s* ", PROC_PREFIX, + 1 - proc_width, proc_width - 1, pname); + else + sprintf (buf, "%s%*.*s ", PROC_PREFIX, + -proc_width, proc_width, pname); + strcat_to_buf (string, status_size, buf); + } + + if (line_width > 0) + { + sprintf (buf, "%s%*.*s ", LINE_PREFIX, + -line_width, line_width, line_buf); + strcat_to_buf (string, status_size, buf); + } + if (pc_width > 0) + { + strcat_to_buf (string, status_size, PC_PREFIX); + strcat_to_buf (string, status_size, pc_buf); + } + + + for (i = strlen (string); i < status_size; i++) + string[i] = ' '; + string[status_size] = (char) 0; + + ui_file_delete (pc_out); + return string; +} + +/* Get a printable name for the function at the address. + The symbol name is demangled if demangling is turned on. + Returns a pointer to a static area holding the result. */ +static char* +tui_get_function_from_frame (struct frame_info *fi) +{ + static char name[256]; + struct ui_file *stream = tui_sfileopen (256); + char *p; + + print_address_symbolic (get_frame_pc (fi), stream, demangle, ""); + p = tui_file_get_strbuf (stream); + + /* Use simple heuristics to isolate the function name. The symbol can + be demangled and we can have function parameters. Remove them because + the status line is too short to display them. */ + if (*p == '<') + p++; + strncpy (name, p, sizeof (name)); + p = strchr (name, '('); + if (!p) + p = strchr (name, '>'); + if (p) + *p = 0; + p = strchr (name, '+'); + if (p) + *p = 0; + ui_file_delete (stream); + return name; +} + +/* + ** tuiShowLocatorContent() + */ +void +tuiShowLocatorContent (void) +{ + char *string; + TuiGenWinInfoPtr locator; + + locator = locatorWinInfoPtr (); + + if (m_genWinPtrNotNull (locator) && locator->handle != (WINDOW *) NULL) + { + TuiWinElementPtr element; + + element = (TuiWinElementPtr) locator->content[0]; + + string = tui_make_status_line (&element->whichElement.locator); + wmove (locator->handle, 0, 0); + wstandout (locator->handle); + waddstr (locator->handle, string); + wclrtoeol (locator->handle); + wstandend (locator->handle); + tuiRefreshWin (locator); + wmove (locator->handle, 0, 0); + xfree (string); + locator->contentInUse = TRUE; + } +} + + +/* Set the filename portion of the locator. */ +static void +tui_set_locator_filename (const char *filename) +{ + TuiGenWinInfoPtr locator = locatorWinInfoPtr (); + TuiLocatorElementPtr element; + + if (locator->content[0] == (Opaque) NULL) + { + tui_set_locator_info (filename, NULL, 0, 0); + return; + } + + element = &((TuiWinElementPtr) locator->content[0])->whichElement.locator; + element->fileName[0] = 0; + strcat_to_buf (element->fileName, MAX_LOCATOR_ELEMENT_LEN, filename); +} + +/* Update the locator, with the provided arguments. */ +static void +tui_set_locator_info (const char *filename, const char *procname, int lineno, + CORE_ADDR addr) +{ + TuiGenWinInfoPtr locator = locatorWinInfoPtr (); + TuiLocatorElementPtr element; + + /* Allocate the locator content if necessary. */ + if (locator->contentSize <= 0) + { + locator->content = (OpaquePtr) allocContent (1, locator->type); + locator->contentSize = 1; + } + + element = &((TuiWinElementPtr) locator->content[0])->whichElement.locator; + element->procName[0] = (char) 0; + strcat_to_buf (element->procName, MAX_LOCATOR_ELEMENT_LEN, procname); + element->lineNo = lineno; + element->addr = addr; + tui_set_locator_filename (filename); +} + +/* Update only the filename portion of the locator. */ +void +tuiUpdateLocatorFilename (const char *filename) +{ + tui_set_locator_filename (filename); + tuiShowLocatorContent (); +} + +/* Function to print the frame information for the TUI. */ +void +tuiShowFrameInfo (struct frame_info *fi) +{ + TuiWinInfoPtr winInfo; + register int i; + + if (fi) + { + register int startLine, i; + CORE_ADDR low; + TuiGenWinInfoPtr locator = locatorWinInfoPtr (); + int sourceAlreadyDisplayed; + struct symtab_and_line sal; + + find_frame_sal (fi, &sal); + + sourceAlreadyDisplayed = sal.symtab != 0 + && tuiSourceIsDisplayed (sal.symtab->filename); + tui_set_locator_info (sal.symtab == 0 ? "??" : sal.symtab->filename, + tui_get_function_from_frame (fi), + sal.line, + get_frame_pc (fi)); + tuiShowLocatorContent (); + startLine = 0; + for (i = 0; i < (sourceWindows ())->count; i++) + { + TuiWhichElement *item; + winInfo = (TuiWinInfoPtr) (sourceWindows ())->list[i]; + + item = &((TuiWinElementPtr) locator->content[0])->whichElement; + if (winInfo == srcWin) + { + startLine = (item->locator.lineNo - + (winInfo->generic.viewportHeight / 2)) + 1; + if (startLine <= 0) + startLine = 1; + } + else + { + if (find_pc_partial_function (get_frame_pc (fi), (char **) NULL, + &low, (CORE_ADDR) NULL) == 0) + error ("No function contains program counter for selected frame.\n"); + else + low = tuiGetLowDisassemblyAddress (low, get_frame_pc (fi)); + } + + if (winInfo == srcWin) + { + TuiLineOrAddress l; + l.lineNo = startLine; + if (!(sourceAlreadyDisplayed + && tuiLineIsDisplayed (item->locator.lineNo, winInfo, TRUE))) + tuiUpdateSourceWindow (winInfo, sal.symtab, l, TRUE); + else + { + l.lineNo = item->locator.lineNo; + tuiSetIsExecPointAt (l, winInfo); + } + } + else + { + if (winInfo == disassemWin) + { + TuiLineOrAddress a; + a.addr = low; + if (!tuiAddrIsDisplayed (item->locator.addr, winInfo, TRUE)) + tuiUpdateSourceWindow (winInfo, sal.symtab, a, TRUE); + else + { + a.addr = item->locator.addr; + tuiSetIsExecPointAt (a, winInfo); + } + } + } + tuiUpdateExecInfo (winInfo); + } + } + else + { + tui_set_locator_info (NULL, NULL, 0, (CORE_ADDR) 0); + tuiShowLocatorContent (); + for (i = 0; i < (sourceWindows ())->count; i++) + { + winInfo = (TuiWinInfoPtr) (sourceWindows ())->list[i]; + tuiClearSourceContent (winInfo, EMPTY_SOURCE_PROMPT); + tuiUpdateExecInfo (winInfo); + } + } +} + +/* Function to initialize gdb commands, for tui window stack manipulation. */ +void +_initialize_tuiStack (void) +{ + add_com ("update", class_tui, tui_update_command, + "Update the source window and locator to display the current " + "execution point.\n"); +} + +/* Command to update the display with the current execution point. */ +static void +tui_update_command (char *arg, int from_tty) +{ + char cmd[sizeof("frame 0")]; + + strcpy (cmd, "frame 0"); + execute_command (cmd, from_tty); +} diff --git a/gdb/tui/tui-stack.h b/gdb/tui/tui-stack.h new file mode 100644 index 0000000..14be497 --- /dev/null +++ b/gdb/tui/tui-stack.h @@ -0,0 +1,33 @@ +/* TUI display locator. + Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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 _TUI_STACK_H +#define _TUI_STACK_H +/* + ** This header file supports + */ + +extern void tuiUpdateLocatorFilename (const char *); +extern void tuiShowLocatorContent (void); +extern void tuiShowFrameInfo (struct frame_info *); + +#endif +/*_TUI_STACK_H*/ diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c new file mode 100644 index 0000000..a7d35ce --- /dev/null +++ b/gdb/tui/tui-win.c @@ -0,0 +1,1615 @@ +/* TUI window generic functions. + + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software + Foundation, Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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. */ + +/* This module contains procedures for handling tui window functions + like resize, scrolling, scrolling, changing focus, etc. + + Author: Susan B. Macchia */ + +#include "defs.h" +#include "command.h" +#include "symtab.h" +#include "breakpoint.h" +#include "frame.h" +#include "cli/cli-cmds.h" +#include "top.h" +#include "source.h" + +#include "tui/tui.h" +#include "tui/tui-data.h" +#include "tui/tui-wingeneral.h" +#include "tui/tui-stack.h" +#include "tui/tui-regs.h" +#include "tui/tui-disasm.h" +#include "tui/tui-source.h" +#include "tui/tui-winsource.h" +#include "tui/tui-windata.h" + +#ifdef HAVE_NCURSES_H +#include <ncurses.h> +#else +#ifdef HAVE_CURSES_H +#include <curses.h> +#endif +#endif + +#include <string.h> +#include <ctype.h> +#include <readline/readline.h> + +/******************************* +** Static Local Decls +********************************/ +static void _makeVisibleWithNewHeight (TuiWinInfoPtr); +static void _makeInvisibleAndSetNewHeight (TuiWinInfoPtr, int); +static TuiStatus _tuiAdjustWinHeights (TuiWinInfoPtr, int); +static int _newHeightOk (TuiWinInfoPtr, int); +static void _tuiSetTabWidth_command (char *, int); +static void _tuiRefreshAll_command (char *, int); +static void _tuiSetWinHeight_command (char *, int); +static void _tuiXDBsetWinHeight_command (char *, int); +static void _tuiAllWindowsInfo (char *, int); +static void _tuiSetFocus_command (char *, int); +static void _tuiScrollForward_command (char *, int); +static void _tuiScrollBackward_command (char *, int); +static void _tuiScrollLeft_command (char *, int); +static void _tuiScrollRight_command (char *, int); +static void _parseScrollingArgs (char *, TuiWinInfoPtr *, int *); + + +/*************************************** +** DEFINITIONS +***************************************/ +#define WIN_HEIGHT_USAGE "Usage: winheight <win_name> [+ | -] <#lines>\n" +#define XDBWIN_HEIGHT_USAGE "Usage: w <#lines>\n" +#define FOCUS_USAGE "Usage: focus {<win> | next | prev}\n" + +/*************************************** +** PUBLIC FUNCTIONS +***************************************/ + +#ifndef ACS_LRCORNER +# define ACS_LRCORNER '+' +#endif +#ifndef ACS_LLCORNER +# define ACS_LLCORNER '+' +#endif +#ifndef ACS_ULCORNER +# define ACS_ULCORNER '+' +#endif +#ifndef ACS_URCORNER +# define ACS_URCORNER '+' +#endif +#ifndef ACS_HLINE +# define ACS_HLINE '-' +#endif +#ifndef ACS_VLINE +# define ACS_VLINE '|' +#endif + +/* Possible values for tui-border-kind variable. */ +static const char *tui_border_kind_enums[] = { + "space", + "ascii", + "acs", + NULL +}; + +/* Possible values for tui-border-mode and tui-active-border-mode. */ +static const char *tui_border_mode_enums[] = { + "normal", + "standout", + "reverse", + "half", + "half-standout", + "bold", + "bold-standout", + NULL +}; + +struct tui_translate +{ + const char *name; + int value; +}; + +/* Translation table for border-mode variables. + The list of values must be terminated by a NULL. + After the NULL value, an entry defines the default. */ +struct tui_translate tui_border_mode_translate[] = { + { "normal", A_NORMAL }, + { "standout", A_STANDOUT }, + { "reverse", A_REVERSE }, + { "half", A_DIM }, + { "half-standout", A_DIM | A_STANDOUT }, + { "bold", A_BOLD }, + { "bold-standout", A_BOLD | A_STANDOUT }, + { 0, 0 }, + { "normal", A_NORMAL } +}; + +/* Translation tables for border-kind, one for each border + character (see wborder, border curses operations). + -1 is used to indicate the ACS because ACS characters + are determined at run time by curses (depends on terminal). */ +struct tui_translate tui_border_kind_translate_vline[] = { + { "space", ' ' }, + { "ascii", '|' }, + { "acs", -1 }, + { 0, 0 }, + { "ascii", '|' } +}; + +struct tui_translate tui_border_kind_translate_hline[] = { + { "space", ' ' }, + { "ascii", '-' }, + { "acs", -1 }, + { 0, 0 }, + { "ascii", '-' } +}; + +struct tui_translate tui_border_kind_translate_ulcorner[] = { + { "space", ' ' }, + { "ascii", '+' }, + { "acs", -1 }, + { 0, 0 }, + { "ascii", '+' } +}; + +struct tui_translate tui_border_kind_translate_urcorner[] = { + { "space", ' ' }, + { "ascii", '+' }, + { "acs", -1 }, + { 0, 0 }, + { "ascii", '+' } +}; + +struct tui_translate tui_border_kind_translate_llcorner[] = { + { "space", ' ' }, + { "ascii", '+' }, + { "acs", -1 }, + { 0, 0 }, + { "ascii", '+' } +}; + +struct tui_translate tui_border_kind_translate_lrcorner[] = { + { "space", ' ' }, + { "ascii", '+' }, + { "acs", -1 }, + { 0, 0 }, + { "ascii", '+' } +}; + + +/* Tui configuration variables controlled with set/show command. */ +const char *tui_active_border_mode = "bold-standout"; +const char *tui_border_mode = "normal"; +const char *tui_border_kind = "acs"; + +/* Tui internal configuration variables. These variables are + updated by tui_update_variables to reflect the tui configuration + variables. */ +chtype tui_border_vline; +chtype tui_border_hline; +chtype tui_border_ulcorner; +chtype tui_border_urcorner; +chtype tui_border_llcorner; +chtype tui_border_lrcorner; + +int tui_border_attrs; +int tui_active_border_attrs; + +/* Identify the item in the translation table. + When the item is not recognized, use the default entry. */ +static struct tui_translate * +translate (const char *name, struct tui_translate *table) +{ + while (table->name) + { + if (name && strcmp (table->name, name) == 0) + return table; + table++; + } + + /* Not found, return default entry. */ + table++; + return table; +} + +/* Update the tui internal configuration according to gdb settings. + Returns 1 if the configuration has changed and the screen should + be redrawn. */ +int +tui_update_variables () +{ + int need_redraw = 0; + struct tui_translate *entry; + + entry = translate (tui_border_mode, tui_border_mode_translate); + if (tui_border_attrs != entry->value) + { + tui_border_attrs = entry->value; + need_redraw = 1; + } + entry = translate (tui_active_border_mode, tui_border_mode_translate); + if (tui_active_border_attrs != entry->value) + { + tui_active_border_attrs = entry->value; + need_redraw = 1; + } + + /* If one corner changes, all characters are changed. + Only check the first one. The ACS characters are determined at + run time by curses terminal management. */ + entry = translate (tui_border_kind, tui_border_kind_translate_lrcorner); + if (tui_border_lrcorner != (chtype) entry->value) + { + tui_border_lrcorner = (entry->value < 0) ? ACS_LRCORNER : entry->value; + need_redraw = 1; + } + entry = translate (tui_border_kind, tui_border_kind_translate_llcorner); + tui_border_llcorner = (entry->value < 0) ? ACS_LLCORNER : entry->value; + + entry = translate (tui_border_kind, tui_border_kind_translate_ulcorner); + tui_border_ulcorner = (entry->value < 0) ? ACS_ULCORNER : entry->value; + + entry = translate (tui_border_kind, tui_border_kind_translate_urcorner); + tui_border_urcorner = (entry->value < 0) ? ACS_URCORNER : entry->value; + + entry = translate (tui_border_kind, tui_border_kind_translate_hline); + tui_border_hline = (entry->value < 0) ? ACS_HLINE : entry->value; + + entry = translate (tui_border_kind, tui_border_kind_translate_vline); + tui_border_vline = (entry->value < 0) ? ACS_VLINE : entry->value; + + return need_redraw; +} + +static void +set_tui_cmd (char *args, int from_tty) +{ +} + +static void +show_tui_cmd (char *args, int from_tty) +{ +} + +/* + ** _initialize_tuiWin(). + ** Function to initialize gdb commands, for tui window manipulation. + */ +void +_initialize_tuiWin (void) +{ + struct cmd_list_element *c; + static struct cmd_list_element *tui_setlist; + static struct cmd_list_element *tui_showlist; + + /* Define the classes of commands. + They will appear in the help list in the reverse of this order. */ + add_cmd ("tui", class_tui, NULL, + "Text User Interface commands.", + &cmdlist); + + add_prefix_cmd ("tui", class_tui, set_tui_cmd, + "TUI configuration variables", + &tui_setlist, "set tui ", + 0/*allow-unknown*/, &setlist); + add_prefix_cmd ("tui", class_tui, show_tui_cmd, + "TUI configuration variables", + &tui_showlist, "show tui ", + 0/*allow-unknown*/, &showlist); + + add_com ("refresh", class_tui, _tuiRefreshAll_command, + "Refresh the terminal display.\n"); + if (xdb_commands) + add_com_alias ("U", "refresh", class_tui, 0); + add_com ("tabset", class_tui, _tuiSetTabWidth_command, + "Set the width (in characters) of tab stops.\n\ +Usage: tabset <n>\n"); + add_com ("winheight", class_tui, _tuiSetWinHeight_command, + "Set the height of a specified window.\n\ +Usage: winheight <win_name> [+ | -] <#lines>\n\ +Window names are:\n\ +src : the source window\n\ +cmd : the command window\n\ +asm : the disassembly window\n\ +regs : the register display\n"); + add_com_alias ("wh", "winheight", class_tui, 0); + add_info ("win", _tuiAllWindowsInfo, + "List of all displayed windows.\n"); + add_com ("focus", class_tui, _tuiSetFocus_command, + "Set focus to named window or next/prev window.\n\ +Usage: focus {<win> | next | prev}\n\ +Valid Window names are:\n\ +src : the source window\n\ +asm : the disassembly window\n\ +regs : the register display\n\ +cmd : the command window\n"); + add_com_alias ("fs", "focus", class_tui, 0); + add_com ("+", class_tui, _tuiScrollForward_command, + "Scroll window forward.\nUsage: + [win] [n]\n"); + add_com ("-", class_tui, _tuiScrollBackward_command, + "Scroll window backward.\nUsage: - [win] [n]\n"); + add_com ("<", class_tui, _tuiScrollLeft_command, + "Scroll window forward.\nUsage: < [win] [n]\n"); + add_com (">", class_tui, _tuiScrollRight_command, + "Scroll window backward.\nUsage: > [win] [n]\n"); + if (xdb_commands) + add_com ("w", class_xdb, _tuiXDBsetWinHeight_command, + "XDB compatibility command for setting the height of a command window.\n\ +Usage: w <#lines>\n"); + + /* Define the tui control variables. */ + c = add_set_enum_cmd + ("border-kind", no_class, + tui_border_kind_enums, &tui_border_kind, + "Set the kind of border for TUI windows.\n" + "This variable controls the border of TUI windows:\n" + "space use a white space\n" + "ascii use ascii characters + - | for the border\n" + "acs use the Alternate Character Set\n", + &tui_setlist); + add_show_from_set (c, &tui_showlist); + + c = add_set_enum_cmd + ("border-mode", no_class, + tui_border_mode_enums, &tui_border_mode, + "Set the attribute mode to use for the TUI window borders.\n" + "This variable controls the attributes to use for the window borders:\n" + "normal normal display\n" + "standout use highlight mode of terminal\n" + "reverse use reverse video mode\n" + "half use half bright\n" + "half-standout use half bright and standout mode\n" + "bold use extra bright or bold\n" + "bold-standout use extra bright or bold with standout mode\n", + &tui_setlist); + add_show_from_set (c, &tui_showlist); + + c = add_set_enum_cmd + ("active-border-mode", no_class, + tui_border_mode_enums, &tui_active_border_mode, + "Set the attribute mode to use for the active TUI window border.\n" + "This variable controls the attributes to use for the active window border:\n" + "normal normal display\n" + "standout use highlight mode of terminal\n" + "reverse use reverse video mode\n" + "half use half bright\n" + "half-standout use half bright and standout mode\n" + "bold use extra bright or bold\n" + "bold-standout use extra bright or bold with standout mode\n", + &tui_setlist); + add_show_from_set (c, &tui_showlist); +} + +/* Update gdb's knowledge of the terminal size. */ +void +tui_update_gdb_sizes () +{ + char cmd[50]; + int screenheight, screenwidth; + + rl_get_screen_size (&screenheight, &screenwidth); + /* Set to TUI command window dimension or use readline values. */ + sprintf (cmd, "set width %d", + tui_active ? cmdWin->generic.width : screenwidth); + execute_command (cmd, 0); + sprintf (cmd, "set height %d", + tui_active ? cmdWin->generic.height : screenheight); + execute_command (cmd, 0); +} + + +/* + ** tuiSetWinFocusTo + ** Set the logical focus to winInfo + */ +void +tuiSetWinFocusTo (TuiWinInfoPtr winInfo) +{ + if (m_winPtrNotNull (winInfo)) + { + TuiWinInfoPtr winWithFocus = tuiWinWithFocus (); + + if (m_winPtrNotNull (winWithFocus) && + winWithFocus->generic.type != CMD_WIN) + unhighlightWin (winWithFocus); + tuiSetWinWithFocus (winInfo); + if (winInfo->generic.type != CMD_WIN) + highlightWin (winInfo); + } + + return; +} /* tuiSetWinFocusTo */ + + +/* + ** tuiScrollForward(). + */ +void +tuiScrollForward (TuiWinInfoPtr winToScroll, int numToScroll) +{ + if (winToScroll != cmdWin) + { + int _numToScroll = numToScroll; + + if (numToScroll == 0) + _numToScroll = winToScroll->generic.height - 3; + /* + ** If we are scrolling the source or disassembly window, do a + ** "psuedo" scroll since not all of the source is in memory, + ** only what is in the viewport. If winToScroll is the + ** command window do nothing since the term should handle it. + */ + if (winToScroll == srcWin) + tuiVerticalSourceScroll (FORWARD_SCROLL, _numToScroll); + else if (winToScroll == disassemWin) + tui_vertical_disassem_scroll (FORWARD_SCROLL, _numToScroll); + else if (winToScroll == dataWin) + tuiVerticalDataScroll (FORWARD_SCROLL, _numToScroll); + } + + return; +} /* tuiScrollForward */ + + +/* + ** tuiScrollBackward(). + */ +void +tuiScrollBackward (TuiWinInfoPtr winToScroll, int numToScroll) +{ + if (winToScroll != cmdWin) + { + int _numToScroll = numToScroll; + + if (numToScroll == 0) + _numToScroll = winToScroll->generic.height - 3; + /* + ** If we are scrolling the source or disassembly window, do a + ** "psuedo" scroll since not all of the source is in memory, + ** only what is in the viewport. If winToScroll is the + ** command window do nothing since the term should handle it. + */ + if (winToScroll == srcWin) + tuiVerticalSourceScroll (BACKWARD_SCROLL, _numToScroll); + else if (winToScroll == disassemWin) + tui_vertical_disassem_scroll (BACKWARD_SCROLL, _numToScroll); + else if (winToScroll == dataWin) + tuiVerticalDataScroll (BACKWARD_SCROLL, _numToScroll); + } + return; +} /* tuiScrollBackward */ + + +/* + ** tuiScrollLeft(). + */ +void +tuiScrollLeft (TuiWinInfoPtr winToScroll, int numToScroll) +{ + if (winToScroll != cmdWin) + { + int _numToScroll = numToScroll; + + if (_numToScroll == 0) + _numToScroll = 1; + /* + ** If we are scrolling the source or disassembly window, do a + ** "psuedo" scroll since not all of the source is in memory, + ** only what is in the viewport. If winToScroll is the + ** command window do nothing since the term should handle it. + */ + if (winToScroll == srcWin || winToScroll == disassemWin) + tuiHorizontalSourceScroll (winToScroll, LEFT_SCROLL, _numToScroll); + } + return; +} /* tuiScrollLeft */ + + +/* + ** tuiScrollRight(). + */ +void +tuiScrollRight (TuiWinInfoPtr winToScroll, int numToScroll) +{ + if (winToScroll != cmdWin) + { + int _numToScroll = numToScroll; + + if (_numToScroll == 0) + _numToScroll = 1; + /* + ** If we are scrolling the source or disassembly window, do a + ** "psuedo" scroll since not all of the source is in memory, + ** only what is in the viewport. If winToScroll is the + ** command window do nothing since the term should handle it. + */ + if (winToScroll == srcWin || winToScroll == disassemWin) + tuiHorizontalSourceScroll (winToScroll, RIGHT_SCROLL, _numToScroll); + } + return; +} /* tuiScrollRight */ + + +/* + ** tui_scroll(). + ** Scroll a window. Arguments are passed through a va_list. + */ +void +tui_scroll (TuiScrollDirection direction, + TuiWinInfoPtr winToScroll, + int numToScroll) +{ + switch (direction) + { + case FORWARD_SCROLL: + tuiScrollForward (winToScroll, numToScroll); + break; + case BACKWARD_SCROLL: + tuiScrollBackward (winToScroll, numToScroll); + break; + case LEFT_SCROLL: + tuiScrollLeft (winToScroll, numToScroll); + break; + case RIGHT_SCROLL: + tuiScrollRight (winToScroll, numToScroll); + break; + default: + break; + } +} + + +/* + ** tuiRefreshAll(). + */ +void +tuiRefreshAll (void) +{ + TuiWinType type; + + clearok (curscr, TRUE); + refreshAll (winList); + for (type = SRC_WIN; type < MAX_MAJOR_WINDOWS; type++) + { + if (winList[type] && winList[type]->generic.isVisible) + { + switch (type) + { + case SRC_WIN: + case DISASSEM_WIN: + tuiShowSourceContent (winList[type]); + checkAndDisplayHighlightIfNeeded (winList[type]); + tuiEraseExecInfoContent (winList[type]); + tuiUpdateExecInfo (winList[type]); + break; + case DATA_WIN: + tuiRefreshDataWin (); + break; + default: + break; + } + } + } + tuiShowLocatorContent (); +} + + +/* + ** tuiResizeAll(). + ** Resize all the windows based on the the terminal size. This + ** function gets called from within the readline sinwinch handler. + */ +void +tuiResizeAll (void) +{ + int heightDiff, widthDiff; + int screenheight, screenwidth; + + rl_get_screen_size (&screenheight, &screenwidth); + widthDiff = screenwidth - termWidth (); + heightDiff = screenheight - termHeight (); + if (heightDiff || widthDiff) + { + TuiLayoutType curLayout = currentLayout (); + TuiWinInfoPtr winWithFocus = tuiWinWithFocus (); + TuiWinInfoPtr firstWin, secondWin; + TuiGenWinInfoPtr locator = locatorWinInfoPtr (); + TuiWinType winType; + int newHeight, splitDiff, cmdSplitDiff, numWinsDisplayed = 2; + + /* turn keypad off while we resize */ + if (winWithFocus != cmdWin) + keypad (cmdWin->generic.handle, FALSE); + tui_update_gdb_sizes (); + setTermHeightTo (screenheight); + setTermWidthTo (screenwidth); + if (curLayout == SRC_DISASSEM_COMMAND || + curLayout == SRC_DATA_COMMAND || curLayout == DISASSEM_DATA_COMMAND) + numWinsDisplayed++; + splitDiff = heightDiff / numWinsDisplayed; + cmdSplitDiff = splitDiff; + if (heightDiff % numWinsDisplayed) + { + if (heightDiff < 0) + cmdSplitDiff--; + else + cmdSplitDiff++; + } + /* now adjust each window */ + clear (); + refresh (); + switch (curLayout) + { + case SRC_COMMAND: + case DISASSEM_COMMAND: + firstWin = (TuiWinInfoPtr) (sourceWindows ())->list[0]; + firstWin->generic.width += widthDiff; + locator->width += widthDiff; + /* check for invalid heights */ + if (heightDiff == 0) + newHeight = firstWin->generic.height; + else if ((firstWin->generic.height + splitDiff) >= + (screenheight - MIN_CMD_WIN_HEIGHT - 1)) + newHeight = screenheight - MIN_CMD_WIN_HEIGHT - 1; + else if ((firstWin->generic.height + splitDiff) <= 0) + newHeight = MIN_WIN_HEIGHT; + else + newHeight = firstWin->generic.height + splitDiff; + + _makeInvisibleAndSetNewHeight (firstWin, newHeight); + cmdWin->generic.origin.y = locator->origin.y + 1; + cmdWin->generic.width += widthDiff; + newHeight = screenheight - cmdWin->generic.origin.y; + _makeInvisibleAndSetNewHeight (cmdWin, newHeight); + _makeVisibleWithNewHeight (firstWin); + _makeVisibleWithNewHeight (cmdWin); + if (firstWin->generic.contentSize <= 0) + tuiEraseSourceContent (firstWin, EMPTY_SOURCE_PROMPT); + break; + default: + if (curLayout == SRC_DISASSEM_COMMAND) + { + firstWin = srcWin; + firstWin->generic.width += widthDiff; + secondWin = disassemWin; + secondWin->generic.width += widthDiff; + } + else + { + firstWin = dataWin; + firstWin->generic.width += widthDiff; + secondWin = (TuiWinInfoPtr) (sourceWindows ())->list[0]; + secondWin->generic.width += widthDiff; + } + /* Change the first window's height/width */ + /* check for invalid heights */ + if (heightDiff == 0) + newHeight = firstWin->generic.height; + else if ((firstWin->generic.height + + secondWin->generic.height + (splitDiff * 2)) >= + (screenheight - MIN_CMD_WIN_HEIGHT - 1)) + newHeight = (screenheight - MIN_CMD_WIN_HEIGHT - 1) / 2; + else if ((firstWin->generic.height + splitDiff) <= 0) + newHeight = MIN_WIN_HEIGHT; + else + newHeight = firstWin->generic.height + splitDiff; + _makeInvisibleAndSetNewHeight (firstWin, newHeight); + + if (firstWin == dataWin && widthDiff != 0) + firstWin->detail.dataDisplayInfo.regsColumnCount = + tui_calculate_regs_column_count ( + firstWin->detail.dataDisplayInfo.regsDisplayType); + locator->width += widthDiff; + + /* Change the second window's height/width */ + /* check for invalid heights */ + if (heightDiff == 0) + newHeight = secondWin->generic.height; + else if ((firstWin->generic.height + + secondWin->generic.height + (splitDiff * 2)) >= + (screenheight - MIN_CMD_WIN_HEIGHT - 1)) + { + newHeight = screenheight - MIN_CMD_WIN_HEIGHT - 1; + if (newHeight % 2) + newHeight = (newHeight / 2) + 1; + else + newHeight /= 2; + } + else if ((secondWin->generic.height + splitDiff) <= 0) + newHeight = MIN_WIN_HEIGHT; + else + newHeight = secondWin->generic.height + splitDiff; + secondWin->generic.origin.y = firstWin->generic.height - 1; + _makeInvisibleAndSetNewHeight (secondWin, newHeight); + + /* Change the command window's height/width */ + cmdWin->generic.origin.y = locator->origin.y + 1; + _makeInvisibleAndSetNewHeight ( + cmdWin, cmdWin->generic.height + cmdSplitDiff); + _makeVisibleWithNewHeight (firstWin); + _makeVisibleWithNewHeight (secondWin); + _makeVisibleWithNewHeight (cmdWin); + if (firstWin->generic.contentSize <= 0) + tuiEraseSourceContent (firstWin, EMPTY_SOURCE_PROMPT); + if (secondWin->generic.contentSize <= 0) + tuiEraseSourceContent (secondWin, EMPTY_SOURCE_PROMPT); + break; + } + /* + ** Now remove all invisible windows, and their content so that they get + ** created again when called for with the new size + */ + for (winType = SRC_WIN; (winType < MAX_MAJOR_WINDOWS); winType++) + { + if (winType != CMD_WIN && m_winPtrNotNull (winList[winType]) && + !winList[winType]->generic.isVisible) + { + freeWindow (winList[winType]); + winList[winType] = (TuiWinInfoPtr) NULL; + } + } + tuiSetWinResizedTo (TRUE); + /* turn keypad back on, unless focus is in the command window */ + if (winWithFocus != cmdWin) + keypad (cmdWin->generic.handle, TRUE); + } + return; +} /* tuiResizeAll */ + + +/* + ** tuiSigwinchHandler() + ** SIGWINCH signal handler for the tui. This signal handler is + ** always called, even when the readline package clears signals + ** because it is set as the old_sigwinch() (TUI only) + */ +void +tuiSigwinchHandler (int signal) +{ + /* + ** Say that a resize was done so that the readline can do it + ** later when appropriate. + */ + tuiSetWinResizedTo (TRUE); + + return; +} /* tuiSigwinchHandler */ + + + +/************************* +** STATIC LOCAL FUNCTIONS +**************************/ + + +/* + ** _tuiScrollForward_command(). + */ +static void +_tuiScrollForward_command (char *arg, int fromTTY) +{ + int numToScroll = 1; + TuiWinInfoPtr winToScroll; + + /* Make sure the curses mode is enabled. */ + tui_enable (); + if (arg == (char *) NULL) + _parseScrollingArgs (arg, &winToScroll, (int *) NULL); + else + _parseScrollingArgs (arg, &winToScroll, &numToScroll); + tui_scroll (FORWARD_SCROLL, winToScroll, numToScroll); +} + + +/* + ** _tuiScrollBackward_command(). + */ +static void +_tuiScrollBackward_command (char *arg, int fromTTY) +{ + int numToScroll = 1; + TuiWinInfoPtr winToScroll; + + /* Make sure the curses mode is enabled. */ + tui_enable (); + if (arg == (char *) NULL) + _parseScrollingArgs (arg, &winToScroll, (int *) NULL); + else + _parseScrollingArgs (arg, &winToScroll, &numToScroll); + tui_scroll (BACKWARD_SCROLL, winToScroll, numToScroll); +} + + +/* + ** _tuiScrollLeft_command(). + */ +static void +_tuiScrollLeft_command (char *arg, int fromTTY) +{ + int numToScroll; + TuiWinInfoPtr winToScroll; + + /* Make sure the curses mode is enabled. */ + tui_enable (); + _parseScrollingArgs (arg, &winToScroll, &numToScroll); + tui_scroll (LEFT_SCROLL, winToScroll, numToScroll); +} + + +/* + ** _tuiScrollRight_command(). + */ +static void +_tuiScrollRight_command (char *arg, int fromTTY) +{ + int numToScroll; + TuiWinInfoPtr winToScroll; + + /* Make sure the curses mode is enabled. */ + tui_enable (); + _parseScrollingArgs (arg, &winToScroll, &numToScroll); + tui_scroll (RIGHT_SCROLL, winToScroll, numToScroll); +} + + +/* + ** _tuiSetFocus(). + ** Set focus to the window named by 'arg' + */ +static void +_tuiSetFocus (char *arg, int fromTTY) +{ + if (arg != (char *) NULL) + { + char *bufPtr = (char *) xstrdup (arg); + int i; + TuiWinInfoPtr winInfo = (TuiWinInfoPtr) NULL; + + for (i = 0; (i < strlen (bufPtr)); i++) + bufPtr[i] = toupper (arg[i]); + + if (subset_compare (bufPtr, "NEXT")) + winInfo = tuiNextWin (tuiWinWithFocus ()); + else if (subset_compare (bufPtr, "PREV")) + winInfo = tuiPrevWin (tuiWinWithFocus ()); + else + winInfo = partialWinByName (bufPtr); + + if (winInfo == (TuiWinInfoPtr) NULL || !winInfo->generic.isVisible) + warning ("Invalid window specified. \n\ +The window name specified must be valid and visible.\n"); + else + { + tuiSetWinFocusTo (winInfo); + keypad (cmdWin->generic.handle, (winInfo != cmdWin)); + } + + if (dataWin && dataWin->generic.isVisible) + tuiRefreshDataWin (); + tuiFree (bufPtr); + printf_filtered ("Focus set to %s window.\n", + winName ((TuiGenWinInfoPtr) tuiWinWithFocus ())); + } + else + warning ("Incorrect Number of Arguments.\n%s", FOCUS_USAGE); + + return; +} /* _tuiSetFocus */ + +/* + ** _tuiSetFocus_command() + */ +static void +_tuiSetFocus_command (char *arg, int fromTTY) +{ + /* Make sure the curses mode is enabled. */ + tui_enable (); + _tuiSetFocus (arg, fromTTY); +} + + +/* + ** _tuiAllWindowsInfo(). + */ +static void +_tuiAllWindowsInfo (char *arg, int fromTTY) +{ + TuiWinType type; + TuiWinInfoPtr winWithFocus = tuiWinWithFocus (); + + for (type = SRC_WIN; (type < MAX_MAJOR_WINDOWS); type++) + if (winList[type] && winList[type]->generic.isVisible) + { + if (winWithFocus == winList[type]) + printf_filtered (" %s\t(%d lines) <has focus>\n", + winName (&winList[type]->generic), + winList[type]->generic.height); + else + printf_filtered (" %s\t(%d lines)\n", + winName (&winList[type]->generic), + winList[type]->generic.height); + } + + return; +} /* _tuiAllWindowsInfo */ + + +/* + ** _tuiRefreshAll_command(). + */ +static void +_tuiRefreshAll_command (char *arg, int fromTTY) +{ + /* Make sure the curses mode is enabled. */ + tui_enable (); + + tuiRefreshAll (); +} + + +/* + ** _tuiSetWinTabWidth_command(). + ** Set the height of the specified window. + */ +static void +_tuiSetTabWidth_command (char *arg, int fromTTY) +{ + /* Make sure the curses mode is enabled. */ + tui_enable (); + if (arg != (char *) NULL) + { + int ts; + + ts = atoi (arg); + if (ts > 0) + tuiSetDefaultTabLen (ts); + else + warning ("Tab widths greater than 0 must be specified.\n"); + } + + return; +} /* _tuiSetTabWidth_command */ + + +/* + ** _tuiSetWinHeight(). + ** Set the height of the specified window. + */ +static void +_tuiSetWinHeight (char *arg, int fromTTY) +{ + /* Make sure the curses mode is enabled. */ + tui_enable (); + if (arg != (char *) NULL) + { + char *buf = xstrdup (arg); + char *bufPtr = buf; + char *wname = (char *) NULL; + int newHeight, i; + TuiWinInfoPtr winInfo; + + wname = bufPtr; + bufPtr = strchr (bufPtr, ' '); + if (bufPtr != (char *) NULL) + { + *bufPtr = (char) 0; + + /* + ** Validate the window name + */ + for (i = 0; i < strlen (wname); i++) + wname[i] = toupper (wname[i]); + winInfo = partialWinByName (wname); + + if (winInfo == (TuiWinInfoPtr) NULL || !winInfo->generic.isVisible) + warning ("Invalid window specified. \n\ +The window name specified must be valid and visible.\n"); + else + { + /* Process the size */ + while (*(++bufPtr) == ' ') + ; + + if (*bufPtr != (char) 0) + { + int negate = FALSE; + int fixedSize = TRUE; + int inputNo;; + + if (*bufPtr == '+' || *bufPtr == '-') + { + if (*bufPtr == '-') + negate = TRUE; + fixedSize = FALSE; + bufPtr++; + } + inputNo = atoi (bufPtr); + if (inputNo > 0) + { + if (negate) + inputNo *= (-1); + if (fixedSize) + newHeight = inputNo; + else + newHeight = winInfo->generic.height + inputNo; + /* + ** Now change the window's height, and adjust all + ** other windows around it + */ + if (_tuiAdjustWinHeights (winInfo, + newHeight) == TUI_FAILURE) + warning ("Invalid window height specified.\n%s", + WIN_HEIGHT_USAGE); + else + tui_update_gdb_sizes (); + } + else + warning ("Invalid window height specified.\n%s", + WIN_HEIGHT_USAGE); + } + } + } + else + printf_filtered (WIN_HEIGHT_USAGE); + + if (buf != (char *) NULL) + tuiFree (buf); + } + else + printf_filtered (WIN_HEIGHT_USAGE); + + return; +} /* _tuiSetWinHeight */ + +/* + ** _tuiSetWinHeight_command(). + ** Set the height of the specified window, with va_list. + */ +static void +_tuiSetWinHeight_command (char *arg, int fromTTY) +{ + /* Make sure the curses mode is enabled. */ + tui_enable (); + _tuiSetWinHeight (arg, fromTTY); +} + + +/* + ** _tuiXDBsetWinHeight(). + ** XDB Compatibility command for setting the window height. This will + ** increase or decrease the command window by the specified amount. + */ +static void +_tuiXDBsetWinHeight (char *arg, int fromTTY) +{ + /* Make sure the curses mode is enabled. */ + tui_enable (); + if (arg != (char *) NULL) + { + int inputNo = atoi (arg); + + if (inputNo > 0) + { /* Add 1 for the locator */ + int newHeight = termHeight () - (inputNo + 1); + + if (!_newHeightOk (winList[CMD_WIN], newHeight) || + _tuiAdjustWinHeights (winList[CMD_WIN], + newHeight) == TUI_FAILURE) + warning ("Invalid window height specified.\n%s", + XDBWIN_HEIGHT_USAGE); + } + else + warning ("Invalid window height specified.\n%s", + XDBWIN_HEIGHT_USAGE); + } + else + warning ("Invalid window height specified.\n%s", XDBWIN_HEIGHT_USAGE); + + return; +} /* _tuiXDBsetWinHeight */ + +/* + ** _tuiSetWinHeight_command(). + ** Set the height of the specified window, with va_list. + */ +static void +_tuiXDBsetWinHeight_command (char *arg, int fromTTY) +{ + _tuiXDBsetWinHeight (arg, fromTTY); +} + + +/* + ** _tuiAdjustWinHeights(). + ** Function to adjust all window heights around the primary + */ +static TuiStatus +_tuiAdjustWinHeights (TuiWinInfoPtr primaryWinInfo, int newHeight) +{ + TuiStatus status = TUI_FAILURE; + + if (_newHeightOk (primaryWinInfo, newHeight)) + { + status = TUI_SUCCESS; + if (newHeight != primaryWinInfo->generic.height) + { + int diff; + TuiWinInfoPtr winInfo; + TuiGenWinInfoPtr locator = locatorWinInfoPtr (); + TuiLayoutType curLayout = currentLayout (); + + diff = (newHeight - primaryWinInfo->generic.height) * (-1); + if (curLayout == SRC_COMMAND || curLayout == DISASSEM_COMMAND) + { + TuiWinInfoPtr srcWinInfo; + + _makeInvisibleAndSetNewHeight (primaryWinInfo, newHeight); + if (primaryWinInfo->generic.type == CMD_WIN) + { + winInfo = (TuiWinInfoPtr) (sourceWindows ())->list[0]; + srcWinInfo = winInfo; + } + else + { + winInfo = winList[CMD_WIN]; + srcWinInfo = primaryWinInfo; + } + _makeInvisibleAndSetNewHeight (winInfo, + winInfo->generic.height + diff); + cmdWin->generic.origin.y = locator->origin.y + 1; + _makeVisibleWithNewHeight (winInfo); + _makeVisibleWithNewHeight (primaryWinInfo); + if (srcWinInfo->generic.contentSize <= 0) + tuiEraseSourceContent (srcWinInfo, EMPTY_SOURCE_PROMPT); + } + else + { + TuiWinInfoPtr firstWin, secondWin; + + if (curLayout == SRC_DISASSEM_COMMAND) + { + firstWin = srcWin; + secondWin = disassemWin; + } + else + { + firstWin = dataWin; + secondWin = (TuiWinInfoPtr) (sourceWindows ())->list[0]; + } + if (primaryWinInfo == cmdWin) + { /* + ** Split the change in height accross the 1st & 2nd windows + ** adjusting them as well. + */ + int firstSplitDiff = diff / 2; /* subtract the locator */ + int secondSplitDiff = firstSplitDiff; + + if (diff % 2) + { + if (firstWin->generic.height > + secondWin->generic.height) + if (diff < 0) + firstSplitDiff--; + else + firstSplitDiff++; + else + { + if (diff < 0) + secondSplitDiff--; + else + secondSplitDiff++; + } + } + /* make sure that the minimum hieghts are honored */ + while ((firstWin->generic.height + firstSplitDiff) < 3) + { + firstSplitDiff++; + secondSplitDiff--; + } + while ((secondWin->generic.height + secondSplitDiff) < 3) + { + secondSplitDiff++; + firstSplitDiff--; + } + _makeInvisibleAndSetNewHeight ( + firstWin, + firstWin->generic.height + firstSplitDiff); + secondWin->generic.origin.y = firstWin->generic.height - 1; + _makeInvisibleAndSetNewHeight ( + secondWin, secondWin->generic.height + secondSplitDiff); + cmdWin->generic.origin.y = locator->origin.y + 1; + _makeInvisibleAndSetNewHeight (cmdWin, newHeight); + } + else + { + if ((cmdWin->generic.height + diff) < 1) + { /* + ** If there is no way to increase the command window + ** take real estate from the 1st or 2nd window. + */ + if ((cmdWin->generic.height + diff) < 1) + { + int i; + for (i = cmdWin->generic.height + diff; + (i < 1); i++) + if (primaryWinInfo == firstWin) + secondWin->generic.height--; + else + firstWin->generic.height--; + } + } + if (primaryWinInfo == firstWin) + _makeInvisibleAndSetNewHeight (firstWin, newHeight); + else + _makeInvisibleAndSetNewHeight ( + firstWin, + firstWin->generic.height); + secondWin->generic.origin.y = firstWin->generic.height - 1; + if (primaryWinInfo == secondWin) + _makeInvisibleAndSetNewHeight (secondWin, newHeight); + else + _makeInvisibleAndSetNewHeight ( + secondWin, secondWin->generic.height); + cmdWin->generic.origin.y = locator->origin.y + 1; + if ((cmdWin->generic.height + diff) < 1) + _makeInvisibleAndSetNewHeight (cmdWin, 1); + else + _makeInvisibleAndSetNewHeight ( + cmdWin, cmdWin->generic.height + diff); + } + _makeVisibleWithNewHeight (cmdWin); + _makeVisibleWithNewHeight (secondWin); + _makeVisibleWithNewHeight (firstWin); + if (firstWin->generic.contentSize <= 0) + tuiEraseSourceContent (firstWin, EMPTY_SOURCE_PROMPT); + if (secondWin->generic.contentSize <= 0) + tuiEraseSourceContent (secondWin, EMPTY_SOURCE_PROMPT); + } + } + } + + return status; +} /* _tuiAdjustWinHeights */ + + +/* + ** _makeInvisibleAndSetNewHeight(). + ** Function make the target window (and auxillary windows associated + ** with the targer) invisible, and set the new height and location. + */ +static void +_makeInvisibleAndSetNewHeight (TuiWinInfoPtr winInfo, int height) +{ + int i; + TuiGenWinInfoPtr genWinInfo; + + + m_beInvisible (&winInfo->generic); + winInfo->generic.height = height; + if (height > 1) + winInfo->generic.viewportHeight = height - 1; + else + winInfo->generic.viewportHeight = height; + if (winInfo != cmdWin) + winInfo->generic.viewportHeight--; + + /* Now deal with the auxillary windows associated with winInfo */ + switch (winInfo->generic.type) + { + case SRC_WIN: + case DISASSEM_WIN: + genWinInfo = winInfo->detail.sourceInfo.executionInfo; + m_beInvisible (genWinInfo); + genWinInfo->height = height; + genWinInfo->origin.y = winInfo->generic.origin.y; + if (height > 1) + genWinInfo->viewportHeight = height - 1; + else + genWinInfo->viewportHeight = height; + if (winInfo != cmdWin) + genWinInfo->viewportHeight--; + + if (m_hasLocator (winInfo)) + { + genWinInfo = locatorWinInfoPtr (); + m_beInvisible (genWinInfo); + genWinInfo->origin.y = winInfo->generic.origin.y + height; + } + break; + case DATA_WIN: + /* delete all data item windows */ + for (i = 0; i < winInfo->generic.contentSize; i++) + { + genWinInfo = (TuiGenWinInfoPtr) & ((TuiWinElementPtr) + winInfo->generic.content[i])->whichElement.dataWindow; + tuiDelwin (genWinInfo->handle); + genWinInfo->handle = (WINDOW *) NULL; + } + break; + default: + break; + } +} + + +/* + ** _makeVisibleWithNewHeight(). + ** Function to make the windows with new heights visible. + ** This means re-creating the windows' content since the window + ** had to be destroyed to be made invisible. + */ +static void +_makeVisibleWithNewHeight (TuiWinInfoPtr winInfo) +{ + struct symtab *s; + + m_beVisible (&winInfo->generic); + checkAndDisplayHighlightIfNeeded (winInfo); + switch (winInfo->generic.type) + { + case SRC_WIN: + case DISASSEM_WIN: + freeWinContent (winInfo->detail.sourceInfo.executionInfo); + m_beVisible (winInfo->detail.sourceInfo.executionInfo); + if (winInfo->generic.content != (OpaquePtr) NULL) + { + TuiLineOrAddress lineOrAddr; + struct symtab_and_line cursal + = get_current_source_symtab_and_line (); + + if (winInfo->generic.type == SRC_WIN) + lineOrAddr.lineNo = + winInfo->detail.sourceInfo.startLineOrAddr.lineNo; + else + lineOrAddr.addr = + winInfo->detail.sourceInfo.startLineOrAddr.addr; + freeWinContent (&winInfo->generic); + tuiUpdateSourceWindow (winInfo, + cursal.symtab, lineOrAddr, TRUE); + } + else if (deprecated_selected_frame != (struct frame_info *) NULL) + { + TuiLineOrAddress line; + struct symtab_and_line cursal = get_current_source_symtab_and_line (); + + + s = find_pc_symtab (get_frame_pc (deprecated_selected_frame)); + if (winInfo->generic.type == SRC_WIN) + line.lineNo = cursal.line; + else + { + find_line_pc (s, cursal.line, &line.addr); + } + tuiUpdateSourceWindow (winInfo, s, line, TRUE); + } + if (m_hasLocator (winInfo)) + { + m_beVisible (locatorWinInfoPtr ()); + tuiShowLocatorContent (); + } + break; + case DATA_WIN: + tuiDisplayAllData (); + break; + case CMD_WIN: + winInfo->detail.commandInfo.curLine = 0; + winInfo->detail.commandInfo.curch = 0; + wmove (winInfo->generic.handle, + winInfo->detail.commandInfo.curLine, + winInfo->detail.commandInfo.curch); + break; + default: + break; + } + + return; +} /* _makeVisibleWithNewHeight */ + + +static int +_newHeightOk (TuiWinInfoPtr primaryWinInfo, int newHeight) +{ + int ok = (newHeight < termHeight ()); + + if (ok) + { + int diff; + TuiLayoutType curLayout = currentLayout (); + + diff = (newHeight - primaryWinInfo->generic.height) * (-1); + if (curLayout == SRC_COMMAND || curLayout == DISASSEM_COMMAND) + { + ok = ((primaryWinInfo->generic.type == CMD_WIN && + newHeight <= (termHeight () - 4) && + newHeight >= MIN_CMD_WIN_HEIGHT) || + (primaryWinInfo->generic.type != CMD_WIN && + newHeight <= (termHeight () - 2) && + newHeight >= MIN_WIN_HEIGHT)); + if (ok) + { /* check the total height */ + TuiWinInfoPtr winInfo; + + if (primaryWinInfo == cmdWin) + winInfo = (TuiWinInfoPtr) (sourceWindows ())->list[0]; + else + winInfo = cmdWin; + ok = ((newHeight + + (winInfo->generic.height + diff)) <= termHeight ()); + } + } + else + { + int curTotalHeight, totalHeight, minHeight = 0; + TuiWinInfoPtr firstWin, secondWin; + + if (curLayout == SRC_DISASSEM_COMMAND) + { + firstWin = srcWin; + secondWin = disassemWin; + } + else + { + firstWin = dataWin; + secondWin = (TuiWinInfoPtr) (sourceWindows ())->list[0]; + } + /* + ** We could simply add all the heights to obtain the same result + ** but below is more explicit since we subtract 1 for the + ** line that the first and second windows share, and add one + ** for the locator. + */ + totalHeight = curTotalHeight = + (firstWin->generic.height + secondWin->generic.height - 1) + + cmdWin->generic.height + 1 /*locator */ ; + if (primaryWinInfo == cmdWin) + { + /* locator included since first & second win share a line */ + ok = ((firstWin->generic.height + + secondWin->generic.height + diff) >= + (MIN_WIN_HEIGHT * 2) && + newHeight >= MIN_CMD_WIN_HEIGHT); + if (ok) + { + totalHeight = newHeight + (firstWin->generic.height + + secondWin->generic.height + diff); + minHeight = MIN_CMD_WIN_HEIGHT; + } + } + else + { + minHeight = MIN_WIN_HEIGHT; + /* + ** First see if we can increase/decrease the command + ** window. And make sure that the command window is + ** at least 1 line + */ + ok = ((cmdWin->generic.height + diff) > 0); + if (!ok) + { /* + ** Looks like we have to increase/decrease one of + ** the other windows + */ + if (primaryWinInfo == firstWin) + ok = (secondWin->generic.height + diff) >= minHeight; + else + ok = (firstWin->generic.height + diff) >= minHeight; + } + if (ok) + { + if (primaryWinInfo == firstWin) + totalHeight = newHeight + + secondWin->generic.height + + cmdWin->generic.height + diff; + else + totalHeight = newHeight + + firstWin->generic.height + + cmdWin->generic.height + diff; + } + } + /* + ** Now make sure that the proposed total height doesn't exceed + ** the old total height. + */ + if (ok) + ok = (newHeight >= minHeight && totalHeight <= curTotalHeight); + } + } + + return ok; +} /* _newHeightOk */ + + +/* + ** _parseScrollingArgs(). + */ +static void +_parseScrollingArgs (char *arg, TuiWinInfoPtr * winToScroll, int *numToScroll) +{ + if (numToScroll) + *numToScroll = 0; + *winToScroll = tuiWinWithFocus (); + + /* + ** First set up the default window to scroll, in case there is no + ** window name arg + */ + if (arg != (char *) NULL) + { + char *buf, *bufPtr; + + /* process the number of lines to scroll */ + buf = bufPtr = xstrdup (arg); + if (isdigit (*bufPtr)) + { + char *numStr; + + numStr = bufPtr; + bufPtr = strchr (bufPtr, ' '); + if (bufPtr != (char *) NULL) + { + *bufPtr = (char) 0; + if (numToScroll) + *numToScroll = atoi (numStr); + bufPtr++; + } + else if (numToScroll) + *numToScroll = atoi (numStr); + } + + /* process the window name if one is specified */ + if (bufPtr != (char *) NULL) + { + char *wname; + int i; + + if (*bufPtr == ' ') + while (*(++bufPtr) == ' ') + ; + + if (*bufPtr != (char) 0) + wname = bufPtr; + else + wname = "?"; + + /* Validate the window name */ + for (i = 0; i < strlen (wname); i++) + wname[i] = toupper (wname[i]); + *winToScroll = partialWinByName (wname); + + if (*winToScroll == (TuiWinInfoPtr) NULL || + !(*winToScroll)->generic.isVisible) + warning ("Invalid window specified. \n\ +The window name specified must be valid and visible.\n"); + else if (*winToScroll == cmdWin) + *winToScroll = (TuiWinInfoPtr) (sourceWindows ())->list[0]; + } + tuiFree (buf); + } + + return; +} /* _parseScrollingArgs */ diff --git a/gdb/tui/tui-win.h b/gdb/tui/tui-win.h new file mode 100644 index 0000000..bc26080 --- /dev/null +++ b/gdb/tui/tui-win.h @@ -0,0 +1,59 @@ +/* TUI window generic functions. + Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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 _TUI_WIN_H +#define _TUI_WIN_H + +/***************************************** +** TYPE DEFINITIONS ** +******************************************/ + + + +/***************************************** +** PUBLIC FUNCTION EXTERNAL DECLS ** +******************************************/ +extern void tuiScrollForward (TuiWinInfoPtr, int); +extern void tuiScrollBackward (TuiWinInfoPtr, int); +extern void tuiScrollLeft (TuiWinInfoPtr, int); +extern void tuiScrollRight (TuiWinInfoPtr, int); +extern void tui_scroll (TuiScrollDirection, TuiWinInfoPtr, int); +extern void tuiSetWinFocusTo (TuiWinInfoPtr); +extern void tuiResizeAll (void); +extern void tuiRefreshAll (void); +extern void tuiSigwinchHandler (int); + +extern chtype tui_border_ulcorner; +extern chtype tui_border_urcorner; +extern chtype tui_border_lrcorner; +extern chtype tui_border_llcorner; +extern chtype tui_border_vline; +extern chtype tui_border_hline; +extern int tui_border_attrs; +extern int tui_active_border_attrs; + +extern int tui_update_variables (); + +/* Update gdb's knowledge of the terminal size. */ +extern void tui_update_gdb_sizes (void); + +#endif +/*_TUI_WIN_H*/ diff --git a/gdb/tui/tui-windata.c b/gdb/tui/tui-windata.c new file mode 100644 index 0000000..f504f7f --- /dev/null +++ b/gdb/tui/tui-windata.c @@ -0,0 +1,349 @@ +/* Data/register window display. + + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software + Foundation, Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "tui/tui.h" +#include "tui/tui-data.h" +#include "tui/tui-wingeneral.h" +#include "tui/tui-regs.h" + +#ifdef HAVE_NCURSES_H +#include <ncurses.h> +#else +#ifdef HAVE_CURSES_H +#include <curses.h> +#endif +#endif + + +/***************************************** +** STATIC LOCAL FUNCTIONS FORWARD DECLS ** +******************************************/ + + + +/***************************************** +** PUBLIC FUNCTIONS ** +******************************************/ + + +/* + ** tuiFirstDataItemDisplayed() + ** Answer the index first element displayed. + ** If none are displayed, then return (-1). + */ +int +tuiFirstDataItemDisplayed (void) +{ + int elementNo = (-1); + int i; + + for (i = 0; (i < dataWin->generic.contentSize && elementNo < 0); i++) + { + TuiGenWinInfoPtr dataItemWin; + + dataItemWin = &((TuiWinContent) + dataWin->generic.content)[i]->whichElement.dataWindow; + if (dataItemWin->handle != (WINDOW *) NULL && dataItemWin->isVisible) + elementNo = i; + } + + return elementNo; +} /* tuiFirstDataItemDisplayed */ + + +/* + ** tuiFirstDataElementNoInLine() + ** Answer the index of the first element in lineNo. If lineNo is + ** past the data area (-1) is returned. + */ +int +tuiFirstDataElementNoInLine (int lineNo) +{ + int firstElementNo = (-1); + + /* + ** First see if there is a register on lineNo, and if so, set the + ** first element number + */ + if ((firstElementNo = tui_first_reg_element_no_inline (lineNo)) == -1) + { /* + ** Looking at the general data, the 1st element on lineNo + */ + } + + return firstElementNo; +} /* tuiFirstDataElementNoInLine */ + + +/* + ** tuiDeleteDataContentWindows() + ** Function to delete all the item windows in the data window. + ** This is usually done when the data window is scrolled. + */ +void +tuiDeleteDataContentWindows (void) +{ + int i; + TuiGenWinInfoPtr dataItemWinPtr; + + for (i = 0; (i < dataWin->generic.contentSize); i++) + { + dataItemWinPtr = &((TuiWinContent) + dataWin->generic.content)[i]->whichElement.dataWindow; + tuiDelwin (dataItemWinPtr->handle); + dataItemWinPtr->handle = (WINDOW *) NULL; + dataItemWinPtr->isVisible = FALSE; + } + + return; +} /* tuiDeleteDataContentWindows */ + + +void +tuiEraseDataContent (char *prompt) +{ + werase (dataWin->generic.handle); + checkAndDisplayHighlightIfNeeded (dataWin); + if (prompt != (char *) NULL) + { + int halfWidth = (dataWin->generic.width - 2) / 2; + int xPos; + + if (strlen (prompt) >= halfWidth) + xPos = 1; + else + xPos = halfWidth - strlen (prompt); + mvwaddstr (dataWin->generic.handle, + (dataWin->generic.height / 2), + xPos, + prompt); + } + wrefresh (dataWin->generic.handle); + + return; +} /* tuiEraseDataContent */ + + +/* + ** tuiDisplayAllData(). + ** This function displays the data that is in the data window's + ** content. It does not set the content. + */ +void +tuiDisplayAllData (void) +{ + if (dataWin->generic.contentSize <= 0) + tuiEraseDataContent (NO_DATA_STRING); + else + { + tuiEraseDataContent ((char *) NULL); + tuiDeleteDataContentWindows (); + checkAndDisplayHighlightIfNeeded (dataWin); + tui_display_registers_from (0); + /* + ** Then display the other data + */ + if (dataWin->detail.dataDisplayInfo.dataContent != + (TuiWinContent) NULL && + dataWin->detail.dataDisplayInfo.dataContentCount > 0) + { + } + } + return; +} /* tuiDisplayAllData */ + + +/* + ** tuiDisplayDataFromLine() + ** Function to display the data starting at line, lineNo, in the + ** data window. + */ +void +tuiDisplayDataFromLine (int lineNo) +{ + int _lineNo = lineNo; + + if (lineNo < 0) + _lineNo = 0; + + checkAndDisplayHighlightIfNeeded (dataWin); + + /* there is no general data, force regs to display (if there are any) */ + if (dataWin->detail.dataDisplayInfo.dataContentCount <= 0) + tui_display_registers_from_line (_lineNo, TRUE); + else + { + int elementNo, startLineNo; + int regsLastLine = tui_last_regs_line_no (); + + + /* display regs if we can */ + if (tui_display_registers_from_line (_lineNo, FALSE) < 0) + { /* + ** _lineNo is past the regs display, so calc where the + ** start data element is + */ + if (regsLastLine < _lineNo) + { /* figure out how many lines each element is to obtain + the start elementNo */ + } + } + else + { /* + ** calculate the starting element of the data display, given + ** regsLastLine and how many lines each element is, up to + ** _lineNo + */ + } + /* Now display the data , starting at elementNo */ + } + + return; +} /* tuiDisplayDataFromLine */ + + +/* + ** tuiDisplayDataFrom() + ** Display data starting at element elementNo + */ +void +tuiDisplayDataFrom (int elementNo, int reuseWindows) +{ + int firstLine = (-1); + + if (elementNo < dataWin->detail.dataDisplayInfo.regsContentCount) + firstLine = tui_line_from_reg_element_no (elementNo); + else + { /* calculate the firstLine from the element number */ + } + + if (firstLine >= 0) + { + tuiEraseDataContent ((char *) NULL); + if (!reuseWindows) + tuiDeleteDataContentWindows (); + tuiDisplayDataFromLine (firstLine); + } + + return; +} /* tuiDisplayDataFrom */ + + +/* + ** tuiRefreshDataWin() + ** Function to redisplay the contents of the data window. + */ +void +tuiRefreshDataWin (void) +{ + tuiEraseDataContent ((char *) NULL); + if (dataWin->generic.contentSize > 0) + { + int firstElement = tuiFirstDataItemDisplayed (); + + if (firstElement >= 0) /* re-use existing windows */ + tuiDisplayDataFrom (firstElement, TRUE); + } + + return; +} /* tuiRefreshDataWin */ + + +/* + ** tuiCheckDataValues(). + ** Function to check the data values and hilite any that have changed + */ +void +tuiCheckDataValues (struct frame_info *frame) +{ + tui_check_register_values (frame); + + /* Now check any other data values that there are */ + if (m_winPtrNotNull (dataWin) && dataWin->generic.isVisible) + { + int i; + + for (i = 0; dataWin->detail.dataDisplayInfo.dataContentCount; i++) + { +#ifdef LATER + TuiDataElementPtr dataElementPtr; + TuiGenWinInfoPtr dataItemWinPtr; + Opaque newValue; + + dataItemPtr = &dataWin->detail.dataDisplayInfo. + dataContent[i]->whichElement.dataWindow; + dataElementPtr = &((TuiWinContent) + dataItemWinPtr->content)[0]->whichElement.data; + if value + has changed (dataElementPtr, frame, &newValue) + { + dataElementPtr->value = newValue; + update the display with the new value, hiliting it. + } +#endif + } + } +} /* tuiCheckDataValues */ + + +/* + ** tuiVerticalDataScroll() + ** Scroll the data window vertically forward or backward. + */ +void +tuiVerticalDataScroll (TuiScrollDirection scrollDirection, int numToScroll) +{ + int firstElementNo; + int firstLine = (-1); + + firstElementNo = tuiFirstDataItemDisplayed (); + if (firstElementNo < dataWin->detail.dataDisplayInfo.regsContentCount) + firstLine = tui_line_from_reg_element_no (firstElementNo); + else + { /* calculate the first line from the element number which is in + ** the general data content + */ + } + + if (firstLine >= 0) + { + int lastElementNo, lastLine; + + if (scrollDirection == FORWARD_SCROLL) + firstLine += numToScroll; + else + firstLine -= numToScroll; + tuiEraseDataContent ((char *) NULL); + tuiDeleteDataContentWindows (); + tuiDisplayDataFromLine (firstLine); + } + + return; +} /* tuiVerticalDataScroll */ + + +/***************************************** +** STATIC LOCAL FUNCTIONS ** +******************************************/ diff --git a/gdb/tui/tui-windata.h b/gdb/tui/tui-windata.h new file mode 100644 index 0000000..0b1e700 --- /dev/null +++ b/gdb/tui/tui-windata.h @@ -0,0 +1,47 @@ +/* Data/register window display. + Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc. + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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 _TUI_DATAWIN_H +#define _TUI_DATAWIN_H + + +/***************************************** +** TYPE DEFINITIONS ** +******************************************/ + + + +/***************************************** +** PUBLIC FUNCTION EXTERNAL DECLS ** +******************************************/ +extern void tuiEraseDataContent (char *); +extern void tuiDisplayAllData (void); +extern void tuiCheckDataValues (struct frame_info *); +extern void tuiDisplayDataFromLine (int); +extern int tuiFirstDataItemDisplayed (void); +extern int tuiFirstDataElementNoInLine (int); +extern void tuiDeleteDataContentWindows (void); +extern void tuiRefreshDataWin (void); +extern void tuiDisplayDataFrom (int, int); +extern void tuiVerticalDataScroll (TuiScrollDirection, int); + +#endif +/*_TUI_DATAWIN_H*/ diff --git a/gdb/tui/tui-wingeneral.c b/gdb/tui/tui-wingeneral.c new file mode 100644 index 0000000..2f32f64 --- /dev/null +++ b/gdb/tui/tui-wingeneral.c @@ -0,0 +1,285 @@ +/* General window behavior. + + Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, + Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include "tui/tui.h" +#include "tui/tui-data.h" +#include "tui/tui-wingeneral.h" +#include "tui/tui-win.h" + +#ifdef HAVE_NCURSES_H +#include <ncurses.h> +#else +#ifdef HAVE_CURSES_H +#include <curses.h> +#endif +#endif + +/*********************** +** PUBLIC FUNCTIONS +***********************/ +/* + ** tuiRefreshWin() + ** Refresh the window + */ +void +tuiRefreshWin (TuiGenWinInfoPtr winInfo) +{ + if (winInfo->type == DATA_WIN && winInfo->contentSize > 0) + { + int i; + + for (i = 0; (i < winInfo->contentSize); i++) + { + TuiGenWinInfoPtr dataItemWinPtr; + + dataItemWinPtr = &((TuiWinContent) + winInfo->content)[i]->whichElement.dataWindow; + if (m_genWinPtrNotNull (dataItemWinPtr) && + dataItemWinPtr->handle != (WINDOW *) NULL) + wrefresh (dataItemWinPtr->handle); + } + } + else if (winInfo->type == CMD_WIN) + { + /* Do nothing */ + } + else + { + if (winInfo->handle != (WINDOW *) NULL) + wrefresh (winInfo->handle); + } + + return; +} /* tuiRefreshWin */ + + +/* + ** tuiDelwin() + ** Function to delete the curses window, checking for null + */ +void +tuiDelwin (WINDOW * window) +{ + if (window != (WINDOW *) NULL) + delwin (window); + + return; +} /* tuiDelwin */ + + +/* Draw a border arround the window. */ +void +boxWin (TuiGenWinInfoPtr winInfo, int highlightFlag) +{ + if (winInfo && winInfo->handle) + { + WINDOW *win; + int attrs; + + win = winInfo->handle; + if (highlightFlag == HILITE) + attrs = tui_active_border_attrs; + else + attrs = tui_border_attrs; + + wattron (win, attrs); + wborder (win, tui_border_vline, tui_border_vline, + tui_border_hline, tui_border_hline, + tui_border_ulcorner, tui_border_urcorner, + tui_border_llcorner, tui_border_lrcorner); + if (winInfo->title) + mvwaddstr (win, 0, 3, winInfo->title); + wattroff (win, attrs); + } +} + + +/* + ** unhighlightWin(). + */ +void +unhighlightWin (TuiWinInfoPtr winInfo) +{ + if (m_winPtrNotNull (winInfo) && winInfo->generic.handle != (WINDOW *) NULL) + { + boxWin ((TuiGenWinInfoPtr) winInfo, NO_HILITE); + wrefresh (winInfo->generic.handle); + m_setWinHighlightOff (winInfo); + } +} /* unhighlightWin */ + + +/* + ** highlightWin(). + */ +void +highlightWin (TuiWinInfoPtr winInfo) +{ + if (m_winPtrNotNull (winInfo) && + winInfo->canHighlight && winInfo->generic.handle != (WINDOW *) NULL) + { + boxWin ((TuiGenWinInfoPtr) winInfo, HILITE); + wrefresh (winInfo->generic.handle); + m_setWinHighlightOn (winInfo); + } +} /* highlightWin */ + + +/* + ** checkAndDisplayHighlightIfNecessay + */ +void +checkAndDisplayHighlightIfNeeded (TuiWinInfoPtr winInfo) +{ + if (m_winPtrNotNull (winInfo) && winInfo->generic.type != CMD_WIN) + { + if (winInfo->isHighlighted) + highlightWin (winInfo); + else + unhighlightWin (winInfo); + + } + return; +} /* checkAndDisplayHighlightIfNeeded */ + + +/* + ** makeWindow(). + */ +void +makeWindow (TuiGenWinInfoPtr winInfo, int boxIt) +{ + WINDOW *handle; + + handle = newwin (winInfo->height, + winInfo->width, + winInfo->origin.y, + winInfo->origin.x); + winInfo->handle = handle; + if (handle != (WINDOW *) NULL) + { + if (boxIt == BOX_WINDOW) + boxWin (winInfo, NO_HILITE); + winInfo->isVisible = TRUE; + scrollok (handle, TRUE); + } +} + + +/* + ** makeVisible(). + ** We can't really make windows visible, or invisible. So we + ** have to delete the entire window when making it visible, + ** and create it again when making it visible. + */ +void +makeVisible (TuiGenWinInfoPtr winInfo, int visible) +{ + /* Don't tear down/recreate command window */ + if (winInfo->type == CMD_WIN) + return; + + if (visible) + { + if (!winInfo->isVisible) + { + makeWindow ( + winInfo, + (winInfo->type != CMD_WIN && !m_winIsAuxillary (winInfo->type))); + winInfo->isVisible = TRUE; + } + } + else if (!visible && + winInfo->isVisible && winInfo->handle != (WINDOW *) NULL) + { + winInfo->isVisible = FALSE; + tuiDelwin (winInfo->handle); + winInfo->handle = (WINDOW *) NULL; + } + + return; +} /* makeVisible */ + + +/* + ** makeAllVisible(). + ** Makes all windows invisible (except the command and locator windows) + */ +void +makeAllVisible (int visible) +{ + int i; + + for (i = 0; i < MAX_MAJOR_WINDOWS; i++) + { + if (m_winPtrNotNull (winList[i]) && + ((winList[i])->generic.type) != CMD_WIN) + { + if (m_winIsSourceType ((winList[i])->generic.type)) + makeVisible ((winList[i])->detail.sourceInfo.executionInfo, + visible); + makeVisible ((TuiGenWinInfoPtr) winList[i], visible); + } + } + + return; +} /* makeAllVisible */ + +/* + ** refreshAll(). + ** Function to refresh all the windows currently displayed + */ +void +refreshAll (TuiWinInfoPtr * list) +{ + TuiWinType type; + TuiGenWinInfoPtr locator = locatorWinInfoPtr (); + + for (type = SRC_WIN; (type < MAX_MAJOR_WINDOWS); type++) + { + if (list[type] && list[type]->generic.isVisible) + { + if (type == SRC_WIN || type == DISASSEM_WIN) + { + touchwin (list[type]->detail.sourceInfo.executionInfo->handle); + tuiRefreshWin (list[type]->detail.sourceInfo.executionInfo); + } + touchwin (list[type]->generic.handle); + tuiRefreshWin (&list[type]->generic); + } + } + if (locator->isVisible) + { + touchwin (locator->handle); + tuiRefreshWin (locator); + } + + return; +} /* refreshAll */ + + +/********************************* +** Local Static Functions +*********************************/ diff --git a/gdb/tui/tui-wingeneral.h b/gdb/tui/tui-wingeneral.h new file mode 100644 index 0000000..42d1ce4 --- /dev/null +++ b/gdb/tui/tui-wingeneral.h @@ -0,0 +1,49 @@ +/* General window behavior. + Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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 TUI_GENERAL_WIN_H +#define TUI_GENERAL_WIN_H + +/* + ** Functions + */ +extern void unhighlightWin (TuiWinInfoPtr); +extern void makeVisible (TuiGenWinInfoPtr, int); +extern void makeAllVisible (int); +extern void makeWindow (TuiGenWinInfoPtr, int); +extern TuiWinInfoPtr copyWin (TuiWinInfoPtr); +extern void boxWin (TuiGenWinInfoPtr, int); +extern void highlightWin (TuiWinInfoPtr); +extern void checkAndDisplayHighlightIfNeeded (TuiWinInfoPtr); +extern void refreshAll (TuiWinInfoPtr *); +extern void tuiDelwin (WINDOW * window); +extern void tuiRefreshWin (TuiGenWinInfoPtr); + +/* + ** Macros + */ +#define m_beVisible(winInfo) makeVisible((TuiGenWinInfoPtr)(winInfo), TRUE) +#define m_beInvisible(winInfo) \ + makeVisible((TuiGenWinInfoPtr)(winInfo), FALSE) +#define m_allBeVisible() makeAllVisible(TRUE) +#define m_allBeInvisible() makeAllVisible(FALSE) + +#endif /*TUI_GENERAL_WIN_H */ diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c new file mode 100644 index 0000000..87609b4 --- /dev/null +++ b/gdb/tui/tui-winsource.c @@ -0,0 +1,715 @@ +/* TUI display source/assembly window. + + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software + Foundation, Inc. + + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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. */ + +#include "defs.h" +#include <ctype.h> +#include "symtab.h" +#include "frame.h" +#include "breakpoint.h" +#include "value.h" +#include "source.h" + +#include "tui/tui.h" +#include "tui/tui-data.h" +#include "tui/tui-stack.h" +#include "tui/tui-win.h" +#include "tui/tui-wingeneral.h" +#include "tui/tui-winsource.h" +#include "tui/tui-source.h" +#include "tui/tui-disasm.h" + +#ifdef HAVE_NCURSES_H +#include <ncurses.h> +#else +#ifdef HAVE_CURSES_H +#include <curses.h> +#endif +#endif + +/* Function to display the "main" routine. */ +void +tui_display_main (void) +{ + if ((sourceWindows ())->count > 0) + { + CORE_ADDR addr; + + addr = tui_get_begin_asm_address (); + if (addr != (CORE_ADDR) 0) + { + struct symtab_and_line sal; + + tuiUpdateSourceWindowsWithAddr (addr); + sal = find_pc_line (addr, 0); + if (sal.symtab) + tuiUpdateLocatorFilename (sal.symtab->filename); + else + tuiUpdateLocatorFilename ("??"); + } + } +} + + + +/* + ** tuiUpdateSourceWindow(). + ** Function to display source in the source window. This function + ** initializes the horizontal scroll to 0. + */ +void +tuiUpdateSourceWindow (TuiWinInfoPtr winInfo, struct symtab *s, + TuiLineOrAddress lineOrAddr, int noerror) +{ + winInfo->detail.sourceInfo.horizontalOffset = 0; + tuiUpdateSourceWindowAsIs (winInfo, s, lineOrAddr, noerror); + + return; +} /* tuiUpdateSourceWindow */ + + +/* + ** tuiUpdateSourceWindowAsIs(). + ** Function to display source in the source/asm window. This + ** function shows the source as specified by the horizontal offset. + */ +void +tuiUpdateSourceWindowAsIs (TuiWinInfoPtr winInfo, struct symtab *s, + TuiLineOrAddress lineOrAddr, int noerror) +{ + TuiStatus ret; + + if (winInfo->generic.type == SRC_WIN) + ret = tuiSetSourceContent (s, lineOrAddr.lineNo, noerror); + else + ret = tui_set_disassem_content (lineOrAddr.addr); + + if (ret == TUI_FAILURE) + { + tuiClearSourceContent (winInfo, EMPTY_SOURCE_PROMPT); + tuiClearExecInfoContent (winInfo); + } + else + { + tui_update_breakpoint_info (winInfo, 0); + tuiShowSourceContent (winInfo); + tuiUpdateExecInfo (winInfo); + if (winInfo->generic.type == SRC_WIN) + { + struct symtab_and_line sal; + + sal.line = lineOrAddr.lineNo + + (winInfo->generic.contentSize - 2); + sal.symtab = s; + set_current_source_symtab_and_line (&sal); + /* + ** If the focus was in the asm win, put it in the src + ** win if we don't have a split layout + */ + if (tuiWinWithFocus () == disassemWin && + currentLayout () != SRC_DISASSEM_COMMAND) + tuiSetWinFocusTo (srcWin); + } + } + + + return; +} /* tuiUpdateSourceWindowAsIs */ + + +/* + ** tuiUpdateSourceWindowsWithAddr(). + ** Function to ensure that the source and/or disassemly windows + ** reflect the input address. + */ +void +tuiUpdateSourceWindowsWithAddr (CORE_ADDR addr) +{ + if (addr != 0) + { + struct symtab_and_line sal; + TuiLineOrAddress l; + + switch (currentLayout ()) + { + case DISASSEM_COMMAND: + case DISASSEM_DATA_COMMAND: + tui_show_disassem (addr); + break; + case SRC_DISASSEM_COMMAND: + tui_show_disassem_and_update_source (addr); + break; + default: + sal = find_pc_line (addr, 0); + l.lineNo = sal.line; + tuiShowSource (sal.symtab, l, FALSE); + break; + } + } + else + { + int i; + + for (i = 0; i < (sourceWindows ())->count; i++) + { + TuiWinInfoPtr winInfo = (TuiWinInfoPtr) (sourceWindows ())->list[i]; + + tuiClearSourceContent (winInfo, EMPTY_SOURCE_PROMPT); + tuiClearExecInfoContent (winInfo); + } + } + + return; +} /* tuiUpdateSourceWindowsWithAddr */ + +/* + ** tuiUpdateSourceWindowsWithLine(). + ** Function to ensure that the source and/or disassemly windows + ** reflect the input address. + */ +void +tuiUpdateSourceWindowsWithLine (struct symtab *s, int line) +{ + CORE_ADDR pc; + TuiLineOrAddress l; + + switch (currentLayout ()) + { + case DISASSEM_COMMAND: + case DISASSEM_DATA_COMMAND: + find_line_pc (s, line, &pc); + tuiUpdateSourceWindowsWithAddr (pc); + break; + default: + l.lineNo = line; + tuiShowSource (s, l, FALSE); + if (currentLayout () == SRC_DISASSEM_COMMAND) + { + find_line_pc (s, line, &pc); + tui_show_disassem (pc); + } + break; + } + + return; +} /* tuiUpdateSourceWindowsWithLine */ + +/* + ** tuiClearSourceContent(). + */ +void +tuiClearSourceContent (TuiWinInfoPtr winInfo, int displayPrompt) +{ + if (m_winPtrNotNull (winInfo)) + { + register int i; + + winInfo->generic.contentInUse = FALSE; + tuiEraseSourceContent (winInfo, displayPrompt); + for (i = 0; i < winInfo->generic.contentSize; i++) + { + TuiWinElementPtr element = + (TuiWinElementPtr) winInfo->generic.content[i]; + element->whichElement.source.hasBreak = FALSE; + element->whichElement.source.isExecPoint = FALSE; + } + } + + return; +} /* tuiClearSourceContent */ + + +/* + ** tuiEraseSourceContent(). + */ +void +tuiEraseSourceContent (TuiWinInfoPtr winInfo, int displayPrompt) +{ + int xPos; + int halfWidth = (winInfo->generic.width - 2) / 2; + + if (winInfo->generic.handle != (WINDOW *) NULL) + { + werase (winInfo->generic.handle); + checkAndDisplayHighlightIfNeeded (winInfo); + if (displayPrompt == EMPTY_SOURCE_PROMPT) + { + char *noSrcStr; + + if (winInfo->generic.type == SRC_WIN) + noSrcStr = NO_SRC_STRING; + else + noSrcStr = NO_DISASSEM_STRING; + if (strlen (noSrcStr) >= halfWidth) + xPos = 1; + else + xPos = halfWidth - strlen (noSrcStr); + mvwaddstr (winInfo->generic.handle, + (winInfo->generic.height / 2), + xPos, + noSrcStr); + + /* elz: added this function call to set the real contents of + the window to what is on the screen, so that later calls + to refresh, do display + the correct stuff, and not the old image */ + + tuiSetSourceContentNil (winInfo, noSrcStr); + } + tuiRefreshWin (&winInfo->generic); + } + return; +} /* tuiEraseSourceContent */ + + +/* Redraw the complete line of a source or disassembly window. */ +static void +tui_show_source_line (TuiWinInfoPtr winInfo, int lineno) +{ + TuiWinElementPtr line; + int x, y; + + line = (TuiWinElementPtr) winInfo->generic.content[lineno - 1]; + if (line->whichElement.source.isExecPoint) + wattron (winInfo->generic.handle, A_STANDOUT); + + mvwaddstr (winInfo->generic.handle, lineno, 1, + line->whichElement.source.line); + if (line->whichElement.source.isExecPoint) + wattroff (winInfo->generic.handle, A_STANDOUT); + + /* Clear to end of line but stop before the border. */ + getyx (winInfo->generic.handle, y, x); + while (x + 1 < winInfo->generic.width) + { + waddch (winInfo->generic.handle, ' '); + getyx (winInfo->generic.handle, y, x); + } +} + +/* + ** tuiShowSourceContent(). + */ +void +tuiShowSourceContent (TuiWinInfoPtr winInfo) +{ + if (winInfo->generic.contentSize > 0) + { + int lineno; + + for (lineno = 1; lineno <= winInfo->generic.contentSize; lineno++) + tui_show_source_line (winInfo, lineno); + } + else + tuiEraseSourceContent (winInfo, TRUE); + + checkAndDisplayHighlightIfNeeded (winInfo); + tuiRefreshWin (&winInfo->generic); + winInfo->generic.contentInUse = TRUE; +} + + +/* + ** tuiHorizontalSourceScroll(). + ** Scroll the source forward or backward horizontally + */ +void +tuiHorizontalSourceScroll (TuiWinInfoPtr winInfo, + TuiScrollDirection direction, + int numToScroll) +{ + if (winInfo->generic.content != (OpaquePtr) NULL) + { + int offset; + struct symtab *s; + struct symtab_and_line cursal = get_current_source_symtab_and_line (); + + if (cursal.symtab == (struct symtab *) NULL) + s = find_pc_symtab (get_frame_pc (deprecated_selected_frame)); + else + s = cursal.symtab; + + if (direction == LEFT_SCROLL) + offset = winInfo->detail.sourceInfo.horizontalOffset + numToScroll; + else + { + if ((offset = + winInfo->detail.sourceInfo.horizontalOffset - numToScroll) < 0) + offset = 0; + } + winInfo->detail.sourceInfo.horizontalOffset = offset; + tuiUpdateSourceWindowAsIs ( + winInfo, + s, + ((TuiWinElementPtr) + winInfo->generic.content[0])->whichElement.source.lineOrAddr, + FALSE); + } + + return; +} /* tuiHorizontalSourceScroll */ + + +/* Set or clear the hasBreak flag in the line whose line is lineNo. */ +void +tuiSetIsExecPointAt (TuiLineOrAddress l, TuiWinInfoPtr winInfo) +{ + int changed = 0; + int i; + TuiWinContent content = (TuiWinContent) winInfo->generic.content; + + i = 0; + while (i < winInfo->generic.contentSize) + { + int newState; + + if (content[i]->whichElement.source.lineOrAddr.addr == l.addr) + newState = TRUE; + else + newState = FALSE; + if (newState != content[i]->whichElement.source.isExecPoint) + { + changed++; + content[i]->whichElement.source.isExecPoint = newState; + tui_show_source_line (winInfo, i + 1); + } + i++; + } + if (changed) + tuiRefreshWin (&winInfo->generic); +} + +/* Update the execution windows to show the active breakpoints. + This is called whenever a breakpoint is inserted, removed or + has its state changed. */ +void +tui_update_all_breakpoint_info () +{ + TuiList* list = sourceWindows (); + int i; + + for (i = 0; i < list->count; i++) + { + TuiWinInfoPtr win = (TuiWinInfoPtr) list->list[i]; + + if (tui_update_breakpoint_info (win, FALSE)) + { + tuiUpdateExecInfo (win); + } + } +} + + +/* Scan the source window and the breakpoints to update the + hasBreak information for each line. + Returns 1 if something changed and the execution window + must be refreshed. */ +int +tui_update_breakpoint_info (TuiWinInfoPtr win, int current_only) +{ + int i; + int need_refresh = 0; + TuiSourceInfoPtr src = &win->detail.sourceInfo; + + for (i = 0; i < win->generic.contentSize; i++) + { + struct breakpoint *bp; + extern struct breakpoint *breakpoint_chain; + int mode; + TuiSourceElement* line; + + line = &((TuiWinElementPtr) win->generic.content[i])->whichElement.source; + if (current_only && !line->isExecPoint) + continue; + + /* Scan each breakpoint to see if the current line has something to + do with it. Identify enable/disabled breakpoints as well as + those that we already hit. */ + mode = 0; + for (bp = breakpoint_chain; + bp != (struct breakpoint *) NULL; + bp = bp->next) + { + if ((win == srcWin + && bp->source_file + && (strcmp (src->filename, bp->source_file) == 0) + && bp->line_number == line->lineOrAddr.lineNo) + || (win == disassemWin + && bp->loc->address == line->lineOrAddr.addr)) + { + if (bp->enable_state == bp_disabled) + mode |= TUI_BP_DISABLED; + else + mode |= TUI_BP_ENABLED; + if (bp->hit_count) + mode |= TUI_BP_HIT; + if (bp->cond) + mode |= TUI_BP_CONDITIONAL; + if (bp->type == bp_hardware_breakpoint) + mode |= TUI_BP_HARDWARE; + } + } + if (line->hasBreak != mode) + { + line->hasBreak = mode; + need_refresh = 1; + } + } + return need_refresh; +} + + +/* + ** tuiSetExecInfoContent(). + ** Function to initialize the content of the execution info window, + ** based upon the input window which is either the source or + ** disassembly window. + */ +TuiStatus +tuiSetExecInfoContent (TuiWinInfoPtr winInfo) +{ + TuiStatus ret = TUI_SUCCESS; + + if (winInfo->detail.sourceInfo.executionInfo != (TuiGenWinInfoPtr) NULL) + { + TuiGenWinInfoPtr execInfoPtr = winInfo->detail.sourceInfo.executionInfo; + + if (execInfoPtr->content == (OpaquePtr) NULL) + execInfoPtr->content = + (OpaquePtr) allocContent (winInfo->generic.height, + execInfoPtr->type); + if (execInfoPtr->content != (OpaquePtr) NULL) + { + int i; + + tui_update_breakpoint_info (winInfo, 1); + for (i = 0; i < winInfo->generic.contentSize; i++) + { + TuiWinElementPtr element; + TuiWinElementPtr srcElement; + int mode; + + element = (TuiWinElementPtr) execInfoPtr->content[i]; + srcElement = (TuiWinElementPtr) winInfo->generic.content[i]; + + memset(element->whichElement.simpleString, ' ', + sizeof(element->whichElement.simpleString)); + element->whichElement.simpleString[TUI_EXECINFO_SIZE - 1] = 0; + + /* Now update the exec info content based upon the state + of each line as indicated by the source content. */ + mode = srcElement->whichElement.source.hasBreak; + if (mode & TUI_BP_HIT) + element->whichElement.simpleString[TUI_BP_HIT_POS] = + (mode & TUI_BP_HARDWARE) ? 'H' : 'B'; + else if (mode & (TUI_BP_ENABLED | TUI_BP_DISABLED)) + element->whichElement.simpleString[TUI_BP_HIT_POS] = + (mode & TUI_BP_HARDWARE) ? 'h' : 'b'; + + if (mode & TUI_BP_ENABLED) + element->whichElement.simpleString[TUI_BP_BREAK_POS] = '+'; + else if (mode & TUI_BP_DISABLED) + element->whichElement.simpleString[TUI_BP_BREAK_POS] = '-'; + + if (srcElement->whichElement.source.isExecPoint) + element->whichElement.simpleString[TUI_EXEC_POS] = '>'; + } + execInfoPtr->contentSize = winInfo->generic.contentSize; + } + else + ret = TUI_FAILURE; + } + + return ret; +} + + +/* + ** tuiShowExecInfoContent(). + */ +void +tuiShowExecInfoContent (TuiWinInfoPtr winInfo) +{ + TuiGenWinInfoPtr execInfo = winInfo->detail.sourceInfo.executionInfo; + int curLine; + + werase (execInfo->handle); + tuiRefreshWin (execInfo); + for (curLine = 1; (curLine <= execInfo->contentSize); curLine++) + mvwaddstr (execInfo->handle, + curLine, + 0, + ((TuiWinElementPtr) + execInfo->content[curLine - 1])->whichElement.simpleString); + tuiRefreshWin (execInfo); + execInfo->contentInUse = TRUE; + + return; +} /* tuiShowExecInfoContent */ + + +/* + ** tuiEraseExecInfoContent(). + */ +void +tuiEraseExecInfoContent (TuiWinInfoPtr winInfo) +{ + TuiGenWinInfoPtr execInfo = winInfo->detail.sourceInfo.executionInfo; + + werase (execInfo->handle); + tuiRefreshWin (execInfo); + + return; +} /* tuiEraseExecInfoContent */ + +/* + ** tuiClearExecInfoContent(). + */ +void +tuiClearExecInfoContent (TuiWinInfoPtr winInfo) +{ + winInfo->detail.sourceInfo.executionInfo->contentInUse = FALSE; + tuiEraseExecInfoContent (winInfo); + + return; +} /* tuiClearExecInfoContent */ + +/* + ** tuiUpdateExecInfo(). + ** Function to update the execution info window + */ +void +tuiUpdateExecInfo (TuiWinInfoPtr winInfo) +{ + tuiSetExecInfoContent (winInfo); + tuiShowExecInfoContent (winInfo); +} /* tuiUpdateExecInfo */ + +TuiStatus +tuiAllocSourceBuffer (TuiWinInfoPtr winInfo) +{ + register char *srcLineBuf; + register int i, lineWidth, maxLines; + TuiStatus ret = TUI_FAILURE; + + maxLines = winInfo->generic.height; /* less the highlight box */ + lineWidth = winInfo->generic.width - 1; + /* + ** Allocate the buffer for the source lines. Do this only once since they + ** will be re-used for all source displays. The only other time this will + ** be done is when a window's size changes. + */ + if (winInfo->generic.content == (OpaquePtr) NULL) + { + srcLineBuf = (char *) xmalloc ((maxLines * lineWidth) * sizeof (char)); + if (srcLineBuf == (char *) NULL) + fputs_unfiltered ( + "Unable to Allocate Memory for Source or Disassembly Display.\n", + gdb_stderr); + else + { + /* allocate the content list */ + if ((winInfo->generic.content = + (OpaquePtr) allocContent (maxLines, SRC_WIN)) == (OpaquePtr) NULL) + { + tuiFree (srcLineBuf); + srcLineBuf = (char *) NULL; + fputs_unfiltered ( + "Unable to Allocate Memory for Source or Disassembly Display.\n", + gdb_stderr); + } + } + for (i = 0; i < maxLines; i++) + ((TuiWinElementPtr) + winInfo->generic.content[i])->whichElement.source.line = + srcLineBuf + (lineWidth * i); + ret = TUI_SUCCESS; + } + else + ret = TUI_SUCCESS; + + return ret; +} /* tuiAllocSourceBuffer */ + + +/* + ** tuiLineIsDisplayed(). + ** Answer whether the a particular line number or address is displayed + ** in the current source window. + */ +int +tuiLineIsDisplayed (int line, TuiWinInfoPtr winInfo, + int checkThreshold) +{ + int isDisplayed = FALSE; + int i, threshold; + + if (checkThreshold) + threshold = SCROLL_THRESHOLD; + else + threshold = 0; + i = 0; + while (i < winInfo->generic.contentSize - threshold && !isDisplayed) + { + isDisplayed = (((TuiWinElementPtr) + winInfo->generic.content[i])->whichElement.source.lineOrAddr.lineNo + == (int) line); + i++; + } + + return isDisplayed; +} /* tuiLineIsDisplayed */ + + +/* + ** tuiLineIsDisplayed(). + ** Answer whether the a particular line number or address is displayed + ** in the current source window. + */ +int +tuiAddrIsDisplayed (CORE_ADDR addr, TuiWinInfoPtr winInfo, + int checkThreshold) +{ + int isDisplayed = FALSE; + int i, threshold; + + if (checkThreshold) + threshold = SCROLL_THRESHOLD; + else + threshold = 0; + i = 0; + while (i < winInfo->generic.contentSize - threshold && !isDisplayed) + { + isDisplayed = (((TuiWinElementPtr) + winInfo->generic.content[i])->whichElement.source.lineOrAddr.addr + == addr); + i++; + } + + return isDisplayed; +} + + +/***************************************** +** STATIC LOCAL FUNCTIONS ** +******************************************/ diff --git a/gdb/tui/tui-winsource.h b/gdb/tui/tui-winsource.h new file mode 100644 index 0000000..cb00449 --- /dev/null +++ b/gdb/tui/tui-winsource.h @@ -0,0 +1,68 @@ +/* TUI display source/assembly window. + Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Contributed by Hewlett-Packard Company. + + This file is part of GDB. + + 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 _TUI_SOURCEWIN_H +#define _TUI_SOURCEWIN_H + +/* Update the execution windows to show the active breakpoints. + This is called whenever a breakpoint is inserted, removed or + has its state changed. */ +extern void tui_update_all_breakpoint_info (void); + +/* Scan the source window and the breakpoints to update the + hasBreak information for each line. + Returns 1 if something changed and the execution window + must be refreshed. */ +extern int tui_update_breakpoint_info (TuiWinInfoPtr win, int current_only); + +/* Function to display the "main" routine. */ +extern void tui_display_main (void); +extern void tuiUpdateSourceWindow (TuiWinInfoPtr, struct symtab *, TuiLineOrAddress, + int); +extern void tuiUpdateSourceWindowAsIs (TuiWinInfoPtr, struct symtab *, TuiLineOrAddress, + int); +extern void tuiUpdateSourceWindowsWithAddr (CORE_ADDR); +extern void tuiUpdateSourceWindowsWithLine (struct symtab *, int); +extern void tuiClearSourceContent (TuiWinInfoPtr, int); +extern void tuiEraseSourceContent (TuiWinInfoPtr, int); +extern void tuiSetSourceContentNil (TuiWinInfoPtr, char *); +extern void tuiShowSourceContent (TuiWinInfoPtr); +extern void tuiHorizontalSourceScroll (TuiWinInfoPtr, TuiScrollDirection, + int); +extern TuiStatus tuiSetExecInfoContent (TuiWinInfoPtr); +extern void tuiShowExecInfoContent (TuiWinInfoPtr); +extern void tuiEraseExecInfoContent (TuiWinInfoPtr); +extern void tuiClearExecInfoContent (TuiWinInfoPtr); +extern void tuiUpdateExecInfo (TuiWinInfoPtr); + +extern void tuiSetIsExecPointAt (TuiLineOrAddress, TuiWinInfoPtr); +extern TuiStatus tuiAllocSourceBuffer (TuiWinInfoPtr); +extern int tuiLineIsDisplayed (int, TuiWinInfoPtr, int); +extern int tuiAddrIsDisplayed (CORE_ADDR, TuiWinInfoPtr, int); + + +/* + ** Constant definitions + */ +#define SCROLL_THRESHOLD 2 /* threshold for lazy scroll */ + +#endif +/*_TUI_SOURCEWIN_H */ diff --git a/include/ChangeLog-9103 b/include/ChangeLog-9103 new file mode 100644 index 0000000..670fe38 --- /dev/null +++ b/include/ChangeLog-9103 @@ -0,0 +1,2737 @@ +2003-12-19 Andreas Tobler <a.tobler@schweiz.ch> + + * include/fibheap.h (fibnode): Use __extension__ for + bit-fields mark and degree if __GNUC__. + +2003-12-18 Kazu Hirata <kazu@cs.umass.edu> + + * include/fibheap.h (fibnode): Use unsigned long int for + bit-fields if __GNUC__ is defined. + +2003-12-04 H.J. Lu <hongjiu.lu@intel.com> + + * bfdlink.h (bfd_link_info): Change relax_finalizing to + need_relax_finalize. + +2003-12-03 Alan Modra <amodra@bigpond.net.au> + + * bfdlink.h (struct bfd_link_hash_entry): Rename "next" to "und_next". + +2003-12-02 Alan Modra <amodra@bigpond.net.au> + + * bfdlink.h (struct bfd_link_info): Remove mpc860c0 field. + +2003-11-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * opcode/mips.h: Define new enum members, M_LCA_AB and M_DLCA_AB. + +2003-11-14 Nick Clifton <nickc@redhat.com> + + * dis-asm.h (struct disassemble_info): Add new field + 'symbol_is_valid' which is a function which can tell the + disassembler to skip certain symbols as they should not be + displayed to the user. + (arm_symbol_is_valid): New prototype. This is the ARM + specific function for the symbol_is_valid field. + (generic_symbol_is_valid): New prototype. This is the default + function pointed to by the symbol_is_valid field. + +2003-11-06 Bruno Rohee <bruno@rohee.com> + + * hp-symtab.h: Fix "the the" typo. + +2003-10-24 H.J. Lu <hongjiu.lu@intel.com> + + * bfdlink.h (bfd_elf_version_expr): Add "symbol" and remove + "wildcard". + +2003-10-22 Joseph S. Myers <jsm@polyomino.org.uk> + + * obstack.h: Merge the following change from gnulib: + 2003-10-21 Paul Eggert <eggert@twinsun.com> + * obstack.h (obstack_1grow_fast): Properly parenthesize arg. + (obstack_ptr_grow_fast, obstack_int_grow_fast): + Don't use lvalue casts, as GCC plans to remove support for them + in GCC 3.5. Reported by Joseph S. Myers. This bug + was also present in the non-GCC version, indicating that this + code had always been buggy and had never been widely used. + (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank): + Use the fast variant of each macro, rather than copying the + definiens of the fast variant; that way, we'll be more likely to + catch future bugs in the fast variants. + +2003-10-22 Jakub Jelinek <jakub@redhat.com> + + * bfdlink.h (struct bfd_elf_version_expr): Remove match field. + Add wildcard and mask fields. + (BFD_ELF_VERSION_C_TYPE): Define. + (BFD_ELF_VERSION_CXX_TYPE): Likewise. + (BFD_ELF_VERSION_JAVA_TYPE): Likewise. + (struct bfd_elf_version_expr_head): New. + (struct bfd_elf_version_tree): Add match field. + Change type of globals and locals fields + to struct bfd_elf_version_expr_head. + +2003-10-14 Bob Wilson <bob.wilson@acm.org> + + * elf/xtensa.h: Formatting. Fix comments about property section + names for linkonce sections. + +2003-09-22 Andrew Cagney <cagney@redhat.com> + + * floatformat.h (struct floatformat): Add field "is_valid". + +2003-09-15 Andrew Cagney <cagney@redhat.com> + + * floatformat.h (floatformat_to_double): Make input buffer constant. + (floatformat_from_double, floatformat_is_valid): Ditto. + +2003-09-15 Andrew Cagney <cagney@redhat.com> + + * floatformat.h (struct floatformat): Make "exp_bias" signed. + +2003-09-15 Daniel Jacobowitz <drow@mvista.com> + + * floatformat.h (floatformat_is_valid): Add prototype. + +2003-08-27 Andrew Cagney <cagney@redhat.com> + + * dis-asm.h (init_disassemble_info): Declare. + (INIT_DISASSEMBLE_INFO): Redefine as a call to + init_disassemble_info. + (INIT_DISASSEMBLE_INFO_NO_ARCH): Ditto. + +2003-08-20 Nick Clifton <nickc@redhat.com> + + * bfdlink.h (enum report_method): New enum. Describes how to + report something. + (struct bfd_link_info): Delete fields 'no_undefined' and + 'allow_shlib_undefined'. Replace with + 'unresolved_symbols_in_objects' and + 'unresolved_symbols_in_shared_libs'. + +2003-08-07 Alan Modra <amodra@bigpond.net.au> + + * bfdlink.h: Remove PARAMS macro. Replace PTR with void *. + * dis-asm.h: Likewise. + +2003-07-09 Bob Wilson <bob.wilson@acm.org> + + * xtensa-config.h: Undef all macros before defining them. + +2003-07-06 H.J. Lu <hongjiu.lu@intel.com> + + * demangle.h: Support C++. + +2003-07-01 Zack Weinberg <zack@codesourcery.com> + + * filenames.h: New file imported from binutils. + +2003-06-30 Bob Wilson <bob.wilson@acm.org> + + * xtensa-config.h: New file imported from binutils. + +2003-06-30 Bob Wilson <bob.wilson@acm.org> + + * xtensa-config.h (XCHAL_HAVE_CONST16, XCHAL_HAVE_ABS, + XCHAL_HAVE_ADDX, XCHAL_HAVE_L32R): Define. + +2003-06-25 Alan Modra <amodra@bigpond.net.au> + + * bfdlink.h: Correct spelling of "relocatable". + +2003-06-22 Zack Weinberg <zack@codesourcery.com> + + * safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC): Rename to + HOST_CHARSET_UNKNOWN, HOST_CHARSET_ASCII, HOST_CHARSET_EBCDIC + respectively. + +2003-06-21 Zack Weinberg <zack@codesourcery.com> + + * safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC, HOST_CHARSET): + New #defines. + +2003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * ansidecl.h: Delete HAVE_LONG_DOUBLE GCC bootstrap support. + +2003-05-23 Jakub Jelinek <jakub@redhat.com> + + * bfdlink.h (struct bfd_link_info): Add execstack and noexecstack. + * elf/common.h (PT_GNU_STACK): Define. + +2003-06-03 H.J. Lu <hongjiu.lu@intel.com> + + * bfdlink.h (LD_DEFINITION_IN_DISCARDED_SECTION): New. + +2003-05-30 Ulrich Drepper <drepper@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + * bfdlink.h (struct bfd_link_info): Add pie and executable + bits. + +2003-05-21 Nick Clifton <nickc@redhat.com> + + * bfdlink.h (struct bfd_link_hash_table): Fix typo in comment. + +2003-05-15 Jim Blandy <jimb@redhat.com> + + * libiberty.h (hex_value): Make the value an unsigned int, to + avoid unexpected sign-extension when cast to unsigned types larger + than int --- like bfd_vma, on some platforms. + (_hex_value): Update declaration. + +2003-05-09 Alan Modra <amodra@bigpond.net.au> + + * xtensa-isa-internal.h (xtensa_isa_module_struct): Remove const on + gen_num_opcodes_fn return type. + +2003-05-07 Jason Merrill <jason@redhat.com> + + * hashtab.h (iterative_hash): Prototype. + (iterative_hash_object): New macro. + +2003-04-28 H.J. Lu <hjl@gnu.org> + + * bfdlink.h (bfd_link_info): Add relax_finalizing. + +2003-04-23 H.J. Lu <hjl@gnu.org> + + * bfdlink.h (bfd_link_callbacks): Add error_handler. + +2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com> + + * coff/tic4x.h: Namespace cleanup. Replace s/c4x/tic4x + and s/c3x/tic3x/ + * coff/tc-tic4x.h: Ditto + * opcode/tic4x.h: Ditto + +2003-04-02 Bob Wilson <bob.wilson@acm.org> + + * xtensa-config.h: Remove comment indicating that this is a + generated file. + +2003-04-01 Bob Wilson <bob.wilson@acm.org> + + * dis-asm.h (print_insn_xtensa): Declare. + * xtensa-config.h: New file. + * xtensa-isa-internal.h: Likewise. + * xtensa-isa.h: Likewise. + +2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * ansidecl.h (ATTRIBUTE_NONNULL, ATTRIBUTE_NULL_PRINTF, + ATTRIBUTE_NULL_PRINTF_1, ATTRIBUTE_NULL_PRINTF_2, + ATTRIBUTE_NULL_PRINTF_3, ATTRIBUTE_NULL_PRINTF_4, + ATTRIBUTE_NULL_PRINTF_5): New. + (ATTRIBUTE_PRINTF): Add ATTRIBUTE_NONNULL. + +2003-03-17 Jan Hubicka <jh@suse.cz> + + * hashtab.h (htab_traverse_noresize): Declare. + +2003-02-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h: Document return value of physmem routines. + +2003-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h (physmem_total, physmem_available): Prototype. + +2003-02-20 Daniel Jacobowitz <drow@mvista.com> + + * libiberty.h (lrealpath): Add declaration. + +2003-01-31 Grant Grundler <grundler@dsl2.external.hp.com> + + * hppa.h (ldwa, ldda): Add ordered opcodes. + +2003-01-26 Daniel Jacobowitz <drow@mvista.com> + + * hashtab.h (htab_alloc_with_arg, htab_free_with_arg): Add new types. + (struct htab): Add alloc_arg, alloc_with_arg_f, free_with_arg_f. + (htab_create_alloc_ex): New prototype. + (htab_set_functions_ex): New prototype. + +2003-01-25 Jakub Jelinek <jakub@redhat.com> + + * elf/sparc.h: Add TLS relocs. Move R_SPARC_REV32 to 252. + +2003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com> + + * coff/tic4x.h (TICOFF_TARGET_MACHINE_GET): Fixed define bug + * coff/ti.h (TICOFF_TARGET_MACHINE_GET): Added macros + +2002-07-17 Geoffrey Keating <geoffk@redhat.com> + + * splay-tree.h (GTY): Define if undefined. + (splay_tree_allocate_fn): Return PTR for compatibility, not void *. + (struct splay_tree_node_s): Support gengtype. + (struct splay_tree_s): Likewise. Make allocate_data a PTR, + not a void *. + +2002-01-02 Ben Elliston <bje@redhat.com> + + * dis-asm.h (print_insn_iq2000): Declare. + +2002-12-24 Dmitry Diky <diwil@mail.ru> + + * dis-asm.h: Add msp430 disassembler prototype. + +2002-12-27 Chris Demetriou <cgd@broadcom.com> + + * dis-asm.h (print_mips_disassembler_options): Prototype. + +2002-12-23 Alan Modra <amodra@bigpond.net.au> + + * bfdlink.h (struct bfd_link_info): Add "strip_discarded". + +2002-12-20 Alan Modra <amodra@bigpond.net.au> + + * bfdlink.h (struct bfd_link_info): Replace bfd_boolean fields with + bit-fields. Rearrange to put all like types together. + +2002-11-30 Alan Modra <amodra@bigpond.net.au> + + * bfdlink.h: Replace boolean with bfd_boolean. Formatting. + +2002-11-23 Simon Burge <simonb@wasabisystems.com> + + * libiberty.h (basename): Add NetBSD to the list. + +2002-11-22 Daniel Jacobowitz <drow@mvista.com> + + * libiberty.h (make_relative_prefix): Add prototype. + +2002-11-16 Klee Dienes <kdienes@apple.com> + + * opcode/m88k.h (INSTAB): Remove 'next' field. + (instruction): Remove definition; replace with extern declaration + and mark as const. + +2002-11-14 Egor Duda <deo@logos-m.ru> + + * bfdlink.h (struct bfd_link_info): Add new boolean + field pei386_runtime_pseudo_reloc. + +2002-10-26 Roger Sayle <roger@eyesopen.com> + + * partition.h: Close the extern "C" scope when compiling with C++. + +2002-10-26 Roger Sayle <roger@eyesopen.com> + DJ Delorie <dj@redhat.com> + + PR bootstrap/8351 + * getopt.h: Avoid prototyping getopt with no arguments in C++. + +2002-10-24 Nathan Tallent <eraxxon@alumni.rice.edu> + + * ansidecl.h (__STDC__): Add (__alpha && __cplusplus) to the + list of platform compilers that may look, smell and act + like __STDC__ but that may not define it. + +2002-10-11 David O'Brien <obrien@FreeBSD.org> + + * getopt.h: getopt is in unistd.h (based on SUSv2). + +2002-09-26 Jakub Jelinek <jakub@redhat.com> + + * elf/x86-64.h: Add TLS relocs. + +2002-09-26 Andrew Cagney <ac131313@redhat.com> + + * regs/: Delete directory. + +2002-09-19 Alexandre Oliva <aoliva@redhat.com> + + * libiberty.h (asprintf, vasprintf): Don't declare them if the + corresponding HAVE_DECL_ macro is 1. + +2002-09-19 Jakub Jelinek <jakub@redhat.com> + + * elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE): + Define. + +2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu> + + * dis-asm.h: Remove (errant) trailing semicolon (;) from the + extern "C" { } declaration. + +2002-09-04 Nick Clifton <nickc@redhat.com> + + * dis-asm.h (print_ppc_disassembler_options): Prototype. + +2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz> + + * coff/internal.h: Add new relocation types. + * coff/ti.h: Add file-header flags for tic4x code. + * dis-asm.h: Add standard disassembler for tic4x. + * opcode/tic4x.h: New file. + * coff/tic4x.h: New file + +2002-08-07 H.J. Lu <hjl@gnu.org> + + * bfdlink.h (bfd_link_info): Add allow_undefined_version. + (bfd_elf_version_expr): Add symver and script. + +2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au> + + * bfdlink.h (bfd_link_common_skip_ar_symbols): New enum. + (struct bfd_link_info): Add new field 'common_skip_ar_symbols'. + +2002-07-25 Richard Sandiford <rsandifo@redhat.com> + + * opcode/mips.h (CPU_R2000): Remove. + +2002-07-19 Denis Chertykov <denisc@overta.ru> + Matthew Green <mrg@redhat.com> + + * dis-asm.h (print_insn_ip2k): Declare. + +2002-07-10 Jakub Jelinek <jakub@redhat.com> + + * elf/common.h (SHT_GNU_LIBLIST, DT_GNU_PRELINKED, + DT_GNU_CONFLICT*, DT_GNU_LIBLIST*): Define. + +2002-07-01 Alan Modra <amodra@bigpond.net.au> + + * bfdlink.h (struct bfd_sym_chain): Declare. + (struct bfd_link_info): Add gc_sym_list. Formatting fixes. + +2002-06-25 Alan Modra <amodra@bigpond.net.au> + + * demangle.h: #include "ansidecl.h" rather than #include <ansidecl.h>. + * fibheap.h: Likewise. + * hashtab.h: Likewise. + * partition.h: Likewise. + * sort.h: Likewise. + * splay-tree.h: Likewise. + +2002-06-24 Alan Modra <amodra@bigpond.net.au> + + * libiberty.h (basename): Don't declare if HAVE_DECL_BASENAME. + * getopt.h (getopt): Don't declare if HAVE_DECL_GETOPT. + +2002-06-18 Dave Brolley <brolley@redhat.com> + + From Catherine Moore: + * dis-asm.h (print_insn_frv): New prototype. + +2002-06-09 Andrew Cagney <cagney@redhat.com> + + * remote-sim.h: Move to directory gdb/. + * callback.h: Move to directory gdb/. + +2002-06-07 Charles Wilson <cwilson@ece.gatech.edu> + + * bfdlink.h (struct bfd_link_info): Change type of + pei386_auto_import field to int so that -1 can mean enabled by + default and 1 can mean enabled by command line switch. + +2002-06-06 DJ Delorie <dj@redhat.com> + + * hashtab.h (htab): Rearrange new members for backward + compatibility. + (htab_create): Don't use a macro that requires other headers. + +2002-06-05 Geoffrey Keating <geoffk@redhat.com> + + * hashtab.h (htab_create): Restore prototype for backward + compatibility. + (htab_try_create): Likewise. + +2002-05-22 Geoffrey Keating <geoffk@redhat.com> + + * hashtab.h (struct htab): Update for change to length specifier. + +2002-05-10 Geoffrey Keating <geoffk@redhat.com> + + * hashtab.h (GTY): Define if undefined. + (htab_alloc): New typedef. + (htab_free): New typedef. + (struct htab): Support gengtype; allow user-specified memory + allocation. + (htab_create_alloc): New. + (htab_create): Replace with #define. + (htab_try_create): Delete. + +2002-05-31 Michal Ludvig <mludvig@suse.cz> + + * elf/dwarf2.h (DW_CFA_low_user, DW_CFA_high_user): Renamed + to DW_CFA_lo_user, DW_CFA_hi_user respectively. + +2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> + + * dis-asm.h: Prototype print_insn_dlx. + +2002-05-23 Andrew Cagney <ac131313@redhat.com> + + * sim-d10v.h: Delete file. Moved to include/gdb/. + +2002-05-23 Jakub Jelinek <jakub@redhat.com> + + * elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define. + * elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22. + * elf/i386.h: Add TLS relocs. + +2002-05-21 H.J. Lu (hjl@gnu.org) + + * bfdlink.h (bfd_link_info): Add allow_multiple_definition. + +2002-05-17 J"orn Rennecke <joern.rennecke@superh.com> + + * dis-asm.h (print_insn_shl, print_insn_sh64l): Remove prototype. + +2002-04-16 David S. Miller <davem@redhat.com> + + * xregex2.h (__restrict_arr): Define to __restrict on GCC + 3.1 and later. Do not redefine. + +2002-04-01 Phil Edwards <pme@gcc.gnu.org> + + * dyn-string.h: Also allow IN_GLIBCPP_V3 to redefine names. + +2002-03-10 Daniel Jacobowitz <drow@mvista.com> + + * gdb: New directory. + +2002-03-06 Andrew Cagney <ac131313@redhat.com> + + * floatformat.h (floatformat_arm_ext): Delete declaration. + +2002-02-21 Jim Blandy <jimb@redhat.com> + + Allow the user to specify functions for allocating memory for + splay tree roots and nodes. + * splay-tree.h (splay_tree_allocate_fn, splay_tree_deallocate_fn): + New types. + (splay_tree): New fields: `allocate', `deallocate', and + `allocate_data'. + (splay_tree_new_with_allocator): New function declaration. + +2002-02-15 Alan Modra <amodra@bigpond.net.au> + + Support arbitrary length fill patterns. + * bfdlink.h (enum bfd_link_order_type): Remove bfd_fill_link_order. + (struct bfd_link_order): Remove fill. Add data.size. + +2002-02-08 Alexandre Oliva <aoliva@redhat.com> + + Contribute sh64-elf. + 2000-11-25 Hans-Peter Nilsson <hpn@cygnus.com> + * dis-asm.h (print_insn_sh64): New prototype. + (print_insn_sh64l): New prototype. + (print_insn_sh64x_media): New prototype. + +2002-02-05 Frank Ch. Eigler <fche@redhat.com> + + * dis-asm.h (disassemble_info): New field `insn_sets'. + (INIT_DISASSEMBLE_INFO): Clear it. + +2002-02-05 Jason Merrill <jason@redhat.com> + + * demangle.h (cplus_demangle_v3): Add "options" parm. + (cplus_demangle_v3_type): Remove prototype. + (DMGL_VERBOSE): New macro. + (DMGL_TYPES): New macro. + +2002-02-02 H.J. Lu (hjl@gnu.org) + + * demangle.h (cplus_demangle_v3_type): New prototype. + +2002-01-31 Ivan Guzvinec <ivang@opencores.org> + + * dis-asm.h : Add support for or32 targets + +2002-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h (C_alloca): Add ATTRIBUTE_MALLOC. + +2002-01-27 David O'Brien <obrien@FreeBSD.org> + + * cgen.h (BFD_VERSION): Use BFD_VERSION_DATE instead. + +2001-12-14 Nick Clifton <nickc@cambridge.redhat.com> + + * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialise the + disassembler_options field (to NULL). + +2001-12-13 Jakub Jelinek <jakub@redhat.com> + + * bfdlink.h (struct bfd_link_info): Add eh_frame_hdr field. + +2001-12-07 Geoffrey Keating <geoffk@redhat.com> + + * dis-asm.h (print_insn_xstormy16): Declare. + +2001-12-06 Richard Henderson <rth@redhat.com> + + * demangle.h (no_demangling): New. + (NO_DEMANGLING_STYLE_STRING): New. + +2001-11-14 Alan Modra <amodra@bigpond.net.au> + + * dis-asm.h (print_insn_i386): Declare. + +2001-11-11 Timothy Wall <twall@alum.mit.edu> + + * dis-asm.h: Fix comment to refer to octets rather than bytes. + +2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> + + * dis-asm.h (print_insn_mmix): Add prototype. + +2001-10-24 Neil Booth <neil@daikokuya.demon.co.uk> + + * safe-ctype.h (_sch_isbasic, IS_ISOBASIC): New. + +2001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h (hex_init): Revert delete. + + * libiberty.h (_hex_value): Const-ify. + (hex_init): Delete. + +2001-10-16 Christopher Faylor <cgf@redhat.com> + + * filenames.h: Add cygwin to the list of dosish style path systems. + +2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * demangle.h (demangler_engine): Const-ify. + * libiberty.h (buildargv): Likewise. + +2001-10-03 Vassili Karpov <malc@pulsesoft.com> + + * bfdlink.h (struct bfd_link_info): Add nocopyreloc field. + +2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h (reconcat): New function. + +2001-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h (concat, concat_length, concat_copy, concat_copy2, + ACONCAT): Improve comments. + +2001-09-18 Alan Modra <amodra@bigpond.net.au> + + * objalloc.h (OBJALLOC_ALIGN): Define using offsetof. + +2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h (concat_length, concat_copy, concat_copy2, + libiberty_concat_ptr, ACONCAT): New. + + * libiberty.h (ASTRDUP): New macro. + libiberty_optr, libiberty_nptr, libiberty_len): Declare. + +2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * ansidecl.h: Update comments reflecting previous change. + +2001-08-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses. + +2001-08-25 Nick Clifton <nickc@cambridge.redhat.com> + + * bfdlink.h (struct bfd_link_info): Change 'spare_dynamic_tags' to + unsigned to remove a compile time warning message. + +2001-08-24 H.J. Lu <hjl@gnu.org> + + * bfdlink.h (bfd_link_hash_table_type): New. The linker hash + table type, bfd_link_generic_hash_table and + bfd_link_elf_hash_table. + (bfd_link_hash_table): Add a new field, type, for the linker + hash table type. + +2001-08-23 Jakub Jelinek <jakub@redhat.com> + + * bfdlink.h (struct bfd_link_info): Add combreloc and + spare_dynamic_tags fields. + +2001-08-23 Lars Brinkhoff <lars@nocrew.org> + + * dyn-string.h, fibheap.h, partition.h, sort.h, splay-tree.h: + replace "GNU CC" with "GCC". + +2001-08-21 Richard Henderson <rth@redhat.com> + + * fibheap.h: Tidy formatting. + (fibnode_t): Limit degree to 31 bits to avoid warning. + +2001-08-20 Daniel Berlin <dan@cgsoftware.com> + + * fibheap.h: New file. Fibonacci heap. + +2001-08-20 Andrew Cagney <ac131313@redhat.com> + + * floatformat.h (floatformat_arm_ext): Document as deprecated. + (floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword) + (floatformat_ia64_spill_little, floatformat_ia64_quad_little) + (floatformat_ia64_spill_big, floatformat_ia64_quad_big) + (floatformat_m88110_harris_ext): Declare. + +2001-08-18 Zack Weinberg <zackw@panix.com> + + * ansidecl.h: Reorganize for readability, remove documentation + of obsolete macros, document PARAMS and VPARAMS. Add new + macros VA_OPEN, VA_CLOSE, and VA_FIXEDARG for nicer variadic + function implementation. + +2001-08-16 Richard Henderson <rth@redhat.com> + + * hashtab.h (htab_hash_string): Declare. + +2001-08-10 Andrew Cagney <ac131313@redhat.com> + + * libiberty.h (lbasename): Change function declaration to return a + const char pointer. + +2001-08-02 Mark Kettenis <kettenis@gnu.org> + + * xregex.h (_REGEX_RE_COMP): Define. + (re_comp): Define to xre_comp. + (re_exec): Define to xre_exec. + +2001-08-02 Charles Wilson <cwilson@ece.gatech.edu> + + * bfdlink.h (struct bfd_link_info): add new boolean + field pei386_auto_import. + +2001-07-18 Andreas Jaeger <aj@suse.de> + + * xregex2.h: Place under LGPL version 2.1. + +2001-07-10 Jeff Johnston <jjohnstn@redhat.com> + + * xregex.h: New file to support libiberty regex. + * xregex2.h: Ditto. + +2001-06-15 Hans-Peter Nilsson <hp@axis.com> + + * bfdlink.h (struct bfd_link_info): New member export_dynamic. + +2001-05-16 Matt Kraai <kraai@alumni.carnegiemellon.edu> + + * partition.h: Fix misspelling of `implementation'. + +2001-05-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * ansidecl.h (NULL_PTR): Delete. + +2001-05-07 Zack Weinberg <zackw@stanford.edu> + + * demangle.h: Use PARAMS for all prototypes. + * ternary.h: Use PARAMS for all prototypes. Use PTR, not void *. + Make arguments constant where possible. + +2001-05-07 Mark Mitchell <mark@codesourcery.com> + + * splay-tree.h (splay_tree_max): New function. + (splay_tree_min): Likewise. + +2001-04-27 Johan Rydberg <jrydberg@opencores.org> + + * dis-asm.h (print_insn_openrisc): Add prototype. + +2001-04-15 Daniel Berlin <dan@cgsoftware.com> + + * ternary.h: New file - Ternary search tree header. + +2001-04-13 Jakub Jelinek <jakub@redhat.com> + + * bfdlink.h (bfd_link_discard): Add discard_sec_merge. + +2001-04-03 Zack Weinberg <zackw@stanford.edu> + + * ansidecl.h: All logic from gcc/gansidecl.h moved here. + +2001-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h (alloca): Handle setting C_ALLOCA. + +2001-03-20 Jim Blandy <jimb@redhat.com> + + * demangle.h (enum gnu_v3_constructor_kinds, + is_gnu_v3_mangled_ctor, enum gnu_v3_destructor_kinds, + is_gnu_v3_mangled_dtor): New declarations. + +2001-03-14 Nick Clifton <nickc@redhat.com> + + * ansidecl.h: Fix copyright dates. + * demangle.h: Fix copyright dates. + * floatformat.h: Fix copyright dates. + * fnmatch.h: Fix copyright dates. + * getopt.h: Fix copyright dates. + * libiberty.h: Add FSF copyright notice. + * md5.h: Fix copyright dates. + * obstack.h: Fix copyright dates. + * splay-tree.h: Fix copyright dates. + +2001-03-10 Neil Booth <neil@daikokuya.demon.co.uk> + John David Anglin <dave@hiauly1.hia.nrc.ca> + + * libiberty.h: Add lbasename. + +2001-03-06 Zack Weinberg <zackw@stanford.edu> + + * libiberty.h: Prototype C_alloca; define alloca to either + __builtin_alloca or C_alloca as appropriate. + +2001-03-01 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * safe-ctype.h (_sch_test): Cast enum bit to unsigned short int for pcc + compatibility. + +2001-02-18 lars brinkhoff <lars@nocrew.org> + + * dis-asm.h: Add PDP-11 target. + +2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * dis-asm.h: Add linux target for S/390. + +2001-01-11 Peter Targett <peter.targett@arccores.com> + + * dis-asm.h (arc_get_disassembler): Correct declaration. + +2001-01-09 Philip Blundell <philb@gnu.org> + + * bin-bugs.h (REPORT_BUGS_TO): Set to `bug-binutils@gnu.org'. + +2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk> + + * COPYING: Update to current + ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references + to 19yy as example year in copyright notice). + +2000-12-19 Hans-Peter Nilsson <hp@bitrange.com> + + * dis-asm.h (struct disassemble_info): New member "section". + (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize private_data member. + Initialize section member. + +2000-12-16 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> + + * safe-ctype.h: Make code work on all targets and not just on + targets where a char is 8 bits. + +2000-12-10 Fred Fish <fnf@be.com> + + * bfdlink.h (struct bfd_link_info): Add new allow_shlib_undefined + member to struct for systems where it is normal to have undefined + symbols in shared libraries at runtime and the runtime linker + takes care of redirecting them. + +2000-12-07 Zack Weinberg <zack@wolery.stanford.edu> + + * safe-ctype.h: New file. + +2000-12-06 Rodney Brown <RodneyBrown@mynd.com> + + * getopt.h obstack.h: Standarize copyright statement. + +2000-12-04 Richard Henderson <rth@redhat.com> + + * demangle.h: Change "new_abi" to "v3" everywhere. + +2000-11-22 Zack Weinberg <zack@wolery.stanford.edu> + + * libiberty.h: Move #includes to top. Prototype xmalloc_failed. + +2000-11-15 Kenneth Block <kenneth.block@compaq.com> + + * demangle.h: Add gnat and java demangle styles. + +2000-11-04 Hans-Peter Nilsson <hp@bitrange.com> + + * hashtab.h (struct htab): Add member return_allocation_failure. + (htab_try_create): New prototype. Mention which functions may + return NULL when this is used. + +2000-11-03 Hans-Peter Nilsson <hp@bitrange.com> + + * hashtab.h: Change void * to PTR where necessary. + +2000-10-11 Mark Mitchell <mark@codesourcery.com> + + * splay-tree.h (splay_tree_predecessor): Declare. + +2000-09-29 Hans-Peter Nilsson <hp@axis.com> + + * dis-asm.h: Declare cris_get_disassembler, not print_insn_cris. + Fix typo in comment. + +2000-09-28 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * alloca-conf.h: New file (copied from libiberty). + +2000-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * md5.h (md5_uint32): Choose via INT_MAX instead of UINT_MAX. + +2000-09-04 Alex Samuel <samuel@codesourcery.com> + + * dyn-string.h: Adjust formatting. + (dyn_string_insert_char): New macro. New declaration. + +2000-08-28 Jason Merrill <jason@redhat.com> + + * md5.h: New file. + +2000-08-24 Greg McGary <greg@mcgary.org> + + * libiberty.h (ARRAY_SIZE): New macro. + +2000-07-29 Nick Clifton <nickc@cygnus.com> + + * os9k.h: Add copyright notice. + Fix formatting. + +2000-07-22 Jason Eckhardt <jle@cygnus.com> + + * dis-asm.h (print_insn_i860): Add prototype. + +2000-07-20 H.J. Lu <hjl@gnu.org> + + * bfdlink.h (bfd_link_info): Add new_dtags. + +2000-07-20 Hans-Peter Nilsson <hp@axis.com> + + * dis-asm.h (print_insn_cris): Declare. + +2000-07-19 H.J. Lu (hjl@gnu.org) + + * bfdlink.h (bfd_link_info): Add flags and flags_1. + +2000-06-05 DJ Delorie <dj@redhat.com> + + * MAINTAINERS: new + +2000-06-21 Alex Samuel <samuel@codesourcery.com> + + * dyn-string.h (dyn_string_init, dyn_string_new, + dyn_string_delete, dyn_string_release, dyn_string_resize, + dyn_string_clear, dyn_string_copy, dyn_string_copy_cstr, + dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert, + dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr, + dyn_string_append_char, dyn_string_substring_dyn_string_eq): + Define as same name with __cxa_ prepended, if IN_LIBGCC2. + (dyn_string_init, dyn_string_copy, dyn_string_copy_cstr, + dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert, + dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr, + dyn_string_append_char, dyn_string_substring): Change return type + to int. + +2000-06-18 Stephane Carrez <stcarrez@worldnet.fr> + + * dis-asm.h (print_insn_m68hc12): Define. + (print_insn_m68hc11): Likewise. + +2000-06-18 Nick Clifton <nickc@redhat.com> + + * os9k.h: Change values of MODSYNC and CRCCON due to bug report + from Russ Magee <rmagee@home.com>. + +2000-06-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * demangle.h (demangling_styles): Remove trailing comma in enum. + + * dyn-string.h (dyn_string_append_char): Change parameter from + char to int. + +2000-06-04 Alex Samuel <samuel@codesourcery.com> + + * 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. + (current_demangling_style): Add gnu_new_abi_demangling. + (GNU_NEW_ABI_DEMANGLING_STYLE_STRING): New macro. + (GNU_NEW_ABI_DEMANGLING): Likewise. + (cplus_demangle_new_abi): New declaration. + +Tue May 30 16:53:34 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * floatformat.h (struct floatformat): Add field name. + +2000-05-26 Eli Zaretskii <eliz@is.elta.co.il> + + * filenames.h: New file. + (HAVE_DOS_BASED_FILE_SYSTEM, IS_DIR_SEPARATOR) + (IS_ABSOLUTE_PATH, FILENAME_CMP): New macros. + +2000-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * getopt.h (getopt): Also check HAVE_DECL_* when prototyping. + + * libiberty.h (basename): Likewise. + +2000-05-17 S. Bharadwaj Yadavalli <sby@scrugs.lkg.dec.com> + Rick Gorton <gorton@scrugs.lkg.dec.com> + + * bfdlink.h (struct bfd_link_info): Add emitrelocations flag. + +2000-05-08 Alan Modra <alan@linuxcare.com.au> + + * dis-asm.h (print_insn_tic54x): Declare. + +2000-05-06 Zack Weinberg <zack@wolery.cumb.org> + + * ansidecl.h: #define __extension__ to nothing if + GCC_VERSION < 2008. + +2000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * demangle.h (demangler_engine): Constify. + +Thu May 4 17:15:26 2000 Philippe De Muyter <phdm@macqel.be> + + * sort.h (sys/types.h): File included unconditionnaly. + (stddef.h): File include only #ifdef __STDC__. + +2000-05-03 Zack Weinberg <zack@wolery.cumb.org> + + * symcat.h: Remove #endif label. + +2000-04-28 Kenneth Block <block@zk3.dec.com> + Jason Merrill <jason@casey.cygnus.com> + + * demangle.h (libiberty_demanglers): new table for different styles. + (cplus_demangle_set_style): New function for setting style. + (cplus_demangle_name_to_style): New function to translate name. + +2000-04-24 Mark Mitchell <mark@codesourcery.com> + + * hashtab.h (hash_pointer): Declare. + (eq_pointer): Likewise. + +2000-04-23 Mark Mitchell <mark@codesourcery.com> + + * sort.h: New file. + +Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com> + David Mosberger <davidm@hpl.hp.com> + + * dis-asm.h (print_insn_ia64): Declare. + +Tue Apr 18 16:22:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * hashtab.h (enum insert_option): New type. + (htab_find_slot, htab_find_slot_with_hash): Use it. + +2000-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * symcat.h: Honor autoconf macro HAVE_STRINGIZE. Add + comments/caveats with regard to traditional C behavior. + +2000-04-05 Richard Henderson <rth@cygnus.com> + + * splay-tree.h (splay_tree_remove): Declare. + +2000-04-04 Alan Modra <alan@linuxcare.com.au> + + * bin-bugs.h (REPORT_BUGS_TO): Remove translated part. + +2000-04-03 Alan Modra <alan@linuxcare.com.au> + + * bin-bugs.h: New file. + +2000-03-30 Mark Mitchell <mark@codesourcery.com> + + * hashtab.h (hashval_t): New type. + (htab_find_with_hash): Use it as an argument. + (htab_find_slot_with_hash): Likewise. + +2000-03-27 Denis Chertykov <denisc@overta.ru> + + * dis-asm.h (print_insn_avr): Declare. + +2000-03-14 Bernd Schmidt <bernds@cygnus.co.uk> + + * hashtab.h (htab_trav): Modify type so that first arg is of type + void **. + (htab_find_with_hash, htab_find_slot_with_hash): Declare new + functions. + +2000-03-09 Alex Samuel <samuel@codesourcery.com> + + * partition.h: New file. + +2000-03-09 Zack Weinberg <zack@wolery.cumb.org> + + * hashtab.h (struct htab): Add del_f. + (htab_del): New type. + (htab_create): Add fourth argument. + +2000-03-08 Zack Weinberg <zack@wolery.cumb.org> + + * hashtab.h (hash_table_t): Rename to htab_t. + (struct hash_table): Rename to struct htab. Shorten element + names. Reorder elements by size. + (htab_hash, htab_eq, htab_trav): New typedefs for the callback + function pointers. + (hash_table_entry_t): Discard; just use void * for element + type. + +2000-03-01 H.J. Lu <hjl@gnu.org> + + * bfdlink.h (bfd_link_callbacks): Add a boolean arg to + the undefined_symbol callback. + +2000-02-23 Linas Vepstas <linas@linas.org> + + * dis-asm.h (print_insn_i370): Declare. + +Tue Feb 22 15:19:54 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * remote-sim.h (sim_trace): Document return values. + (sim_set_trace): Declare. Deprecate. + +2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au> + + * dis-asm.h (struct disassemble_info): Change `length' param of + read_memory_func to unsigned. Change type of `buffer_length' and + `octets_per_byte' to unsigned. + (buffer_read_memory): Change `length' param to unsigned. + +2000-02-16 Nick Clifton <nickc@cygnus.com> + + * dis-asm.h: Add prototypes for ARM register name functions. + +Wed Feb 9 18:45:49 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * wait.h: Delete. No longer used by GDB. + +Tue Feb 8 17:01:13 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * remote-sim.h (sim_resume): Clarify use of SIGGNAL. + (sim_stop_reason): Clarify meaning of sim_signalled. + +2000-02-03 Timothy Wall <twall@redhat.com> + + * dis-asm.h (struct disassemble_info): Added octets_per_byte + field and initialize it to one (1). + +2000-01-27 Nick Clifton <nickc@redhat.com> + + * dis-asm.h: Add prototype for disassembler_usage(). + Add prototype for arm_disassembler_options(). + Remove prototype for arm_toggle_regnames(). + Add prototype for parse_arm_disassembler_option(). + +Sat Jan 1 19:06:52 2000 Hans-Peter Nilsson <hp@bitrange.com> + + * symcat.h (STRINGX) [!__STDC__ || ALMOST_STDC]: Change "?" to "s" + to stringify argument s. + +Wed Dec 15 11:22:56 1999 Jeffrey A Law (law@cygnus.com) + + * hp-symtab.h (HP_LANGUAGE_FORTRAN): New enumeration constant. + (HP_LANGUAGE_F77): Define using HP_LANGUAGE_FORTRAN. + +1999-12-15 Doug Evans <dje@transmeta.com> + + * dis-asm.h: Enclose in extern "C" ifdef __cplusplus. + +1999-12-05 Mark Mitchell <mark@codesourcery.com> + + * splay-tree.h (struct splay_tree_node): Rename to ... + (struct splay_tree_node_s): ... this. + (struct splay_tree): Rename to ... + (struct splay_tree_s): ... this. + +1999-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * ansidecl.h (ATTRIBUTE_MALLOC): New macro. + + * libiberty.h (buildargv, dupargv, concat, choose_temp_base, + make_temp_file, xmalloc, xcalloc, xstrdup, xmemdup): Add + ATTRIBUTE_MALLOC. + (xatexit): Remove __GNUC__ check, add ATTRIBUTE_NORETURN. + +1999-11-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h: Include stdarg.h when ANSI_PROTOTYPES is defined. + (asprintf, vasprintf): Provide declarations. + +Wed Nov 10 12:43:21 1999 Philippe De Muyter <phdm@macqel.be> + Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * ansidecl.h: Define and test `GCC_VERSION', not `HAVE_GCC_VERSION'. + +1999-11-04 Jimmy Guo <guo@cup.hp.com> + + * hp-symtab.h (dntt_type_fparam): Add doc_ranges, misc_kind + fields, change location type to CORE_ADDR from int. + (dntt_type_const): Name the 5th field location_type. + +Sun Oct 24 19:11:32 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * sim-d10v.h (SIM_D10V_TS2_DMAP_REGNUM): Define. + +1999-10-23 08:51 -0700 Zack Weinberg <zack@bitmover.com> + + * hashtab.h: Give hash_table_t a struct tag. Add prototypes + for clear_hash_table_slot and traverse_hash_table. Correct + prototype of all_hash_table_collisions. + +Sat Oct 23 19:00:13 1999 Andrew Cagney <cagney@b1.cygnus.com> + + * sim-d10v.h: New file. + +Fri Oct 15 01:47:51 1999 Vladimir Makarov <vmakarov@loony.cygnus.com> + + * hashtab.h: New file. + +1999-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * ansidecl.h (HAVE_GCC_VERSION): New macro. Use it instead of + explicitly testing __GNUC__ and __GNUC_MINOR__. + + (ATTRIBUTE_PRINTF): Use `__format__', not `format'. + +1999-09-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h (make_temp_file): Add a prototype. + +Tue Sep 14 00:35:02 1999 Marc Espie <espie@cvs.openbsd.org> + + * libiberty.h (basename): OpenBSD has a correct prototype. + (xrealloc): Remove outdated comment. + +1999-09-07 Jeff Garzik <jgarzik@pobox.com> + + * libiberty.h (xmemdup): Add prototype for new function. + +1999-09-04 Steve Chamberlain <sac@pobox.com> + + * dis-asm.h (print_insn_pj): Declare. + +1999-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * obstack.h (obstack_grow, obstack_grow0): Move (char*) casts + in calls to `_obstack_memcpy' from here ... + + (_obstack_memcpy): ... to here, except in the __STDC__ case which + doesn't need it. + +1999-08-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h (getpwd): Prototype. + +1999-08-01 Mark Mitchell <mark@codesourcery.com> + + * splay-tree.h (splay_tree_insert): Return the new node. + +1999-07-11 Ian Lance Taylor <ian@zembu.com> + + * ansidecl.h: Copy attribute support macros from egcs. + +1999-06-22 Mark Mitchell <mark@codesourcery.com> + + * bfdlink.h (struct bfd_link_hash_entry): Add init_function and + fini_function. + +1999-06-20 Mark Mitchell <mark@codesourcery.com> + + * mips.h (Elf32_Internal_Msym): New structure. + (Elf32_External_Msym): Likewise. + (ELF32_MS_REL_INDEX): New macro. + (ELF32_MS_FLAGS): Likewise. + (ELF32_MS_INFO): Likewise. + +1999-06-14 Nick Clifton <nickc@cygnus.com> + + * dis-asm.h (arm_toggle_regnames): New prototype. + (struct diassemble_info): New field: disassembler_options. + +1999-04-11 Richard Henderson <rth@cygnus.com> + + * bfdlink.h (bfd_elf_version_expr): Rename `match' to `pattern'. + Add `match' callback function. + +1999-04-10 Richard Henderson <rth@cygnus.com> + + * bfdlink.h (bfd_link_info): Add no_undefined. + +1999-04-08 Nick Clifton <nickc@cygnus.com> + + * dis-asm.h: Add prototype for print_insn_mcore. + +1999-04-02 Mark Mitchell <mark@codesourcery.com> + + * splay-tree.h (splay_tree_compare_pointers): Declare. + +1999-03-30 Mark Mitchell <mark@codesourcery.com> + + * splay-tree.h (splay_tree_compare_ints): Declare. + +Wed Mar 24 12:46:29 1999 Andrew Cagney <cagney@amy.cygnus.com> + + * libiberty.h (basename): Cygwin{,32} should have the prototype. + +1999-02-22 Jim Lemke <jlemke@cygnus.com> + + * bfdlink.h (bfd_link_info): add field "mpc860c0". + +Mon Feb 1 21:05:46 1999 Catherine Moore <clm@cygnus.com> + + * dis-asm.h (print_insn_i386_att): Declare. + (print_insn_i386_intel): Declare. + +1998-12-30 Michael Meissner <meissner@cygnus.com> + + * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Cast STREAM and + FPRINTF_FUNC to avoid compiler warnings. + +Wed Dec 30 16:07:14 1998 David Taylor <taylor@texas.cygnus.com> + + * dis-asm.h: change void * to PTR (two places). + +Mon Dec 14 09:53:31 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * demangle.h: Don't check IN_GCC anymore. + * splay-tree.h: Likewise. + +Tue Dec 8 00:30:31 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> + + The following changes were made by Elena Zannoni + <ezannoni@kwikemart.cygnus.com> and Edith Epstein + <eepstein@sophia.cygnus.com> as part of a project to merge in + changes made by HP; HP did not create ChangeLog entries. + + * dis-asm.h (struct disassemble_info): change the type of stream + from FILE* to void*, for use with gdb's new type GDB_FILE. + (fprintf_ftype): change FILE* parameter type to void*. + + * demangle.h: (DMGL_EDG): new macro for Kuck and Associates + (DMGL_STYLE_MASK): modify to include Kuck and Assoc style + (demangling_styles): add new edg_demangling style + (EDG_DEMANGLING_STYLE_STRING): new macro + (EDG_DEMANGLING): new macro + (DMGL_HP): new macro, for HP/aCC compiler. + (DMGL_STYLE_MASK): modify to include new HP's style. + (demangling_styles): add new hp_demangling value. + (HP_DEMANGLING_STYLE_STRING): new macro. + (ARM_DEMANGLING): coerce to int. + (HP_DEMANGLING): new macro. + + * hp-symtab.h: rewritten, from HP. + (quick_procedure): change type of language field to unsigned int + (quick_module): change type of language field to unsigned int + (struct dntt_type_svar): add field thread_specific. + (hp_language): add languages modcal and dmpascal. + +Fri Nov 20 13:14:00 1998 Andrew Cagney <cagney@b1.cygnus.com> + + * libiberty.h (basename): Add prototype for FreeBSD. + +Fri Nov 13 19:19:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h: Prototype xcalloc. + +Sun Nov 8 17:42:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * ansidecl.h: Wrap problematic macros with !IN_GCC. + + * demangle.h: Never define PARAMS(). + * splay-tree.h: Likewise. + +Sat Nov 7 18:30:20 1998 Peter Schauer <peter.schauer@regent.e-technik.tu-muenchen.de> + + * dis-asm.h (print_insn_vax): Declare. + +Sat Nov 7 16:04:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * demangle.h: Don't include gansidecl.h. + * splay-tree.h: Likewise. + +1998-10-26 16:03 Ulrich Drepper <drepper@cygnus.com> + + * bfdlink.h (struct bfd_link_info): Add new field optimize. + +Thu Oct 22 19:58:00 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * splay-tree.h: Wrap function pointer parameter declarations in + PARAMS() macro. + +1998-10-21 Mark Mitchell <mark@markmitchell.com> + + * splay-tree.h: New file. + +Fri Oct 9 00:02:03 1998 Jeffrey A Law (law@cygnus.com) + + * Merge devo and egcs include directories. + +Sat Sep 5 12:16:33 1998 Jeffrey A Law (law@cygnus.com) + + * getopt.h, obstack.h: Updated from gcc. + +1998-08-03 Jason Molenda (jsm@bugshack.cygnus.com) + + * libiberty.h (xexit): Change decl to use modern GCC attribute + to indicate exit does not return. + +Mon Jun 1 13:48:32 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * obstack.h: Update to latest FSF version. + +Tue Feb 24 13:05:02 1998 Doug Evans <devans@canuck.cygnus.com> + + * dis-asm.h (disassemble_info): Member `symbol' renamed to `symbols' + and made an "asymbol **". New member num_symbols. + (INIT_DISASSEMBLE_INFO_NO_ARCH): Update. + +Tue Feb 17 12:32:18 1998 Andrew Cagney <cagney@b1.cygnus.com> + + * remote-sim.h (sim_fetch_register, sim_store_register): Add + register length parameter. Functions return actual length of + register. + +Thu Feb 12 16:29:01 1998 Ian Lance Taylor <ian@cygnus.com> + + * getopt.h: Update to latest FSF version. + +Wed Feb 11 16:56:06 1998 Doug Evans <devans@canuck.cygnus.com> + + * symcat.h: New file. + +Mon Feb 2 17:13:31 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU> + + * dis-asm.h (print_insn_tic30): Declare. + +Thu Jan 22 16:23:59 1998 Fred Fish <fnf@cygnus.com> + + * dis-asm.h: Add flag INSN_HAS_RELOC to tell disassembly + function there is a reloc on this line. + +Mon Dec 8 11:22:23 1997 Nick Clifton <nickc@cygnus.com> + + * dis-asm.h: Remove prototype of disasm_symaddr() as this function + no longer exists. + +Tue Dec 2 10:20:53 1997 Nick Clifton <nickc@cygnus.com> + + * dis-asm.h (disasm_symaddr): New prototype. + +Mon Dec 1 11:29:35 1997 Doug Evans <devans@canuck.cygnus.com> + + * callback.h (CB_SYSCALL): Comment out arg names in prototypes. + +Wed Nov 26 16:47:58 1997 Michael Meissner <meissner@cygnus.com> + + * callback.h (CB_SYSCALL): Consistantly use names for prototype + arguments. + +Wed Nov 26 11:39:30 1997 Doug Evans <devans@canuck.cygnus.com> + + * callback.h (CB_SYSCALL): Change byte count arguments to + {read,write}_mem to `int'. New member `magic'. + (CB_SYSCALL_MAGIC,CB_SYSCALL_INIT): New macros. + +Tue Nov 25 01:35:52 1997 Doug Evans <devans@seba.cygnus.com> + + * callback.h (struct stat): Move forward decl up. + (host_callback): Pass stat struct pointer to stat,fstat. + (CB_SYS_nnn): Reorganize. + (CB_SYSCALL): New members p1,p2. + (cb_host_to_target_stat): Delete fourth arg. + +Sat Nov 22 23:34:15 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * remote-sim.h (sim_stop_reason): Clarify sim_signalled SIGRC + argument. + +Mon Nov 17 14:00:51 1997 Doug Evans <devans@seba.cygnus.com> + + * callback.h (CB_TARGET_DEFS_MAP): Renamed from target_defs_map. + (host_callback): Add stat, fstat, syscall_map, errno_map, open_map, + signal_map, stat_map. + (errn_map,open_map): Renamed to cb_init_foo_map. + (cb_host_to_target_errno,cb_target_to_host_open): Renamed from + host_to_target_errno,target_to_host_open. + (cb_read_target_syscall_maps): Add prototype. + (cb_target_to_host_syscall): Likewise. + (cb_host_to_target_stat): Likewise. + (cb_syscall): Likewise. + (CB_SYS_{exit,open,close,read,write,lseek,unlink,getpid,kill,fstat, + argvlen,argv,chdir,stat,chmod,utime,time}): Define. + (CB_SYSCALL): New type. + (CB_RC): New enum. + +Fri Nov 7 10:34:09 1997 Rob Savoye <rob@darkstar.cygnus.com> + + * libiberty.h: Add extern "C" { so it can be used with C++ + programs. + * remote-sim.h: Add extern "C" { so it can be used with C++ + programs. + +Tue Oct 14 16:07:51 1997 Nick Clifton <nickc@cygnus.com> + + * dis-asm.h (struct disassemble_info): New field + 'symbol_at_address_func'. + (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialise new field with + generic_symbol_at_address. + +Mon Oct 13 10:17:15 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * remote-sim.h: Clarify sim_read, sim_write MEM argument. + +Wed Sep 24 18:03:10 1997 Stu Grossman <grossman@babylon-5.cygnus.com> + + * remote-sim.h (SIM_RC): Add a bunch of new return codes for + breakpoint stuff. + * Add functions to tell the simulator to set/clear/enable/disable + intrinsic breakpoints. + +Thu Aug 28 19:41:42 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * libiberty.h (dupargv): Add prototype. + +Tue Aug 26 12:25:49 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * remote-sim.h (sim_create_inferior): Add ABFD arg. Document. + +Mon Aug 25 10:50:51 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * remote-sim.h (sim_open): Add ABFD arg. Document. + +Fri Aug 8 16:43:56 1997 Doug Evans <dje@canuck.cygnus.com> + + * dis-asm.h (arc_get_disassembler): Declare. + +Wed Jul 30 11:39:50 1997 Per Bothner <bothner@deneb.cygnus.com> + + * demangle.h (DMGL_JAVA): New option to request Java demangling. + +Tue Jul 22 17:59:54 1997 Ian Lance Taylor <ian@cygnus.com> + + * libiberty.h (PEXECUTE_*): Define. + (pexecute, pwait): Declare. + +Fri Jun 6 13:02:33 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * remote-sim.h (sim_kill): Mark as depreciated. + +Fri May 23 13:43:41 1997 Fred Fish <fnf@cygnus.com> + + * bfdlink.h (struct bfd_link_info): Add task_link member. + +Thu May 22 11:32:49 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * remote-sim.h: Review documentation. Clarify restrictions on + when functions can be called. + +Wed May 21 16:47:53 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * remote-sim.h (sim_set_profile_size): Add prototype, document as + depreciated. + +Tue May 20 09:32:22 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * remote-sim.h (sim_open): Add callback struct. + (sim_set_callbacks): Drop SIM_DESC argument. Document. + (sim_size): Remove recently added SIM_DESC argument. Document. + +Mon May 19 19:14:44 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * remote-sim.h: Pass SD into sim_size. + +Thu May 15 01:24:16 1997 Mark Alexander <marka@cygnus.com> + + * obstack.h (obstack_specify_allocation_with_arg, obstack_chunkfun, + obstack_freefun): Eliminate compile warnings in gdb. + +Tue Apr 22 10:24:34 1997 Fred Fish <fnf@cygnus.com> + + * floatformat.h (floatformat_byteorders): Add comments for previous + formats and add floatformat_littlebyte_bigword, primarily for ARM. + Add declaration for floatformat_ieee_double_littlebyte_bigword. + +Fri Apr 18 13:04:49 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * remote-sim.h (sim_stop): New interface - asynchronous + notification of a request to stop / suspend the running + simulation. + + * remote-sim.h (enum sim_stop): Add sim_running and sim_polling as + states for use internal to simulators. + + * callback.h (struct host_callback_strut): Put a magic number at + the end of the struct to allow basic checking. + (struct host_callback_struct ): Add poll_quit - so + that the console etc can be polled at regular intervals. + +Thu Apr 17 02:17:12 1997 Doug Evans <dje@canuck.cygnus.com> + + * remote-sim.h (struct _bfd): Declare. + (sim_load): Return SIM_RC. New arg `abfd'. + (sim_create_inferior): Return SIM_RC. Delete arg `start_address'. + +Wed Apr 2 17:09:12 1997 Andrew Cagney <cagney@kremvax.cygnus.com> + + * remote-sim.h (sim_trace, sim_size): Make these global. They + will go away shortly. + +Wed Apr 2 15:23:49 1997 Doug Evans <dje@canuck.cygnus.com> + + * remote-sim.h (SIM_OPEN_KIND, SIM_RC): New enums. + (sim_open): New argument `kind'. + +Wed Apr 2 14:45:51 1997 Ian Lance Taylor <ian@cygnus.com> + + * COPYING: Update FSF address. + +Fri Mar 28 15:29:54 1997 Mike Meissner <meissner@cygnus.com> + + * callback.h (top level): Include stdarg.h or varargs.h if + va_start is not defined. + (host_callback_struct): Make {,e}vprintf_filtered take a va_list + instead of void *, since va_list might be an array or structure + type. + +Fri Mar 28 15:44:41 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + * libiberty.h (basename): Add prototype for glibc and linux. + +Mon Mar 17 19:22:12 1997 Ian Lance Taylor <ian@cygnus.com> + + * objalloc.h: New file. + +Mon Mar 17 14:57:55 1997 Andrew Cagney <cagney@kremvax.cygnus.com> + + * remote-sim.h: New file, copied in from gdb/remote-sim.h. One + day this will be placed in a directory of its own. + +Sat Mar 15 19:00:14 1997 Ian Lance Taylor <ian@cygnus.com> + + * obstack.h: Update to current FSF version. + +Thu Mar 6 15:46:59 1997 Andrew Cagney <cagney@kremvax.cygnus.com> + + * callback.h (struct host_callback_struct): Add callbacks - + flush_stdout, write_stderr, flush_stderr, vprintf_filtered, + evprintf_filtered. Delete redundant callbacks - printf_filtered. + +Thu Feb 27 23:18:27 1997 Ian Lance Taylor <ian@cygnus.com> + + * bfdlink.h (struct bfd_link_info): Remove lprefix and lprefix_len + fields. + +Tue Feb 25 00:10:49 1997 Ian Lance Taylor <ian@cygnus.com> + + * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize + bytes_per_chunk and display_endian. + +Mon Feb 24 17:47:02 1997 Ian Lance Taylor <ian@cygnus.com> + + From Eric Youngdale <eric@andante.jic.com>: + * bfdlink.h (struct bfd_elf_version_expr): Define. + (struct bfd_elf_version_deps): Define. + (struct bfd_elf_version_tree): Define. + +Thu Feb 6 14:20:01 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + + * dis-asm.h: (disassemble_info): Add new fields + bytes_per_chunk and display_endian to control the + display of raw instructions. + +Fri Dec 27 22:17:37 1996 Fred Fish <fnf@cygnus.com> + + * dis-asm.h (print_insn_tic80): Declare. + +Sun Dec 8 17:11:12 1996 Doug Evans <dje@canuck.cygnus.com> + + * callback.h (host_callback): New member `error'. + +Wed Nov 20 00:40:23 1996 Doug Evans <dje@canuck.cygnus.com> + + * callback.h: New file, moved here from gdb. + +Mon Nov 18 16:34:00 1996 Dawn Perchik <dawn@critters.cygnus.com> + + * libiberty.h: Checkin again; last checkin failed due to sticky tag. + +Wed Nov 13 08:22:00 1996 Dawn Perchik <dawn@critters.cygnus.com> + + * libiberty.h: Revert last commit due to conflicts with hpux + system headers. + +Tue Nov 12 16:31:00 1996 Dawn Perchik <dawn@critters.cygnus.com> + + * libiberty.h: Move prototypes from argv.c here. + +Thu Oct 31 14:56:18 1996 Doug Evans <dje@canuck.cygnus.com> + + * ansidecl.h (VPARAMS,VA_START): Define. + +Fri Oct 25 12:08:04 1996 Ian Lance Taylor <ian@cygnus.com> + + * dis-asm.h (disassemble_info): Add bytes_per_line field. + (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize bytes_per_line field. + +Thu Oct 24 17:10:01 1996 Ian Lance Taylor <ian@cygnus.com> + + * dis-asm.h (disassemble_info): Add symbol field. + (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize symbol field. + +Thu Oct 17 11:17:40 1996 Doug Evans <dje@canuck.cygnus.com> + + * dis-asm.h (print_insn_m32r): Declare. + +Mon Oct 14 23:56:52 1996 Ian Lance Taylor <ian@cygnus.com> + + * libiberty.h: Declare parameter types for xmalloc and xrealloc. + +Thu Oct 3 13:45:27 1996 Ian Lance Taylor <ian@cygnus.com> + + * fnmatch.h: New file. + +Thu Oct 3 10:33:14 1996 Jeffrey A Law (law@cygnus.com) + + * dis-asm.h (print_insn_mn10x00): Delete declaration. + (print_insn_mn10200, print_insn_mn10300): Declare. + +Wed Oct 2 21:24:43 1996 Jeffrey A Law (law@cygnus.com) + + * dis-asm.h (print_insn_mn10x00): Declare. + +Mon Sep 30 13:56:11 1996 Fred Fish <fnf@cygnus.com> + + * libiberty.h: Remove #ifndef PRIVATE_XMALLOC. + +Sat Aug 31 13:27:06 1996 Jeffrey A Law (law@cygnus.com) + + * dis-asm.h (print_insn_v850): Declare. + +Tue Aug 13 16:10:30 1996 Stu Grossman (grossman@critters.cygnus.com) + + * obstack.h: Change bcopy to memcpy. Works better on Posix + systems, which generally lack bcopy. + +Mon Aug 12 17:03:18 1996 Stu Grossman (grossman@critters.cygnus.com) + + * ansidecl.h: Change WIN32 to _WIN32. + +Fri Jul 26 13:58:18 1996 Ian Lance Taylor <ian@cygnus.com> + + * dis-asm.h: Add flavour field. + (print_insn_alpha): Declare. + (print_insn_alpha_osf, print_insn_alpha_vms): Don't declare. + (INIT_DISASSEMBLE_INFO): Initialize flavour field. + +Tue Jul 23 17:37:58 1996 Fred Fish <fnf@cygnus.com> + + * libiberty.h (PRIVATE_XMALLOC): Enclose xmalloc/xrealloc + definitions inside #ifndef so that programs that want to + can define PRIVATE_XMALLOC and then define xmalloc and + xrealloc anyway they want. + (basename): Document in source that we can't declare the + parameter type because it is declared inconsistently across + different systems. + +Mon Jul 22 13:16:13 1996 Richard Henderson <rth@tamu.edu> + + * dis-asm.h (print_insn_alpha): Don't declare. + (print_insn_alpha_osf, print_insn_alpha_vms): Declare. + +Wed Jul 17 14:45:12 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * dis-asm.h: (print_insn_d10v): Declare. + +Mon Jul 15 16:55:38 1996 Stu Grossman (grossman@critters.cygnus.com) + + * dis-asm.h: Get rid of decls for print_insn_i8086, + print_insn_sparc64 and print_insn_sparclite. + * (INIT_DISASSEMBLE_INFO): Split into two pieces. One, + INIT_DISASSEMBLE_INFO_NO_ARCH inits everything except for endian, + mach, and arch. + +Fri Jul 12 10:19:27 1996 Stu Grossman (grossman@critters.cygnus.com) + + * dis-asm.h (print_insn_i8086): Declare. + +Wed Jul 3 16:02:39 1996 Stu Grossman (grossman@critters.cygnus.com) + + * dis-asm.h (print_insn_sparclite): Declare. + +Tue Jun 18 16:02:46 1996 Jeffrey A. Law <law@rtl.cygnus.com> + + * dis-asm.h (print_insn_h8300s): Declare. + +Tue Jun 18 15:11:33 1996 Klaus Kaempf <kkaempf@progis.de> + + * fopen-vms.h: New file. + +Tue Jun 4 18:58:16 1996 Ian Lance Taylor <ian@cygnus.com> + + * bfdlink.h (struct bfd_link_info): Add notice_all field. + +Fri Apr 26 10:33:12 1996 Doug Evans <dje@canuck.cygnus.com> + + * demangle.h (#ifdef IN_GCC): #include "gansidecl.h". + (PROTO,PTR,const): Delete. + +Mon Apr 22 17:27:42 1996 Ian Lance Taylor <ian@cygnus.com> + + * bfdlink.h (struct bfd_link_info): Add traditional_format field. + +Mon Apr 15 15:16:56 1996 Doug Evans <dje@canuck.cygnus.com> + + * libiberty.h (choose_temp_base): Add prototype. + +Tue Mar 12 17:29:46 1996 Ian Lance Taylor <ian@cygnus.com> + + * bfdlink.h (bfd_wrapped_link_hash_lookup): Declare. + (struct bfd_link_info): Add wrap_hash field. + +Wed Feb 14 16:49:17 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de> + + * ieee.h (ieee_record_enum_type): Define + ieee_external_reference_info_enum. + +Fri Feb 2 17:09:25 1996 Doug Evans <dje@charmed.cygnus.com> + + * dis-asm.h (DISASM_RAW_INSN): Delete. + +Tue Jan 23 09:21:47 1996 Doug Evans <dje@charmed.cygnus.com> + + * dis-asm.h (INIT_DISASSEMBLE_INFO): Set endian to BFD_ENDIAN_UNKNOWN. + New argument FPRINTF_FUNC. + +Mon Jan 22 16:37:59 1996 Doug Evans <dje@charmed.cygnus.com> + + * dis-asm.h (disassemble_info): New members arch, mach, endian. + (INIT_DISASSEMBLE_INFO): Initialize them. + (DISASM_RAW_INSN{,FLAG}): Define. + +Thu Jan 18 11:32:38 1996 Ian Lance Taylor <ian@cygnus.com> + + * demangle.h (cplus_demangle_opname): Change opname parameter to + const char *. + (cplus_mangle_opname): Change return type and opname parameter to + const char *. + +Fri Jan 5 00:01:22 1996 Ian Lance Taylor <ian@cygnus.com> + + * ieee.h (enum ieee_record): Add ieee_asn_record_enum, + ieee_at_record_enum, ieee_ty_record_enum, ieee_atn_record_enum, + ieee_bb_record_enum, and ieee_be_record_enum. + +Wed Jan 3 13:12:09 1996 Fred Fish <fnf@cygnus.com> + + * obstack.h: Update copyright to 1996. + (_obstack_memory_used): Declare. + (obstack_memory_used): Define macro. + +Thu Dec 28 11:42:12 1995 Ian Lance Taylor <ian@cygnus.com> + + * libiberty.h (xstrdup): Declare. + +Thu Dec 21 14:47:17 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * wait.h: Protect all macros with #ifndef. + +Tue Oct 24 21:45:40 1995 Ian Lance Taylor <ian@cygnus.com> + + * bfdlink.h (struct bfd_link_info): Add static_link field. + +Tue Sep 12 16:28:04 1995 Ian Lance Taylor <ian@cygnus.com> + + * bfdlink.h (struct bfd_link_callbacks): Add symbol parameter to + warning callback. + +Fri Sep 1 13:11:51 1995 Ian Lance Taylor <ian@cygnus.com> + + * bfdlink.h (struct bfd_link_callbacks): Change warning callback + to take BFD, section, and address arguments. + +Thu Aug 31 16:45:12 1995 steve chamberlain <sac@slash.cygnus.com> + + * bfdlink.h (struct bfd_link_info): Remove PE stuff. + +Tue Aug 22 03:18:23 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com> + + * libiberty.h: Declare xstrerror. From Pat Rankin. + +Mon Aug 21 18:11:36 1995 steve chamberlain <sac@slash.cygnus.com> + + * bfdlink.h (struct bfd_link_info): Remove PE stuff. + +Wed Aug 2 08:14:12 1995 Doug Evans <dje@canuck.cygnus.com> + + * dis-asm.h (print_insn_sparc64): Declare. + +Mon Jul 10 13:26:49 1995 Eric Youngdale <eric@aib.com> + + * bfdlink.h (struct bfd_link_info): Add new field symbolic. + +Sun Jul 2 17:48:40 1995 Ian Lance Taylor <ian@cygnus.com> + + * bfdlink.h (struct bfd_link_info): Change type of base_file to + PTR. + +Thu Jun 29 00:02:45 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * bfdlink.h (struct bfd_link_info): Added base_file member. + +Tue Jun 20 16:40:04 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * ansidecl.h: win32s is ANSI enough. + +Thu May 18 04:25:50 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com> + + Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + + * dis-asm.h (print_insn_arm): Delete declaration. + (print_insn_{little,big}_arm): New declarations. + + * floatformat.h (floatformat_arm_ext): Declare. + +Sat May 13 10:14:08 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * bfdlink.h (subsytem, stack_heap_parameters): New. + +Thu May 4 14:36:42 1995 Jason Merrill <jason@phydeaux.cygnus.com> + + * demangle.h: Don't include ansidecl.h if IN_GCC. + +Tue Feb 21 00:37:28 1995 Jeff Law (law@snake.cs.utah.edu) + + * hp-symtab.h: Don't use bitfield enumerations, the HP C compiler + does not handle them correctly. + +Thu Feb 9 14:20:27 1995 Ian Lance Taylor <ian@cygnus.com> + + * libiberty.h (basename): Don't declare parameter type; some + systems have this in their header files. + +Wed Feb 8 17:35:38 1995 Ian Lance Taylor <ian@cygnus.com> + + * bfdlink.h (struct bfd_link_hash_entry): Change format of common + symbol information, to remove restrictions on maximum size and + alignment power, by using a pointer to a structure instead. + +Mon Feb 6 14:55:32 1995 Ian Lance Taylor <ian@cygnus.com> + + * bfdlink.h (enum bfd_link_hash_type): Rename bfd_link_hash_weak + to bfd_link_hash_undefweak. Add bfd_link_hash_defweak. + +Mon Jan 16 21:00:23 1995 Stan Shebs <shebs@andros.cygnus.com> + + * dis-asm.h (GDB_INIT_DISASSEMBLE_INFO, etc): Remove all + GDB-specific definitions. + +Sun Jan 15 18:39:35 1995 Steve Chamberlain <sac@splat> + + * dis-asm.h (print_insn_w65): Declare. + +Thu Jan 12 17:51:17 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * libiberty.h (hex_p): Fix sense of test. + +Wed Jan 11 22:36:40 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * libiberty.h (_hex_array_size, _hex_bad, _hex_value, hex_init, + hex_p, hex_value): New macros and declarations, for hex.c. + +Fri Jan 6 17:44:14 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * dis-asm.h: Make idempotent. + +Wed Dec 14 13:08:43 1994 Stan Shebs <shebs@andros.cygnus.com> + + * progress.h: New file, empty definitions for progress macros. + +Fri Nov 25 00:14:05 1994 Jeff Law (law@snake.cs.utah.edu) + + * hp-symtab.h: New file describing the debug symbols emitted + by the HP C compilers. + +Fri Nov 11 15:48:37 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * bfdlink.h (struct bfd_link_hash_entry): Change u.c.size from 24 + to 26 bits, and change u.c.alignment_power from 8 to 6 bits. 6 + bit in the alignment power is enough for a 64 bit address space. + +Mon Oct 31 13:02:51 1994 Stan Shebs (shebs@andros.cygnus.com) + + * demangle.h (cplus_mangle_opname): Declare. + +Tue Oct 25 11:38:02 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * bfdlink.h (struct bfd_link_callbacks): Fix comments for + multiple_common field. + +Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org) + + * dis-asm.h: Add support for the ARM. + +Wed Aug 10 12:51:41 1994 Doug Evans (dje@canuck.cygnus.com) + + * libiberty.h (strsignal): Document its existence even if we + can't declare it. + +Tue Aug 2 14:40:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * os9k.h: Remove u_int16, u_int32, and owner_id typedefs and + expand their uses. Those names conflict with Mach headers. + +Fri Jul 22 14:17:12 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * bfdlink.h (struct bfd_link_hash_entry): Change u.c.size into a + bitfield. Add field u.c.alignment_power. + +Sun Jul 10 00:26:39 1994 Ian Dall (dall@hfrd.dsto.gov.au) + + * dis-asm.h: Add print_insn_ns32k declaration. + +Mon Jun 20 17:13:29 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * bfdlink.h (bfd_link_hash_table): Make creator a const pointer. + +Sat Jun 18 16:09:32 1994 Stan Shebs (shebs@andros.cygnus.com) + + * demangle.h (cplus_demangle_opname): Declare. + +Thu Jun 16 15:19:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfdlink.h (struct bfd_link_info): Add new field shared. + +Mon Jun 6 14:39:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfdlink.h (struct bfd_link_hash_entry): Remove written field: + not needed for all backends. + +Thu Apr 28 19:06:50 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * dis-asm.h (disassembler): Declare. + +Fri Apr 1 00:38:17 1994 Jim Wilson (wilson@mole.gnu.ai.mit.edu) + + * obstack.h: Delete use of IN_GCC to control whether + stddef.h or gstddef.h is included. + +Tue Mar 22 13:06:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfdlink.h (enum bfd_link_order_type): Add bfd_data_link_order. + (struct bfd_link_order): Add data field to union. + +Mon Mar 21 18:45:26 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfdlink.h (struct bfd_link_callbacks): Change bitsize argument + to add_to_set to reloc. Remove bitsize argument from constructor. + Comment that reloc_overflow, reloc_dangerous and unattached_reloc + must handle NULL pointers for reloc location. + (enum bfd_link_order_type): Add bfd_section_reloc_link_order and + bfd_symbol_reloc_link_order. + (struct bfd_link_order): Add reloc field to union. + (struct bfd_link_order_reloc): Define. + +Mon Mar 14 12:27:50 1994 Ian Lance Taylor (ian@cygnus.com) + + * ieee-float.h: Removed; no longer used. + +Tue Mar 1 18:10:49 1994 Kung Hsu (kung@mexican.cygnus.com) + + * os9k.h: os9000 target specific header file, the header of the + object file is used now. + +Sun Feb 27 21:52:26 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * floatformat.h: New file, intended to replace ieee-float.h. + +Sun Feb 20 17:15:42 1994 Ian Lance Taylor (ian@lisa.cygnus.com) + + * ansidecl.h (ANSI_PROTOTYPES): Define if using ANSI prototypes. + +Wed Feb 16 01:07:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libiberty.h: Don't declare strsignal, to avoid conflicts with + Solaris system header files. + +Sat Feb 12 22:11:32 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * libiberty.h (xexit): Use __volatile__ to avoid losing if + compiling with gcc -traditional. + +Thu Feb 10 14:05:41 1994 Ian Lance Taylor (ian@cygnus.com) + + * libiberty.h: New file. Declares functions provided by + libiberty. + +Tue Feb 8 05:19:52 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + Handle obstack_chunk_alloc returning NULL. This allows + obstacks to be used by libraries, without forcing them + to call exit or longjmp. + * obstack.h (struct obstack): Add alloc_failed flag. + _obstack_begin, _obstack_begin_1): Declare to return int, not void. + (obstack_finish): If alloc_failed, return NULL. + (obstack_base, obstack_next_free, objstack_object_size): + If alloc_failed, return 0. + (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow, + obstack_int_grow, obstack_blank): If alloc_failed, do nothing that + could corrupt the obstack. + +Mon Jan 24 15:06:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfdlink.h (struct bfd_link_callbacks): Add name, reloc_name and + addend argments to reloc_overflow callback. + +Fri Jan 21 19:13:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * dis-asm.h (print_insn_big_powerpc, print_insn_little_powerpc, + print_insn_rs6000): Declare. + +Thu Jan 6 14:15:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfdlink.h (struct bfd_link_callbacks): Add bitsize argument to + add_to_set field. Add new callback named constructor. + +Thu Dec 30 10:44:06 1993 Ian Lance Taylor (ian@rtl.cygnus.com) + + * bfdlink.h: New file for new BFD linker backend routines. + +Mon Nov 29 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * dis-asm.h (enum dis_insn_tyupe): Remove non-ANSI trailing comma. + +Sat Oct 2 20:42:26 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dis-asm.h: Move comment to right place. + +Mon Aug 9 19:03:35 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * obstack.h (obstack_chunkfun, obstack_freefun): Add defns from + previous version. Are these Cygnus local changes? + +Fri Aug 6 17:05:47 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * getopt.h, obstack.h: Update to latest FSF version. + +Mon Aug 2 14:45:29 1993 John Gilmore (gnu@cygnus.com) + + * dis-asm.h: Move enum outside of struct defn to avoid warnings. + +Mon Aug 2 08:49:30 1993 Stu Grossman (grossman at cygnus.com) + + * wait.h (WEXITSTATUS, WSTOPSIG): Mask down to 8 bits. This is + for systems that store stuff into the high 16 bits of a wait + status. + +Fri Jul 30 18:38:02 1993 John Gilmore (gnu@cygnus.com) + + * dis-asm.h: Add new fields insn_info_valid, branch_delay_insns, + data_size, insn_type, target, target2. These are used to return + information from the instruction decoders back to the calling + program. Add comments, make more readable. + +Mon Jul 19 22:14:14 1993 Fred Fish (fnf@deneb.cygnus.com) + + * nlm: New directory containing NLM/NetWare includes. + +Thu Jul 15 12:10:04 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * dis-asm.h (struct disassemble_info): New field application_data. + +Thu Jul 15 12:41:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * dis-asm.h: Added declaration of print_insn_m88k. + +Fri Jul 2 10:31:59 1993 Ian Lance Taylor (ian@cygnus.com) + + * ansidecl.h: Use ANSI macros if __mips and _SYSTYPE_SVR4 are + defined, since RISC/OS cc handles ANSI declarations in SVR4 mode + but does not define __STDC__. + +Sun Jun 20 18:27:52 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * dis-asm.h: Don't need to include ansidecl.h any more. + +Fri Jun 18 03:22:10 1993 John Gilmore (gnu@cygnus.com) + + * oasys.h: Eliminate "int8_type", "int16_type", "int32_type", and + their variants. These changes are coordinated with corresponding + changes in ../bfd/oasys.c. + +Wed Jun 16 10:43:08 1993 Fred Fish (fnf@cygnus.com) + + * bfd.h: Note that it has been removed. + +Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + Support for H8/300-H + * dis-asm.h (print_insn_h8300, print_insn_h8300h): Declare it. + +Tue Jun 1 07:35:03 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * ansidecl.h (const): Don't define it if it's already defined. + +Thu May 27 18:19:51 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * dis-asm.h (print_insn_hppa): Declare it. + + * bfd.h: Moved to bfd directory. Small stub here includes it + without requiring "-I../bfd". + +Thu Apr 29 12:06:13 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * bfd.h: Updated with BSF_FUNCTION. + +Mon Apr 26 18:15:50 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * bfd.h, dis-asm.h: Updated with Hitachi SH. + +Fri Apr 23 18:41:38 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * bfd.h: Updated with alpha changes. + * dis-asm.h: Added alpha. + +Fri Apr 16 17:35:30 1993 Jim Kingdon (kingdon@cygnus.com) + + * bfd.h: Update for signed bfd_*get_*. + +Thu Apr 15 09:24:21 1993 Jim Kingdon (kingdon@cygnus.com) + + * bfd.h: Updated for file_truncated error. + +Thu Apr 8 10:53:47 1993 Ian Lance Taylor (ian@cygnus.com) + + * ansidecl.h: If no ANSI, define const to be empty. + +Thu Apr 1 09:00:10 1993 Jim Kingdon (kingdon@cygnus.com) + + * dis-asm.h: Declare a29k and i960 print_insn_*. + + * dis-asm.h: Add print_address_func and related stuff. + + * dis-asm.h (dis_asm_read_memory): Fix prototype. + +Wed Mar 31 17:40:16 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dis-asm.h: Add print_insn_sparc. + +Wed Mar 31 17:51:42 1993 Ian Lance Taylor (ian@cygnus.com) + + * bfd.h: Updated for BFD_RELOC_MIPS_GPREL and bfd_[gs]et_gp_size + prototypes. + +Wed Mar 31 16:35:12 1993 Stu Grossman (grossman@cygnus.com) + + * dis-asm.h: (disassemble_info): Fix typo in prototype of + dis_asm_memory_error(). + +Tue Mar 30 19:09:23 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * dis-asm.h (disassembler_info): Add read_memory_func, + memory_error_func, buffer, and length. + ({GDB_,}INIT_DISASSEMBLE_INFO): Set them. + print_insn_*: Remove second argument. + +Tue Mar 30 14:48:55 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * bfd.h: Update for lma field of section. + +Tue Mar 30 12:22:55 1993 Jim Kingdon (kingdon@cygnus.com) + + * ansidecl.h: Use ANSI versions on AIX regardless of __STDC__. + +Fri Mar 19 14:49:49 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * dis-asm.h: Add h8500. + +Thu Mar 18 13:49:09 1993 Per Bothner (bothner@rtl.cygnus.com) + + * ieee-float.h: Moved from ../gdb. + * dis-asm.h: New file. Interface to dis-assembler. + +Thu Mar 11 10:52:57 1993 Fred Fish (fnf@cygnus.com) + + * demangle.h (DMGL_NO_OPTS): Add define (set to 0) to use + in place of bare 0, for readability reasons. + +Tue Mar 2 17:50:11 1993 Fred Fish (fnf@cygnus.com) + + * demangle.h: Replace all references to cfront with ARM. + +Tue Feb 23 12:21:14 1993 Ian Lance Taylor (ian@cygnus.com) + + * bfd.h: Update for new elements in JUMP_TABLE. + +Tue Feb 16 00:51:30 1993 John Gilmore (gnu@cygnus.com) + + * bfd.h: Update for BFD_VERSION 2.1. + +Tue Jan 26 11:49:20 1993 Ian Lance Taylor (ian@cygnus.com) + + * bfd.h: Update for SEC_IS_COMMON flag. + +Tue Jan 19 12:25:12 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfd.h: Update for bfd_asymbol_value bug fix. + +Fri Jan 8 16:37:18 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfd.h: Update to include ECOFF tdata and target_flavour. + +Sun Dec 27 17:52:30 1992 Fred Fish (fnf@cygnus.com) + + * bfd.h: Add declaration for bfd_get_size(). + +Tue Dec 22 22:42:46 1992 Fred Fish (fnf@cygnus.com) + + * demangle.h: Protect file from multiple inclusions with + #if !defined(DEMANGLE_H)...#define DEMANGLE_H...#endif. + +Mon Dec 21 21:25:50 1992 Stu Grossman (grossman at cygnus.com) + + * bfd.h: Update to get hppa_core_struct from bfd.c. + +Thu Dec 17 00:42:35 1992 John Gilmore (gnu@cygnus.com) + + * bfd.h: Update to get tekhex tdata name change from bfd. + +Mon Nov 9 23:55:42 1992 John Gilmore (gnu@cygnus.com) + + * ansidecl.h: Update comments to discourage use of EXFUN. + +Thu Nov 5 16:35:44 1992 Ian Lance Taylor (ian@cygnus.com) + + * bfd.h: Update to bring in SEC_SHARED_LIBRARY. + +Thu Nov 5 03:21:32 1992 John Gilmore (gnu@cygnus.com) + + * bfd.h: Update to match EXFUN, bfd_seclet_struct, and SDEF + cleanups in bfd. + +Wed Nov 4 07:28:05 1992 Ken Raeburn (raeburn@cygnus.com) + + * bout.h (N_CALLNAME, N_BALNAME): Define as char-type values, so + widening works consistently. + +Fri Oct 16 03:17:08 1992 John Gilmore (gnu@cygnus.com) + + * getopt.h: Update to Revised Standard FSF Version. + +Thu Oct 15 21:43:22 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * getopt.h (struct option): use the provided enum for has_arg. + + * demangle.h (AUTO_DEMANGLING, GNU_DEMANGLING, + LUCID_DEMANGLING): ultrix compilers require enums to be + enums and ints to be ints and casts where they meet. cast some + enums into ints. + +Thu Oct 15 04:35:51 1992 John Gilmore (gnu@cygnus.com) + + * bfd.h: Update after comment changes. + +Thu Oct 8 09:03:02 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * bfd.h (bfd_get_symbol_leading_char): new macro for getting in xvec + +Thu Sep 3 09:10:50 1992 Stu Grossman (grossman at cygnus.com) + + * bfd.h (struct reloc_howto_struct): size needs to be signed if + it's going to hold negative values. + +Sun Aug 30 17:50:27 1992 Per Bothner (bothner@rtl.cygnus.com) + + * demangle.h: New file, moved from ../gdb. Made independent + of gdb. Allow demangling style option to be passed as a + parameter to cplus_demangle(), but using the + current_demangling_style global as the default. + +Sat Aug 29 10:07:55 1992 Fred Fish (fnf@cygnus.com) + + * obstack.h: Merge comment change from current FSF version. + +Thu Aug 27 12:59:29 1992 Brendan Kehoe (brendan@cygnus.com) + + * bfd.h: add we32k + +Tue Aug 25 15:07:47 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * bfd.h: new after Z8000 stuff + +Mon Aug 17 09:01:23 1992 Ken Raeburn (raeburn@cygnus.com) + + * bfd.h: Regenerated after page/segment size changes. + +Sat Aug 1 13:46:31 1992 Fred Fish (fnf@cygnus.com) + + * obstack.h: Merge changes from current FSF version. + +Mon Jul 20 21:06:23 1992 Fred Fish (fnf@cygnus.com) + + * obstack.h (area_id, flags): Remove, replace with extra_arg, + use_extra_arg, and maybe_empty_object. + * obstack.h (OBSTACK_MAYBE_EMPTY_OBJECT, OBSTACK_MMALLOC_LIKE): + Remove, replaced by maybe_empty_object and use_extra_arg bitfields. + * obstack.h (obstack_full_begin, _obstack_begin): Remove area_id + and flags arguments. + * obstack.h (obstack_alloc_arg): New macro to set extra_arg. + +Thu Jul 16 08:12:44 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * bfd.h: new after adding BFD_IS_RELAXABLE + +Sat Jul 4 03:22:23 1992 John Gilmore (gnu at cygnus.com) + + * bfd.h: Regen after adding BSF_FILE. + +Mon Jun 29 14:18:36 1992 Fred Fish (fnf at sunfish) + + * obstack.h: Convert bcopy() use to memcpy(), which is more + portable, more standard, and can take advantage of gcc's builtin + functions for increased performance. + +Thu Jun 25 04:46:08 1992 John Gilmore (gnu at cygnus.com) + + * ansidecl.h (PARAMS): Incorporate this macro from gdb's defs.h. + It's a cleaner way to forward-declare function prototypes. + +Fri Jun 19 15:46:32 1992 Stu Grossman (grossman at cygnus.com) + + * bfd.h: HPPA merge. + +Tue Jun 16 21:30:56 1992 K. Richard Pixley (rich@cygnus.com) + + * getopt.h: gratuitous white space changes merged from other prep + releases. + +Thu Jun 11 01:10:55 1992 John Gilmore (gnu at cygnus.com) + + * bfd.h: Regen'd from bfd.c after removing elf_core_tdata_struct. + +Mon May 18 17:29:03 1992 K. Richard Pixley (rich@cygnus.com) + + * getopt.h: merged changes from make-3.62.11. + + * getopt.h: merged changes from grep-1.6 (alpha). + +Fri May 8 14:53:32 1992 K. Richard Pixley (rich@cygnus.com) + + * getopt.h: merged changes from bison-1.18. + +Sat Mar 14 17:25:20 1992 Fred Fish (fnf@cygnus.com) + + * obstack.h: Add "area_id" and "flags" members to obstack + structure. Add obstack_chunkfun() and obstack_freefun() to + set functions explicitly. Convert maybe_empty_object to + a bit in "flags". + +Thu Feb 27 22:01:02 1992 Per Bothner (bothner@cygnus.com) + + * wait.h (WIFSTOPPED): Add IBM rs6000-specific version. + +Fri Feb 21 20:49:20 1992 John Gilmore (gnu at cygnus.com) + + * obstack.h: Add obstack_full_begin. + * bfd.h, obstack.h: Protolint. + +Thu Jan 30 01:18:42 1992 John Gilmore (gnu at cygnus.com) + + * bfd.h: Remove comma from enum declaration. + +Mon Jan 27 22:01:13 1992 Steve Chamberlain (sac at cygnus.com) + + * bfd.h : new target entr, bfd_relax_section + +Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com) + + * bfd.h, ieee.h: ANSIfy enums. + +Thu Dec 12 20:59:56 1991 John Gilmore (gnu at cygnus.com) + + * fopen-same.h, fopen-bin.h: New files for configuring + whether fopen distinguishes binary files or not. For use + by host-dependent config files. + +Sat Nov 30 20:46:43 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * bfd.h: change the documentation format. + + * created coff, elf and opcode and aout directories. Moved: + + aout64.h ==> aout/aout64.h + ar.h ==> aout/ar.h + a.out.encap.h ==> aout/encap.h + a.out.host.h ==> aout/host.h + a.out.hp.h ==> aout/hp.h + a.out.sun4.h ==> aout/sun4.h + ranlib.h ==> aout/ranlib.h + reloc.h ==> aout/reloc.h + stab.def ==> aout/stab.def + stab.gnu.h ==> aout/stab_gnu.h + + coff-a29k.h ==> coff/a29k.h + coff-h8300.h ==> coff/h8300.h + coff-i386.h ==> coff/i386.h + coff-i960.h ==> coff/i960.h + internalcoff.h ==> coff/internal.h + coff-m68k.h ==> coff/m68k.h + coff-m88k.h ==> coff/m88k.h + coff-mips.h ==> coff/mips.h + coff-rs6000.h ==> coff/rs6000.h + + elf-common.h ==> elf/common.h + dwarf.h ==> elf/dwarf.h + elf-external.h ==> elf/external.h + elf-internal.h ==> elf/internal.h + + a29k-opcode.h ==> opcode/a29k.h + arm-opcode.h ==> opcode/arm.h + h8300-opcode.h ==> opcode/h8300.h + i386-opcode.h ==> opcode/i386.h + i860-opcode.h ==> opcode/i860.h + i960-opcode.h ==> opcode/i960.h + m68k-opcode.h ==> opcode/m68k.h + m88k-opcode.h ==> opcode/m88k.h + mips-opcode.h ==> opcode/mips.h + np1-opcode.h ==> opcode/np1.h + ns32k-opcode.h ==> opcode/ns32k.h + pn-opcode.h ==> opcode/pn.h + pyr-opcode.h ==> opcode/pyr.h + sparc-opcode.h ==> opcode/sparc.h + tahoe-opcode.h ==> opcode/tahoe.h + vax-opcode.h ==> opcode/vax.h + + + +Wed Nov 27 10:38:31 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * internalcoff.h: (internal_scnhdr) took out #def dependency, now + s_nreloc and s_nlnno are always long. (internal_reloc): allways + has an offset field now. + +Fri Nov 22 08:12:58 1991 John Gilmore (gnu at cygnus.com) + + * coff-rs6000.h: Lint; use unsigned chars for external fields. + * internalcoff.h: Lint; cast storage classes to signed char. + +Thu Nov 21 21:01:05 1991 Per Bothner (bothner at cygnus.com) + + * stab.def: Remove the GNU extended type codes (e.g. N_SETT). + * aout64.h: The heuristic for distinguishing between + sunos-style and bsd-style ZMAGIC files (wrt. where the + text segment starts) is moved into (the default definition of) + the macro N_HEADER_IN_TEXT. This definition is only used + if no other definition is used - e.g. bfd/newsos3.c defines + N_HEADER_IN_TEXT(x) to be always 0 (as before). + +Thu Nov 21 11:53:03 1991 John Gilmore (gnu at cygnus.com) + + * aout64.h (N_TXTADDR, N_TXTOFF, N_TXTSIZE): New definitions + that should handle all uses. LOGICAL_ versions deleted. + Eliminate N_HEADER_IN_TEXT, using a_entry to determine which + kind of zmagic a.out file we are looking at. + * coff-rs6000.h: Typo. + +Tue Nov 19 18:43:37 1991 Per Bothner (bothner at cygnus.com) + + (Note: This is a revised entry, as was aout64.h.) + * aout64.h: Some cleanups of N_TXTADDR and N_TXTOFF: + Will now work for both old- and new-style ZMAGIC files, + depending on N_HEADER_IN_TEXT macro. + Add LOGICAL_TXTADDR, LOICAL_TXTOFF and LOGICAL_TXTSIZE + that don't count the exec header as part + of the text segment, to be consistent with bfd. + * a.out.sun4.h: Simplified/fixed for previous change. + +Mon Nov 18 00:02:06 1991 Fred Fish (fnf at cygnus.com) + + * dwarf.h: Update to DWARF draft 5 version from gcc2. + +Thu Nov 14 19:44:59 1991 Per Bothner (bothner at cygnus.com) + + * stab.def: Added defs for extended GNU symbol types, + such as N_SETT. These are normally ifdef'd out (because + of conflicts with a.out.gnu.h), but are used by bfb_stab_name(). + +Thu Nov 14 19:17:03 1991 Fred Fish (fnf at cygnus.com) + + * elf-common.h: Add defines to support ELF symbol table code. + +Mon Nov 11 19:01:06 1991 Fred Fish (fnf at cygnus.com) + + * elf-internal.h, elf-external.h, elf-common.h: Add support for + note sections, which are used in ELF core files to hold copies + of various /proc structures. + +Thu Nov 7 08:58:26 1991 Steve Chamberlain (sac at cygnus.com) + + * internalcoff.h: took out the M88 dependency in the lineno + struct. + * coff-m88k.h: defines GET_LINENO_LNNO and PUT_LINENO_LNNO to use + 32bit linno entries. + * a29k-opcode.h: fixed encoding of mtacc + +Sun Nov 3 11:54:22 1991 Per Bothner (bothner at cygnus.com) + + * bfd.h: Updated from ../bfd/bfd-in.h (q.v). + +Fri Nov 1 11:13:53 1991 John Gilmore (gnu at cygnus.com) + + * internalcoff.h: Add x_csect defines. + +Fri Oct 25 03:18:20 1991 John Gilmore (gnu at cygnus.com) + + * Rename COFF-related files in `coff-ARCH.h' form. + coff-a29k.h, coff-i386.h, coff-i960.h, coff-m68k.h, coff-m88k.h, + coff-mips.h, coff-rs6000.h to be exact. + +Thu Oct 24 22:11:11 1991 John Gilmore (gnu at cygnus.com) + + RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and + John Gilmore. + + * a.out.gnu.h: Update slightly. + * bfd.h: Add new error code, fix doc, add bfd_arch_rs6000. + * internalcoff.h: Add more F_ codes for filehdr. Add + rs/6000-dependent fields to aouthdr. Add storage classes + to syments. Add 6000-specific auxent. Add r_size in reloc. + * rs6000coff.c: New file. + +Thu Oct 24 04:13:20 1991 Fred Fish (fnf at cygnus.com) + + * dwarf.h: New file for dwarf support. Copied from gcc2 + distribution. + +Wed Oct 16 13:31:45 1991 John Gilmore (gnu at cygnus.com) + + * aout64.h: Remove PAGE_SIZE defines; they are target-dependent. + Add N_FN_SEQ for N_FN symbol type used on Sequent machines. + * stab.def: Include N_FN_SEQ in table. + * bout.h: External formats of structures use unsigned chars. + +Fri Oct 11 12:40:43 1991 Steve Chamberlain (steve at cygnus.com) + + * bfd.h:upgrade from bfd.c + * internalcoff.h: add n_name, n_zeroes and n_offset macros + * amdcoff.h: Define OMAGIC and AOUTHDRSZ. + +Fri Oct 11 10:58:06 1991 Per Bothner (bothner at cygnus.com) + + * a.out.host.h: Change SEGMENT_SIZE to 0x1000 for Sony. + * bfd.h (align_power): Add (actually move) comment. + +Tue Oct 8 15:29:32 1991 Per Bothner (bothner at cygnus.com) + + * sys/h-rtbsd.h: Define MISSING_VFPRINT (for binutils/bucomm.c). + +Sun Oct 6 19:24:39 1991 John Gilmore (gnu at cygnus.com) + + * aout64.h: Move struct internal_exec to ../bfd/libaout.h so + it can be shared by all `a.out-family' code. Rename + EXTERNAL_LIST_SIZE to EXTERNAL_NLIST_SIZE. Use basic types + for nlist members, and make strx integral rather than pointer. + More commentary on n_type values. + * bout.h: Provide a struct external_exec rather than an + internal_exec. + * m68kcoff.h: Remove `tagentries' which snuck in from the i960 + COFF port. + +Fri Oct 4 01:25:59 1991 John Gilmore (gnu at cygnus.com) + + * h8300-opcode.h: Remove `_enum' from the typedef for an enum. + * bfd.h: Update to match bfd changes. + + * sys/h-i386mach.h, sysdep.h: Add 386 Mach host support. + +Tue Oct 1 04:58:42 1991 John Gilmore (gnu at cygnus.com) + + * bfd.h, elf-common.h, elf-external.h, elf-internal.h: + Add preliminary ELF support, sufficient for GDB, from Fred Fish. + * sysdep.h, sys/h-amix.h: Support Amiga SVR4. + + * sys/h-vaxult.h: Make it work. (David Taylor <taylor@think.com>) + * a.out.vax.h: Remove unused and confusing file. + +Mon Sep 30 12:52:35 1991 Per Bothner (bothner at cygnus.com) + + * sysdep.h: Define NEWSOS3_SYS, and use it. + +Fri Sep 20 13:38:21 1991 John Gilmore (gnu at cygnus.com) + + * a.out.gnu.h (N_FN): Its value *really is* 0x1F. + Fix it, and add comments warning about or-ing N_EXT with it + and/or N_WARNING. + * aout64.h (N_FN): Fix value, add comments about N_EXT. + * stab.def (table at end): Update to show all the type + values <0x20, including low order bits. Move N_FN to + its rightful place. + +Tue Sep 17 17:41:37 1991 Stu Grossman (grossman at cygnus.com) + + * sys/h-irix3.h: sgi/irix support. + +Tue Sep 17 07:52:59 1991 John Gilmore (gnu at cygint.cygnus.com) + + * stab.def (N_DEFD): Add GNU Modula-2 debug stab, from Andrew + Beers. + +Thu Sep 12 14:12:59 1991 John Gilmore (gnu at cygint.cygnus.com) + + * internalcoff.h (SYMNMLEN, FILNMLEN, DIMNUM): Define these + for internalcoff, separately from the various external coff's. + * amdcoff.h, bcs88kcoff.h, i386coff.h, intel-coff.h, m68kcoff.h, + m88k-bcs.h: Prefix SYMNMLEN, FILNMLEN, and DIMNUM with E_'s for + the external struct definitions. + * ecoff.h: Remove these #define's, kludge no longer needed. + + * sys/h-ultra3.h: Add new Ultracomputer host. + * sysdep.h: Add ULTRA3_SYM1_SYS and use it. + +Tue Sep 10 10:11:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + * i386coff.h (LINESZ): Always 6, not based on sizeof(). + (Fix from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>.) + +Wed Sep 4 08:58:37 1991 John Gilmore (gnu at cygint.cygnus.com) + + * a.out.gnu.h, aout64.h: Add N_WARNING. Change N_FN to 0x0E, + to match SunOS and BSD. Add N_COMM as 0x12 for SunOS shared lib + support. + * stab.def: Add N_COMM to table, fix overlap comment. + +Tue Sep 3 06:29:20 1991 John Gilmore (gnu at cygint.cygnus.com) + + Merge with latest FSF versions of these files. + + * stab.gnu.h: Add LAST_UNUSED_STAB_CODE. + * stab.def: Update to GPL2. Move N_WARNING out, since not a + debug symbol. Change comments, and reorder table to numeric + order. Update final table comment. + (N_DSLINE, N_BSLINE): Renumber from 0x66 and 0x68, to 0x46 and 0x48. + + * obstack.h: GPL2. Merge. + +Fri Aug 23 01:54:23 1991 John Gilmore (gnu at cygint.cygnus.com) + + * a.out.gnu.h, a.out.sun4.h: Make SEGMENT_SIZE able to depend + on the particular a.out being examined. + * a.out.sun4.h: Define segment sizes for Sun-3's and Sun-4's. + * FIXME: a.out.gnu.h is almost obsolete. + * FIXME: a.out.sun4.h should be renamed a.out.sun.h now. + +Wed Aug 21 20:32:13 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Start a ChangeLog for the includes directory. + + * a.out.gnu.h (N_FN): Fix value -- was 15, should be 0x1E. + * stab.def: Update allocation table in comments at end, + to reflect reality as I know it. + + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/include/coff/ChangeLog-9103 b/include/coff/ChangeLog-9103 new file mode 100644 index 0000000..d18113d --- /dev/null +++ b/include/coff/ChangeLog-9103 @@ -0,0 +1,1160 @@ +2003-12-02 Graham Reed <grahamr@algorithmics.com> + + * internal.h (C_WEAKEXT): Add alternative value for AIX 5.2 + based targets. + +2003-08-23 Jason Eckhardt <jle@rice.edu> + + * coff/i860.h (COFF860_R_PAIR, COFF860_R_LOW0, COFF860_R_LOW1, + COFF860_R_LOW2, COFF860_R_LOW3, COFF860_R_LOW4, COFF860_R_SPLIT0, + COFF860_R_SPLIT1, COFF860_R_SPLIT2, COFF860_R_HIGHADJ, + COFF860_R_BRADDR): Define new relocation constants and document. + Minor formatting adjustments. + +2003-08-07 Alan Modra <amodra@bigpond.net.au> + + * ti.h (GET_SCNHDR_NRELOC): Rename PTR param to LOC. + (PUT_SCNHDR_NRELOC, GET_SCNHDR_NLNNO, PUT_SCNHDR_NLNNO): Likewise. + (GET_SCNHDR_FLAGS, PUT_SCNHDR_FLAGS): Likewise. + (GET_SCNHDR_PAGE, PUT_SCNHDR_PAGE): Likewise. + +2003-07-17 Jeff Muizelaar <muizelaar@rogers.com> + + * pe.h: (IMAGE_FILE_NET_RUN_FROM_SWAP): Define. + (IMAGE_FILE_MACHINE_WCEMIPSV2): Define. + (IMAGE_FILE_MACHINE_SH3DSP): Define. + (IMAGE_FILE_MACHINE_SH3E): Define. + (IMAGE_FILE_MACHINE_SH5): Define. + (IMAGE_FILE_MACHINE_AM33): Define. + (IMAGE_FILE_MACHINE_POWERPCFP): Define. + (IMAGE_FILE_MACHINE_AXP64): Define. + (IMAGE_FILE_MACHINE_TRICORE): Define. + (IMAGE_FILE_MACHINE_CEF): Define. + (IMAGE_FILE_MACHINE_EBC): Define. + (IMAGE_FILE_MACHINE_AMD64): Define. + (IMAGE_FILE_MACHINE_M32R): Define. + (IMAGE_FILE_MACHINE_CEE): Define. + +2003-07-14 Christian Groessler <chris@groessler.org> + + * i860.h (AOUTSZ): Define for i860 coff. + +2003-06-29 Andreas Jaeger <aj@suse.de> + + * xcoff.h (struct __rtinit ): Convert to ISO C90 prototypes. + + * ecoff.h: Convert to ISO C90 prototypes. Replace PTR by void *. + +2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com> + + * coff/h8300.h (H8300HNMAGIC, H8300SNMAGIC): New. + (H8300HNBADMAG, H8300SNBADMAG): New. + +2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com> + + * sh.h: Replace occurrances of 'Hitachi' with 'Renesas'. + * h8300.h: Likewise. + * h8500.h: Likewise. + +2003-03-25 Stan Cox <scox@redhat.com> + Nick Clifton <nickc@redhat.com> + + Contribute support for Intel's iWMMXt chip - an ARM variant: + + * arm.h (ARM_NOTE_SECTION): Define. + +2002-11-30 Alan Modra <amodra@bigpond.net.au> + + * ecoff.h: Replace boolean with bfd_boolean. + * xcoff.h: Likewise. + +2002-03-18 Tom Rix <trix@redhat.com> + + * rs6k64.h: Add U64_TOCMAGIC, AIX 5 64 bit magic number. + +2002-02-01 Tom Rix <trix@redhat.com> + + * xcoff.h: Conditionally support <aiaff> for pre AIX 4.3. + +2002-01-31 Ivan Guzvinec <ivang@opencores.org> + + * or32.h: New file. + +2001-12-24 Tom Rix <trix@redhat.com> + + * xcoff.h (xcoff_big_format_p): Make <bigaf> the default archive + format. + (XCOFFARMAG_ELEMENT_SIZE, XCOFFARMAGBIG_ELEMENT_SIZE): Define for + archive header ascii elements. + +2001-12-17 Tom Rix <trix@redhat.com> + + * xcoff.h : Add .except and .typchk section string and styp flags. + Fix xcoff_big_format_p macro. + +2001-12-16 Tom Rix <trix@redhat.com> + + * xcoff.h : Clean up formatting. + +2002-01-15 Richard Earnshaw <rearnsha@arm.com> + + * arm.h (F_VFP_FLOAT): Define. + +2001-11-11 Timothy Wall <twall@alum.mit.edu> + + * ti.h: Move arch-specific stuff from here... + (COFF_ADJUST_SYM_IN/OUT): Optionally put page flag into symbol + value. + * tic54x.h: ...to here. + +2001-10-26 Christian Groessler <cpg@aladdin.de> + + * external.h (GET_LINENO_LNNO): Fix usage of H_GET_32/16. + (PUT_LINENO_LNNO): Likewise with H_PUT_32/16. + +2001-09-21 Nick Clifton <nickc@cambridge.redhat.com> + + * ti.h (GET_SCNHDR_PAGE): Fix compile time warning. + +2001-09-18 Alan Modra <amodra@bigpond.net.au> + + * external.h (GET_LINENO_LNNO): Use H_GET_32/16. + (PUT_LINENO_LNNO): Use H_PUT_32/16. + * m88k.h (GET_LNSZ_SIZE, GET_LNSZ_LNNO, GET_SCN_NRELOC, + GET_SCN_NLINNO): Use H_GET_32. + (PUT_LNSZ_LNNO, PUT_LNSZ_SIZE, PUT_SCN_NRELOC, PUT_SCN_NLINNO): + Use H_PUT_32. + * ti.h: Formatting fixes. Make use of H_GET_* and H_PUT_* throughout. + * xcoff.h: White space changes. + +2001-09-05 Tom Rix <trix@redhat.com> + + * xcoff.h : Add XCOFF_SYSCALL32 and XCOFF_SYSCALL64 hash table flags. + +2001-08-27 Andreas Jaeger <aj@suse.de> + + * xcoff.h (struct __rtinit): Make proper prototype for rtl. + +Fri Aug 24 01:18:51 2001 J"orn Rennecke <amylaar@redhat.com> + + * internal.h (R_JMP2, R_JMPL2, R_MOVL2): Comment spelling fix. + +2001-04-05 Tom Rix <trix@redhat.com> + + * 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 <nickc@redhat.com> + + * a29k.h: Fix compile time warning. + * external.h: Fix compile time warning. + * m88k.h: Fix compile time warning. + +2001-03-13 Nick Clifton <nickc@redhat.com> + + * external.h: New file. Common structure definitions found in + other COFF header files. + + * a29k.h: Use external.h. + * apollo.h: Use external.h. + * arm.h: Use external.h. + * h8300.h: Use external.h. + * h8500.h: Use external.h. + * i386.h: Use external.h. + * i860.h: Use external.h. + * ia64.h: Use external.h. + * m68k.h: Use external.h. + * m88k.h: Use external.h. + * mcore.h: Use external.h. + * mips.h: Use external.h. + * mipspe.h: Use external.h. + * powerpc.h: Use external.h. + * rs6000.h: Use external.h. + * rs6k64.h: Use external.h. + * sh.h: Use external.h. + * sparc.h: Use external.h. + * tic30.h: Use external.h. + * tic80.h: Use external.h. + * w65.h: Use external.h. + * we32k.h: Use external.h. + * z8k.h: Use external.h. + +2001-02-09 David Mosberger <davidm@hpl.hp.com> + + * pe.h (PEPAOUTSZ): Rename from PEP64AOUTSZ. + Rename from PEPAOUTHDR. + +2001-01-23 H.J. Lu <hjl@gnu.org> + + * pe.h (struct external_PEI_DOS_hdr): New. + (struct external_PEI_IMAGE_hdr): New. + +2000-12-11 Alan Modra <alan@linuxcare.com.au> + + * ti.h (OCTETS_PER_BYTE_POWER): Change #warning to #error. + +2000-12-08 Alan Modra <alan@linuxcare.com.au> + + * ti.h (OCTETS_PER_BYTE_POWER): Change #warn to #warning. + +2000-06-30 DJ Delorie <dj@cygnus.com> + + * pe.h: Clarify a comment. + +2000-05-05 Clinton Popetz <cpopetz@cygnus.com> + + * rs6k64.h (U802TOC64MAGIC): Change to U803XTOCMAGIC. + +2000-04-24 Clinton Popetz <cpopetz@cygnus.com> + + * rs6k64.h: New file. + +2000-04-17 Timothy Wall <twall@cygnus.com> + + * ti.h: Load page cleanup. + * intental.h: Add load page field. + +Mon Apr 17 16:44:01 2000 David Mosberger <davidm@hpl.hp.com> + + * pe.h (PEP64AOUTHDR): New header for PE+. + (PEP64AOUTSZ): New macro. + (IMAGE_SUBSYSTEM_UNKNOWN): New macro. + (IMAGE_SUBSYSTEM_NATIVE): Ditto. + (IMAGE_SUBSYSTEM_WINDOWS_GUI): Ditto. + (IMAGE_SUBSYSTEM_WINDOWS_CUI): Ditto. + (IMAGE_SUBSYSTEM_POSIX_CUI): Ditto. + (IMAGE_SUBSYSTEM_WINDOWS_CE_GUI): Ditto. + (IMAGE_SUBSYSTEM_EFI_APPLICATION): Ditto. + (IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER): Ditto. + (IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER): Ditto. + * internal.h (PE_DEF_FILE_ALIGNMENT): Define only if not defined + already. + * ia64.h: New file. + +2000-04-13 Alan Modra <alan@linuxcare.com.au> + + * ti.h (ADDR_MASK): Don't use ul suffix on constants. + (PG_MASK): Ditto. + +2000-04-11 Timothy Wall <twall@cygnus.com> + + * ti.h: Remove load page references until load pages are + reimplemented. + * tic54x.h: Ditto. + +2000-04-07 Timothy Wall <twall@cygnus.com> + + * internal.h: Fix some comments related to TI COFF (instead of tic80). + * ti.h: New. + * tic54x.h: New. + +Wed Apr 5 22:08:41 2000 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): Define. + +2000-03-15 Kazu Hirata <kazu@hxi.com> + + * internal.h: Fix a typo in the comment for R_MOVL2. + +2000-02-28 Nick Clifton <nickc@cygnus.com> + + * mipspe.h (MIPS_PE_MAGIC): Define. + * sh.h (SH_PE_MAGIC): Define. + +2000-02-22 Nick Clifton <nickc@cygnus.com> DJ Delorie <dj@cygnus.com> + + * sh.h: Add Windows CE definitions. + * arm.h: Add Windows CE definitions. + * mipspe.h: New file: Windows CE definitions for MIPS. + * pe.h: Add constants for ILF support. + +2000-01-05 Nick Clifton <nickc@cygnus.com> + + * pe.h: Fix formatting of comments. + (IMAGE_FILE_AGGRESSIVE_WS_TRIM): Define. + (IMAGE_FILE_LARGE_ADDRESS_AWARE): Define. + (IMAGE_FILE_16BIT_MACHINE): Define. + (IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP): Define. + (IMAGE_FILE_UP_SYSTEM_ONLY): Define. + (IMAGE_FILE_MACHINE_UNKNOWN): Define. + (IMAGE_FILE_MACHINE_ALPHA): Define. + (IMAGE_FILE_MACHINE_ALPHA64): Define. + (IMAGE_FILE_MACHINE_I386): Define. + (IMAGE_FILE_MACHINE_IA64): Define. + (IMAGE_FILE_MACHINE_M68K): Define. + (IMAGE_FILE_MACHINE_MIPS16): Define. + (IMAGE_FILE_MACHINE_MIPSFPU): Define. + (IMAGE_FILE_MACHINE_MIPSFPU16): Define. + (IMAGE_FILE_MACHINE_POWERPC): Define. + (IMAGE_FILE_MACHINE_R3000): Define. + (IMAGE_FILE_MACHINE_R4000): Define. + (IMAGE_FILE_MACHINE_R10000): Define. + (IMAGE_FILE_MACHINE_SH3): Define. + (IMAGE_FILE_MACHINE_SH4): Define. + (IMAGE_FILE_MACHINE_THUMB): Define. + +1999-09-20 Alan Modra <alan@spri.levels.unisa.edu.au> + + * internal.h: Delete bogus R_PCLONG, duplicate R_RELBYTE and + R_RELWORD, and rewrite some R_* as decimal. + +1999-09-06 Donn Terry <donn@interix.com> + + * internal.h (DTYPE): Define. + * pe.h (struct external_PEI_filehdr): Rename from + external_PE_filehdr. Define even if COFF_IMAGE_WITH_PE is not + defined. + +1999-07-17 Nick Clifton <nickc@cygnus.com> + + * arm.h (F_SOFT_FLOAT): Rename from F_SOFTFLOAT. + +1999-06-21 Philip Blundell <pb@nexus.co.uk> + + * arm.h (F_SOFTFLOAT): Define. + +1999-07-05 Nick Clifton <nickc@cygnus.com> + + * arm.h (F_ARM_5): Define. + +Wed Jun 2 18:08:18 1999 Richard Henderson <rth@cygnus.com> + + * internal.h (BEOS_EXE_IMAGE_BASE, BEOS_DLL_IMAGE_BASE): New. + +Mon May 17 13:35:35 1999 Stan Cox <scox@cygnus.com> + + * arm.h (F_PIC, F_ARM_2, F_ARM_2a, F_ARM_3, F_ARM_3M, + F_ARM_4, F_ARM_4T, F_APCS26): Changed values to distinguish + F_ARM_2a, F_ARM_3M, F_ARM_4T. + +1999-05-15 Nick Clifton <nickc@cygnus.com> + + * mcore.h (IMAGE_REL_MCORE_RVA): Define. + +1999-04-21 Nick Clifton <nickc@cygnus.com> + + * mcore.h (GET_LINENO_LNNO): New macro. + (PUT_LINENO_LNNO): New macro. + +1999-04-08 Nick Clifton <nickc@cygnus.com> + + * mcore.h: New header file. Defines for Motorola's MCore + processor. + +Sun Dec 6 21:36:37 1998 Mark Elbrecht <snowball3@usa.net> + + * internal.h (C_WEAKEXT): Define. + +Wed Jan 27 13:35:35 1999 Stan Cox <scox@cygnus.com> + + * arm.h (F_PIC_INT, F_ARM_2, F_ARM_3, F_ARM_4, F_APCS26): + Changed values to avoid clashing with IMAGE_FILE_* coff header + flag values. + +Wed Apr 1 16:06:15 1998 Nick Clifton <nickc@cygnus.com> + + * internal.h: Document numbers associated with Thumb symbol + types. + +Fri Mar 27 17:16:57 1998 Ian Lance Taylor <ian@cygnus.com> + + * internal.h (ISPTR, ISFCN, ISARY): Add casts to unsigned long. + +Mon Feb 2 17:10:38 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU> + + * tic30.h: New file. + +Fri Dec 12 11:49:07 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (R_MPPCR15W): New relocation type, for 15 bit PC relative + offsets. + +Tue Dec 2 10:21:40 1997 Nick Clifton <nickc@cygnus.com> + + * arm.h (COFFARM): New define. + +Mon Dec 1 20:24:18 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h (R_SH_SWITCH8): New. + +Sat Nov 22 15:10:14 1997 Nick Clifton <nickc@cygnus.com> + + * internal.h (C_THUMBEXTFUNC, C_THUMBSTATFUNC): Constants to + define static and external functions. + + * arm.h: Add bits to support PIC and APCS-FLOAT type binaries, + when implemented. + +Fri Oct 3 14:25:17 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (R_PPL16B): Make constant uppercase for consistency. + +Tue Jul 22 18:18:58 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE> + + * go32exe.h: New file. + +Tue Jul 8 12:23:55 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_TARGET_ID): Add define. + * internal.h (struct internal_filehdr): Add f_target_id field. + +Tue Jun 3 16:44:18 1997 Nick Clifton <nickc@cygnus.com> + + * internal.h: Add storage classes for Thumb symbols + +Mon May 26 14:07:55 1997 Ian Lance Taylor <ian@cygnus.com> + + * tic80.h (R_PPL16B): Correct value. + +Tue May 13 10:21:14 1997 Nick Clifton <nickc@cygnus.com> + + * arm.h (constants): Added new flag bits F_APCS_26 and + F_APCS_SET for the f_flags field of the filehdr structure. Added new + flags: F_APCS26, F_ARM_2, F_ARM_3, F_ARM_7, F_ARM_7T to store + information in the flags field of the internal_f structure used by BFD + routines. + +Sat May 3 08:24:59 1997 Fred Fish <fnf@cygnus.com> + + * internal.h (C_UEXT, C_STATLAB, C_EXTLAB, C_SYSTEM): + New storage classes for TIc80. + +Fri Apr 18 11:52:55 1997 Niklas Hallqvist <niklas@appli.se> + + * alpha.h (ALPHA_ECOFF_BADMAG): Recognize *BSD/alpha magic too. + (ALPHA_R_LITERALSLEAZY): Define. + * ecoff.h (ALPHA_MAGIC_BSD): Define. + +Wed Jan 29 11:31:51 1997 Ian Lance Taylor <ian@cygnus.com> + + * i960.h (R_IPR13, R_ALIGN): Define. + +Mon Jan 27 13:34:30 1997 Ian Lance Taylor <ian@cygnus.com> + + * internal.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): Move definitions + from here... + * i960.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): ...to here. + +Wed Jan 22 20:10:47 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80MAGIC): Renamed to TIC80_AOUTHDR_MAGIC. + +Fri Dec 27 22:05:45 1996 Fred Fish <fnf@cygnus.com> + + * tic80.h: New file for TIc80 support. + +Thu Dec 19 16:18:11 1996 Ian Lance Taylor <ian@cygnus.com> + + * arm.h (_LIT): Define. + +Fri Jun 28 12:54:38 1996 Ian Lance Taylor <ian@cygnus.com> + + * pe.h (FILHSZ): Define. + +Wed Jun 26 16:24:26 1996 Ian Lance Taylor <ian@cygnus.com> + + * All files: Define FILHSZ, AOUTSZ, AOUTHDRSZ, SCNHSZ, SYMESZ, + AUXESZ, LINESZ, RELSZ as numeric constants rather than uses of + sizeof. Define AOUTHDRSZ in all files. + * pe.h (AOUTSZ): Define by adding to AOUTHDRSZ. + +Fri Jun 21 11:17:46 1996 Richard Henderson <rth@tamu.edu> + + * alpha.h: Add declarations for relocation types added for Alpha + OSF/1 3.0. + +Tue Jun 18 16:04:29 1996 Jeffrey A. Law <law@rtl.cygnus.com> + + * h8300.h (H8300SMAGIC): Define. + (H8300SBADMAG): Define. + +Mon Jun 10 11:53:28 1996 Jeffrey A Law (law@cygnus.com) + + * internal.h (R_BCC_INV, R_JMP_DEL): New relocations for + relaxing in the H8/300 series. + +Thu May 16 15:49:22 1996 Ian Lance Taylor <ian@cygnus.com> + + * sh.h (R_SH_CODE, R_SH_DATA, R_SH_LABEL): Define. + +Tue May 7 00:36:39 1996 Jeffrey A Law (law@cygnus.com) + + * internal.h (R_JMPL2): Renamed from R_JMPL_B8 to be + consistent with other similar relocs. + + * internal.h (H8/300 specific relocs): Add comments better + explaining what each reloc is used for. + (R_MOV16B1, R_MOV16B2): Renamed from R_MOVB1 and R_MOVB2. + (R_MOV24B1, R_MOV24B2): Renamed from R_MOVLB1 and R_MOVLB2. + (R_MOVL1, R_MOVL2): New relocs. + +Fri May 3 13:01:12 1996 Jeffrey A Law (law@cygnus.com) + + * internal.h (R_PCRWORD_B): Define for the h8300 relaxing + linker. + +Wed May 1 19:21:03 1996 Ian Lance Taylor <ian@cygnus.com> + + * internal.h (SCNNMLEN): Define. + (struct internal_scnhdr): Use SCNNMLEN for s_name field. + +Fri Mar 29 13:41:25 1996 Ian Lance Taylor <ian@cygnus.com> + + * pe.h: Define IMAGE_COMDAT codes. + +Wed Mar 27 17:29:42 1996 Ian Lance Taylor <ian@cygnus.com> + + * arm.h (union external_auxent): Add x_checksum, x_associated, and + x_comdat fields to x_scn struct. + * i386.h (union external_auxent): Likewise. + * powerpc.h (union external_auxent): Likewise. + * internal.h (union internal_auxent): Likewise. + +Thu Mar 21 16:25:57 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * ecoff.h (struct ecoff_find_line): Add caching fields. + +Thu Mar 14 15:22:44 1996 Jeffrey A Law (law@cygnus.com) + + * internal.h (R_MEM_INDIRECT): New reloc for the h8300. + +Fri Feb 9 10:44:11 1996 Ian Lance Taylor <ian@cygnus.com> + + * aux-coff.h: Rename from aux.h, to avoid problems on hapless DOS + systems which think that aux is a com port. + +Mon Feb 5 18:35:00 1996 Ian Lance Taylor <ian@cygnus.com> + + * i960.h (F_I960HX): Define. + +Wed Jan 31 13:11:54 1996 Richard Henderson <rth@tamu.edu> + + * aux.h: New file. + * internal.h, m68k.h: Protect against multiple inclusion. + +Wed Nov 22 13:48:39 1995 Ian Lance Taylor <ian@cygnus.com> + + * ecoff.h (_RCONST, STYP_RCONST, RELOC_SECTION_RCONST): Define. + (NUM_RELOC_SECTIONS): Update. + * symconst.h (scRConst): Define. + +Tue Nov 14 18:54:29 1995 Ian Lance Taylor <ian@cygnus.com> + + * internal.h (C_NT_WEAK): Define. + +Thu Nov 9 14:08:30 1995 Ian Lance Taylor <ian@cygnus.com> + + * rs6000.h (STYP_OVRFLO): Define. + +Tue Nov 7 14:38:45 1995 Kim Knuttila <krk@cygnus.com> + + * powerpc.h (IMAGE_NT_OPTIONAL_HDR_MAGIC): Added define. + * pe.h: Added defines for file level flags + +Mon Nov 6 17:28:01 1995 Harry Dolan <dolan@ssd.intel.com> + + * i860.h: New file, based on i386.h. + +Wed Nov 1 15:25:18 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> + + * m68k.h (PAGEMAGICEXECSWAPPED): Define. + (PAGEMAGICPEXECSWAPPED): Define. + (PAGEMAGICPEXECTSHLIB): Define. + (PAGEMAGICPEXECPAGED): Define. + (_COMMENT): DEFINE. + * m88k.h (_COMMENT): Define. + +Wed Oct 18 18:36:19 1995 Geoffrey Noer <noer@cygnus.com> + + * sym.h: #if 0'd out runtime_pdr struct because it chokes + Visual C++ and there aren't any references to it elsewhere in gdb. + +Mon Oct 16 11:12:24 1995 Ian Lance Taylor <ian@cygnus.com> + + * rs6000.h (SMALL_AOUTSZ): Define. + + * internal.h (XMC_TD): Define. + +Tue Oct 10 18:41:03 1995 Ian Lance Taylor <ian@cygnus.com> + + * internal.h (struct internal_aouthdr): Add o_cputype field. + * rs6000.h (AOUTHDR): Rename o_resv1 to o_cputype. + +Mon Oct 9 14:45:46 1995 Ian Lance Taylor <ian@cygnus.com> + + * rs6000.h (AOUTHDR): Add o_maxdata field. Add comments. + (_PAD, _LOADER): Define. + (STYP_LOADER): Define. + * internal.h (struct internal_aouthdr): Add o_maxdata field. + +Thu Oct 5 10:02:57 1995 Ian Lance Taylor <ian@cygnus.com> + + * ecoff.h: Define section name macros and STYP macros for various + Alpha sections: .got, .hash, .dynsym, .dynstr, .rel.dyn, .conflic, + .comment, .liblist, .dynamic. + +Wed Oct 4 10:56:35 1995 Kim Knuttila <krk@cygnus.com> + + * pe.h: Moved DOSMAGIC and NT_SIGNATURE defines here + * powerpc.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines + Also removed other unused defines (various MAGIC ones) + * i386.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines + * arm.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines + * apollo.h: removed unused DEFAULT_* defines + * alpha.h: removed unused DEFAULT_* defines + * h8500.h: removed unused DEFAULT_* defines + * h8300.h: removed unused DEFAULT_* defines + * i960.h: removed unused DEFAULT_* defines + * m88k.h: removed unused DEFAULT_* defines + * we32k.h: removed unused DEFAULT_* defines + * rs6000.h: removed unused DEFAULT_* defines + * mips.h: removed unused DEFAULT_* defines + * m68k.h: removed unused DEFAULT_* defines + * z8k.h: removed unused DEFAULT_* defines + * w65.h: removed unused DEFAULT_* defines + * sparc.h: removed unused DEFAULT_* defines + * sh.h: removed unused DEFAULT_* defines + +Fri Sep 29 08:40:08 1995 Kim Knuttila <krk@cygnus.com> + + * powerpc.h: Reformatted to GNU coding conventions. + +Wed Sep 27 06:50:50 1995 Kim Knuttila <krk@nellie> + + * pe.h: added defines for more section characteristics + * powerpc.h (new file): base coff definitions for ppc PE + +Tue Sep 12 12:08:20 1995 Ian Lance Taylor <ian@cygnus.com> + + * internal.h (struct internal_syment): Change n_numaux field from + char to unsigned char. + +Fri Sep 1 15:39:36 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp> + + * mips.h (struct rpdr_ext): Define. + +Thu Aug 31 16:51:50 1995 steve chamberlain <sac@slash.cygnus.com> + + * internal.h (internal_aouthdr, internal_filehdr): + don't indirect the pe stuff. + +Tue Aug 29 14:16:07 1995 steve chamberlain <sac@slash.cygnus.com> + + * i386.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Make the same + as 'the other' compiler. + * internal.h (NT_IMAGE_BASE): Deleted. + (NT_EXE_IMAGE_BASE, NT_DLL_IMAGE_BASE): New. + (PE_DEF_SECTION_ALIGNMENT, PE_DEF_FILE_ALIGNMENT): New. + (R_IMAGEBASE): New. + +Mon Aug 21 18:12:19 1995 steve chamberlain <sac@slash.cygnus.com> + + * internal.h: (internal_filehdr): Moved PE stuff into + internal_extra_pe_filehdr. + (internal_aouthdr): Moved PE stuff into + interanl_extra_pe_aouthdr. + +Mon Jul 24 14:05:39 1995 Ian Lance Taylor <ian@cygnus.com> + + * internal.h: Move R_SH_* relocs from here... + * sh.h: ...to here. + (R_SH_SWITCH16, R_SH_SWITCH32): Define. + (R_SH_USES, R_SH_COUNT, R_SH_ALIGN): Define. + +Thu Jun 29 00:04:25 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * internal.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Increase a lot. + +Tue May 16 15:08:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * internal.h (NT_subsystem, NT_stack_heap): Delete + +Tue May 16 15:08:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * internal.h (NT_subsystem, NT_stack_heap): Now extern. + +Sat May 13 10:14:08 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * pe.h: New file. + * i386.h (NT_SECTION_ALIGNMENT, NT_FILE_ALIGNMENT, + NT_DEF_RESERVE, NT_DEF_COMMIT): New. + * internal.h (internal_filehdr): New fields for PE. + (IMAGE_DATA_DIRECTORY): New. + (internal_aouthdr): New fields for PE. + +Tue Feb 14 17:59:37 1995 Ian Lance Taylor <ian@cygnus.com> + + * ecoff.h (struct ecoff_fdrtab_entry): Define. + (struct ecoff_find_line): Define. + +Sat Feb 4 14:38:03 1995 David Mosberger-Tang <davidm@piston.cs.arizona.edu> + + * sym.h (struct pdr): field "prof" added. + + * alpha.h (PDR_BITS1_PROF_*): added, macros for PDR_BITS*_RESERVED_* + updated accordingly. + +Sun Jan 15 18:38:33 1995 Steve Chamberlain <sac@splat> + + * w65.h: New file. + +Wed Nov 23 22:43:38 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * sh.h (SH_ARCH_MAGIC_BIG, SH_ARCH_MAGIC_LITTLE): New. + (SHBADMAG): Changed to suit. + +Tue Jul 26 17:46:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * i960.h (F_I960JX): New macro. + +Wed Jul 6 00:48:57 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * alpha.h: Add definitions for alpha file header flags, encoding + the object type of the file. + +Mon Jun 20 13:47:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * ecoff.h (ecoff_swap_tir_in): Remove declaration. + (ecoff_swap_tir_out): Likewise. + (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise. + (struct ecoff_debug_swap): Add new fields: swap_tir_in, + swap_rndx_in, swap_tir_out, swap_rndx_out, read_debug_info. + +Sun Jun 12 03:51:52 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * symconst.h: Pick up SGI define for stIndirect. + +Fri Apr 22 13:05:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.h (REGINFO): Don't define. + (struct ecoff_reginfo): Don't define. + + * sh.h (SH_ARCH_MAGIC): Rename from SHMAGIC. SHMAGIC is used by + several targets to mean a shared library. + (SHBADMAG): Corresponding change. + +Thu Apr 14 13:00:53 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (RELOC_BITS3_TYPE_BIG): Changed from 0x1e to 0x3e. + (RELOC_BITS3_TYPEHI_LITTLE): Define. + (RELOC_BITS3_TYPEHI_SH_LITTLE): Define. + (MIPS_R_PCREL16): Change value from 8 to 12 to match Irix 4. + (MIPS_R_RELHI): Define. + (MIPS_R_RELLO): Define. + (MIPS_R_SWITCH): Change value from 9 to 22. + +Thu Apr 7 14:19:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (MIPS_R_SWITCH): Define. + +Thu Mar 31 19:28:33 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * internal.h (internal_aouthdr): Added comments for Apollo fields. + +Thu Mar 31 16:28:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.h (STYP_ECOFF_LIB): Define as used on Irix 4. + +Fri Mar 25 17:16:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.h (struct ecoff_debug_info): Add adjust field. + (struct ecoff_value_adjust): Define. + +Tue Mar 22 13:22:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (MIPS_R_PCREL16): Define. + +Sat Feb 26 10:26:38 1994 Ian Lance Taylor (ian@cygnus.com) + + * ecoff.h: Add casts to avoid warnings from SVR4 cc. + +Mon Feb 21 09:48:46 1994 Ian Lance Taylor (ian@lisa.cygnus.com) + + * sym.h (struct runtime_pdr): Make field adr bfd_vma, not unsigned + long. + (SYMR): Make field value bfd_vma, not long. + +Fri Feb 4 23:35:53 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * rs6000.h (STYP_DEBUG): Define. + +Wed Feb 2 14:31:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * internal.h (union internal_auxent): Change x_csect.x_scnlen into + a union of a long and a pointer to a symbol. XCOFF sometimes uses + this field as a symbol index. + +Mon Jan 10 23:54:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.h (ecoff_debug_info): Remove fields line_end, + external_dnr_end, external_pdr_end, external_sym_end, + external_opt_end, external_aux_end, ss_end, external_fdr_end. + Replace ifdbase with ifdmap. + +Wed Jan 5 17:05:36 1994 Ken Raeburn (raeburn@deneb.cygnus.com) + + * ecoff.h (STYP_EXTENDESC, STYP_COMMENT, STYP_XDATA, STYP_PDATA): + Define. + +Wed Jan 5 16:58:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.h (NUM_RELOC_SECTIONS): Define. + +Tue Dec 21 09:24:56 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * sparc.h (struct external_reloc): Rename field r_addend to + r_offset. + +Sat Dec 11 16:12:32 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * internal.h (R_DISP7, R_SH_IMM16): New reloc types. + +Tue Nov 23 14:23:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.h (struct ecoff_debug_swap): Added *_end fields for all + the symbolic information pointers. + + * sym.h: Named the EXTR structure ecoff_extr. + +Fri Nov 19 08:21:18 1993 Ken Raeburn (raeburn@rover.cygnus.com) + + * sparc.h (RELSZ): Use correct size. + +Wed Nov 17 17:18:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (struct ecoff_debug_info): Define. + +Tue Nov 2 17:56:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.h (struct ecoff_debug_swap): Define. + +Thu Oct 28 17:07:50 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * i386.h (I386LYNXMAGIC): Rename to LYNXCOFFMAGIC. + * m68k.h (LYNXCOFFMAGIC): Define. + * sparc.h: New file. + +Tue Oct 19 15:34:50 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * alpha.h (external_aouthdr): Split four byte padding field into + two byte bldrev field and two byte padding field. + + * ecoff.h (_LITA, _PDATA, _XDATA, STYP_LITA): Defined. + +Wed Oct 13 15:52:34 1993 Ken Raeburn (raeburn@cygnus.com) + + Sun Oct 10 17:27:10 1993 Troy Rollo (troy@cbme.unsw.edu.au) + + * internal.h: Added o_sri, o_inlib and o_vid for Apollos as well + as R_DIR16. + + * apollo.h: New file + +Mon Oct 11 17:16:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.h (REGINFO, struct ecoff_reginfo): Define. + +Tue Oct 5 10:52:53 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * rs6000.h: Change non-ASCII characters in comment to octal + escapes. + +Tue Sep 28 03:27:04 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * ecoff.h (_FINI, STYP_ECOFF_FINI): Add to support .fini section. + +Fri Sep 24 11:53:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3. + * ecoff.h: Define MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3. + +Thu Sep 23 21:07:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2. + * ecoff.h: Define MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2. + +Thu Sep 16 20:27:21 1993 Jim Kingdon (kingdon@cirdan.cygnus.com) + + * sym.h, symconst.h: Add comment stating these files are not part + of GDB, GAS, etc. In 1991, when we asked rms whether we could + include these files in GDB (although they are copyrighted by + someone besides the FSF), he said it was OK if they were not + considered part of GDB. + +Fri Sep 10 17:40:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.h (AUX_PUT_ANY): Cast val argument to bfd_vma. + + * alpha.c (external_aouthdr): Need four bytes of padding between + vstamp and tsize. + +Tue Sep 7 14:20:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.h (AUX_GET_ANY, AUX_PUT_ANY): Changed to reflect further + change in bfd swapping routine names. + +Tue Sep 7 10:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * ecoff.h (AUX_GET_ANY): Change name of _do_getb32 to reflect bfd + changes. + +Fri Aug 13 14:30:32 1993 Ian Lance Taylor (ian@cygnus.com) + + * ecoff.h (RELOC_SECTION_NONE): Define. + +Thu Aug 12 11:24:42 1993 Ian Lance Taylor (ian@cygnus.com) + + * alpha.h (struct external_reloc): Add r_symndx field. + (RELSZ): Correct. + (RELOC_BITS*): Correct. + (ALPHA_R_*): Define. + * ecoff.h (RELOC_SECTION_{XDATA,PDATA,FINI,LITA,ABS}): Define. + (r_extern): Undefine. + * internal.h (struct internal_reloc): Make r_vaddr bfd_vma rather + than long. Add r_extern field. + + * alpha.h (PDR_BITS*): Define. + * sym.h (PDR): Give correct names to new fields. + + * ecoff.h: Moved MIPS reloc definitions from here... + * mips.h: to here. + +Mon Aug 2 16:37:14 1993 Stu Grossman (grossman at cygnus.com) + + * i386.h: Add Lynx magic number. + +Tue Aug 3 11:17:53 1993 Ian Lance Taylor (ian@cygnus.com) + + * alpha.h: Corrected external symbolic debugging structures to + match actual usage. + * internal.h (internal_filehdr, internal_aouthdr, + internal_scnhdr): Changed type of some fields to bfd_vma so they + can hold 64 bits. + * sym.h (HDRR, FDR, PDR, EXTR): Likewise. + (PDR): Added new fields found on Alpha. + * symconst.h (magicSym2): Define; new value found on Alpha. + + * ecoff.h: New file. + * alpha.h, mips.h: Moved common information into ecoff.h. Moved + external structure definitions in from ecoff-ext.h. + * ecoff-ext.h: Removed; information now in alpha.h and mips.h. + +Sun Jul 18 21:43:59 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * i386.h: Recognize I386PTXMAGIC. + +Fri Jul 16 09:54:35 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.h (MIPS_AOUT_{OZ}MAGIC): Renamed from {OZ}MAGIC. + +Thu Jul 15 12:23:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * m88k.h (union external_auxent): Move x_fcn back inside x_fcnary. + ({GET,PUT}_FCN_{LNNOPTR,ENDNDX}): Adjust accordingly. + +Sun Jul 11 18:00:18 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * m68k.h: Define MC68KBCSMAGIC. + +Thu Jun 10 11:46:28 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.h (_INIT, STYP_MIPS_INIT): Define (used on Irix4). + (STYP_OTHER_LOAD): Define as STYP_MIPS_INIT. + +Wed Jun 9 15:09:09 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.h (OMAGIC): Define. + +Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + Support for H8/300-H + * h8300.h: New magic number. + * internal.h: New relocations. + +Mon Apr 26 18:04:47 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * internal.h, sh.h: Support for SH. + +Sat Apr 24 21:34:59 1993 Jim Kingdon (kingdon@cygnus.com) + + * a29k.h: Define _LIT. + +Fri Apr 23 18:41:23 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * alpha.h: New file. + +Thu Apr 8 12:36:34 1993 Ian Lance Taylor (ian@cygnus.com) + + * internal.h (C_SHADOW, C_VERSION): Copied in from m88k.h. + * m88k.h, i386.h, we32k.h: Don't define all the storage classes; + they're already in internal.h. + +Wed Apr 7 11:51:24 1993 Jim Kingdon (kingdon@cygnus.com) + + * internal.h: Change n_sclass to unsigned char. + Change C_EFCN to 0xff, change RS/6000 dbx symbols + to no longer be signed. + +Fri Mar 19 14:52:56 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * internal.h: Add H8/500 reloc types. + +Wed Mar 17 09:46:03 1993 Ian Lance Taylor (ian@cygnus.com) + + * ecoff-ext.h (AUX_PUT_ANY): Don't use void values in branches of + conditional expression. + +Thu Mar 4 14:12:06 1993 Ian Lance Taylor (ian@cygnus.com) + + * ecoff-ext.h (AUX_GET_*): Rewrote to use new macro AUX_GET_ANY. + (AUX_PUT_*): New macros corresponding to the AUX_GET macros. + (ecoff_swap_tir_out): Added prototype. + + * mips.h (N_BTMASK, N_TMASK, N_BTSHFT, N_TSHIFT): Define; these + are needed to interpret gcc debugging output. + +Tue Feb 9 07:43:27 1993 Ian Lance Taylor (ian@cygnus.com) + + * we32k.h (BTYPE, ISPTR, ISFCN, ISARY, DECREF): Removed + more definitions duplicated in internal.h. + +Wed Feb 3 09:18:24 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.h (RELOC_BITS3_TYPE_*): Correct for big endian machines. + +Mon Jan 25 11:35:51 1993 Ian Lance Taylor (ian@cygnus.com) + + * internal.h (internal_aouthdr): Added additional fields used only + by MIPS ECOFF. + +Thu Jan 21 10:28:38 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.h (AOUTHDR): Added additional fields used by ECOFF. + +Tue Jan 19 12:21:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * i386.h, we32k.h (N_*, T_*, DT_*): Removed still more definitions + duplicated in internal.h. + + * mips.h (RELOC_SECTION_*, ECOFF_R_*): Defined constants for ECOFF + relocs. + +Fri Jan 15 18:17:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff-ext.h: Added prototypes for new ECOFF swapping functions. + (opt_ext): New structure. + * mips.h (ZMAGIC): Defined to be 0413. + (_LIB): Defined to be ".lib" + (external_reloc): MIPS ECOFF relocs are only 8 bytes. Added + macros to aid in swapping. + +Fri Jan 8 16:19:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff-ext.h: Added prototypes for ECOFF swapping functions. + * internal.h (internal_scnhdr): Always provide s_align field, not + just on i960. + (internal_reloc): Always provide r_size field, not just on + RS/6000. + * mips.h (_RDATA, _SDATA, _SBSS, _LIT4, _LIT8, STYP_RDATA, + STYP_SDATA, STYP_SBSS, STYP_LIT4, STYP_LIT8): Defined. + (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB, + STABS_SYMBOL): Moved in from gdb/mipsread.c. + +Wed Jan 6 14:01:46 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * i386.h, we32k.h: removed STYP_* defines, since they duplicated + those in internal.h. + +Tue Dec 29 15:40:07 1992 Ian Lance Taylor (ian@cygnus.com) + + * i386.h: define I386AIXMAGIC for Danbury AIX PS/2 compiler. + +Sat Dec 12 16:07:57 1992 Ian Lance Taylor (ian@cygnus.com) + + * i386.h: don't define BTYPE, ISPTR, ISFCN, ISARY, DECREF: they + are defined in internal.h. + +Thu Nov 12 09:52:01 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * internal.h: (internal_reloc): r_offset is now a long. + * z8k.h: slight comment enhancement + +Wed Sep 30 07:46:08 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * internal.h: changed z8k reloc types + +Fri Aug 28 10:16:31 1992 Brendan Kehoe (brendan@cygnus.com) + + * we32k.h: new file + +Thu Aug 27 13:00:01 1992 Brendan Kehoe (brendan@cygnus.com) + + * symconst.h: comment out cruft at the end of #endif + +Tue Aug 25 15:06:49 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * internal.h: added #define for STYP_LIT, removed from a29k and + h8300. + + * z8k.h: added z8000 support + +Thu Jul 16 16:32:00 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * internal.h: added R_RELLONG_NEG reloc type + +Fri Jun 12 20:11:04 1992 John Gilmore (gnu at cygnus.com) + + * symconst.h: Fix unterminated comment. + +Wed Jun 10 07:57:49 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * i386.h: a.out magic numbers from + mohring@informatik.tu-muenchen.de + +Mon Jun 8 20:13:33 1992 John Gilmore (gnu at cygnus.com) + + * ecoff-ext.h, mips.h: Use unsigned chars everywhere. + (Suggested by Antti Miettinen.) + +Tue Apr 14 15:18:44 1992 John Gilmore (gnu at cygnus.com) + + * sym.h: Add comments. + * symconst.h: Merge with Fred's changes. + +Tue Apr 14 14:30:05 1992 Fred Fish (fnf@cygnus.com) + + * symconst.h: Pick up SGI defines for stStruct, stUnion, stEnum, + langCplusplus, and langCplusplusV2. + +Thu Apr 2 19:47:43 1992 John Gilmore (gnu at cygnus.com) + + * sym.h, symconst.h: MIPS has provided redistributable versions + of these files. Thanks! + * ecoff-ext.h: Add weakext bit to match new sym.h. + +Fri Mar 6 00:10:46 1992 John Gilmore (gnu at cygnus.com) + + * ecoff-ext.h: Add relative file descriptors. + +Thu Feb 27 11:53:04 1992 John Gilmore (gnu at cygnus.com) + + * ecoff-ext.h: New file for external (in-file) form of ecoff + symbol structures. + +Thu Feb 6 11:33:32 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * h8300.h: made the external_lineno l_lnno field 4 bytes wide. + andded GET/PUT_LINENO_LNNO macros + +Sat Nov 30 20:38:35 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * a29k.h, h8300.h, i386.h, i960.h, internal.h, m68k.h, m88k.h, + mips.h, rs6000.h: Move from above coff-<foo>.h. + + +Local Variables: +version-control: never +End: diff --git a/include/elf/ChangeLog-9103 b/include/elf/ChangeLog-9103 new file mode 100644 index 0000000..713d80d --- /dev/null +++ b/include/elf/ChangeLog-9103 @@ -0,0 +1,1914 @@ +2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * elf/m32r.h : Added m32r-linux and PIC support. Add new ABI that + uses RELA. + (R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA, + R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA, + R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA, + R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA, + R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT, + R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24, + R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT, + R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF, + R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO, + R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO, + R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO, + R_M32R_GOTPC_LO): New relocs. + +2003-12-06 Alan Modra <amodra@bigpond.net.au> + + From Jan Beulich <JBeulich@novell.com> + * common.h (DT_HIOS): Correct value. + +2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * elf/m32r.h: Add new machine type m32r2 and instruction modes. + +2003-11-06 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (R_PPC_RELAX32PC): Define. + +2003-10-22 Alexandre Oliva <aoliva@redhat.com>, + Michael Snyder <msnyder@redhat.com> + + * sh.h (EF_SH4A, EF_SH4AL_DSP, EF_SH4_NOFPU, EF_SH4A_NOFPU): New. + (EF_SH_MERGE_MACH): Combine them. + +2003-10-18 Hans-Peter Nilsson <hp@bitrange.com> + + * mmix.h (R_MMIX_PUSHJ_STUBBABLE): New reloc number. + (_bfd_mmix_before_linker_allocation): Rename from + _bfd_mmix_prepare_linker_allocated_gregs. + (_bfd_mmix_after_linker_allocation): Rename from + _bfd_mmix_finalize_linker_allocated_gregs. + +2003-10-06 Dave Brolley <brolley@redhat.com> + + * frv.h (EF_FRV_CPU_FR550): New macro. + +2003-09-30 Chris Demetriou <cgd@broadcom.com> + + * mips.h (E_MIPS_ARCH_64R2): New define. + +2003-09-23 DJ Delorie <dj@redhat.com> + + * sh.h (R_SH_SWITCH8, R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY, + R_SH_LOOP_START,R_SH_LOOP_END): Move to "reserved" spaces. + (R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U, + R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U, + R_SH_PSHA, R_SH_PSHL): New. + +2003-09-11 James Cownie <jcownie@etnus.com> + + * dwarf2.h: Add HP dwarf extensions from their hacked gdb + header files (ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz). + +2003-09-04 Nick Clifton <nickc@redhat.com> + + * v850.h (E_V850E1_ARCH): Define. + +2003-08-21 James Cownie <jcownie@etnus.com> + + * dwarf2.h: Add PGI dwarf extensions. + +2003-08-08 Dmitry Diky <diwil@mail.ru> + + * msp430.h: Add xW42 and xE42 parts. Sort MPU list according to + gcc order. + +2003-08-07 Alan Modra <amodra@bigpond.net.au> + + * reloc-macros.h (START_RELOC_NUMBERS) : Remove PARAMS macro. Use + C90 function definition. Formatting. + (RELOC_NUMBER): Remove !__STDC__ code. + +2003-07-28 Eric Christopher <echristo@redhat.com> + + * ppc.h (R_PPC_RELAX32): New. Fake relocation. + +2003-07-25 H.J. Lu <hongjiu.lu@intel.com> + + * v850.h (SHF_V850_GPREL): New. + (SHF_V850_EPREL): Likewise. + (SHF_V850_R0REL): Likewise. + +2003-07-09 Alexandre Oliva <aoliva@redhat.com> + + 2001-05-16 Alexandre Oliva <aoliva@redhat.com> + * mn10300.h: Introduce GOTPC16, GOTOFF24, GOTOFF16 and + PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32. + Renumbered all relocs. + 2001-04-12 Alexandre Oliva <aoliva@redhat.com> + * mn10300.h (R_MN10300_GOTPC, R_MN10300_GOTOFF, + R_MN10300_PLT32, R_MN10300_GOT32, R_MN10300_GOT24, + R_MN10300_GOT16, R_MN10300_COPY, R_MN10300_GLOB_DAT, + R_MN10300_JMP_SLOT, R_MN10300_RELATIVE): New relocs. + +2003-07-09 Alexandre Oliva <aoliva@redhat.com> + + 2000-04-01 Alexandre Oliva <aoliva@cygnus.com> + * mn10300.h (E_MN10300_MACH_AM33_2): Renamed from + E_MN10300_MACH_AM332. + 2000-03-31 Alexandre Oliva <aoliva@cygnus.com> + * mn10300.h (E_MN10300_MACH_AM332): Defined. + +2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390.h (elf_s390_reloc_type): Add long displacement relocations + R_390_20, R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20. + +2003-06-29 Andreas Jaeger <aj@suse.de> + + * mmix.h: Convert to ISO C90 prototypes. + * mips.h: Likewise. + +2003-06-13 Robert Millan <zeratul2@wanadoo.es> + + * common.h (GNU_ABI_TAG_NETBSD): New tag. + (GNU_ABI_TAG_FREEBSD): New tag. + +2003-06-10 Richard Sandiford <rsandifo@redhat.com> + + * h8.h (E_H8_MACH_H8300SXN): New flag. + +2003-06-03 Nick Clifton <nickc@redhat.com> + + * v850.h (R_V850_32): Rename to R_V850_ABS32. + Add R_V850_REL32. + +2003-05-15 Roland McGrath <roland@redhat.com> + + * common.h (NT_AUXV, AT_*): New macros. + * external.h (Elf32_External_Auxv, Elf64_External_Auxv): New types. + * internal.h (Elf_Internal_Auxv): New type. + +2003-05-14 Michael Snyder <msnyder@redhat.com> + From Bernd Schmidt <bernds@redhat.com> + * h8.h (E_H8_MACH_H8300SX): New. + +2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com> + + * elf/h8.h (E_H8_MACH_H8300HN, E_H8_MACH_H8300SN): New + +2003-04-23 J"orn Rennecke <joern.rennecke@superh.com> + + * common.h (EM_SH): Amend comment to refer to SuperH. + +2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * common.h: Replace references to Mitsubishi M32R with + references to Renesas M32R. + +2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com> + + * common.h: Replace occurrances of 'Hitachi' with 'Renesas'. + +2003-04-01 Bob Wilson <bob.wilson@acm.org> + + * elf/common.h (EM_XTENSA_OLD): Define. + * elf/xtensa.h: New file. + +2003-04-01 Nick Clifton <nickc@redhat.com> + + * arm.h (ARM_NOTE_SECTION): Include .gnu in the string. + +2003-03-25 Stan Cox <scox@redhat.com> + Nick Clifton <nickc@redhat.com> + + Contribute support for Intel's iWMMXt chip - an ARM variant: + + * arm.h (ARM_NOTE_SECTION): Define. + +2003-03-03 J"orn Rennecke <joern.rennecke@superh.com> + + * sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E, + and SH2E & SH4 merge to SH4, not SH2E. + +2003-02-21 Ian Wienand <ianw@gelato.unsw.edu.au> + + * ia64.h (SHT_IA_64_LOPSREG, SHT_IA_64_HIPSREG, + SHT_IA_64_PRIORITY_INIT): Define. + +2003-02-18 Alan Modra <amodra@bigpond.net.au> + + * ppc64.h (IS_PPC64_TLS_RELOC): Rename from IS_TLS_RELOC. + + * ppc.h: Replace DTPMOD64, TPREL64, DTPREL64 with DTPMOD32 etc. + (IS_PPC_TLS_RELOC): Define. + +2003-02-10 Nick Clifton <nickc@redhat.com> + + * arm.h (EF_ARM_MAVERICK_FLOAT): Define. + +2003-02-05 Alan Modra <amodra@bigpond.net.au> + + * ppc.h: Add TLS relocs. Format. + * ppc64.h: Likewise. + +2003-01-27 Alexandre Oliva <aoliva@redhat.com> + + * mips.h (EF_MIPS_XGOT): Define. + +2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390.h: Add s390 TLS relocations. + +2003-01-23 Nick Clifton <nickc@redhat.com> + + * Add sh2e support: + + 2002-04-02 Alexandre Oliva <aoliva@redhat.com> + + * sh.h (EF_SH_MERGE_MACH): Handle SH2E. + + 2002-04-02 Elena Zannoni <ezannoni@redhat.com> + + * sh.h (EF_SH2E): New. + +2003-01-23 Alan Modra <amodra@bigpond.net.au> + + * sh.h: Split out various bits to bfd/elf32-sh64.h. + +2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390.h: Rename R_390_GOTOFF to R_390_GOTOFF32. Add new gotoff, + gotplt and pltoff relocations. + +2003-01-17 Alan Modra <amodra@bigpond.net.au> + + * common.h: Formatting, typo fixes. + (DT_ENCODING): Correct value. + +2003-01-17 Fabio Alemagna <falemagn@aros.org> + + * common.h (ELFOSABI_AROS): Define. + (ELFOSABI_OPENVMS): Likewise. + (ELFOSABI_NSK): Likewise. + +2003-01-16 Alan Modra <amodra@bigpond.net.au> + + * ppc.h: Split out ppc64 definitions to.. + * pcc64.h: ..here. New file. + (R_PPC64_REL30): Rename from R_PPC64_ADDR30. + +2003-01-13 Dmitry Diky <diwil@mail.ru> + + * elf/common.h (EM_MSP430): Change e_machine value to officially + assigned. + +2003-01-02 Ben Elliston <bje@redhat.com> + + * common.h (EM_IQ2000): Define. + * iq2000.h: New file. + +2002-12-30 Chris Demetriou <cgd@broadcom.com> + + * mips.h (E_MIPS_ARCH_32R2): New define. + +2002-12-24 Dmitry Diky <diwil@mail.ru> + + * common.h: Define msp430 machine numbers. + * msp430.h: New file. Define msp430 relocs. + +2002-12-20 DJ Delorie <dj@redhat.com> + + * xstormy16.h: Add XSTORMY16_12. + +2002-12-16 Andrew MacLeod <amacleod@redhat.com> + + * xstormy16.h (START_RELOC_NUMBERS) Add relocation numbers + for R_XSTORMY16_LO16 and R_XSTORMY16_HI16. + +2002-12-10 James Cownie <jcownie@etnus.com> + + * dwarf2.h (DW_TAG_upc_shared_type, DW_TAG_upc_strict_type, + DW_TAG_upc_relaxed_type, DW_AT_upc_threads_scaled, DW_LANG_Upc): + Define. + +2002-12-01 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11.h (EF_M68HC12_MACH, EF_M68HCS12_MACH): Define. + (EF_M68HC11_MACH_MASK, EF_M68HC11_MACH): Define. + (EF_M68HC11_MERGE_MACH, EF_M68HC11_CAN_MERGE_MACH): Define. + +2002-11-30 Alan Modra <amodra@bigpond.net.au> + + * mmix.h: Replace boolean with bfd_boolean. + * sh.h: Likewise. + +2002-11-28 Alan Modra <amodra@bigpond.net.au> + + * internal.h (elf32_internal_ehdr, Elf32_Internal_Ehdr, + elf64_internal_ehdr, Elf64_Internal_Ehdr, elf32_internal_phdr, + Elf32_Internal_Phdr, elf64_internal_phdr, Elf64_Internal_Phdr, + elf32_internal_shdr, Elf32_Internal_Shdr, elf64_internal_shdr, + Elf64_Internal_Shdr, elf32_internal_sym, elf64_internal_sym, + Elf32_Internal_Sym, Elf64_Internal_Sym, Elf32_Internal_Note, + elf32_internal_note, elf32_internal_rel, Elf32_Internal_Rel, + elf64_internal_rel, Elf64_Internal_Rel, elf32_internal_rela, + elf64_internal_rela, Elf32_Internal_Rela, Elf64_Internal_Rela, + elf32_internal_dyn, elf64_internal_dyn, Elf32_Internal_Dyn, + Elf64_Internal_Dyn, elf32_internal_verdef, elf64_internal_verdef, + elf32_internal_verdaux, elf64_internal_verdaux, elf32_internal_verneed, + elf64_internal_verneed, elf32_internal_vernaux, elf64_internal_vernaux, + elf32_internal_versym, elf64_internal_versym, Elf32_Internal_Verdef, + Elf64_Internal_Verdef, Elf32_Internal_Verdaux, Elf64_Internal_Verdaux, + Elf32_Internal_Verneed, Elf64_Internal_Verneed, Elf32_Internal_Vernaux, + Elf64_Internal_Vernaux, Elf32_Internal_Versym, Elf64_Internal_Versym, + Elf32_Internal_Syminfo, Elf64_Internal_Syminfo): Delete. + (Elf_Internal_Rel): Delete. + +2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * sh.h: Add SH TLS relocs. + +2002-09-30 Gavin Romig-Koch <gavin@redhat.com> + Ken Raeburn <raeburn@cygnus.com> + Aldy Hernandez <aldyh@redhat.com> + Eric Christopher <echristo@redhat.com> + Richard Sandiford <rsandifo@redhat.com> + + * mips.h (E_MIPS_MACH_4120, E_MIPS_MACH_5400, E_MIPS_MACH_5500): New. + +2002-09-12 Roland McGrath <roland@redhat.com> + + * dwarf2.h: Updates from GCC version of thie file: + (enum dwarf_location_atom): DW_OP_calli -> DW_OP_call_ref. + Add DW_OP_GNU_push_tls_address. + (DW_OP_lo_user): Change to 0xe0. + +2002-08-28 Catherine Moore <clm@redhat.com> + + * elf/v850.h (R_V850_LONGCALL, R_V850_ALIGN, + R_V850_LONGJUMP): New relocations. + +2002-08-15 Alan Modra <amodra@bigpond.net.au> + + * i370.h: Define relocs using reloc-macros.h. + +2002-08-13 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11.h (E_M68HC12_BANKS, E_M68HC11_I32, E_M68HC11_F64, + EF_M68HC11_ABI): Define for ABI specification. + (STO_M68HC12_FAR, STO_M68HC12_INTERRUPT): Symbol flags for + linker and debugger. + (R_M68HC11_24, R_M68HC11_LO16, R_M68HC11_PAGE): New relocs. + (R_M68HC11_RL_JUMP, R_M68HC11_RL_GROUP): New reloc for linker + relaxation. + +2002-07-15 Denis Chertykov <denisc@overta.ru> + Frank Ch. Eigler <fche@redhat.com> + Ben Elliston <bje@redhat.com> + Alan Lehotsky <alehotsky@cygnus.com> + John Healy <jhealy@redhat.com> + Graham Stott <grahams@redhat.com> + Jeff Johnston <jjohnstn@redhat.com> + + * common.h (EM_IP2K): New macro. + (EM_IP2K_OLD): New macro. + * ip2k.h: New file. + +2002-07-01 Matt Thomas <matt@3am-software.com> + + * vax.h: Rename EF_* to EF_VAX_*. + +2002-06-18 Dave Brolley <brolley@redhat.com> + + From Catherine Moore, Michael Meissner, Dave Brolley: + * common.h (EM_CYGNUS_FRV): New macro. + * frv.h: New file. + +2002-06-06 Lars Brinkhoff <lars@nocrew.org> + + * common.h: Change registry@sco.com to registry@caldera.com. + (EM_PDP10, EM_PDP11): Define. + +2002-06-04 Jason Thorpe <thorpej@wasabisystems.com> + + * sh.h (_bfd_sh64_crange_qsort_cmpb, _bfd_sh64_crange_qsort_cmpl) + (_bfd_sh64_crange_bsearch_cmpb, _bfd_sh64_crange_bsearch_cmpl): New + prototypes. + +2002-06-01 Richard Henderson <rth@redhat.com> + + * alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF, + LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New. + +2002-05-30 Richard Henderson <rth@redhat.com> + + * alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64, + R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI, + R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64, + R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New. + +2002-05-29 Matt Thomas <matt@3am-software.com> + + * vax.h: New file + +2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> + + * common.h (EM_DLX): Define. + * dlx.h: New file. + +2002-05-08 Jason Thorpe <thorpej@wasabisystems.com> + + * common.h (NT_GNU_ABI_TAG): Define. + (GNU_ABI_TAG_LINUX): Define. + (GNU_ABI_TAG_HURD): Define. + (GNU_ABI_TAG_SOLARIS): Define. + (NT_NETBSD_IDENT): Define. + (NT_FREEBSD_ABI_TAG): Define. + +2002-04-24 Elena Zannoni <ezannoni@redhat.com> + + * dwarf2.h: Add DW_AT_GNU_vector. + +2002-02-13 Matt Fredette <fredette@netbsd.org> + + * m68k.h (EF_M68000): Define. + +2002-02-12 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (DT_PPC64_OPD, DT_PPC64_OPDSZ): Define. + +2002-02-09 Richard Henderson <rth@redhat.com> + + * alpha.h (R_ALPHA_BRSGP): New. + +2002-02-08 Alexandre Oliva <aoliva@redhat.com> + + Contribute sh64-elf. + 2002-01-23 Alexandre Oliva <aoliva@redhat.com> + * sh.h (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16, + R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16, + R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16, + R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16, + R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16, + R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16, + R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16, + R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, + R_SH_GOTPLT10BY8, R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, + R_SH_RELATIVE64): New relocs. + (R_SH_FIRST_INVALID_RELOC_4): Adjust. + 2001-05-16 Alexandre Oliva <aoliva@redhat.com> + * sh.h: Renumbered and renamed some SH5 relocations to match + official numbers and names; moved unmaching ones to the range + 0xf2-0xff. + 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com> + * sh.h (sh64_get_contents_type): Declare. + (sh64_address_is_shmedia): Likewise. + 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com> + * sh.h (sh64_elf_crange): New type. + (struct sh64_section_data): New. + (sh64_elf_section_data): New macro. + (EF_SH5): Rename back from EF_SH64. + 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com> + * sh.h (SHF_SH5_ISA32_MIXED, SHT_SH5_CR_SORTED, + SH64_CRANGES_SECTION_NAME, SH64_CRANGE_SIZE, + SH64_CRANGE_CR_ADDR_OFFSET, SH64_CRANGE_CR_SIZE_OFFSET, + SH64_CRANGE_CR_TYPE_OFFSET): New macros. + 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com> + * sh.h (EF_SH64): Don't define EF_SH64_ABI64. + 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com> + * sh.h (EF_SH64_32BIT_ABI, EF_SH64_64BIT_ABI): Delete. + (EF_SH64_ABI64): New. + 2000-11-23 Hans-Peter Nilsson <hpn@cygnus.com> + * sh.h (EF_SH64): Rename from EF_SH5. + (EF_SH64_32BIT_ABI): New. + (EF_SH64_64BIT_ABI): New. + (R_SH_PT_16, R_SH_SHMEDIA_CODE + R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2, + R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16, + R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16, + R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL, + R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL): New + relocs. + 2000-09-01 Ben Elliston <bje@redhat.com> + * sh.h (EF_SH5): Define. + +2002-02-01 Hans-Peter Nilsson <hp@bitrange.com> + + * mmix.h: Tweak comments. + (MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME): New. + [BFD_ARCH_SIZE] (_bfd_mmix_prepare_linker_allocated_gregs, + _bfd_mmix_finalize_linker_allocated_gregs, + _bfd_mmix_check_all_relocs): Provide prototypes. + +2002-01-31 Ivan Guzvinec <ivang@opencores.org> + + * or32.h: New file. + * common.h: Add support for or32 targets. + +2002-01-28 Jason Merrill <jason@redhat.com> + + * dwarf2.h: Sync with gcc version. + +2002-01-16 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (DT_PPC64_GLINK): Define. + +2002-01-15 Richard Earnshaw <rearnsha@arm.com> + + * arm.h (F_VFP_FLOAT, EF_ARM_VFP_FLOAT): Define. + +2002-01-09 Jason Thorpe <thorpej@wasabisystems.com> + + * common.h: Update copyright years. + (NT_NETBSDCORE_PROCINFO): Define. + (NT_NETBSDCORE_FIRSTMACH): Define. + +2002-01-06 Steve Ellcey <sje@cup.hp.com> + + * ia64.h (ELF_STRING_ia64_unwind_hdr): New Macro for HP-UX. + (SHT_IA_64_HP_OPT_ANOT): Ditto + (PT_IA_64_HP_OPT_ANOT): Ditto + (PT_IA_64_HP_HSL_ANOT): Ditto + (PT_IA_64_HP_STACK): Ditto + (SHN_IA_64_ANSI_COMMON): Ditto + +2001-12-17 Alan Modra <amodra@bigpond.net.au> + + * external.h (Elf_External_Sym_Shndx): Declare. + * internal.h (struct elf_internal_sym <st_shndx>): Make it an + unsigned int. + * common.h (SHN_BAD): Define. + +2001-12-13 Jakub Jelinek <jakub@redhat.com> + + * elf/common.h (PT_GNU_EH_FRAME): Define. + +2001-12-11 Alan Modra <amodra@bigpond.net.au> + + * common.h (SHN_XINDEX): Comment typo fix. + * internal.h (Elf_Internal_Ehdr): Change existing "unsigned short" + size, count and index fields to "unsigned int". + +2001-12-07 Geoffrey Keating <geoffk@redhat.com> + Richard Henderson <rth@redhat.com> + + * common.h (EM_XSTORMY16): Define. + * xstormy16.h: New file. + +2001-11-15 Alan Modra <amodra@bigpond.net.au> + + * common.h (NT_ARCH): Define. Remove incorrect comment. + +2001-11-11 Geoffrey Keating <geoffk@redhat.com> + + * dwarf2.h (dwarf_line_number_ops): Add DWARF 3 opcodes. + +2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> + + * mmix.h: New file. + +2001-10-23 Alan Modra <amodra@bigpond.net.au> + + * internal.h: White space changes to keep lines under 80 chars. + +2001-10-16 Jeff Holcomb <jeffh@redhat.com> + + * internal.h (elf_internal_shdr): Make contents a unsigned char *. + +2001-09-18 Alan Modra <amodra@bigpond.net.au> + + * internal.h (elf_internal_rela): Make r_addend a bfd_vma. + +2001-09-13 Alexandre Oliva <aoliva@redhat.com> + + * common.h (EM_OPENRISC_OLD): Renamed the old EM_OPENRISC entry. + +2001-09-12 Alexandre Oliva <aoliva@redhat.com> + + * common.h (EM_AVR_OLD): Renamed from... + (EM_AVR): this, redefined as in the current ELF standard. + (EM_PJ_OLD): Renamed from... + (EM_PJ): this, redefined as in the current ELF standard. + (EM_R30, EM_D10V, EM_D30V, EM_V850, EM_M32R, EM_MN10300, + EM_MN10200, EM_OPENRISC, EM_ARC_A5, EM_XTENSA): Defined as in + the current ELF standard. + (EM_CYGNUS_ARC): Removed, unused for a long time. + +2001-09-04 Richard Henderson <rth@redhat.com> + + * alpha.h (R_ALPHA_OP*, R_ALPHA_IMMED*, R_ALPHA_GPVALUE): Remove. + (R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16. + +2001-08-30 Eric Christopher <echristo@redhat.com> + + * mips.h: Remove E_MIPS_MACH_MIPS32_4K. + +2001-08-29 Jeff Law <law@redhat.com> + + * h8.h (EF_H8_MACH): New mask for encoded machine type. + (E_H8_MACH_H8300, E_H8_MACH_H8300H, E_H8_MACH_H8300S): New + machine types. + +2001-08-26 J"orn Rennecke <amylaar@redhat.com> + + * h8.h: New file. + +2001-08-27 Staffan Ulfberg <staffanu@swox.se> + + * ppc.h: Add relocs from the 64-bit PowerPC ELF ABI revision 1.2. + +2001-06-30 Daniel Berlin <dan@cgsoftware.com> + + * dwarf2.h: Remerge with gcc version, + including all new DWARF 2.1 extensions. + +2001-06-29 James Cownie <jcownie@etnus.com> + + * dwarf2.h: Add DWARF 2.1 attribues. + +2001-06-15 Per Bothner <per@bothner.com> + + * dwarf2.h: Partial merge with gcc version. + (enum dwarf_descrim_list): Fix typo -> dwarf_discrim_list. + (DW_LANG_Java): Use value from dwarf 2.1 draft (also used in gcc). + +2001-05-15 Ralf Baechle <ralf@gnu.org> + + * 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-11 Jakub Jelinek <jakub@redhat.com> + + * ia64.h (ELF_STRING_ia64_unwind_once): Define. + (ELF_STRING_ia64_unwind_info_once): Define. + +2001-05-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * external.h: Fix typo. + * mips.h: Add/Extend many comments with reference to the MIPS ELF64 + spec v. 2.4, available at e.g. + ftp://oss.sgi.com/pub/linux/mips/doc/ABI/ELF64.ps. + (EF_MIPS_UCODE): Define. + (EF_MIPS_OPTIONS_FIRST): Define. + (EF_MIPS_ARCH_ASE): Define. + (EF_MIPS_ARCH_ASE_MDMX): Define. + (EF_MIPS_ARCH_ASE_M16): Define. + (SHF_MIPS_ADDR): Renamed SHF_MIPS_ADDR32. + (SHF_MIPS_STRING): Renamed SHF_MIPS_ADDR64. + (SHF_MIPS_NODUPES): Define. + (ELF64_MIPS_R_SSYM): New MIPS ELF 64 relocation info access macro. + (ELF64_MIPS_R_TYPE3): Likewise. + (ELF64_MIPS_R_TYPE2): Likewise. + (ELF64_MIPS_R_TYPE): Likewise. + (OHW_R10KLDL): Define. + +2001-04-24 Todd Fries <todd@fries.net> + + * sparc.h: Fix typo. + +2001-04-20 Johan Rydberg <jrydberg@opencores.org> + + * openrisc.h: New file. + * common.h (EM_OPENRISC): New constant. + +2001-04-23 Bo Thorsen <bo@suse.de> + + * x86-64.h: Add vtable support. + +2001-03-23 Nick Clifton <nickc@redhat.com> + + * mips.h: Remove extraneous whitespace. + +2001-03-22 Hans-Peter Nilsson <hp@axis.com> + + * cris.h: Add leading comment about PC-relative location. + (R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE, + R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT, + R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL): + New relocs. + +2001-02-27 Philip Blundell <pb@futuretv.com> + + * arm.h: Add new definitions from ARM document SWS ESPC 0003 B-01. + (EF_PIC, et al.): Rename to EF_ARM_xx. + +2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * common.h: Add linux target for S/390. + * s390.h: New file. + +2001-01-11 Peter Targett <peter.targett@arccores.com> + + * arc.h (E_ARC_MACH_ARC5, E_ARC_MACH_ARC6, E_ARC_MACH_ARC7, + E_ARC_MACH_ARC8): New definitions for cpu types. + + * common.h (EM_ARC): Change comment. + +2000-12-12 Nick Clifton <nickc@redhat.com> + + * mips.h: Fix formatting. + +2000-12-11 Jeffrey A Law (law@cygnus.com) + + * hppa.h (DT_HP_*): Define relative to OLD_DT_LOOS for hpux + compatibility. + +2000-10-16 Chris Demetriou <cgd@sibyte.com> + + * mips.h (E_MIPS_ARCH_32): New constant. + (E_MIPS_MACH_MIPS32, E_MIPS_MACH_MIPS32_4K): Replace the + former with the latter. + + * mips.h (E_MIPS_ARCH_5, E_MIPS_ARCH_64): New definitions. + + * mips.h (E_MIPS_MACH_SB1): New constant. + +2000-11-30 Jan Hubicka <jh@suse.cz> + + * common.h (EM_X86_64): New macro. + * x86-64.h: New file. + +2000-11-27 Hans-Peter Nilsson <hp@axis.com> + + * common.h (e_machine numbers): Clarify comments to describe how + EM_* constants are assigned. Move EM_PJ from official section to + ad-hoc section. + (EM_CRIS): Correct comment to match official description. + (EM_MMIX): Ditto. + +2000-11-22 Nick Clifton <nickc@redhat.com> + + * common.h (EM_JAVELIN): New machine number. + (EM_FIREPATH): New machine number. + (EM_ZSP): New machine number. + (EM_MMIX): New machine number. + (EM_HUANY): New machine number. + (EM_PRISM): New machine number. + (SHT_GROUP): New section type. + (SHT_SYMTAB_SHNDX): New section type. + (SHF_GROUP): New section flag. + (SHN_XINDEX): New section index. + (GRP_COMDAT): New section group flag. + +2000-11-20 H.J. Lu <hjl@gnu.org> + + * common.h (ELFOSABI_MONTEREY): Renamed to ... + (ELFOSABI_AIX): This. + +2000-11-16 Richard Henderson <rth@redhat.com> + + Update relocations per August psABI docs. + * ia64.h (R_IA64_SEGBASE): Remove. + (R_IA64_LTV*): Renumber to 0x74 to 0x77. + (R_IA64_EPLTMSB, R_IA64_EPLTLSB): Remove. + (R_IA64_TPREL14, R_IA64_TPREL64I): New. + (R_IA64_DTPMOD*): New. + (R_IA64_DTPREL*): New. + +2000-09-29 Hans-Peter Nilsson <hp@axis.com> + + * cris.h (EF_CRIS_UNDERSCORE): New. + +2000-09-27 Alan Modra <alan@linuxcare.com.au> + + * hppa.h (R_PARISC_DIR14F): Add. + +2000-09-14 Alexandre Oliva <aoliva@redhat.com> + + * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT, + R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Change + numbers to the range from 160 to 167. + (R_SH_FIRST_INVALID_RELOC): Adjust. + (R_SH_FIRST_INVALID_RELOC_2, R_SH_LAST_INVALID_RELOC_2): + New relocs to fill in the gap. + +2000-09-13 Anders Norlander <anorland@acc.umu.se> + + * mips.h (E_MIPS_MACH_4K): New define. + +2000-09-05 Alan Modra <alan@linuxcare.com.au> + + * hppa.h: Fix a comment. + (R_PARISC_PCREL12F): Define. + (R_PARISC_GNU_VTENTRY): Define. + (R_PARISC_GNU_VTINHERIT): Define. + +2000-09-01 Alexandre Oliva <aoliva@redhat.com> + + * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT, + R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New relocs. + (R_SH_FIRST_INVALID_RELOC): Adjust. + +2000-08-14 Jim Wilson <wilson@cygnus.com> + + * 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 <nickc@cygnus.com> + + * ppc.h: Remove spurious CYGNUS LOCAL comments. + * v850.h: Likewise. + +2000-07-22 Jason Eckhardt <jle@cygnus.com> + + * i860.h: New file. + (elf_i860_reloc_type): Defined ELF32 i860 relocations. + +2000-07-20 Hans-Peter Nilsson <hp@axis.com> + + common.h (EM_CRIS): New machine number. + cris.h: New file. + +2000-07-19 H.J. Lu <hjl@gnu.org> + + * common.h (DF_1_NODEFLIB): Renamed from DF_1_NODEPLIB. + +2000-07-19 H.J. Lu <hjl@gnu.org> + + * common.h (DT_CHECKSUM): Set to 0x6ffffdf8. + (DTF_1_CONFEXP): It is 0x00000002 as suspected. + +2000-07-19 H.J. Lu <hjl@gnu.org> + + * common.h (DT_FEATURE): Renamed from DT_FEATURE_1. + (DT_CONFIG): New. From Solaris 8. + (DT_DEPAUDIT): Likewise. + (DT_AUDIT): Likewise. + (DT_PLTPAD): Likewise. + (DT_MOVETAB): Likewise. + (DF_1_NODEPLIB): Likewise. + (DF_1_NODUMP): Likewise. + (DF_1_CONLFAT): Likewise. + (DT_CHECKSUM): Likewise. FIXME. Check the value on Solaris 8. + (DTF_1_CONFEXP): Likewise. + +2000-07-18 H.J. Lu <hjl@gnu.org> + + * common.h (DT_FLAGS_1): Renamed from DT_1_FLAGS. + +2000-07-12 Alan Modra <alan@linuxcare.com.au> + + * internal.h (struct elf_internal_sym): Update comment for st_other. + +2000-07-10 Alan Modra <alan@linuxcare.com.au> + + * hppa.h: Add comments to all the relocs. + +2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl> + + * avr.h (E_AVR_MACH_AVR5): Define. + +2000-06-18 Stephane Carrez <stcarrez@worldnet.fr> + + * m68hc11.h: New file, definitions for the Motorola 68hc11. + +2000-06-06 Alan Modra <alan@linuxcare.com.au> + + * reloc-macros.h (START_RELOC_NUMBERS): Don't define initial dummy + -1 valued enum. + (RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC): Append rather than + prepend comma. + (END_RELOC_NUMBERS): Give macro an arg to define as last enum. + + * alpha.h (R_ALPHA_max): Define via END_RELOC_NUMBERS rather than + with EMPTY_RELOC. + * arc.h (R_ARC_max): Likewise. + * avr.h (R_AVR_max): Likewise. + * fr30.h (R_FR30_max): Likewise. + * hppa.h (R_PARISC_UNIMPLEMENTED): Likewise. + * i960.h (R_960_max): Likewise. + * m32r.h (R_M32R_max): Likewise. + * m68k.h (R_68K_max): Likewise. + * mcore.h (R_MCORE_max): Likewise. + * mn10300.h (R_MN10300_MAX): Likewise. + * pj.h (R_PJ_max): Likewise. + * ppc.h (R_PPC_max): Likewise. + * sh.h (R_SH_max): Likewise. + * sparc.h (R_SPARC_max): Likewise. + * v850.h (R_V850_max): Likewise. + + * arm.h (R_ARM_max): Define via END_RELOC_NUMBERS. + * d10v.h (R_D10V_max): Likewise. + * d30v.h (R_D30V_max): Likewise. + * ia64.h (R_IA64_max): Likewise. + * mips.h (R_MIPS_maxext): Likewise. + * mn10200.h (R_MN10200_max): Likewise. + + * i386.h (R_386_max): Remove old RELOC_NUMBER definition, and + define via END_RELOC_NUMBERS. + +2000-06-03 Alan Modra <alan@linuxcare.com.au> + + * reloc-macros.h (START_RELOC_NUMBERS): Fix name clash for + !__STDC__ case. + (RELOC_NUMBER): Use ansi stringify if ALMOST_STDC defined. + +2000-05-22 Richard Henderson <rth@cygnus.com> + + * ia64.h (R_IA64_PCREL60B, R_IA64_PCREL21BI): New. + (R_IA64_PCREL22, R_IA64_PCREL64I): New. + +2000-05-02 H.J. Lu <hjl@gnu.org> + + * common.h (ELFOSABI_NONE): Renamed from ELFOSABI_SYSV. + (ELFOSABI_MODESTO): Defined. + (ELFOSABI_OPENBSD): Likewise. + +2000-04-21 Richard Henderson <rth@cygnus.com> + David Mosberger <davidm@hpl.hp.com> + + * ia64.h: New file. + +2000-04-14 H.J. Lu <hjl@gnu.org> + + * common.h (ELFOSABI_TRUE64): Renamed to ELFOSABI_TRU64. + +2000-04-14 H.J. Lu <hjl@gnu.org> + + * common.h (ELFOSABI_NETBSD): Defined. + (ELFOSABI_HURD): Likewise. + (ELFOSABI_SOLARIS): Likewise. + (ELFOSABI_MONTEREY): Likewise. + (ELFOSABI_IRIX): Likewise. + (ELFOSABI_FREEBSD): Likewise. + (ELFOSABI_TRUE64): Likewise. + +2000-04-07 Nick Clifton <nickc@cygnus.com> + + * arm-oabi.h: Delete. + * arm.h: Merge in definitions of old reloc numbers from + arm-oabi.h. + +2000-04-06 Nick Clifton <nickc@cygnus.com> + + * arm.h (EF_ARM_SYMSARESORTED): Define. + (EF_ARM_EABIMASK): Define. + (EF_ARM_EABI_VERSION): Define. + (EF_ARM_EABI_UNKNOWN): Define. + (EF_ARM_EABI_VER1): Define. + (PF_ARM_PI): Define. + (PF_ARM_ABS): Define. + +2000-04-05 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs. + +2000-03-27 Denis Chertykov <denisc@overta.ru> + + * avr.h: New file. AVR ELF support for BFD. + * common.h: Add AVR magic number. + +2000-03-10 Geoffrey Keating <geoffk@cygnus.com> + + * mips.h: Add R_MIPS_GNU_REL_HI16, R_MIPS_GNU_REL_LO16, + R_MIPS_GNU_REL16_S2, R_MIPS_PC64 and R_MIPS_PC32 relocation + numbers. + +2000-02-23 Linas Vepstas <linas@linas.org> + + * i370.h: New file. + +2000-02-22 Nick Clifton <nickc@cygnus.com> + + * common.h (ELF_ST_OTHER): Remove definition. + (ELF32_ST_OTHER): Remove definition. + (ELF64_ST_OTHER): Remove definition. + +2000-02-22 H.J. Lu <hjl@gnu.org> + + * common.h (ELFOSABI_LINUX): Define. + +2000-02-17 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros. + (EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise. + (EF_SH_HAS_FP, EF_SH3E, EF_SH4, EF_SH_MERGE_MACH): Likewise. + +2000-02-03 H.J. Lu <hjl@gnu.org> + + * arm-oabi.h: Duplicate changes made to arm.h on Jan. 27, + 2000 by Thomas de Lellis <tdel@windriver.com>. + +2000-01-27 Thomas de Lellis <tdel@windriver.com> + + * arm.h (STT_ARM_TFUNC): Define in terms of STT_LOPROC. + (STT_ARM_16BIT): New flag. Denotes a label that was defined in + Thumb block but was does not identify a function. + +2000-01-20 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_MCORE): Fix spelling of Motorola. + * mcore.h (EM_MCORE): Fix spelling of Motorola. + +2000-01-13 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_S370): Change comment - this is now the IBM + System/370. + (EM_IA_64): Change comment - this is now the IA-64. + +2000-01-11 Nick Clifton <nickc@cygnus.com> + + * common.h (DT_ENCODING): Fix definition of this value. + (DT_LOOS): Fix definition of this value. + (DT_HIOS): Fix definition of this value. + (OLD_DT_LOOS): Value of DT_LOOS before Oct 4, 1999 draft + of ELF spec changed it. + (OLD_DT_HIOS): Value of DT_HIOS before Oct 4, 1999 draft + of ELF spec changed it. + +2000-01-10 Egor Duda <deo@logos-m.ru> + + * common.h (NT_WIN32PSTATUS): Define. (cygwin elf core dumps). + +1999-12-28 Nick Clifton <nickc@cygnus.com> + + * mips.h (STO_*): Redefine in terms of STV_* values now in + common.h. + +1999-12-27 Nick Clifton <nickc@cygnus.com> + + * common.h: Upgrade to match Oct4, 1999 Draft ELF ABI Spec. + (EM_MIPS_RS3_LE): New machine number. + (EM_RCE): New machine number. + (EM_MMA): New machine number. + (EM_PCP): New machine number. + (EM_NCPU): New machine number. + (EM_NDR1): New machine number. + (EM_STARCORE): New machine number. + (EM_ME16): New machine number. + (EM_ST100): New machine number. + (EM_TINYJ): New machine number. + (EM_FX66): New machine number. + (EM_ST9PLUS): New machine number. + (EM_ST7): New machine number. + (EM_68HC16): New machine number. + (EM_68HC11): New machine number. + (EM_68HC08): New machine number. + (EM_68HC05): New machine number. + (EM_SVX): New machine number. + (EM_VAX): New machine number. + (PF_MASKOS): Change value. + (SHT_INIT_ARRAY): New value for sh_type field. + (SHT_FINI_ARRAY): New value for sh_type field. + (SHT_PREINIT_ARRAY): New value for sh_type field. + (SHT_HIUSER): Change value. + (SHF_MERGE): New valye for sh_flags field. + (SHF_STRINGS): New valye for sh_flags field. + (SHF_INFO_LINK): New valye for sh_flags field. + (SHF_OS_NONCONFORMING): New valye for sh_flags field. + (SHF_MASKOS): Change value. + (ELF_ST_VISIBILITY): New macro. + (ELF_ST_OTHER): New macro. + (STT_COMMON): New symbol type. + (STV_DEFAULT): Value for symbol visibility. + (STV_INTERNAL): Value for symbol visibility. + (STV_HIDDEN): Value for symbol visibility. + (STV_PROTECTED): Value for symbol visibility. + (DT_RUNPATH): New dynamic section tag. + (DT_FLAGS): New dynamic section tag. + (DT_ENCODING): New dynamic section tag. + (DT_PREINIT_ARRAY): New dynamic section tag. + (DT_PREINIT_ARRAYSZ): New dynamic section tag. + (DT_LOPROC): New dynamic section tag index. + (DT_HIPROC): New dynamic section tag index. + (DF_ORIGIN): Value for dynamic section flag. + (DF_SYMBOLIC): Value for dynamic section flag. + (DF_TEXTREL): Value for dynamic section flag. + (DF_BIND_NOW): Value for dynamic section flag. + +1999-12-09 Fred Fish <fnf@cygnus.com> + + * i960.h (reloc-macros.h): Include using relative dir elf/. + * i386.h (reloc-macros.h): Include using relative dir elf/. + * hppa.h (reloc-macros.h): Include using relative dir elf/. + +1999-12-07 Jim Blandy <jimb@cygnus.com> + + * common.h (NT_PRXFPREG): New definition. + +Wed Dec 1 03:02:15 1999 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (E_MN10300_MACH_AM33): Define. + +Mon Oct 11 22:42:37 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (PF_HP_PAGE_SIZE): Define. + (PF_HP_FAR_SHARED, PF_HP_NEAR_SHARED, PF_HP_CODE): Likewise. + (PF_HP_MODIFY, PF_HP_LAZYSWAP, PF_HP_SBP): Likewise. + +Mon Oct 4 17:42:38 1999 Doug Evans <devans@canuck.cygnus.com> + + * m32r.h (E_M32RX_ARCH): Define. + +1999-09-15 Ulrich Drepper <drepper@cygnus.com> + + * hppa.h: Add DT_HP_GST_SIZE, DT_HP_GST_VERSION, and DT_HP_GST_HASHVAL. + +1999-09-04 Steve Chamberlain <sac@pobox.com> + + * pj.h: New file. + * common.h (EM_PJ): Define. + +1999-09-02 Ulrich Drepper <drepper@cygnus.com> + + * hppa.h: Add HPUX specific symbol type definitions. + + * hppa.h: Add HPUX specific dynamic and program header table + specific definitions. + +1999-08-31 Scott Bambrough <scottb@netwinder.org> + + * common.h (NT_TASKSTRUCT): Define. + +1999-07-16 Jakub Jelinek <jj@ultra.linux.cz> + + * sparc.h (EF_SPARC_SUN_US3): Define in Cheetah extensions + flag (as per SCD2.4.1). + +1999-07-16 Jakub Jelinek <jj@ultra.linux.cz> + + * sparc.h (ELF64_R_TYPE_DATA): Only use ELF64_R_TYPE bits, not + ELF64_R_SYM bits. + +1999-06-21 Philip Blundell <pb@nexus.co.uk> + + * arm.h (EF_SOFT_FLOAT, F_SOFT_FLOAT): Define. + +1999-07-13 Andreas Schwab <schwab@suse.de> + + * m68k.h (EF_CPU32): Move definition inside multiple inclusion + guard. + +1999-07-08 Richard Henderson <rth@cygnus.com> + + * sparc.h (ELF64_R_TYPE_DATA): Sign extend the value. + (ELF64_R_TYPE_INFO): Mask out all but low 24 bits of data. + (DT_SPARC_PLTFMT): Delete. + Based on a patch from Jakub Jelinek. + +Mon Jun 21 16:36:02 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type. + +1999-06-10 Jakub Jelinek <jj@ultra.linux.cz> + + * sparc.h (R_SPARC_max_std): Define. + +Wed Jun 9 15:16:34 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h: Update with various changes from newest PA ELF + specifications. + +1999-06-03 Ian Lance Taylor <ian@zembu.com> + + * common.h (EM_PPC64): Define. + +1999-06-02 Stu Grossman <grossman@babylon-5.cygnus.com> + + * dwarf.h: Add LANG_JAVA. + * dwarf2.h: Add DW_LANG_Java. + +1999-05-29 Nick Clifton <nickc@cygnus.com> + + * common.h (ELFOSABI_ARM): Define. + +1999-05-28 Nick Clifton <nickc@cygnus.com> + + * reloc-macros.h: Update comment. + +1999-05-28 Ian Lance Taylor <ian@zembu.com> + + * i960.h: New file. + +1999-05-16 Nick Clifton <nickc@cygnus.com> + + * mcore.h (R_MCORE_COPY): Define. + (R_MCORE_GLOB_DAT): Define. + (R_MCORE_JUMP_SLOT): Define. + +1999-05-15 Nick Clifton <nickc@cygnus.com> + + * mcore.h (R_MCORE_RELATIVE): Define. + +1999-05-05 Catherine Moore <clm@cygnus.com> + + * m68k.h (EF_CPU32): Define. + +1999-04-21 Nick Clifton <nickc@cygnus.com> + + * reloc-macros.h (START_RELOC_NUMBERS): Prepend an underscore to + fake reloc entry name (if possible), in order to avoid conflicts + with typedefs of the same name. + +1999-04-16 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (EF_MIPS_32BITMODE): New. + +1999-04-08 Nick Clifton <nickc@cygnus.com> + + * mcore.h: New header file. Defines for Motorola's MCore + processor. + +1999-04-08 Nick Clifton <nickc@cygnus.com> + + * common.h: Add new constants defined in: "System V Application + Binary Interface - DRAFT - April 29, 1998" found at the web site: + http://www.sco.com/developer/gabi/contents.html + + (EM_MMA): Removed. Replaced with EM_MCORE as Motorolla own this + value. + +1999-03-31 Nick Clifton <nickc@cygnus.com> + + * reloc-macros.h: Fixed to not generate an enum with a trailing + comma. + +1999-03-16 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (E_MIPS_MACH_5000): New. + +1999-03-10 Ulrich Drepper <drepper@cygnus.com> + + * common.h: Add definitions for a few more Solaris ELF extensions. + +Thu Feb 18 18:58:26 1999 Ian Lance Taylor <ian@cygnus.com> + + * external.h: Only use attribute if __GNUC__ is defined. + +1999-02-17 Nick Clifton <nickc@cygnus.com> + + Patch submitted by: Scott Bambrough <scottb@corelcomputer.com> + + * external.h: struct Elf_External_Versym must be packed on + ARM. Code uses sizeof(Elf_External_Versym) and assumes it is + equal to sizeof(char[2]). Reported by Jim Pick <jim@jimpick.com> + +1999-02-02 Nick Clifton <nickc@cygnus.com> + + * dwarf2.h (DWARF2_External_ARange): New structure. + (DWARF2_Internal_ARange): New structure. + +Mon Feb 1 11:33:56 1999 Catherine Moore <clm@cygnus.com> + + * arm.h: Renumber relocs to conform to standard. + (EF_NEW_ABI): Define. + (EF_OLD_ABI): Define. + * arm-oabi.h: New file. + +1999-01-28 Nick Clifton <nickc@cygnus.com> + + * fr30.h: Add R_FR30_GNU_VT{INHERIT,ENTRY} relocs. + +1999-01-27 Nick Clifton <nickc@cygnus.com> + + * dwarf2.h: Add typedefs for structures found in dwarf2 sections. + +1998-12-16 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (E_MIPS_MACH_4111): New. + +1998-12-15 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (EF_MIPS_ABI,E_MIPS_ABI_O32,E_MIPS_ABI_O64, + E_MIPS_ABI_EABI32,E_MIPS_ABI_EABI64): + +1998-12-03 Nick Clifton <nickc@cygnus.com> + + * fr30.h: Add R_FR30_48 reloc. + +1998-12-02 Ulrich Drepper <drepper@cygnus.com> + + * mips.h: Add external data type for conflict section. + + * mips.h: Add more LL_* options from Irix 6.5. + + * mips.h: Add R_MIPS_JALR and adjust R_MIPS_max appropriately. + +Mon Nov 30 15:25:58 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h (elf_sh_reloc_type): Add R_SH_FIRST_INVALID_RELOC, + R_SH_LAST_INVALID_RELOC, R_SH_SWITCH8 and R_SH_max. + +Tue Nov 10 15:12:28 1998 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_CYGNUS_FR30): Reduce to a 16 bit value. + +Tue Nov 10 15:17:28 1998 Catherine Moore <clm@cygnus.com> + + * d10v.h: Add vtable relocs. + +Wed Nov 4 15:56:50 1998 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_CYGNUS_FR30): New machine number. + + * fr30.h: New file: Definitions for the FR30. + +Fri Oct 30 11:54:15 1998 Catherine Moore <clm@cygnus.com> + + From Philip Blundell <pb@nexus.co.uk>: + * arm.h (R_ARM_COPY, et al.): New relocs, used by Linux for PIC. + (EF_ALIGN8): New flag. + +Tue Oct 20 11:19:50 1998 Ian Lance Taylor <ian@cygnus.com> + + * common.h (NT_LWPSTATUS): Close comment accidentally left open. + +Mon Oct 19 20:24:11 1998 Catherine Moore <clm@cygnus.com> + + * sh.h: Add vtable relocs. + +Mon Oct 19 01:44:42 1998 Felix Lee <flee@cygnus.com> + + * common.h (NT_PSTATUS, NT_FPREGS, NT_PSINFO, + NT_LWPSTATUS,NT_LWPSINFO): added. + * internal.h (Elf_Internal_Note): new structure members. + +Fri Oct 16 14:11:25 1998 Catherine Moore <clm@cygnus.com> + + * m32r.h: Add vtable relocs. + +Tue Oct 6 09:22:22 1998 Catherine Moore <clm@cygnus.com> + + * sparc.h: Add vtable relocs. + +Mon Oct 5 09:39:22 1998 Catherine Moore <clm@cygnus.com> + + * v850.h: Add vtable relocs. + +Sun Oct 4 21:17:51 1998 Ian Lance Taylor <ian@cygnus.com> + + * i386.h (R_386_max): Change from 252 to 24. + +Mon Sep 21 12:24:44 1998 Catherine Moore <clm@cygnus.com> + + * i386.h: Change vtable reloc numbers. + +Sun Sep 20 00:54:22 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * m68k.h: Add vtable relocs and R_68K_max. + +Tue Sep 15 09:56:49 CDT 1998 Catherine Moore <clm@cygnus.com> + + * arm.h: Add vtable relocs. + +Mon Aug 31 11:25:27 1998 Catherine Moore <clm@cygnus.com> + + * arm.h: Define STT_ARM_TFUNC. Remove ST_THUMB_xxxx + definitions. + +Sat Aug 29 22:25:51 1998 Richard Henderson <rth@cygnus.com> + + * i386.h: Add vtable relocs. + +1998-08-25 16:42 Ulrich Drepper <drepper@cygnus.com> + + * common.h: Add SYMINFO_* macros to access Elf*_Syminfo information. + + * external.h: Add Elf_External_Syminfo definition. + + * internal.h: Add Elf_Internal_Syminfo, Elf32_Internal_Syminfo, + and Elf64_Syminfo definitions. + +Sun Aug 9 20:26:49 CDT 1998 Catherine Moore <clm@cygnus.com> + + * arm.h: Add ST_THUMB definitions. + +Wed Aug 5 15:52:35 1998 Nick Clifton <nickc@cygnus.com> + + * arm.h: Add ELF header flags to specify compile time optins: + EF_INTERWORK: New flag. + EF_APCS_26: New flag. + EF_APCS_FLOAT: New flag. + EF_PIC: New flag. + +1998-07-31 21:28 Ulrich Drepper <drepper@cygnus.com> + + * mips.h: Add missing RHF_* constants. + +Fri Jul 31 10:01:40 1998 Catherine Moore <clm@cygnus.com> + + * arm.h: Add R_ARM_THM_PC9 relocation. + +1998-07-30 16:25 Ulrich Drepper <drepper@cygnus.com> + + * common.h: Add new DT_* entries and there flag macros from Solaris. + +Tue Jul 28 18:14:07 1998 Stan Cox <scox@equinox.cygnus.com> + + * sparc.h: (R_SPARC_REV32): Added for little endian data e.g. sparc 86x. + +Fri Jul 24 11:22:06 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300.h: Add R_MN10300_24 relocation. + +1998-07-24 Ulrich Drepper <drepper@cygnus.com> + + * mips.h: Add MIPS64 relocation names and values. + +Wed Jul 22 19:29:00 Catherine Moore <clm@cygnus.com> + + * arm.h: Rename relocations. + +1998-07-22 Ulrich Drepper <drepper@cygnus.com> + + * ppc.h: Define enum as elf_ppc_reloc_type. + +Wed Jul 22 16:22:11 1998 Nick Clifton <nickc@cygnus.com> + + * reloc-macros.h: New file. Provides relocation macros: + START_RELOC_NUMBERS, RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC and + END_RELOC_NUMBERS used by other elf header files. + + * alpha.h: Use reloc-macros.h. + * arc.h: Use reloc-macros.h. + * arm.h: Use reloc-macros.h. + * d10v.h: Use reloc-macros.h. + * d30v.h: Use reloc-macros.h. + * hppa.h: Use reloc-macros.h. + * i386.h: Use reloc-macros.h. + * m32r.h: Use reloc-macros.h. + * m68k.h: Use reloc-macros.h. + * mips.h: Use reloc-macros.h. + * mn10200.h: Use reloc-macros.h. + * mn10300.h: Use reloc-macros.h. + * ppc.h: Use reloc-macros.h. + * sh.h: Use reloc-macros.h. + * sparc.h: Use reloc-macros.h. + * v850.h: Use reloc-macros.h. + +1998-07-22 13:07 Ulrich Drepper <drepper@cygnus.com> + + * mn10300.h: Rewrite relocation definition using macros. + * mips.h: Likewise. + * ppc.h: Likewise. + * alpha.h: Likewise. + * arm.h: Likewise. + * d10v.h: Likewise. + * d30v.h: Likewise. + * m32r.h: Likewise. + * m68k.h: Likewise. + * mn10200.h: Likewise. + * sh.h: Likewise. + * sparc.h: Likewise. + +1998-07-21 13:07 Ulrich Drepper <drepper@cygnus.com> + + * arm.h: New file. + * d10v.h: New file. + * d30v.h: New file. + * i386.h: New file. + * m68k.h: New file. + * mn10200.h: New file. + * sh.h: New file. + + * mips.h: Add R_MIPS_* and SHT_MIPS_* entries. + + * mn10300.h: Add R_MN10300_* entries. + + * ppc.h: Add R_PPC_* entries. + +1998-07-20 07:11 Ulrich Drepper <drepper@cygnus.com> + + * mips.h: Add ODK_*, OEX_*, OPAD_*, OHW_*, and OGP_* constants. + Define Elf32_External_Lib. + +1998-07-19 15:24 Ulrich Drepper <drepper@cygnus.com> + + * mips.h (PT_MIPS_OPTIONS): New symbol. + Add lots of DT_MIPS_* symbols. + +Fri Jun 26 10:46:35 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300.h: New file. + +Thu Jun 18 19:27:56 1998 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_960, EM_V800, EM_FR20, EM_RH32, EM_MMA, + EM_OLD_ALPHA): Add these constants. + +Thu Jun 11 17:59:01 1998 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_486, EM_S370): Add these constants. + +Tue Jun 9 09:35:29 1998 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_ARM): Add this constant. + +Wed May 6 09:45:30 1998 Gavin Koch <gavin@cygnus.com> + + * mips.h (EF_MIPS_MACH,E_MIPS_MACH_*): Added. + +Sat Apr 25 18:35:06 1998 Richard Henderson <rth@cygnus.com> + + * alpha.h (STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD): New. + +Wed Apr 15 15:42:45 1998 Richard Henderson <rth@cygnus.com> + + * common.h (EM_SPARC64): Move and rename to EM_OLD_SPARCV9. + (EM_SPARCV9): New. This is the official ABI name and number. + +Sat Feb 28 17:04:41 1998 Richard Henderson <rth@cygnus.com> + + * alpha.h (EF_ALPHA_32BIT, EF_ALPHA_CANRELAX): New. + +Mon Dec 15 15:07:49 1997 Nick Clifton <nickc@cygnus.com> + + * m32r.h (EF_M32R_ARCH, E_M32R_ARCH): New flags to + specify machine architecture. + +Fri Dec 5 11:20:08 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h: New constants: SHN_V850_SCOMMON, SHN_V850_TCOMMON, + SHN_V850_ZCOMMON, SHT_V850_SCOMMON, SHT_V850_TCOMMON, + SHT_V850_ZCOMMON to handle v850 common sections. + enum reloc_type renamed to v850_reloc_type to avoid name + conflict. + +Thu Oct 23 13:55:24 1997 Richard Henderson <rth@cygnus.com> + + * sparc.h (enum elf_sparc_reloc_type): Add UA64 & UA16. + +Thu Oct 23 00:42:04 1997 Richard Henderson <rth@dot.cygnus.com> + + * sparc.h (DT_SPARC_REGISTER): New macro. + (DT_SPARC_PLTFMT): In support of old sparc64-linux .plts; will + go away soon. + +Tue Sep 30 13:26:58 1997 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (EF_SPARC_HAL_R1, EF_SPARC_EXT_MASK): New macros. + (EF_SPARCV9_{MM,TSO,PSO,RMO}): New macros. + (SHN_BEFORE,SHN_AFTER): New macros. + (SHF_EXCLUDE,SHF_ORDERED): New macros. + (STT_REGISTER): New macro. + (R_SPARC_GLOB_JMP): Deleted, but slot reserved. + (R_SPARC_{DISP64,PLT64,HIX22,LOX10}): New relocations. + (R_SPARC_{H44,M44,L44,REGISTER}): New relocations. + (ELF64_R_TYPE_{DATA,ID,INFO}): New macros. + +Wed Sep 17 16:41:42 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h: Add R_V850_CALLT_6_7_OFFSET and R_V850_CALLT_16_16_OFFSET. + +Tue Sep 16 14:16:17 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (reloc_type): Add R_V850_TDA_16_16_OFFSET. + +Wed Sep 3 15:11:14 1997 Richard Henderson <rth@cygnus.com> + + * mips.h: Correct typo in comment. + +Wed Sep 3 11:25:57 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (reloc_type): Remove R_V850_16_PCREL. + +Tue Sep 2 17:41:05 1997 Nick Clifton <nickc@cygnus.com> + + * common.h: Remove magic number for V850E. + * common.h: Remove magic number for V850EA. + * v850.h: Add new flags for e_flags field in elf header. + +Mon Aug 25 16:06:47 1997 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_CYGNUS_V850E): backend magic number for v850e. + * common.h (EM_CYGNUS_V850EA): backend magic number for v850ea. + +Mon Aug 18 11:05:23 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (reloc_type): Add 16 bit PC relative relocation. + +Fri Aug 15 05:10:09 1997 Doug Evans <dje@canuck.cygnus.com> + + * arc.h (enum reloc): Move here from elf32-arc.c. + +Fri Aug 8 17:05:29 1997 Doug Evans <dje@canuck.cygnus.com> + + * arc.h: New file. + * common.h (EM_CYGNUS_ARC): Define. + +Mon Jun 16 14:46:12 1997 Ian Lance Taylor <ian@cygnus.com> + + * internal.h (Elf_Internal_Ehdr): Change e_phoff and e_shoff from + bfd_signed_vma to bfd_size_type, as they are not signed. + +Wed Mar 5 15:35:26 1997 Doug Evans <dje@seba.cygnus.com> + + * m32r.h (SHF_M32R_CAN_RELAX): Define. + +Mon Feb 24 17:49:01 1997 Ian Lance Taylor <ian@cygnus.com> + + * external.h: Dump the 32/64 bit specific forms of the version + structures, and just define them as size independent. + + * common.h (VERSYM_HIDDEN, VERSYM_VERSION): Define. + +Fri Feb 21 13:00:34 1997 Doug Evans <dje@canuck.cygnus.com> + + * m32r.h (enum reloc_type): Add R_M32R_SDA16. + (SHN_M32R_SCOMMON): Define. + +Wed Feb 19 15:35:31 1997 Ian Lance Taylor <ian@cygnus.com> + + From Eric Youngdale <eric@andante.jic.com>: + * external.h, internal.h, common.h: Added new structures and + definitions for ELF versions. + +Tue Feb 18 17:40:36 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + + * common.h (EM_CYGNUS_D30V): Define. + +Mon Jan 27 11:54:44 1997 Doug Evans <dje@seba.cygnus.com> + + * m32r.h (enum reloc_type): Add R_M32R_HI16_[SU]LO,R_M32R_LO16. + +Fri Jan 3 11:32:51 1997 Michael Meissner <meissner@tiktok.cygnus.com> + + * v850.h (V850_OTHER_{TDA_BYTE,ERROR}): New bits for the st_other + field. + (SHN_V850_*): Remove v850 specific section indexes, which are not + needed. + (enum reloc_type): Move the v850 relocations here from + elf32-v850.c + +Thu Jan 2 19:30:23 1997 Michael Meissner <meissner@tiktok.cygnus.com> + + * v850.h: New file, provide V850 specific definitions. + +Tue Dec 31 14:44:32 1996 Ian Lance Taylor <ian@cygnus.com> + + * common.h (DT_AUXILIARY): Define. + (DT_FILTER): Define. + +Wed Dec 4 05:03:37 1996 Jason Merrill <jason@yorick.cygnus.com> + + * dwarf2.h: Update. + +Tue Nov 26 10:44:47 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (STO_MIPS16): Define. + +Tue Nov 12 15:45:42 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h: Remove empty file. + +Tue Oct 8 11:31:24 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (EF_MIPS_ABI2): Define. + +Thu Oct 3 10:01:40 1996 Jeffrey A Law (law@cygnus.com) + + * common.h: Break mn10x00 support into mn10200 and mn10300. + +Wed Oct 2 21:26:43 1996 Jeffrey A Law (law@cygnus.com) + + * common.h (EM_CYGNUS_MN10x00): Define. + +Mon Sep 23 09:18:04 1996 Doug Evans <dje@seba.cygnus.com> + + * m32r.h: New file. + +Fri Aug 30 17:06:21 1996 Ian Lance Taylor <ian@cygnus.com> + + * common.h (EM_SH): Define. + +Tue Aug 20 14:47:54 1996 J.T. Conklin <jtc@hippo.cygnus.com> + + * common.h (EM_CYGNUS_V850): Define. + +Mon Aug 19 10:59:10 1996 Doug Evans <dje@canuck.cygnus.com> + + * common.h (EM_CYGNUS_M32R): Define. + +Mon Jul 22 18:59:55 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (SHT_MIPS_IFACE, SHT_MIPS_CONTENT): Define. + (SHT_MIPS_SYMBOL_LIB): Define. + (SHF_MIPS_MERGE, SHF_MIPS_ADDR32, SHF_MIPS_ADDR64): Define. + (SHF_MIPS_NOSTRIP, SHF_MIPS_LOCAL, SHF_MIPS_NAMES): Define. + +Thu Jul 18 19:12:15 1996 Stan Shebs <shebs@andros.cygnus.com> + + * dwarf2.h: New file. + +Jul 18 13:20:39 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * common.h (EM_CYGNUS_D10V): Define. + * d10v.h: New file. + +Fri Jun 21 12:33:24 1996 Richard Henderson <rth@tamu.edu> + + * alpha.h: New file. + * common.h (EM_ALPHA): Define. + +Fri May 31 17:28:05 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (Elf_External_Options, Elf_Internal_Options): Define. + (bfd_mips_elf_swap_options_in): Declare. + (bfd_mips_elf_swap_options_out): Declare. + (ODK_*): Define. + (Elf64_External_RegInfo, Elf64_Internal_RegInfo): Define. + (bfd_mips_elf64_swap_reginfo_in): Declare. + (bfd_mips_elf64_swap_reginfo_out): Declare. + +Thu May 30 12:35:57 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (E_MIPS_ARCH_4): Define. + +Wed May 29 15:35:33 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (Elf64_Mips_External_Rel): Define. + (Elf64_Mips_Internal_Rel): Define. + (Elf64_Mips_External_Rela, Elf64_Mips_Internal_Rela): Define. + (RSS_*): Define. + +Mon Apr 22 18:26:30 1996 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (R_SPARC_[56]): Always define. + +Mon Feb 19 01:55:56 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (R_SPARC_{PLT32,HIPLT22,LOPLT10,PCPLT32,PCPLT22, + PCPLT10,5,6}): Don't define ifdef SPARC64_OLD_RELOCS. + +Tue Feb 6 11:33:58 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (enum sparc_elf_reloc_type): Define. + +Wed Jan 17 09:09:16 1996 Doug Evans <dje@canuck.cygnus.com> + + * common.h: Define EM_SPARC32PLUS. + * sparc.h: New file. + +Thu Jan 11 16:27:34 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * ppc.h (SHF_EXCLUDE, SHT_ORDERED): New fields from the abi. + +Thu Nov 30 16:47:18 1995 Ian Lance Taylor <ian@cygnus.com> + + * internal.h (struct elf_segment_map): Add includes_filehdr and + includes_phdrs fields. + +Tue Nov 28 16:58:10 1995 Ian Lance Taylor <ian@cygnus.com> + + * internal.h (struct elf_segment_map): Define. + +Tue Oct 31 15:19:36 1995 Fred Fish <fnf@cygnus.com> + + * common.h, dwarf.h, external.h, hppa.h, internal.h, + mips.h, ppc.h: Protect against multiple inclusions. + +Thu Sep 21 13:51:58 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * ppc.h (EF_PPC_RELOCATABLE_LIB): Add new flag bit. + +Fri Sep 1 15:32:17 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp> + + * mips.h: Add some definitions used on Irix 5. + +Tue Jun 20 10:18:28 1995 Jeff Law (law@snake.cs.utah.edu) + + * hppa.h (CPU_PA_RISC1_0): Protect from redefinitions. + (CPU_PA_RISC1_1): Likewise. + +Wed Mar 8 18:14:37 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * ppc.h: New file for PowerPC support. + +Tue Feb 14 13:59:13 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * common.h (EM_PPC): Use offical value of 20, not 17. + (EM_PPC_OLD): Define this to be the old value of EM_PPC. + +Tue Jan 24 09:40:59 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * common.h (EM_PPC): New macro, PowerPC machine id. + +Tue Jan 17 10:51:38 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * mips.h (SHT_MIPS_MSYM, SHT_MIPS_DWARF, SHT_MIPS_EVENTS): Define. + +Mon Oct 17 13:43:59 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * internal.h (Elf_Internal_Shdr): Remove rawdata and size fields. + Add bfd_section field. + +Tue May 24 16:11:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (Elf32_External_gptab): Define. + +Mon May 16 13:22:04 1994 Jeff Law (law@snake.cs.utah.edu) + + * common.h (EM_HPPA): Delete. + (EM_PARISC): Add. + * hppa.h: New file. + +Mon May 9 13:27:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * common.h (SHN_LORESERVE): Rename from SHN_LORESERV. + (ELF32_R_TYPE, ELF32_R_INFO): Don't rely on size of unsigned char. + (ELF64_R_TYPE): Don't rely on size of unsigned long. + +Mon Apr 25 15:53:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * internal.h (Elf_Internal_Shdr): Use PTR, not void *. + +Fri Mar 11 00:34:59 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mips.h (SHN_MIPS_TEXT, SHN_MIPS_DATA): Define. + +Sat Mar 5 14:08:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * internal.h: Remove Elf32_*, Elf64_* typedefs. These names + cause conflicts with system headers, e.g. link.h in gdb/solib.c. + Combine 32- and 64-bit versions of *_Internal_Dyn. + * common.h: Replace uses of Elf64_Word, Elf64_Xword typedefs + by their expansion. + * mips.h: Replace uses of Elf32_Word, Elf32_Sword, Elf32_Addr + typedefs by their expansion. Add DT_MIPS_RLD_MAP definition. + +Fri Feb 18 10:39:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * common.h (EM_CYGNUS_POWERPC): Define. This may be temporary, + depending upon how quickly I can find a real PowerPC ABI. + +Mon Feb 7 08:27:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * internal.h: Change HOST_64_BIT to BFD_HOST_64_BIT. + +Wed Feb 2 14:12:18 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * common.h: Add comments regarding value of EM_HPPA and how to + pick an unofficial value. + +Wed Nov 17 17:14:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (SHT_MIPS_OPTIONS): Define. + +Mon Nov 8 17:57:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h: Added some more MIPS ABI macro definitions. + +Wed Nov 3 22:07:17 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * common.h (EM_MIPS_RS4_BE): New macro. + +Tue Oct 12 07:28:18 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.h: New file. MIPS ABI specific information. + +Mon Jun 21 13:13:43 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * internal.h: Combined 32- and 64-bit versions of all structures + except *_Internal_Dyn. This will simply the assembler interface, + and some bfd code. + +Tue May 25 02:00:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * external.h, internal.h, common.h: Added 64-bit versions of some + structures and macros. Renamed old versions to put "32" in the + name. Some are unchanged. + +Thu Apr 29 12:12:20 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * common.h (EM_HPPA, NT_VERSION, STN_UNDEF, DT_*): New macros. + * external.h (Elf_External_Dyn): New type. + + * internal.h (Elf_Intenral_Shdr): New field `size'. + (Elf_Internal_Dyn): New type. + +Tue Apr 20 16:03:45 1993 Fred Fish (fnf@cygnus.com) + + * dwarf.h (LANG_CHILL): Change value to one randomly picked in + the user defined range, to reduce probability of collisions. + +Sun Nov 15 09:34:02 1992 Fred Fish (fnf@cygnus.com) + + * dwarf.h (AT_src_coords): Whitespace change only. + * dwarf.h (AT_body_begin, AT_body_end, LANG_MODULA2): + Add from latest gcc. + * dwarf.h (LANG_CHILL): Add as GNU extension. + +Sat Aug 1 13:46:53 1992 Fred Fish (fnf@cygnus.com) + + * dwarf.h: Replace with current version from gcc distribution. + +Fri Jun 19 19:05:09 1992 John Gilmore (gnu at cygnus.com) + + * internal.h: Add real struct tags to all the Type_Defs, so they + can be used in prototypes where the Type_Defs are not known. + +Fri Apr 3 20:58:58 1992 Mark Eichin (eichin at cygnus.com) + + * common.h: added ELF_R_{SYM,TYPE,INFO} for handling relocation + info + added EM_MIPS, and corrected value of EM_860 based on System V ABI + manual. + + * external.h: added Elf_External_{Rel,Rela}. + + * internal.h: added Elf_Internal_{Rel,Rela}. + added rawdata to Elf_Internal_Shdr. + +Sat Nov 30 20:43:59 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * common.h, dwarf.h, external.h, internal.h, ChangeLog; moved from + ../elf-<foo> + + +Local Variables: +version-control: never +End: diff --git a/include/opcode/ChangeLog-9103 b/include/opcode/ChangeLog-9103 new file mode 100644 index 0000000..0cdb1f3 --- /dev/null +++ b/include/opcode/ChangeLog-9103 @@ -0,0 +1,3102 @@ +2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com> + Bernardo Innocenti <bernie@develer.com> + + * m68k.h: Add MCFv4/MCF5528x support. + +2003-10-19 Hans-Peter Nilsson <hp@bitrange.com> + + * mmix.h (JMP_INSN_BYTE): Define. + +2003-09-30 Chris Demetriou <cgd@broadcom.com> + + * mips.h: Document +E, +F, +G, +H, and +I operand types. + Update documentation of I, +B and +C operand types. + (INSN_ISA64R2, ISA_MIPS64R2, CPU_MIPS64R2): New defines. + (M_DEXT, M_DINS): New enum values. + +2003-09-04 Nick Clifton <nickc@redhat.com> + + * v850.h (PROCESSOR_V850E1): Define. + +2003-08-19 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (PPC_OPCODE_440): Define. Formatting. Use hex for other + PPC_OPCODE_* defines. + +2003-08-16 Jason Eckhardt <jle@rice.edu> + + * i860.h (fmov.ds): Expand as famov.ds. + (fmov.sd): Expand as famov.sd. + (pfmov.ds): Expand as pfamov.ds. + +2003-08-07 Michael Meissner <gnu@the-meissners.org> + + * cgen.h: Remove PARAM macro usage in all prototypes. + (CGEN_EXTRACT_INFO): Use void * instead of PTR. + (cgen_print_fn): Ditto. + (CGEN_HW_ENTRY): Ditto. + (CGEN_MAYBE_MULTI_IFLD): Ditto. + (struct cgen_insn): Ditto. + (CGEN_CPU_TABLE): Ditto. + +2003-08-07 Alan Modra <amodra@bigpond.net.au> + + * alpha.h: Remove PARAMS macro. + * arc.h: Likewise. + * d10v.h: Likewise. + * d30v.h: Likewise. + * i370.h: Likewise. + * or32.h: Likewise. + * pj.h: Likewise. + * ppc.h: Likewise. + * sparc.h: Likewise. + * tic80.h: Likewise. + * v850.h: Likewise. + +2003-07-18 Michael Snyder <msnyder@redhat.com> + + * include/opcode/h8sx.h (DO_MOVA1, DO_MOVA2): Reformatting. + +2003-07-15 Richard Sandiford <rsandifo@redhat.com> + + * mips.h (CPU_RM7000): New macro. + (OPCODE_IS_MEMBER): Match CPU_RM7000 against 4650 insns. + +2003-07-09 Alexandre Oliva <aoliva@redhat.com> + + 2000-04-01 Alexandre Oliva <aoliva@cygnus.com> + * mn10300.h (AM33_2): Renamed from AM33. + 2000-03-31 Alexandre Oliva <aoliva@cygnus.com> + * mn10300.h (AM332, FMT_D3): Defined. + (MN10300_OPERAND_FSREG, MN10300_OPERAND_FDREG): Likewise. + (MN10300_OPERAND_FPCR): Likewise. + +2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390.h (s390_opcode_cpu_val): Add enum for cpu type z990. + +2003-06-25 Richard Sandiford <rsandifo@redhat.com> + + * h8300.h (IMM2_NS, IMM8_NS, IMM16_NS): Remove. + (IMM8U, IMM8U_NS): Define. + (h8_opcodes): Use IMM8U_NS for mov.[wl] #xx:8,@yy. + +2003-06-25 Richard Sandiford <rsandifo@redhat.com> + + * h8300.h (h8_opcodes): Fix the mov.l @(dd:32,ERs),ERd and + mov.l ERs,@(dd:32,ERd) entries. + +2003-06-23 H.J. Lu <hongjiu.lu@intel.com> + + * i386.h (i386_optab): Support Intel Precott New Instructions. + +2003-06-10 Gary Hade <garyhade@us.ibm.com> + + * ppc.h (PPC_OPERAND_DQ): Define. + +2003-06-10 Richard Sandiford <rsandifo@redhat.com> + + * h8300.h (IMM4_NS, IMM8_NS): New. + (h8_opcodes): Replace IMM4 with IMM4_NS in mov.b and mov.w entries. + Likewise IMM8 for mov.w and mov.l. Likewise IMM16U for mov.l. + +2003-06-03 Michael Snyder <msnyder@redhat.com> + + * h8300.h (enum h8_model): Add AV_H8S to distinguish from H8H. + (ldc): Split ccr ops from exr ops (which are only available + on H8S or H8SX). + (stc): Ditto. + (andc, orc, xorc): Ditto. + (ldmac, stmac, clrmac, mac): Change access to AV_H8S. + +2003-06-03 Michael Snyder <msnyder@redhat.com> + and Bernd Schmidt <bernds@redhat.com> + and Alexandre Oliva <aoliva@redhat.com> + * h8300.h: Add support for h8300sx instruction set. + +2003-05-23 Jason Eckhardt <jle@rice.edu> + + * i860.h (expand_type): Add XP_ONLY. + (scyc.b): New XP instruction. + (ldio.l): Likewise. + (ldio.s): Likewise. + (ldio.b): Likewise. + (ldint.l): Likewise. + (ldint.s): Likewise. + (ldint.b): Likewise. + (stio.l): Likewise. + (stio.s): Likewise. + (stio.b): Likewise. + (pfld.q): Likewise. + +2003-05-20 Jason Eckhardt <jle@rice.edu> + + * i860.h (flush): Set lower 3 bits properly and use 'L' + for the immediate operand type instead of 'i'. + +2003-05-20 Jason Eckhardt <jle@rice.edu> + + * i860.h (fzchks): Both S and R bits must be set. + (pfzchks): Likewise. + (faddp): Likewise. + (pfaddp): Likewise. + (fix.ss): Remove (invalid instruction). + (pfix.ss): Likewise. + (ftrunc.ss): Likewise. + (pftrunc.ss): Likewise. + +2003-05-18 Jason Eckhardt <jle@rice.edu> + + * i860.h (form, pform): Add missing .dd suffix. + +2003-05-13 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11.h (M68HC12_BANK_VIRT): Define to 0x010000 + +2003-04-07 Michael Snyder <msnyder@redhat.com> + + * h8300.h (ldc/stc): Fix up src/dst swaps. + +2003-04-09 J. Grant <jg-binutils@jguk.org> + + * mips.h: Correct comment typo. + +2003-03-21 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390.h (s390_opcode_arch_val): Rename to s390_opcode_mode_val. + (S390_OPCODE_ESAME): Rename to S390_OPCODE_ZARCH. + (s390_opcode): Remove architecture. Add modes and min_cpu. + +2003-03-17 D.Venkatasubramanian <dvenkat@noida.hcltech.com> + + * h8300.h (O_SYS_CMDLINE): New pseudo opcode for command line + processing. + +2003-02-21 Noida D.Venkatasubramanian <dvenkat@noida.hcltech.com> + + * h8300.h (ldmac, stmac): Replace MACREG with MS32 and MD32. + +2003-01-23 Alan Modra <amodra@bigpond.net.au> + + * m68hc11.h (cpu6812s): Define. + +2003-01-07 Chris Demetriou <cgd@broadcom.com> + + * mips.h: Fix missing space in comment. + (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4, INSN_ISA5) + (INSN_ISA32, INSN_ISA32R2, INSN_ISA64): Shift values right + by four bits. + +2003-01-02 Chris Demetriou <cgd@broadcom.com> + + * mips.h: Update copyright years to include 2002 (which had + been missed previously) and 2003. Make comments about "+A", + "+B", and "+C" operand types more descriptive. + +2002-12-31 Chris Demetriou <cgd@broadcom.com> + + * mips.h: Note that the "+D" operand type name is now used. + +2002-12-30 Chris Demetriou <cgd@broadcom.com> + + * mips.h: Document "+" as the start of two-character operand + type names, and add new "K", "+A", "+B", and "+C" operand types. + (OP_MASK_INSMSB, OP_SH_INSMSB, OP_MASK_EXTMSB) + (OP_SH_EXTMSB, INSN_ISA32R2, ISA_MIPS32R2, CPU_MIPS32R2): New + defines. + +2002-12-24 Dmitry Diky <diwil@mail.ru> + + * msp430.h: New file. Defines msp430 opcodes. + +2002-12-30 D.Venkatasubramanian <dvenkat@noida.hcltech.com> + + * h8300.h: Added some more pseudo opcodes for system call + processing. + +2002-12-19 Chris Demetriou <cgd@broadcom.com> + + * mips.h (OP_OP_COP0, OP_OP_COP1, OP_OP_COP2, OP_OP_COP3) + (OP_OP_LWC1, OP_OP_LWC2, OP_OP_LWC3, OP_OP_LDC1, OP_OP_LDC2) + (OP_OP_LDC3, OP_OP_SWC1, OP_OP_SWC2, OP_OP_SWC3, OP_OP_SDC1) + (OP_OP_SDC2, OP_OP_SDC3): Define. + +2002-12-16 Alan Modra <amodra@bigpond.net.au> + + * hppa.h (completer_chars): #if 0 out. + + * ns32k.h (struct ns32k_opcode): Constify "name", "operands" and + "default_args". + (struct not_wot): Constify "args". + (struct not): Constify "name". + (numopcodes): Delete. + (endop): Delete. + +2002-12-13 Alan Modra <amodra@bigpond.net.au> + + * pj.h (pj_opc_info_t): Add union. + +2002-12-04 David Mosberger <davidm@hpl.hp.com> + + * ia64.h: Fix copyright message. + (IA64_OPND_AR_CSD): New operand kind. + +2002-12-03 Richard Henderson <rth@redhat.com> + + * ia64.h (enum ia64_opnd): Add IA64_OPND_LDXMOV. + +2002-12-03 Alan Modra <amodra@bigpond.net.au> + + * cgen.h (struct cgen_maybe_multi_ifield): Add "const PTR p" to union. + Constify "leaf" and "multi". + +2002-11-19 Klee Dienes <kdienes@apple.com> + + * h8300.h (h8_opcode): Remove 'noperands', 'idx', and 'size' + fields. + (h8_opcodes). Modify initializer and initializer macros to no + longer initialize the removed fields. + +2002-11-19 Svein E. Seldal <Svein.Seldal@solidas.com> + + * tic4x.h (c4x_insts): Fixed LDHI constraint + +2002-11-18 Klee Dienes <kdienes@apple.com> + + * h8300.h (h8_opcode): Remove 'length' field. + (h8_opcodes): Mark as 'const' (both the declaration and + definition). Modify initializer and initializer macros to no + longer initialize the length field. + +2002-11-18 Klee Dienes <kdienes@apple.com> + + * arc.h (arc_ext_opcodes): Declare as extern. + (arc_ext_operands): Declare as extern. + * i860.h (i860_opcodes): Declare as const. + +2002-11-18 Svein E. Seldal <Svein.Seldal@solidas.com> + + * tic4x.h: File reordering. Added enhanced opcodes. + +2002-11-16 Svein E. Seldal <Svein.Seldal@solidas.com> + + * tic4x.h: Major rewrite of entire file. Define instruction + classes, and put each instruction into a class. + +2002-11-11 Svein E. Seldal <Svein.Seldal@solidas.com> + + * tic4x.h: Added new opcodes and corrected some bugs. Add support + for new DSP types. + +2002-10-14 Alan Modra <amodra@bigpond.net.au> + + * cgen.h: Test __BFD_H_SEEN__ rather than BFD_VERSION_DATE. + +2002-09-30 Gavin Romig-Koch <gavin@redhat.com> + Ken Raeburn <raeburn@cygnus.com> + Aldy Hernandez <aldyh@redhat.com> + Eric Christopher <echristo@redhat.com> + Richard Sandiford <rsandifo@redhat.com> + + * mips.h: Update comment for new opcodes. + (OP_MASK_VECBYTE, OP_SH_VECBYTE): New. + (OP_MASK_VECALIGN, OP_SH_VECALIGN): New. + (INSN_4111, INSN_4120, INSN_5400, INSN_5500): New. + (CPU_VR4120, CPU_VR5400, CPU_VR5500): New. + (OPCODE_IS_MEMBER): Handle the new CPU_* values and INSN_* flags. + Don't match CPU_R4111 with INSN_4100. + +2002-08-19 Elena Zannoni <ezannoni@redhat.com> + + From matthew green <mrg@redhat.com> + + * ppc.h (PPC_OPCODE_SPE): New opcode flag for Powerpc e500 + instructions. + (PPC_OPCODE_ISEL, PPC_OPCODE_BRLOCK, PPC_OPCODE_PMR, + PPC_OPCODE_CACHELCK, PPC_OPCODE_RFMCI): New opcode flags for the + e500x2 Integer select, branch locking, performance monitor, + cache locking and machine check APUs, respectively. + (PPC_OPCODE_EFS): New opcode type for efs* instructions. + (PPC_OPCODE_CLASSIC): New opcode type for Classic PowerPC instructions. + +2002-08-13 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11.h (M6812_OP_PAGE): Define to identify call operand. + (M68HC12_BANK_VIRT, M68HC12_BANK_MASK, M68HC12_BANK_BASE, + M68HC12_BANK_SHIFT, M68HC12_BANK_PAGE_MASK): Define for 68HC12 + memory banks. + (M6811_OC1M5, M6811_OC1M4, M6811_MODF): Fix value. + +2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips.h (INSN_MIPS16): New define. + +2002-07-08 Alan Modra <amodra@bigpond.net.au> + + * i386.h: Remove IgnoreSize from movsx and movzx. + +2002-06-08 Alan Modra <amodra@bigpond.net.au> + + * a29k.h: Replace CONST with const. + (CONST): Don't define. + * convex.h: Replace CONST with const. + (CONST): Don't define. + * dlx.h: Replace CONST with const. + * or32.h (CONST): Don't define. + +2002-05-30 Chris G. Demetriou <cgd@broadcom.com> + + * mips.h (OP_SH_ALN, OP_MASK_ALN, OP_SH_VSEL, OP_MASK_VSEL) + (MDMX_FMTSEL_IMM_QH, MDMX_FMTSEL_IMM_OB, MDMX_FMTSEL_VEC_QH) + (MDMX_FMTSEL_VEC_OB, INSN_READ_MDMX_ACC, INSN_WRITE_MDMX_ACC) + (INSN_MDMX): New constants, for MDMX support. + (opcode character list): Add "O", "Q", "X", "Y", and "Z" for MDMX. + +2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> + + * dlx.h: New file. + +2002-05-25 Alan Modra <amodra@bigpond.net.au> + + * ia64.h: Use #include "" instead of <> for local header files. + * sparc.h: Likewise. + +2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips.h: Add M_DROL, M_DROL_I, M_DROR, M_DROR_I macro cases. + +2002-05-17 Andrey Volkov <avolkov@sources.redhat.com> + + * h8300.h: Corrected defs of all control regs + and eepmov instr. + +2002-04-11 Alan Modra <amodra@bigpond.net.au> + + * i386.h: Add intel mode cmpsd and movsd. + Put them before SSE2 insns, so that rep prefix works. + +2002-03-15 Chris G. Demetriou <cgd@broadcom.com> + + * mips.h (INSN_MIPS3D): New definition used to mark MIPS-3D + instructions. + (OPCODE_IS_MEMBER): Adjust comments to indicate that ASE bit masks + may be passed along with the ISA bitmask. + +2002-03-05 Paul Koning <pkoning@equallogic.com> + + * pdp11.h: Add format codes for float instruction formats. + +2002-02-25 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (PPC_OPCODE_POWER4, PPC_OPCODE_NOPOWER4): Define. + +Mon Feb 18 17:31:48 CET 2002 Jan Hubicka <jh@suse.cz> + + * i386.h (push,pop): Fix Reg64 to WordReg to allow 16bit operands. + +Mon Feb 11 12:53:19 CET 2002 Jan Hubicka <jh@suse.cz> + + * i386.h (push,pop): Allow 16bit operands in 64bit mode. + (xchg): Fix. + (in, out): Disable 64bit operands. + (call, jmp): Avoid REX prefixes. + (jcxz): Prohibit in 64bit mode + (jrcxz, loop): Add 64bit variants. + (movq): Fix patterns. + (movmskps, pextrw, pinstrw): Add 64bit variants. + +2002-01-31 Ivan Guzvinec <ivang@opencores.org> + + * or32.h: New file. + +2002-01-22 Graydon Hoare <graydon@redhat.com> + + * cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure. + (CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field. + +2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at> + + * h8300.h: Comment typo fix. + +2002-01-03 matthew green <mrg@redhat.com> + + * ppc.h (PPC_OPCODE_BOOKE): BookE is not Motorola specific. + (PPC_OPCODE_BOOKE64): Likewise. + +Mon Dec 31 16:45:41 2001 Jeffrey A Law (law@cygnus.com) + + * hppa.h (call, ret): Move to end of table. + (addb, addib): PA2.0 variants should have been PA2.0W. + (ldw, ldh, ldb, stw, sth, stb, stwa): Reorder to keep disassembler + happy. + (fldw, fldd, fstw, fstd, bb): Likewise. + (short loads/stores): Tweak format specifier slightly to keep + disassembler happy. + (indexed loads/stores): Likewise. + (absolute loads/stores): Likewise. + +2001-12-04 Alexandre Oliva <aoliva@redhat.com> + + * d10v.h (OPERAND_NOSP): New macro. + +2001-11-29 Alexandre Oliva <aoliva@redhat.com> + + * d10v.h (OPERAND_SP): New macro. + +2001-11-15 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (struct powerpc_operand <insert, extract>): Add dialect param. + +2001-11-11 Timothy Wall <twall@alum.mit.edu> + + * tic54x.h: Revise opcode layout; don't really need a separate + structure for parallel opcodes. + +2001-11-13 Zack Weinberg <zack@codesourcery.com> + Alan Modra <amodra@bigpond.net.au> + + * i386.h (i386_optab): Add entries for "sldr", "smsw" and "str" to + accept WordReg. + +2001-11-04 Chris Demetriou <cgd@broadcom.com> + + * mips.h (OPCODE_IS_MEMBER): Remove extra space. + +2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> + + * mmix.h: New file. + +2001-10-18 Chris Demetriou <cgd@broadcom.com> + + * mips.h (OPCODE_IS_MEMBER): Add a no-op term to the end + of the expression, to make source code merging easier. + +2001-10-17 Chris Demetriou <cgd@broadcom.com> + + * mips.h: Sort coprocessor instruction argument characters + in comment, add a few more words of description for "H". + +2001-10-17 Chris Demetriou <cgd@broadcom.com> + + * mips.h (INSN_SB1): New cpu-specific instruction bit. + (OPCODE_IS_MEMBER): Allow instructions matching INSN_SB1 + if cpu is CPU_SB1. + +2001-10-17 matthew green <mrg@redhat.com> + + * ppc.h (PPC_OPCODE_BOOKE64): Fix typo. + +2001-10-12 matthew green <mrg@redhat.com> + + * ppc.h (PPC_OPCODE_BOOKE, PPC_OPCODE_BOOKE64, PPC_OPCODE_403): New + opcode flags for BookE 32-bit, BookE 64-bit and PowerPC 403 + instructions, respectively. + +2001-09-27 Nick Clifton <nickc@cambridge.redhat.com> + + * v850.h: Remove spurious comment. + +2001-09-21 Nick Clifton <nickc@cambridge.redhat.com> + + * h8300.h: Fix compile time warning messages + +2001-09-04 Richard Henderson <rth@redhat.com> + + * alpha.h (struct alpha_operand): Pack elements into bitfields. + +2001-08-31 Eric Christopher <echristo@redhat.com> + + * mips.h: Remove CPU_MIPS32_4K. + +2001-08-27 Torbjorn Granlund <tege@swox.com> + + * ppc.h (PPC_OPERAND_DS): Define. + +2001-08-25 Andreas Jaeger <aj@suse.de> + + * d30v.h: Fix declaration of reg_name_cnt. + + * d10v.h: Fix declaration of d10v_reg_name_cnt. + + * arc.h: Add prototypes from opcodes/arc-opc.c. + +2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips.h (INSN_10000): Define. + (OPCODE_IS_MEMBER): Check for INSN_10000. + +2001-08-10 Alan Modra <amodra@one.net.au> + + * ppc.h: Revert 2001-08-08. + +2001-08-10 Richard Sandiford <rsandifo@redhat.com> + + * mips.h (INSN_GP32): Remove. + (OPCODE_IS_MEMBER): Remove gp32 parameter. + (M_MOVE): New macro identifier. + +2001-08-08 Alan Modra <amodra@one.net.au> + + 1999-10-25 Torbjorn Granlund <tege@swox.com> + * ppc.h (struct powerpc_operand): New field `reloc'. + +2001-08-01 Aldy Hernandez <aldyh@redhat.com> + + * mips.h (INSN_ISA_MASK): Nuke bits 12-15. + +2001-07-12 Jeff Johnston <jjohnstn@redhat.com> + + * cgen.h (CGEN_INSN): Add regex support. + (build_insn_regex): Declare. + +2001-07-11 Frank Ch. Eigler <fche@redhat.com> + + * cgen.h (CGEN_MACH): Add insn_chunk_bitsize field. + (cgen_cpu_desc): Ditto. + +2001-07-07 Ben Elliston <bje@redhat.com> + + * m88k.h: Clean up and reformat. Remove unused code. + +2001-06-14 Geoffrey Keating <geoffk@redhat.com> + + * cgen.h (cgen_keyword): Add nonalpha_chars field. + +2001-05-23 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips.h (CPU_R12000): Define. + +2001-05-23 John Healy <jhealy@redhat.com> + + * cgen.h: Increased CGEN_MAX_SYNTAX_ELEMENTS to 48. + +2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips.h (INSN_ISA_MASK): Define. + +2001-05-12 Alan Modra <amodra@one.net.au> + + * i386.h (i386_optab): Second operand of cvtps2dq is an xmm reg, + not an mmx reg. Swap xmm/mmx regs on both movdq2q and movq2dq, + and use InvMem as these insns must have register operands. + +2001-05-04 Alan Modra <amodra@one.net.au> + + * i386.h (i386_optab): Move InvMem to first operand of pmovmskb + and pextrw to swap reg/rm assignments. + +2001-04-05 Hans-Peter Nilsson <hp@axis.com> + + * cris.h (enum cris_insn_version_usage): Correct comment for + cris_ver_v3p. + +2001-03-24 Alan Modra <alan@linuxcare.com.au> + + * i386.h (i386_optab): Correct entry for "movntdq". Add "punpcklqdq". + Add InvMem to first operand of "maskmovdqu". + +2001-03-22 Hans-Peter Nilsson <hp@axis.com> + + * cris.h (ADD_PC_INCR_OPCODE): New macro. + +2001-03-21 Kazu Hirata <kazu@hxi.com> + + * h8300.h: Fix formatting. + +2001-03-22 Alan Modra <alan@linuxcare.com.au> + + * i386.h (i386_optab): Add paddq, psubq. + +2001-03-19 Alan Modra <alan@linuxcare.com.au> + + * i386.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Define. + +2001-02-28 Igor Shevlyakov <igor@windriver.com> + + * m68k.h: new defines for Coldfire V4. Update mcf to know + about mcf5407. + +2001-02-18 lars brinkhoff <lars@nocrew.org> + + * pdp11.h: New file. + +2001-02-12 Jan Hubicka <jh@suse.cz> + + * i386.h (i386_optab): SSE integer converison instructions have + 64bit versions on x86-64. + +2001-02-10 Nick Clifton <nickc@redhat.com> + + * mips.h: Remove extraneous whitespace. Formating change to allow + for future contribution. + +2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390.h: New file. + +2001-02-02 Patrick Macdonald <patrickm@redhat.com> + + * cgen.h (CGEN_SYNTAX_CHAR_TYPE): Typedef as unsigned short. + (CGEN_MAX_SYNTAX_ELEMENTS): Rename from CGEN_MAX_SYNTAX_BYTES. + (CGEN_SYNTAX): Define using CGEN_MAX_SYNTAX_ELEMENTS. + +2001-01-24 Karsten Keil <kkeil@suse.de> + + * i386.h (i386_optab): Fix swapgs + +2001-01-14 Alan Modra <alan@linuxcare.com.au> + + * hppa.h: Describe new '<' and '>' operand types, and tidy + existing comments. + (pa_opcodes): Add entries for missing wide mode ldi,ldo,ldw,stw. + Remove duplicate "ldw j(s,b),x". Sort some entries. + +2001-01-13 Jan Hubicka <jh@suse.cz> + + * i386.h (i386_optab): Fix pusha and ret templates. + +2001-01-11 Peter Targett <peter.targett@arccores.com> + + * arc.h (ARC_MACH_5, ARC_MACH_6, ARC_MACH_7, ARC_MACH_8): New + definitions for masking cpu type. + (arc_ext_operand_value) New structure for storing extended + operands. + (ARC_OPERAND_*) Flags for operand values. + +2001-01-10 Jan Hubicka <jh@suse.cz> + + * i386.h (pinsrw): Add. + (pshufw): Remove. + (cvttpd2dq): Fix operands. + (cvttps2dq): Likewise. + (movq2q): Rename to movdq2q. + +2001-01-10 Richard Schaal <richard.schaal@intel.com> + + * i386.h: Correct movnti instruction. + +2001-01-09 Jeff Johnston <jjohnstn@redhat.com> + + * cgen.h (CGEN_SYNTAX_CHAR_TYPE): New typedef based on max number + of operands (unsigned char or unsigned short). + (CGEN_SYNTAX): Changed to make array CGEN_SYNTAX_CHAR_TYPE. + (CGEN_SYNTAX_CHAR): Changed to cast to unsigned char. + +2001-01-05 Jan Hubicka <jh@suse.cz> + + * i386.h (i386_optab): Make [sml]fence template to use immext field. + +2001-01-03 Jan Hubicka <jh@suse.cz> + + * i386.h (i386_optab): Fix 64bit pushf template; Add instructions + introduced by Pentium4 + +2000-12-30 Jan Hubicka <jh@suse.cz> + + * i386.h (i386_optab): Add "rex*" instructions; + add swapgs; disable jmp/call far direct instructions for + 64bit mode; add syscall and sysret; disable registers for 0xc6 + template. Add 'q' suffixes to extendable instructions, disable + obsolete instructions, add new sign/zero extension ones. + (i386_regtab): Add extended registers. + (*Suf): Add No_qSuf. + (q_Suf, wlq_Suf, bwlq_Suf): New. + +2000-12-20 Jan Hubicka <jh@suse.cz> + + * i386.h (i386_optab): Replace "Imm" with "EncImm". + (i386_regtab): Add flags field. + +2000-12-12 Nick Clifton <nickc@redhat.com> + + * mips.h: Fix formatting. + +2000-12-01 Chris Demetriou <cgd@sibyte.com> + + mips.h (OP_MASK_SYSCALL, OP_SH_SYSCALL): Delete. + (OP_MASK_CODE20, OP_SH_CODE20): Define, with values of old + OP_*_SYSCALL definitions. + (OP_SH_CODE19, OP_MASK_CODE19): Define, for use as + 19 bit wait codes. + (MIPS operand specifier comments): Remove 'm', add 'U' and + 'J', and update the meaning of 'B' so that it's more general. + + * mips.h (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4, + INSN_ISA5): Renumber, redefine to mean the ISA at which the + instruction was added. + (INSN_ISA32): New constant. + (INSN_4650, INSN_4010, INSN_4100, INSN_3900, INSN_GP32): + Renumber to avoid new and/or renumbered INSN_* constants. + (INSN_MIPS32): Delete. + (ISA_UNKNOWN): New constant to indicate unknown ISA. + (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4, ISA_MIPS5, + ISA_MIPS32): New constants, defined to be the mask of INSN_* + constants available at that ISA level. + (CPU_UNKNOWN): New constant to indicate unknown CPU. + (CPU_4K, CPU_MIPS32_4K): Rename the former to the latter, + define it with a unique value. + (OPCODE_IS_MEMBER): Update for new ISA membership-related + constant meanings. + + * mips.h (INSN_ISA64, ISA_MIPS5, ISA_MIPS64): New + definitions. + + * mips.h (CPU_SB1): New constant. + +2000-10-20 Jakub Jelinek <jakub@redhat.com> + + * sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B. + Note that '3' is used for siam operand. + +2000-09-22 Jim Wilson <wilson@cygnus.com> + + * ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP. + +2000-09-13 Anders Norlander <anorland@acc.umu.se> + + * mips.h: Use defines instead of hard-coded processor numbers. + (CPU_R2000, CPU_R3000, CPU_R3900, CPU_R4000, CPU_R4010, + CPU_VR4100, CPU_R4111, CPU_R4300, CPU_R4400, CPU_R4600, CPU_R4650, + CPU_R5000, CPU_R6000, CPU_R8000, CPU_R10000, CPU_MIPS32, CPU_4K, + CPU_4KC, CPU_4KM, CPU_4KP): Define.. + (OPCODE_IS_MEMBER): Use new defines. + (OP_MASK_SEL, OP_SH_SEL): Define. + (OP_MASK_CODE20, OP_SH_CODE20): Define. + Add 'P' to used characters. + Use 'H' for coprocessor select field. + Use 'm' for 20 bit breakpoint code. + Document new arg characters and add to used characters. + (INSN_MIPS32): New define for MIPS32 extensions. + (OPCODE_IS_MEMBER): Recognize MIPS32 instructions. + +2000-09-05 Alan Modra <alan@linuxcare.com.au> + + * hppa.h: Mention cz completer. + +2000-08-16 Jim Wilson <wilson@cygnus.com> + + * ia64.h (IA64_OPCODE_POSTINC): New. + +2000-08-15 H.J. Lu <hjl@gnu.org> + + * i386.h: Swap the Intel syntax "movsx"/"movzx" due to the + IgnoreSize change. + +2000-08-08 Jason Eckhardt <jle@cygnus.com> + + * i860.h: Small formatting adjustments. + +2000-07-29 Marek Michalkiewicz <marekm@linux.org.pl> + + * avr.h (AVR_UNDEF_P, AVR_SKIP_P, AVR_DISP0_P): New macros. + Move related opcodes closer to each other. + Minor changes in comments, list undefined opcodes. + +2000-07-26 Dave Brolley <brolley@redhat.com> + + * cgen.h (cgen_hw_lookup_by_num): Second parameter is unsigned. + +2000-07-22 Jason Eckhardt <jle@cygnus.com> + + * i860.h (btne, bte, bla): Changed these opcodes + to use sbroff ('r') instead of split16 ('s'). + (J, K, L, M): New operand types for 16-bit aligned fields. + (ld.x, {p}fld.x, fst.x, pst.d): Changed these opcodes to + use I, J, K, L, M instead of just I. + (T, U): New operand types for split 16-bit aligned fields. + (st.x): Changed these opcodes to use S, T, U instead of just S. + (andh, andnoth, orh, xorh): Deleted 3-register forms as they do not + exist on the i860. + (pfgt.sd, pfle.sd): Deleted these as they do not exist on the i860. + (pfeq.ss, pfeq.dd): New opcodes. + (st.s): Fixed incorrect mask bits. + (fmlow): Fixed incorrect mask bits. + (fzchkl, pfzchkl): Fixed incorrect mask bits. + (faddz, pfaddz): Fixed incorrect mask bits. + (form, pform): Fixed incorrect mask bits. + (pfld.l): Fixed incorrect mask bits. + (fst.q): Fixed incorrect mask bits. + (all floating point opcodes): Fixed incorrect mask bits for + handling of dual bit. + +2000-07-20 Hans-Peter Nilsson <hp@axis.com> + + cris.h: New file. + +2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl> + + * avr.h (AVR_ISA_WRAP): Remove, now assumed if not AVR_ISA_MEGA. + (AVR_ISA_ESPM): Remove, because ESPM removed in databook update. + (AVR_ISA_85xx): Remove, all uses changed back to AVR_ISA_2xxx. + (AVR_ISA_M83): Define for ATmega83, ATmega85. + (espm): Remove, because ESPM removed in databook update. + (eicall, eijmp): Move to the end of opcode table. + +2000-06-18 Stephane Carrez <stcarrez@worldnet.fr> + + * m68hc11.h: New file for support of Motorola 68hc11. + +Fri Jun 9 21:51:50 2000 Denis Chertykov <denisc@overta.ru> + + * avr.h: clr,lsl,rol, ... moved after add,adc, ... + +Wed Jun 7 21:39:54 2000 Denis Chertykov <denisc@overta.ru> + + * avr.h: New file with AVR opcodes. + +Wed Apr 12 17:11:20 2000 Donald Lindsay <dlindsay@hound.cygnus.com> + + * d10v.h: added ALONE attribute for d10v_opcode.exec_type. + +2000-05-23 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * i386.h: Allow d suffix on iret, and add DefaultSize modifier. + +2000-05-17 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * i386.h: Use sl_FP, not sl_Suf for fild. + +2000-05-16 Frank Ch. Eigler <fche@redhat.com> + + * cgen.h (CGEN_MAX_SYNTAX_BYTES): Increase to 32. Check that + it exceeds CGEN_ACTUAL_MAX_SYNTAX_BYTES, if set. + (CGEN_MAX_IFMT_OPERANDS): Increase to 16. Check that it exceeds + CGEN_ACTUAL_MAX_IFMT_OPERANDS, if set. + +2000-05-13 Alan Modra <alan@linuxcare.com.au>, + + * i386.h (i386_optab): Cpu686 for sysenter,sysexit,fxsave,fxrestore. + +2000-05-13 Alan Modra <alan@linuxcare.com.au>, + Alexander Sokolov <robocop@netlink.ru> + + * i386.h (i386_optab): Add cpu_flags for all instructions. + +2000-05-13 Alan Modra <alan@linuxcare.com.au> + + From Gavin Romig-Koch <gavin@cygnus.com> + * i386.h (wld_Suf): Define. Use on pushf, popf, pusha, popa. + +2000-05-04 Timothy Wall <twall@cygnus.com> + + * tic54x.h: New. + +2000-05-03 J.T. Conklin <jtc@redback.com> + + * ppc.h (PPC_OPCODE_ALTIVEC): New opcode flag for vector unit. + (PPC_OPERAND_VR): New operand flag for vector registers. + +2000-05-01 Kazu Hirata <kazu@hxi.com> + + * h8300.h (EOP): Add missing initializer. + +Fri Apr 21 15:03:37 2000 Jason Eckhardt <jle@cygnus.com> + + * hppa.h (pa_opcodes): New opcodes for PA2.0 wide mode + forms of ld/st{b,h,w,d} and fld/fst{w,d} (16-bit displacements). + New operand types l,y,&,fe,fE,fx added to support above forms. + (pa_opcodes): Replaced usage of 'x' as source/target for + floating point double-word loads/stores with 'fx'. + +Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com> + David Mosberger <davidm@hpl.hp.com> + Timothy Wall <twall@cygnus.com> + Jim Wilson <wilson@cygnus.com> + + * ia64.h: New file. + +2000-03-27 Nick Clifton <nickc@cygnus.com> + + * d30v.h (SHORT_A1): Fix value. + (SHORT_AR): Renumber so that it is at the end of the list of short + instructions, not the end of the list of long instructions. + +2000-03-26 Alan Modra <alan@linuxcare.com> + + * i386.h: (UNIXWARE_COMPAT): Rename to SYSV386_COMPAT as the + problem isn't really specific to Unixware. + (OLDGCC_COMPAT): Define. + (i386_optab): If !OLDGCC_COMPAT, don't handle fsubp etc. with + destination %st(0). + Fix lots of comments. + +2000-03-02 J"orn Rennecke <amylaar@cygnus.co.uk> + + * d30v.h: + (SHORT_B2r, SHORT_B3, SHORT_B3r, SHORT_B3b, SHORT_B3br): Updated. + (SHORT_D1r, SHORT_D2, SHORT_D2r, SHORT_D2Br, SHORT_U): Updated. + (SHORT_F, SHORT_AF, SHORT_T, SHORT_A5, SHORT_CMP, SHORT_CMPU): Updated. + (SHORT_A1, SHORT_AA, SHORT_RA, SHORT_MODINC, SHORT_MODDEC): Updated. + (SHORT_C1, SHORT_C2, SHORT_UF, SHORT_A2, SHORT_NONE, LONG): Updated. + (LONG_U, LONG_Ur, LONG_CMP, LONG_M, LONG_M2, LONG_2, LONG_2r): Updated. + (LONG_2b, LONG_2br, LONG_D, LONG_Dr, LONG_Dbr): Updated. + +2000-02-25 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (fild, fistp): Change intel d_Suf form to fildd and + fistpd without suffix. + +2000-02-24 Nick Clifton <nickc@cygnus.com> + + * cgen.h (cgen_cpu_desc): Rename field 'flags' to + 'signed_overflow_ok_p'. + Delete prototypes for cgen_set_flags() and cgen_get_flags(). + +2000-02-24 Andrew Haley <aph@cygnus.com> + + * cgen.h (CGEN_INSN_MACH_HAS_P): New macro. + (CGEN_CPU_TABLE): flags: new field. + Add prototypes for new functions. + +2000-02-24 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Add some more UNIXWARE_COMPAT comments. + +2000-02-23 Linas Vepstas <linas@linas.org> + + * i370.h: New file. + +2000-02-22 Chandra Chavva <cchavva@cygnus.com> + + * d30v.h (FLAG_NOT_WITH_ADDSUBppp): Redefined as operation + cannot be combined in parallel with ADD/SUBppp. + +2000-02-22 Andrew Haley <aph@cygnus.com> + + * mips.h: (OPCODE_IS_MEMBER): Add comment. + +1999-12-30 Andrew Haley <aph@cygnus.com> + + * mips.h (OPCODE_IS_MEMBER): Add gp32 arg, which determines + whether synthetic opcodes (e.g. move) generate 32-bit or 64-bit + insns. + +2000-01-15 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Qualify intel mode far call and jmp with x_Suf. + +1999-12-27 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Add JumpAbsolute qualifier to all non-intel mode + indirect jumps and calls. Add FF/3 call for intel mode. + +Wed Dec 1 03:05:25 1999 Jeffrey A Law (law@cygnus.com) + + * mn10300.h: Add new operand types. Add new instruction formats. + +Wed Nov 24 20:28:58 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Correctly handle immediate for PA2.0 "bb" + instruction. + +1999-11-18 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (INSN_ISA5): New. + +1999-11-01 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (OPCODE_IS_MEMBER): New. + +1999-10-29 Nick Clifton <nickc@cygnus.com> + + * d30v.h (SHORT_AR): Define. + +1999-10-18 Michael Meissner <meissner@cygnus.com> + + * alpha.h (alpha_num_opcodes): Convert to unsigned. + (alpha_num_operands): Ditto. + +Sun Oct 10 01:46:56 1999 Jerry Quinn <jerry.quinn.adv91@alum.dartmouth.org> + + * hppa.h (pa_opcodes): Add load and store cache control to + instructions. Add ordered access load and store. + + * hppa.h (pa_opcode): Add new entries for addb and addib. + + * hppa.h (pa_opcodes): Fix cmpb and cmpib entries. + + * hppa.h (pa_opcodes): Add entries for cmpb and cmpib. + +Thu Oct 7 00:12:25 MDT 1999 Diego Novillo <dnovillo@cygnus.com> + + * d10v.h: Add flag RESTRICTED_NUM3 for imm3 operands. + +Thu Sep 23 07:08:38 1999 Jerry Quinn <jquinn@nortelnetworks.com> + + * hppa.h (pa_opcodes): Add "call" and "ret". Clean up "b", "bve" + and "be" using completer prefixes. + + * hppa.h (pa_opcodes): Add initializers to silence compiler. + + * hppa.h: Update comments about character usage. + +Mon Sep 20 03:55:31 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Fix minor thinkos introduced while cleaning + up the new fstw & bve instructions. + +Sun Sep 19 10:40:59 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Add remaining PA2.0 integer load/store + instructions. + + * hppa.h (pa_opcodes): Add remaining PA2.0 FP load/store instructions. + + * hppa.h (pa_opcodes): Add long offset double word load/store + instructions. + + * hppa.h (pa_opcodes): Add FLAG_STRICT variants of FP loads and + stores. + + * hppa.h (pa_opcodes): Handle PA2.0 fcnv, fcmp and ftest insns. + + * hppa.h (pa_opcodes): Finish support for PA2.0 "b" instructions. + + * hppa.h (pa_opcodes): Handle PA2.0 "bve" instructions. + + * hppa.h (pa_opcodes): Add new syntax "be" instructions. + + * hppa.h (pa_opcodes): Note use of 'M' and 'L'. + + * hppa.h (pa_opcodes): Add support for "b,l". + + * hppa.h (pa_opcodes): Add support for "b,gate". + +Sat Sep 18 11:41:16 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Use 'fX' for first register operand + in xmpyu. + + * hppa.h (pa_opcodes): Fix mask for probe and probei. + + * hppa.h (pa_opcodes): Fix mask for depwi. + +Tue Sep 7 13:44:25 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Add "addil" variant which has the %r1 as + an explicit output argument. + +Mon Sep 6 04:41:42 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h: Add strict variants of PA1.0/PA1.1 loads and stores. + Add a few PA2.0 loads and store variants. + +1999-09-04 Steve Chamberlain <sac@pobox.com> + + * pj.h: New file. + +1999-08-29 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_regtab): Move %st to top of table, and split off + other fp reg entries. + (i386_float_regtab): To here. + +Sat Aug 28 00:25:25 1999 Jerry Quinn <jquinn@nortelnetworks.com> + + * hppa.h (pa_opcodes): Replace 'f' by 'v'. Prefix float register args + by 'f'. + + * hppa.h (pa_opcodes): Add extrd, extrw, depd, depdi, depw, depwi. + Add supporting args. + + * hppa.h: Document new completers and args. + * hppa.h (pa_opcodes): Add 64 bit patterns and pa2.0 syntax for uxor, + uaddcm, dcor, addi, add, sub, subi, shladd, rfi, and probe. Add pa2.0 + extensions for ssm, rsm, pdtlb, pitlb. Add performance instructions + pmenb and pmdis. + + * hppa.h (pa_opcodes): Add pa2.0 instructions hadd, hshl, + hshr, hsub, mixh, mixw, permh. + + * hppa.h (pa_opcodes): Change completers in instructions to + use 'c' prefix. + + * hppa.h (pa_opcodes): Add popbts, new forms of bb, havg, + hshladd, hshradd, shrpd, and shrpw instructions. Update arg comments. + + * hppa.h (pa_opcodes): Change fmpyfadd, fmpynfadd, fneg, + fnegabs to use 'I' instead of 'F'. + +1999-08-21 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Add AMD athlon instructions, pfnacc, pfpnacc, pswapd. + Document pf2iw and pi2fw as athlon insns. Remove pswapw. + Alphabetically sort PIII insns. + +Wed Aug 18 18:14:40 1999 Doug Evans <devans@canuck.cygnus.com> + + * cgen.h (CGEN_INSN_MACH_HAS_P): New macro. + +Fri Aug 6 09:46:35 1999 Jerry Quinn <jquinn@nortelnetworks.com> + + * hppa.h (pa_opcodes): Add 64 bit versions of or, xor, and, + and andcm. Add 32 and 64 bit version of cmpclr, cmpiclr. + + * hppa.h: Document 64 bit condition completers. + +Thu Aug 5 16:56:07 1999 Jerry Quinn <jquinn@nortelnetworks.com> + + * hppa.h (pa_opcodes): Change condition args to use '?' prefix. + +1999-08-04 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_optab): Add DefaultSize modifier to all insns + that implicitly modify %esp. #undef d_Suf, x_suf, sld_suf, + sldx_suf, bwld_Suf, d_FP, x_FP, sld_FP, sldx_FP at end of table. + +Wed Jul 28 02:04:24 1999 Jerry Quinn <jquinn@nortelnetworks.com> + Jeff Law <law@cygnus.com> + + * hppa.h (pa_opcodes): Add "pushnom" and "pushbts". + + * hppa.h (pa_opcodes): Mark all PA2.0 opcodes with FLAG_STRICT. + + * hppa.h (pa_opcodes): Change xmpyu, fmpyfadd, + and fmpynfadd to use 'J' and 'K' instead of 'E' and 'X'. + +1999-07-13 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Add "undocumented" AMD 3DNow! pf2iw, pi2fw, pswapw insns. + +Thu Jul 1 00:17:24 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (struct pa_opcode): Add new field "flags". + (FLAGS_STRICT): Define. + +Fri Jun 25 04:22:04 1999 Jerry Quinn <jquinn@nortelnetworks.com> + Jeff Law <law@cygnus.com> + + * hppa.h (pa_opcodes): Add pa2.0 clrbts instruction. + + * hppa.h (pa_opcodes): Add entries for mfia and mtsarcm instructions. + +1999-06-23 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Allow `l' suffix on bswap. Allow `w' suffix on arpl, + lldt, lmsw, ltr, str, verr, verw. Add FP flag to fcmov*. Add FP + flag to fcomi and friends. + +Fri May 28 15:26:11 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Move integer arithmetic instructions after + integer logical instructions. + +1999-05-28 Linus Nordberg <linus.nordberg@canit.se> + + * m68k.h: Document new formats `E', `G', `H' and new places `N', + `n', `o'. + + * m68k.h: Define mcf5206e, mcf5307, mcf. Document new format `u' + and new places `m', `M', `h'. + +Thu May 27 04:13:54 1999 Joel Sherrill (joel@OARcorp.com + + * hppa.h (pa_opcodes): Add several processor specific system + instructions. + +Wed May 26 16:57:44 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Add second entry for "comb", "comib", + "addb", and "addib" to be used by the disassembler. + +1999-05-12 Alan Modra <alan@apri.levels.unisa.edu.au> + + * i386.h (ReverseModrm): Remove all occurences. + (InvMem): Add to control/debug/test mov insns, movhlps, movlhps, + movmskps, pextrw, pmovmskb, maskmovq. + Change NoSuf to FP on all MMX, XMM and AMD insns as these all + ignore the data size prefix. + + * i386.h (i386_optab, i386_regtab): Add support for PIII SIMD. + Mostly stolen from Doug Ledford <dledford@redhat.com> + +Sat May 8 23:27:35 1999 Richard Henderson <rth@cygnus.com> + + * ppc.h (PPC_OPCODE_64_BRIDGE): New. + +1999-04-14 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (CGEN_ATTR): Delete member num_nonbools. + (CGEN_ATTR_TYPE): Update. + (CGEN_ATTR_MASK): Number booleans starting at 0. + (CGEN_ATTR_VALUE): Update. + (CGEN_INSN_ATTR): Update. + +Mon Apr 12 23:43:27 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (fmpyfadd, fmpynfadd, fneg, fnegabs): New PA2.0 + instructions. + +Tue Mar 23 11:24:38 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (bb, bvb): Tweak opcode/mask. + + +1999-03-22 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (CGEN_ISA,CGEN_MACH): New typedefs. + (struct cgen_cpu_desc): Rename member mach to machs. New member isas. + New members word_bitsize,default_insn_bitsize,base_insn-bitsize, + min_insn_bitsize,max_insn_bitsize,isa_table,mach_table,rebuild_tables. + Delete member max_insn_size. + (enum cgen_cpu_open_arg): New enum. + (cpu_open): Update prototype. + (cpu_open_1): Declare. + (cgen_set_cpu): Delete. + +1999-03-11 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (CGEN_HW_TABLE): Delete `num_init_entries' member. + (CGEN_OPERAND_NIL): New macro. + (CGEN_OPERAND): New member `type'. + (@arch@_cgen_operand_table): Delete decl. + (CGEN_OPERAND_INDEX,CGEN_OPERAND_TYPE,CGEN_OPERAND_ENTRY): Delete. + (CGEN_OPERAND_TABLE): New struct. + (cgen_operand_lookup_by_name,cgen_operand_lookup_by_num): Declare. + (CGEN_OPINST): Pointer to operand table entry replaced with enum. + (CGEN_CPU_TABLE): New member `isa'. Change member `operand_table', + now a CGEN_OPERAND_TABLE. Add CGEN_CPU_DESC arg to + {get,set}_{int,vma}_operand. + (@arch@_cgen_cpu_open): New arg `isa'. + (cgen_set_cpu): Ditto. + +Fri Feb 26 02:36:45 1999 Richard Henderson <rth@cygnus.com> + + * i386.h: Fill in cmov and fcmov alternates. Add fcomi short forms. + +1999-02-25 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (enum cgen_asm_type): Add CGEN_ASM_NONE. + (CGEN_HW_ENTRY): Delete member `next'. Change type of `type' to + enum cgen_hw_type. + (CGEN_HW_TABLE): New struct. + (hw_table): Delete declaration. + (CGEN_OPERAND): Change member hw to hw_type, change type from pointer + to table entry to enum. + (CGEN_OPINST): Ditto. + (CGEN_CPU_TABLE): Change member hw_list to hw_table. + +Sat Feb 13 14:13:44 1999 Richard Henderson <rth@cygnus.com> + + * alpha.h (AXP_OPCODE_EV6): New. + (AXP_OPCODE_NOPAL): Include it. + +1999-02-09 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (CGEN_CPU_DESC): Renamed from CGEN_OPCODE_DESC. + All uses updated. New members int_insn_p, max_insn_size, + parse_operand,insert_operand,extract_operand,print_operand, + sizeof_fields,set_fields_bitsize,get_int_operand,set_int_operand, + get_vma_operand,set_vma_operand,parse_handlers,insert_handlers, + extract_handlers,print_handlers. + (CGEN_ATTR): Change type of num_nonbools to unsigned int. + (CGEN_ATTR_BOOL_OFFSET): New macro. + (CGEN_ATTR_MASK): Subtract it to compute bit number. + (CGEN_ATTR_VALUE): Redo bool/nonbool attr calculation. + (cgen_opcode_handler): Renamed from cgen_base. + (CGEN_HW_ATTR_VALUE): Renamed from CGEN_HW_ATTR, all uses updated. + (CGEN_OPERAND_ATTR_VALUE): Renamed from CGEN_OPERAND_ATTR, + all uses updated. + (CGEN_OPERAND_INDEX): Rewrite to use table entry, not global. + (enum cgen_opinst_type): Renamed from cgen_operand_instance_type. + (CGEN_IFLD_ATTR_VALUE): Renamed from CGEN_IFLD_ATTR, all uses updated. + (CGEN_OPCODE,CGEN_IBASE): New types. + (CGEN_INSN): Rewrite. + (CGEN_{ASM,DIS}_HASH*): Delete. + (init_opcode_table,init_ibld_table): Declare. + (CGEN_INSN_ATTR): New type. + +Mon Feb 1 21:09:14 1999 Catherine Moore <clm@cygnus.com> + + * i386.h (d_Suf, x_Suf, sld_Suf, sldx_Suf, bwld_Suf): Define. + (x_FP, d_FP, dls_FP, sldx_FP): Define. + Change *Suf definitions to include x and d suffixes. + (movsx): Use w_Suf and b_Suf. + (movzx): Likewise. + (movs): Use bwld_Suf. + (fld): Change ordering. Use sld_FP. + (fild): Add Intel Syntax equivalent of fildq. + (fst): Use sld_FP. + (fist): Use sld_FP. + (fstp): Use sld_FP. Add x_FP version. + (fistp): LLongMem version for Intel Syntax. + (fcom, fcomp): Use sld_FP. + (fadd, fiadd, fsub): Use sld_FP. + (fsubr): Use sld_FP. + (fmul, fimul, fdvi, fidiv, fdivr): Use sld_FP. + +1999-01-27 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (enum cgen_mode): Add CGEN_MODE_TARGET_MAX, CGEN_MODE_INT, + CGEN_MODE_UINT. + +1999-01-16 Jeffrey A Law (law@cygnus.com) + + * hppa.h (bv): Fix mask. + +1999-01-05 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (CGEN_ATTR_VALUE_TYPE): New typedef. + (CGEN_ATTR): Use it. + (CGEN_ATTR_TYPE,CGEN_ATTR_ENTRY): Ditto. + (CGEN_ATTR_TABLE): New member dfault. + +1998-12-30 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (MIPS16_INSN_BRANCH): New. + +Wed Dec 9 10:38:48 1998 David Taylor <taylor@texas.cygnus.com> + + The following is part of a change made by Edith Epstein + <eepstein@sophia.cygnus.com> as part of a project to merge in + changes by HP; HP did not create ChangeLog entries. + + * hppa.h (completer_chars): list of chars to not put a space + after. + +Sun Dec 6 13:21:34 1998 Ian Lance Taylor <ian@cygnus.com> + + * i386.h (i386_optab): Permit w suffix on processor control and + status word instructions. + +1998-11-30 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (struct cgen_hw_entry): Delete const on attrs member. + (struct cgen_keyword_entry): Ditto. + (struct cgen_operand): Ditto. + (CGEN_IFLD): New typedef, with associated access macros. + (CGEN_IFMT): New typedef, with associated access macros. + (CGEN_IFMT): Renamed from CGEN_FORMAT. New member `iflds'. + (CGEN_IVALUE): New typedef. + (struct cgen_insn): Delete const on syntax,attrs members. + `format' now points to format data. Type of `value' is now + CGEN_IVALUE. + (struct cgen_opcode_table): New member ifld_table. + +1998-11-18 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (cgen_extract_fn): Update type of `base_insn' arg. + (CGEN_OPERAND_INSTANCE): New member `attrs'. + (CGEN_OPERAND_INSTANCE_{ATTRS,ATTR}): New macros. + (cgen_dis_lookup_insn): Update type of `base_insn' arg. + (cgen_opcode_table): Update type of dis_hash fn. + (extract_operand): Update type of `insn_value' arg. + +Thu Oct 29 11:38:36 1998 Doug Evans <devans@canuck.cygnus.com> + + * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Delete. + +Tue Oct 27 08:57:59 1998 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (INSN_MULT): Added. + +Tue Oct 20 11:31:34 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (MAX_MNEM_SIZE): Rename from MAX_OPCODE_SIZE. + +Mon Oct 19 12:50:00 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_INSN_INT): New typedef. + (CGEN_INT_INSN_P): Renamed from CGEN_INT_INSN. + (CGEN_INSN_BYTES): Renamed from cgen_insn_t. + (CGEN_INSN_BYTES_PTR): New typedef. + (CGEN_EXTRACT_INFO): New typedef. + (cgen_insert_fn,cgen_extract_fn): Update. + (cgen_opcode_table): New member `insn_endian'. + (assemble_insn,lookup_insn,lookup_get_insn_operands): Update. + (insert_operand,extract_operand): Update. + (cgen_get_insn_value,cgen_put_insn_value): Add prototypes. + +Fri Oct 9 13:38:13 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_ATTR_BOOLS): New macro. + (struct CGEN_HW_ENTRY): New member `attrs'. + (CGEN_HW_ATTR): New macro. + (struct CGEN_OPERAND_INSTANCE): New member `name'. + (CGEN_INSN_INVALID_P): New macro. + +Mon Oct 5 00:21:07 1998 Jeffrey A Law (law@cygnus.com) + + * hppa.h: Add "fid". + +Sun Oct 4 21:00:00 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + From Robert Andrew Dale <rob@nb.net> + * i386.h (i386_optab): Add AMD 3DNow! instructions. + (AMD_3DNOW_OPCODE): Define. + +Tue Sep 22 17:53:47 1998 Nick Clifton <nickc@cygnus.com> + + * d30v.h (EITHER_BUT_PREFER_MU): Define. + +Mon Aug 10 14:09:38 1998 Doug Evans <devans@canuck.cygnus.com> + + * cgen.h (cgen_insn): #if 0 out element `cdx'. + +Mon Aug 3 12:21:57 1998 Doug Evans <devans@seba.cygnus.com> + + Move all global state data into opcode table struct, and treat + opcode table as something that is "opened/closed". + * cgen.h (CGEN_OPCODE_DESC): New type. + (all fns): New first arg of opcode table descriptor. + (cgen_set_parse_operand_fn): Add prototype. + (cgen_current_machine,cgen_current_endian): Delete. + (CGEN_OPCODE_TABLE): New members mach,endian,operand_table, + parse_operand_fn,asm_hash_table,asm_hash_table_entries, + dis_hash_table,dis_hash_table_entries. + (opcode_open,opcode_close): Add prototypes. + + * cgen.h (cgen_insn): New element `cdx'. + +Thu Jul 30 21:44:25 1998 Frank Ch. Eigler <fche@cygnus.com> + + * d30v.h (FLAG_LKR): New flag for "left-kills-right" instructions. + +Tue Jul 28 10:59:07 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300.h: Add "no_match_operands" field for instructions. + (MN10300_MAX_OPERANDS): Define. + +Fri Jul 24 11:44:24 1998 Doug Evans <devans@canuck.cygnus.com> + + * cgen.h (cgen_macro_insn_count): Declare. + +Tue Jul 21 13:12:13 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Define. + (cgen_insert_fn,cgen_extract_fn): New arg `pc'. + (get_operand,put_operand): Replaced with get_{int,vma}_operand, + set_{int,vma}_operand. + +Fri Jun 26 11:09:06 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300.h: Add "machine" field for instructions. + (MN103, AM30): Define machine types. + +Fri Jun 19 16:09:09 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Use FP, not sl_Suf, for fxsave and fxrstor. + +1998-06-18 Ulrich Drepper <drepper@cygnus.com> + + * i386.h: Add support for fxsave, fxrstor, sysenter and sysexit. + +Sat Jun 13 11:31:35 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_optab): Add general form of aad and aam. Add ud2a + and ud2b. + (i386_regtab): Allow cr0..7, db0..7, dr0..7, tr0..7, not just + those that happen to be implemented on pentiums. + +Tue Jun 9 12:16:01 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Change occurences of Data16 to Size16, Data32 to Size32, + IgnoreDataSize to IgnoreSize. Flag address and data size prefixes + with Size16|IgnoreSize or Size32|IgnoreSize. + +Mon Jun 8 12:15:52 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (REPNE): Rename to REPNE_PREFIX_OPCODE. + (REPE): Rename to REPE_PREFIX_OPCODE. + (i386_regtab_end): Remove. + (i386_prefixtab, i386_prefixtab_end): Remove. + (i386_optab): Use NULL as sentinel rather than "" to suit rewrite + of md_begin. + (MAX_OPCODE_SIZE): Define. + (i386_optab_end): Remove. + (sl_Suf): Define. + (sl_FP): Use sl_Suf. + + * i386.h (i386_optab): Allow 16 bit displacement for `mov + mem,acc'. Combine 16 and 32 bit forms of various insns. Allow 16 + bit form of ljmp. Add IsPrefix modifier to prefixes. Add addr32, + data32, dword, and adword prefixes. + (i386_regtab): Add BaseIndex modifier to valid 16 bit base/index + regs. + +Fri Jun 5 23:42:43 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_regtab): Remove BaseIndex modifier from esp. + + * i386.h: Allow `l' suffix on fld, fst, fstp, fcom, fcomp with + register operands, because this is a common idiom. Flag them with + a warning. Allow illegal faddp, fsubp, fsubrp, fmulp, fdivp, + fdivrp because gcc erroneously generates them. Also flag with a + warning. + + * i386.h: Add suffix modifiers to most insns, and tighter operand + checks in some cases. Fix a number of UnixWare compatibility + issues with float insns. Merge some floating point opcodes, using + new FloatMF modifier. + (WORD_PREFIX_OPCODE): Rename to DATA_PREFIX_OPCODE for + consistency. + + * i386.h: Change occurence of ShortformW to W|ShortForm. Add + IgnoreDataSize where appropriate. + +Wed Jun 3 18:28:45 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: (one_byte_segment_defaults): Remove. + (two_byte_segment_defaults): Remove. + (i386_regtab): Add BaseIndex to 32 bit regs reg_type. + +Fri May 15 15:59:04 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (cgen_hw_lookup_by_name): Renamed from cgen_hw_lookup. + (cgen_hw_lookup_by_num): Declare. + +Thu May 7 09:27:58 1998 Frank Ch. Eigler <fche@cygnus.com> + + * mips.h (OP_{SH,MASK}_CODE2): Added "q" operand format for lower + ten bits of MIPS ISA1 "break" instruction, and for "sdbbp" + +Thu May 7 02:14:08 1998 Doug Evans <devans@charmed.cygnus.com> + + * cgen.h (cgen_asm_init_parse): Delete. + (cgen_save_fixups,cgen_restore_fixups,cgen_swap_fixups): Delete. + (cgen_asm_record_register,cgen_asm_finish_insn): Delete. + +Mon Apr 27 10:13:11 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_ATTR_TYPE): Delete `const', moved to uses. + (cgen_asm_finish_insn): Update prototype. + (cgen_insn): New members num, data. + (CGEN_INSN_TABLE): Members asm_hash, asm_hash_table_size, + dis_hash, dis_hash_table_size moved to ... + (CGEN_OPCODE_TABLE). Here. Renamed from CGEN_OPCODE_DATA. + All uses updated. New members asm_hash_p, dis_hash_p. + (CGEN_MINSN_EXPANSION): New struct. + (cgen_expand_macro_insn): Declare. + (cgen_macro_insn_count): Declare. + (get_insn_operands): Update prototype. + (lookup_get_insn_operands): Declare. + +Tue Apr 21 17:11:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_optab): Change iclrKludge and imulKludge to + regKludge. Add operands types for string instructions. + +Mon Apr 20 14:40:29 1998 Tom Tromey <tromey@cygnus.com> + + * i386.h (X): Renamed from `Z_' to preserve formatting of opcode + table. + +Sun Apr 19 13:54:06 1998 Tom Tromey <tromey@cygnus.com> + + * i386.h (Z_): Renamed from `_' to avoid clash with common alias + for `gettext'. + +Fri Apr 3 12:04:48 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Remove NoModrm flag from all insns: it's never checked. + Add IsString flag to string instructions. + (IS_STRING): Don't define. + (LOCK_PREFIX_OPCODE, CS_PREFIX_OPCODE, DS_PREFIX_OPCODE): Define. + (ES_PREFIX_OPCODE, FS_PREFIX_OPCODE, GS_PREFIX_OPCODE): Define. + (SS_PREFIX_OPCODE): Define. + +Mon Mar 30 21:31:56 1998 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Revert March 24 patch; no more LinearAddress. + +Mon Mar 30 10:25:54 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_optab): Remove fwait (9b) from all floating point + instructions, and instead add FWait opcode modifier. Add short + form of fldenv and fstenv. + (FWAIT_OPCODE): Define. + + * i386.h (i386_optab): Change second operand constraint of `mov + sreg,reg|mem' instruction from Reg16|Mem to WordReg|WordMem to + allow legal instructions such as `movl %gs,%esi' + +Fri Mar 27 18:30:52 1998 Ian Lance Taylor <ian@cygnus.com> + + * h8300.h: Various changes to fully bracket initializers. + +Tue Mar 24 18:32:47 1998 H.J. Lu <hjl@gnu.org> + + * i386.h: Set LinearAddress for lidt and lgdt. + +Mon Mar 2 10:44:07 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_BOOL_ATTR): New macro. + +Thu Feb 26 15:54:31 1998 Michael Meissner <meissner@cygnus.com> + + * d30v.h (FLAG_DELAY): New flag for delayed branches/jumps. + +Mon Feb 23 10:38:21 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_CAT3): Delete. Use CONCAT3 now. + (cgen_insn): Record syntax and format entries here, rather than + separately. + +Tue Feb 17 21:42:56 1998 Nick Clifton <nickc@cygnus.com> + + * cgen.h (CGEN_SYNTAX_MAKE_FIELD): New macro. + +Tue Feb 17 16:00:56 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (cgen_insert_fn): Change type of result to const char *. + (cgen_parse_{signed,unsigned}_integer): Delete min,max arguments. + (CGEN_{INSN,KEYWORD,OPERAND}_NBOOL_ATTRS): Renamed from ..._MAX_ATTRS. + +Thu Feb 12 18:30:41 1998 Doug Evans <devans@canuck.cygnus.com> + + * cgen.h (lookup_insn): New argument alias_p. + +Thu Feb 12 03:41:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + +Fix rac to accept only a0: + * d10v.h (OPERAND_ACC): Split into: + (OPERAND_ACC0, OPERAND_ACC1) . + (OPERAND_GPR): Define. + +Wed Feb 11 17:31:53 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_FIELDS): Define here. + (CGEN_HW_ENTRY): New member `type'. + (hw_list): Delete decl. + (enum cgen_mode): Declare. + (CGEN_OPERAND): New member `hw'. + (enum cgen_operand_instance_type): Declare. + (CGEN_OPERAND_INSTANCE): New type. + (CGEN_INSN): New member `operands'. + (CGEN_OPCODE_DATA): Make hw_list const. + (get_insn_operands,lookup_insn): Add prototypes for. + +Tue Feb 3 17:11:23 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_INSN_MAX_ATTRS): Renamed from CGEN_MAX_INSN_ATTRS. + (CGEN_HW_ENTRY): Move `next' entry to end of struct. + (CGEN_KEYWORD_MAX_ATTRS): Renamed from CGEN_MAX_KEYWORD_ATTRS. + (CGEN_OPERAND_MAX_ATTRS): Renamed from CGEN_MAX_OPERAND_ATTRS. + +Mon Feb 2 19:19:15 1998 Ian Lance Taylor <ian@cygnus.com> + + * cgen.h: Correct typo in comment end marker. + +Mon Feb 2 17:10:38 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU> + + * tic30.h: New file. + +Thu Jan 22 17:54:56 1998 Nick Clifton <nickc@cygnus.com> + + * cgen.h: Add prototypes for cgen_save_fixups(), + cgen_restore_fixups(), and cgen_swap_fixups(). Change prototype + of cgen_asm_finish_insn() to return a char *. + +Wed Jan 14 17:21:43 1998 Nick Clifton <nickc@cygnus.com> + + * cgen.h: Formatting changes to improve readability. + +Mon Jan 12 11:37:36 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (*): Clean up pass over `struct foo' usage. + (CGEN_ATTR): Make unsigned char. + (CGEN_ATTR_TYPE): Update. + (CGEN_ATTR_{ENTRY,TABLE}): New types. + (cgen_base): Move member `attrs' to cgen_insn. + (CGEN_KEYWORD): New member `null_entry'. + (CGEN_{SYNTAX,FORMAT}): New types. + (cgen_insn): Format and syntax separated from each other. + +Tue Dec 16 15:15:52 1997 Michael Meissner <meissner@cygnus.com> + + * d30v.h (d30v_opcode): Reorder flags somewhat, add new flags for + 2 word load/store, ADDppp/SUBppp, 16/32 bit multiply. Make + flags_{used,set} long. + (d30v_operand): Make flags field long. + +Mon Dec 1 12:24:44 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * m68k.h: Fix comment describing operand types. + +Sun Nov 23 22:31:27 1997 Michael Meissner <meissner@cygnus.com> + + * d30v.h (SHORT_CMPU): Add case for cmpu instruction, and move + everything else after down. + +Tue Nov 18 18:45:14 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * d10v.h (OPERAND_FLAG): Split into: + (OPERAND_FFLAG, OPERAND_CFLAG) . + +Thu Nov 13 11:04:24 1997 Gavin Koch <gavin@cygnus.com> + + * mips.h (struct mips_opcode): Changed comments to reflect new + field usage. + +Fri Oct 24 22:36:20 1997 Ken Raeburn <raeburn@cygnus.com> + + * mips.h: Added to comments a quick-ref list of all assigned + operand type characters. + (OP_{MASK,SH}_PERFREG): New macros. + +Wed Oct 22 17:28:33 1997 Richard Henderson <rth@cygnus.com> + + * sparc.h: Add '_' and '/' for v9a asr's. + Patch from David Miller <davem@vger.rutgers.edu> + +Tue Oct 14 13:22:29 1997 Jeffrey A Law (law@cygnus.com) + + * h8300.h: Bit ops with absolute addresses not in the 8 bit + area are not available in the base model (H8/300). + +Thu Sep 25 13:03:41 1997 Ian Lance Taylor <ian@cygnus.com> + + * m68k.h: Remove documentation of ` operand specifier. + +Wed Sep 24 19:00:34 1997 Ian Lance Taylor <ian@cygnus.com> + + * m68k.h: Document q and v operand specifiers. + +Mon Sep 15 18:28:37 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (struct v850_opcode): Add processors field. + (PROCESSOR_V850, PROCESSOR_ALL): New bit constants. + (PROCESSOR_V850E, PROCESSOR_NOT_V850): New bit constants. + (PROCESSOR_V850EA): New bit constants. + +Mon Sep 15 11:29:43 1997 Ken Raeburn <raeburn@cygnus.com> + + Merge changes from Martin Hunt: + + * d30v.h: Allow up to 64 control registers. Add + SHORT_A5S format. + + * d30v.h (LONG_Db): New form for delayed branches. + + * d30v.h: (LONG_Db): New form for repeati. + + * d30v.h (SHORT_D2B): New form. + + * d30v.h (SHORT_A2): New form. + + * d30v.h (OPERAND_2REG): Add new operand to indicate 2 + registers are used. Needed for VLIW optimization. + +Mon Sep 8 14:05:45 1997 Doug Evans <dje@canuck.cygnus.com> + + * cgen.h: Move assembler interface section + up so cgen_parse_operand_result is defined for cgen_parse_address. + (cgen_parse_address): Update prototype. + +Tue Sep 2 15:32:32 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (V850_OPREAND_ADJUST_SHORT_MEMORY): Removed. + +Tue Aug 26 12:21:52 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h (two_byte_segment_defaults): Correct base register 5 in + modes 1 and 2 to be ss rather than ds. From Gabriel Paubert + <paubert@iram.es>. + + * i386.h: Set ud2 to 0x0f0b. From Gabriel Paubert + <paubert@iram.es>. + + * i386.h: Comment fixes for ficom[p]?{s,l} from Gabriel Paubert + <paubert@iram.es>. + + * i386.h (JUMP_ON_CX_ZERO): Uncomment (define again). + (JUMP_ON_ECX_ZERO): Remove commented out macro. + +Fri Aug 22 10:38:29 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (V850_NOT_R0): New flag. + +Mon Aug 18 11:05:58 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (struct v850_opcode): Remove flags field. + +Wed Aug 13 18:45:48 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (struct v850_opcode): Add flags field. + (struct v850_operand): Extend meaning of 'bits' and 'shift' + fields. + (V850E_INSTRUCTION, V850EA_INSTRUCTION): New flags. + (V850E_PUSH_POP, V850E_IMMEDIATE16, V850E_IMMEDIATE32): New flags. + +Fri Aug 8 16:58:42 1997 Doug Evans <dje@canuck.cygnus.com> + + * arc.h: New file. + +Thu Jul 24 21:16:58 1997 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (sparc_opcodes): Declare as const. + +Thu Jul 10 12:53:25 1997 Jeffrey A Law (law@cygnus.com) + + * mips.h (FP_S, FP_D): Define. Bitmasks indicating if an insn + uses single or double precision floating point resources. + (INSN_NO_ISA, INSN_ISA1): Define. + (cpu specific INSN macros): Tweak into bitmasks outside the range + of INSN_ISA field. + +Mon Jun 16 14:10:00 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + * i386.h: Fix pand opcode. + +Mon Jun 2 11:35:09 1997 Gavin Koch <gavin@cygnus.com> + + * mips.h: Widen INSN_ISA and move it to a more convenient + bit position. Add INSN_3900. + +Tue May 20 11:25:29 1997 Gavin Koch <gavin@cygnus.com> + + * mips.h (struct mips_opcode): added new field membership. + +Mon May 12 16:26:50 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + * i386.h (movd): only Reg32 is allowed. + + * i386.h: add fcomp and ud2. From Wayne Scott + <wscott@ichips.intel.com>. + +Mon May 5 17:16:21 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Add MMX instructions. + +Mon May 5 12:45:19 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + * i386.h: Remove W modifier from conditional move instructions. + +Mon Apr 14 14:56:58 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Change the opcodes for fsubp, fsubrp, fdivp, and fdivrp + with no arguments to match that generated by the UnixWare + assembler. + +Thu Apr 10 14:35:00 1997 Doug Evans <dje@canuck.cygnus.com> + + * cgen.h (<cpu>_cgen_assemble_insn): New arg for errmsg. + (cgen_parse_operand_fn): Declare. + (cgen_init_parse_operand): Declare. + (cgen_parse_operand): Renamed from cgen_asm_parse_operand, + new argument `want'. + (enum cgen_parse_operand_result): Renamed from cgen_asm_result. + (enum cgen_parse_operand_type): New enum. + +Sat Apr 5 13:14:05 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Revert last patch for the NON_BROKEN_OPCODES cases. + +Fri Apr 4 11:46:11 1997 Doug Evans <dje@canuck.cygnus.com> + + * cgen.h: New file. + +Fri Apr 4 14:02:32 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Correct opcode values for fsubp, fsubrp, fdivp, and + fdivrp. + +Tue Mar 25 22:57:26 1997 Stu Grossman (grossman@critters.cygnus.com) + + * v850.h (extract): Make unsigned. + +Mon Mar 24 14:38:15 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Add iclr. + +Thu Mar 20 19:49:10 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Change DW to W for cmpxchg and xadd, since they don't + take a direction bit. + +Sat Mar 15 19:03:29 1997 H.J. Lu <hjl@lucon.org> + + * sparc.h (sparc_opcode_lookup_arch): Use full prototype. + +Fri Mar 14 15:22:01 1997 Ian Lance Taylor <ian@cygnus.com> + + * sparc.h: Include <ansidecl.h>. Update function declarations to + use prototypes, and to use const when appropriate. + +Thu Mar 6 14:18:30 1997 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_RELAX): Define. + +Mon Feb 24 15:15:56 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h: Change pre_defined_registers to + d10v_predefined_registers and reg_name_cnt to d10v_reg_name_cnt. + +Sat Feb 22 21:25:00 1997 Dawn Perchik <dawn@cygnus.com> + + * mips.h: Add macros for cop0, cop1 cop2 and cop3. + Change mips_opcodes from const array to a pointer, + and change bfd_mips_num_opcodes from const int to int, + so that we can increase the size of the mips opcodes table + dynamically. + +Fri Feb 21 16:34:18 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d30v.h (FLAG_X): Remove unused flag. + +Tue Feb 18 17:37:20 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d30v.h: New file. + +Fri Feb 14 13:16:15 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (PDS_NAME): Macro to access name field of predefined symbols. + (PDS_VALUE): Macro to access value field of predefined symbols. + (tic80_next_predefined_symbol): Add prototype. + +Mon Feb 10 10:32:17 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (tic80_symbol_to_value): Change prototype to match + change in function, added class parameter. + +Thu Feb 6 17:30:15 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_OPERAND_ENDMASK): Add for flagging TIc80 + endmask fields, which are somewhat weird in that 0 and 32 are + treated exactly the same. + +Thu Jan 30 13:46:18 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h: Change all the OPERAND defines to use the form (1 << X) + rather than a constant that is 2**X. Reorder them to put bits for + operands that have symbolic names in the upper bits, so they can + be packed into an int where the lower bits contain the value that + corresponds to that symbolic name. + (predefined_symbo): Add struct. + (tic80_predefined_symbols): Declare array of translations. + (tic80_num_predefined_symbols): Declare size of that array. + (tic80_value_to_symbol): Declare function. + (tic80_symbol_to_value): Declare function. + +Wed Jan 29 09:37:25 1997 Jeffrey A Law (law@cygnus.com) + + * mn10200.h (MN10200_OPERAND_RELAX): Define. + +Sat Jan 18 15:18:59 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_NO_R0_DEST): Add for opcodes where r0 cannot + be the destination register. + +Thu Jan 16 20:48:55 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (struct tic80_opcode): Change "format" field to "flags". + (FMT_UNUSED, FMT_SI, FMT_LI, FMT_REG): Delete. + (TIC80_VECTOR): Define a flag bit for the flags. This one means + that the opcode can have two vector instructions in a single + 32 bit word and we have to encode/decode both. + +Tue Jan 14 19:37:09 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_OPERAND_PCREL): Renamed from + TIC80_OPERAND_RELATIVE for PC relative. + (TIC80_OPERAND_BASEREL): New flag bit for register + base relative. + +Mon Jan 13 15:56:38 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_OPERAND_FLOAT): Add for floating point operands. + +Mon Jan 6 10:51:15 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_OPERAND_SCALED): Operand may have optional + ":s" modifier for scaling. + +Sun Jan 5 12:12:19 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_OPERAND_M_SI): Add operand modifier for ":m". + (TIC80_OPERAND_M_LI): Ditto + +Sat Jan 4 19:02:44 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_OPERAND_BITNUM): Renamed from TIC80_OPERAND_CC_SZ. + (TIC80_OPERAND_CC): New define for condition code operand. + (TIC80_OPERAND_CR): New define for control register operand. + +Fri Jan 3 16:22:23 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (struct tic80_opcode): Name changed. + (struct tic80_opcode): Remove format field. + (struct tic80_operand): Add insertion and extraction functions. + (TIC80_OPERAND_*): Remove old bogus values, start adding new + correct ones. + (FMT_*): Ditto. + +Tue Dec 31 15:05:41 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * v850.h (V850_OPERAND_ADJUST_SHORT_MEMORY): New flag to adjust + type IV instruction offsets. + +Fri Dec 27 22:23:10 1996 Fred Fish <fnf@cygnus.com> + + * tic80.h: New file. + +Wed Dec 18 10:06:31 1996 Jeffrey A Law (law@cygnus.com) + + * mn10200.h (MN10200_OPERAND_NOCHECK): Define. + +Sat Dec 14 10:48:31 1996 Fred Fish <fnf@ninemoons.com> + + * mn10200.h: Fix comment, mn10200_operand not powerpc_operand. + * mn10300.h: Fix comment, mn10300_operand not powerpc_operand. + * v850.h: Fix comment, v850_operand not powerpc_operand. + +Mon Dec 9 16:45:39 1996 Jeffrey A Law (law@cygnus.com) + + * mn10200.h: Flesh out structures and definitions needed by + the mn10200 assembler & disassembler. + +Tue Nov 26 10:46:56 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h: Add mips16 definitions. + +Mon Nov 25 17:56:54 1996 J.T. Conklin <jtc@cygnus.com> + + * m68k.h: Document new <, >, m, n, o and p operand specifiers. + +Wed Nov 20 10:59:41 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_PCREL): Define. + (MN10300_OPERAND_MEMADDR): Define. + +Tue Nov 19 13:30:40 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_REG_LIST): Define. + +Wed Nov 6 13:41:08 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_SPLIT): Define. + +Tue Nov 5 13:26:12 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_EXTENDED): Define. + +Mon Nov 4 12:52:48 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_REPEATED): Define. + +Fri Nov 1 10:31:02 1996 Richard Henderson <rth@tamu.edu> + + * alpha.h: Don't include "bfd.h"; private relocation types are now + negative to minimize problems with shared libraries. Organize + instruction subsets by AMASK extensions and PALcode + implementation. + (struct alpha_operand): Move flags slot for better packing. + +Tue Oct 29 12:19:10 1996 Jeffrey A Law (law@cygnus.com) + + * v850.h (V850_OPERAND_RELAX): New operand flag. + +Thu Oct 10 14:29:11 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (FMT_*): Move operand format definitions + here. + +Tue Oct 8 14:48:07 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_PAREN): Define. + +Mon Oct 7 16:52:11 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (mn10300_opcode): Add "format" field. + (MN10300_OPERAND_*): Define. + +Thu Oct 3 10:33:46 1996 Jeffrey A Law (law@cygnus.com) + + * mn10x00.h: Delete. + * mn10200.h, mn10300.h: New files. + +Wed Oct 2 21:31:26 1996 Jeffrey A Law (law@cygnus.com) + + * mn10x00.h: New file. + +Fri Sep 27 18:26:46 1996 Stu Grossman (grossman@critters.cygnus.com) + + * v850.h: Add new flag to indicate this instruction uses a PC + displacement. + +Fri Sep 13 14:58:13 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (stmac): Add missing instruction. + +Sat Aug 31 16:02:03 1996 Jeffrey A Law (law@cygnus.com) + + * v850.h (v850_opcode): Remove "size" field. Add "memop" + field. + +Fri Aug 23 10:39:08 1996 Jeffrey A Law (law@cygnus.com) + + * v850.h (V850_OPERAND_EP): Define. + + * v850.h (v850_opcode): Add size field. + +Thu Aug 22 16:51:25 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * v850.h (v850_operands): Add insert and extract fields, pointers + to functions used to handle unusual operand encoding. + (V850_OPERAND_REG, V850_OPERAND_SRG, V850_OPERAND_CC, + V850_OPERAND_SIGNED): Defined. + +Wed Aug 21 17:45:10 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * v850.h (v850_operands): Add flags field. + (OPERAND_REG, OPERAND_NUM): Defined. + +Tue Aug 20 14:52:02 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * v850.h: New file. + +Fri Aug 16 14:44:15 1996 James G. Smith <jsmith@cygnus.co.uk> + + * mips.h (OP_SH_LOCC, OP_SH_HICC, OP_MASK_CC, OP_SH_COP1NORM, + OP_MASK_COP1NORM, OP_SH_COP1SPEC, OP_MASK_COP1SPEC, + OP_MASK_COP1SCLR, OP_MASK_COP1CMP, OP_SH_COP1CMP, OP_SH_FORMAT, + OP_MASK_FORMAT, OP_SH_TRUE, OP_MASK_TRUE, OP_SH_GE, OP_MASK_GE, + OP_SH_UNSIGNED, OP_MASK_UNSIGNED, OP_SH_HINT, OP_MASK_HINT): + Defined. + +Fri Aug 16 00:15:15 1996 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pitlb, pitlbe, iitlba, iitlbp, fic, fice): Accept + a 3 bit space id instead of a 2 bit space id. + +Thu Aug 15 13:11:46 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h: Add some additional defines to support the + assembler in determining which operations can be done in parallel. + +Tue Aug 6 11:13:22 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (SN): Define. + (eepmov.b): Renamed from "eepmov" + (nop, bpt, rte, rts, sleep, clrmac): These have no size associated + with them. + +Fri Jul 26 11:47:10 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h (OPERAND_SHIFT): New operand flag. + +Thu Jul 25 12:06:22 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h: Changes for divs, parallel-only instructions, and + signed numbers. + +Mon Jul 22 11:21:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h (pd_reg): Define. Putting the definition here allows + the assembler and disassembler to share the same struct. + +Mon Jul 22 12:15:25 1996 Ian Lance Taylor <ian@cygnus.com> + + * i960.h (i960_opcodes): "halt" takes an argument. From Stephen + Williams <steve@icarus.com>. + +Wed Jul 17 14:46:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h: New file. + +Thu Jul 11 12:09:15 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (band, bclr): Force high bit of immediate nibble to zero. + +Wed Jul 3 14:30:12 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * m68k.h (mcf5200): New macro. + Document names of coldfire control registers. + +Tue Jul 2 23:05:45 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (SRC_IN_DST): Define. + + * h8300.h (UNOP3): Mark the register operand in this insn + as a source operand, not a destination operand. + (SHIFT_2, SHIFT_IMM): Remove. Eliminate all references. + (UNOP3): Change SHIFT_IMM to IMM for H8/S bitops. Mark + register operand with SRC_IN_DST. + +Fri Jun 21 13:52:17 1996 Richard Henderson <rth@tamu.edu> + + * alpha.h: New file. + +Thu Jun 20 15:02:57 1996 Ian Lance Taylor <ian@cygnus.com> + + * rs6k.h: Remove obsolete file. + +Wed Jun 19 15:29:38 1996 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Correct opcode values for faddp, fsubp, fsubrp, fmulp, + fdivp, and fdivrp. Add ffreep. + +Tue Jun 18 16:06:00 1996 Jeffrey A. Law <law@rtl.cygnus.com> + + * h8300.h: Reorder various #defines for readability. + (ABS32SRC, ABS32DST, DSP32LIST, ABS32LIST, A32LIST): Define. + (BITOP): Accept additional (unused) argument. All callers changed. + (EBITOP): Likewise. + (O_LAST): Bump. + (ldc, stc, movb, movw, movl): Use 32bit offsets and absolutes. + + * h8300.h (EXR, SHIFT_2, MACREG, SHIFT_IMM, RDINC): Define. + (O_TAS, O_CLRMAC, O_LDMAC, O_MAC, O_LDM, O_STM): Define. + (BITOP, EBITOP): Handle new H8/S addressing modes for + bit insns. + (UNOP3): Handle new shift/rotate insns on the H8/S. + (insns using exr): New instructions. + (tas, mac, ldmac, clrmac, ldm, stm): New instructions. + +Thu May 23 16:56:48 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (add.l): Undo Apr 5th change. The manual I had + was incorrect. + +Mon May 6 23:38:22 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (START): Remove. + (MEMRELAX): Define. Mark absolute memory operands in mov.b, mov.w + and mov.l insns that can be relaxed. + +Tue Apr 30 18:30:58 1996 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Remove Abs32 from lcall. + +Mon Apr 22 17:09:23 1996 Doug Evans <dje@blues.cygnus.com> + + * sparc.h (SPARC_OPCODE_ARCH_V9_P): New macro. + (SLCPOP): New macro. + Mark X,Y opcode letters as in use. + +Thu Apr 11 17:28:18 1996 Ian Lance Taylor <ian@cygnus.com> + + * sparc.h (F_FLOAT, F_FBR): Define. + +Fri Apr 5 16:55:34 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (ABS8MEM): Renamed from ABSMOV. Remove ABSMOV + from all insns. + (ABS8SRC,ABS8DST): Add ABS8MEM. + (add.l): Fix reg+reg variant. + (eepmov.w): Renamed from eepmovw. + (ldc,stc): Fix many cases. + +Sun Mar 31 13:30:03 1996 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (SPARC_OPCODE_ARCH_MASK): New macro. + +Thu Mar 7 15:08:23 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (O): Mark operand letter as in use. + +Tue Feb 20 20:46:21 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (sparc_{encode,decode}_sparclet_cpreg): Declare. + Mark operand letters uU as in use. + +Mon Feb 19 01:59:08 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_SPARCLET. + (sparc_opcode_arch): Delete member `conflicts'. Add `supported'. + (SPARC_OPCODE_SUPPORTED): New macro. + (SPARC_OPCODE_CONFLICT_P): Rewrite. + (F_NOTV9): Delete. + +Fri Feb 16 12:23:34 1996 Jeffrey A Law (law@cygnus.com) + + * sparc.h (sparc_opcode_lookup_arch) Make return type in + declaration consistent with return type in definition. + +Wed Feb 14 18:14:11 1996 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_optab): Remove Data32 from pushf and popf. + +Thu Feb 8 14:27:21 1996 James Carlson <carlson@xylogics.com> + + * i386.h (i386_regtab): Add 80486 test registers. + +Mon Feb 5 18:35:46 1996 Ian Lance Taylor <ian@cygnus.com> + + * i960.h (I_HX): Define. + (i960_opcodes): Add HX instruction. + +Mon Jan 29 12:43:39 1996 Ken Raeburn <raeburn@cygnus.com> + + * i386.h: Fix waiting forms of finit, fstenv, fsave, fstsw, fstcw, + and fclex. + +Wed Jan 24 22:36:59 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (enum sparc_opcode_arch_val): Replaces sparc_architecture. + (SPARC_OPCODE_CONFLICT_P): Renamed from ARCHITECTURES_CONFLICT_P. + (bfd_* defines): Delete. + (sparc_opcode_archs): Replaces architecture_pname. + (sparc_opcode_lookup_arch): Declare. + (NUMOPCODES): Delete. + +Mon Jan 22 08:24:32 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (enum sparc_architecture): Add v9a. + (ARCHITECTURES_CONFLICT_P): Update. + +Thu Dec 28 13:27:53 1995 John Hassey <hassey@rtp.dg.com> + + * i386.h: Added Pentium Pro instructions. + +Thu Nov 2 22:59:22 1995 Ian Lance Taylor <ian@cygnus.com> + + * m68k.h: Document new 'W' operand place. + +Tue Oct 24 10:49:10 1995 Jeffrey A Law (law@cygnus.com) + + * hppa.h: Add lci and syncdma instructions. + +Mon Oct 23 11:09:16 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk> + + * mips.h: Added INSN_4100 flag to mark NEC VR4100 specific + instructions. + +Mon Oct 16 10:28:15 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * ppc.h (PPC_OPCODE_{COMMON,ANY}): New opcode flags for + assembler's -mcom and -many switches. + +Wed Oct 11 16:56:33 1995 Ken Raeburn <raeburn@cygnus.com> + + * i386.h: Fix cmpxchg8b extension opcode description. + +Thu Oct 5 18:03:36 1995 Ken Raeburn <raeburn@cygnus.com> + + * i386.h: Add Pentium instructions wrmsr, rdtsc, rdmsr, cmpxchg8b, + and register cr4. + +Tue Sep 19 15:26:43 1995 Ian Lance Taylor <ian@cygnus.com> + + * m68k.h: Change comment: split type P into types 0, 1 and 2. + +Wed Aug 30 13:50:55 1995 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (sparc_{encode,decode}_prefetch): Declare. + +Tue Aug 29 15:34:58 1995 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (sparc_{encode,decode}_{asi,membar}): Declare. + +Wed Aug 2 18:32:19 1995 Ian Lance Taylor <ian@cygnus.com> + + * m68kmri.h: Remove. + + * m68k.h: Move tables into opcodes/m68k-opc.c, leaving just the + declarations. Remove F_ALIAS and flag field of struct + m68k_opcode. Change arch field of struct m68k_opcode to unsigned + int. Make name and args fields of struct m68k_opcode const. + +Wed Aug 2 08:16:46 1995 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (F_NOTV9): Define. + +Tue Jul 11 14:20:42 1995 Jeff Spiegel <jeffs@lsil.com> + + * mips.h (INSN_4010): Define. + +Wed Jun 21 18:49:51 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * m68k.h (TBL1): Reverse sense of "round" argument in result. + + Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>: + * m68k.h: Fix argument descriptions of coprocessor + instructions to allow only alterable operands where appropriate. + [!NO_DEFAULT_SIZES]: An omitted size defaults to `w'. + (m68k_opcode_aliases): Add more aliases. + +Fri Apr 14 22:15:34 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * m68k.h: Added explcitly short-sized conditional branches, and a + bunch of aliases (fmov*, ftest*, tdivul) to support gcc's + svr4-based configurations. + +Mon Mar 13 21:30:01 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + Mon Feb 27 08:36:39 1995 Bryan Ford <baford@cs.utah.edu> + * i386.h: added missing Data16/Data32 flags to a few instructions. + +Wed Mar 8 15:19:53 1995 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (OP_MASK_FR, OP_SH_FR): Define. + (OP_MASK_BCC, OP_SH_BCC): Define. + (OP_MASK_PREFX, OP_SH_PREFX): Define. + (OP_MASK_CCC, OP_SH_CCC): Define. + (INSN_READ_FPR_R): Define. + (INSN_RFE): Delete. + +Wed Mar 8 03:13:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * m68k.h (enum m68k_architecture): Deleted. + (struct m68k_opcode_alias): New type. + (m68k_opcodes): Now const. Deleted opcode aliases with exactly + matching constraints, values and flags. As a side effect of this, + the MOTOROLA_SYNTAX_ONLY and MIT_SYNTAX_ONLY macros, which so far + as I know were never used, now may need re-examining. + (numopcodes): Now const. + (m68k_opcode_aliases, numaliases): New variables. + (endop): Deleted. + [DONT_DEFINE_TABLE]: Declare numopcodes, numaliases, and + m68k_opcode_aliases; update declaration of m68k_opcodes. + +Mon Mar 6 10:02:00 1995 Jeff Law (law@snake.cs.utah.edu) + + * hppa.h (delay_type): Delete unused enumeration. + (pa_opcode): Replace unused delayed field with an architecture + field. + (pa_opcodes): Mark each instruction as either PA1.0 or PA1.1. + +Fri Mar 3 16:10:24 1995 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (INSN_ISA4): Define. + +Fri Feb 24 19:13:37 1995 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (M_DLA_AB, M_DLI): Define. + +Thu Feb 23 17:33:09 1995 Jeff Law (law@snake.cs.utah.edu) + + * hppa.h (fstwx): Fix single-bit error. + +Wed Feb 15 12:19:52 1995 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (M_ULD, M_ULD_A, M_USD, M_USD_A): Define. + +Mon Feb 6 10:35:23 1995 J.T. Conklin <jtc@rtl.cygnus.com> + + * i386.h: added cpuid instruction , and dr[0-7] aliases for the + debug registers. From Charles Hannum (mycroft@netbsd.org). + +Mon Feb 6 03:31:54 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + Changes from Bryan Ford <baford@schirf.cs.utah.edu> for 16-bit + i386 support: + * i386.h (MOV_AX_DISP32): New macro. + (i386_optab): Added Data16 and Data32 as needed. Added "w" forms + of several call/return instructions. + (ADDR_PREFIX_OPCODE): New macro. + +Mon Jan 23 16:45:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + Sat Jan 21 17:50:38 1995 Pat Rankin (rankin@eql.caltech.edu) + + * vax.h (struct vot_wot, field `args'): Make it pointer to const + char. + (struct vot, field `name'): ditto. + +Thu Jan 19 14:47:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * vax.h: Supply and properly group all values in end sentinel. + +Tue Jan 17 10:55:30 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * mips.h (INSN_ISA, INSN_4650): Define. + +Wed Oct 19 13:34:17 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * a29k.h: Add operand type 'I' for `inv' and `iretinv'. On + systems with a separate instruction and data cache, such as the + 29040, these instructions take an optional argument. + +Wed Sep 14 17:44:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * mips.h (INSN_STORE_MEMORY): Correct value to not conflict with + INSN_TRAP. + +Tue Sep 6 11:39:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * mips.h (INSN_STORE_MEMORY): Define. + +Thu Jul 28 19:28:07 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * sparc.h: Document new operand type 'x'. + +Tue Jul 26 17:48:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * i960.h (I_CX2): New instruction category. It includes + instructions available on Cx and Jx processors. + (I_JX): New instruction category, for JX-only instructions. + (i960_opcodes): Put eshro and sysctl in I_CX2 category. Added + Jx-only instructions, in I_JX category. + +Wed Jul 13 18:43:47 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * ns32k.h (endop): Made pointer const too. + +Sun Jul 10 11:01:09 1994 Ian Dall (dall@hfrd.dsto.gov.au) + + * ns32k.h: Drop Q operand type as there is no correct use + for it. Add I and Z operand types which allow better checking. + +Thu Jul 7 12:34:48 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * h8300.h (xor.l) :fix bit pattern. + (L_2): New size of operand. + (trapa): Use it. + +Fri Jun 10 16:38:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * m68k.h: Move "trap" before "tpcc" to change disassembly. + +Fri Jun 3 15:57:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * sparc.h: Include v9 definitions. + +Thu Jun 2 12:23:17 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * m68k.h (m68060): Defined. + (m68040up, mfloat, mmmu): Include it. + (struct m68k_opcode): Widen `arch' field. + (m68k_opcodes): Updated for M68060. Removed comments that were + instructions commented out by "JF" years ago. + +Thu Apr 28 18:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * m68k.h (struct m68k_opcode): Shorten `arch' field to 8 bits, and + add a one-bit `flags' field. + (F_ALIAS): New macro. + +Wed Apr 27 11:29:52 1994 Steve Chamberlain (sac@cygnus.com) + + * h8300.h (dec, inc): Get encoding right. + +Mon Apr 4 13:12:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ppc.h (struct powerpc_operand): Removed signedp field; just use + a flag instead. + (PPC_OPERAND_SIGNED): Define. + (PPC_OPERAND_SIGNOPT): Define. + +Thu Mar 31 19:34:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * i386.h (IS_JUMP_ON_ECX_ZERO, "jcxz" pattern): Operand size + prefix is 0x66, not 0x67. Patch from H.J. Lu (hlu@nynexst.com). + +Thu Mar 3 15:51:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * i386.h: Reverse last change. It'll be handled in gas instead. + +Thu Feb 24 15:29:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * i386.h (sar): Disabled the two-operand Imm1 form, since it was + slower on the 486 and used the implicit shift count despite the + explicit operand. The one-operand form is still available to get + the shorter form with the implicit shift count. + +Thu Feb 17 12:27:52 1994 Torbjorn Granlund (tege@mexican.cygnus.com) + + * hppa.h: Fix typo in fstws arg string. + +Wed Feb 9 21:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ppc.h (struct powerpc_opcode): Make operands field unsigned. + +Mon Feb 7 19:14:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ppc.h (PPC_OPCODE_601): Define. + +Fri Feb 4 23:43:50 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa.h (addb): Use '@' for addb and addib pseudo ops. + (so we can determine valid completers for both addb and addb[tf].) + + * hppa.h (xmpyu): No floating point format specifier for the + xmpyu instruction. + +Fri Feb 4 23:36:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ppc.h (PPC_OPERAND_NEXT): Define. + (PPC_OPERAND_NEGATIVE): Change value to make room for above. + (struct powerpc_macro): Define. + (powerpc_macros, powerpc_num_macros): Declare. + +Fri Jan 21 19:13:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ppc.h: New file. Header file for PowerPC opcode table. + +Mon Jan 17 00:14:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa.h: More minor template fixes for sfu and copr (to allow + for easier disassembly). + + * hppa.h: Fix templates for all the sfu and copr instructions. + +Wed Dec 15 15:12:42 1993 Ken Raeburn (raeburn@cujo.cygnus.com) + + * i386.h (push): Permit Imm16 operand too. + +Sat Dec 11 16:14:06 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * h8300.h (andc): Exists in base arch. + +Wed Dec 1 12:15:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * From Hisashi MINAMINO <minamino@sramhc.sra.co.jp> + * hppa.h: #undef NONE to avoid conflict with hiux include files. + +Sun Nov 21 22:06:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa.h: Add FP quadword store instructions. + +Wed Nov 17 17:13:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h: (M_J_A): Added. + (M_LA): Removed. + +Mon Nov 8 12:12:47 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (OP_MASK_CACHE, OP_SH_CACHE): Define. From Ted Lemon + <mellon@pepper.ncd.com>. + +Sun Nov 7 00:30:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa.h: Immediate field in probei instructions is unsigned, + not low-sign extended. + +Wed Nov 3 10:30:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * m88k.h (RRI10MASK): Change from 0xfc00ffe0 to 0xfc00fc00. + +Tue Nov 2 12:41:30 1993 Ken Raeburn (raeburn@rover.cygnus.com) + + * i386.h: Add "fxch" without operand. + +Mon Nov 1 18:13:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (M_JAL_1, M_JAL_2, M_JAL_A): Added. + +Sat Oct 2 22:26:11 1993 Jeffrey A Law (law@snake.cs.utah.edu) + + * hppa.h: Add gfw and gfr to the opcode table. + +Wed Sep 29 16:23:00 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * m88k.h: extended to handle m88110. + +Tue Sep 28 19:19:08 1993 Jeffrey A Law (law@snake.cs.utah.edu) + + * hppa.h (be, ble): Use operand type 'z' to denote absolute branch + addresses. + +Tue Sep 14 14:04:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * i960.h (i960_opcodes): Properly bracket initializers. + +Mon Sep 13 12:50:52 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * m88k.h (BOFLAG): rewrite to avoid nested comment. + +Mon Sep 13 15:46:06 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * m68k.h (two): Protect second argument with parentheses. + +Fri Sep 10 16:29:47 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * i386.h (i386_optab): Added new instruction "rsm" (for i386sl). + Deleted old in/out instructions in "#if 0" section. + +Thu Sep 9 17:42:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * i386.h (i386_optab): Properly bracket initializers. + +Wed Aug 25 13:50:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * hppa.h (pa_opcode): Use '|' for movb and movib insns. (From + Jeff Law, law@cs.utah.edu). + +Mon Aug 23 16:55:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * i386.h (lcall): Accept Imm32 operand also. + +Mon Aug 23 12:43:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (M_ABSU): Removed (absolute value of unsigned number??). + (M_DABS): Added. + +Thu Aug 19 15:08:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (INSN_*): Changed values. Removed unused definitions. + Added INSN_COND_BRANCH_LIKELY, INSN_ISA2 and INSN_ISA3. Split + INSN_LOAD_DELAY into INSN_LOAD_MEMORY_DELAY and + INSN_LOAD_COPROC_DELAY. Split INSN_COPROC_DELAY into + INSN_COPROC_MOVE_DELAY and INSN_COPROC_MEMORY_DELAY. + (M_*): Added new values for r6000 and r4000 macros. + (ANY_DELAY): Removed. + +Wed Aug 18 15:37:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h: Added M_LI_S and M_LI_SS. + +Tue Aug 17 07:08:08 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * h8300.h: Get some rare mov.bs correct. + +Thu Aug 5 09:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * sparc.h: Don't define const ourself; rely on ansidecl.h having + been included. + +Fri Jul 30 18:41:11 1993 John Gilmore (gnu@cygnus.com) + + * sparc.h (F_JSR, F_UNBR, F_CONDBR): Add new flags to mark + jump instructions, for use in disassemblers. + +Thu Jul 22 07:25:27 1993 Ian Lance Taylor (ian@cygnus.com) + + * m88k.h: Make bitfields just unsigned, not unsigned long or + unsigned short. + +Wed Jul 21 11:55:31 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * hppa.h: New argument type 'y'. Use in various float instructions. + +Mon Jul 19 17:17:03 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * hppa.h (break): First immediate field is unsigned. + + * hppa.h: Add rfir instruction. + +Sun Jul 18 16:28:08 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * mips.h: Split the actual table out into ../../opcodes/mips-opc.c. + +Fri Jul 16 09:59:29 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.h: Reworked the hazard information somewhat, and fixed some + bugs in the instruction hazard descriptions. + +Thu Jul 15 12:42:01 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * m88k.h: Corrected a couple of opcodes. + +Tue Jul 6 15:17:35 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.h: Replaced with version from Ralph Campbell and OSF. The + new version includes instruction hazard information, but is + otherwise reasonably similar. + +Thu Jul 1 20:36:17 1993 Doug Evans (dje@canuck.cygnus.com) + + * h8300.h: Fix typo in UNOP3 (affected sh[al][lr].l). + +Fri Jun 11 18:38:44 1993 Ken Raeburn (raeburn@cygnus.com) + + Patches from Jeff Law, law@cs.utah.edu: + * hppa.h: Clean up some of the OLD_TABLE, non-OLD_TABLE braindamage. + Make the tables be the same for the following instructions: + "bb", "addb[tf]", "addib[tf]", "add", "add[loc]", "addco", + "sh[123]add", "sh[123]add[lo]", "sub", "sub[obt]", "sub[bt]o", + "ds", "comclr", "addi", "addi[ot]", "addito", "subi", "subio", + "comiclr", "fadd", "fsub", "fmpy", "fdiv", "fsqrt", "fabs", + "frnd", "fcpy", "fcnvff", "fcnvxf", "fcnvfx", "fcnvfxt", + "fcmp", and "ftest". + + * hppa.h: Make new and old tables the same for "break", "mtctl", + "mfctl", "bb", "ssm", "rsm", "xmpyu", "fmpyadd", "fmpysub". + Fix typo in last patch. Collapse several #ifdefs into a + single #ifdef. + + * hppa.h: Delete remaining OLD_TABLE code. Bring some + of the comments up-to-date. + + * hppa.h: Update "free list" of letters and update + comments describing each letter's function. + +Thu Jul 8 09:05:26 1993 Doug Evans (dje@canuck.cygnus.com) + + * h8300.h: Lots of little fixes for the h8/300h. + +Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + Support for H8/300-H + * h8300.h: Lots of new opcodes. + +Fri Jun 4 15:41:37 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * h8300.h: checkpoint, includes H8/300-H opcodes. + +Thu Jun 3 15:42:59 1993 Stu Grossman (grossman@cygnus.com) + + * Patches from Jeffrey Law <law@cs.utah.edu>. + * hppa.h: Rework single precision FP + instructions so that they correctly disassemble code + PA1.1 code. + +Thu May 27 19:21:22 1993 Bruce Bauman (boot@osf.org) + + * i386.h (i386_optab, mov pattern): Remove Mem16 restriction from + mov to allow instructions like mov ss,xyz(ecx) to assemble. + +Tue May 25 00:39:40 1993 Ken Raeburn (raeburn@cygnus.com) + + * hppa.h: Use new version from Utah if OLD_TABLE isn't defined; + gdb will define it for now. + +Mon May 24 15:20:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * sparc.h: Don't end enumerator list with comma. + +Fri May 14 15:15:50 1993 Ian Lance Taylor (ian@cygnus.com) + + * Based on patches from davidj@ICSI.Berkeley.EDU (David Johnson): + * mips.h (OP_MASK_COPZ, OP_SH_COPZ): Define. + ("bc2t"): Correct typo. + ("[ls]wc[023]"): Use T rather than t. + ("c[0123]"): Define general coprocessor instructions. + +Mon May 10 06:02:25 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * m68k.h: Move split point for gcc compilation more towards + middle. + +Fri Apr 9 13:26:16 1993 Jim Kingdon (kingdon@cygnus.com) + + * rs6k.h: Clean up instructions for primary opcode 19 (many were + simply wrong, ics, rfi, & rfsvc were missing). + Add "a" to opr_ext for "bb". Doc fix. + +Thu Mar 18 13:45:31 1993 Per Bothner (bothner@rtl.cygnus.com) + + * i386.h: 486 extensions from John Hassey (hassey@dg-rtp.dg.com). + * mips.h: Add casts, to suppress warnings about shifting too much. + * m68k.h: Document the placement code '9'. + +Thu Feb 18 02:03:14 1993 John Gilmore (gnu@cygnus.com) + + * m68k.h (BREAK_UP_BIG_DECL, AND_OTHER_PART): Add kludge which + allows callers to break up the large initialized struct full of + opcodes into two half-sized ones. This permits GCC to compile + this module, since it takes exponential space for initializers. + (numopcodes, endop): Revise to use AND_OTHER_PART in size calcs. + +Thu Feb 4 02:06:56 1993 John Gilmore (gnu@cygnus.com) + + * a29k.h: Remove RCS crud, update GPL to v2, update copyrights. + * convex.h: Added, from GDB's convx-opcode.h. Added CONST to all + initialized structs in it. + +Thu Jan 28 21:32:22 1993 John Gilmore (gnu@cygnus.com) + + Delta 88 changes inspired by Carl Greco, <cgreco@Creighton.Edu>: + * m88k.h (PMEM): Avoid previous definition from <sys/param.h>. + (AND): Change to AND_ to avoid ansidecl.h `AND' conflict. + +Sat Jan 23 18:10:49 PST 1993 Ralph Campbell (ralphc@pyramid.com) + + * mips.h: document "i" and "j" operands correctly. + +Thu Jan 7 15:58:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h: Removed endianness dependency. + +Sun Jan 3 14:13:35 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * h8300.h: include info on number of cycles per instruction. + +Mon Dec 21 21:29:08 1992 Stu Grossman (grossman at cygnus.com) + + * hppa.h: Move handy aliases to the front. Fix masks for extract + and deposit instructions. + +Sat Dec 12 16:09:48 1992 Ian Lance Taylor (ian@cygnus.com) + + * i386.h: accept shld and shrd both with and without the shift + count argument, which is always %cl. + +Fri Nov 27 17:13:18 1992 Ken Raeburn (raeburn at cygnus.com) + + * i386.h (i386_optab_end, i386_regtab_end): Now const. + (one_byte_segment_defaults, two_byte_segment_defaults, + i386_prefixtab_end): Ditto. + +Mon Nov 23 10:47:25 1992 Ken Raeburn (raeburn@cygnus.com) + + * vax.h (bb*): Use "v" (bitfield type), not "a" (address operand) + for operand 2; from John Carr, jfc@dsg.dec.com. + +Wed Nov 4 07:36:49 1992 Ken Raeburn (raeburn@cygnus.com) + + * m68k.h: Define FIXED_SIZE_BRANCH, so bsr and bra instructions + always use 16-bit offsets. Makes calculated-size jump tables + feasible. + +Fri Oct 16 22:52:43 1992 Ken Raeburn (raeburn@cygnus.com) + + * i386.h: Fix one-operand forms of in* and out* patterns. + +Tue Sep 22 14:08:14 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * m68k.h: Added CPU32 support. + +Tue Sep 22 00:38:41 1992 John Gilmore (gnu@cygnus.com) + + * mips.h (break): Disassemble the argument. Patch from + jonathan@cs.stanford.edu (Jonathan Stone). + +Wed Sep 9 11:25:28 1992 Ian Lance Taylor (ian@cygnus.com) + + * m68k.h: merged Motorola and MIT syntax. + +Thu Sep 3 09:33:22 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * m68k.h (pmove): make the tests less strict, the 68k book is + wrong. + +Tue Aug 25 23:25:19 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * m68k.h (m68ec030): Defined as alias for 68030. + (m68k_opcodes): New type characters "3" for 68030 MMU regs and "t" + for immediate 0-7 added. Set up some opcodes (ptest, bkpt) to use + them. Tightened description of "fmovex" to distinguish it from + some "pmove" encodings. Added "pmove" for 68030 MMU regs, cleaned + up descriptions that claimed versions were available for chips not + supporting them. Added "pmovefd". + +Mon Aug 24 12:04:51 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * m68k.h: fix where the . goes in divull + +Wed Aug 19 11:22:24 1992 Ian Lance Taylor (ian@cygnus.com) + + * m68k.h: the cas2 instruction is supposed to be written with + indirection on the last two operands, which can be either data or + address registers. Added a new operand type 'r' which accepts + either register type. Added new cases for cas2l and cas2w which + use them. Corrected masks for cas2 which failed to recognize use + of address register. + +Fri Aug 14 14:20:38 1992 Per Bothner (bothner@cygnus.com) + + * m68k.h: Merged in patches (mostly m68040-specific) from + Colin Smith <colin@wrs.com>. + + * m68k.h: Merged m68kmri.h and m68k.h (using the former as a + base). Also cleaned up duplicates, re-ordered instructions for + the sake of dis-assembling (so aliases come after standard names). + * m68kmri.h: Now just defines some macros, and #includes m68k.h. + +Wed Aug 12 16:38:15 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * m68kmri.h: added various opcodes. Moved jbxx to bxxes. Filled in + all missing .s + +Mon Aug 10 23:22:33 1992 Ken Raeburn (raeburn@cygnus.com) + + * sparc.h: Moved tables to BFD library. + + * i386.h (i386_optab): Add fildq, fistpq aliases used by gcc. + +Sun Jun 28 13:29:03 1992 Fred Fish (fnf@cygnus.com) + + * h8300.h: Finish filling in all the holes in the opcode table, + so that the Lucid C compiler can digest this as well... + +Fri Jun 26 21:27:17 1992 John Gilmore (gnu at cygnus.com) + + * i386.h: Add setc, setnc, addr16, data16, repz, repnz aliases. + Fix opcodes on various sizes of fild/fist instructions + (16bit=no suffix, 32bit="l" suffix, 64bit="ll" suffix). + Use tabs to indent for comments. Fixes suggested by Minh Tran-Le. + +Thu Jun 25 16:13:26 1992 Stu Grossman (grossman at cygnus.com) + + * h8300.h: Fill in all the holes in the opcode table so that the + losing HPUX C compiler can digest this... + +Thu Jun 11 12:15:25 1992 John Gilmore (gnu at cygnus.com) + + * mips.h: Fix decoding of coprocessor instructions, somewhat. + (Fix by Eric Anderson, 3jean@maas-neotek.arc.nasa.gov.) + +Thu May 28 11:17:44 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * sparc.h: Add new architecture variant sparclite; add its scan + and divscc opcodes. Define ARCHITECTURES_CONFLICT_P macro. + +Tue May 5 14:23:27 1992 Per Bothner (bothner@rtl.cygnus.com) + + * mips.h: Add some more opcode synonyms (from Frank Yellin, + fy@lucid.com). + +Thu Apr 16 18:25:26 1992 Per Bothner (bothner@cygnus.com) + + * rs6k.h: New version from IBM (Metin). + +Thu Apr 9 00:31:19 1992 Per Bothner (bothner@rtl.cygnus.com) + + * rs6k.h: Fix incorrect extended opcode for instructions `fm' + and `fd'. (From metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik).) + +Tue Apr 7 13:38:47 1992 Stu Grossman (grossman at cygnus.com) + + * rs6k.h: Move from ../../gdb/rs6k-opcode.h. + +Fri Apr 3 11:30:20 1992 Fred Fish (fnf@cygnus.com) + + * m68k.h (one, two): Cast macro args to unsigned to suppress + complaints from compiler and lint about integer overflow during + shift. + +Sun Mar 29 12:22:08 1992 John Gilmore (gnu at cygnus.com) + + * sparc.h (OP): Avoid signed overflow when shifting to high order bit. + +Fri Mar 6 00:22:38 1992 John Gilmore (gnu at cygnus.com) + + * mips.h: Make bitfield layout depend on the HOST compiler, + not on the TARGET system. + +Fri Feb 21 01:29:51 1992 K. Richard Pixley (rich@cygnus.com) + + * i386.h: added inb, inw, outb, outw opcodes, added att syntax for + scmp, slod, smov, ssca, ssto. Curtesy Minh Tran-Le + <TRANLE@INTELLICORP.COM>. + +Thu Jan 30 07:31:44 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * h8300.h: turned op_type enum into #define list + +Thu Jan 30 01:07:24 1992 John Gilmore (gnu at cygnus.com) + + * sparc.h: Remove "cypress" architecture. Remove "fitox" and + similar instructions -- they've been renamed to "fitoq", etc. + REALLY fix tsubcctv. Fix "fcmpeq" and "fcmpq" which had wrong + number of arguments. + * h8300.h: Remove extra ; which produces compiler warning. + +Tue Jan 28 22:59:22 1992 Stu Grossman (grossman at cygnus.com) + + * sparc.h: fix opcode for tsubcctv. + +Tue Jan 7 17:19:39 1992 K. Richard Pixley (rich at cygnus.com) + + * sparc.h: fba and cba are now aliases for fb and cb respectively. + +Fri Dec 27 10:55:50 1991 Per Bothner (bothner at cygnus.com) + + * sparc.h (nop): Made the 'lose' field be even tighter, + so only a standard 'nop' is disassembled as a nop. + +Sun Dec 22 12:18:18 1991 Michael Tiemann (tiemann at cygnus.com) + + * sparc.h (nop): Add RD_GO to `lose' so that only %g0 in dest is + disassembled as a nop. + +Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com) + + * m68k.h, sparc.h: ANSIfy enums. + +Tue Dec 10 00:22:20 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * sparc.h: fix a typo. + +Sat Nov 30 20:40:51 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * a29k.h, arm.h, h8300.h, i386.h, i860.h, i960.h , m68k.h, + m88k.h, mips.h , np1.h, ns32k.h, pn.h, pyr.h, sparc.h, tahoe.h, + vax.h: Renamed from ../<foo>-opcode.h. + + +Local Variables: +version-control: never +End: diff --git a/libiberty/configure.ac b/libiberty/configure.ac new file mode 100644 index 0000000..e8907e7 --- /dev/null +++ b/libiberty/configure.ac @@ -0,0 +1,530 @@ +dnl Process this file with autoconf to produce a configure script + +AC_PREREQ(2.57) +AC_INIT(xmalloc.c) + +# This works around the fact that libtool configuration may change LD +# for this particular configuration, but some shells, instead of +# keeping the changes in LD private, export them just because LD is +# exported. We don't use libtool yet, but some day we might, so... +ORIGINAL_LD_FOR_MULTILIBS=$LD + +dnl We use these options to decide which functions to include. +AC_ARG_WITH(target-subdir, +[ --with-target-subdir=SUBDIR Configuring in a subdirectory for target]) +AC_ARG_WITH(build-subdir, +[ --with-build-subdir=SUBDIR Configuring in a subdirectory for build]) +AC_ARG_WITH(cross-host, +[ --with-cross-host=HOST Configuring with a cross compiler]) +AC_ARG_WITH(newlib, +[ --with-newlib Configuring with newlib]) + +if test "${srcdir}" = "."; then + if test -n "${with_build_subdir}"; then + libiberty_topdir="${srcdir}/../.." + with_target_subdir= + elif test -z "${with_target_subdir}"; then + libiberty_topdir="${srcdir}/.." + else + if test "${with_target_subdir}" != "."; then + libiberty_topdir="${srcdir}/${with_multisrctop}../.." + else + libiberty_topdir="${srcdir}/${with_multisrctop}.." + fi + fi +else + libiberty_topdir="${srcdir}/.." +fi +AC_SUBST(libiberty_topdir) +AC_CONFIG_AUX_DIR($libiberty_topdir) + +dnl Very limited version of automake's enable-maintainer-mode + +AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode + enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + maintainer_mode=$enableval, + maintainer_mode=no) + +AC_MSG_RESULT($maintainer_mode) + +if test "$maintainer_mode" = "yes"; then + MAINT='' + NOTMAINT='#' +else + MAINT='#' + NOTMAINT='' +fi +AC_SUBST(MAINT)dnl +AC_SUBST(NOTMAINT)dnl + +# Do we have a single-tree copy of texinfo? Even if we do, we can't +# rely on it - libiberty is built before texinfo. +AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ) +if test "x$MAKEINFO" = "x"; then + MAKEINFO="@echo makeinfo missing; true" + BUILD_INFO= +else + BUILD_INFO=info + case "$MAKEINFO" in + */missing\ makeinfo*) + BUILD_INFO= + AC_MSG_WARN([ +*** Makeinfo is missing. Info documentation will not be built.]) + ;; + *) + case x"`$MAKEINFO --version | grep 'GNU texinfo'`" in + x*\ [[1-3]].* ) + MAKEINFO="@echo $MAKEINFO is too old, 4.0 or newer required; true" + BUILD_INFO= + AC_MSG_WARN([ +*** Makeinfo is too old. Info documentation will not be built.]) + ;; + esac + ;; + esac +fi +AC_SUBST(MAKEINFO) +AC_SUBST(BUILD_INFO) + +AC_CHECK_PROG(PERL, perl, perl, ) +if test x"$PERL" = x""; then + HAVE_PERL='#' +else + HAVE_PERL='' +fi +AC_SUBST(HAVE_PERL) + +AC_CANONICAL_HOST + +dnl When we start using automake: +dnl AM_INIT_AUTOMAKE(libiberty, 1.0) + +dnl These must be called before AM_PROG_LIBTOOL, because it may want +dnl to call AC_CHECK_PROG. +AC_CHECK_TOOL(AR, ar) +AC_CHECK_TOOL(RANLIB, ranlib, :) + +GCC_NO_EXECUTABLES +AC_PROG_CC +AC_PROG_CPP_WERROR + +if test x$GCC = xyes; then + ac_libiberty_warn_cflags='-W -Wall -Wtraditional -pedantic' +fi +AC_SUBST(ac_libiberty_warn_cflags) + +AC_PROG_CC_C_O +# autoconf is lame and doesn't give us any substitution variable for this. +if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then + NO_MINUS_C_MINUS_O=yes +else + OUTPUT_OPTION='-o $@' +fi +AC_SUBST(NO_MINUS_C_MINUS_O) +AC_SUBST(OUTPUT_OPTION) + +AC_C_CONST +AC_C_INLINE +AC_C_BIGENDIAN_CROSS + +dnl When we start using libtool: +dnl Default to a non shared library. This may be overridden by the +dnl configure option --enable-shared. +dnl AM_DISABLE_SHARED + +dnl When we start using libtool: +dnl AM_PROG_LIBTOOL + +dnl When we start using automake: +dnl AM_CONFIG_HEADER(config.h:config.in) +AC_CONFIG_HEADER(config.h:config.in) + +dnl When we start using automake: +dnl AM_MAINTAINER_MODE +dnl AC_EXEEXT + +dnl When we start using automake: +dnl AM_PROG_INSTALL +AC_PROG_INSTALL + +. ${srcdir}/config.table +host_makefile_frag=${frag} +AC_SUBST_FILE(host_makefile_frag) + +# It's OK to check for header files. Although the compiler may not be +# able to link anything, it had better be able to at least compile +# something. +AC_CHECK_HEADERS(sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h) +AC_HEADER_SYS_WAIT +AC_HEADER_TIME + +libiberty_AC_DECLARE_ERRNO + +AC_CHECK_TYPE(uintptr_t, unsigned long) +# Given the above check, we always have uintptr_t or a fallback +# definition. So define HAVE_UINTPTR_T in case any imported code +# relies on it. +AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if you have the \`uintptr_t' type.]) + +AC_TYPE_PID_T + +# This is the list of functions which libiberty will provide if they +# are not available on the host. + +funcs="asprintf" +funcs="$funcs atexit" +funcs="$funcs basename" +funcs="$funcs bcmp" +funcs="$funcs bcopy" +funcs="$funcs bsearch" +funcs="$funcs bzero" +funcs="$funcs calloc" +funcs="$funcs clock" +funcs="$funcs ffs" +funcs="$funcs getcwd" +funcs="$funcs getpagesize" +funcs="$funcs index" +funcs="$funcs insque" +funcs="$funcs memchr" +funcs="$funcs memcmp" +funcs="$funcs memcpy" +funcs="$funcs memmove" +funcs="$funcs mempcpy" +funcs="$funcs memset" +funcs="$funcs mkstemps" +funcs="$funcs putenv" +funcs="$funcs random" +funcs="$funcs rename" +funcs="$funcs rindex" +funcs="$funcs setenv" +funcs="$funcs snprintf" +funcs="$funcs sigsetmask" +funcs="$funcs stpcpy" +funcs="$funcs stpncpy" +funcs="$funcs strcasecmp" +funcs="$funcs strchr" +funcs="$funcs strdup" +funcs="$funcs strncasecmp" +funcs="$funcs strrchr" +funcs="$funcs strstr" +funcs="$funcs strtod" +funcs="$funcs strtol" +funcs="$funcs strtoul" +funcs="$funcs tmpnam" +funcs="$funcs vasprintf" +funcs="$funcs vfprintf" +funcs="$funcs vprintf" +funcs="$funcs vsnprintf" +funcs="$funcs vsprintf" +funcs="$funcs waitpid" + +# Also in the old function.def file: alloca, vfork, getopt. + +vars="sys_errlist sys_nerr sys_siglist" + +checkfuncs="getrusage on_exit psignal strerror strsignal sysconf times sbrk gettimeofday" +checkfuncs="$checkfuncs realpath canonicalize_file_name pstat_getstatic pstat_getdynamic sysmp" +checkfuncs="$checkfuncs getsysinfo table sysctl" + +# These are neither executed nor required, but they help keep +# autoheader happy without adding a bunch of text to acconfig.h. +if test "x" = "y"; then + AC_CHECK_FUNCS(asprintf atexit basename bcmp bcopy bsearch bzero calloc clock \ + getcwd getpagesize index insque mkstemps memchr memcmp memcpy \ + memmove mempcpy memset putenv random rename rindex sigsetmask \ + strcasecmp setenv stpcpy stpncpy strchr strdup strncasecmp strrchr strstr \ + strtod strtol strtoul tmpnam vasprintf vfprintf vprintf \ + vsprintf waitpid getrusage on_exit psignal strerror strsignal \ + sysconf times sbrk gettimeofday ffs snprintf vsnprintf \ + pstat_getstatic pstat_getdynamic sysmp getsysinfo table sysctl \ + realpath canonicalize_file_name) + AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if you have the sys_errlist variable.]) + AC_DEFINE(HAVE_SYS_NERR, 1, [Define if you have the sys_nerr variable.]) + AC_DEFINE(HAVE_SYS_SIGLIST, 1, [Define if you have the sys_siglist variable.]) +fi + +# For each of these functions, if the host does not provide the +# function we want to put FN.o in LIBOBJS, and if the host does +# provide the function, we want to define HAVE_FN in config.h. + +setobjs= +CHECK= +target_header_dir= +if test -n "${with_target_subdir}"; then + + # We are being configured as a target library. AC_REPLACE_FUNCS + # may not work correctly, because the compiler may not be able to + # link executables. Note that we may still be being configured + # native. + + # If we are being configured for newlib, we know which functions + # newlib provide and which ones we will be expected to provide. + + if test "x${with_newlib}" = "xyes"; then + AC_LIBOBJ([asprintf]) + AC_LIBOBJ([basename]) + AC_LIBOBJ([insque]) + AC_LIBOBJ([random]) + AC_LIBOBJ([strdup]) + AC_LIBOBJ([vasprintf]) + + for f in $funcs; do + case "$f" in + asprintf | basename | insque | random | strdup | vasprintf) + ;; + *) + n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + AC_DEFINE_UNQUOTED($n) + ;; + esac + done + + # newlib doesnt provide any of the variables in $vars, so we + # dont have to check them here. + + # Of the functions in $checkfuncs, newlib only has strerror. + AC_DEFINE_NOAUTOHEADER(HAVE_STRERROR) + + setobjs=yes + + fi + + # We may wish to install the target headers somewhere. + AC_ARG_ENABLE(install-libiberty, + [ --enable-install-libiberty Install headers for end users], + enable_install_libiberty=$enableval, + enable_install_libiberty=no)dnl + + # Option parsed, now set things appropriately. + case x"$enable_install_libiberty" in + xyes|x) + target_header_dir=libiberty + ;; + xno) + target_header_dir= + ;; + *) + # This could be sanity-checked in various ways... + target_header_dir="${enable_install_libiberty}" + ;; + esac + + +else + + # Not a target library, so we set things up to run the test suite. + CHECK=check-cplus-dem + +fi + +AC_SUBST(CHECK) +AC_SUBST(target_header_dir) + +case "${host}" in + *-*-cygwin* | *-*-mingw*) + AC_DEFINE_NOAUTOHEADER(HAVE_SYS_ERRLIST) + AC_DEFINE_NOAUTOHEADER(HAVE_SYS_NERR) + ;; +esac + +if test -z "${setobjs}"; then + case "${host}" in + + *-*-vxworks*) + # Handle VxWorks configuration specially, since on VxWorks the + # libraries are actually on the target board, not in the file + # system. + AC_LIBOBJ([basename]) + AC_LIBOBJ([getpagesize]) + AC_LIBOBJ([insque]) + AC_LIBOBJ([random]) + AC_LIBOBJ([strcasecmp]) + AC_LIBOBJ([strncasecmp]) + AC_LIBOBJ([strdup]) + AC_LIBOBJ([vfork]) + AC_LIBOBJ([waitpid]) + AC_LIBOBJ([vasprintf]) + for f in $funcs; do + case "$f" in + basename | getpagesize | insque | random | strcasecmp) + ;; + strncasecmp | strdup | vfork | waitpid | vasprintf) + ;; + *) + n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + AC_DEFINE_UNQUOTED($n) + ;; + esac + done + + # VxWorks doesn't provide any of the variables in $vars, so we + # don't have to check them here. + + # Of the functions in $checkfuncs, VxWorks only has strerror. + AC_DEFINE_NOAUTOHEADER(HAVE_STRERROR) + + setobjs=yes + ;; + + esac +fi + +if test -z "${setobjs}"; then + + case "${host}" in + + *-*-cygwin*) + # The Cygwin library actually uses a couple of files from + # libiberty when it is built. If we are building a native + # Cygwin, and we run the tests, we will appear to have these + # files. However, when we go on to build winsup, we will wind up + # with a library which does not have the files, since they should + # have come from libiberty. + + # We handle this by removing the functions the winsup library + # provides from our shell variables, so that they appear to be + # missing. + + # DJ - only if we're *building* cygwin, not just building *with* cygwin + + if test -n "${with_target_subdir}" + then + funcs="`echo $funcs | sed -e 's/random//'`" + AC_LIBOBJ([random]) + vars="`echo $vars | sed -e 's/sys_siglist//'`" + checkfuncs="`echo $checkfuncs | sed -e 's/strsignal//' -e 's/psignal//'`" + fi + ;; + + *-*-mingw32*) + # Under mingw32, sys_nerr and sys_errlist exist, but they are + # macros, so the test below won't find them. + libiberty_cv_var_sys_nerr=yes + libiberty_cv_var_sys_errlist=yes + ;; + + *-*-uwin*) + # Under some versions of uwin, vfork is notoriously buggy and the test + # can hang configure; on other versions, vfork exists just as a stub. + # FIXME: This should be removed once vfork in uwin's runtime is fixed. + ac_cv_func_vfork_works=no + # Under uwin 2.0+, sys_nerr and sys_errlist exist, but they are + # macros (actually, these are imported from a DLL, but the end effect + # is the same), so the test below won't find them. + libiberty_cv_var_sys_nerr=yes + libiberty_cv_var_sys_errlist=yes + ;; + + *-*-*vms*) + # Under VMS, vfork works very different than on Unix. The standard test + # won't work, and it isn't easily adaptable. It makes more sense to + # just force it. + ac_cv_func_vfork_works=yes + ;; + + esac + + # We haven't set the list of objects yet. Use the standard autoconf + # tests. This will only work if the compiler works. + AC_ISC_POSIX + AC_REPLACE_FUNCS($funcs) + libiberty_AC_FUNC_C_ALLOCA + AC_FUNC_VFORK + if test $ac_cv_func_vfork_works = no; then + AC_LIBOBJ([vfork]) + fi + # We only need _doprnt if we might use it to implement v*printf. + if test $ac_cv_func_vprintf != yes \ + || test $ac_cv_func_vfprintf != yes \ + || test $ac_cv_func_vsprintf != yes; then + AC_REPLACE_FUNCS(_doprnt) + else + AC_CHECK_FUNCS(_doprnt) + fi + + for v in $vars; do + AC_MSG_CHECKING([for $v]) + AC_CACHE_VAL(libiberty_cv_var_$v, + [AC_TRY_LINK([int *p;], [extern int $v []; p = $v;], + [eval "libiberty_cv_var_$v=yes"], + [eval "libiberty_cv_var_$v=no"])]) + if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then + AC_MSG_RESULT(yes) + n=HAVE_`echo $v | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + AC_DEFINE_UNQUOTED($n) + else + AC_MSG_RESULT(no) + fi + done + + # special check for _system_configuration because AIX <4.3.2 do not + # contain the `physmem' member. + AC_MSG_CHECKING([for external symbol _system_configuration]) + AC_TRY_COMPILE([#include <sys/systemcfg.h>], + [double x = _system_configuration.physmem;], + [AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1, + [Define if you have the _system_configuration variable.])], + [AC_MSG_RESULT([no])]) + + AC_CHECK_FUNCS($checkfuncs) + libiberty_NEED_DECLARATION(canonicalize_file_name) +fi + +# Figure out which version of pexecute to use. +case "${host}" in + *-*-mingw* | *-*-winnt*) pexecute=./pex-win32.o ;; + *-*-msdosdjgpp*) pexecute=./pex-djgpp.o ;; + *-*-msdos*) pexecute=./pex-msdos.o ;; + *-*-os2-emx*) pexecute=./pex-os2.o ;; + *) pexecute=./pex-unix.o ;; +esac +AC_SUBST(pexecute) + +libiberty_AC_FUNC_STRNCMP + +# Install a library built with a cross compiler in $(tooldir) rather +# than $(libdir). +if test -z "${with_cross_host}"; then + INSTALL_DEST=libdir +else + INSTALL_DEST=tooldir +fi +AC_SUBST(INSTALL_DEST) + +m4_pattern_allow(LIBOBJS) +L="" +for l in x $LIBOBJS; do + case $l in + x) ;; + *) L="$L ./$l" ;; + esac +done +LIBOBJS="$L" + +# We need multilib support, but only if configuring for the target. +AC_OUTPUT(Makefile testsuite/Makefile, +[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h +if test -n "$CONFIG_FILES"; then + if test -n "${with_build_subdir}" || test -n "${with_target_subdir}"; then + # FIXME: We shouldn't need to set ac_file + ac_file=Makefile + LD="${ORIGINAL_LD_FOR_MULTILIBS}" + . ${libiberty_topdir}/config-ml.in + fi +fi], +srcdir=${srcdir} +host=${host} +target=${target} +with_target_subdir=${with_target_subdir} +with_build_subdir=${with_build_subdir} +with_multisubdir=${with_multisubdir} +ac_configure_args="--enable-multilib ${ac_configure_args}" +CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} +ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}" +libiberty_topdir=${libiberty_topdir} +) diff --git a/libiberty/cp-demangle.h b/libiberty/cp-demangle.h new file mode 100644 index 0000000..d3c57ce --- /dev/null +++ b/libiberty/cp-demangle.h @@ -0,0 +1,139 @@ +/* Internal demangler interface for g++ V3 ABI. + Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Written by Ian Lance Taylor <ian@wasabisystems.com>. + + This file is part of the libiberty library, which is part of GCC. + + This file is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + In addition to the permissions in the GNU General Public License, the + Free Software Foundation gives you unlimited permission to link the + compiled version of this file into combinations with other programs, + and to distribute those combinations without any restriction coming + from the use of this file. (The General Public License restrictions + do apply in other respects; for example, they cover modification of + the file, and distribution when not linked into a combined + executable.) + + 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. +*/ + +/* This file provides some definitions shared by cp-demangle.c and + cp-demint.c. It should not be included by any other files. */ + +/* Information we keep for operators. */ + +struct demangle_operator_info +{ + /* Mangled name. */ + const char *code; + /* Real name. */ + const char *name; + /* Length of real name. */ + int len; + /* Number of arguments. */ + int args; +}; + +/* How to print the value of a builtin type. */ + +enum d_builtin_type_print +{ + /* Print as (type)val. */ + D_PRINT_DEFAULT, + /* Print as integer. */ + D_PRINT_INT, + /* Print as long, with trailing `l'. */ + D_PRINT_LONG, + /* Print as bool. */ + D_PRINT_BOOL, + /* Print in usual way, but here to detect void. */ + D_PRINT_VOID +}; + +/* Information we keep for a builtin type. */ + +struct demangle_builtin_type_info +{ + /* Type name. */ + const char *name; + /* Length of type name. */ + int len; + /* Type name when using Java. */ + const char *java_name; + /* Length of java name. */ + int java_len; + /* How to print a value of this type. */ + enum d_builtin_type_print print; +}; + +/* The information structure we pass around. */ + +struct d_info +{ + /* The string we are demangling. */ + const char *s; + /* The end of the string we are demangling. */ + const char *send; + /* The options passed to the demangler. */ + int options; + /* The next character in the string to consider. */ + const char *n; + /* The array of components. */ + struct demangle_component *comps; + /* The index of the next available component. */ + int next_comp; + /* The number of available component structures. */ + int num_comps; + /* The array of substitutions. */ + struct demangle_component **subs; + /* The index of the next substitution. */ + int next_sub; + /* The number of available entries in the subs array. */ + int num_subs; + /* The number of substitutions which we actually made from the subs + array, plus the number of template parameter references we + saw. */ + int did_subs; + /* The last name we saw, for constructors and destructors. */ + struct demangle_component *last_name; + /* A running total of the length of large expansions from the + mangled name to the demangled name, such as standard + substitutions and builtin types. */ + int expansion; +}; + +#define d_peek_char(di) (*((di)->n)) +#define d_peek_next_char(di) ((di)->n[1]) +#define d_advance(di, i) ((di)->n += (i)) +#define d_next_char(di) (*((di)->n++)) +#define d_str(di) ((di)->n) + +/* Functions and arrays in cp-demangle.c which are referenced by + functions in cp-demint.c. */ + +extern const struct demangle_operator_info cplus_demangle_operators[]; + +#define D_BUILTIN_TYPE_COUNT (26) + +extern const struct demangle_builtin_type_info +cplus_demangle_builtin_types[D_BUILTIN_TYPE_COUNT]; + +extern struct demangle_component * +cplus_demangle_mangled_name PARAMS ((struct d_info *, int)); + +extern struct demangle_component * +cplus_demangle_type PARAMS ((struct d_info *)); + +extern void +cplus_demangle_init_info PARAMS ((const char *, int, size_t, struct d_info *)); diff --git a/libiberty/cp-demint.c b/libiberty/cp-demint.c new file mode 100644 index 0000000..533202d --- /dev/null +++ b/libiberty/cp-demint.c @@ -0,0 +1,241 @@ +/* Demangler component interface functions. + Copyright (C) 2004 Free Software Foundation, Inc. + Written by Ian Lance Taylor <ian@wasabisystems.com>. + + This file is part of the libiberty library, which is part of GCC. + + This file is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + In addition to the permissions in the GNU General Public License, the + Free Software Foundation gives you unlimited permission to link the + compiled version of this file into combinations with other programs, + and to distribute those combinations without any restriction coming + from the use of this file. (The General Public License restrictions + do apply in other respects; for example, they cover modification of + the file, and distribution when not linked into a combined + executable.) + + 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. +*/ + +/* This file implements a few interface functions which are provided + for use with struct demangle_component trees. These functions are + declared in demangle.h. These functions are closely tied to the + demangler code in cp-demangle.c, and other interface functions can + be found in that file. We put these functions in a separate file + because they are not needed by the demangler, and so we avoid + having them pulled in by programs which only need the + demangler. */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif +#ifdef HAVE_STRING_H +#include <string.h> +#endif + +#include "ansidecl.h" +#include "libiberty.h" +#include "demangle.h" +#include "cp-demangle.h" + +/* Fill in most component types. */ + +int +cplus_demangle_fill_component (p, type, left, right) + struct demangle_component *p; + enum demangle_component_type type; + struct demangle_component *left; + struct demangle_component *right; +{ + if (p == NULL) + return 0; + switch (type) + { + case DEMANGLE_COMPONENT_QUAL_NAME: + case DEMANGLE_COMPONENT_LOCAL_NAME: + case DEMANGLE_COMPONENT_TYPED_NAME: + case DEMANGLE_COMPONENT_TEMPLATE: + case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE: + case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL: + case DEMANGLE_COMPONENT_FUNCTION_TYPE: + case DEMANGLE_COMPONENT_ARRAY_TYPE: + case DEMANGLE_COMPONENT_PTRMEM_TYPE: + case DEMANGLE_COMPONENT_ARGLIST: + case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST: + case DEMANGLE_COMPONENT_UNARY: + case DEMANGLE_COMPONENT_BINARY: + case DEMANGLE_COMPONENT_BINARY_ARGS: + case DEMANGLE_COMPONENT_TRINARY: + case DEMANGLE_COMPONENT_TRINARY_ARG1: + case DEMANGLE_COMPONENT_TRINARY_ARG2: + case DEMANGLE_COMPONENT_LITERAL: + case DEMANGLE_COMPONENT_LITERAL_NEG: + break; + + /* These component types only have one subtree. */ + case DEMANGLE_COMPONENT_VTABLE: + case DEMANGLE_COMPONENT_VTT: + case DEMANGLE_COMPONENT_TYPEINFO: + case DEMANGLE_COMPONENT_TYPEINFO_NAME: + case DEMANGLE_COMPONENT_TYPEINFO_FN: + case DEMANGLE_COMPONENT_THUNK: + case DEMANGLE_COMPONENT_VIRTUAL_THUNK: + case DEMANGLE_COMPONENT_COVARIANT_THUNK: + case DEMANGLE_COMPONENT_JAVA_CLASS: + case DEMANGLE_COMPONENT_GUARD: + case DEMANGLE_COMPONENT_REFTEMP: + case DEMANGLE_COMPONENT_RESTRICT: + case DEMANGLE_COMPONENT_VOLATILE: + case DEMANGLE_COMPONENT_CONST: + case DEMANGLE_COMPONENT_RESTRICT_THIS: + case DEMANGLE_COMPONENT_VOLATILE_THIS: + case DEMANGLE_COMPONENT_CONST_THIS: + case DEMANGLE_COMPONENT_POINTER: + case DEMANGLE_COMPONENT_REFERENCE: + case DEMANGLE_COMPONENT_COMPLEX: + case DEMANGLE_COMPONENT_IMAGINARY: + case DEMANGLE_COMPONENT_VENDOR_TYPE: + case DEMANGLE_COMPONENT_CAST: + if (right != NULL) + return 0; + break; + + default: + /* Other types do not use subtrees. */ + return 0; + } + + p->type = type; + p->u.s_binary.left = left; + p->u.s_binary.right = right; + + return 1; +} + +/* Fill in a DEMANGLE_COMPONENT_BUILTIN_TYPE. */ + +int +cplus_demangle_fill_builtin_type (p, typename) + struct demangle_component *p; + const char *typename; +{ + int len; + unsigned int i; + + if (p == NULL || typename == NULL) + return 0; + len = strlen (typename); + for (i = 0; i < D_BUILTIN_TYPE_COUNT; ++i) + { + if (len == cplus_demangle_builtin_types[i].len + && strcmp (typename, cplus_demangle_builtin_types[i].name) == 0) + { + p->type = DEMANGLE_COMPONENT_BUILTIN_TYPE; + p->u.s_builtin.type = &cplus_demangle_builtin_types[i]; + return 1; + } + } + return 0; +} + +/* Fill in a DEMANGLE_COMPONENT_OPERATOR. */ + +int +cplus_demangle_fill_operator (p, opname, args) + struct demangle_component *p; + const char *opname; + int args; +{ + int len; + unsigned int i; + + if (p == NULL || opname == NULL) + return 0; + len = strlen (opname); + for (i = 0; cplus_demangle_operators[i].name != NULL; ++i) + { + if (len == cplus_demangle_operators[i].len + && args == cplus_demangle_operators[i].args + && strcmp (opname, cplus_demangle_operators[i].name) == 0) + { + p->type = DEMANGLE_COMPONENT_OPERATOR; + p->u.s_operator.op = &cplus_demangle_operators[i]; + return 1; + } + } + return 0; +} + +/* Translate a mangled name into components. */ + +struct demangle_component * +cplus_demangle_v3_components (mangled, options, mem) + const char *mangled; + int options; + void **mem; +{ + size_t len; + int type; + struct d_info di; + struct demangle_component *dc; + + len = strlen (mangled); + + if (mangled[0] == '_' && mangled[1] == 'Z') + type = 0; + else + { + if ((options & DMGL_TYPES) == 0) + return NULL; + type = 1; + } + + cplus_demangle_init_info (mangled, options, len, &di); + + di.comps = ((struct demangle_component *) + malloc (di.num_comps * sizeof (struct demangle_component))); + di.subs = ((struct demangle_component **) + malloc (di.num_subs * sizeof (struct demangle_component *))); + if (di.comps == NULL || di.subs == NULL) + { + if (di.comps != NULL) + free (di.comps); + if (di.subs != NULL) + free (di.subs); + return NULL; + } + + if (! type) + dc = cplus_demangle_mangled_name (&di, 1); + else + dc = cplus_demangle_type (&di); + + /* If DMGL_PARAMS is set, then if we didn't consume the entire + mangled string, then we didn't successfully demangle it. */ + if ((options & DMGL_PARAMS) != 0 && d_peek_char (&di) != '\0') + dc = NULL; + + free (di.subs); + + if (dc != NULL) + *mem = di.comps; + else + free (di.comps); + + return dc; +} diff --git a/opcodes/ChangeLog-0001 b/opcodes/ChangeLog-0001 new file mode 100644 index 0000000..085453a --- /dev/null +++ b/opcodes/ChangeLog-0001 @@ -0,0 +1,2224 @@ +2001-12-31 Jeffrey A Law (law@redhat.com) + + * hppa-dis.c (print_insn_hppa): Handle new 'c' mode completers, + 'X', 'M', and 'A'. No longer emit a space after 'x' or 's'. + Always emit a space after 'H'. + +2001-12-18 matthew green <mrg@redhat.com> + + * ppc-opc.c (PPCVEC): Include PPC_OPCODE_ANY. + +2001-12-17 Richard Henderson <rth@redhat.com> + + * alpha-opc.c (unop): Encode with RB as $sp. + +2001-12-07 Geoffrey Keating <geoffk@redhat.com> + + * Makefile.am: Add support for xstormy16. + * Makefile.in: Regenerate. + * configure.in: Add support for xstormy16. + * configure: Regenerate. + * disassemble.c: Add support for xstormy16. + * xstormy16-asm.c: New generated file. + * xstormy16-desc.c: New generated file. + * xstormy16-desc.h: New generated file. + * xstormy16-dis.c: New generated file. + * xstormy16-ibld.c: New generated file. + * xstormy16-opc.c: New generated file. + * xstormy16-opc.h: New generated file. + +2001-12-06 Richard Henderson <rth@redhat.com> + + * alpha-opc.c (alpha_opcodes): Add wh64en. + +2001-12-04 Alexandre Oliva <aoliva@redhat.com> + + * d10v-opc.c (d10v_predefined_registers): Remove warnings + introduced in Nov 29's patch. + + * d10v-dis.c (print_operand): Apply REGISTER_MASK to `num' of + unmatched register. + + * d10v-dis.c (print_operand): Disregard OPERAND_SP in register + predefined value. + + * d10v-opc.c (RSRC_NOSP): New macro. + (d10v_operands): Add it. + (d10v_opcodes): Use RSRC_NOSP in post-decrement "st" and "st2w". + +2001-11-29 Alexandre Oliva <aoliva@redhat.com> + + * d10v-opc.c (d10v_predefined_registers): Mark `sp' as OPERAND_SP. + (RSRC_SP): New macro. + (d10v_operands): Add it. + (d10v_opcodes): Adjust "st" and "st2w" to use RSRC_SP. + +2001-11-23 Lars Brinkhoff <lars@nocrew.org> + + * pdp11-dis.c (print_insn_pdp11): Handle illegal instructions. + Also, break out of the loop as soon as an instruction has been + printed. + +2001-11-17 matthew green <mrg@redhat.com> + + * ppc-opc.c (mfvrsave, mtvrsave): New instructions. + +2001-11-15 Alan Modra <amodra@bigpond.net.au> + + * po/POTFILES.in: Regenerate. + + * ppc-opc.c (PPC64): Revert 2001-10-12. Do include PPC_OPCODE_PPC. + (insert_bat, extract_bat, insert_bba, extract_bba, + insert_bd, extract_bd, insert_bdm, extract_bdm, + insert_bdp, extract_bdp, valid_bo, + insert_bo, extract_bo, insert_boe, extract_boe, + insert_ds, extract_ds, insert_de, extract_de, + insert_des, extract_des, insert_li, extract_li, + insert_mbe, extract_mbe, insert_mb6, extract_mb6, + insert_nb, extract_nb, insert_nsi, extract_nsi, + insert_ral, insert_ram, insert_ras, + insert_rbs, extract_rbs, insert_sh6, extract_sh6, + insert_spr, extract_spr, insert_tbr, extract_tbr): Add dialect param. + (extract_bd, extract_bdm, extract_bdp, + extract_ds, extract_des, + extract_li, extract_nsi): Implement sign extension without conditional. + (insert_bdm, extract_bdm, + insert_bdp, extract_bdp, valid_bo): Handle 64 bit branch hints. + (extract_bdm, extract_bdp): Correct 32 bit validation. + (AT1_MASK, AT2_MASK): Define. + (BBOAT_MASK): Define. + (BBOATCB_MASK, BBOAT2CB_MASK, BBOATBI_MASK): Define. + (BOFM64, BOFP64, BOTM64, BOTP64): Define. + (BODNZM64, BODNZP64, BODZM64, BODZP64): Define. + (PPCCOM32, PPCCOM64): Define. + (powerpc_opcodes): Modify existing 32 bit insns with branch hints + and add new patterns to implement 64 bit branches with hints. Move + booke instructions so they match before ppc64. + + * ppc-dis.c (powerpc_dialect): Set PPC_OPCODE_64 in dialect for + 64 bit default targets, and parse "32" and "64" in options. + Formatting fixes. + (print_insn_powerpc): Pass dialect to operand->extract. + +2001-11-14 Dave Brolley <brolley@redhat.com> + + * cgen-dis.c (count_decodable_bits): New function. + (add_insn_to_hash_chain): New function. + (hash_insn_array): Call add_insn_to_hash_chain. + (hash_insn_list): Call add_insn_to_hash_chain. + * m32r-dis.c: Regenerated. + * fr30-dis.c: Regenerated. + +2001-11-14 Andreas Jaeger <aj@suse.de> + + * i386-dis.c (print_insn): Use x86-64 as option. + +2001-11-14 Alan Modra <amodra@bigpond.net.au> + + * disassemble.c (disassembler): Call print_insn_i386. + * i386-dis.c (SUFFIX_ALWAYS): Define. + (struct dis_private): Add orig_sizeflag. + (print_insn_i386): Make it a wrapper, calling.. + (print_insn): ..The old body of print_insn_i386. Avoid longjmp + warning without using volatile by moving orig_sizeflag to priv, + and removing inbuf. Parse disassembler_options. + (print_insn_i386_att, print_insn_i386_intel): Move initialisation + code to print_insn. + (putop): Remove #ifdef SUFFIX_ALWAYS. + +2001-11-11 Timothy Wall <twall@alum.mit.edu> + + * tic54x-dis.c: Use revised opcode structure. Export opcode + template lookup. + (has_lkaddr): Don't forget about Lmem insns. + * tic54x-opc.c: Add emulation trap. Parallel table now uses + standard opcode templates. + +2001-11-13 Zack Weinberg <zack@codesourcery.com> + + * i386-dis.c (grps): Change "sldt", "str", and "smsw" entries + to "sldtQ", "strQ", "smswQ" respectively; all with Ev operand + category instead of Ew. + +2001-11-12 Niraj Gupta <ngupta@zumanetworks.com> + + * m68k-opc.c: Fix definitions of wddata[bwl]. + +2001-11-09 Richard Sandiford <rsandifo@redhat.com> + + * cgen-asm.c (cgen_parse_keyword): If the keyword is too big to + fit in the buffer, try to match the empty keyword. + +2001-11-09 Nick Clifton <nickc@cambridge.redhat.com> + + * cgen-ibld.in (extract_1): Fix badly placed #if 0. + * fr30-ibld.c: Regenerate. + * m32r-ibld.c: Regenerate. + * openrisc-ibld.c: Regenerate. + +2001-11-04 Chris Demetriou <cgd@broadcom.com> + + * mips-dis.c (print_insn_mips): Remove spaces at end of line. + +2001-11-02 Nick Clifton <nickc@cambridge.redhat.com> + + * configure.in (ALL_LINGUAS): Add "fr", "sv" and "tr". + * configure: Regernate. + * po/fr.po: New file. + * po/sv.po: New file. + * po/tr.po: New file. + +2001-11-01 Stephane Carrez <Stephane.Carrez@worldnet.fr> + + * m68hc11-dis.c (print_insn): Fix disassembly of movb with a + constant as source. + +2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> + + * Makefile.am (CFILES): Add mmix-dis.c and mmix-opc.c. Regenerate + dependencies. + * Makefile.in: Regenerate. + * mmix-dis.c, mmix-opc.c: New files. + +2001-10-29 Kazu Hirata <kazu@hxi.com> + + * d30v-dis.c: Fix a comment typo. + +2001-10-23 Chris Demetriou <cgd@broadcom.com> + + * mips-opc.c (mips_builtin_opcodes): Mark "bgezall" and + "bltzall" as writing GPR 31 (since they do). + + * mips-dis.c (print_insn_arg): Calculate info->target + where appropriate. + (print_insn_mips): Fill in instruction info. + (print_mips16_insn_arg): Remove unneded variable 'val'. + Removed duplicated instruction target calculations, + calculate once and print that result. Use same idiom for + masking the jump segment bits as is used in print_insn_arg. + +2001-10-20 Alan Modra <amodra@bigpond.net.au> + + * ppc-opc.c (CT): Make it an optional operand. + +2001-10-17 Chris Demetriou <cgd@broadcom.com> + + * mips-dis.c (mips_isa_type): Make the ISA used to disassemble + SB-1 binaries include instructions specific to the SB-1. + * mips-opc.c (SB1): New definition. + (mips_builtin_opcodes): Add SB-1 extension opcodes "div.ps", + "recip.ps", "rsqrt.ps", and "sqrt.ps". + +2001-10-17 matthew green <mrg@redhat.com> + + * ppc-opc.c (STRM): New AltiVec operand. + (XDSS): New AltiVec instruction form. + (mtvscr): Correct operand list. + (dst, dstt, dstst, dststt, dss, dssall): AltiVec instructions. + +2001-10-17 Alan Modra <amodra@bigpond.net.au> + + * po/POTFILES.in: Regenerate. + +2001-10-13 matthew green <mrg@redhat.com> + + * ppc-opc.c (MO): New macro for MO field of mbar instruction. + (powerpc_opcodes): Add rfci, wrtee, wrteei, mfdcrx, mfdcr, + mtdcrx, mtdcr, msync, dcba and mbar as BookE instructions. + +2001-10-13 Nick Clifton <nickc@cambridge.redhat.com> + + * cgen-ibld.in: Include safe-ctype.h in preference to + ctype.h. + * cgen-asm.in: Include safe-ctype.h in preference to + ctype.h. Fix formatting. Use ISSPACE instead of isspace and + TOLOWER instead of tolower. + (@arch@_cgen_build_insn_regex): Remove duplication of syntax + string elements in constructed regular expression. + * fr30-asm.c: Regenerate. + * fr30-desc.c: Regenerate. + * fr30-ibld.c: Regenerate. + * m32r-asm.c: Regenerate. + * m32r-desc.c: Regenerate. + * m32r-ibld.c: Regenerate. + * openrisc-asm.c: Regenerate. + * openrisc-desc.c: Regenerate. + * openrisc-ibld.c: Regenerate. + * po/opcodes.pot: Regenerate. + +2001-10-12 matthew green <mrg@redhat.com> + + * ppc-opc.c (insert_de, extract_de, insert_des, extract_des): New + instruction field instruction/extraction functions for new BookE + DE form instructions. + (CT): New macro for CT field in an X form instruction. + (DE, DES, DEO, DE_MASK): New macros for DE/DES fields in DE form + instructions. + (PPC64): Don't include PPC_OPCODE_PPC. + (403): New opcode macro for PPC403 processors. + (BOOKE): New opcode macro for BookE processors. + (bce, bcel, bcea, bcela, bclre, bclrel: New BookE instructions. + (bcctre, bcctrel, be, bel, bea, bela, icbt, icbte, lwzxe): Likewise. + (dcbste, lwzuxe, luxe, dcbfe, lbzxe, lwarxe, lbzuxe): Likewise. + (stwcxe, stwxe, stxe, stwuxe, stuxe, stbxe, dcbtste, stbuxe): Likewise. + (mfapidi, dcbte, lhzxe, lhzuxe, lhaxe, lhauxe, subfe64): Likewise. + (subfeo64, adde64, addeo64, sthxe, sthuxe, subfze64): Likewise. + (subfzeo64, addze64, addzeo64, dcbie, subfme64, subfmeo64): Likewise. + (addme64, addmeo64, stdcxe., mcrxr64, lwbrxe, lfsxe, lfsuxe): Likewise. + (lfdxe, lfduxe, stwbrxe, stfsxe, stfsuxe, stfdxe, dcbae): Likewise. + (stfduxe, tlbivax, tlbivaxe, lhbrxe, ldxe, lduxe, tlbsx): Likewise. + (tlbsxe, sthbrxe, stdxe, stduxe, icbie, stfiwxe, dcbze, lbze): Likewise. + (lbzue, ldue, lhze, lhzue, lhae, lhaue, lwze, lwzue): Likewise. + (stbe, stbue, sthe, sthue, stwe, stwue, lfse, lfsue, lfde): Likewise. + (lfdue, stde, stdue, stfse, stfsue, stfde, stfdue): Likewise. + + * ppc-dis.c (print_insn_big_powerpc, print_insn_little_powerpc): Look + for a disassembler option of `booke', `booke32' or `booke64' to enable + BookE support in the disassembler. + +2001-10-12 John Healy <jhealy@redhat.com> + + * cgen-dis.in (print_insn): Use min (cd->base_insn_bitsize, buflen*8) + for the length when extracting the base part of the insn. + +2001-10-09 Bruno Haible <haible@clisp.cons.org> + + * cgen-asm.in (*_cgen_build_insn_regex): Generate a case sensitive + regular expression. Fix some formatting problems. + * fr30-asm.c: Regenerate. + * openrisc-asm.c: Regenerate. + * m32r-asm.c: Regenerate. + +2001-10-09 Christian Groessler <cpg@aladdin.de> + + * z8k-dis.c (unparse_instr): Fixed formatting. Change disassembly + of indirect register memory accesses to be same format the + assembler accepts. + +2001-10-09 Nick Clifton <nickc@cambridge.redhat.com> + + * sh-opc.h: Fix encoding of least significant nibble of the + DSP single data transfer instructions. + + * sh-dis.c (print_insn_shx): Fix decoding of As opcode in DSP + instructions. + +2001-10-08 Nick Clifton <nickc@cambridge.redhat.com> + + * cgen-asm.in: Fix compile time warning messages in generated + C files. + * cgen-dis.in: The same. + * cgen-ibld.in: The same. + * fr30-asm.c: Regenerate. + * fr30-desc.c: Regenerate. + * fr30-dis.c: Regenerate. + * fr30-ibld.c: Regenerate. + * fr30-opc.c: Regenerate. + * m32r-asm.c: Regenerate. + * m32r-desc.c: Regenerate. + * m32r-dis.c: Regenerate. + * m32r-ibld.c: Regenerate. + * m32r-opc.c: Regenerate. + * m32r-opinst.c Regenerate. + * openrisc-asm.c: Regenerate. + * openrisc-desc.c: Regenerate. + * openrisc-dis.c: Regenerate. + * openrisc-ibld.c: Regenerate. + * openrisc-opc.c: Regenerate. + * openrisc-opc.h: Regenerate. + * Makefile.in: Regenerate. + * po/POTFILES.in: Regenerate. + * po/opcodes.pot: Regenerate. + +2001-10-08 Aldy Hernandez <aldyh@redhat.com> + + * arm-opc.h (arm_opcodes): Add cirrus insns. + + * arm-dis.c (print_insn_arm): Add 'I' case. + +2001-10-03 Alan Modra <amodra@bigpond.net.au> + + * po/POTFILES.in: Regenerate. + * configure: Regenerate. + +2001-10-02 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am (Makefile): Depend on bfd/configure.in. + Run "make dep-am". + * Makefile.in: Regenerate. + +2001-09-30 John Healy <jhealy@redhat.com> + + * cgen-ibld.in (insert_1): Switched bfd_get_bits and bfd_set_bits + calls to cgen_get_insn_value and cgen_put_insn_value calls. + (extract_1): Switched bfd_get_bits call to cgen_get_insn_value call. + +2001-09-30 Hans-Peter Nilsson <hp@bitrange.com> + + * Makefile.am: Update dependencies with "make dep-am". + * Makefile.in: Regenerate. + +2001-09-26 Alan Modra <amodra@bigpond.net.au> + + * arc-dis.c: Formatting fixes. + (my_sprintf): Define using VPARAMS, VA_OPEN, VA_FIXEDARG, VA_CLOSE. + +2001-09-21 Bruno Haible <haible@clisp.cons.org> + + * arc-dis.c: Don't include <ctype.h>. + * openrisc-desc.c: Likewise. + * openrisc-ibld.c: Likewise. + +2001-09-20 Nick Clifton <nickc@cambridge.redhat.com> + + * fr30-opc.c: Fix compile time warning messages. + * i370-opc.c: Fix compile time warning messages. + * i960-dis.c: Fix compile time warning messages. + * m32r-asm.c: Fix compile time warning messages. + * m32r-desc.c: Fix compile time warning messages. + * m32r-dis.c: Fix compile time warning messages. + * m32r-ibld.c: Fix compile time warning messages. + * m32r-opc.c: Fix compile time warning messages. + * m32r-opinst.c: Fix compile time warning messages. + * ns32k-dis.c: Fix compile time warning messages. + * openrisc-asm.c: Fix compile time warning messages. + * openrisc-desc.c: Fix compile time warning messages. + * openrisc-dis.c: Fix compile time warning messages. + * openrisc-ibld.c: Fix compile time warning messages. + * openrisc-opc.c: Fix compile time warning messages. + * pdp11-dis.c: Fix compile time warning messages. + * tic54x-dis.c: Fix compile time warning messages. + * v850-opc.c: Fix compile time warning messages. + * vax-dis.c: Fix compile time warning messages. + * w65-opc.h: Fix compile time warning messages. + * z8k-opc.h: Fix compile time warning messages. + * z8kgen.c: Fix compile time warning messages. + +2001-09-19 Nick Clifton <nickc@cambridge.redhat.com> + + * arm-dis.c: Fix compile time warning messages. + * cgen-asm.c: Fix compile time warning messages. + * cgen-dis.c: Fix compile time warning messages. + * cris-dis.c: Fix compile time warning messages. + * d10v-dis.c: Fix compile time warning messages. + * fr30-asm.c: Fix compile time warning messages. + * fr30-desc.c: Fix compile time warning messages. + * fr30-dis.c: Fix compile time warning messages. + * fr30-ibld.c: Fix compile time warning messages. + +2001-09-18 Bruno Haible <haible@clisp.cons.org> + + * cgen-asm.c: Include "safe-ctype.h" instead of <ctype.h>. + (cgen_parse_keyword): Use ISALNUM instead of isalnum. + * cgen-opc.c: Include "safe-ctype.h" instead of <ctype.h>. + (cgen_keyword_lookup_name): Use ISALPHA/TOLOWER instead of + isalpha/tolower. + (cgen_keyword_add): Use ISALNUM instead of isalnum. + (hash_keyword_name): Use TOLOWER instead of tolower. + * fr30-asm.c: Include "safe-ctype.h" instead of <ctype.h>. + (parse_insn_normal): Use TOLOWER/ISSPACE instead of + tolower/isspace. + (fr30_cgen_assemble_insn): Use ISSPACE instead of isspace. + * fr30-desc.c: Don't include <ctype.h>. + * fr30-ibld.c: Likewise. + * ia64-gen.c: Include "safe-ctype.h" instead of <ctype.h>. + (load_insn_classes, parse_resource_users, load_depfile): Use + ISSPACE instead of isspace. + * m32r-asm.c: Include "safe-ctype.h" instead of <ctype.h>. + (parse_insn_normal): Use TOLOWER/ISSPACE instead of + tolower/isspace. + (m32r_cgen_assemble_insn): Use ISSPACE instead of isspace. + * m32r-desc.c: Don't include <ctype.h>. + * m32r-ibld.c: Likewise. + * openrisc-asm.c: Include "safe-ctype.h" instead of <ctype.h>. + (parse_insn_normal): Use TOLOWER/ISSPACE instead of + tolower/isspace. + (openrisc_cgen_assemble_insn): Use ISSPACE instead of isspace. + +2001-09-18 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * Makefile.am: Add rules and dependencies to create the s/390 opcode + table out of s390-opc.txt automatically. + * configure.in: Add BFD_CC_FOR_BUILD to allow CC_FOR_BUILD to be used. + * s390-mkopc.c (dumpTable): Change output to create a complete file. + * s390-opc.c: New improved opcode format macros and remove the + pregenerated opcode table. + * s390-opc.txt: Adapt to new improved opcode format macros. + +2001-09-14 David Schleef <ds@schleef.org> + + * ppc-opc.c (VXA, VXA_MASK): Fix mask bits. + +2001-09-04 Alan Modra <amodra@bigpond.net.au> + + * i386-dis.c (grps): Don't print the implicit al/ax/eax register + for opcode 0xf6 or 0xf7 forms of mul, imul, div, idiv insns. + +2001-08-31 Eric Christopher <echristo@redhat.com> + Jason Eckhardt <jle@redhat.com> + + * mips-dis.c: Add support for bfd_mach_mipsisa32 and + bfd_mach_mipsisa64. Remove bfd_mach_mips32, bfd_mach_mips32_4k, + bfd_mach_mips64. + +2001-08-31 Andreas Jaeger <aj@suse.de> + + * tic54x-opc.c: Add default initializers to avoid warnings. + + * arc-opc.c: Include "sysdep.h" to get stdio.h as include file. + * arc-ext.c: Likewise. + +2001-08-28 matthew green <mrg@redhat.com> + + * ppc-opc.c (icbt): Order correctly. + +2001-08-27 David Edelsohn <dje@watson.ibm.com> + Torbjorn Granlund <tege@swox.com> + + * ppc-opc.c (DS): Add PPC_OPERAND_DS flag. + (LS): Define. + (insert_ds): Complain if not a multiple of 4. + (XSYNC): Define. + (XSYNC_MASK): Define. + (powerpc_opcodes): Add "slbmte", "lwsync", "ptesync", "slbmfev", + "slbmfee". Modify "sync" to use XSYNC_MASK and LS. + +2001-08-26 Andreas Jaeger <aj@suse.de> + + * h8500-opc.h: Add default initializers to h8500_table to shut up + GCC warnings. + +2001-08-25 Andreas Jaeger <aj@suse.de> + + * tic54x-dis.c: Add unused attributes where needed. + + * z8k-dis.c (output_instr): Add unused attribute. + + * h8300-dis.c: Add missing prototypes. + (bfd_h8_disassemble): Make static. + + * cris-dis.c: Add missing prototype. + * h8500-dis.c: Likewise. + * m68hc11-dis.c: Likewise. + * pj-dis.c: Likewise. + * tic54x-dis.c: Likewise. + * v850-dis.c: Likewise. + * vax-dis.c: Likewise. + * w65-dis.c: Likewise. + * z8k-dis.c: Likewise. + + * d10v-dis.c: Add missing prototype. + (dis_long): Remove unused variable. + (dis_2_short): Likewise. + + * sh-dis.c: Add missing prototypes. + * v850-opc.c: Likewise. + Add unused attributes where needed. + + * ns32k-dis.c: Add missing prototypes. + (bit_extract_simple): Remove unused variable. + +2001-08-23 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390-opc.c: Add "low or high" and "not low or high" + branch instructions for gcc 3.0. + * s390-opc.txt: Likewise. + +2001-08-21 Andreas Jaeger <aj@suse.de> + + * i960-dis.c: Add parameters for prototypes + (ctrl): Add unused attributes. + (cobr): Likewise. + (put_abs): Likewise. + + * mips-dis.c: Add missing prototypes. + * a29k-dis.c: Likewise. + * arc-dis.c: Likewise. + * ia64-opc.c: Likewise. + + * s390-dis.c: Add missing prototypes. + (init_disasm): Remove unused attribute since the parameter is + used. + +2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips-opc.c (M1): Define. Reformatted Code. + (mips_builtin_opcodes): Added performance counter opcodes mfpc, mfps, + mtps, mtps. Typo. + +2001-08-16 Jonathan Larmour <jlarmour@redhat.com> + + * mips-opc.c: R3900s can support all branch likely INSN_MACROs where + the corresponding non-likely insn is in MIPS I. + +2001-08-13 Kazu Hirata <kazu@hxi.com> + + * mcore-dis.c: Fix formatting. + * mips-dis.c: Likewise. + * pj-dis.c: Likewise. + * z8k-dis.c: Likewise. + +2001-08-12 Richard Henderson <rth@redhat.com> + + * cgen-ibld.in (extract_normal): Match type of VALUE and MASK + to *VALUEP. Regenerate all cgen files. + +2001-08-10 Richard Sandiford <rsandifo@redhat.com> + + * mips-dis.c (print_insn_mips): Remove OPCODE_IS_MEMBER's gp32 + argument. + * mips-opc.c (G6): Undefine. + (mips_builtin_opcodes): Remove gp32 entry for "move". Add macro + as the first "move" alternative. + +2001-08-10 Andreas Jaeger <aj@suse.de> + + * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes + to build warnings. + * configure: Regenerate. + +2001-08-10 Alan Modra <amodra@bigpond.net.au> + + * ppc-opc.c: Revert 2001-08-08. + +2001-08-09 Alan Modra <amodra@bigpond.net.au> + + * dis-buf.c (generic_strcat_address): Add missing prototype. + #if 0 the functions as it is unused. + +2001-08-08 Alan Modra <amodra@bigpond.net.au> + + 1999-10-25 Torbjorn Granlund <tege@swox.com> + * ppc-opc.c: Include "bfd.h". + (powerpc_operands): Add new field for reloc type. + +2001-07-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips-dis.c (print_insn_arg): Don't use software integer registers + for coprocessor registers. + (get_mips_isa): Removed. + (is_newabi): New function, checks if NewABI is used. + (_print_insn_mips): Get distinction between old ABI and new ABI right. + +2001-08-01 Christian Groessler <cpg@aladdin.de> + + * z8kgen.c: Fixed indentation of opt[] array. Include stdio.h to + get stderr definition. + (internal, gas): Removed warnings. + (gas): Create a correct final entry for created array. + * z8k-opc.h: Recreated with new z8kgen. + +2001-07-28 Kazu Hirata <kazu@hxi.com> + + * i386-dis.c: Fix formatting. + +2001-07-28 Matthias Kramm <kramm@quiss.org> + + * i386-dis.c: Change formatting conventions for architecture + i386:intel to better match the format of various intel i386 + assemblers, like nasm, tasm or masm. + +2001-07-24 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Update dependencies with "make dep-am". + * Makefile.in: Regenerate + +2001-07-24 Kazu Hirata <kazu@hxi.com> + + * alpha-dis.c: Fix formatting. + * cris-dis.c: Likewise. + * d10v-dis.c: Likewise. + * d30v-dis.c: Likewise. + * m10300-dis.c: Likewise. + * tic54x-dis.c: Likewise. + +2001-07-23 Kazu Hirata <kazu@hxi.com> + + * m68k-dis.c: Fix formatting. + * pj-dis.c: Likewise. + * s390-dis.c: Likewise. + * z8k-dis.c: Likewise. + +2001-07-21 Chris Demetriou <cgd@broadcom.com> + + * mips-opc.c (mips_builtin_opcodes): Sort c.le.s and c.lt.s + into the rest of the surrounding definitions. + +2001-07-18 Alan Modra <amodra@bigpond.net.au> + + * i386-dis.c (grps): Print l or w suffix, and require mem modrm + for lgdt, lidt, sgdt, sidt. + +2001-07-13 Philip Blundell <philb@gnu.org> + + * arm-dis.c (print_insn_arm): Use decimal for offsets in LDR/STR. + +2001-07-12 Jeff Johnston <jjohnstn@redhat.com> + + * cgen-asm.in: Include "xregex.h" always to enable the libiberty + regex support. + (@arch@_cgen_build_insn_regex): New routine from Graydon. + (@arch@_cgen_assemble_insn): Add Graydon's code to use regex + to verify if it is worth parsing the insn as insn "x". Also update + error message when insn is not a recognized format of the insn vs + when the insn is completely unrecognized. + +2001-07-11 Frank Ch. Eigler <fche@redhat.com> + + * cgen-dis.in (print_insn): Use cgen_get_insn_value instead of + bfd_get_bits. + * cgen-opc.c (cgen_get_insn_value, cgen_put_insn_value): Respect + non-zero CGEN_CPU_DESC->insn_chunk_bitsize. + +2001-07-09 Andreas Jaeger <aj@suse.de>, Karsten Keil <kkeil@suse.de> + + * i386-dis.c (set_op): Handle 64 bit and 32 bit mode. + (OP_J): Use bfd_vma for mask to work properly with 64 bits. + (op_address,op_riprel): Use bfd_vma to handle 64 bits. + +2001-07-05 Ben Elliston <bje@redhat.com> + + * Makefile.am (CPUDIR): Define. + (stamp-m32r): Update dependencies. + (stamp-fr30): Ditto. + (stamp-openrisc): Ditto. + * Makefile.in: Regenerate. + +2001-07-03 Zoltan Hidvegi <hzoli@hzoli.2y.net> + + * ppc-opc.c: Fix encoding of 'clf' instruction. + +2001-06-30 Geoffrey Keating <geoffk@redhat.com> + + * cgen-ibld.in (insert_normal): Support CGEN_IFLD_SIGN_OPT. + +2001-06-28 Geoffrey Keating <geoffk@redhat.com> + + * cgen-asm.c (cgen_parse_keyword): Allow any first character. + * cgen-opc.c (cgen_keyword_add): Ignore special first + character when building nonalpha_chars field. + +2001-06-24 Ben Elliston <bje@redhat.com> + + * m88k-dis.c: Format to conform to GNU coding standards. + +2001-06-23 Andreas Jaeger <aj@suse.de> + + * disassemble.c (disassembler_usage): Add unused attribute. + +2001-06-22 Eric Christopher <echristo@redhat.com> + + * mips-opc.c: Move prefx to start of the table. + +2001-06-22 Stacey Sheldon <ssheldon@Catena.com> + + * arc-opc.c (insert_st_syntax): Fix over-optimisation of ST + instruction. + +2001-06-22 Pauli <pauli@moreton.com.au> + + * m68k-opc.c: Add wdebug instruction. + +2001-06-15 Aldy Hernandez <aldyh@redhat.com> + + * m10300-opc.c (mn10300_opcodes): Change opcode for AM33 subc. + +2001-06-14 Geoffrey Keating <geoffk@redhat.com> + + * cgen-asm.c (cgen_parse_keyword): When looking for the + boundaries of a keyword, allow any special characters + that are actually in one of the allowed keyword. + * cgen-opc.c (cgen_keyword_add): Add any special characters + to the nonalpha_chars field. + +2001-06-12 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390-opc.c: Add lgh instruction. + * s390-opc.txt: Likewise. + +2001-06-11 Alan Modra <amodra@bigpond.net.au> + + * i386-dis.c: Group function prototypes in one place. + (FLOATCODE): Redefine as 1. + (USE_GROUPS): Redefine as 2. + (USE_PREFIX_USER_TABLE): Redefine as 3. + (X86_64_SPECIAL): Define as 4. + (GRP1b..GRPAMD): Move USE_GROUPS to bytecode1, index to bytecode2. + (PREGRP0..PREGRP26): Similarly with USE_PREFIX_USER_TABLE. + (dis386_att, dis386_intel, disx86_64_att, disx86_64_intel): Delete. + (dis386): New table combining above four tables. + (dis386_twobyte_att, dis386_twobyte_intel): Delete. + (dis386_twobyte): New table combining above two tables. + (x86_64_table): New table to handle x86_64. + (X86_64_0): Define. + (float_mem_att, float_mem_intel): Delet. + (float_mem): New table combining above two tables. + (print_insn_i386): Modify for above. + (dofloat): Likewise. + (putop): Handle '{', '|' and '}' to select alternative mnemonics. + Return 0 on success, 1 if no valid alternative. + (putop <case 'F'>, <case 'H'>): Print nothing for intel_syntax. + (putop <case 'T'>): Move to case 'U', and share case 'Q' code. + (putop <case 'I'>): Move to case 'T', and share case 'P' code. + (OP_REG <case rAX_reg .. rDI_reg>): Handle as for eAX_reg .. eDI_reg + if not 64-bit mode. + (OP_I <case q_mode>): Handle as for v_mode if not 64-bit mode. + (OP_I64): If not 64-bit mode, call OP_I. + OP_OFF64): If not 64-bit mode, call OP_OFF. + (OP_ST, OP_STi, OP_SEG, OP_DIR, OP_OFF, OP_OFF64, OP_MMX): Rename + 'ignore'/'ignored' to 'bytemode'. + +2001-06-10 Alan Modra <amodra@bigpond.net.au> + + * 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 <aoliva@redhat.com> + + * sh-opc.h (sh_table): Don't use empty initializers. + +2001-06-06 Christian Groessler <cpg@aladdin.de> + + * 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 <pjak@snafu.de> + + * 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 <amodra@bigpond.net.au> + + * 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 <aoliva@redhat.com> + + * sh-opc.h (sh_table): Complete last element entry to avoid + compiler warning. + +2001-05-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips-dis.c (mips_isa_type): Add MIPS r12k support. + +2001-05-23 Alan Modra <amodra@one.net.au> + + * arc-opc.c: Whitespace changes. + +2001-05-18 Hans-Peter Nilsson <hp@axis.com> + + * cris-opc.c (cris_spec_regs): Add missing initializer field for + last element. + +2001-05-15 Frank Ch. Eigler <fche@redhat.com> + + * cgen-dis.in (extract_normal): Complete support for min<base case. + +2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * 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 <jtc@redback.com> + + * 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 <hjl@gnu.org> + + * i386-dis.c (print_insn_i386): Always set `mod', `reg' and + `rm'. + +2001-05-12 Peter Targett <peter.targett@arccores.com> + + * arc-opc.c (arc_reg_names): Correct attribute for lp_count + register to r/w. Formatting fixes throughout file. + +2001-05-12 Alan Modra <amodra@one.net.au> + + * i386-dis.c (prefix_user_table): Correct movq2dq, movdq2q, and + movq operands. + (twobyte_has_modrm): Update table. + (need_modrm): Give it file scope. + (MODRM_CHECK): Define. + (dofloat): Use MODRM_CHECK. + (OP_E): Likewise. + (OP_EM): Likewise. + (OP_EX): Likewise. + +2001-05-07 Frank Ch. Eigler <fche@redhat.com> + + * cgen-dis.in (default_print_insn): Tolerate min<base instructions + even at end of a section. + * cgen-ibld.in (extract_normal): Tolerate min!=base!=max instructions + by ignoring precariously-unpacked insn_value in favor of raw buffer. + +2001-05-03 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * disassemble.c (disassembler_usage): Remove unused attribute. + +2001-05-04 Frank Ch. Eigler <fche@redhat.com> + + * m32r-dis.c, -asm.c, -ibld.c: Regenerated with disassembler fixes. + +2001-05-04 Frank Ch. Eigler <fche@redhat.com> + + * cgen-dis.in (print_insn): Remove call to read_insn. Instead, + assume incoming buffer already has the base insn loaded. Handle + smaller-than-base instructions for variable-length case. + +2001-05-04 Alan Modra <amodra@one.net.au> + + * i386-dis.c (Ev, Ed): Remove duplicate define. + (Gd): Define. + (XS): Define. + (OP_XS): New function. + (dis386_twobyte_att): Correct pinsrw, pextrw, pmovmskb, and + movmskp operands. + (dis386_twobyte_intel): Likewise. + (prefix_user_table): Use MS for maskmovq operand. + +2001-04-27 Johan Rydberg <jrydberg@opencores.org> + + * Makefile.am: Add OpenRISC target. + * Makefile.in: Regenerated. + + * disassemble.c (disassembler): Recognize the OpenRISC disassembly. + + * configure.in (bfd_openrisc_arch): Add target. + * configure: Regenerated. + + * openrisc-asm.c: New file. + * openrisc-desc.c: Likewise. + * openrisc-desc.h: Likewise. + * openrisc-dis.c: Likewise. + * openrisc-ibld.c: Likewise. + * openrisc-opc.c: Likewise. + * openrisc-opc.h: Likewise. + +2001-04-24 Christian Groessler <cpg@aladdin.de> + + * z8k-dis.c: add names of control registers (ctrl_names); + (seg_length): provides instruction length fixup for segmented + mode; (unpack_instr): correctly handle ARG_DISP16, ARG_DISP12, + CLASS_0DISP7, CLASS_1DISP7, CLASS_DISP8 and CLASS_PR cases; + (unparse_intr): handle CLASS_PR, print addresses without '#' + * z8k-opc.h: re-created with new z8kgen + * z8kgen.c: merged in fixes which were in existing z8k-opc.h; new + entries for ldctl/ldctlb instruction + +2001-04-06 Andreas Jaeger <aj@suse.de> + + * i386-dis.c: Add ffreep instruction. + +2001-03-30 Alexandre Oliva <aoliva@redhat.com> + + * ppc-opc.c (insert_mbe): Shift mask initializer as long. + +2001-03-24 Alan Modra <alan@linuxcare.com.au> + + * i386-dis.c (PREGRP25): Define. + (dis386_twobyte_att): Use here in place of "movntq" entry. + (dis386_twobyte_intel): Likewise. + (prefix_user_table): Add PREGRP25 entry for "movntq" and "movntdq". + (PREGRP26): Define. + (dis386_twobyte_att): Use here. + (dis386_twobyte_intel): Likewise. + (prefix_user_table): Add PREGRP26 entry for "punpcklqdq". + (prefix_user_table <maskmovdqu>): XM operand, not MX. + (prefix_user_table): Cosmetic changes to "bad" entries. + +2001-03-23 Nick Clifton <nickc@redhat.com> + + * mips-opc.c: Remove extraneous whitespace. + * mips-dis.c: Remove extraneous whitespace. + +2001-03-22 Ben Elliston <bje@redhat.com> + + * cgen-asm.in (@arch@_cgen_assemble_insn): Move tmp_errmsg + declaration inside CGEN_VERBOSE_ASSEMBLER_ERRORS conditional. + * cgen-ibld.in (put_insn_int_value): Mark cd parameter as unused + to allay a compiler warning. + +2001-03-22 Alan Modra <alan@linuxcare.com.au> + + * i386-dis.c (dis386_twobyte_att): Add entries for paddq, psubq. + (dis386_twobyte_intel): Likewise. + (twobyte_has_modrm): Set entry for paddq, psubq. + +2001-03-20 Patrick Macdonald <patrickm@redhat.com> + + * cgen-dis.in (print_insn_@arch@): Add support for target machine + determination via CGEN_COMPUTE_MACH. + * fr30-desc.c: Regenerate. + * fr30-dis.c: Regenerate. + * fr30-opc.h: Regenerate. + * m32r-desc.c: Regenerate. + * m32r-dis.c: Regenerate. + * m32r-opc.h: Regenerate. + * m32r-opinst.c: Regenerate. + +2001-03-20 H.J. Lu <hjl@gnu.org> + + * configure.in: Remove the redundent AC_ARG_PROGRAM. + * configure: Rebuild. + +2001-03-19 Jim Wilson <wilson@redhat.com> + + * ia64-gen.c (fetch_insn_class): If xsect, then ignore comment and + notestr if larger than xsect. + (in_class): Handle format M5. + * ia64-asmtab.c: Regnerate. + +2001-03-19 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * vax-dis.c (print_insn_vax): Only fetch two bytes if the info buffer + has more than one byte left to read. + +2001-03-16 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390-opc.c: Add new opcodes. Smooth out formatting. + * s390-opc.txt: Add new opcodes. + +2001-03-06 Nick Clifton <nickc@redhat.com> + + * arm-dis.c (print_insn_thumb): Compute destination address + of BLX(1) instruction by taking bit 1 from PC and not from bit + 0 of the offset. + +2001-03-06 Igor Shevlyakov <igor@windriver.com> + + * m68k-dis.c (print_insn_m68k): Recognize Coldfire CPUs + so command line switches will work. + +2001-03-05 Dave Brolley <brolley@redhat.com> + + * fr30-asm.c: Regenerate. + * fr30-desc.c: Regenerate. + * fr30-desc.h: Regenerate. + * fr30-dis.c: Regenerate. + * fr30-ibld.c: Regenerate. + * fr30-opc.c: Regenerate. + * fr30-opc.h: Regenerate. + * m32r-asm.c: Regenerate. + * m32r-desc.c: Regenerate. + * m32r-desc.h: Regenerate. + * m32r-dis.c: Regenerate. + * m32r-ibld.c: Regenerate. + * m32r-opc.c: Regenerate. + * m32r-opc.h: Regenerate. + * m32r-opinst.c: Regenerate. + +2001-02-28 Igor Shevlyakov <igor@windriver.com> + + * m68k-opc.c: fix cpushl according to Motorola. Enable + bunch of instructions for Coldfire 5407 and add all new. + +2001-02-27 Alan Modra <alan@linuxcare.com.au> + + * configure.in (BFD_VERSION): Do without grep. + * configure: Regenerate. + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + +2001-02-23 David Mosberger <davidm@hpl.hp.com> + + * ia64-opc-a.c: Add missing pseudo-ops for "cmp" and "cmp4". + * ia64-asmtab.c: Regenerate. + +2001-02-21 David Mosberger <davidm@hpl.hp.com> + + * ia64-opc-d.c (ia64_opcodes_d): Break the "add" pattern into two + separate variants: one for IMM22 and the other for IMM14. + * ia64-asmtab.c: Regenerate. + +2001-02-21 Greg McGary <greg@mcgary.org> + + * cgen-opc.c (cgen_get_insn_value): Add missing `return'. + +2001-02-20 H.J. Lu <hjl@gnu.org> + + * Makefile.am (ia64-ic.tbl): Remove the target. + (ia64-raw.tbl): Likewise. + (ia64-waw.tbl): Likewise. + (ia64-war.tbl): Likewise. + (ia64-asmtab.c): Generate it in the source directory. + * Makefile.in: Regenerated. + +2001-02-18 lars brinkhoff <lars@nocrew.org> + + * Makefile.am: Add PDP-11 target. + * configure.in: Likewise. + * disassemble.c: Likewise. + * pdp11-dis.c: New file. + * pdp11-opc.c: New file. + +2001-02-14 Jim Wilson <wilson@redhat.com> + + * ia64-ic.tbl: Update from Intel. Add setf to fr-writers. + * ia64-asmtab.c: Regenerate. + +2001-02-12 Jan Hubicka <jh@suse.cz> + + * i386-dis.c (prefix_user_t): Add 'Y' to SSE ineger converison + instructions. + (putop): Handle 'Y' + +2001-02-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * mips-dis.c (print_insn_arg): Use top four bits of the address of + the following instruction not of the jump itself for the jump + target. + (print_mips16_insn_arg): Likewise. + +2001-02-11 Michael Sokolov <msokolov@ivan.Harhan.ORG> + + * Makefile.am (stamp-lib): ranlib the libopcodes.a in the build + directory. + * Makefile.in: Regenerate. + +2001-02-09 Schwidefsky <schwidefsky@de.ibm.com> + + * Makefile.am: Add linux target for S/390. + * Makefile.in: Likewise. + * configure.in: Likewise. + * disassemble.c: Likewise. + * s390-dis.c: New file. + * s390-mkopc.c: New file. + * s390-opc.c: New file. + * s390-opc.txt: New file. + +2001-02-05 Jim Wilson <wilson@redhat.com> + + * ia64-asmtab.c: Revert 2000-12-16 change. + +2001-02-02 Patrick Macdonald <patrickm@redhat.com> + + * fr30-desc.h: Regenerate with CGEN_MAX_SYNTAX_ELEMENTS. + * m32r-desc.h: Regenerate. + +2001-02-01 Jan Hubicka <jh@suse.cz> + + * i386-dis.c (dis386_att, grps): Use 'T' for push/pop + (putop): Handle 'T', alphabetize order, fix 'I' handling in Intel syntax + +2001-01-14 Alan Modra <alan@linuxcare.com.au> + + * hppa-dis.c (print_insn_hppa): Handle '>' and '<' arg types. + +2001-01-13 Nick Clifton <nickc@redhat.com> + + * disassemble.c: Remove spurious white space. + +2001-01-13 Jan Hubicka <jh@suse.cz> + + * i386-dis.c (dis386_att, disx86_64_att): Fix ret, lret and iret + templates. + +2001-01-11 Peter Targett <peter.targett@arccores.com> + + * configure.in: Add arc-ext.lo for bfd_arc_arch selection. + * Makefile.am (C_FILES): Add arc-ext.c. + (ALL_MACHINES) Add arc-ext.lo. + (INCLUDES) Add opcode directory to list. + New dependency entry for arc-ext.lo. + * disassemble.c (disassembler): Correct call to + arc_get_disassembler. + * arc-opc.c: New update for ARC, including full base + instructions for ARC variants. + * arc-dis.h, arc-dis.c: New update for ARC, including + extensibility functionality. + * arc-ext.h, arc-ext.c: New files for handling extensibility. + +2001-01-10 Jan Hubicka <jh@suse.cz> + + * i386-dis.c (PREGRP15 - PREGRP24): New. + (dis386_twobyt): Add SSE2 instructions. + (twobyte_uses_SSE_prefix: Rename from ... ; add new SSE instructions. + (twobyte_uses_f3_prefix): ... this one. + (grps): Add SSE instructions. + (prefix_user_table): Add two new slots; add SSE2 instructions. + (print_insn_i386): Rename uses_f3_prefix to uses_SSE_prefix; + Handle the REPNZ and Data16 prefixes as well; do proper lookup + to prefix_user_table. + (OP_E): Accept mfence and lfence as well. + (OP_MMX): Data16 prefix turns MMX to SSE; support REX extensions. + (OP_XMM): Support REX extensions. + (OP_EM): Likewise. + (OP_EX): Likewise. + +2001-01-09 Nick Clifton <nickc@redhat.com> + + * arm-dis.c (print_insn): Set pc to zero for instructions with + a reloc associated with them. + +2001-01-09 Jeff Johnston <jjohnstn@redhat.com> + + * cgen-asm.in (parse_insn_normal): Changed syn to be + CGEN_SYNTAX_CHAR_TYPE. Changed all references to *syn + as character to use CGEN_SYNTAX_CHAR macro and all comparisons + to '\0' to use 0 instead. + * cgen-dis.in (print_insn_normal): Ditto. + * cgen-ibld.in (insert_insn_normal, extract_insn_normal): Ditto. + +2001-01-05 Jan Hubicka <jh@suse.cz> + + * i386-dis.c: Add x86_64 support. + (rex): New static variable. + (REX_MODE64, REX_EXTX, REX_EXTY, REX_EXTZ): New constants. + (USED_REX): New macro. + (Ev, Ed, Rm, Iq, Iv64, Cm, Dm, Rm*, Ob64, Ov64): New macros. + (OP_I64, OP_OFF64, OP_IMREG): New functions. + (OP_REG, OP_OFF): Declare. + (get64, get32, get32s): New functions. + (r??_reg): New constants. + (dis386_att): Change templates of instruction implicitly promoted + to 64bit; change e?? to RMe?? for unwind RM byte instructions. + (grps): Likewise. + (dis386_intel): Likewise. + (dixx86_64_att): New table based on dis386_att. + (dixx86_64_intel): New table based on dis386_intel. + (names64, names8rex): New global variable. + (names32, names16): Add extended registers. + (prefix_user_t): Recognize rex prefixes. + (prefix_name): Print REX prefixes nicely. + (op_riprel): New global variable. + (start_pc): Set type to bfd_vma. + (print_insn_i386): Detect the 64bit mode and use proper table; + move ckprefix after initializing the buffer; output unused rex prefixes; + output information about target of RIP relative addresses. + (putop): Support 'O' and 'I'. Update handling of "P', 'Q', 'R' and 'S'; + (print_operand_value): New function. + (OP_E, OP_G, OP_REG, OP_I, OP_J, OP_DIR, OP_OFF, OP_D): Add support for + REX prefix and new modes. + (get64, get32s): New. + (get32): Return bfd_signed_vma type. + (set_op): Initialize the op_riprel. + * disassemble.c (disassembler): Recognize the x86-64 disassembly. + +2001-01-03 Richard Sandiford <r.sandiford@redhat.com> + + cgen-dis.in (read_insn): Use bfd_get_bits() + +2001-01-02 Richard Sandiford <rsandifo@redhat.com> + + * cgen-dis.c (hash_insn_array): Use bfd_put_bits(). + (hash_insn_list): Likewise + * cgen-ibld.in (insert_1): Use bfd_put_bits() and bfd_get_bits(). + (extract_1): Use bfd_get_bits(). + (extract_normal): Apply sign extension to both extraction + methods. + * cgen-opc.c (cgen_get_insn_value): Use bfd_get_bits() + (cgen_put_insn_value): Use bfd_put_bits() + +2000-12-28 Frank Ch. Eigler <fche@redhat.com> + + * cgen-asm.in (parse_insn_normal): Print better error message for + instructions with missing operands. + +2000-12-21 Santeri Paavolainen <santtu@ssh.com> + + * cgen-opc.c: Include alloca.h if HAVE_ALLOCA_H is defined. + +2000-12-16 Nick Clifton <nickc@redhat.com> + + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * config.in: Regenerate. + * configure.in: Add spacing. + * configure: Regenerate. + * ia64-asmtab.c: Regenerate. + * po/opcodes.pot: Regenerate. + +2000-12-12 Frank Ch. Eigler <fche@redhat.com> + + * cgen-asm.in (@arch@_cgen_assemble_insn): Prefer printing insert-time + error messages over later parse-time ones. + +2000-12-12 Jim Wilson <wilson@redhat.com> + + * ia64-dis.c (print_insn_ia64): Cast away const on ia64_free_opcode + argument. + * ia64-gen.c (insert_deplist): Cast sizeof result to int. + (print_dependency_table): Print NULL if semantics field not set. + (insert_opcode_dependencies): Mark cmp parameter as unused. + (print_main_table): Use fprintf_vma to print long long fields. + (main): Mark argv paramter as unused. Convert to old style definition. + * ia64-opc.c (ia64_find_dependency): Cast sizeof result to int. + * ia64-asmtab.c: Regnerate. + +2000-12-09 Nick Clifton <nickc@redhat.com> + + * m32r-dis.c (print_insn): Prevent re-read of instruction from + wrong address. + + * fr30-dis.c: Regenerate. + +2000-12-08 Peter Targett <peter.targett@arccores.com> + + * configure.in: Add arc-ext.lo for bfd_arc_arch selection. + * Makefile.am (C_FILES): Add arc-ext.c. + (ALL_MACHINES) Add arc-ext.lo. + (INCLUDES) Add opcode directory to list. + New dependency entry for arc-ext.lo. + * disassemble.c (disassembler): Correct call to + arc_get_disassembler. + * arc-opc.c: New update for ARC, including full base + instructions for ARC variants. + * arc-dis.h, arc-dis.c: New update for ARC, including + extensibility functionality. + * arc-ext.h, arc-ext.c: New files for handling extensibility. + +2000-12-03 Chris Demetriou cgd@sibyte.com + + * mips-opc.c (mips_builtin_opcodes): Use the WR_HILO, RD_HILO, + MOD_HILO, and MOD_LO macros. + + * mips-opc.c (M1, M2): Delete. + (mips_builtin_opcodes): Remove all uses of M1. + + * mips-opc.c (mips_builtin_opcodes): Make the dmfc2 and dmtc2 + instructions take "G" format second operands and use the + correct flags. + There are mfc3 and mtc3 opcodes, so add dmfc3 and dmtc3 opcodes to + match. + Delete "sel" code operands from mfc1 and mtc1. + Add MIPS64 opcode changes (dclo, dclz), and "sel" code variants + for dm[ft]c[023]. + +2000-12-03 Ed Satterthwaite ehs@sibyte.com and + Chris Demetriou cgd@sibyte.com + + * mips-opc.c (mips_builtin_opcodes): Finish additions + for MIPS32 support, and clean up existing entries for + aesthetics, consistency with the MIPS32 ISA, and + with consistency the rest of the table. + +2000-12-01 Nick Clifton <nickc@redhat.com> + + * mips16-opc.c (mips16_opcodes): Add initialiser for membership + field. + +2000-12-01 Chris Demetriou <cgd@sibyte.com> + + mips-dis.c (print_insn_arg): Handle new 'U' and 'J' argument + specifiers. Update 'B' for new constant names, and remove + 'm'. + mips-opc.c (mips_builtin_opcodes): Place "pref" and "ssnop" + near the top of the array, so they are disassembled properly. + Enable "ssnop" for MIPS32. Add "break" variant with 20 bit + code for MIPS32. Update "clo" and "clz" to use 'U' operand + specifier. Add 'H' format specifier variants for "mfc1," + "mfc2," "mfc3," "mtc1," "mtc2," and "mtc3" for MIPS32. Update + MIPS32 "sdbbp" to use 'B' operand specifier. Add MIPS32 + "wait" variant which uses 'J' operand specifier. + + * mips-dis.c (set_mips_isa_type): Update to use + CPU_UNKNOWN and ISA_* constants. Add bfd_mach_mips32 case. + Replace bfd_mach_mips4K with bfd_mach_mips32_4k case. + * mips-opc.c (I32): New constant for instructions added in + MIPS32. + (P4): Delete. + (mips_builtin_opcodes) Replace all uses of P4 with I32. + + * mips-dis.c (set_mips_isa_type): Add cases for + bfd_mach_mips5 and bfd_mach_mips64. + * mips-opc.c (I64): New definitions. + + * mips-dis.c (set_mips_isa_type): Add case for + bfd_mach_mips_sb1. + +2000-11-28 Hans-Peter Nilsson <hp@bitrange.com> + + * sh-dis.c (print_insn_ddt): Make insn_x, insn_y unsigned. + (print_insn_ppi): Make nib1, nib2, nib3 unsigned. + Initialize variable dc to NULL. + (print_insn_shx): Remove unused label d_reg_n. + +2000-11-24 Nick Clifton <nickc@redhat.com> + + * arm-opc.h: Add new opcode formatting parameter 'B'. + (arm_opcodes): Add XScale, v5, and v5te instructions. + (thumb_opcodes): Add v5t instructions. + + * arm-dis.c (print_insn_arm): Handle new 'B' format + parameter. + (print_insn_thumb): Decode BLX(1) instruction. + +2000-11-21 Chris Demetriou <cgd@sibyte.com> + + * mips-opc.c: Fix file header comment. + +2000-11-14 Hans-Peter Nilsson <hp@axis.com> + + * cris-dis.c (cris_get_disassembler): If abfd is NULL, return + print_insn_cris_with_register_prefix. + +2000-11-11 Alexandre Oliva <aoliva@redhat.com> + + * sh-opc.h: The operand of `mov.w r0, (<disp>,GBR)' is IMM1, not 0. + +2000-11-07 Matthew Green <mrg@redhat.com> + + * cgen-dis.in (print_insn): All insns which can fit into insn_value + must be loaded there in their entirety. + +2000-10-20 Jakub Jelinek <jakub@redhat.com> + + * sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs. + (compute_arch_mask): Add v8plusb and v9b machines. + (print_insn_sparc): siam mode decoding, accept ASRs up to 25. + * sparc-opc.c: Support for Cheetah instruction set. + (prefetch_table): Add #invalidate. + +2000-10-16 Nick Clifton <nickc@redhat.com> + + * mcore-dis.c (imsk): Change mask for OC to 0xFE00. + +2000-10-06 Dave Brolley <brolley@redhat.com> + + * fr30-desc.h: Regenerate. + * m32r-desc.h: Regenerate. + * m32r-ibld.c: Regenerate. + +2000-10-05 Jim Wilson <wilson@redhat.com> + + * ia64-ic.tbl: Update from Intel. + * ia64-asmtab.c: Regenerate. + +2000-10-04 Kazu Hirata <kazu@hxi.com> + + * ia64-gen.c: Convert C++-style comments to C-style comments. + * tic54x-dis.c: Likewise. + +2000-09-29 Hans-Peter Nilsson <hp@axis.com> + + Changes to add dollar prefix to registers for files where user symbols + don't have a leading underscore. Fix formatting. + * cris-dis.c (REGISTER_PREFIX_CHAR): New. + (format_reg): Add parameter with_reg_prefix. All callers changed. + (print_with_operands): Ditto. + (print_insn_cris_generic): Renamed from print_insn_cris, add + parameter with_reg_prefix. + (print_insn_cris_with_register_prefix, + print_insn_cris_without_register_prefix, cris_get_disassembler): + New. + * disassemble.c (disassembler) [ARCH_cris]: Call cris_get_disassembler. + +2000-09-22 Jim Wilson <wilson@redhat.com> + + * ia64-opc-f.c (ia64_opcodes_f): Add fpcmp pseudo-ops for + gt, ge, ngt, and nge. + * ia64-asmtab.c: Regenerate. + + * ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change. + * ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP. + (lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62". + * ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update. + * ia64-asmtab.c: Regnerate. + +2000-09-13 Anders Norlander <anorland@acc.umu.se> + + * mips-opc.c (mips_builtin_opcodes): Support cache instruction on 4K cores. + Add mfc0 and mtc0 with sub-selection values. + Add clo and clz opcodes. + Add msub and msubu instructions for MIPS32. + Add madd/maddu aliases for mad/madu for MIPS32. + Support wait, deret, eret, movn, pref for MIPS32. + Support tlbp, tlbr, tlbwi, tlbwr. + (P4): New define. + + * mips-dis.c (print_insn_arg): Print sdbbp 'm' args. + (print_insn_arg): Handle 'H' args. + (set_mips_isa_type): Recognize 4K. + Use CPU_* defines instead of hardcoded numbers. + +2000-09-11 Catherine Moore <clm@redhat.com> + + * d30v-opc.c (d30v_operand_t): New operand type Rb2. + (d30v_format_tab): Use Rb2 for modinc and moddec. + +2000-09-07 Catherine Moore <clm@redhat.com> + + * d30v-opc.c (d30v_format_tab): Use format Ra for + modinc and moddec. + +2000-09-06 Alexandre Oliva <aoliva@redhat.com> + + * configure: Rebuilt with new libtool.m4. + +2000-09-05 Nick Clifton <nickc@redhat.com> + + * configure: Regenerate. + * po/opcodes.pot: Regenerate. + +2000-08-31 Alexandre Oliva <aoliva@redhat.com> + + * acinclude.m4: Include libtool and gettext macros from the + top level. + * aclocal.m4, configure: Rebuilt. + +2000-08-30 Kazu Hirata <kazu@hxi.com> + + * tic80-dis.c: Fix formatting. + +2000-08-29 Kazu Hirata <kazu@hxi.com> + + * w65-dis.c: Fix formatting. + +2000-08-28 Mark Hatle <mhatle@mvista.com> + + * ppc-opc.c: Add XTLB macro for a few PPC 4xx extended mnemonics. + (powerpc_opcodes): Add table entries for PPC 405 instructions. + Changed rfci, icbt, mfdcr, dccci, mtdcr, iccci from PPC to PPC403 + instructions. Added extended mnemonic mftbl as defined in the + 405GP manual for all PPCs. + +2000-08-28 Jim Wilson <wilson@redhat.com> + + * ia64-dis.c (print_insn_ia64): Add failed label after ia64_free_opcode + call. Change last goto to use failed instead of done. + +2000-08-28 Dave Brolley <brolley@redhat.com> + + * cgen-ibld.in (cgen_put_insn_int_value): New function. + (insert_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P. + (insert_insn_normal): Use cgen_put_insn_int_value with CGEN_INT_INSN_P. + (extract_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P. + * cgen-dis.in (read_insn): New static function. + (print_insn): Use read_insn to read the insn into the buffer and set + up for disassembly. + (print_insn): in CGEN_INT_INSN_P, make sure that the entire insn is + in the buffer. + * fr30-asm.c: Regenerated. + * fr30-desc.c: Regenerated. + * fr30-desc.h: Regenerated. + * fr30-dis.c: Regenerated. + * fr30-ibld.c: Regenerated. + * fr30-opc.c: Regenerated. + * fr30-opc.h: Regenerated. + * m32r-asm.c: Regenerated. + * m32r-desc.c: Regenerated. + * m32r-desc.h: Regenerated. + * m32r-dis.c: Regenerated. + * m32r-ibld.c: Regenerated. + * m32r-opc.c: Regenerated. + +2000-08-28 Kazu Hirata <kazu@hxi.com> + + * tic30-dis.c: Fix formatting. + +2000-08-27 Kazu Hirata <kazu@hxi.com> + + * sh-dis.c: Fix formatting. + +2000-08-24 David Edelsohn <dje@watson.ibm.com> + + * ppc-opc.c (powerpc_opcodes): Add rfid, mtsrd, mtsrdin, mtmsrd. + +2000-08-24 Kazu Hirata <kazu@hxi.com> + + * z8k-dis.c: Fix formatting. + +2000-08-16 Jim Wilson <wilson@redhat.com> + + * ia64-ic.tbl (pr-readers-nobr-nomovpr): Add addl, adds. Delete + break, mov-immediate, nop. + * ia64-opc-f.c: Delete fpsub instructions. + * ia64-opc-m.c: Add POSTINC to all instructions with postincrement + address operand. Rewrite using macros to avoid long lines. + * ia64-opc.h (POSTINC): Define. + * ia64-asmtab.c: Regenerate. + +2000-08-15 Jim Wilson <wilson@redhat.com> + + * ia64-ic.tbl: Add missing entries. + +2000-08-08 Jason Eckhardt <jle@redhat.com> + + * i860-dis.c (print_br_address): Change third argument from int + to long. + +2000-08-07 Richard Henderson <rth@redhat.com> + + * ia64-dis.c (print_insn_ia64): Get byte skip count correct + for MLI templates. Handle IA64_OPND_TGT64. + +2000-08-04 Ben Elliston <bje@redhat.com> + + * cgen-dis.in, cgen-asm.in, cgen-ibld.in: New files. + * cgen.sh: Likewise. + +2000-08-02 Jim Wilson <wilson@redhat.com> + + * ia64-dis.c (print_insn_ia64): Call ia64_free_opcode at end. + +2000-07-29 Marek Michalkiewicz <marekm@linux.org.pl> + + * avr-dis.c (avr_operand): Use PARAMS macro in declaration. + Change return type from void to int. Check the combination + of operands, return 1 if valid. Fix to avoid BUF overflow. + Report undefined combinations of operands in COMMENT. + Report internal errors to stderr. Output the adiw/sbiw + constant operand in both decimal and hex. + (print_insn_avr): Disassemble ldd/std with displacement of 0 + as ld/st. Check avr_operand () return value, handle invalid + combinations of operands like unknown opcodes. + +2000-07-28 Ben Elliston <bje@redhat.com> + + * Makefile.am (CGEN, CGENDEPS, CGENDIR, CGENFLAGS): New. + (run-cgen, stamp-m32r, stamp-fr30): New targets. + * Makefile.in: Regenerate. + * configure.in: Add --enable-cgen-maint option. + * configure: Regenerate. + +2000-07-26 Dave Brolley <brolley@redhat.com> + + * cgen-opc.c (cgen_hw_lookup_by_name): 'i' is now unsigned. + (cgen_hw_lookup_by_num): Ditto. + (cgen_operand_lookup_by_name): Ditto. + (print_address): Ditto. + (print_keyword): Ditto. + * cgen-dis.c (hash_insn_array): Mark unused parameters with + ATTRIBUTE_UNUSED. + * cgen-asm.c (hash_insn_array): Mark unused parameters with + ATTRIBUTE_UNUSED. + (cgen_parse_keyword): Ditto. + +2000-07-22 Jason Eckhardt <jle@redhat.com> + + * i860-dis.c: New file. + (print_insn_i860): New function. + (print_br_address): New function. + (sign_extend): New function. + (BITWISE_OP): New macro. + (I860_REG_PREFIX): New macro. + (grnames, frnames, crnames): New structures. + + * disassemble.c (ARCH_i860): Define. + (disassembler): Add check for bfd_arch_i860 to set disassemble + function to print_insn_i860. + + * Makefile.in (CFILES): Added i860-dis.c. + (ALL_MACHINES): Added i860-dis.lo. + (i860-dis.lo): New dependences. + + * configure.in: New bits for bfd_i860_arch. + + * configure: Regenerated. + +2000-07-20 Hans-Peter Nilsson <hp@axis.com> + + * Makefile.am (CFILES): Add cris-dis.c and cris-opc.c. + (ALL_MACHINES): Add cris-dis.lo and cris-opc.lo. + (cris-dis.lo, cris-opc.lo): New rules. + * Makefile.in: Rebuild. + * configure.in (bfd_cris_arch): New target. + * configure: Rebuild. + * disassemble.c (ARCH_cris): Define. + (disassembler): Support ARCH_cris. + * cris-dis.c, cris-opc.c: New files. + * po/POTFILES.in, po/opcodes.pot: Regenerate. + +2000-07-11 Jakub Jelinek <jakub@redhat.com> + + * sparc-opc.c (sparc_opcodes): popc has 0 in rs1, not rs2. + Reported by Bill Clarke <llib@computer.org>. + +2000-07-09 Geoffrey Keating <geoffk@redhat.com> + + * ppc-opc.c (powerpc_opcodes): Correct suffix for vslw. + Patch by Randall J Fisher <rfisher@ecn.purdue.edu>. + +2000-07-09 Alan Modra <alan@linuxcare.com.au> + + * hppa-dis.c (fput_reg, fput_fp_reg, fput_fp_reg_r, fput_creg, + fput_const, extract_3, extract_5_load, extract_5_store, + extract_5r_store, extract_5R_store, extract_10U_store, + extract_5Q_store, extract_11, extract_14, extract_16, extract_21, + extract_12, extract_17, extract_22): Prototype. + (print_insn_hppa): Rename inner block opcode -> opc to avoid + shadowing outer block. + (GET_BIT): Define. + +2000-07-05 DJ Delorie <dj@redhat.com> + + * MAINTAINERS: new + +2000-07-04 Alexandre Oliva <aoliva@redhat.com> + + * arm-dis.c (print_insn_arm): Output combinations of PSR flags. + +2000-07-03 Marek Michalkiewicz <marekm@linux.org.pl> + + * avr-dis.c (avr_operand): Change _ () to _() around all strings + marked for translation (exception from the usual coding style). + (print_insn_avr): Initialize insn2 to avoid warnings. + +2000-07-03 Kazu Hirata <kazu@hxi.com> + + * h8300-dis.c (bfd_h8_disassemble): Improve readability. + * h8500-dis.c: Fix formatting. + +2000-07-01 Alan Modra <alan@linuxcare.com.au> + + * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed + (CLEANFILES): Add DEPA. + * Makefile.in: Regenerate. + +2000-06-26 Scott Bambrough <scottb@netwinder.org> + + * arm-dis.c (regnames): Add an additional register set to match + the set used by GCC. Make it the default. + +2000-06-22 Alan Modra <alan@linuxcare.com.au> + + * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we + find one. + * Makefile.in: Regenerate. + +2000-06-20 H.J. Lu <hjl@gnu.org> + + * Makefile.am: Rebuild dependency. + * Makefile.in: Rebuild. + +2000-06-18 Stephane Carrez <stcarrez@worldnet.fr> + + * Makefile.in, configure: regenerate + * disassemble.c (disassembler): Recognize ARCH_m68hc12, + ARCH_m68hc11. + * m68hc11-dis.c (read_memory, print_insn, print_insn_m68hc12): + New functions. + * configure.in: Recognize m68hc12 and m68hc11. + * m68hc11-dis.c, m68hc11-opc.c: New files for support of m68hc1x + * Makefile.am (CFILES, ALL_MACHINES): New files for disassembly + and opcode generation for m68hc11 and m68hc12. + +2000-06-16 Nick Duffek <nsd@redhat.com> + + * disassemble.c (disassembler): Refer to the PowerPC 620 using + bfd_mach_ppc_620 instead of 620. + +2000-06-12 Kazu Hirata <kazu@hxi.com> + + * h8300-dis.c: Fix formatting. + (bfd_h8_disassemble): Distinguish adds/subs, inc/dec.[wl] + correctly. + +2000-06-09 Denis Chertykov <denisc@overta.ru> + + * avr-dis.c (avr_operand): Bugfix for jmp/call address. + +2000-06-07 Denis Chertykov <denisc@overta.ru> + + * avr-dis.c: completely rewritten. + +2000-06-02 Kazu Hirata <kazu@hxi.com> + + * h8300-dis.c: Follow the GNU coding style. + (bfd_h8_disassemble) Fix a typo. + +2000-06-01 Kazu Hirata <kazu@hxi.com> + + * h8300-dis.c (bfd_h8_disassemble_init): Fix a typo. + (bfd_h8_disassemble): Distinguish the operand size of inc/dev.[wl] + correctly. Fix a typo. + +2000-05-31 Nick Clifton <nickc@redhat.com> + + * opintl.h (_(String)): Explain why dgettext is used instead of + gettext. + +2000-05-30 Nick Clifton <nickc@redhat.com> + + * opintl.h (gettext, dgettext, dcgettext, textdomain, + bindtextdomain): Replace defines with those from intl/libgettext.h + to quieten gcc warnings. + +2000-05-26 Alan Modra <alan@linuxcare.com.au> + + * Makefile.am: Update dependencies with "make dep-am" + * Makefile.in: Regenerate. + +2000-05-25 Alexandre Oliva <aoliva@redhat.com> + + * m10300-dis.c (disassemble): Don't assume 32-bit longs when + sign-extending operands. + +2000-05-15 Donald Lindsay <dlindsay@redhat.com> + + * d10v-opc.c (d10v_opcodes): add ALONE tag to all short branches + except brf's. + +2000-05-21 Nick Clifton <nickc@redhat.com> + + * Makefile.am (LIBIBERTY): Define. + +2000-05-19 Diego Novillo <dnovillo@redhat.com> + + * mips-dis.c (REGISTER_NAMES): Rename to STD_REGISTER_NAMES. + (STD_REGISTER_NAMES): New name for REGISTER_NAMES. + (reg_names): Rename to std_reg_names. Change it to a char ** + static variable. + (std_reg_names): New name for reg_names. + (set_mips_isa_type): Set reg_names to point to std_reg_names by + default. + +2000-05-16 Frank Ch. Eigler <fche@redhat.com> + + * fr30-desc.h: Partially regenerated to account for changed + CGEN_MAX_* -> CGEN_ACTUAL_MAX_* macros. + * m32r-desc.h: Ditto. + +2000-05-15 Nick Clifton <nickc@redhat.com> + + * arm-opc.h: Use upper case for flasg in MSR and MRS + instructions. Allow any bit to be set in the field_mask of + the MSR instruction. + + * arm-dis.c (print_insn_arm): Decode _x and _s bits of the + field_mask of an MSR instruction. + +2000-05-11 Thomas de Lellis <tdel@windriver.com> + + * arm-opc.h: Disassembly of thumb ldsb/ldsh + instructions changed to ldrsb/ldrsh. + +2000-05-11 Ulf Carlsson <ulfc@engr.sgi.com> + + * mips-dis.c (print_insn_arg): Don't mask top 32 bits of 64-bit + target addresses for 'jal' and 'j'. + +2000-05-10 Geoff Keating <geoffk@redhat.com> + + * ppc-opc.c (powerpc_opcodes): Make the predicted-branch opcodes + also available in common mode when powerpc syntax is being used. + +2000-05-08 Alan Modra <alan@linuxcare.com.au> + + * m68k-dis.c (dummy_printer): Add ATTRIBUTE_UNUSED to args. + (dummy_print_address): Ditto. + +2000-05-04 Timothy Wall <twall@redhat.com> + + * tic54x-opc.c: New. + * tic54x-dis.c: New. + * disassemble.c (disassembler): Add ARCH_tic54x. + * configure.in: Added tic54x target. + * configure: Ditto. + * Makefile.am: Add tic54x dependencies. + * Makefile.in: Ditto. + +2000-05-03 J.T. Conklin <jtc@redback.com> + + * ppc-opc.c (VA, VB, VC, VD, VS, SIMM, UIMM, SHB): New macros, for + vector unit operands. + (VX, VX_MASK, VXA, VXA_MASK, VXR, VXR_MASK): New macros, for vector + unit instruction formats. + (PPCVEC): New macro, mask for vector instructions. + (powerpc_operands): Add table entries for above operand types. + (powerpc_opcodes): Add table entries for vector instructions. + + * ppc-dis.c (print_insn_big_powerpc): Add PPC_OPCODE_ALTIVEC to mask. + (print_insn_little_powerpc): Likewise. + (print_insn_powerpc): Prepend 'v' when printing vector registers. + +2000-04-24 Clinton Popetz <cpopetz@redhat.com> + + * configure.in: Add bfd_powerpc_64_arch. + * disassemble.c (disassembler): Use print_insn_big_powerpc for + 64 bit code. + +2000-04-24 Nick Clifton <nickc@redhat.com> + + * fr30-desc.c (fr30_cgen_cpu_open): Initialise signed_overflow + field. + +2000-04-23 Denis Chertykov <denisc@overta.ru> + + * avr-dis.c (reg_fmul_d): New. Extract destination register from + FMUL instruction. + (reg_fmul_r): New. Extract source register from FMUL instruction. + (reg_muls_d): New. Extract destination register from MULS instruction. + (reg_muls_r): New. Extract source register from MULS instruction. + (reg_movw_d): New. Extract destination register from MOVW instruction. + (reg_movw_r): New. Extract source register from MOVW instruction. + (print_insn_avr): Handle MOVW, MULS, MULSU, FMUL, FMULS, FMULSU, + EICALL, EIJMP, LPM r,Z, ELPM r,Z, SPM, ESPM instructions. + +2000-04-22 Timothy Wall <twall@redhat.com> + + * ia64-gen.c (general): Add an ordered table of primary + opcode names, as well as priority fields to disassembly data + structures to enforce a preferred disassembly format based on the + ordering of the opcode tables. + (load_insn_classes): Show a useful message if IC tables are missing. + (load_depfile): Ditto. + * ia64-asmtab.h (struct ia64_dis_names ): Add priority flag to + distinguish preferred disassembly. + * ia64-opc-f.c: Reorder some insn for preferred disassembly + format. Fix incorrect flag on fma.s/fma.s.s0. + * ia64-opc.c: Scan *all* disassembly matches and use the one with + the highest priority. + * ia64-opc-b.c: Use more abbreviations. + * ia64-asmtab.c: Regenerate. + +2000-04-21 Jason Eckhardt <jle@redhat.com> + + * hppa-dis.c (extract_16): New function. + (print_insn_hppa): Fix incorrect handling of 'fe'. Added handling of + new operand types l,y,&,fe,fE,fx. + +2000-04-21 Richard Henderson <rth@redhat.com> + David Mosberger <davidm@hpl.hp.com> + Timothy Wall <twall@redhat.com> + Bob Manson <manson@charmed.cygnus.com> + Jim Wilson <wilson@redhat.com> + + * Makefile.am (HFILES): Add ia64-asmtab.h, ia64-opc.h. + (CFILES): Add ia64-dis.c, ia64-opc-a.c, ia64-opc-b.c, ia64-opc-f.c, + ia64-opc-i.c, ia64-opc-m.c, ia64-opc-d.c, ia64-opc.c, ia64-gen.c, + ia64-asmtab.c. + (ALL_MACHINES): Add ia64-dis.lo, ia64-opc.lo. + (ia64-ic.tbl, ia64-raw.tbl, ia64-waw.tbl, ia64-war.tbl, ia64-gen, + ia64-gen.o, ia64-asmtab.c, ia64-dis.lo, ia64-opc.lo): New rules. + * Makefile.in: Rebuild. + * configure Rebuild. + * configure.in (bfd_ia64_arch): New target. + * disassemble.c (ARCH_ia64): Define. + (disassembler): Support ARCH_ia64. + * ia64-asmtab.c, ia64-asmtab.h, ia64-dis.c, ia64-gen.c ia64-ic.tbl, + ia64-opc-a.c, ia64-opc-b.c, ia64-opc-d.c ia64-opc-f.c, ia64-opc-i.c, + ia64-opc-m.c, ia64-opc-x.c, ia64-opc.c, ia64-opc.h, ia64-raw.tbl, + ia64-war.tbl, ia64-waw.tbl: New files. + +2000-04-20 Alexandre Oliva <aoliva@redhat.com> + + * m10300-dis.c (HAVE_AM30, HAVE_AM33): Define. + (disassemble): Use them. + +2000-04-14 Alan Modra <alan@linuxcare.com.au> + + * sysdep.h: Include "ansidecl.h" not <ansidecl.h> + * Makefile.am: Update dependencies. + * Makefile.in: Regenerate. + +2000-04-14 Michael Sokolov <msokolov@ivan.Harhan.ORG> + + * a29k-dis.c, alpha-dis.c, alpha-opc.c, arc-dis.c, arc-opc.c, + avr-dis.c, d10v-dis.c, d10v-opc.c, d30v-dis.c, d30v-opc.c, + disassemble.c, h8300-dis.c, h8500-dis.c, hppa-dis.c, i370-dis.c, + i370-opc.c, i960-dis.c, m10200-dis.c, m10200-opc.c, m10300-dis.c, + m10300-opc.c, m68k-dis.c, m68k-opc.c, m88k-dis.c, mcore-dis.c, + mips-dis.c, mips-opc.c, mips16-opc.c, pj-dis.c, pj-opc.c, + ppc-dis.c, ppc-opc.c, sh-dis.c, sparc-dis.c, sparc-opc.c, + tic80-dis.c, tic80-opc.c, v850-dis.c, v850-opc.c, vax-dis.c, + w65-dis.c, z8k-dis.c, z8kgen.c: Include sysdep.h. Remove + ansidecl.h as sysdep.h includes it. + +2000-04-7 Andrew Cagney <cagney@b1.redhat.com> + + * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add + --enable-build-warnings option. + * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions. + * Makefile.in, configure: Re-generate. + +2000-04-05 J"orn Rennecke <amylaar@redhat.com> + + * sh-opc.h (sh_table): Use A_DISP_PC / PCRELIMM_8BY2 for ldre & ldrs. + stc GBR,@-<REG_N> is available for arch_sh1_up. + Group parallel processing insn with identical mnemonics together. + Make three-operand psha / pshl come first. + +2000-04-05 J"orn Rennecke <amylaar@redhat.co.uk> + + * sh-opc.h (sh_nibble_type): Remove DISP_8 and DISP_4. + Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT. + (sh_arg_type): Add A_PC. + (sh_table): Update entries using immediates. Add repeat. + * sh-dis.c (print_insn_shx): Remove DISP_8 and DISP_4. + Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT. + +2000-04-04 Alan Modra <alan@linuxcare.com.au> + + * po/opcodes.pot: Regenerate. + + * Makefile.am (MKDEP): Use gcc -MM rather than mkdep. + (DEP): Quote when passing vars to sub-make. Add warning message + to end. + (DEP1): Rewrite for "gcc -MM". + (CLEANFILES): Add DEP2. + Update dependencies. + * Makefile.in: Regenerate. + +2000-04-03 Denis Chertykov <denisc@overta.ru> + + * avr-dis.c: Syntax cleanup. + (add0fff): Print the pc relative address as a signed number. + (add03f8): Likewise. + +2000-04-01 Ian Lance Taylor <ian@zembu.com> + + * disassemble.c (disassembler_usage): Don't use a prototype. Mark + the parameter ATTRIBUTE_UNUSED. + * ppc-opc.c: Add ATTRIBUTE_UNUSED as needed. + +2000-04-01 Alexandre Oliva <aoliva@redhat.com> + + * m10300-opc.c: SP-based offsets are always unsigned. + +2000-03-29 Thomas de Lellis <tdel@windriver.com> + + * arm-opc.h (thumb_opcodes): Disassemble 0xde.. to "bal" + [branch always] instead of "undefined". + +2000-03-27 Nick Clifton <nickc@redhat.com> + + * d30v-opc.c (d30v_format_table): Move SHORT_AR to end of list of + short instructions, from end of list of long instructions. + +2000-03-27 Ian Lance Taylor <ian@zembu.com> + + * Makefile.am (CFILES): Add avr-dis.c. + (ALL_MACHINES): Add avr-dis.lo. + +2000-03-27 Alan Modra <alan@linuxcare.com> + + * avr-dis.c (add0fff, add03f8): Don't use structure bitfields to + truncate integers. + (print_insn_avr): Call function via pointer in K&R compatible way. + (dispLDD, regPP, reg50, reg104, reg40, reg20w, lit404, lit204, + add0fff, add03f8): Convert to old style function declaration and + add prototype. + (avrdis_opcode): Add prototype. + +2000-03-27 Denis Chertykov <denisc@overta.ru> + + * avr-dis.c: New file. AVR disassembler. + * configure.in (bfd_avr_arch): New architecture support. + * disassemble.c: Likewise. + * configure: Regenerate. + +2000-03-06 J"oern Rennecke <amylaar@redhat.com> + + * sh-opc.h (sh_table): ldre and ldrs have a *signed* displacement. + +2000-03-02 J"orn Rennecke <amylaar@redhat.co.uk> + + * d30v-dis.c (print_insn): Remove d*i hacks. Use per-operand + flag to determine if operand is pc-relative. + * d30v-opc.c: + (d30v_format_table): + (REL6S3): Renamed from IMM6S3. + Added flag OPERAND_PCREL. + (REL12S3, REL18S3, REL32): Split from IMM12S3, IMM18S3, REL32, with + added flag OPERAND_PCREL. + (IMM12S3U): Replaced with REL12S3. + (SHORT_D2, LONG_D): Delay target is pc-relative. + (SHORT_B2r, SHORT_B3r, SHORT_B3br, SHORT_D2r, LONG_Ur, LONG_2r): + Split from SHORT_B2, SHORT_D2, SHORT_B3b, SHORT_D2, LONG_U, LONG_2r, + using the REL* operands. + (LONG_2br, LONG_Dr): Likewise, from LONG_2b, LONG_D. + (SHORT_D1r, SHORT_D2Br, LONG_Dbr): Renamed from SHORT_D1, SHORT_D2B, + LONG_Db, using REL* operands. + (SHORT_U, SHORT_A5S): Removed stray alternatives. + (d30v_opcode_table): Use new *r formats. + +2000-02-28 Nick Clifton <nickc@redhat.com> + + * m32r-desc.c (m32r_cgen_cpu_open): Replace 'flags' with + 'signed_overflow_ok_p'. + +2000-02-27 Eli Zaretskii <eliz@is.elta.co.il> + + * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the + name of the libtool directory. + * Makefile.in: Rebuild. + +2000-02-24 Nick Clifton <nickc@redhat.com> + + * cgen-opc.c (cgen_set_signed_overflow_ok): New function. + (cgen_clear_signed_overflow_ok): New function. + (cgen_signed_overflow_ok_p): New function. + +2000-02-23 Andrew Haley <aph@redhat.com> + + * m32r-asm.c, m32r-desc.c, m32r-desc.h, m32r-dis.c, + m32r-ibld.c, m32r-opc.h: Rebuild. + +2000-02-23 Linas Vepstas <linas@linas.org> + + * i370-dis.c, i370-opc.c: New. + + * disassemble.c (ARCH_i370): Define. + (disassembler): Handle it. + + * Makefile.am: Add support for Linux/IBM 370. + * configure.in: Likewise. + + * Makefile.in: Regenerate. + * configure: Likewise. + +2000-02-22 Chandra Chavva <cchavva@redhat.com> + + * d30v-opc.c (d30v_opcode_tab) : Added FLAG_NOT_WITH_ADDSUBppp to + ST2H, STB, STH, STHH, STW and ST2H opcodes to prohibit parallel + procedure. + +2000-02-22 Andrew Haley <aph@redhat.com> + + * mips-dis.c (_print_insn_mips): New arg for OPCODE_IS_MEMBER: + force gp32 to zero. + * mips-opc.c (G6): New define. + (mips_builtin_op): Add "move" definition for -gp32. + +2000-02-22 Ian Lance Taylor <ian@zembu.com> + + From Grant Erickson <gerickso@Brocade.COM>: + * ppc-opc.c: Correct dcread--it takes 3 arguments, not 2. + +2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au> + + * dis-buf.c (buffer_read_memory): Change `length' param and all int + vars to unsigned. + +2000-02-17 J"orn Rennecke <amylaar@redhat.co.uk> + + * sh-dis.c (print_movxy, print_insn_ddt, print_dsp_reg): New functions. + (print_insn_ppi): Likewise. + (print_insn_shx): Use info->mach to select appropriate insn set. + Add support for sh-dsp. Remove FD_REG_N support. + * sh-opc.h (sh_nibble_type): Add new values for sh-dsp support. + (sh_arg_type): Likewise. Remove FD_REG_N. + (sh_dsp_reg_nums): New enum. + (arch_sh1, arch_sh2, arch_sh3, arch_sh3e, arch_sh4): New macros. + (arch_sh_dsp, arch_sh3_dsp, arch_sh1_up, arch_sh2_up): Likewise. + (arch_sh3_up, arch_sh3e_up, arch_sh4_up, arch_sh_dsp_up): Likewise. + (arch_sh3_dsp_up): Likewise. + (sh_opcode_info): New field: arch. + (sh_table): Split up insn with FD_REG_N into ones with F_REG_N and + D_REG_N. Fill in arch field. Add sh-dsp insns. + +2000-02-14 Fernando Nasser <fnasser@totem.to.redhat.com> + + * arm-dis.c: Change flavor name from atpcs-special to + special-atpcs to prevent name conflict in gdb. + (get_arm_regname_num_options, set_arm_regname_option, + get_arm_regnames): New functions. API to access the several + flavor of register names. Note: Used by gdb. + (print_insn_thumb): Use the register name entry from the currently + selected flavor for LR and PC. + +2000-02-10 Nick Clifton <nickc@redhat.com> + + * mcore-opc.h (enum mcore_opclass): Add MULSH and OPSR + classes. + (mcore_table): Add "idly4", "psrclr", "psrset", "mulsh" and + "mulsh.h" instructions. + * mcore-dis.c (imsk array): Add masks for MULSH and OPSR + classes. + (print_insn_mcore): Add support for little endian targets. + Add support for MULSH and OPSR classes. + +2000-02-07 Nick Clifton <nickc@redhat.com> + + * arm-dis.c (parse_arm_diassembler_option): Rename again. + Previous delat did not take. + +2000-02-03 Timothy Wall <twall@redhat.com> + + * dis-buf.c (buffer_read_memory): Use octets_per_byte field + to adjust target address bounds checking and calculate the + appropriate octet offset into data. + +2000-01-27 Nick Clifton <nickc@redhat.com> + + * arm-dis.c: (parse_disassembler_option): Rename to + parse_arm_disassembler_option and allow to be exported. + + * disassemble.c (disassembler_usage): New function: Print out any + target specific disassembler options. + Call arm_disassembler_options() if the ARM architecture is being + supported. + + * arm-dis.c (NUM_ELEM): Define this macro if not already + defined. + (arm_regname): New struct type for ARM register names. + (arm_toggle_regnames): Delete. + (parse_disassembler_option): Use register name structure. + (print_insn): New function: Combines duplicate code found in + print_insn_big_arm and print_insn_little_arm. + (print_insn_big_arm): Call print_insn. + (print_insn_little_arm): Call print_insn. + (print_arm_disassembler_options): Display list of supported, + ARM specific disassembler options. + +2000-01-27 Thomas de Lellis <tdel@windriver.com> + + * arm-dis.c (printf_insn_big_arm): Treat ELF symbols with the + ARM_STT_16BIT flag as Thumb code symbols. + + * arm-dis.c (printf_insn_little_arm): Ditto. + +2000-01-25 Thomas de Lellis <tdel@windriver.com> + + * arm-dis.c (printf_insn_thumb): Prevent double dumping + of raw thumb instructions. + +2000-01-20 Nick Clifton <nickc@redhat.com> + + * mcore-opc.h (mcore_table): Add "add" as an alias for "addu". + +2000-01-03 Nick Clifton <nickc@cygnus.com> + + * arm-dis.c (streq): New macro. + (strneq): New macro. + (force_thumb): ew local variable. + (parse_disassembler_option): New function: Parse a single, ARM + specific disassembler command line switch. + (parse_disassembler_option): Call parse_disassembler_option to + parse individual command line switches. + (print_insn_big_arm): Check force_thumb. + (print_insn_little_arm): Check force_thumb. + +For older changes see ChangeLog-9899 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/opcodes/ChangeLog-0203 b/opcodes/ChangeLog-0203 new file mode 100644 index 0000000..25ed8b5 --- /dev/null +++ b/opcodes/ChangeLog-0203 @@ -0,0 +1,2110 @@ +2003-12-15 Christian Groessler <chris@groessler.org> + + * z8k-dis.c (intr_names): Removed. + (print_intr, print_flags): New functions. + (unparse_instr): Use new functions. + +2003-12-15 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * m32r-opc.c: Regenerate. + +2003-12-14 Mark Mitchell <mark@codesourcery.com> + + * arm-opc.h (arm_opcodes): Put V6 instructions before XScale + instructions. + +2003-12-13 Hans-Peter Nilsson <hp@bitrange.com> + + * mmix-opc.c (mmix_opcodes): Use GO_INSN_BYTE, PUSHGO_INSN_BYTE, + SETL_INSN_BYTE, INCH_INSN_BYTE, INCMH_INSN_BYTE, INCML_INSN_BYTE + and SWYM_INSN_BYTE instead of raw numbers. + +2003-12-10 Zack Weinberg <zack@codesourcery.com> + + * ppc-opc.c (MO): Make optional. + (RAO, RSO, SHO): New optional forms of RA, RS, SH operands. + (tlbwe): Accept for both PPC403 and BOOKE. Make all operands optional. + +2003-12-05 Ricardo Anguiano <anguiano@codesourcery.com> + Mark Mitchell <mark@codesourcery.com> + Richard Earnshaw <rearnsha@arm.com> + + * arm-dis.c (print_arm_insn): Add 'W' macro. + * arm-opc.h (arm_opcodes): Add V6 instructions. + (thumb_opcodes): Likewise. + +2003-12-04 Alan Modra <amodra@bigpond.net.au> + + * openrisc-asm.c: Regenerate. + * pj-opc.c: Update copyright date. + +2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * m32r-asm.c: Regenerate. + * m32r-desc.c: Regenerate. + * m32r-desc.h: Regenerate. + * m32r-dis.c: Regenerate. + * m32r-ibld.c: Regenerate. + * m32r-opc.c: Regenerate. + * m32r-opc.h: Regenerate. + * m32r-opinst.c: Regenerate. + +2003-12-02 Alexandre Oliva <aoliva@redhat.com> + + * sh-opc.h: Add support for sh4a and no-fpu variants. + * sh-dis.c: Ditto. + +2003-12-02 Kazu Hirata <kazu@cs.umass.edu> + + * alpha-opc.c: Remove ARGSUSED. + * i370-opc.c: Likewise. + * ppc-opc.c: Likewise. + +2003-12-02 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + +2003-11-28 Christian Groessler <chris@groessler.org> + + * z8k-dis.c: Convert to ISO C90. + * z8kgen.c: Convert to ISO C90. + (opt): Move long opcode for "ldb rdb,imm8" after short one, now + the short one is created when assembling. + * z8k-opc.h: Regenerate with new z8kgen.c. + +2003-11-19 Kazu Hirata <kazu@cs.umass.edu> + + * h8300-dis.c (print_colon_thingie): Remove. + +2003-11-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * mips-opc.c (mips_builtin_opcodes): Handle new macros: "lca" and + "dlca". + +2003-11-14 Nick Clifton <nickc@redhat.com> + + * dis-init.c (init_disassemble_info): Initialise + symbol_is_valid field. + * dis-buf.c (generic_symbol_is_valid): New function. Always + returns TRUE. + * arm-dis.c (arm_symbol_is_valid): New function. Return FALSE + for ARM ELF mapping symbols. + * disassemble.c (disassemble_init_for_target): Set + symbol_is_valid field to arm_symbol_is_valid of the target is + an ARM. + +2003-11-05 H.J. Lu <hongjiu.lu@intel.com> + + * m68k-opc.c (m68k_opcodes): Reorder "fmovel". + +2003-11-03 Daniel Jacobowitz <drow@mvista.com> + + * arm-dis.c (print_arm_insn): Print "-" after "#". + +2003-10-30 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de> + + * alpha-opc.c: Add support for a second argument to RPCC. + +2003-10-27 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-dis.c: Convert to ISO C90 prototypes. + +2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com> + Bernardo Innocenti <bernie@develer.com> + + * m68k-dis.c: Add MCFv4/MCF5528x support. + * m68k-opc.c: Likewise. + +2003-10-10 Dave Brolley <brolley@redhat.com> + + * frv-asm.c,frv-desc.c,frv-opc.c: Regenerated. + +2003-10-08 Dave Brolley <brolley@redhat.com> + + * frv-desc.[ch], frv-opc.[ch]: Regenerated. + +2003-09-30 Bob Wilson <bob.wilson@acm.org> + + * xtensa-dis.c (fetch_data): Remove numBytes parameter. + (print_insn_xtensa): Fix call to fetch_data. + +2003-09-30 Chris Demetriou <cgd@broadcom.com> + + * mips-dis.c (mips_arch_choices): Add entry for "mips64r2" + (print_insn_args): Add handing for +E, +F, +G, and +H. + * mips-opc.c (I65): New define for MIPS64r2. + (mips_builtin_opcodes): Add "dext", "dextm", "dextu", "dins", + "dinsm", "dinsu", "drotl", "drotr", "drotr32", "drotrv", "dsbh", + and "dshd" for MIPS64r2. Adjust "dror", "dror32", and "drorv" to + be supported on MIPS64r2. + +2003-09-24 Dave Brolley <brolley@redhat.com> + + * frv-desc.c, frv-opc.c, frv-opc.h: Regenerated. + +2003-09-14 Andreas Jaeger <aj@suse.de> + + * i386-dis.c: Convert to ISO C90 prototypes. + * i370-dis.c: Likewise. + * i370-opc.c: Likewiwse. + * i960-dis.c: Likewise. + * ia64-opc.c: Likewise. + +2003-09-09 Dave Brolley <brolley@redhat.com> + + * frv-desc.c: Regenerated. + +2003-09-08 Dave Brolley <brolley@redhat.com> + + On behalf of Doug Evans <dje@sebabeach.org> + * Makefile.am (run-cgen): Pass new args archfile and opcfile + to cgen.sh. + (stamp-ip2k,stamp-m32r,stamp-fr30,stamp-frv,stamp-openrisc, + stamp-iq2000,stamp-xstormy16): Pass paths of .cpu and .opc files + to cgen.sh. + (stamp-frv): Delete hardcoded path spec workaround. + * Makefile.in: Regenerate. + * cgen.sh: New args archfile and opcfile. Pass on to cgen. + +2003-09-04 Nick Clifton <nickc@redhat.com> + + * v850-dis.c (disassemble): Accept bfd_mach_v850e1. + * v850-opc.c (v850_opcodes): Add DBTRAP and DBRET instructions. + +2003-09-04 Alan Modra <amodra@bigpond.net.au> + + * ppc-dis.c (struct dis_private): New. + (powerpc_dialect): Make static. Accept -Many in addition to existing + options. Save dialect in dis_private. + (print_insn_big_powerpc): Retrieve dialect from dis_private. + (print_insn_little_powerpc): Likewise. + (print_insn_powerpc): Call powpc_dialect here. Remove unnecessary + efs/altivec check. Try harder to disassemble if given -Many. + * ppc-opc.c (insert_fxm): Expand comment. + (PPC, PPCCOM, PPC32, PPC64, PPCVEC): Remove PPC_OPCODE_ANY. + (POWER, POWER2, PPCPWR2, POWER32, COM, COM32, M601, PWRCOM): Likewise. + (POWER4): Remove PPCCOM. + (PPCONLY): Don't define. Update all occurrences to PPC. + +2003-09-03 Andrew Cagney <cagney@redhat.com> + + * dis-init.c (init_disassemble_info): New file and function. + * Makefile.am (CFILES): Add "dis-init.c". + (libopcodes_la_SOURCES): Add "dis-init.c". + (dis-init.lo): Specify dependencies. + * Makefile.in: Regenerate. + +2003-09-03 Dave Brolley <brolley@redhat.com> + + * frv-*: Regenerated. + +2003-09-02 Alan Modra <amodra@bigpond.net.au> + + * ppc-opc.c (powerpc_opcodes): Combine identical PPC403/BOOKE entries. + Move duplicate mnemonic entries together. Use RS instead of RT on + all mt*. + * ppc-dis.c: Convert to ISO C. + +2003-08-29 Dave Brolley <brolley@redhat.com> + + * Makefile.am (stamp-frv): Copy frv.cpu and frv.opc from + $(srcdir)/../cpu temporarily when regenerating source files. + * Makefile.in: Regenerated. + +2003-08-19 Nick Clifton <nickc@redhat.com> + + * arm-dis.c (print_insn_arm: case 'A'): Add code to + disassemble unindexed form of Addressing Mode 5. + +2003-08-19 Alan Modra <amodra@bigpond.net.au> + + * ppc-opc.c (PPC440): Define. + (powerpc_opcodes): Allow mac*, mul*, nmac*, dccci, dcread, iccci, + icread instructions when PPC440. Add dlmzb instruction. + +2003-08-14 Alan Modra <amodra@bigpond.net.au> + + * dep-in.sed: Remove libintl.h. + * Makefile.am (POTFILES.in): Unset LC_COLLATE. + Run "make dep-am". + * Makefile.in: Regenerate. + +2003-08-07 Michael Meissner <gnu@the-meissners.org> + + * cgen-asm.c (hash_insn_array): Remove PARAMS macro. + (hash_insn_list): Ditto. + (build_asm_hash_table): Ditto. + (cgen_set_parse_operand_fn): Prototype definition. + (cgen_init_parse_operand): Ditto. + (hash_insn_array): Ditto. + (hash_insn_list): Ditto. + (build_asm_hash_table): Ditto. + (cgen_asm_lookup_insn): Ditto. + (cgen_parse_keyword): Ditto. + (cgen_parse_signed_integer): Ditto. + (cgen_parse_unsigned_integer): Ditto. + (cgen_parse_address): Ditto. + (cgen_validate_signed_integer): Ditto. + (cgen_validate_unsigned_integer): Ditto. + + * cgen-opc.c (hash_keyword_name): Remove PARAMS macro. + (hash_keyword_value): Ditto. + (build_keyword_hash_tables): Ditto. + (cgen_keyword_lookup_name): Prototype definition. + (cgen_keyword_lookup_value): Ditto. + (cgen_keyword_add): Ditto. + (cgen_keyword_search_init): Ditto. + (cgen_keyword_search_next): Ditto. + (hash_keyword_name): Ditto. + (hash_keyword_value): Ditto. + (build_keyword_hash_tables): Ditto. + (cgen_hw_lookup_by_name): Ditto. + (cgen_hw_lookup_by_num): Ditto. + (cgen_operand_lookup_by_name): Ditto. + (cgen_operand_lookup_by_num): Ditto. + (cgen_insn_count): Ditto. + (cgen_macro_insn_count): Ditto. + (cgen_get_insn_value): Ditto. + (cgen_put_insn_value): Ditto. + (cgen_lookup_insn): Ditto. + (cgen_get_insn_operands): Ditto. + (cgen_lookup_get_insn_operands): Ditto. + (cgen_set_signed_overflow_ok): Ditto. + (cgen_clear_signed_overflow_ok): Ditto. + (cgen_signed_overflow_ok_p): Ditto. + + * cgen-dis.c (hash_insn_array): Remove PARAMS macro. + (hash_insn_list): Ditto. + (build_dis_hash_table): Ditto. + (count_decodable_bits): Ditto. + (add_insn_to_hash_chain): Ditto. + (count_decodable_bits): Prototype definition. + (add_insn_to_hash_chain): Ditto. + (hash_insn_array): Ditto. + (hash_insn_list): Ditto. + (build_dis_hash_table): Ditto. + (cgen_dis_lookup_insn): Ditto. + + * cgen-asm.in (parse_insn_normal): Remove PARAMS macro. + (@arch@_cgen_build_insn_regex): Prototype definition. + (parse_insn_normal): Ditto. + (@arch@_cgen_assemble_insn): Ditto. + (@arch@_cgen_asm_hash_keywords): Ditto. + + * cgen-dis.in (print_normal): Remove PARAMS macro. Use void * + instead of PTR. + (print_address): Ditto. + (print_keyword): Ditto. + (print_insn_normal): Ditto. + (print_insn): Ditto. + (default_print_insn): Ditto. + (read_insn): Ditto. + (print_normal): Prototype definition. Use void * instead of PTR. + (print_address): Ditto. + (print_keyword): Ditto. + (print_insn_normal): Ditto. + (read_insn): Ditto. + (print_insn): Ditto. + (default_print_insn): Ditto. + (print_insn_@arch@): Ditto. + + * cgen-ibld.in (insert_normal): Remove PARAMS macro. + (insn_insn_normal): Ditto. + (extract_normal): Ditto. + (extract_insn_normal): Ditto. + (put_insn_int_value): Ditto. + (insert_1): Ditto. + (fill_cache): Ditto. + (extract_1): Ditto. + (insert_1): Prototype definition. + (insert_normal): Ditto. + (insert_insn_normal): Ditto. + (put_insn_int_value): Ditto. + (fill_cache): Ditto. + (extract_1): Ditto. + (extract_normal): Ditto. + (extract_insn_normal): Ditto. + + * fr30-asm.c: Regenerate. + * fr30-dis.c: Ditto. + * fr30-ibld.c: Ditto. + * frv-asm.c: Ditto. + * frv-dis.c: Ditto. + * frv-ibld.c: Ditto. + * ip2k-asm.c: Ditto. + * ip2k-dis.c: Ditto. + * ip2k-ibld.c: Ditto. + * iq2000-asm.c: Ditto. + * iq2000-dis.c: Ditto. + * iq2000-ibld.c: Ditto. + * m32r-asm.c: Ditto. + * m32r-dis.c: Ditto. + * m32r-ibld.c: Ditto. + * openrisc-asm.c: Ditto. + * openrisc-dis.c: Ditto. + * openrisc-ibld.c: Ditto. + * xstormy16-asm.c: Ditto. + * xstormy16-dis.c: Ditto. + * xstormy16-ibld.c: Ditto. + +2003-08-06 Nick Clifton <nickc@redhat.com> + + * po/fr.po: Updated French translation. + +2003-08-05 Nick Clifton <nickc@redhat.com> + + * configure.in (ALL_LINGUAS): Add nl. + * configure: Regenerate. + * po/nl.po: New Dutch translation. + +2003-07-30 Jason Eckhardt <jle@rice.edu> + + * i860-dis.c: Convert to ISO C90. Remove superflous prototypes. + +2003-07-30 Nick Clifton <nickc@redhat.com> + + * po/ro.po: Updated Romanian translation. + +2003-07-29 Jakub Jelinek <jakub@redhat.com> + + * ppc-opc.c (insert_mbe, extract_mbe): Shift 1L instead of 1 up. + +2003-07-24 Nick Clifton <nickc@redhat.com> + + * po/fr.po: Updated French translation. + +2003-07-18 Nick Clifton <nickc@redhat.com> + + * arm-dis.c (parse_arm_disassembler_option): Do not expect + option string to be NUL terminated. + (parse_disassembler_options): Allow options to be space or + comma separated. + +2003-07-17 Nick Clifton <nickc@redhat.com> + + * po/es.po: New Spanish translation. + * po/sv.po: New Swedish translation. + * po/opcodes.pot: Regenerate. + +2003-07-15 Richard Sandiford <rsandifo@redhat.com> + + * mips-dis.c (mips_arch_choices): Add rm7000 and rm9000 entries. + +2003-07-14 Nick Clifton <nickc@redhat.com> + + * po/tr.po: Update with latest version. + * po/POTFILES.in: Regenerate. + * Makefile.in: Regenerate. + +2003-07-11 Alan Modra <amodra@bigpond.net.au> + + * po/opcodes.pot: Regenerate. + +2003-07-09 Alexandre Oliva <aoliva@redhat.com> + + 2000-05-25 Alexandre Oliva <aoliva@cygnus.com> + * m10300-dis.c (disassemble): Negate negative accumulator's shift. + 2000-05-24 Alexandre Oliva <aoliva@cygnus.com> + * m10300-dis.c (disassemble, case FSREG, FDREG): Don't assume + 32-bit longs when sign-extending operands. + 2000-04-20 Alexandre Oliva <aoliva@cygnus.com> + * m10300-opc.c: Remove MN10300_OPERAND_RELAX from all FSREGs. + * m10300-dis.c (HAVE_AM33_2): Define. + (disassemble): Use it. + (HAVE_AM33): Redefine. + (print_insn_mn10300): Fix mask for 5-byte extended insns. + 2000-04-01 Alexandre Oliva <aoliva@cygnus.com> + * m10300-opc.c: Renamed AM332 to AM33_2. + 2000-03-31 Alexandre Oliva <aoliva@cygnus.com> + * m10300-opc.c: Defined AM33 2.0 register operands. Added support + for AM33 2.0 `imm8,(abs16)' addressing mode for btst, bset and + bclr. Implemented `fbCC', `flCC', `dcpf' and all FP insns. + * m10300-dis.c (print_insn_mn10300): Recognize 5byte extended + insn code of AM33 2.0. + (disassemble): Recognize FMT_D3. Print out FP register names. + +2003-07-09 Chris Demetriou <cgd@broadcom.com> + + * mips-dis.c (set_default_mips_dis_options): Get BFD from + the disassembler_info's section, rather than from the + disassembler_info's symbols pointer. + +2003-07-07 Alan Modra <amodra@bigpond.net.au> + + * ppc-opc.c: Remove NULL pointer checks. Formatting. Remove + extraneous ATTRIBUTE_UNUSED. + * ppc-dis.c (print_insn_powerpc): Always pass a valid address to + operand->extract. + +2003-07-04 Alan Modra <amodra@bigpond.net.au> + + * ppc-opc.c: Convert to C90, removing unnecessary prototypes and + casts. Formatting. + + * ppc-opc.c: Remove PARAMS from prototypes. + (FXM4): Define. + (insert_fxm): New function, used by both FXM and FXM4. + (extract_fxm): Likewise. + (XFXFXM_MASK): Remove 1 << 20 term. + (powerpc_opcodes): Add Power4 version of "mfcr". Simplify "mtcr" mask. + +2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390-dis.c (s390_extract_operand): Add support for long displacements. + * s390-mkopc.c (s390_opcode_cpu_val): Add support for cpu type z990. + * s390-opc.c (D20_20): Add define for 20 bit displacements. + (INSTR_RRF_R0RR, INSTR_RSL_R0RD, INSTR_RSY_RRRD, INSTR_RSY_RURD, + INSTR_RSY_AARD, INSTR_RXY_RRRD, INSTR_RXY_FRRD, INSTR_SIY_URD): Add + new instruction formats. + (MASK_RRF_R0RR, MASK_RSL_R0RD, MASK_RSY_RRRD, MASK_RSY_RURD, + MASK_RSY_AARD, MASK_RXY_RRRD, MASK_RXY_FRRD, MASK_SIY_URD): Likewise. + (s390_opformats): Likewise. + * s390-opc.txt: Add new instructions for cpu type z990. Add missing + hfp instructions. Add missing instructions pgin, pgout and xsch. + +2003-06-23 H.J. Lu <hongjiu.lu@intel.com> + + * i386-dis.c (PNI_Fixup): New. Fix up "mwait" and "monitor" in + Intel Precott New Instructions. + (PREGRP27): New. Added for "addsubpd" and "addsubps". + (PREGRP28): New. Added for "haddpd" and "haddps". + (PREGRP29): New. Added for "hsubpd" and "hsubps". + (PREGRP30): New. Added for "movsldup" and "movddup". + (PREGRP31): New. Added for "movshdup" and "movhpd". + (PREGRP32): New. Added for "lddqu". + (dis386_twobyte): Use PREGRP30 to replace the "movlpX" entry. + Use PREGRP31 to replace the "movhpX" entry. Use PREGRP28 for + entry 0x7c. Use PREGRP29 for entry 0x7d. Use PREGRP27 for + entry 0xd0. Use PREGRP32 for entry 0xf0. + (twobyte_has_modrm): Updated. + (twobyte_uses_SSE_prefix): Likewise. + (grps): Use PNI_Fixup in the "sidtQ" entry. + (prefix_user_table): Add PREGRP27, PREGRP28, PREGRP29, PREGRP30, + PREGRP31 and PREGRP32. + (float_mem): Use "fisttp{l||l|}" in entry 1 in opcode 0xdb. + Use "fisttpll" in entry 1 in opcode 0xdd. + Use "fisttp" in entry 1 in opcode 0xdf. + +2003-06-19 Christian Groessler <chris@groessler.org> + + * z8k-dis.c (instr_data_s): Change tabl_index from long to int. + (print_insn_z8k): Correctly check return value from + z8k_lookup_instr call. + (unparse_instr): Handle CLASS_IRO case. + * z8kgen.c: Fix function definitions. Fix formatting. + (opt): Add brk opcode alias for non-simulator breakpoint. Add + missing and fix existing in/out and sin/sout opcode definitions. + (args): "@ri", "@ro" - add CLASS_IRO register usage for in/out + opcodes. + (internal): Check p->flags for non-zero before dereferencing it. + (gas): Add CLASS_IRO line. Insert new OPC_xxx lines for the added + opcodes and renumber the remaining lines repectively. + (main): Remove "-d" command line switch. + * z8k-opc.h: Regenerate with new z8kgen.c. + +2003-06-11 H.J. Lu <hongjiu.lu@intel.com> + + * po/Make-in (DESTDIR): New. + (install-data-yes): Support $(DESTDIR). + (uninstall): Likewise. + +2003-06-11 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * po/POTFILES.in: Regenerate. + +2003-06-10 Doug Evans <dje@sebabeach.org> + + * cgen-asm.in (@arch@_cgen_assemble_insn): CGEN_INSN_RELAX renamed to + CGEN_INSN_RELAXED. + * fr30-asm.c,fr30-desc.c,fr30-desc.h: Regenerate. + * frv-asm.c,frv-desc.c,frv-desc.h: Regenerate. + * ip2k-asm.c,ip2k-desc.c,ip2k-desc.h: Regenerate. + * iq2000-asm.c,iq2000-desc.c,iq2000-desc.h: Regenerate. + * m32r-asm.c,m32r-desc.c,m32r-desc.h,m32r-opc.c: Regenerate. + * openrisc-asm.c,openrisc-desc.c,openrisc-desc.h: Regenerate. + * xstormy16-asm.c,xstormy16-desc.c,xstormy16-desc.h: Regenerate. + +2003-06-10 Gary Hade <garyhade@us.ibm.com> + Alan Modra <amodra@bigpond.net.au> + + * ppc-opc.c (DQ, RAQ, RSQ, RTQ): Define. + (insert_dq, extract_dq, insert_raq, insert_rtq, insert_rsq): New. + (powerpc_opcodes): Add "attn", "lq" and "stq". + +2003-06-10 Richard Sandiford <rsandifo@redhat.com> + + * h8300-dis.c (bfd_h8_disassemble): Don't print brackets round + rts/l and rte/l register lists. + +2003-06-03 Nick Clifton <nickc@redhat.com> + + * frv-desc.c: Regenerate. + * frv-opc.c: Regenerate. + * frv-asm.c: Regenerate. + * frv-desc.h: Regenerate. + * frv-dis.c: Regenerate. + * frv-ibld.c: Regenerate. + * frv-opc.h: Regenerate. + * po/opcodes.pot: Regenerate. + +2003-06-03 Michael Snyder <msnyder@redhat.com> + and Bernd Schmidt <bernds@redhat.com> + and Alexandre Oliva <aoliva@redhat.com> + + * disassemble.c (disassembler): Add support for h8300sx. + * h8300-dis.c: Ditto. + +2003-06-03 Nick Clifton <nickc@redhat.com> + + * frv-desc.c: Regenerate. + * frv-opc.c: Regenerate. + + * aclocal.m4: Regenerate. + * config.in: Regenerate. + * configure: Regenerate. + * iq2000-asm.c: Regenerate. + * iq2000-desc.c: Regenerate. + * iq2000-desc.h: Regenerate. + * iq2000-dis.c: Regenerate. + * iq2000-ibld.c: Regenerate. + * iq2000-opc.c: Regenerate. + * iq2000-opc.h: Regenerate. + * po/POTFILES.in: Regenerate. + * po/opcodes.pot: Regenerate. + +2003-05-23 Jason Eckhardt <jle@rice.edu> + + * i860-dis.c (crnames): Add bear, ccr, p0, p1, p2, p3. + (print_insn_i860): Grab 4 bits of the control register field + instead of 3. + +2003-05-18 Jason Eckhardt <jle@rice.edu> + + * i860-dis.c (print_insn_i860): Instruction shrd has a dual bit, + print it. + +2003-05-17 Andreas Jaeger <aj@suse.de> + + * Makefile.am (libopcodes_la_LIBADD): Add libbfd.la. + (libopcodes_la_DEPENDENCIES): Add libbfd.la. + * Makefile.in: Regenerated. + +2003-05-16 Nick Clifton <nickc@redhat.com> + + * configure.in (ALL_LINGUAS): Add Romanian translation. + * configure: Regenerate. + * po/ro.po: New file: Romanian translation. + +2003-05-12 Dhananjay Deshpande <dhananjayd@kpitcummins.com> + + * disassemble.c (disassembler): Add support for h8300hn and h8300sn. + +2003-05-09 Alan Modra <amodra@bigpond.net.au> + + * i386-dis.c (print_insn): Test intel_syntax against (char) -1 in + case char is unsigned. + +2003-05-01 Christian Groessler <chris@groessler.org> + + * z8k-dis.c (z8k_lookup_instr): Optimize FETCH_DATA calls. + (unpack_instr): Fix representation of segmented addresses. + (intr_name): Added, contains names of the parameters to the EI/DI + instructions. + (unparse_instr): Fix display of EI/DI parameters. + +2003-04-22 Doug Evans <dje@sebabeach.org> + + * fr30-desc.c,fr30-desc.h,fr30-opc.c,fr30-opc.h: Regenerate. + * frv-desc.c,frv-desc.h,frv-opc.c,frv-opc.h: Regenerate. + * ip2k-desc.c,ip2k-desc.h,ip2k-opc.c,ip2k-opc.h: Regenerate. + * m32r-desc.c,m32r-desc.h,m32r-opc.c,m32r-opc.h: Regenerate. + * m32r-opinst.c: Regenerate. + * openrisc-desc.c,openrisc-desc.h,openrisc-opc.c,openrisc-opc.h: Regenerate. + * xstormy16-desc.c,xstormy16-desc.h,xstormy16-opc.c,xstormy16-opc.h: Regenerate. + +2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com> + + * h8500-opc.c: Replace occurrances of 'Hitachi' with 'Renesas'. + +2003-04-07 James E Wilson <wilson@tuliptree.org> + + * ia64-ic.tbl (fr-readers): Add mem-writers-fp. + * ia64-asmtab.c: Regenerate. + +2003-04-08 Alexandre Oliva <aoliva@redhat.com> + + * mips-dis.c (mips_gpr_names_newabi): Reverted previous patch. + +2003-04-07 Alexandre Oliva <aoliva@redhat.com> + + * mips-dis.c (mips_gpr_names_newabi): $12-$15 are named $t4-$t7. + +2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com> + + * tic4x-dis.c: Namespace cleanup. Replace s/c4x/tic4x and + s/c3x/tic3x/ + +2003-04-01 Nick Clifton <nickc@redhat.com> + + * arm-dis.c: Remove presence of (r) and (tm) symbols. + * arm-opc.h: Remove presence of (r) and (tm) symbols. + +2003-03-25 Stan Cox <scox@redhat.com> + Nick Clifton <nickc@redhat.com> + + Contribute support for Intel's iWMMXt chip - an ARM variant: + + * arm-dis.c (regnames): Add iWMMXt register names. + (set_iwmmxt_regnames): New function. + (print_insn_arm): Handle iWMMXt formatters. + * arm-opc.h: Document iWMMXt formatters. + (arm_opcod): Add iWMMXt instructions. + +2003-03-22 Doug Evans <dje@sebabeach.org> + + * i386-dis.c (dis386): Recognize icebp (0xf1). + +2003-03-21 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390-dis.c (init_disasm): Rename S390_OPCODE_ESAME to + S390_OPCODE_ZARCH. + (print_insn_s390): Use new modes field of s390_opcodes. + * s390-mkopc.c (ARCHBITS_ESAONLY, ARCHBITS_ESA, ARCHBITS_ESAME): Remove. + (s390_opcode_mode_val, s390_opcode_cpu_val): New enums. + (struct op_struct): Remove archbits. Add mode_bits and min_cpu. + (insertOpcode): Replace archbits by min_cpu and mode_bits. + (dumpTable): Write mode_bits and min_cpu instead of archbits. + (main): Adapt to new format in s390-opcode.txt. + * s390-opc.c (s390_opformats): Replace archbits by min_cpu and + mode_bits. + * s390-opc.txt: Replace archbits by min_cpu and mode_bits. + +2003-03-17 Nick Clifton <nickc@redhat.com> + + * ppc-opc.c: Fix formatting. Update copyright date. + +2003-03-14 Daniel Jacobowitz <drow@mvista.com> + + * ppc-opc.c (powerpc_opcodes): Readd tlbre for PPC403. + +2003-02-25 Alan Modra <amodra@bigpond.net.au> + + * hppa-dis.c: Formatting. + +2003-02-25 Matthew Wilcox <willy@debian.org> + + * hppa-dis.c (print_insn_hppa): Implement fcnv instruction modifiers. + + * hppa-dis.c (print_insn_hppa <2 bit space register>): Do not print + the space register when the value is zero. + +2003-02-23 Elias Athanasopoulos <elathan@phys.uoa.gr> + + * mips-dis.c (print_mips_disassembler_options): Make 'i' unsigned, + use ARRAY_SIZE in loops. + +2003-02-12 Dave Brolley <brolley@redhat.com> + + * fr30-desc.c: Regenerate. + +2003-02-06 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> + + * i386-dis.c (dq_mode, Edq): Define. + (dis386_twobyte): Correct movd operands. + (OP_E): Handle dq_mode case. + +2003-01-29 Henric Jungheim <henric@attbi.com> + + * sparc-dis.c (print_insn_sparc): When examining values added in + to rs1, make sure that there are previous instructions. + +2003-01-23 Nick Clifton <nickc@redhat.com> + + * Add sh2e support: + + 2002-04-02 Alexandre Oliva <aoliva@redhat.com> + + * sh-dis.c (print_insn_shx): Handle bfd_mach_sh2e. + * sh-opc.h (arch_sh2e, arch_sh2e_up): New. + (arch_sh2_up): Added sh2e. + (sh_table): Replaced all occurrences of arch_sh3e_up with + arch_sh2e_up, except in fsqrt. + +2003-01-23 Alan Modra <amodra@bigpond.net.au> + + * sh64-dis.c: Include elf32-sh64.h. + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + +2003-01-17 Richard Henderson <rth@redhat.com> + + * alpha-opc.c (alpha_opcodes): Add bugchk, rduniq, wruniq, gentrap + PAL entry points. + +2003-01-16 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * po/POTFILES.in: Regenerate. + +2003-01-08 Klee Dienes <kdienes@apple.com> + + * Makefile.am (ALL_MACHINES): Add msp430-dis.lo. + * Makefile.in: Regenerate. + +2003-01-08 Alan Modra <amodra@bigpond.net.au> + + * ppc-opc.c (powerpc_macros <extrwi>): Accept a shift of 32. + +2002-01-02 Ben Elliston <bje@redhat.com> + Jeff Johnston <jjohnstn@redhat.com> + + * iq2000-asm.c: New file. + * iq2000-desc.c: Likewise. + * iq2000-desc.h: Likewise. + * iq2000-dis.c: Likewise. + * iq2000-ibld.c: Likewise. + * iq2000-opc.c: Likewise. + * iq2000-opc.h: Likewise. + * Makefile.am (HFILES): Add iq2000-desc.h, iq2000-opc.h. + (CFILES): Add iq2000-asm.c, iq2000-desc.c, iq2000-dis.c, + iq2000-ibld.c, iq2000-opc.c. + (ALL_MACHINES): Add iq2000-asm.lo, iq2000-desc.lo, iq2000-dis.lo, + iq2000-ibld.lo, iq2000-opc.lo. + (CLEANFILES): Add stamp-iq2000. + (IQ2000_DEPS): New macro. + (stamp-iq2000): New target. + * Makefile.in: Regenerate. + * configure.in: Handle bfd_iq2000_arch. + * configure: Regenerate. + +2003-01-02 Chris Demetriou <cgd@broadcom.com> + + * mips-dis.c (print_insn_args): Use position extracted by "+A" + to calculate size for "+B". Redo code for "+C" so it shares + the same style as "+A" and "+B" now do. + +2003-01-02 Chris Demetriou <cgd@broadcom.com> + + * mips-dis.c: Update copyright years. + (print_insn_arg): Rename to... + (print_insn_args): This, returning void. Process the whole + string of args rather than a single one. Reindent. + (print_insn_mips): Update to match the above. + +2002-12-31 Chris Demetriou <cgd@broadcom.com> + + * mips-opc.c (mips_builtin_opcodes): Move "di" into the + right order alphabetically, and make all hex constants use + lower-case letters. + +2002-12-31 Chris Demetriou <cgd@broadcom.com> + + * mips-dis.c (mips_cp0sel_name): New structure. + (mips_cp0sel_names_mips3264, mips_cp0sel_names_mips3264r2) + (mips_cp0sel_names_sb1): New arrays. + (mips_arch_choice): New structure members "cp0sel_names" and + "cp0sel_names_len". + (mips_arch_choices): Add references to new cp0sel_names arrays + as appropriate, and make all existing entries reference + appropriate mips_XXX_names_numeric arrays rather than simply + using NULL. + (mips_cp0sel_names, mips_cp0sel_names_len): New variables. + (lookup_mips_cp0sel_name): New function. + (set_default_mips_dis_options): Set mips_cp0sel_names and + mips_cp0sel_names_len as appropriate. Remove now-unnecessary + checks for NULL register name arrays. + (parse_mips_dis_option): Likewise. + (print_insn_arg): Handle "+D" operand type. + * mips-opc.c (mips_builtin_opcodes): Add new "+D" variants + of mfc0, mtc0, dmfc0, and dmtc0 to print CP0+sel register + names symbolically. + +2002-12-30 Chris Demetriou <cgd@broadcom.com> + + * mips-dis.c (mips_cp0_names_mips3264r2, mips_hwr_names_numeric) + (mips_hwr_names_mips3264r2): New arrays. + (mips_arch_choice): New "hwr_names" member. + (mips_arch_choices): Adjust for structure change, and add a new + entry for "mips32r2" ISA. + (mips_hwr_names): New variable. + (set_default_mips_dis_options): Set mips_hwr_names. + (parse_mips_dis_option): New "hwr-names" option which sets + mips_hwr_names, and adjust "reg-names=ARCH" to set mips_hwr_names. + (print_insn_arg): Change return type to "int" + and use that to indicate number of characters consumed. + Add support for "+" operand extension character, "+A", "+B", + "+C", and "K" operands. + (print_insn_mips): Adjust for changes to print_insn_arg. + (print_mips_disassembler_options): Adjust for "hwr-names" + addition and "reg-names" change. + * mips-opc (I33): New define (shorthand for INSN_ISA32R2). + (mips_builtin_opcodes): Note that "nop" and "ssnop" are special + forms of "sll". Add new MIPS32 Release 2 instructions: ehb, + di, ei, ext, ins, jr.hb, jalr.hb, mfhc1, mfhc2, mthc1, mthc2, + rdhwr, rdpgpr, seb, seh, synci, wrpgpr, wsbh. + Note that hardware rotate instructions (ror, rorv) can be + used on MIPS32 Release 2, and add the official mnemonics + for them (rotr, rotrv) and the similar "rotl" mnemonic for + left-rotate. + +2002-12-30 Dmitry Diky <diwil@mail.ru> + + * configure.in: Add msp430 target. + * configure: Regenerate. + * disassemble.c: Add entry for msp430 disassembly. + * msp430-dis.c: New file: msp430 disassembler. + +2002-12-27 Chris Demetriou <cgd@broadcom.com> + + * disassemble.c (disassembler_usage): Add invocation of + print_mips_disassembler_options. + * mips-dis.c: Include libiberty.h. + (print_mips_disassembler_options, set_default_mips_dis_options) + (parse_mips_dis_option, parse_mips_dis_options, choose_abi_by_name) + (choose_arch_by_name, choose_arch_by_number): New functions. + (mips_abi_choice, mips_arch_choice): New structures. + (mips32_reg_names, mips64_reg_names, reg_names): Remove. + (mips_gpr_names_numeric, mips_gpr_names_oldabi) + (mips_gpr_names_newabi, mips_fpr_names_numeric) + (mips_fpr_names_32, mips_fpr_names_n32, mips_fpr_names_64) + (mips_cp0_names_numeric, mips_cp0_names_mips3264) + (mips_cp0_names_sb1, mips_abi_choices, mips_arch_choices) + (mips_processor, mips_isa, mips_gpr_names, mips_fpr_names) + (mips_cp0_names): New variables. + (print_insn_args): Use new variables to print GPR, FPR, and CP0 + register names. + (mips_isa_type): Remove. + (print_insn_mips): Remove ISA and CPU setup since it is now done... + (_print_insn_mips): Here. Remove register setup code, and + call set_default_mips_dis_options and parse_mips_dis_options + instead. + (print_mips16_insn_arg): Use mips_gpr_names instead of mips32_names. + +2002-12-23 Alan Modra <amodra@bigpond.net.au> + + * Makefile.in: Regenerate. + +2002-12-19 Nick Kelsey <nickk@ubicom.com> + + * cgen-asm.c (cgen_parse_keyword): Added underscore to symbol character + check to fix false keyword trigger with names such as <keyword>_foo. + +2002-12-19 Doug Evans <dje@sebabeach.org> + + * Makefile.am (CGEN_CPUS): New variable. + (run-cgen-all): New rule. + * Makefile.in: Regenerate. + +2002-12-18 Chris Demetriou <cgd@broadcom.com> + + * mips-opc.c (mips_builtin_opcodes): Remove one "ror" and two + "dror" entries, and reorder the remaining "dror" and "ror" entries. + +2002-12-16 DJ Delorie <dj@delorie.com> + + * xstormy16-asm.c (parse_immediate16): Add prototype. + +2002-12-16 Andrew MacLeod <amacleod@redhat.com> + + * xstormy16-asm.c: Regenerate. + +2002-12-16 Alan Modra <amodra@bigpond.net.au> + + * ns32k-dis.c (print_insn_ns32k): Constify "d", remove register + keyword. + +2002-12-13 Alan Modra <amodra@bigpond.net.au> + + * h8500-opc.h (h8500_table): Add missing initializers to quiet + warnings. + * pj-dis.c (print_insn_pj): Adjust for pj_opc_info_t change. + * pj-opc.c (pj_opc_info): Add braces around union initializer. + * z8kgen.c: Include "libiberty.h". + (opt, args, toks): Fix initializer warnings. + (chewname): Make "name" a char **. Return mnemonic trimmed of + operands. + (gas): Improve emitted "DO NOT EDIT" warning. Format emitted + opcode_entry_type, and make "nicename" and "name" const. Make + z8k_table const too. Formatting. Generate idx as gas needs it. + * z8k-opc.h: Regenerate. + +2002-12-08 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-dis.c (print_indexed_operand): Fix PC-relative address + for 9 and 16-bit PC-relative addressing mode. + +2002-12-05 Aldy Hernandez <aldyh@redhat.com> + + * ppc-opc.c: Delete evsabs, evsnabs, evsneg, evsadd, evssub, + evsmul, evsdiv, evscmpgt, evsgmplt, evststgt, evtstlt, evststeq, + evscfui, evscfsi, evscfuf, evscfsf, evsctui, evsctuiz, evsctsi, + evsctsiz, evsctuf, evsctsf, evmwhssfaa, evmwhssmaa, evmwhsmfaa, + evmwhsmiaa, evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian, + evmwhsmfan, evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa, + evmwhgsmfaa, evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan, + evmwhgsmian, evmwhgumian. + (mftb): Add to opcode table. + (mtspefscr): Change RT to RS in opcode table. + +2002-12-05 Aldy Hernandez <aldyh@redhat.com> + + * ppc-opc.c: Move mbar and msync up. Change mask for mbar and + msync. + +2002-12-04 David Mosberger <davidm@hpl.hp.com> + + * ia64-opc-d.c (ia64_opcodes_d): Add "hint" instruction. + * ia64-opc-b.c: Add "hint.b" instruction. + * ia64-opc-f.c: Add "hint.f" instruction. + * ia64-opc-i.c: Add "hint.i" instruction. + * ia64-opc-m.c: Add "hint.m", "fc.i", "ld16", "st16", and + "cmp8xchg16" instructions. + * ia64-opc-x.c: Add "hint.x" instruction. + + * ia64-opc.h (AR_CSD): New macro. + + * ia64-ic.tbl: Update according to SDM2.1. + * ia64-raw.tbl: Ditto. + * ia64-waw.tbl: Ditto. + + * ia64-gen.c (in_iclass): Handle "hint" like "nop". + (lookup_regindex): Recognize AR[FCR], AR[EFLAG], AR[CSD], + AR[SSD], AR[CFLG], AR[FSR], AR[FIR], and AR[FDR]. + * ia64-asmtab.c: Regenerate. + +2002-11-25 Aldy Hernandez <aldyh@redhat.com> + + * ppc-opc.c: Remove evmwlssf, evmwlssfa, evmwlsmf, evmwlsmfa, + evmwlssfaaw, evmwlsmfaaw, evmwlssfanw, evmwlsfanw. + +2002-12-04 Aldy Hernandez <aldyh@redhat.com> + + * ppc-opc.c (PMRN): Remove. + (RA): Set to NB + 1. + (powerpc_opcodes): Change PMRN to SPR. + Change all RD to RS. + Change mftb to look like mftbl. + Move mftb before mftbl. + Add mfbbtar. + Add mtbbtar. + Change mfpmr to use PMR. + Change mtpmr to use PMR. + (RD): Remove. + (insert_ev2): Fix mask and shift. + (extract_ev2): Same. + (insert_ev4): Same. + (extract_ev4): Same. + (PMR): Define. + (extract_pmrn): Remove. + (insert_pmrn): Remove. + +2002-12-03 Richard Henderson <rth@redhat.com> + + * ia64-opc-m.c: Add ld8.mov. + * ia64-asmtab.c: Regenerate. + +2002-12-02 Alan Modra <amodra@bigpond.net.au> + + * arm-dis.c (print_insn_arm): Constify "insn". Formatting. + (print_insn_thumb): Likewise. + * h8500-dis.c (print_insn_h8500): Constify "opcode". + * mcore-dis.c (print_insn_mcore): Constify "op". Formatting. + * ns32k-dis.c (print_insn_arg <case 'F'>): Use a union to avoid + type-punned pointer warnings. + <case 'L'>: Likewise. Fix error message too. + * pdp11-dis.c (print_reg): Warning fix. + * sh-dis.c (print_movxy): Constify "op" param. + (print_insn_ddt): Constify sh_opcode_info vars. + (print_insn_ppi): Likewise. + (print_insn_sh): Likewise. + * tic30-dis.c (cnvt_tmsfloat_ieee): Use a union to avoid + type-punned pointer warnings. + * w65-dis.c (print_insn_w65): Constify "op". + +2002-12-01 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-dis.c (PC_REGNUM): Define. + (print_indexed_operand): Need an adjustment for some PC-relative + operand modes; print the final address of PC-relative modes. + (print_insn): Take into account movw/movb to adjust the PC-relative + operand addresses. + +2002-11-30 Alan Modra <amodra@bigpond.net.au> + + *arm-dis.c, cris-dis.c, h8300-dis.c, mips-dis.c, mmix-dis.c, sh-dis.c, + sh64-dis.c, v850-dis.c: Replace boolean with bfd_boolean, true with + TRUE, false with FALSE. Simplify comparisons of bfd_boolean vars + with TRUE/FALSE. Formatting. + +2002-11-25 DJ Delorie <dj@redhat.com> + + * xstormy16-opc.c: Regenerate. + +2002-11-25 Jim Wilson <wilson@redhat.com> + + * ia64-dis.c (print_insn_ia64): Correct handling of IA64_OPND_TGT64. + +2002-11-15 DJ Delorie <dj@redhat.com> + + * xstormy16-desc.c: Regenerate. + * xstormy16-opc.c: Regenerate. + * xstormy16-opc.h: Regenerate. + +2002-11-18 Klee Dienes <kdienes@apple.com> + + * avr-dis.c: Include libiberty.h (for xmalloc). + (struct avr_opcodes_s): Remove 'bin_mask' field (it's + automatically computed in the init routine). + (AVR_INSN): No longer provide bin_mask field in initializer. + (avr_opcodes_s): Declare as const. + (print_insn_avr): Store the bin_mask field in a separate table + (allocated with xmalloc); iterate through it at the same time as + we iterate through the opcodes. + +2002-11-18 Klee Dienes <kdienes@apple.com> + + * h8300-dis.c: Include libiberty.h (for xmalloc). + (struct h8_instruction): New type, used to wrap h8_opcodes with a + length field (computed at run-time). + (h8_instructions): New variable. + (bfd_h8_disassemble_init): Allocate the storage for + h8_instructions. Fill h8_instructions with pointers to the + appropriate opcode and the correct value for the length field. + (bfd_h8_disassemble): Iterate through h8_instructions instead of + h8_opcodes. + +2002-11-18 Klee Dienes <kdienes@apple.com> + + * arc-opc.c (arc_ext_opcodes): Define. + (arc_ext_operands): Define. + * i386-dis.c (Suffix3DNow): Declare as const. + * arm-opc.h (arm_opcodes): Declare as const. + (thumb_opcodes): Declare as const. + * h8500-opc.h (h8500_table): Declare as const. + (h8500_table): Use a NULL for the opcode in the terminator, so + that code testing (opcode->name) behaves correctly. + * mcore-opc.h (mcore_table): Declare as const. + * sh-opc.h (sh_table): Declare as const. + * w65-opc.h (optable): Declare as const. + * z8k-opc.h (z8k_table): Declare as const. + +2002-11-18 Svein E. Seldal <Svein.Seldal@solidas.com> + + * tic4x-dis.c: Added support for enhanced and special insn. + (c4x_print_op): Added insn class 'i' and 'j' + (c4x_hash_opcode_special): Add to support special insn + (c4x_hash_opcode): Update to support the new opcode-list + format. Add support for the new special insns. + (c4x_disassemble): New opcode-list support. + +2002-11-16 Klee Dienes <kdienes@apple.com> + + * m88k-dis.c: Include libiberty.h (for xmalloc). + (HASHTAB): New type, used to build instruction hash tables. + Contains a pointer to an INSTAB and a pointer to the next hash + chain entry. + (instructions): Move definition from m88k.h; remove initialization + of 'next' field. + (hashtable): Now an aray of pointer-to-HASHTAB, not INSTAB. + (printop): Mark pointer to OPSPEC as const. + (install): Remove; fold into init_disasm. + (m88kdis): Update to ihashtab_initialized to 1 after calling + init_disasm. entry_ptr now iterates through HASHTABs, not + INSTABs. + (init_disasm): Iterate through the instructions and add to + hashtable[]. + +2002-11-16 Svein E. Seldal <Svein.Seldal@solidas.com> + + * tic4x-dis.c: (c4x_print_op): Add support for the new argument + format. Fix bug in 'N' register printer. + +2002-11-12 Segher Boessenkool <segher@koffie.nl> + + * ppc-dis.c (print_insn_powerpc): Correct condition register display. + +2002-11-07 Aldy Hernandez <aldyh@redhat.com> + + * ppc-opc.c (EVUIMM_4): Change bit size to 32. + (EVUIMM_2): Same. + (EVUIMM_8): Same. + +2002-11-07 Klee Dienes <kdienes@apple.com> + + * Makefile.am (ia64-asmtab.c): Update to use the new '--srcdir' + argument to ia64-gen. + Regenerate dependencies for ia64-len.lo. + * Makefile.in: Regenerate. + * ia64-gen.c: Convert to use getopt(). Add the standard GNU + options, as well as '--srcdir', which controls the directory in + which ia64-gen looks for the sources it uses to generate the + output table. Add a 'const' to the declaration of the final + output table. Call xmalloc_set_program_name to set the program + name. + * ia64-asmtab.c: Regenerate. + +2002-11-07 Nick Clifton <nickc@redhat.com> + + * ia64-gen.c: Fix comment formatting and compile time warnings. + * ia64-opc-a.c: Fix compile time warnings. + * ia64-opc-b.c: Likewise. + * ia64-opc-d.c: Likewise. + * ia64-opc-f.c: Likewise. + * ia64-opc-i.c: Likewise. + * ia64-opc-m.c: Likewise. + * ia64-opc-x.c: Likewise. + +2002-11-06 Aldy Hernandez <aldyh@redhat.com> + + * ppc-opc.c: Change RD to RS for evmerge*. + +2002-10-07 Nathan Tallent <eraxxon@alumni.rice.edu> + + * sparc-opc.c (sparc_opcodes) <fb, fba, fbe, fbz, fbg, fbge, + fbl, fble, fblg, fbn, fbne, fbnz, fbo, fbu, fbue, fbug, fbuge, + fbul, fbule>: Add conditional/unconditional branch + classification. + +2002-10-13 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-dis.c (print_insn): Treat bitmask and branch operands + at the end. + +2002-09-30 Gavin Romig-Koch <gavin@redhat.com> + Ken Raeburn <raeburn@cygnus.com> + Aldy Hernandez <aldyh@redhat.com> + Eric Christopher <echristo@redhat.com> + Richard Sandiford <rsandifo@redhat.com> + + * mips-dis.c (print_insn_arg): Handle '[', ']', 'e' and '%'. + (mips_isa_type): Handle bfd_mach_mips4120, bfd_mach_mips5400 + and bfd_mach_mips5500. + * mips-opc.c (V1): Include INSN_4111 and INSN_4120. + (N411, N412, N5, N54, N55): New convenience defines. + (mips_builtin_opcodes): Add vr4120, vr5400 and vr5500 opcodes. + Change dmadd16 and madd16 from V1 to N411. + +2002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips-dis.c (print_insn_mips): Always allow disassembly of + 32-bit jalx opcode. + +2002-09-24 Nick Clifton <nickc@redhat.com> + + * po/de.po: Updated German translation. + +2002-09-21 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * po/POTFILES.in: Regenerate. + +2002-09-20 Nick Clifton <nickc@redhat.com> + + * ppc-opc.c (CRFD, CRFS): Add PPC_OPERAND_CR flag so that cr + register names are accepted. + +2002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com> + + * tic4x-dis.c: Add function declarations and ATTRIBUTE_UNUSED. + Convert functions to K&R format. + +2002-09-13 Nick Clifton <nickc@redhat.com> + + * ppc-opc.c (MFDEC2): Include Book-E. + (PPCCHLK64): New opcode mask. + (evsubw, evsubiw, evmr, evnot, isellt, iselgt, iseleq, mfpid, + mfcsrr0, mfcsrr1, mfdear, mfesr, mfivpr, mfusprg0, mftbl, + mftbu, mfpir, mfdbsr, mfdbcr0, mfdbcr1, mfdbcr2, mfiac1, + mfiac2, mfiac3, mfiac4, mfdac1, mfdac2, mfdvc1, mfdvc2, mftsr, + mftcr, mfivor0, mfivor1, mfivor2, mfivor3, mfivor4, mfivor5, + mfivor6, mfivor7, mfivor8, mfivor9, mfivor10, mfivor11, + mfivor12, mfivor13, mfivor14, mfivor15, mfbbear, mfmcsrr0, + mfmcsrr1, mfmcsr, mtpid, mtdecar, mtcsrr0, mtcsrr1, mtdear, + mtesr, mtivpr, mtusprg0, mtsprg4, mtsprg5, mtsprg6, mtsprg7, + mtdbsr, mtdbcr0, mtdbcr1, mtdbcr2, mtiac1, mtiac2, mtiac3, + mtiac4, mtdac1, mtdac2, mtdvc1, mtdvc2, mttsr, mttcr, mtivor0, + mtivor1, mtivor2, mtivor3, mtivor4, mtivor5, mtivor6, mtivor7, + mtivor8, mtivor9, mtivor10, mtivor11, mtivor12, mtivor13, + mtivor14, mtivor15, mtbbear, mtmcsrr0, mtmcsrr1, mtmcsr): New + Book-E instructions. + (evfsneg): Fix opcode value. + (dcbtstlse, dcbtlse, icblce, dcblce, icbtsle): Use PPCCHLK64 + mask. + (mcrxr64, tlbivaxe, tlbsxe, tlbsxe.): Restrict to 64-bit + Book-E. + (extsw): Restrict to 64-bit PPC instruction sets. + (extsw.): Does not exist in 64-bit Book-E. + (powerpc_macro): Remove mftbl, mftbu and mftb Book-E macros as + they are no longer needed. + +2002-09-12 Gary Hade <garyhade@us.ibm.com> + + * ppc-dis.c (powerpc_dialect): Add missing PPC_OPCODE_CLASSIC. + +2002-09-11 Nick Clifton <nickc@redhat.com> + + * po/da.po: Updated Danish translation file. + +2002-09-04 Nick Clifton <nickc@redhat.com> + + * ppc-opc.c (extsw, extsw.): Do not allow for the BookE32. + +2002-09-04 Nick Clifton <nickc@redhat.com> + + * disassemble.c (disassembler_usage): Add invocation of + print_ppc_disassembler_options. + * ppc-dis.c (print_ppc_disassembler_options): New function. + +2002-09-04 Nick Clifton <nickc@redhat.com> + + * ppc-opc.c: The BookE implementations of the TLBWE and TLBRE + instructions do not take any arguments. + +2002-09-02 Nick Clifton <nickc@redhat.com> + + * v850-opc.c: Remove redundant references to V850EA architecture. + +2002-09-02 Alan Modra <amodra@bigpond.net.au> + + * arc-opc.c: Include bfd.h. + (arc_get_opcode_mach): Subtract off base bfd_mach value. + +2002-08-30 Alan Modra <amodra@bigpond.net.au> + + * v850-dis.c (disassemble): Remove bfd_mach_v850ea case. + + * mips-dis.c (_print_insn_mips): Don't use hard-coded mach constants. + +2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com> + + * configure.in: Added bfd_tic4x_arch. + * configure: Regenerate. + * Makefile.am: Added tic4x-dis.o target. + * Makefile.in: Regenerate. + +2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz> + + * disassemble.c: Added tic4x target and c4x + disassembler routine. + * tic4x-dis.c: New file. + +2002-08-16 Christian Groessler <chris@groessler.org> + + * z8k-dis.c (unparse_instr): case CLASS_BA: Designate hex + values as those. + * z8kgen.c (opt): Fix definition of "in rd,imm16" opcode. + * z8k-opc.h: Regenerated with new z8kgen.c. + +2002-08-19 Elena Zannoni <ezannoni@redhat.com> + + From matthew green <mrg@redhat.com> + + * ppc-dis.c (powerpc_dialect): Support `-m500', `-m500x2' and + `-mefs'. Turn off AltiVec for E500 and efs. + (print_insn_powerpc): Don't print an AltiVec instruction if the + dialect is not efs. + + * ppc-opc.c (insert_pmrn, extract_pmrn, insert_ev2, extract_ev2, + insert_ev4, extract_ev4, insert_ev8, extract_ev8): New functions + for extracting pmrn/evld/evstd/etc operands. + (CRB, CRFD, CRFS, DC, RD): New instruction fields. + (CT): Make this equal to RD + 1. + (PMRN): New operand. + (RA): Update. + (EVUIMM, EVUIMM_2, EVUIMM_4, EVUIMM_8): New operands. + (WS): Update. + (EVSEL, EVSEL_MASK): New instruction form and mask for EVSEL. + (ISEL, ISEL_MASK): New instruction form and mask for ISEL. + (XISEL, XISEL_MASK): New instruction form and mask for ISEL. + (CTX, CTX_MASK): New instruction form and mask for context cache + instructions. + (UCTX, UCTX_MASK): New instruction form and mask for user context + cache instructions. + (XC, XC_MASK, XUC, XUC_MASK): New instruction forms. + (CLASSIC): New define. + (PPCESPE): New define. + (PPCISEL, , PPCBRLK, PPCPMR, PPCCHLK, PPCRFMI): New + defines for integer select, cache control, branch + locking, power management, cache locking and machine check + APU instructions, respectively. + (efsabs, efsnabs, efsneg, efsadd, efssub, efsmul, + efsdiv, efscmpgt, efscmplt, efscmpeq, efststgt, efststlt, + efststeq, efscfui, efsctuiz, efscfsi, efscfuf, efscfsf, + efsctui, efsctsi, efsctsiz, efsctuf, efsctsf, + evaddw, evaddiw, evsubfw, evsubifw, evabs, evneg, evextsb, + evextsh, evrndw, evcntlzw, evcntlsw, brinc, evand, evandc, evor, + evorc, evxor, eveqv, evnand, evnor, evrlw, evrlwi, evslw, evslwi, + evsrws, evsrwu, evsrwis, evsrwiu, evsplati, evsplatfi, evmergehi, + evmergelo, evmergehilo, evmergelohi, evcmpgts, evcmpgtu, evcmplts, + evcmpltu, evcmpeq, evsel, evldd, evlddx, evldw, evldwx, evldh, + evldhx, evlwhe, evlwhex, evlwhou, evlwhoux, evlwhos, evlwhosx, + evlwwsplat, evlwwsplatx, evlwhsplat, evlwhsplatx, evlhhesplat, + evlhhesplatx, evlhousplat, evlhousplatx, evlhossplat, evlhossplatx, + evstdd, evstddx, evstdw, evstdwx, evstdh, evstdhx, evstwwe, + evstwwex, evstwwo, evstwwox, evstwhe, evstwhex, evstwho, evstwhox, + evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul, evfsdiv, + evfscmpgt, evfscmplt, evfscmpeq, evfststgt, evfststlt, evfststeq, + evfscfui, evfsctuiz, evfscfsi, evfscfuf, evfscfsf, evfsctui, + evfsctsi, evfsctsiz, evfsctuf, evfsctsf, evsabs, evsnabs, evsneg, + evsadd, evssub, evsmul, evsdiv, evscmpgt, evsgmplt, evsgmpeq, + evststgt, evststlt, evststeq, evscfui, evscfsi, evscfuf, evscfsf, + evsctui, evsctuiz, evsctsi, evsctsiz, evsctuf, evsctsf, evmhossf, + evmhossfa, evmhosmf, evmhosmfa, evmhosmi, evmhosmia, evmhoumi, + evmhoumia, evmhessf, evmhessfa, evmhesmf, evmhesmfa, evmhesmi, + evmhesmia, evmheumi, evmheumia, evmhossfaaw, evmhossiaaw, + evmhosmfaaw, evmhosmiaaw, evmhousiaaw, evmhoumiaaw, evmhessfaaw, + evmhessiaaw, evmhesmfaaw, evmhesmiaaw, evmheusiaaw, evmheumiaaw, + evmhossfanw, evmhossianw, evmhosmfanw, evmhosmianw, evmhousianw, + evmhoumianw, evmhessfanw, evmhessianw, evmhesmfanw, evmhesmianw, + evmheusianw, evmheumianw, evmhogsmfaa, evmhogsmiaa, evmhogumiaa, + evmhegsmfaa, evmhegsmiaa, evmhegumiaa, evmhogsmfan, evmhogsmian, + evmhogumian, evmhegsmfan, evmhegsmian, evmhegumian, evmwhssf, + evmwhssfa, evmwhssfaa, evmwhssmaa, evmwhsmfaa, evmwhsmiaa, + evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian, evmwhsmfan, + evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa, evmwhgsmfaa, + evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan, evmwhgsmian, + evmwhgumian, evmwhsmf, evmwhsmfa, evmshsmi, evmshsmia, evmshumi, + evmshumia, evmmlssf, evmmlssfa, evmwlsmf, evmwlsmfa, evmwlumi, + evmwlumia, evmwlssfaaw, evmwlssiaaw, evmwlsmfaaw, evmwlsmiaaw, + evmwlusiaaw, evmwlumiaaw, evmwissfanw, evmwissianw, evmwlsmfanw, + evmwlsmianw, evmwlusianw, evmwlumianw, evmwssf, evmwssfa, + evmwsmf, evmwsmfa, evmwsmi, evmwsmia, evmwumi, evmwumia, + evmwssfaa, evmwsmfaa, evmwsmiaa, evmwumiaa, evmwssfan, evmwsmfan, + evmwsmian, evmwumian, evaddssiaaw, evaddsmiaaw, evaddusiaaw, + evaddumiaaw, evsubfssiaaw, evsubfsmiaaw, evsubfusiaaw, + evsubfumiaaw, evmra, evdivws, evdivws): New e500x2 Core Complex + instructions. + (rfmci): New machine check APU instruction. + (isel): New integer select APU instructino. + (icbtls, icbtlse, icblc, icblce, dcbtls, dcbtlse, dcbtstls, + dcbtstlse, dcblc, dcblce): New cache control APU instructions. + (mtspefscr, mfspefscr): New instructions. + (mfpmr, mtpmr): New performance monitor APU instructions. + (savecontext): New context cache APU instructions. + (bblels, bbelr): New branch locking APU instructions. + (bblels, bbelr): New instructions. + (mftbl, mftbu, mftb): Set as CLASSIC instructions. Add BOOKE alias. + +2002-08-13 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-opc.c: Update call operand to accept the page definition. + Identify instructions that are branches and calls to generate a + RL_JUMP relocation. + +2002-08-13 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11-dis.c (print_insn): Take into account 68HC12 memory + banks and fix disassembling of call instruction. + (print_indexed_operand): New param to tell whether + it was an indirect addressing operand (for disassembling call). + +2002-08-09 Nick Clifton <nickc@redhat.com> + + * po/sv.po: Updated Swedish translation. + +2002-08-08 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * mips-opc.c (mips_builtin_opcodes): Remove "dla" and "la" as + aliases to "daddiu" and "addiu". + +2002-07-30 Nick Clifton <nickc@redhat.com> + + * po/sv.po: Updated Swedish translation. + +2002-07-25 Nick Clifton <nickc@redhat.com> + + * po/sv.po: Updated Swedish translation. + * po/es.po: Updated Spanish translation. + * po/pr_BR.po: Updated Brazilian Portuguese translation. + * po/tr.po: Updated Turkish translation. + * po/fr.po: Updated French translation. + +2002-07-24 Nick Clifton <nickc@redhat.com> + + * po/sv.po: Updated Swedish translation. + * po/es.po: Updated Spanish translation. + * po/pr_BR.po: Updated Brazilian Portuguese translation. + +2002-07-23 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * po/POTFILES.in: Regenerate. + +2002-07-23 Nick Clifton <nickc@redhat.com> + + * po/fr.po: Updated French translation. + * po/pr_BR.po: New Brazilian Portuguese translation. + * po/id.po: Updated Indonesian translation. + * configure.in (LINGUAS): Add pr_BR. + * configure: Regenerate. + +2002-07-18 Denis Chertykov <denisc@overta.ru> + Frank Ch. Eigler <fche@redhat.com> + Alan Lehotsky <alehotsky@cygnus.com> + matthew green <mrg@redhat.com> + + * configure.in: Add support for ip2k. + * configure: Regenerate. + * Makefile.am: Add support for ip2k. + * Makefile.in: Regenerate. + * disassemble.c: Add support for ip2k. + * ip2k-asm.c: New generated file. + * ip2k-desc.c: New generated file. + * ip2k-desc.h: New generated file. + * ip2k-dis.c: New generated file. + * ip2k-ibld.c: New generated file. + * ip2k-opc.c: New generated file. + * ip2k-opc.h: New generated file. + +2002-07-17 David Mosberger <davidm@hpl.hp.com> + + * ia64-opc-b.c (bWhc): New macro. + (mWhc): Ditto. + (OpPaWhcD): Ditto. + (ia64_opcodes_b): Correct patterns for indirect call + instructions to use 3-bit "wh" field. + * ia64-asmtab.c: Regnerate. + +2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips-dis.c (mips_isa_type): Add MIPS16 insn handling. + * mips-opc.c (I16): New define. + (mips_builtin_opcodes): Make jalx an I16 insn. + +2002-06-18 Dave Brolley <brolley@redhat.com> + + * po/POTFILES.in: Add frv-*.[ch]. + * disassemble.c (ARCH_frv): New macro. + (disassembler): Handle bfd_arch_frv. + * configure.in: Support frv_bfd_arch. + * Makefile.am (HFILES): Add frv-*.h. + (CFILES): Add frv-*.c + (ALL_MACHINES): Add frv-*.lo. + (CLEANFILES): Add stamp-frv. + (FRV_DEPS): New variable. + (stamp-frv): New target. + (frv-asm.lo): New target. + (frv-desc.lo): New target. + (frv-dis.lo): New target. + (frv-ibld.lo): New target. + (frv-opc.lo): New target. + (frv-*.[ch]): New files. + +2002-06-18 Ben Elliston <bje@redhat.com> + + * Makefile.am (CGENDEPS): Remove unnecessary stamp-cgen. + * Makefile.in: Regenerate. + +2002-06-08 Alan Modra <amodra@bigpond.net.au> + + * a29k-dis.c: Replace CONST with const. + * h8300-dis.c: Likewise. + * m68k-dis.c: Likewise. + * or32-dis.c: Likewise. + * sparc-dis.c: Likewise. + +2002-06-04 Jason Thorpe <thorpej@wasabisystems.com> + + * configure.in: Add "sh5*-*" to list of targets which include + sh64 support. + * configure: Regenerate. + +2002-05-31 Chris G. Demetriou <cgd@broadcom.com> + + * mips-opc.c: Clean up a few whitespace issues, and sort a + few entries understanding that 'x' follows 'w' in the alphabet. + +2002-05-31 Chris G. Demetriou <cgd@broadcom.com> + Ed Satterthwaite <ehs@broadcom.com> + + * mips-opc.c: Add support for SB-1 MDMX subset and extensions. + +2002-05-31 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * po/POTFILES.in: Regenerate. + +2002-05-30 Chris G. Demetriou <cgd@broadcom.com> + Ed Satterthwaite <ehs@broadcom.com> + + * mips-dis.c (print_insn_arg): Add support for 'O', 'Q', 'X', 'Y', + and 'Z' formats, for MDMX. + (mips_isa_type): Add MDMX instructions to the ISA + bit mask for bfd_mach_mipsisa64. + * mips-opc.c: Add support for MDMX instructions. + (MX): New definition. + + * mips-dis.c: Update copyright years to include 2002. + +2002-05-30 Diego Novillo <dnovillo@redhat.com> + + * d10v-opc.c (d10v_opcodes): `btsti' does not modify its + arguments. + +2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> + + * configure.in: Add DLX configuraton support. + * configure: Regenerate. + * Makefile.am: Add DLX configuraton support. + * Makefile.in: Regenerate. + * disassemble.c: Add DLX support. + * dlx-dis.c: New file. + +2002-05-25 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am (sh-dis.lo): Don't put make commands in deps. + * Makefile.in: Regenerate. + * arc-dis.c: Use #include "" instead of <> for local header files. + * m68k-dis.c: Likewise. + +2002-05-22 J"orn Rennecke <joern.rennecke@superh.com> + + * Makefile.am (sh-dis.lo): Compile with @archdefs@. + * Makefile.in: regenerate. + + * sh-dis.c (print_insn_sh): If coff and bfd_mach_sh, use arch_sh4 + for disassembly. + +2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips-opc.c (mips_builtin_opcodes): Add drol, dror macros. + +2002-05-17 J"orn Rennecke <joern.rennecke@superh.com> + + * disassemble.c (disassembler): Just use print_insn_sh for bfd_arch_sh. + * sh-dis.c (LITTLE_BIT): Delete. + (print_insn_sh, print_insn_shl): Deleted. + (print_insn_shx): Renamed to + (print_insn_sh). No longer static. Handle SHmedia instructions. + Use info->endian to determine endianness. + * sh64-dis.c (print_insn_sh64, print_insn_sh64l): Delete. + (print_insn_sh64x): No longer static. Renamed to + (print_insn_sh64). Removed pfun_compact and endian arguments. + If we got an uneven address to indicate SHmedia, adjust it. + Return -2 for SHcompact instructions. + +2002-05-17 Alan Modra <amodra@bigpond.net.au> + + * acinclude.m4 (AM_INSTALL_LIBBFD): Fake to fool autotools. + * configure.in: Invoke AM_INSTALL_LIBBFD. + * Makefile.am (install-data-local): Move to.. + (install_libopcodes): .. New target. + (uninstall_libopcodes): Likewise. + (install-bfdlibLTLIBRARIES): Likewise. + (uninstall-bfdlibLTLIBRARIES): Likewise. + (bfdlibdir): New. + (bfdincludedir): New. + (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * Makefile.in: Regenerate. + +2002-05-15 Nick Clifton <nickc@cambridge.redhat.com> + + * fr30-asm.c: Regenerate. + * fr30-desc.c: Regenerate. + * fr30-dis.c: Regenerate. + * m32r-asm.c: Regenerate. + * m32r-desc.c: Regenerate. + * m32r-dis.c: Regenerate. + * openrisc-asm.c: Regenerate. + * openrisc-desc.c: Regenerate. + * openrisc-dis.c: Regenerate. + * xstormy16-asm.c: Regenerate. + * xstormy16-desc.c: Regenerate. + * xstormy16-dis.c: Regenerate. + +2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips-dis.c (is_newabi): EABI is not a NewABI. + +2002-05-13 Jason Thorpe <thorpej@wasabisystems.com> + + * configure.in (shle-*-*elf*): Include sh64 support. + * configure: Regenerate. + +2002-04-28 Jason Thorpe <thorpej@wasabisystems.com> + + * vax-dis.c (print_insn_arg): Pass the insn info to print_insn_mode. + (print_insn_mode): Print some basic info about floating point values. + +2002-05-09 Anton Blanchard <anton@samba.org> + + * ppc-opc.c: Add "tlbiel" for POWER4. + +2002-05-07 Graydon Hoare <graydon@redhat.com> + + * cgen-dis.in: (print_insn_@arch@): Cache list of opened CPUs rather + than just most-recently-opened. + +2002-05-01 Alan Modra <amodra@bigpond.net.au> + + * ppc-opc.c: Add "tlbsx." and "tlbsxe." for booke. + +2002-04-24 Christian Groessler <chris@groessler.org> + + * z8k-dis.c (print_insn_z8k): Set disassemble_info to 2 + bytes_per_chunk, 6 bytes_per_line for nicer display of the hex + codes. + (z8k_lookup_instr): CLASS_IGNORE case added. + (output_instr): Don't print hex codes, they are already + printed. + (unpack_instr): ARG_NIM4 case added. ARG_NIM8 case + fixed. Support CLASS_BIT_1OR2 and CLASS_IGNORE cases. + (unparse_instr): Fix base and indexed addressing disassembly: + The index is inside the brackets. + * z8kgen.c (gas): Add ARG_NIM4 and CLASS_IGNORE defines. + (opt): Fix shift left/right arithmetic/logical byte defines: + The high byte of the immediate word is ignored by the + processor. + Fix n parameter of ldm opcodes: The opcode contains (n-1). + (args): Fix "n" entry. + (toks): Add "nim4" and "iiii" entries. + * z8k-opc.h: Regenerated with new z8kgen.c. + +2002-04-24 Nick Clifton <nickc@cambridge.redhat.com> + + * po/id.po: New Indonesian translation. + * configure.in (ALL_LIGUAS): Add id.po + * configure: Regenerate. + +2002-04-17 matthew green <mrg@redhat.com> + + * ppc-opc.c (powerpc_opcode): Fix dssall operand list. + +2002-04-04 Alan Modra <amodra@bigpond.net.au> + + * dep-in.sed: Cope with absolute paths. + * Makefile.am (dep.sed): Subst TOPDIR. + Run "make dep-am". + * Makefile.in: Regenerate. + * ppc-opc.c: Whitespace. + * s390-dis.c: Fix copyright date. + +2002-03-23 matthew green <mrg@redhat.com> + + * ppc-opc.c (vmaddfp): Fix operand order. + +2002-03-21 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + +2002-03-21 Anton Blanchard <anton@samba.org> + + * ppc-opc.c: Add optional field to mtmsrd. + (MTMSRD_L, XRLARB_MASK): Define. + +2002-03-18 Jan Hubicka <jh@suse.cz> + + * i386-dis.c (prefix_name): Fix handling of 32bit address prefix + in 64bit mode. + (print_insn) Likewise. + (putop): Fix handling of 'E' + (OP_E, OP_OFF): handle 32bit addressing mode in 64bit. + (ptr_reg): Likewise. + +2002-03-18 Nick Clifton <nickc@cambridge.redhat.com> + + * po/fr.po: Updated version. + +2002-03-16 Chris Demetriou <cgd@broadcom.com> + + * mips-opc.c (M3D): Tweak comment. + (mips_builtin_op): Add comment indicating that opcodes of the + same name must be placed together in the table, and sort + the "recip.fmt", "recip1.fmt", "recip2.fmt", "rsqrt.fmt", + "rsqrt1.fmt", and "rsqrt2.fmt" opcodes by name. + +2002-03-16 Nick Clifton <nickc@cambridge.redhat.com> + + * Makefile.am: Tidy up sh64 rules. + * Makefile.in: Regenerate. + +2002-03-15 Chris G. Demetriou <cgd@broadcom.com> + + * mips-dis.c: Update copyright years. + +2002-03-15 Chris G. Demetriou <cgd@broadcom.com> + + * mips-dis.c (mips_isa_type): Add MIPS3D instructions to the ISA + bit masks for bfd_mach_mips_sb1 and bfd_mach_mipsisa64. Add + comments for bfd_mach_mipsisa32 and bfd_mach_mipsisa64 that + indicate that they should dissassemble all applicable + MIPS-specified ASEs. + * mips-opc.c: Add support for MIPS-3D instructions. + (M3D): New definition. + + * mips-opc.c: Update copyright years. + +2002-03-15 Chris G. Demetriou <cgd@broadcom.com> + + * mips-opc.c (mips_builtin_opcodes): Sort bc<N> opcodes by name. + +2002-03-15 Chris Demetriou <cgd@broadcom.com> + + * mips-dis.c (is_newabi): Fix ABI decoding. + +2002-03-14 Chris G. Demetriou <cgd@broadcom.com> + + * mips-dis.c (mips_isa_type): Fix formatting of bfd_mach_mipsisa32 + and bfd_mach_mipsisa64 cases to match the rest. + +2002-03-13 Nick Clifton <nickc@cambridge.redhat.com> + + * po/fr.po: Updated version. + +2002-03-13 Alan Modra <amodra@bigpond.net.au> + + * ppc-opc.c: Add optional `L' field to tlbie. + (XRTLRA_MASK): Define. + +2002-03-06 Chris Demetriou <cgd@broadcom.com> + + * mips-opc.c (mips_builtin_opcodes): Mark "pref" as being + present on I4. + + * mips-opc.c (mips_builtin_opcodes): Add "movn.ps" and "movz.ps". + +2002-03-05 Paul Koning <pkoning@equallogic.com> + + * pdp11-opc.c: Fix "mark" operand type. Fix operand types + for float opcodes that take float operands. Add alternate + names (xxxD vs. xxxF) for float opcodes. + * pdp11-dis.c (print_operand): Clean up formatting for mode 67. + (print_foperand): New function to handle float opcode operands. + (print_insn_pdp11): Use print_foperand to disassemble float ops. + +2002-02-27 Nick Clifton <nickc@cambridge.redhat.com> + + * po/de.po: Updated. + +2002-02-26 Brian Gaeke <brg@dgate.org> + + * Makefile.am (install-data-local): Install dis-asm.h. + +2002-02-26 Nick Clifton <nickc@cambridge.redhat.com> + + * configure.in (LINGUAS): Add de.po. + * configure: Regenerate. + * po/de.po: New file. + +2002-02-25 Alan Modra <amodra@bigpond.net.au> + + * ppc-dis.c (powerpc_dialect): Handle power4 option. + * ppc-opc.c (insert_bdm): Correct description of "at" branch + hints. Test PPC_OPCODE_POWER4 to determine branch hint flavour. + (extract_bdm, insert_bdp, extract_bdp, valid_bo): Likewise. + (BOFM64, BOFP64, BOTM64, BOFP64): Rename to BOFM4, BOFP4 etc. + (BODNZM64, BODNZP64, BODZM64, BODZP64): Likewise. + (PPCCOM32, PPCCOM64): Delete. + (NOPOWER4, POWER4): Define. + (powerpc_opcodes): Replace occurences of PPCCOM32 with NOPOWER4, + and PPCCOM4 with POWER4 so that "at" style branch hint opcodes + are enabled for power4 rather than ppc64. + +2002-02-20 Tom Rix <trix@redhat.com> + + * ppc-opc.c (powerpc_operands): Add WS field. Use for tlbre, tlbwe. + +2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390-dis.c (init_disasm): Use renamed architecture defines. + +2002-02-19 matthew green <mrg@redhat.com> + + * ppc-opc.c (powerpc_dialect): Fix comment; BookE is not Motorola + specific. + +2002-02-18 Nick Clifton <nickc@cambridge.redhat.com> + + * po/tr.po: Updated translation. + +2002-02-15 Richard Henderson <rth@redhat.com> + + * alpha-opc.c (alpha_opcodes): Fix thinko in ret pseudo + disassembly mask. + +2002-02-15 Richard Henderson <rth@redhat.com> + + * alpha-opc.c (alpha_opcodes): Add simple pseudos for + lda, ldah, jmp, ret. + +2002-02-14 Nick Clifton <nickc@cambridge.redhat.com> + + * po/da.po: Updated translation. + +2002-02-12 Graydon Hoare <graydon@redhat.com> + + * cgen-asm.in (parse_insn_normal): Change call from + @arch@_cgen_parse_operand to cd->parse_operand, to + facilitate CGEN_ASM_INIT_HOOK doing useful work. + +2002-02-11 Alexandre Oliva <aoliva@redhat.com> + + * sparc-dis.c (print_insn_sparc): Make sure 0xFFFFFFFF is not + sign-extended. + +2002-02-11 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: "make dep-am". + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * config.in: Regenerate. + * configure: Regenerate. + +2002-02-10 Hans-Peter Nilsson <hp@bitrange.com> + + * configure.in <bfd_sh_arc>: For sh-* and shl-*, enable sh64 + support only for sh-*-*elf*, shl-*-*elf*, sh-*-linux* and + shl-*-linux*. + * configure: Regenerate. + +2002-02-10 Daniel Jacobowitz <drow@mvista.com> + + * cgen-dis.c: Add prototypes for count_decodable_bits + and add_insn_to_hash_chain. + +2002-02-08 Alexandre Oliva <aoliva@redhat.com> + + * configure.in <bfd_sh_arc>: Enable sh64 support on sh-*. + * configure: Rebuilt. + +2002-02-08 Ivan Guzvinec <ivang@opencores.org> + + * or32-opc.c: Fix compile time warning messages. + * or32-dis.c: Fix compile time warning messages. + +2002-02-08 Alexandre Oliva <aoliva@redhat.com> + + Contribute sh64-elf. + 2001-10-08 Nick Clifton <nickc@cambridge.redhat.com> + * sh64-opc.c: Regenerate. + 2001-03-13 DJ Delorie <dj@redhat.com> + * sh64-opc.h: Rename A_RESV_Fx to A_REUSE_PREV so that its + purpose is more obvious. + * sh64-opc.c (shmedia_table): Ditto. + * sh64-dis.c (initialize_shmedia_opcode_mask_table): Ditto. + (print_insn_shmedia): Ditto. + 2001-03-12 DJ Delorie <dj@redhat.com> + * sh64-opc.c: Adjust comments to reflect reality: replace bits + 3:0 with zeros (not "reserved"), replace "rrrrrr" with + "gggggg" for two-operand floating point opcodes. Remove + "fsina". + 2001-01-08 Hans-Peter Nilsson <hpn@cygnus.com> + * sh64-dis.c (print_insn_shmedia) <failing read_memory_func>: + Correct printing of .byte:s. Return number of printed bytes or + -1; never 0. + (print_insn_sh64x) <not CRT_SH5_ISA16>: Ditto. Print as .byte:s + to next four-byte-alignment if insn or data is not aligned. + 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com> + * sh64-dis.c: Update comments and fix comment formatting. + (initialize_shmedia_opcode_mask_table) <case A_IMMM>: + Abort instead of setting length to 0. + (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb, + crange_bsearch_cmpl, sh64_get_contents_type, + sh64_address_in_cranges): Move to bfd/elf32-sh64.c. + 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com> + * sh64-opc.c: Remove #if 0:d entries for instructions not found in + SH-5/ST50-023-04: fcosa.s, fsrra.s and prefo. + 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com> + * sh64-dis.c (print_insn_shmedia): Display MOVI/SHORI-formed + address with same prefix as SHcompact. + In the disassembler, use a .cranges section for linked executables. + * sh64-dis.c (SAVED_MOVI_R, SAVED_MOVI_IMM): Move to head of file + and update for using structure in info->private_data. + (struct sh64_disassemble_info): New. + (is_shmedia_p): Delete. + (crange_qsort_cmpb): New function. + (crange_qsort_cmpl, crange_bsearch_cmpb): New functions. + (crange_bsearch_cmpl, sh64_address_in_cranges): New functions. + (init_sh64_disasm_info, sh64_get_contents_type_disasm): New functions. + (sh64_get_contents_type, sh64_address_is_shmedia): New functions. + (print_insn_shmedia): Correct displaying of address after MOVI/SHORI + pair. Display addresses for linked executables only. + (print_insn_sh64x_media): Initialize info->private_data by calling + init_sh64_disasm_info. + (print_insn_sh64x): Ditto. Find out type of contents by calling + sh64_contents_type_disasm. Display data regions using ".long" and + ".byte" similar to unrecognized opcodes. + 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com> + * sh64-dis.c (is_shmedia_p): Check info->section and look for ISA + information in section flags before considering symbols. Don't + assume an info->mach setting of bfd_mach_sh5 means SHmedia code. + * configure.in (bfd_sh_arch): Check presence of sh64 insns by + matching $target $canon_targets instead of looking at the + now-removed -DINCLUDE_SHMEDIA in $targ_cflags. + * configure: Regenerate. + 2000-11-25 Hans-Peter Nilsson <hpn@cygnus.com> + * sh64-opc.c (shmedia_creg_table): New. + * sh64-opc.h (shmedia_creg_info): New type. + (shmedia_creg_table): Declare. + * sh64-dis.c (creg_name): New function. + (print_insn_shmedia): Use it. + * disassemble.c (disassembler) [ARCH_sh, INCLUDE_SHMEDIA]: Map + bfd_mach_sh5 to print_insn_sh64 if big-endian and to + print_insn_sh64l if little-endian. + * sh64-dis.c (print_insn_shmedia): Make r unsigned. + (print_insn_sh64l): New. + (print_insn_sh64x): New. + (print_insn_sh64x_media): New. + (print_insn_sh64): Break out code to print_insn_sh64x and + print_insn_sh64x_media. + 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com> + * sh64-opc.h: New file + * sh64-opc.c: New file + * sh64-dis.c: New file + * Makefile.am: Add sh64 targets. + (HFILES): Add sh64-opc.h. + (CFILES): Add sh64-opc.c and sh64-dis.c. + (ALL_MACHINES): Add sh64 files. + * Makefile.in: Regenerate. + * configure.in: Add support for sh64 to bfd_sh_arch. + * configure: Regenerate. + * disassemble.c [ARCH_all] (INCLUDE_SHMEDIA): Define. + (disassembler) [ARCH_sh, INCLUDE_SHMEDIA]: Map bfd_mach_sh5 to + print_insn_sh64. + * sh-dis.c (print_insn_shx): Handle bfd_mach_sh5 as arch_sh4. + * po/POTFILES.in: Regenerate. + * po/opcodes.pot: Regenerate. + +2002-02-04 Frank Ch. Eigler <fche@redhat.com> + + * cgen-dis.in (print_insn_@arch@): Support disassemble_info.insn_sets. + +2002-02-04 Alexandre Oliva <aoliva@redhat.com> + + * sh-opc.h (sh_arg_type): Added A_DISP_PC_ABS. + +2002-02-01 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am" + * Makefile.in: Regenerate. + +2002-01-31 Ivan Guzvinec <ivang@opencores.org> + + * or32-dis.c: New file. + * or32-opc.c: New file. + * configure.in: Add support for or32. + * configure: Regenerate. + * Makefile.am: Add support for or32. + * Makefile.in: Regenerate. + * disassemble.c: Add support for or32. + * po/POTFILES.in: Regenerate. + * po/opcodes.pot: Regenerate. + +2002-01-27 Daniel Jacobowitz <drow@mvista.com> + + * configure: Regenerated. + +2002-01-26 Nick Clifton <nickc@cambridge.redhat.com> + + * po/fr.po: Updated version. + +2002-01-25 Nick Clifton <nickc@cambridge.redhat.com> + + * po/es.po: Updated version. + +2002-01-24 Nick Clifton <nickc@cambridge.redhat.com> + + * po/da.po: New version. + +2002-01-23 Nick Clifton <nickc@cambridge.redhat.com> + + * po/da.po: New file: Spanish translation. + * configure.in (ALL_LINGUAS): Add da. + * configure: Regenerate. + +2002-01-22 Graydon Hoare <graydon@redhat.com> + + * fr30-asm.c: Regenerate. + * fr30-desc.c: Likewise. + * fr30-desc.h: Likewise. + * fr30-dis.c: Likewise. + * fr30-ibld.c: Likewise. + * fr30-opc.c: Likewise. + * fr30-opc.h: Likewise. + * m32r-asm.c: Likewise. + * m32r-desc.c: Likewise. + * m32r-desc.h: Likewise. + * m32r-dis.c: Likewise. + * m32r-ibld.c: Likewise. + * m32r-opc.c: Likewise. + * m32r-opc.h: Likewise. + * m32r-opinst.c: Likewise. + * openrisc-asm.c: Likewise. + * openrisc-desc.c: Likewise. + * openrisc-desc.h: Likewise. + * openrisc-dis.c: Likewise. + * openrisc-ibld.c: Likewise. + * openrisc-opc.c: Likewise. + * openrisc-opc.h: Likewise. + * xstormy16-desc.c: Likewise. + +2002-01-22 Richard Henderson <rth@redhat.com> + + * alpha-dis.c (print_insn_alpha): Also mask the base opcode for + comparison. + +2002-01-22 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * po/POTFILES.in: Regenerate. + +2002-01-19 Richard Earnshaw <rearnsha@arm.com> + + * arm-opc.h (arm_opcodes): Use generic rule %5?hb instead of %h. + * arm-dis.c (print_insn_arm): Don't handle 'h' case. + +2002-01-18 Keith Walker <keith.walker@arm.com> + + * arm-opc.h (arm_opcodes): Add bxj instruction. + +2002-01-17 Nick Clifton <nickc@cambridge.redhat.com> + + * po/opcodes.pot: Regenerate. + * po/fr.po: Regenerate. + * po/sv.po: Regenerate. + * po/tr.po: Regenerate. + +2002-01-16 Nick Clifton <nickc@cambridge.redhat.com> + + * po/tr.po: Import new version. + +2002-01-15 Richard Earnshaw <rearnsha@arm.com> + + * arm-opc.h (arm_opcodes): Add patterns for VFP instructions. + * arm-dis.c (print_insn_arm): Support new disassembly qualifiers for + VFP bitfields. + +2002-01-10 matthew green <mrg@redhat.com> + + * xstormy16-asm.c: Regenerate. + * xstormy16-desc.c: Likewise. + * xstormy16-desc.h: Likewise. + * xstormy16-dis.c: Likewise. + * xstormy16-opc.c: Likewise. + * xstormy16-opc.h: Likewise. + +2002-01-07 Nick Clifton <nickc@cambridge.redhat.com> + + * po/es.po: New file: Spanish translation. + * configure.in (ALL_LINGUAS): Add es. + * configure: Regenerate. + +For older changes see ChangeLog-0001 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/sim/m32r/syscall.h b/sim/m32r/syscall.h new file mode 100644 index 0000000..7762aca --- /dev/null +++ b/sim/m32r/syscall.h @@ -0,0 +1,195 @@ +/* + * This file contains the system call numbers. + */ + +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_lchown 16 +#define __NR_break 17 +#define __NR_oldstat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_oldfstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_stty 31 +#define __NR_gtty 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_ftime 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_prof 44 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_umount2 52 +#define __NR_lock 53 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_mpx 56 +#define __NR_setpgid 57 +#define __NR_ulimit 58 +#define __NR_oldolduname 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_oldlstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_swapon 87 +#define __NR_reboot 88 +#define __NR_readdir 89 +#define __NR_mmap 90 +#define __NR_munmap 91 +#define __NR_truncate 92 +#define __NR_ftruncate 93 +#define __NR_fchmod 94 +#define __NR_fchown 95 +#define __NR_getpriority 96 +#define __NR_setpriority 97 +#define __NR_profil 98 +#define __NR_statfs 99 +#define __NR_fstatfs 100 +#define __NR_ioperm 101 +#define __NR_socketcall 102 +#define __NR_syslog 103 +#define __NR_setitimer 104 +#define __NR_getitimer 105 +#define __NR_stat 106 +#define __NR_lstat 107 +#define __NR_fstat 108 +#define __NR_olduname 109 +#define __NR_iopl 110 +#define __NR_vhangup 111 +#define __NR_idle 112 +#define __NR_vm86old 113 +#define __NR_wait4 114 +#define __NR_swapoff 115 +#define __NR_sysinfo 116 +#define __NR_ipc 117 +#define __NR_fsync 118 +#define __NR_sigreturn 119 +#define __NR_clone 120 +#define __NR_setdomainname 121 +#define __NR_uname 122 +#define __NR_modify_ldt 123 +#define __NR_adjtimex 124 +#define __NR_mprotect 125 +#define __NR_sigprocmask 126 +#define __NR_create_module 127 +#define __NR_init_module 128 +#define __NR_delete_module 129 +#define __NR_get_kernel_syms 130 +#define __NR_quotactl 131 +#define __NR_getpgid 132 +#define __NR_fchdir 133 +#define __NR_bdflush 134 +#define __NR_sysfs 135 +#define __NR_personality 136 +#define __NR_afs_syscall 137 /* Syscall for Andrew File System */ +#define __NR_setfsuid 138 +#define __NR_setfsgid 139 +#define __NR__llseek 140 +#define __NR_getdents 141 +#define __NR__newselect 142 +#define __NR_flock 143 +#define __NR_msync 144 +#define __NR_readv 145 +#define __NR_writev 146 +#define __NR_getsid 147 +#define __NR_fdatasync 148 +#define __NR__sysctl 149 +#define __NR_mlock 150 +#define __NR_munlock 151 +#define __NR_mlockall 152 +#define __NR_munlockall 153 +#define __NR_sched_setparam 154 +#define __NR_sched_getparam 155 +#define __NR_sched_setscheduler 156 +#define __NR_sched_getscheduler 157 +#define __NR_sched_yield 158 +#define __NR_sched_get_priority_max 159 +#define __NR_sched_get_priority_min 160 +#define __NR_sched_rr_get_interval 161 +#define __NR_nanosleep 162 +#define __NR_mremap 163 +#define __NR_setresuid 164 +#define __NR_getresuid 165 +#define __NR_vm86 166 +#define __NR_query_module 167 +#define __NR_poll 168 +#define __NR_nfsservctl 169 +#define __NR_setresgid 170 +#define __NR_getresgid 171 +#define __NR_prctl 172 +#define __NR_rt_sigreturn 173 +#define __NR_rt_sigaction 174 +#define __NR_rt_sigprocmask 175 +#define __NR_rt_sigpending 176 +#define __NR_rt_sigtimedwait 177 +#define __NR_rt_sigqueueinfo 178 +#define __NR_rt_sigsuspend 179 +#define __NR_pread 180 +#define __NR_pwrite 181 +#define __NR_chown 182 +#define __NR_getcwd 183 +#define __NR_capget 184 +#define __NR_capset 185 +#define __NR_sigaltstack 186 +#define __NR_sendfile 187 +#define __NR_getpmsg 188 /* some people actually want streams */ +#define __NR_putpmsg 189 /* some people actually want streams */ +#define __NR_vfork 190 + diff --git a/sim/m32r/traps-linux.c b/sim/m32r/traps-linux.c new file mode 100644 index 0000000..55a97a5 --- /dev/null +++ b/sim/m32r/traps-linux.c @@ -0,0 +1,1392 @@ +/* m32r exception, interrupt, and trap (EIT) support + Copyright (C) 1998, 2003 Free Software Foundation, Inc. + Contributed by Renesas. + + This file is part of GDB, the GNU debugger. + + 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, 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. */ + +#include "sim-main.h" +#include "syscall.h" +#include "targ-vals.h" +#include <dirent.h> +#include <errno.h> +#include <fcntl.h> +#include <time.h> +#include <unistd.h> +#include <utime.h> +#include <sys/mman.h> +#include <sys/poll.h> +#include <sys/resource.h> +#include <sys/sysinfo.h> +#include <sys/stat.h> +#include <sys/time.h> +#include <sys/timeb.h> +#include <sys/timex.h> +#include <sys/types.h> +#include <sys/uio.h> +#include <sys/utsname.h> +#include <sys/vfs.h> +#include <linux/module.h> +#include <linux/sysctl.h> +#include <linux/types.h> +#include <linux/unistd.h> + +#define TRAP_ELF_SYSCALL 0 +#define TRAP_LINUX_SYSCALL 2 +#define TRAP_FLUSH_CACHE 12 + +/* The semantic code invokes this for invalid (unrecognized) instructions. */ + +SEM_PC +sim_engine_invalid_insn (SIM_CPU *current_cpu, IADDR cia, SEM_PC vpc) +{ + SIM_DESC sd = CPU_STATE (current_cpu); + +#if 0 + if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT) + { + h_bsm_set (current_cpu, h_sm_get (current_cpu)); + h_bie_set (current_cpu, h_ie_get (current_cpu)); + h_bcond_set (current_cpu, h_cond_get (current_cpu)); + /* sm not changed */ + h_ie_set (current_cpu, 0); + h_cond_set (current_cpu, 0); + + h_bpc_set (current_cpu, cia); + + sim_engine_restart (CPU_STATE (current_cpu), current_cpu, NULL, + EIT_RSVD_INSN_ADDR); + } + else +#endif + sim_engine_halt (sd, current_cpu, NULL, cia, sim_stopped, SIM_SIGILL); + return vpc; +} + +/* Process an address exception. */ + +void +m32r_core_signal (SIM_DESC sd, SIM_CPU *current_cpu, sim_cia cia, + unsigned int map, int nr_bytes, address_word addr, + transfer_type transfer, sim_core_signals sig) +{ + if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT) + { + m32rbf_h_cr_set (current_cpu, H_CR_BBPC, + m32rbf_h_cr_get (current_cpu, H_CR_BPC)); + if (MACH_NUM (CPU_MACH (current_cpu)) == MACH_M32R) + { + m32rbf_h_bpsw_set (current_cpu, m32rbf_h_psw_get (current_cpu)); + /* sm not changed */ + m32rbf_h_psw_set (current_cpu, m32rbf_h_psw_get (current_cpu) & 0x80); + } + else if (MACH_NUM (CPU_MACH (current_cpu)) == MACH_M32RX) + { + m32rxf_h_bpsw_set (current_cpu, m32rxf_h_psw_get (current_cpu)); + /* sm not changed */ + m32rxf_h_psw_set (current_cpu, m32rxf_h_psw_get (current_cpu) & 0x80); + } + else + { + m32r2f_h_bpsw_set (current_cpu, m32r2f_h_psw_get (current_cpu)); + /* sm not changed */ + m32r2f_h_psw_set (current_cpu, m32r2f_h_psw_get (current_cpu) & 0x80); + } + m32rbf_h_cr_set (current_cpu, H_CR_BPC, cia); + + sim_engine_restart (CPU_STATE (current_cpu), current_cpu, NULL, + EIT_ADDR_EXCP_ADDR); + } + else + sim_core_signal (sd, current_cpu, cia, map, nr_bytes, addr, + transfer, sig); +} + +/* Read/write functions for system call interface. */ + +static int +syscall_read_mem (host_callback *cb, struct cb_syscall *sc, + unsigned long taddr, char *buf, int bytes) +{ + SIM_DESC sd = (SIM_DESC) sc->p1; + SIM_CPU *cpu = (SIM_CPU *) sc->p2; + + return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes); +} + +static int +syscall_write_mem (host_callback *cb, struct cb_syscall *sc, + unsigned long taddr, const char *buf, int bytes) +{ + SIM_DESC sd = (SIM_DESC) sc->p1; + SIM_CPU *cpu = (SIM_CPU *) sc->p2; + + return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes); +} + +/* Translate target's address to host's address. */ + +static void * +t2h_addr (host_callback *cb, struct cb_syscall *sc, + unsigned long taddr) +{ + extern sim_core_trans_addr (SIM_DESC, sim_cpu *, unsigned, address_word); + void *addr; + SIM_DESC sd = (SIM_DESC) sc->p1; + SIM_CPU *cpu = (SIM_CPU *) sc->p2; + + if (taddr == 0) + return NULL; + + return sim_core_trans_addr (sd, cpu, read_map, taddr); +} + +static unsigned int +conv_endian (unsigned int tvalue) +{ + unsigned int hvalue; + unsigned int t1, t2, t3, t4; + + if (CURRENT_HOST_BYTE_ORDER == LITTLE_ENDIAN) + { + t1 = tvalue & 0xff000000; + t2 = tvalue & 0x00ff0000; + t3 = tvalue & 0x0000ff00; + t4 = tvalue & 0x000000ff; + + hvalue = t1 >> 24; + hvalue += t2 >> 8; + hvalue += t3 << 8; + hvalue += t4 << 24; + } + else + hvalue = tvalue; + + return hvalue; +} + +static unsigned short +conv_endian16 (unsigned short tvalue) +{ + unsigned short hvalue; + unsigned short t1, t2; + + if (CURRENT_HOST_BYTE_ORDER == LITTLE_ENDIAN) + { + t1 = tvalue & 0xff00; + t2 = tvalue & 0x00ff; + + hvalue = t1 >> 8; + hvalue += t2 << 8; + } + else + hvalue = tvalue; + + return hvalue; +} + +static void +translate_endian(void *addr, size_t size) +{ + unsigned int *p = (unsigned int *) addr; + int i; + + for (i = 0; i <= size - 4; i += 4,p++) + *p = conv_endian(*p); + + if (i <= size - 2) + *((unsigned short *) p) = conv_endian16(*((unsigned short *) p)); +} + +/* Trap support. + The result is the pc address to continue at. + Preprocessing like saving the various registers has already been done. */ + +USI +m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num) +{ + SIM_DESC sd = CPU_STATE (current_cpu); + host_callback *cb = STATE_CALLBACK (sd); + +#ifdef SIM_HAVE_BREAKPOINTS + /* Check for breakpoints "owned" by the simulator first, regardless + of --environment. */ + if (num == TRAP_BREAKPOINT) + { + /* First try sim-break.c. If it's a breakpoint the simulator "owns" + it doesn't return. Otherwise it returns and let's us try. */ + sim_handle_breakpoint (sd, current_cpu, pc); + /* Fall through. */ + } +#endif + + switch (num) + { + case TRAP_ELF_SYSCALL : + { + CB_SYSCALL s; + + CB_SYSCALL_INIT (&s); + s.func = m32rbf_h_gr_get (current_cpu, 0); + s.arg1 = m32rbf_h_gr_get (current_cpu, 1); + s.arg2 = m32rbf_h_gr_get (current_cpu, 2); + s.arg3 = m32rbf_h_gr_get (current_cpu, 3); + + if (s.func == TARGET_SYS_exit) + { + sim_engine_halt (sd, current_cpu, NULL, pc, sim_exited, s.arg1); + } + + s.p1 = (PTR) sd; + s.p2 = (PTR) current_cpu; + s.read_mem = syscall_read_mem; + s.write_mem = syscall_write_mem; + cb_syscall (cb, &s); + m32rbf_h_gr_set (current_cpu, 2, s.errcode); + m32rbf_h_gr_set (current_cpu, 0, s.result); + m32rbf_h_gr_set (current_cpu, 1, s.result2); + break; + } + + case TRAP_LINUX_SYSCALL : + { + CB_SYSCALL s; + unsigned int func, arg1, arg2, arg3, arg4, arg5, arg6, arg7; + int result, result2, errcode; + + if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT) + { + /* The new pc is the trap vector entry. + We assume there's a branch there to some handler. + Use cr5 as EVB (EIT Vector Base) register. */ + USI new_pc = m32rbf_h_cr_get (current_cpu, 5) + 0x40 + num * 4; + return new_pc; + } + + func = m32rbf_h_gr_get (current_cpu, 7); + arg1 = m32rbf_h_gr_get (current_cpu, 0); + arg2 = m32rbf_h_gr_get (current_cpu, 1); + arg3 = m32rbf_h_gr_get (current_cpu, 2); + arg4 = m32rbf_h_gr_get (current_cpu, 3); + arg5 = m32rbf_h_gr_get (current_cpu, 4); + arg6 = m32rbf_h_gr_get (current_cpu, 5); + arg7 = m32rbf_h_gr_get (current_cpu, 6); + + CB_SYSCALL_INIT (&s); + s.func = func; + s.arg1 = arg1; + s.arg2 = arg2; + s.arg3 = arg3; + + s.p1 = (PTR) sd; + s.p2 = (PTR) current_cpu; + s.read_mem = syscall_read_mem; + s.write_mem = syscall_write_mem; + + result = 0; + result2 = 0; + errcode = 0; + + switch (func) + { + case __NR_exit: + sim_engine_halt (sd, current_cpu, NULL, pc, sim_exited, arg1); + break; + + case __NR_read: + result = read(arg1, t2h_addr(cb, &s, arg2), arg3); + errcode = errno; + break; + + case __NR_write: + result = write(arg1, t2h_addr(cb, &s, arg2), arg3); + errcode = errno; + break; + + case __NR_open: + result = open((char *) t2h_addr(cb, &s, arg1), arg2, arg3); + errcode = errno; + break; + + case __NR_close: + result = close(arg1); + errcode = errno; + break; + + case __NR_creat: + result = creat((char *) t2h_addr(cb, &s, arg1), arg2); + errcode = errno; + break; + + case __NR_link: + result = link((char *) t2h_addr(cb, &s, arg1), + (char *) t2h_addr(cb, &s, arg2)); + errcode = errno; + break; + + case __NR_unlink: + result = unlink((char *) t2h_addr(cb, &s, arg1)); + errcode = errno; + break; + + case __NR_chdir: + result = chdir((char *) t2h_addr(cb, &s, arg1)); + errcode = errno; + break; + + case __NR_time: + { + time_t t; + + if (arg1 == 0) + { + result = (int) time(NULL); + errcode = errno; + } + else + { + result = (int) time(&t); + errcode = errno; + + if (result != 0) + break; + + translate_endian((void *) &t, sizeof(t)); + if ((s.write_mem) (cb, &s, arg1, (char *) &t, sizeof(t)) != sizeof(t)) + { + result = -1; + errcode = EINVAL; + } + } + } + break; + + case __NR_mknod: + result = mknod((char *) t2h_addr(cb, &s, arg1), + (mode_t) arg2, (dev_t) arg3); + errcode = errno; + break; + + case __NR_chmod: + result = chmod((char *) t2h_addr(cb, &s, arg1), (mode_t) arg2); + errcode = errno; + break; + + case __NR_lchown: + result = lchown((char *) t2h_addr(cb, &s, arg1), + (uid_t) arg2, (gid_t) arg3); + errcode = errno; + break; + + case __NR_lseek: + result = (int) lseek(arg1, (off_t) arg2, arg3); + errcode = errno; + break; + + case __NR_getpid: + result = getpid(); + errcode = errno; + break; + + case __NR_getuid: + result = getuid(); + errcode = errno; + break; + + case __NR_utime: + { + struct utimbuf buf; + + if (arg2 == 0) + { + result = utime((char *) t2h_addr(cb, &s, arg1), NULL); + errcode = errno; + } + else + { + buf = *((struct utimbuf *) t2h_addr(cb, &s, arg2)); + translate_endian((void *) &buf, sizeof(buf)); + result = utime((char *) t2h_addr(cb, &s, arg1), &buf); + errcode = errno; + } + } + break; + + case __NR_access: + result = access((char *) t2h_addr(cb, &s, arg1), arg2); + errcode = errno; + break; + + case __NR_ftime: + { + struct timeb t; + + result = ftime(&t); + errcode = errno; + + if (result != 0) + break; + + t.time = conv_endian(t.time); + t.millitm = conv_endian16(t.millitm); + t.timezone = conv_endian16(t.timezone); + t.dstflag = conv_endian16(t.dstflag); + if ((s.write_mem) (cb, &s, arg1, (char *) &t, sizeof(t)) + != sizeof(t)) + { + result = -1; + errcode = EINVAL; + } + } + + case __NR_sync: + sync(); + result = 0; + break; + + case __NR_rename: + result = rename((char *) t2h_addr(cb, &s, arg1), + (char *) t2h_addr(cb, &s, arg2)); + errcode = errno; + break; + + case __NR_mkdir: + result = mkdir((char *) t2h_addr(cb, &s, arg1), arg2); + errcode = errno; + break; + + case __NR_rmdir: + result = rmdir((char *) t2h_addr(cb, &s, arg1)); + errcode = errno; + break; + + case __NR_dup: + result = dup(arg1); + errcode = errno; + break; + + case __NR_brk: + result = brk((void *) arg1); + errcode = errno; + //result = arg1; + break; + + case __NR_getgid: + result = getgid(); + errcode = errno; + break; + + case __NR_geteuid: + result = geteuid(); + errcode = errno; + break; + + case __NR_getegid: + result = getegid(); + errcode = errno; + break; + + case __NR_ioctl: + result = ioctl(arg1, arg2, arg3); + errcode = errno; + break; + + case __NR_fcntl: + result = fcntl(arg1, arg2, arg3); + errcode = errno; + break; + + case __NR_ustat: + { + struct ustat ubuf; + + result = ustat(arg1, &ubuf); + errcode = errno; + + if (result != 0) + break; + + ubuf.f_tfree = conv_endian(ubuf.f_tfree); + ubuf.f_tinode = conv_endian(ubuf.f_tinode); + if ((s.write_mem) (cb, &s, arg2, (char *) &ubuf, sizeof(ubuf)) + != sizeof(ubuf)) + { + result = -1; + errcode = EINVAL; + } + } + break; + + case __NR_dup2: + result = dup2(arg1, arg2); + errcode = errno; + break; + + case __NR_getppid: + result = getppid(); + errcode = errno; + break; + + case __NR_getpgrp: + result = getpgrp(); + errcode = errno; + break; + + case __NR_getrlimit: + { + struct rlimit rlim; + + result = getrlimit(arg1, &rlim); + errcode = errno; + + if (result != 0) + break; + + translate_endian((void *) &rlim, sizeof(rlim)); + if ((s.write_mem) (cb, &s, arg2, (char *) &rlim, sizeof(rlim)) + != sizeof(rlim)) + { + result = -1; + errcode = EINVAL; + } + } + break; + + case __NR_getrusage: + { + struct rusage usage; + + result = getrusage(arg1, &usage); + errcode = errno; + + if (result != 0) + break; + + translate_endian((void *) &usage, sizeof(usage)); + if ((s.write_mem) (cb, &s, arg2, (char *) &usage, sizeof(usage)) + != sizeof(usage)) + { + result = -1; + errcode = EINVAL; + } + } + break; + + case __NR_gettimeofday: + { + struct timeval tv; + struct timezone tz; + + result = gettimeofday(&tv, &tz); + errcode = errno; + + if (result != 0) + break; + + translate_endian((void *) &tv, sizeof(tv)); + if ((s.write_mem) (cb, &s, arg1, (char *) &tv, sizeof(tv)) + != sizeof(tv)) + { + result = -1; + errcode = EINVAL; + } + + translate_endian((void *) &tz, sizeof(tz)); + if ((s.write_mem) (cb, &s, arg2, (char *) &tz, sizeof(tz)) + != sizeof(tz)) + { + result = -1; + errcode = EINVAL; + } + } + break; + + case __NR_getgroups: + { + gid_t *list; + + if (arg1 > 0) + list = (gid_t *) malloc(arg1 * sizeof(gid_t)); + + result = getgroups(arg1, list); + errcode = errno; + + if (result != 0) + break; + + translate_endian((void *) list, arg1 * sizeof(gid_t)); + if (arg1 > 0) + if ((s.write_mem) (cb, &s, arg2, (char *) list, arg1 * sizeof(gid_t)) + != arg1 * sizeof(gid_t)) + { + result = -1; + errcode = EINVAL; + } + } + break; + + case __NR_select: + { + int n; + fd_set readfds; + fd_set *treadfdsp; + fd_set *hreadfdsp; + fd_set writefds; + fd_set *twritefdsp; + fd_set *hwritefdsp; + fd_set exceptfds; + fd_set *texceptfdsp; + fd_set *hexceptfdsp; + struct timeval *ttimeoutp; + struct timeval timeout; + + n = arg1; + + treadfdsp = (fd_set *) arg2; + if (treadfdsp != NULL) + { + readfds = *((fd_set *) t2h_addr(cb, &s, (unsigned int) treadfdsp)); + translate_endian((void *) &readfds, sizeof(readfds)); + hreadfdsp = &readfds; + } + else + hreadfdsp = NULL; + + twritefdsp = (fd_set *) arg3; + if (twritefdsp != NULL) + { + writefds = *((fd_set *) t2h_addr(cb, &s, (unsigned int) twritefdsp)); + translate_endian((void *) &writefds, sizeof(writefds)); + hwritefdsp = &writefds; + } + else + hwritefdsp = NULL; + + texceptfdsp = (fd_set *) arg4; + if (texceptfdsp != NULL) + { + exceptfds = *((fd_set *) t2h_addr(cb, &s, (unsigned int) texceptfdsp)); + translate_endian((void *) &exceptfds, sizeof(exceptfds)); + hexceptfdsp = &exceptfds; + } + else + hexceptfdsp = NULL; + + ttimeoutp = (struct timeval *) arg5; + timeout = *((struct timeval *) t2h_addr(cb, &s, (unsigned int) ttimeoutp)); + translate_endian((void *) &timeout, sizeof(timeout)); + + result = select(n, hreadfdsp, hwritefdsp, hexceptfdsp, &timeout); + errcode = errno; + + if (result != 0) + break; + + if (treadfdsp != NULL) + { + translate_endian((void *) &readfds, sizeof(readfds)); + if ((s.write_mem) (cb, &s, (unsigned long) treadfdsp, + (char *) &readfds, sizeof(readfds)) != sizeof(readfds)) + { + result = -1; + errcode = EINVAL; + } + } + + if (twritefdsp != NULL) + { + translate_endian((void *) &writefds, sizeof(writefds)); + if ((s.write_mem) (cb, &s, (unsigned long) twritefdsp, + (char *) &writefds, sizeof(writefds)) != sizeof(writefds)) + { + result = -1; + errcode = EINVAL; + } + } + + if (texceptfdsp != NULL) + { + translate_endian((void *) &exceptfds, sizeof(exceptfds)); + if ((s.write_mem) (cb, &s, (unsigned long) texceptfdsp, + (char *) &exceptfds, sizeof(exceptfds)) != sizeof(exceptfds)) + { + result = -1; + errcode = EINVAL; + } + } + + translate_endian((void *) &timeout, sizeof(timeout)); + if ((s.write_mem) (cb, &s, (unsigned long) ttimeoutp, + (char *) &timeout, sizeof(timeout)) != sizeof(timeout)) + { + result = -1; + errcode = EINVAL; + } + } + break; + + case __NR_symlink: + result = symlink((char *) t2h_addr(cb, &s, arg1), + (char *) t2h_addr(cb, &s, arg2)); + errcode = errno; + break; + + case __NR_readlink: + result = readlink((char *) t2h_addr(cb, &s, arg1), + (char *) t2h_addr(cb, &s, arg2), + arg3); + errcode = errno; + break; + + case __NR_readdir: + result = (int) readdir((DIR *) t2h_addr(cb, &s, arg1)); + errcode = errno; + break; + +#if 0 + case __NR_mmap: + { + result = (int) mmap((void *) t2h_addr(cb, &s, arg1), + arg2, arg3, arg4, arg5, arg6); + errcode = errno; + + if (errno == 0) + { + sim_core_attach (sd, NULL, + 0, access_read_write_exec, 0, + result, arg2, 0, NULL, NULL); + } + } + break; +#endif + case __NR_mmap: + { + void *addr; + size_t len; + int prot, flags, fildes; + off_t off; + + addr = *((void **) t2h_addr(cb, &s, arg1)); + len = *((size_t *) t2h_addr(cb, &s, arg1 + 4)); + prot = *((int *) t2h_addr(cb, &s, arg1 + 8)); + flags = *((int *) t2h_addr(cb, &s, arg1 + 12)); + fildes = *((int *) t2h_addr(cb, &s, arg1 + 16)); + off = *((off_t *) t2h_addr(cb, &s, arg1 + 20)); + + addr = (void *) conv_endian((unsigned int) addr); + len = conv_endian(len); + prot = conv_endian(prot); + flags = conv_endian(flags); + fildes = conv_endian(fildes); + off = conv_endian(off); + + //addr = (void *) t2h_addr(cb, &s, (unsigned int) addr); + result = (int) mmap(addr, len, prot, flags, fildes, off); + errcode = errno; + + //if (errno == 0) + if (result != -1) + { + char c; + if (sim_core_read_buffer (sd, NULL, read_map, &c, result, 1) == 0) + sim_core_attach (sd, NULL, + 0, access_read_write_exec, 0, + result, len, 0, NULL, NULL); + } + } + break; + + case __NR_munmap: + { + result = munmap((void *)arg1, arg2); + errcode = errno; + if (result != -1) + { + sim_core_detach (sd, NULL, 0, arg2, result); + } + } + break; + + case __NR_truncate: + result = truncate((char *) t2h_addr(cb, &s, arg1), arg2); + errcode = errno; + break; + + case __NR_ftruncate: + result = ftruncate(arg1, arg2); + errcode = errno; + break; + + case __NR_fchmod: + result = fchmod(arg1, arg2); + errcode = errno; + break; + + case __NR_fchown: + result = fchown(arg1, arg2, arg3); + errcode = errno; + break; + + case __NR_statfs: + { + struct statfs statbuf; + + result = statfs((char *) t2h_addr(cb, &s, arg1), &statbuf); + errcode = errno; + + if (result != 0) + break; + + translate_endian((void *) &statbuf, sizeof(statbuf)); + if ((s.write_mem) (cb, &s, arg2, (char *) &statbuf, sizeof(statbuf)) + != sizeof(statbuf)) + { + result = -1; + errcode = EINVAL; + } + } + break; + + case __NR_fstatfs: + { + struct statfs statbuf; + + result = fstatfs(arg1, &statbuf); + errcode = errno; + + if (result != 0) + break; + + translate_endian((void *) &statbuf, sizeof(statbuf)); + if ((s.write_mem) (cb, &s, arg2, (char *) &statbuf, sizeof(statbuf)) + != sizeof(statbuf)) + { + result = -1; + errcode = EINVAL; + } + } + break; + + case __NR_syslog: + result = syslog(arg1, (char *) t2h_addr(cb, &s, arg2)); + errcode = errno; + break; + + case __NR_setitimer: + { + struct itimerval value, ovalue; + + value = *((struct itimerval *) t2h_addr(cb, &s, arg2)); + translate_endian((void *) &value, sizeof(value)); + + if (arg2 == 0) + { + result = setitimer(arg1, &value, NULL); + errcode = errno; + } + else + { + result = setitimer(arg1, &value, &ovalue); + errcode = errno; + + if (result != 0) + break; + + translate_endian((void *) &ovalue, sizeof(ovalue)); + if ((s.write_mem) (cb, &s, arg3, (char *) &ovalue, sizeof(ovalue)) + != sizeof(ovalue)) + { + result = -1; + errcode = EINVAL; + } + } + } + break; + + case __NR_getitimer: + { + struct itimerval value; + + result = getitimer(arg1, &value); + errcode = errno; + + if (result != 0) + break; + + translate_endian((void *) &value, sizeof(value)); + if ((s.write_mem) (cb, &s, arg2, (char *) &value, sizeof(value)) + != sizeof(value)) + { + result = -1; + errcode = EINVAL; + } + } + break; + + case __NR_stat: + { + char *buf; + int buflen; + struct stat statbuf; + + result = stat((char *) t2h_addr(cb, &s, arg1), &statbuf); + errcode = errno; + if (result < 0) + break; + + buflen = cb_host_to_target_stat (cb, NULL, NULL); + buf = xmalloc (buflen); + if (cb_host_to_target_stat (cb, &statbuf, buf) != buflen) + { + /* The translation failed. This is due to an internal + host program error, not the target's fault. */ + free (buf); + result = -1; + errcode = ENOSYS; + break; + } + if ((s.write_mem) (cb, &s, arg2, buf, buflen) != buflen) + { + free (buf); + result = -1; + errcode = EINVAL; + break; + } + free (buf); + } + break; + + case __NR_lstat: + { + char *buf; + int buflen; + struct stat statbuf; + + result = lstat((char *) t2h_addr(cb, &s, arg1), &statbuf); + errcode = errno; + if (result < 0) + break; + + buflen = cb_host_to_target_stat (cb, NULL, NULL); + buf = xmalloc (buflen); + if (cb_host_to_target_stat (cb, &statbuf, buf) != buflen) + { + /* The translation failed. This is due to an internal + host program error, not the target's fault. */ + free (buf); + result = -1; + errcode = ENOSYS; + break; + } + if ((s.write_mem) (cb, &s, arg2, buf, buflen) != buflen) + { + free (buf); + result = -1; + errcode = EINVAL; + break; + } + free (buf); + } + break; + + case __NR_fstat: + { + char *buf; + int buflen; + struct stat statbuf; + + result = fstat(arg1, &statbuf); + errcode = errno; + if (result < 0) + break; + + buflen = cb_host_to_target_stat (cb, NULL, NULL); + buf = xmalloc (buflen); + if (cb_host_to_target_stat (cb, &statbuf, buf) != buflen) + { + /* The translation failed. This is due to an internal + host program error, not the target's fault. */ + free (buf); + result = -1; + errcode = ENOSYS; + break; + } + if ((s.write_mem) (cb, &s, arg2, buf, buflen) != buflen) + { + free (buf); + result = -1; + errcode = EINVAL; + break; + } + free (buf); + } + break; + + case __NR_sysinfo: + { + struct sysinfo info; + + result = sysinfo(&info); + errcode = errno; + + if (result != 0) + break; + + info.uptime = conv_endian(info.uptime); + info.loads[0] = conv_endian(info.loads[0]); + info.loads[1] = conv_endian(info.loads[1]); + info.loads[2] = conv_endian(info.loads[2]); + info.totalram = conv_endian(info.totalram); + info.freeram = conv_endian(info.freeram); + info.sharedram = conv_endian(info.sharedram); + info.bufferram = conv_endian(info.bufferram); + info.totalswap = conv_endian(info.totalswap); + info.freeswap = conv_endian(info.freeswap); + info.procs = conv_endian16(info.procs); +#if LINUX_VERSION_CODE >= 0x20400 + info.totalhigh = conv_endian(info.totalhigh); + info.freehigh = conv_endian(info.freehigh); + info.mem_unit = conv_endian(info.mem_unit); +#endif + if ((s.write_mem) (cb, &s, arg1, (char *) &info, sizeof(info)) + != sizeof(info)) + { + result = -1; + errcode = EINVAL; + } + } + break; + +#if 0 + case __NR_ipc: + { + result = ipc(arg1, arg2, arg3, arg4, + (void *) t2h_addr(cb, &s, arg5), arg6); + errcode = errno; + } + break; +#endif + + case __NR_fsync: + result = fsync(arg1); + errcode = errno; + break; + + case __NR_uname: + /* utsname contains only arrays of char, so it is not necessary + to translate endian. */ + result = uname((struct utsname *) t2h_addr(cb, &s, arg1)); + errcode = errno; + break; + + case __NR_adjtimex: + { + struct timex buf; + + result = adjtimex(&buf); + errcode = errno; + + if (result != 0) + break; + + translate_endian((void *) &buf, sizeof(buf)); + if ((s.write_mem) (cb, &s, arg1, (char *) &buf, sizeof(buf)) + != sizeof(buf)) + { + result = -1; + errcode = EINVAL; + } + } + break; + + case __NR_mprotect: + result = mprotect((void *) arg1, arg2, arg3); + errcode = errno; + break; + + case __NR_get_kernel_syms: + { + struct kernel_sym table; + + result = get_kernel_syms(&table); + errcode = errno; + + if (result != 0) + break; + + table.value = conv_endian(table.value); + if ((s.write_mem) (cb, &s, arg1, (char *) &table, sizeof(table)) + != sizeof(table)) + { + result = -1; + errcode = EINVAL; + } + } + break; + + case __NR_fchdir: + result = fchdir(arg1); + errcode = errno; + break; + + case __NR_setfsuid: + result = setfsuid(arg1); + errcode = errno; + break; + + case __NR_setfsgid: + result = setfsgid(arg1); + errcode = errno; + break; + +#if 0 + case __NR__llseek: + { + loff_t buf; + + result = _llseek(arg1, arg2, arg3, &buf, arg5); + errcode = errno; + + if (result != 0) + break; + + translate_endian((void *) &buf, sizeof(buf)); + if ((s.write_mem) (cb, &s, t2h_addr(cb, &s, arg4), + (char *) &buf, sizeof(buf)) != sizeof(buf)) + { + result = -1; + errcode = EINVAL; + } + } + break; + + case __NR_getdents: + { + struct dirent dir; + + result = getdents(arg1, &dir, arg3); + errcode = errno; + + if (result != 0) + break; + + dir.d_ino = conv_endian(dir.d_ino); + dir.d_off = conv_endian(dir.d_off); + dir.d_reclen = conv_endian16(dir.d_reclen); + if ((s.write_mem) (cb, &s, arg2, (char *) &dir, sizeof(dir)) + != sizeof(dir)) + { + result = -1; + errcode = EINVAL; + } + } + break; +#endif + + case __NR_flock: + result = flock(arg1, arg2); + errcode = errno; + break; + + case __NR_msync: + result = msync((void *) arg1, arg2, arg3); + errcode = errno; + break; + + case __NR_readv: + { + struct iovec vector; + + vector = *((struct iovec *) t2h_addr(cb, &s, arg2)); + translate_endian((void *) &vector, sizeof(vector)); + + result = readv(arg1, &vector, arg3); + errcode = errno; + } + break; + + case __NR_writev: + { + struct iovec vector; + + vector = *((struct iovec *) t2h_addr(cb, &s, arg2)); + translate_endian((void *) &vector, sizeof(vector)); + + result = writev(arg1, &vector, arg3); + errcode = errno; + } + break; + + case __NR_fdatasync: + result = fdatasync(arg1); + errcode = errno; + break; + + case __NR_mlock: + result = mlock((void *) t2h_addr(cb, &s, arg1), arg2); + errcode = errno; + break; + + case __NR_munlock: + result = munlock((void *) t2h_addr(cb, &s, arg1), arg2); + errcode = errno; + break; + + case __NR_nanosleep: + { + struct timespec req, rem; + + req = *((struct timespec *) t2h_addr(cb, &s, arg2)); + translate_endian((void *) &req, sizeof(req)); + + result = nanosleep(&req, &rem); + errcode = errno; + + if (result != 0) + break; + + translate_endian((void *) &rem, sizeof(rem)); + if ((s.write_mem) (cb, &s, arg2, (char *) &rem, sizeof(rem)) + != sizeof(rem)) + { + result = -1; + errcode = EINVAL; + } + } + break; + + case __NR_mremap: /* FIXME */ + result = (int) mremap((void *) t2h_addr(cb, &s, arg1), arg2, arg3, arg4); + errcode = errno; + break; + + case __NR_getresuid: + { + uid_t ruid, euid, suid; + + result = getresuid(&ruid, &euid, &suid); + errcode = errno; + + if (result != 0) + break; + + *((uid_t *) t2h_addr(cb, &s, arg1)) = conv_endian(ruid); + *((uid_t *) t2h_addr(cb, &s, arg2)) = conv_endian(euid); + *((uid_t *) t2h_addr(cb, &s, arg3)) = conv_endian(suid); + } + break; + + case __NR_poll: + { + struct pollfd ufds; + + ufds = *((struct pollfd *) t2h_addr(cb, &s, arg1)); + ufds.fd = conv_endian(ufds.fd); + ufds.events = conv_endian16(ufds.events); + ufds.revents = conv_endian16(ufds.revents); + + result = poll(&ufds, arg2, arg3); + errcode = errno; + } + break; + + case __NR_getresgid: + { + uid_t rgid, egid, sgid; + + result = getresgid(&rgid, &egid, &sgid); + errcode = errno; + + if (result != 0) + break; + + *((uid_t *) t2h_addr(cb, &s, arg1)) = conv_endian(rgid); + *((uid_t *) t2h_addr(cb, &s, arg2)) = conv_endian(egid); + *((uid_t *) t2h_addr(cb, &s, arg3)) = conv_endian(sgid); + } + break; + + case __NR_pread: + result = pread(arg1, (void *) t2h_addr(cb, &s, arg2), arg3, arg4); + errcode = errno; + break; + + case __NR_pwrite: + result = pwrite(arg1, (void *) t2h_addr(cb, &s, arg2), arg3, arg4); + errcode = errno; + break; + + case __NR_chown: + result = chown((char *) t2h_addr(cb, &s, arg1), arg2, arg3); + errcode = errno; + break; + + case __NR_getcwd: + result = (int) getcwd((char *) t2h_addr(cb, &s, arg1), arg2); + errcode = errno; + break; + + case __NR_sendfile: + { + off_t offset; + + offset = *((off_t *) t2h_addr(cb, &s, arg3)); + offset = conv_endian(offset); + + result = sendfile(arg1, arg2, &offset, arg3); + errcode = errno; + + if (result != 0) + break; + + *((off_t *) t2h_addr(cb, &s, arg3)) = conv_endian(offset); + } + break; + + default: + result = -1; + errcode = ENOSYS; + break; + } + + if (result == -1) + m32rbf_h_gr_set (current_cpu, 0, -errcode); + else + m32rbf_h_gr_set (current_cpu, 0, result); + break; + } + + case TRAP_BREAKPOINT: + sim_engine_halt (sd, current_cpu, NULL, pc, + sim_stopped, SIM_SIGTRAP); + break; + + case TRAP_FLUSH_CACHE: + /* Do nothing. */ + break; + + default : + { + /* Use cr5 as EVB (EIT Vector Base) register. */ + USI new_pc = m32rbf_h_cr_get (current_cpu, 5) + 0x40 + num * 4; + return new_pc; + } + } + + /* Fake an "rte" insn. */ + /* FIXME: Should duplicate all of rte processing. */ + return (pc & -4) + 4; +} |