Ian Lance Taylor [Wed, 15 Mar 1995 02:39:39 +0000 (02:39 +0000)]
* config/tc-mips.c (load_register): Don't use addiu for dli of an
unsigned seemingly negative number. Don't bother shifting a zero
value.
(mips_ip): For case 'j', if there are more alternatives, and the
ISA level is at least 3, don't accept an unsigned seemingly
negative number.
Jim Kingdon [Tue, 14 Mar 1995 21:25:19 +0000 (21:25 +0000)]
* lib/gdb.exp (gdb_test): Between $pattern and $prompt, expect
only \r\n, not .*. The test can pass .* as the last thing in
$pattern if that is what it wants. In addition to providing this
flexibility, this change should speed up pattern matching in cases
where the pattern already ended with .* (there were a number of
them). This change also helps catch bad patterns--in the old
scheme the typo "char \*" instead of "char \\*" would pass. Now
it is caught.
* Many .exp files: Update callers.
Stan Shebs [Tue, 14 Mar 1995 21:07:19 +0000 (21:07 +0000)]
* mpw-README: Filled in more details about how to install,
use, and rebuild.
* mpw-configure: Added copyright.
(target_cpu, target_vendor, target_os): Move after reading
of mpw-config.in, paste into generated Makefiles.
(TDEFINES): Remove.
* mpw-config.in: Check for presence of required build tools.
(target_libs): Add newlib.
(target_tools): Add examples.
(Read Me): Generate as "Read Me for MPW" instead.
* mpw-build.in: Base sub-builds on all-foo instead of do-foo.
(all-byacc, do-byacc, all-flex, do-flex, do-newlib): New actions.
(do-gas, do-gcc, do-gdb, do-ld): Build Version.r first.
Jim Kingdon [Tue, 14 Mar 1995 16:47:38 +0000 (16:47 +0000)]
* gdb.base/printcmds.exp (test_integer_literals_rejected): Change
"p '\'", which is the same as "p ''" once tcl gets done with
quoting, to "p '\\'", which I suspect is what is intended (one
backslash gets sent to GDB).
* gdb.base/printcmds.exp (test_artificial_arrays): New tests.
Ken Raeburn [Tue, 14 Mar 1995 02:58:16 +0000 (02:58 +0000)]
* __bb_exit_func.c: New file, from David Mosberger-Tang.
Thu Feb 9 16:56:07 1995 David Mosberger-Tang <davidm@piston.cs.arizona.edu>
* All *.c: More cleanup towards GNU format.
* gmon_out.h (struct gmon_hist_hdr, struct gmon_cg_arc_record): replaced sizeof
(bfd_vma) by size (char*) because Ken tells me that bfd_vma is only guaranteed
to be at least as big as a pointer.
(GMON_Record_tag): added explicit enumeration values to ensure compatibility
across compilers.
* gmon_io.c (get_vma, put_vma): replaced sizeof(bfd_vma) by sizeof(char*).
Ian Lance Taylor [Mon, 13 Mar 1995 21:55:44 +0000 (21:55 +0000)]
* elfcode.h (write_relocs): Make static. Use PTR argument as a
pointer to a boolean variable set to true if something fails.
Cast to PTR rather than void *.
(sym_is_global): Rewrite for clarity.
(map_program_segments): If the program header size is too small,
call _bfd_error_handler and return failure rather than aborting.
(NAME(bfd_elf,write_object_contents)): Pass boolean variable when
calling write_relocs.
(elf_symbol_from_bfd_symbol): Use BFD_ASSERT rather than abort.
(struct elf_info_failed): Define.
(NAME(bfd_elf,size_dynamic_sections)): Declare variables in inner
blocks. Pass elf_info_failed structure when calling
elf_export_symbol and elf_adjust_dynamic_symbol.
(elf_export_symbol): Treat data argument as elf_info_failed rather
than bfd_link_info. Set failed field on error.
(elf_adjust_dynamic_symbol): Likewise.
(struct elf_finfo_failed): Define.
(elf_bfd_final_link): Pass elf_finfo_failed structure when calling
elf_link_output_extsym. Use BFD_ASSERT rather than abort.
(elf_link_output_extsym): Treat data argument as elf_finfo_failed
rather than elf_final_link_info. Set failed field on error.
(elf_link_input_bfd): Use BFD_ASSERT rather than abort.
(elf_reloc_link_order): Likewise.
Ian Lance Taylor [Mon, 13 Mar 1995 20:39:36 +0000 (20:39 +0000)]
* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Only write
out PLTRELSZ, PLTREL and JMPREL relocs if there is a .rela.plt
section. Solaris 2.4 apparently does not handle empty reloc
information correctly.
Ken Raeburn [Sat, 11 Mar 1995 00:30:30 +0000 (00:30 +0000)]
* config/obj-coff.c: Redo my 10 Jan change, but get it right this time. :-)
(fixup_segment): If linkrelax is set, just return.
(write_object_file): Don't treat h8300 and z8k specially with regard to fixups.
* config/tc-h8300.c (md_begin): Set linkrelax.
* config/tc-z8k.c (md_begin): Ditto.
Ken Raeburn [Sat, 11 Mar 1995 00:17:26 +0000 (00:17 +0000)]
* gas/h8300/ffxx1.s: Add .word 0 at the end to eliminate uncertainty as to
whether there should be trailing bytes in the output file.
* gas/h8300/ffxx1.d: Adjust reloc values to permit an addend value of
0x00000000ffffffff on 64-bit hosts. (I'm not sure if this is correct.) End
with "..." to match trailing zero bytes.
Ian Lance Taylor [Fri, 10 Mar 1995 20:02:51 +0000 (20:02 +0000)]
* ldlex.l: Return -lFILENAME as the token LNAME.
* ldgram.y: Add token LNAME.
(input_list): Treat LNAME like NAME, but pass it to
lang_add_input_file as lang_input_file_is_l_enum.
* ld.texinfo: Document using -lFILENAME in INPUT.
Ian Lance Taylor [Fri, 10 Mar 1995 18:13:31 +0000 (18:13 +0000)]
* objcopy.c (strip_options): Add --keep-symbol.
(copy_options): Likewise.
(copy_usage): Mention --keep-symbol and -K.
(strip_usage): Likewise.
(keep_symbols): New static variable.
(is_strip_symbol): Adjust the return value according to
keep_symbols.
(strip_main): Handle -K. For -N, check that -K was not given.
(copy_main): Likewise.
* binutils.texi, objcopy.1, strip.1: Document -K.
Peter Schauer [Fri, 10 Mar 1995 11:24:30 +0000 (11:24 +0000)]
* gdb.base/funcargs.exp (call_after_alloca): Remove `next'
test, it causes stepping out of call_after_alloca_subr with
optimizing compilers.
(localvars_in_indirect_call): Consume GDB prompt if `finish'
fails.
* gdb.c++/misc.cc (class Contains_static_instance,
class Contains_nested_static_instance),
gdb.c++/classes.exp (test_static_members): Test printing of
a class that contains a static instance of the class.
Peter Schauer [Fri, 10 Mar 1995 11:21:32 +0000 (11:21 +0000)]
Fix problems with infinite recursion when printing a class
that contains a static instance of the class.
* cp-valprint.c (dont_print_vb_obstack): Renamed from
dont_print_obstack, made static.
(dont_print_statmem_obstack): New obstack, controls printing
of static member classes.
(_initialize_cp_valprint): Initialize it.
(cp_print_static_field): New function, handles printing of
static members.
(cp_print_value_fields): New parameter dont_print_statmem to
handle recursive printing of static member classes, use
cp_print_static_field to handle printing of static members.
* c-valprint.c (cp_print_value_fields): Update prototype and
call to include additional dont_print_statmem parameter.
* c-valprint.c, f-valprint.c (dont_print_obstack): Remove unused
extern declaration.
* alpha-tdep.c, findvar.c, infptrace.c: Include <string.h>.
* config/alpha/tm-alpha.h (FRAME_FIND_SAVED_REGS): Call
alpha_find_saved_regs if fi->saved_regs is still NULL.
* elfread.c (elf_symtab_read): Ensure that the filename field
of a minsym is nonempty. Ignore solib trampoline symbols from
the main symbol table, they might have a bogus value.
* procfs.c (set_proc_siginfo), config/alpha/alpha-osf2.mh:
Fix typos in comments.
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 <raeburn@cujo.cygnus.com>
* 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?!?!?).