Mark Alexander [Tue, 11 Feb 1997 02:48:55 +0000 (02:48 +0000)]
* mips-tdep.c (non_heuristic_proc_desc): New function.
(find_proc_desc): Move non-heuristic proc search code into separate
function.
(gdb_print_insn_mips): Use non-heuristic method to find procedure
descriptor, to avoid prologue examination when disassembling.
* remote-mips.c: Add support for new "lsi" target (LSI MiniRISC
aka MicroMeteor board).
(mips_exit_debug): Prevent protocol reinitialization if an error
occurs while exiting debug mode.
Dawn Perchik [Tue, 11 Feb 1997 02:07:57 +0000 (02:07 +0000)]
* itbl-ops.c: New file. Add support for dynamically read
instruction registers, opcodes and formats. Build internal table
for new instructions and provide callbacks for assembler and
disassembler.
* itbl-lex.l, itbl-parse.y: Lex and yacc parsers for instruction
spec table.
* itbl-ops.h: New file. Header file for itbl support.
* config/itbl-mips.h: New file. Mips specific definitions for
itbl support.
Jeff Law [Mon, 10 Feb 1997 23:56:56 +0000 (23:56 +0000)]
* mn10200-tdep.c: Remove lots of debugging printfs, update/improve
comments, formatting, etc. Plus other minor fixes for problems
I found during my first pass over the mn10200 port.
(mn10200_analyze_prologue): New function.
(mn10200_frame_chain, mn10200_init_extra_frame_info): Use it.
* config/mn10200/tm-mn10200.h: Lots of updates/improvements to
comments, formatting, etc. Minor fixes for problems I found during
my first pass over the mn10200 port.
(TARGET_*_BIT): Define appropriately for ints, long longs, doubles and
pointers.
(REGISTER_VIRTUAL_TYPE): Define as a long.
(EXTRACT_RETURN_VALUE): Rework to deal with long ints living
in register pairs.
(STORE_RETURN_VALUE): Similarly.
Checking in my initial changes, prologue scanning, etc.
Current gdb testsuite results:
=== gdb Summary ===
# of expected passes 3684
# of expected failures 40
# of unexpected failures 6
Fred Fish [Mon, 10 Feb 1997 17:16:28 +0000 (17:16 +0000)]
* tic80-opc.c (tic80_symbol_to_value): Changed to accept
a symbol class that restricts translation to just that
class (general register, condition code, etc).
Fred Fish [Mon, 10 Feb 1997 15:59:01 +0000 (15:59 +0000)]
* xcoffread.c (RECORD_MINIMAL_SYMBOL): Add NULL asection* parameter
to prim_record_minimal_symbol_and_info call that was missed in Jan 3
change.
(scan_xcoff_symtab): Ditto.
Fred Fish [Mon, 10 Feb 1997 01:17:14 +0000 (01:17 +0000)]
* emulparams/tic80coff.sh: New (dummy) file for TIc80.
* scripttempl/tic80coff.sc: New (dummy) file for TIc80.
* Makefile.in (etic80coff.c): Add target and rule to build it.
* configure.tgt (tic80-*-coff): Set targ_emul to tic80coff.
Mark Alexander [Sun, 9 Feb 1997 17:36:49 +0000 (17:36 +0000)]
* remote-mips.c (common_breakpoint): Prevent 64-bit addresses
from being sent to 32-bit targets by masking off upper bits.
* mips-tdep.c (heuristic_proc_start): Mask off upper 32 bits
of PC on 32-bit targets.
(mips16_heuristic_proc_desc): Recognize 'addiu s1,sp,n' as a
frame setup instruction.
(mips32_heuristic_proc_desc): Fix warning found by gcc -Wall.
(mips16_skip_prologue): Recognize 'addiu s1,sp,n' as a valid
prologue instruction. Fix warnings and bugs found by gcc -Wall.
* buildsym.c (finish_block): Improve handling of overlapping blocks;
fixes problem on MIPS16 printing function arguments.
Peter Schauer [Sat, 8 Feb 1997 09:16:26 +0000 (09:16 +0000)]
* dwarf2read.c (dwarf2_linkage_name): New function to get
the linkage name of a die from DW_AT_MIPS_linkage_name or
DW_AT_name.
(read_func_scope, dwarf2_add_field, dwarf2_add_member_fn,
new_symbol): Use it instead of accessing DW_AT_name.
(read_partial_die): Use DW_AT_MIPS_linkage name as name of the
partial die if present.
(dwarf2_add_member_fn): Make a copy of physname on the type obstack.
* elflink.h (elf_link_input_bfd): If we've discarded a section,
the output section will be the absolute section; don't print an
assertion message for that case when doing a relocateable link.
PR 11647.
Jeff Law [Fri, 7 Feb 1997 16:54:05 +0000 (16:54 +0000)]
* config/tc-mn10200.c (md_assemble): If a constant operand won't
fit into the constant field of a relaxable operand, then it does
not match.
Fixes mn10200/other.s failures due to new relaxing code.
Jeff Law [Fri, 7 Feb 1997 03:09:52 +0000 (03:09 +0000)]
* config/tc-mn10200.c (md_estimate_size_before_relax): Treat
a jsr target in a different section just like a jsr to
an undefined target.
Bug triggerd by c++ tests.
Fred Fish [Fri, 7 Feb 1997 00:38:44 +0000 (00:38 +0000)]
* tic80-opc.c (tic80_operands): Add REG_0_E, REG_22_E,
and REG_DEST_E for register operands that have to be
an even numbered register. Add REG_FPA for operands that
are one of the floating point accumulator registers.
Add TIC80_OPERAND_MASK to flags for ENDMASK operand.
(tic80_opcodes): Change entries that need even numbered
register operands to use the new operand table entries.
Add "or" entries that are identical to "or.tt" entries.
* interp.c (mips16_entry): Add support for floating point cases.
(SignalException): Pass floating point cases to mips16_entry.
(ValueFPR): Don't restrict fmt_single and fmt_word to even
registers.
(StoreFPR): Likewise. Also, don't clobber fpr + 1 for fmt_single
or fmt_word.
(COP_LW): Pass fmt_word rather than fmt_uninterpreted to StoreFPR,
and then set the state to fmt_uninterpreted.
(COP_SW): Temporarily set the state to fmt_word while calling
ValueFPR.
* elf32-mips.c (FN_STUB, CALL_STUB, CALL_FP_STUB): Define.
(struct mips_elf_link_hash_entry): Add new fields fn_stub,
need_fn_sub, call_stub, and call_fp_stub.
(struct mips_elf_link_hash_table): Add field mips16_stubs_seen.
(mips_elf_link_hash_newfunc): Initialize new fields.
(mips_elf_link_hash_table_create): Likewise.
(mips_elf_relocate_section): Redirect relocations to use mips16
stubs when appropriate.
(mips_elf_check_relocs): Attach stub sections to the appropriate
symbol. Set need_fn_stub when appropriate.
(mips_elf_always_size_sections): New static function.
(mips_elf_check_mips16_stubs): New static function.
(elf_backend_always_size_sections): Define.
* elf-bfd.h (struct elf_obj_tdata): Add local_stubs field.
* config/tc-mips.c (mips_fix_adjustable): Don't adjust relocations
against any mips16 symbols, not just externally visible ones.
(md_apply_fix): Corresponding change.
Jeff Law [Thu, 6 Feb 1997 21:43:53 +0000 (21:43 +0000)]
* gdb.base/default.exp: Set match_max to 5000 and the timeout
to 60 seconds. Temporarily set match_max to 15000 around the
"info copying" test.
Fixes timeout/overflow problems for hpux10.20 hosted toolchains.
Jeff Law [Thu, 6 Feb 1997 20:58:55 +0000 (20:58 +0000)]
* gdb.base/nodebug.exp: Don't try to do an inferior function
call if the target doesn't support them.
* gdb.base/printcmds.exp: Likewise.
* gdb.base/setvar.exp: Likewise.
* gdb.base/structs.exp: Likewise.
* gdb.c++/templates.exp: Likewise.
* gdb.base/ptype.exp: Likewise. Remove UDI specific stuff.
* gdb.base/recurse.exp: Enable for the mn10200.
* configure.in: Do configure gdb.stabs directory for *-*-elf
targets.
* configure: Rebuilt.
Jeff Law [Thu, 6 Feb 1997 19:50:33 +0000 (19:50 +0000)]
* gdb.base/break.exp: Check for gdb,noresults before testing
exit status and/or results from the target.
* gdb.base/watchpoint.exp, gdb.base/langs.exp: Likewise.
* lib/gdb.exp: Remove old (now bogus) initialization of
noinferior, noargs, noresults and nosignals.
More cleanups for new testing framework.
* stabs.c (struct bincl_file): Add next_stack field.
(push_bincl): Put the new file on both bincl_list and
bincl_stack. Clear the file_types field.
(pop_bincl): Use the next_stack field when popping the stack.
Don't put the file on bincl_list.
(find_excl): Include the file name when warning about an unfound
N_EXCL.
* debug.c (debug_type_samep): Don't crash if we are passed NULL.
PR 11465.
* mips16-opc.c: Add new cases of exit instruction for
disassembler.
* mips-dis.c (print_mips16_insn_arg): Display floating point
registers in operands of exit instruction. Print `$' before
register names in operands of entry and exit instructions.
Mark Alexander [Tue, 4 Feb 1997 02:09:33 +0000 (02:09 +0000)]
* mips-tdep.c (mips16_decode_reg_save): Distinguish between
sd and sw instructions correctly.
(heuristic_proc_start): Add support for MIPS16.
(mips16_get_imm, mips16_heuristic_proc_desc,
mips32_heuristic_proc_desc): New helper functions for
heuristic_proc_desc.
(heuristic_proc_desc): Rewrite and reorganize to support MIPS16.
(mips_push_arguments): Don't align small arguments in EABI.
(mips32_skip_prologue): Attempt to shrink code size a little.
Bob Manson [Mon, 3 Feb 1997 20:36:39 +0000 (20:36 +0000)]
* gdb.base/a1-selftest.exp: Make sure we call gdb_exit before
trying to delete the copy of gdb. Catch the file delete so we
don't die if the delete fails; also, the file should be copied to
the host, not to the build.
Fixes problems when gdb isn't built with debugging.
* cofflink.c (_bfd_coff_generic_relocate_section): If doing a
relocateable link, just skip pc_relative pcrel_offset relocs.
* coff-arm.c (coff_arm_rtype_to_howto): Return a different howto
structure for an ARM26 reloc which can be resolved.
(coff_arm_adjust_symndx): Only convert ARM26 to ARM26D if the
reloc can be resolved.
PR 11599.
* m32r-stub.c: New -- remote protocol support for M32R cpu.
* m32r-rom.c: Several experiments with improved download time.
* .Sanitize: Add entry for m32r-stub.c
* symbols.c (resolve_symbol_value): Don't change X_add_number for
an equated symbol.
* write.c (write_relocs): Avoid looping on equated symbols.
Adjust fx_offset by X_add_number for each symbol.
* config/obj-coff.c (do_relocs_for): Avoid looping on equated
symbols.
(fixup_segment): Add a loop to track down equated symbols and
adjust fx_offset appropriately.
Ian Lance Taylor [Fri, 31 Jan 1997 18:20:20 +0000 (18:20 +0000)]
* emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Search for
".so" in the name, not ".so.".
(gld${EMULATION_NAME}_search_dir): Accept a plain .so file.
Mark Alexander [Fri, 31 Jan 1997 16:37:07 +0000 (16:37 +0000)]
* mips-tdep.c (MIPS16_INSTLEN): Define.
(mips_find_saved_regs): Replace hardcoded 2's with MIPS16_INSTLEN.
(heuristic_proc_start): Recognize 'entry' pseudo-op as a start
of function on MIPS16.
(mips32_skip_prologue, mips16_skip_prologue): New helper functions
for mips_skip_prologue.
(mips_skip_prologue): Recognize both 16- and 32-bit prologues.
Fred Fish [Thu, 30 Jan 1997 21:16:46 +0000 (21:16 +0000)]
* tic80-opc.c (tic80_predefined_symbols): Table of name/value
pairs for all predefined symbols recognized by the assembler.
Also used by the disassembling routines.
(tic80_symbol_to_value): New function.
(tic80_value_to_symbol): New function.
* tic80-dis.c (print_operand_control_register,
print_operand_condition_code, print_operand_bitnum):
Remove private tables and use tic80_value_to_symbol function.