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.
Fred Fish [Thu, 30 Jan 1997 20:56:33 +0000 (20:56 +0000)]
* 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.
Ian Lance Taylor [Thu, 30 Jan 1997 17:10:28 +0000 (17:10 +0000)]
Ideas from Srinivas Addagarla <[email protected]>:
* read.c (read_a_source_file): After doing an mri_pending_align,
adjust the line_label if there is one.
(s_space): Set mri_pending_align if an odd number of bytes were
output.
Ian Lance Taylor [Thu, 30 Jan 1997 16:33:36 +0000 (16:33 +0000)]
* emultempl/sunos.em: Include <ctype.h>.
(gld${EMULATION_NAME}_find_so): Skip the directory name when
searching for ".so.".
(gld${EMULATION_NAME}_search_dir): Make sure that the library name
has a version number, and that only version numbers follow .so.
Ian Lance Taylor [Wed, 29 Jan 1997 18:58:04 +0000 (18:58 +0000)]
* objdump.c (objdump_print_value): Add skip_zeroes parameter.
Change all callers.
(objdump_print_addr_with_sym): Likewise. Call objdump_print_value
to print address.
(objdump_print_addr): New static function.
(objdump_print_address): Just call objdump_print_addr.
(disassemble_bytes): Print real address, not function offset.
Skip a certain number of leading zeroes.
* objdump.c (disassemble_zeroes): New static variable.
(usage): Mention --disassemble-zeroes.
(long_options): Add "disassemble-zeroes".
(disassemble_bytes): Check disassemble_zeroes.
Changes requested by LSI.