Jim Kingdon [Fri, 10 Mar 1995 01:26:09 +0000 (01:26 +0000)]
* mdebugread.c (parse_symbol, psymtab_to_symtab_1): Initialize
pdr.framereg field of MIPS_EFI_SYMBOL_NAME symbol to -1. That way
we know whether the PDR ever got set.
* mips-tdep.c (find_proc_desc): If pdr.framereg field is -1, don't
use the PDR, just examine prologues instead.
* coffswap.h (coff_swap_scnhdr_out): If the line number count or
the reloc count does not fit, print an error and return 0.
* coffcode.h (coff_write_object_contents): Check return value of
coff_swap_scnhdr_out.
* ecoff.c (_bfd_ecoff_write_object_contents): Check return value
of bfd_coff_swap_scnhdr_out.
* bfd.c: Include <stdarg.h> or <varargs.h>, depending upon
ANSI_PROTOTYPES.
(bfd_error_handler_type): New global type.
(_bfd_error_program_name): New static variable.
(_bfd_default_error_handler): New static function.
(_bfd_error_handler): New BFD private global variable.
(bfd_set_error_handler): New globally visible function.
(bfd_set_error_program_name): New globally visible function.
* libbfd-in.h (_bfd_error_handler): Declare.
* bfd-in2.h, libbfd.h: Rebuild.
David Edelsohn [Thu, 9 Mar 1995 21:54:14 +0000 (21:54 +0000)]
Delete this patch, it breaks the h8300 assembler.
Tue Jan 10 13:34:14 1995 Ken Raeburn <[email protected]>
* config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
specially with regard to fixups.
* aoutx.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter,
and use it instead of bfd_get_symcount. Check r_index after
setting r_extern based on whether this is a base relative reloc.
(NAME(aout,swap_std_reloc_IN)): Add symcount parameter, and use it
instead of bfd_get_symcount.
(NAME(aout,slurp_reloc_table)): Pass bfd_get_symcount to reloc
swap routines.
* libaout.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter
to declaration.
(NAME(aout,swap_std_reloc_in)): Likewise.
* sunos.c (sunos_canonicalize_dynamic_reloc): Pass
info->dynsym_count to reloc swap routines.
* aout-ns32k.c (MY_swap_std_reloc_in): Add symcount parameter.
* hp300hpux.c (MY(swap_std_reloc_in)): Likewise.
(MY(slurp_reloc_table)): Pass bfd_get_symcount to reloc swap
routine.
* i386lynx.c (NAME(lynx,swap_ext_reloc_in)): Add symcount
parameter.
(NAME(lynx,swap_std_reloc_in)): Likewise.
(NAME(lynx,slurp_reloc_table)): Pass bfd_get_symcount to reloc
swap routines.
Stu Grossman [Thu, 9 Mar 1995 00:25:15 +0000 (00:25 +0000)]
* source.c (forward_search_command reverse_search_command): Set
convenience variable $_ to be the line # of the match.
* symtab.c (decode_line_1): Allow convenience variables to be
used in line specs (for breakpoints and such).
* config/tc-mips.c (md_begin): Check for a cpu string of r8000 or
r10000. If mips_isa is 4, set the machine number to 8000.
(append_insn): If mips_isa is at least 4, don't generate nops for
coprocessor delays. Check INSN_READ_FPR_R when setting
mips_cprmask[1].
(mips_emit_delays): If mips_isa is at least 4, don't generate nops
for coprocessor delays.
(mips_ip): Check for INSN_ISA4 instructions. Handle new argument
types 'h', 'R', 'N', and 'M'.
(md_longopts): Accept "mips4".
(md_parse_option): Handle -mips4, and -mcpu=10000 and -mcpu=8000.
(s_mipsset): Permit .set mips4.
Ken Raeburn [Wed, 8 Mar 1995 08:23:24 +0000 (08:23 +0000)]
* m68k-dis.c (BREAK_UP_BIG_DECL): Make secondary array static and const.
(reg_names): Now const.
(print_insn_arg): Arrays cacheFieldName and names now const.
(print_indexed): Array scales now const.
Ken Raeburn [Wed, 8 Mar 1995 08:20:11 +0000 (08:20 +0000)]
Separated out opcode aliases from m68k opcode table, to reduce table size and
processing time. Aliases are now a separate table.
* 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.
Ken Raeburn [Wed, 8 Mar 1995 08:10:49 +0000 (08:10 +0000)]
* config/tc-m68k.c (opcode_ptr): Return pointer to const.
(md_begin): Make hash table errors fatal. Process opcode aliases after main
opcode table.
(md_apply_fix_2, case 4): Recode setting of lower_limit to avoid gcc warning.
David Edelsohn [Wed, 8 Mar 1995 05:19:46 +0000 (05:19 +0000)]
* arc-dis.c (print_insn_arc_base): Split into big and little fns.
(print_insn_arc_{host,graphics,audio}): Likewise.
(print_insn): Add prototype.
Delete "+ 4" addition to relative branch address.
(arc_get_disassembler): New arg `big_p'. Return little or big
print fn accordingly.
* arc-opc.c (arc_opcode_init_tables): Init arc_operand_map once.
(arc_opcode_supported): Use ARC_OPCODE_CPU to ignore byte order.
(arc_opval_supported): Likewise.
* disassemble.c (disassembler): Pass big endian flag to
arc_get_disassembler.
* coffcode.h (bfd_coff_backend_data): Add new field
_bfd_coff_adjust_symndx.
(bfd_coff_adjust_symndx): Define.
(coff_adjust_symndx): Define as NULL if not already defined.
(bfd_coff_std_swap_table): Initialize new field to
coff_adjust_symndx.
* cofflink.c (coff_link_input_bfd): Call coff_adjust_symndx if it
is defined.
* coff-a29k.c (coff_a29k_adjust_symndx): New static function.
(coff_adjust_symndx): Define before including coffcode.h.
* libcoff.h: Rebuild.
Stu Grossman [Tue, 7 Mar 1995 09:26:39 +0000 (09:26 +0000)]
* Makefile.in: Add rules for monitor.o and rom68k-rom.o to make
Sun make (with VPATH) work...
* monitor.c monitor.h rom68k-rom.c: Serious cleanup to make IDP
(rom68k) target work right.
* array-rom.c op50-rom.c w89k-rom.c: Partial updates to new
monitor.c interface. More work needs to be done here.
* config/m68k/tm-monitor.h: Change DECR_PC_AFTER_BREAK to 0 to
match the IDP monitor. Also, set NUM_REGS to 18 cuz there's no
floating-point for this card.
Stu Grossman [Tue, 7 Mar 1995 09:03:37 +0000 (09:03 +0000)]
* serial.h ser-go32.c ser-go32-para.c ser-mac.c ser-tcp.c
ser-unix.c: Add SERIAL_SETSTOPBITS to set the number of stopbits
(needed for IDP board?!?!?).
Jeff Law [Mon, 6 Mar 1995 17:04:18 +0000 (17:04 +0000)]
* 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.
Jeff Law [Mon, 6 Mar 1995 17:02:38 +0000 (17:02 +0000)]
* config/tc-hppa.c: Change all occurences of pa-89 with pa-11 to
be consistent with current naming conventions.
(md_begin): Set a default architecture and machine type.
(pa_ip): If the current instruction specifies a newer machine type
than the current machine type, then update the current machine
type.
(need_pa11_opcode): Likewise.
Jeff Law [Mon, 6 Mar 1995 17:00:18 +0000 (17:00 +0000)]
* cpu-hppa.c (arch_info_struct): Support both PA1.0 and PA1.1
machine types.
(bfd_hppa_arch): Link in both PA1.0 and PA1.1 architecture info
structures.
* libhppa.h (enum pa_arch): New enumeration to describe the
different variants of the PA architecture.
* som.c (som_object_setup): Use new enumeration to set machine
type.
(som_finish_writing): If the machine type is PA1.1, then use the
PA1.1 machine identifier in the output file.
Per Bothner [Sat, 4 Mar 1995 02:24:26 +0000 (02:24 +0000)]
* valops.c (value_cast): Cehck for cast to array type *before*
we coerce array to pointer (in case arg2 is already array).
* valops.c (call_function_by_hand): Set using_gcc to 2 if using
gcc2. Needed for REG_STRUCT_HAS_ADDR to work on sparc.
Also check REG_STRUCT_HAS_ADDR for union, array and string types.
* valops.c (call_function_by_hand): Re-arrange code for pushing
paramaters on the stack so we can do better STACK_ALIGN.
* valops.c (call_function_by_hand): Call error if the number
of arguments is fewer than parameter types in function type.
David Edelsohn [Sat, 4 Mar 1995 01:37:30 +0000 (01:37 +0000)]
* sparc-tdep.c (sparc_extract_struct_value_address): Move
sparc64 support to here.
(sparc64_extract_struct_value_address): Deleted.
(dump_ccreg): Add a prototype so long long arg -> int.
* sparc/tm-sp64.h (USE_STRUCT_CONVENTION): Define.
(EXTRACT_STRUCT_VALUE_ADDRESS): Delete.
Jeff Law [Sat, 4 Mar 1995 00:55:45 +0000 (00:55 +0000)]
* hpread.c (hpread_record_lines): New argument "offset". All
callers changed. Use it to handle dynamic address relocation.
(hpread_build_psymtabs): Adjust texthigh as we read each function
debug symbol. Fix computation of texthigh.
(hpread_read_subrange_type): Work around macro bugs in HP's
compilers.
(hpread_process_one_debug_symbol): Correctly map source lines.
* emultempl/elf32.em (hold_rel): New static variable.
(gld${EMULATION_NAME}_place_orphan): Place readonly sections with
contents whose names begin with ".rel" after hold_rel. Remove the
assertion which checked for unplaced .rel sections. Don't try to
sort the section into place if place->bfd_section is NULL.
(gld${EMULATION_NAME}_place_section): Set hold_rel to the first
section beginning with ".rel".
* binary.c: Add support for reading binary files. Loads the raw
contents of the file into a data section and wraps some symbols
around it. The symbols `_binary_<filename>_start' and
`_binary_<filename>_end' indicate the start and end of the data,
while `_binary_<filename>_size' is an absolute symbol whose value
is the size of the data. <filename> is the name of the binary
input file, with all non-alphanumeric characters converted to
underscores.
* archures.c (bfd_arch_get_compatible): Assume users knows what
they're doing if one of the architectures is bfd_arch_unknown.
Jim Kingdon [Thu, 2 Mar 1995 14:09:31 +0000 (14:09 +0000)]
* gdb.base/Makefile.in: Try compiling callfuncs.c, if that fails try
-DNO_PROTOTYPES.
* gdb.base/callfuncs.c: Control use of prototypes based on
NO_PROTOTYPES, not __STDC.
* gdb.base/callfuncs.exp (do_function_calls): xfail one of the
t_float_values2 tests if prototypes in use.
* gdb.base/callfuncs.c (t_float_values, t_float_values2,
t_double_values): When checking differences against DELTA, check
that difference is within the range (-DELTA,DELTA), not just
(-infinity,DELTA).
David Edelsohn [Thu, 2 Mar 1995 00:18:04 +0000 (00:18 +0000)]
Various changes for sparc64.
* sparc-tdep.c (NUM_SPARC_FPREGS): Define.
(SPARC_INTREG_SIZE): Define.
(*): Use SPARC_INTREG_SIZE instead of REGISTER_RAW_SIZE (intreg)
where appropriate.
(enum branch_type): New value `done_retry'.
(isbranch): Renamed from isannulled. All callers changed.
Support new sparc64 branch insns.
(single_step): Handle done_retry.
(sparc_extract_struct_value_address): Don't assume 4 byte regs.
(get_saved_register): Likewise.
(sparc_push_dummy_frame): Likewise.
(sparc_frame_find_saved_regs): Likewise.
(sparc_pop_frame): Likewise. Don't refer to FPS_REGNUM, CPS_REGNUM,
or PS_REGNUM if not sparc64. sparc64 has 64 fp regs.
(sparc64_extract_struct_value_address): New function.
(dump_ccreg, sparc_print_register_hook): Likewise.
* sp64-tdep.c: Deleted.
* sparc/tm-sp64.h (GDB_TARGET_IS_SPARC64): Define.
(NUM_REGS): Reduce by 2, cle/tle are in the pstate reg.
(CC_HAS_LONG_LONG): Define.
(REGISTER_NAMES): Delete cle/tle and reorganize.
(PS_REGNUM, FPS_REGNUM, CPS_REGNUM): Delete, they're ifdef'd out of
sparc-tdep.c now.
(REGISTER_BYTES): Update.
(REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Delete.
(EXTRACT_RETURN_VALUE): Delete. Use definition in tm-sparc.h.
(NO_SINGLE_STEP): Likewise.
* sparc/tm-sparc.h (EXTRACT_VALUE_RETURN): Don't assume 4 byte regs.
* sparc/sp64.mt: Move simulator support ...
* sparc/sp64sim.mt: ... to here.