* mi/mi-main.c (mi_cmd_data_list_changed_registers)
(mi_cmd_data_list_register_values)
(mi_cmd_data_write_register_values): Include the PSEUDO_REGS in
the register number computation.
* gdbint.texinfo (User Interface): Change local_hex_string_custom
to hex_string_custom (not historically correct, but more
understandable, given the current code).
* language.c (hex_string, hex_string_custom): Move from here ...
* utils.c (hex_string, hex_string_custom): ... to here, rewrite.
(CELLSIZE): Increase to 50.
* language.h (hex_string, hex_string_custom): Move from here ...
* defs.h: ... to here.
* Makefile.in: Update all dependencies.
* lib/gdb.exp (gdb_file_cmd): Revert the return value to
previous simple convention. Use a global variable to store
information about what was found.
(gdb_run_cmd): Adapt to reverted return value.
* gdb.base/remote.exp: Adapt to reverted return value.
* gdb.gdb/complaints.exp: Likewise.
* gdb.gdb/observer.exp: Likewise.
* gdb.gdb/selftest.exp: Likewise.
* gdb.gdb/xfullpath.exp: Likewise.
Jim Blandy [Wed, 8 Sep 2004 21:58:19 +0000 (21:58 +0000)]
Fix bug reported and analyzed by Olivier Crete:
* symfile.c (copy_section_addr_info): New function.
(symbol_file_add_with_addrs_or_offsets): Use it to save the
original set of address arguments, instead of handwritten code
that uses one length to allocate and a different length to
initialize. Use make_cleanup_free_section_addr_info.
* symfile.h (copy_section_addr_info): New declaration.
* utils.c: #include "symfile.h".
(do_free_section_addr_info, make_cleanup_free_section_addr_info):
New functions.
* defs.h (make_cleanup_free_section_addr_info): New declaration.
* Makefile.in (utils.o): Update dependencies.
Mark Kettenis [Wed, 8 Sep 2004 14:24:08 +0000 (14:24 +0000)]
* sparcnbsd-tdep.c (sparc32nbsd_elf_init_abi): Set
solib_svr4_fetch_link_map_offsets to
svr4_ilp32_fetch_link_map_offsets.
* sparcobsd-tdep.c: Don't include "nbsd-tdep.h".
(sparc32obsd_init_abi): Set solib_svr4_fetch_link_map_offsets to
svr4_ilp32_fetch_link_map_offsets.
* Makefile.in (sparcobsd-tdep.o): Update dependencies.
* allinsn.exp: Add new tests.
* bandor.s: New file.
* bandornot.s: New file.
* bclr.s: New file.
* bld.s: New file.
* bldnot.s: New file.
* bset.s: New file.
* bst.s: New file.
* bxor.s: New file.
* clip.s: New file.
* div.s: New file.
* fail.s: New file, make sure fail works.
* fsca.s: New file.
* fsrra.s: New file.
* mov.s: New file.
* mulr.s: New file.
* pass.s: New file, make sure pass works.
* pushpop.s: New file.
* resbank.s: New file.
* testutils.inc (bf8k, bt8k, assertmem): New macros.
* interp.c (RAISE_EXCEPTION_IF_IN_DELAY_SLOT): New macro.
(in_delay_slot): New flag variable.
(Delay_Slot): Set in_delay_slot.
(sim_resume): Reset in_delay_slot after leaving code switch.
* gencode.c (op tab): Call RAISE_EXCEPTION_IF_IN_DELAY_SLOT for all
instructions not allowed in delay slots.
Commited by Corinna Vinschen <[email protected]>
Introduce SH2a support.
* interp.c: Change type of jump table to short. Add various macros.
(sim_load): Save the bfd machine code.
(sim_create_inferior): Ditto.
(union saved_state_type): Add tbr, ibnr and ibcr registers.
Move bfd_mach to end of struct. Add regstack pointer.
(init_dsp): Don't swap contents of sh_dsp_table any more. Instead
use it directly in its own switch statement. Allocate space for 512
register banks.
(do_long_move_insn): New function.
(do_blog_insn): Ditto.
(trap): Use trap #13 and trap #14 to set ibnr and ibcr.
* gencode.c: Move movx/movy insns into separate switch statement.
(op tab): Add sh2a insns. Reject instructions that are disabled
on that chip.
(gensim_caselist): Generate default case here instead of in caller.
(gensim): Generate two separate switch statements. Call
gensim_caselist once for each (for movsxy_tab and for tab).
Add tokens for r15 and multiple regs.
(conflict_warn, warn_conflicts): Add for debugging.
Alan Modra [Tue, 7 Sep 2004 13:40:37 +0000 (13:40 +0000)]
* elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals.
(is_ppc64_elf_target): Rename from is_ppc64_target. Update all
callers.
(ppc_stub_name): Remove trailing "+0" on stub name.
(create_linkage_sections): Create relocations for
branch lookup table when --emit-relocs as well as when --shared.
(ppc_build_one_stub): Emit relocs for long branch stubs. Adjust
relbrlt test. For --emit-stub-syms, always output a sym even when
one already exists on a plt call stub. Put stub type in the stub
symbol name.
(ppc_size_one_stub): Size long branch stub relocs. Adjust relbrlt
test.
(ppc64_elf_size_stubs): Count global sym stubs added. Zero
reloc_count in stub sections. Adjust relbrlt test.
(ppc64_elf_build_stubs): Adjust relbrlt test. Tweak stats output.
* elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo.
(elf_link_input_bfd): Ignore symbol index zero relocs when checking
for relocs against discarded symbols. Fix comments.
Mark Mitchell [Mon, 6 Sep 2004 20:55:23 +0000 (20:55 +0000)]
* elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it.
* elf.c (_bfd_elf_make_dynamic_segment): New function, split out
from ...
(map_sections_to_segments): ... here. Use it. Assign a file
position to the .dynamic section if it is not loadable, but part
of the PT_DYNAMIC segment.
* elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
offsets, not VMAs, for the BPABI. Do not fill in the header in
the .got.plt section for the BPABI.
* elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
PT_DYNAMIC segment.
(elf_backend_want_got_plt): Define to zero for Symbian OS.
* emulparams/armsymbian.sh: Use armbpabi script.
* scripttempl/armbpabi.sc: New script.
Alan Modra [Mon, 6 Sep 2004 12:37:12 +0000 (12:37 +0000)]
* elf64-ppc.c (is_ppc64_target): New function, extracted from..
(ppc64_elf_check_directives): ..here.
(ppc64_elf_size_dynamic_sections): Use it here to check bfd type
before accessing ppc64_elf_tdata.
(ppc64_elf_finish_dynamic_sections): And here too.
* configure.in: Remove target-libstdc++-v3 from noconfigdirs for
*-*-netware, but add target-libmudflap.
Consolidate *-*-netware targets (of which really only i?86 exists)
into a single entry.
* configure: Likewise.
* config/vax/nm-obsd.h: Delete file.
* config/vax/obsd.mh (NAT_FILE): Set to config/nm-bsd.h.
* config/vax/nm-nbsd.h: Delete file.
* config/vax/nm-nbsdaout.h: Include config/nm-nbsd.h.
* config/vax/nbsdelf.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/sh/nm-nbsd.h: Delete file.
* config/sh/nbsd.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/rs6000/nm-rs6000ly.h: Delete file.
* config/djgpp/fnchange.lst: Do not rename nm-rs6000ly.h.
* config/rs6000/rs6000lynx.mh (NAT_FILE): Set to config/nm-lynx.h.
* config/powerpc/nm-obsd.h: Delete file.
* config/powerpc/obsd.mh (NAT_FILE): Set to config/nm-bsd.h.
* config/powerpc/nm-nbsd.h: Delete file.
* config/powerpc/nbsd.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/pa/nm-obsd.h: Delete file.
* config/pa/obsd.mh (NAT_FILE): Set to config/nm-bsd.h.
* config/mips/nm-nbsd.h: Delete file.
* config/mips/nbsd.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/m88k/nm-obsd.h: Delete file.
* config/m88k/obsd.mh (NAT_FILE): Set to config/nm-bsd.h.
* config/m68k/nm-nbsd.h: Delete file.
* config/m68k/nm-nbsdaout.h: Include config/nm-nbsd.h.
* config/m68k/nbsdelf.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/i386/nm-nbsd.h: Delete file.
* config/i386/nm-nbsdaout.h: Include config/nm-nbsd.h.
* config/i386/obsd64.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/i386/nbsd64.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/i386/nbsdelf.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/i386/nm-i386lynx.h: Delete file.
* config/i386/i386lynx.mh (NAT_FILE): Set to config/nm-lynx.h.
* config/arm/nm-nbsd.h: Delete file.
* config/arm/nm-nbsdaout.h: Include config/nm-nbsd.h.
* config/arm/nbsdelf.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/rs6000/tm-rs6000-aix4.h: Delete file.
* config/djgpp/fnchange.lst: Do not rename tm-rs6000-aix4.h.
* config/rs6000/aix4.mt (TM_FILE): Set to
config/rs6000/tm-rs6000.h.
* config/powerpc/tm-ppc-aix.h: Delete file.
* config/powerpc/aix.mt (TM_FILE): Set to
config/rs6000/tm-rs6000.h.
* config/m68k/tm-linux.h: Delete file.
* config/m68k/linux.mt (TM_FILE): Set to solib.h
* config/i386/tm-linux64.h: Delete file.
* config/i386/linux64.mt (TM_FILE): Set to solib.h.
* config/djgpp/fnchange.lst: Do not rename tm-linux.h.
Mark Mitchell [Fri, 3 Sep 2004 17:15:44 +0000 (17:15 +0000)]
* config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
* configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
(bfd_elf32_littlearm_symbian_vec): Likewise.
* configure: Regenerated.
* elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
* elf32-arm.h (PLT_HEADER_SIZE): Do not define.
(PLT_ENTRY_SIZE): Likewise.
(bfd_vma_elf32_arm_symbian_plt_entry): New
variable.
(elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
and symbian_p.
(create_got_section): Don't create sections when generating BPABI
objects.
(elf32_arm_create_dynamic_sections): Tidy.
(elf32_arm_link_hash_table_create): Set plt_header_size,
plt_entry_size, and symbian_p.
(elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
generating BPABI objects.
(allocate_dynrelocs): Use htab->plt_header_size, not
PLT_HEADER_SIZE. Do not add to .got.plt when
generating BPABI objects.
(elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
* elfarm-nabi.c: Add SymbianOS target vectors.
* elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
(_bfd_elf_link_create_dynamic_sections): Likewise.
* elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
(elfNN_bed): Use it.
* targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
(bfd_elf32_littlearm_symbian_vec): Likewise.
(_bfd_target_vector): Add them.
* Makefile.am (TARG_ENV_HFILES): Add te-symbian.h.
* Makefile.in: Regenerated.
* configure.in: Set em for arm*-*-symbianelf*.
* configure: Regenerated.
* config/tc-arm.c (elf32_arm_target_format): Use Symbian target
vectors when appropriate.
* config/te-symbian.h: New file.
* Makefile.am (ALL_EMULATIONS): Add earmsymbian.o.
(earmsymbian.c): New target.
* configure.tgt: Use armsymbian emulation for arm*-*-symbianelf*.
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
* configure: Likewise.
* emulparams/armsymbian.sh: New file.
* config/vax/nbsd.mt (TM_FILE): Set to solib.h.
* config/vax/tm-nbsd.h: Delete file.
* config/sparc/vxworks.mt (TM_FILE): Set to config/tm-vxworks.h.
* config/sparc/tm-vxworks.h: Delete file.
* config/sparc/nbsd.mt (TM_FILE): Set to solib.h.
* config/sparc/tm-nbsd.h: Delete file.
* config/sparc/linux64.mt (TM_FILE): Set to solib.h.
* config/sparc/linux.mt (TM_FILE): Set to solib.h.
* config/sparc/tm-linux.h: Delete file.
* config/s390/s390.mt (TM_FILE): Set to config/tm-linux.h
* config/s390/tm-linux.h: Delete file.
* config/pa/obsd.mt (TM_FILE): Set to solib.h.
* config/pa/tm-bsd.h: Delete file.
* config/m68k/obsd.mt (TM_FILE): Set to solib.h.
* config/m68k/tm-obsd.h: Delete file.
* config/m68k/nbsd.mt (TM_FILE): Set to solib.h.
* config/m68k/tm-nbsd.h: Delete file.
* config/i386/vxworks.mt (TM_FILE): Set to config/tm-vxworks.h.
* config/i386/tm-vxworks.h: Delete file.
* config/i386/obsd64.mt (TM_FILE): Set to solib.h.
* config/i386/obsd.mt (TM_FILE): Set to solib.h.
* config/i386/nbsd64.mt (TM_FILE): Set to solib.h.
* config/i386/nbsd.mt (TM_FILE): Set to solib.h.
* config/i386/tm-nbsd.h: Delete file.
* config/i386/i386lynx.mt (TM_FILE): Set to config/tm-lynx.h.
* config/i386/tm-i386lynx.h: Delete file.
* config/cris/cris.mt (TM_FILE): Set to solib.h.
* config/cris/tm-cris.h: Delete file.