Stan Shebs [Sun, 17 Jul 1994 00:00:36 +0000 (00:00 +0000)]
* inferior.h (ARCH_NUM_REGS): New macro, actual number of
registers in use by the inferior.
* coredep.c (fetch_core_registers, register_addr): Use it.
* findvar.c (registers_changed, registers_fetched,
read_register_bytes): Ditto.
* infcmd.c (do_registers_info, registers_info): Ditto.
* infptrace.c (fetch_inferior_registers,
store_inferior_registers): Ditto.
* stack.c (frame_info): Ditto.
* coredep.c (CORE_REGISTER_ADDR): New macro.
(fetch_core_registers): Use it.
Stan Shebs [Sat, 16 Jul 1994 22:57:23 +0000 (22:57 +0000)]
* breakpoint.c (ignore, condition): Add usage notes to help strings.
* symfile.c (add-symbol-file): Add usage note to help string.
(add_shared_symbol_files_command): New command.
Stan Shebs [Sat, 16 Jul 1994 21:02:53 +0000 (21:02 +0000)]
* configure.host (m68*-atari-sysv4*): New host.
(m68*-cbm-sysv4*): Use m68kv4 instead of amix.
* hosts/amix.h: Remove.
* hosts/m68kv4.h: New file, was amix.h.
Stan Shebs [Fri, 15 Jul 1994 23:53:04 +0000 (23:53 +0000)]
Stop printing at null char option, from Oliver Meyer
([email protected]).
* valprint.h, valprint.c (stop_print_at_null): New global.
* valprint.c (_initialize_valprint): New print set subcommand
"null-stop".
* c-valprint.c (c_val_print): If stop_print_at_null is on, and
printing a char array, adjust the number of chars to print.
Ken Raeburn [Fri, 15 Jul 1994 23:13:10 +0000 (23:13 +0000)]
* lib/gas-defs.exp (run_dump_test): New routine for running the
assembler, running objdump or nm (not fully supported) on the
resulting object file, and comparing the results against a file of
regular expressions in the test suite, all in one command.
(fail_phase, slurp_options): New auxiliary routines.
(regexp_diff): Always return a value. Fix bugs in actually doing
the regexp test.
Should make it even easier to write gas test cases, giving Ian even less
excuse for not doing so. :-)
Stan Shebs [Fri, 15 Jul 1994 21:37:30 +0000 (21:37 +0000)]
From Kevin A. Buettner ([email protected]).
* m88k-tdep.c (examine_prologue): Modified to handle prologues for
pic code in addition to prologues where an instruction from the
prologue gets moved into the delay slot of a branch instruction
immediately following the prologue. A table of potential prologue
instructions (prologue_insn_tbl) is now used for picking apart a
function prologue.
(frame_find_saved_regs): Changed the way in which limit gets set
so that the delay slot of branch instructions immediately
following the prologue gets examined.
(pushed_size, store_parm_word, store_parm, push_parameters,
collect_returned_value): Deleted.
* coffgrok.c (do_where): Make data with no type 'int'.
(do_define): Keep info on source file of a symbol.
* coffgrok.h (coff_symbol): New field.
* srconv.c (PROGRAM_VERSION): Now 1.3
(wr_rl): Use external ref number for symbol.
(wr_dus): Only keep one source file per debug unit.
(wr_dln): Always emit line numbers for first source file,
(wr_globals): Emit globals in the du of their owning source file.
Stan Shebs [Thu, 14 Jul 1994 21:34:09 +0000 (21:34 +0000)]
* dbxread.c: Don't include libbfd.h.
* dwarfread.c, elfread.c somread.c: Don't include libbfd.h,
<time.h>, or <sys/types.h>.
* elfread.c (elf_symfile_read): Use only standard BFD functions to
collect information about the stab and stab string sections.
Stan Shebs [Thu, 14 Jul 1994 02:15:39 +0000 (02:15 +0000)]
Breakpoint hit counts, from Bob Rusk ([email protected]).
* breakpoint.h (hit_count): New breakpoint field.
* breakpoint.c (show_breakpoint_hit_counts): New variable.
(clear_breakpoint_hit_counts): New function.
(bpstat_stop_status): Increment the hit count.
(breakpoint_1): Display the hit count.
* infcmd.c (run_command): Reset breakpoint hit counts.
* target.c (generic_mourn_inferior): Don't clear ignore counts if
displaying hit counts.
Ken Raeburn [Wed, 13 Jul 1994 22:38:03 +0000 (22:38 +0000)]
ns32k-dis.c (invalid_float): Changed to take char* argument, and test for
explicitly specified sizes, instead of using sizeof() on host CPU types.
(INVALID_FLOAT): Cast first argument.
* opcodes/ns32k-dis.c: Semi-new file. Had apparently been dropped
from distribution. A ns32k-dis.c from a previous distribution has
been brought up to date and supports the new interface.
* disaaemble.c: define ARCH_ns32k and add case bfd_arch_ns32k.
Ian Lance Taylor [Wed, 13 Jul 1994 18:58:11 +0000 (18:58 +0000)]
* config/tc-m68k.c (m68k_ip): Change rp to be a const pointer.
(md_parse_option): Clear cpu field of current_architecture before
setting a new cpu type. Clear no_68881 for m68881 or m68882.
Clear no_68851 for m68851.
Ken Raeburn [Wed, 13 Jul 1994 01:48:15 +0000 (01:48 +0000)]
Updated some copyrights, cleaned up some header-file comments, and:
* symbols.c (symbol_create): New function, most of the guts of the old
symbol_new function.
(symbol_new): Now just checks symbol_table_frozen, calls symbol_create, and
enters the symbol into the symbol table.
* subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true, and the
symbol table is frozen, call symbol_create instead of symbol_new.
* symbols.h (symbol_create, symbol_table_frozen): Declare.
* symbols.c (symbol_clear_list_pointers): Always a function now.
* struc-symbol.h (symbol_clear_list_pointers): Deleted macro version.
* symbols.c (debug_verify_symchain): New macro, defined to be
verify_symbol_chain or a cast to void, depending on DEBUG_SYMS.
(many functions): Invoke debug_verify_symchain unconditionally.
Peter Schauer [Tue, 12 Jul 1994 19:29:04 +0000 (19:29 +0000)]
* elfread.c (elf_symfile_read): Unconditionally add dynamic
symbols for all symbol files. Makes skipping over the
trampoline code work when stepping from a function in a shared
library into a function in a different shared library for Irix 5.
Other ELF targets do not have enough information in their
dynamic symbol tables to make this work.
(elf_symtab_read): Relocate mst_solib_trampoline address.
Kung Hsu [Tue, 12 Jul 1994 19:17:35 +0000 (19:17 +0000)]
Modified Files:
read.c ecoff.h ecoff.c ChangeLog
* read.c (read_a_source_file): ditto.
* ecoff.h: change calling interface of
ecoff_generate_asm_line_stab.
* ecoff.c (add_file): record of filename to handle case of include
files, also change default built-in type from int to void for
asm file.
* ecoff.c (ecoff_generate_asm_line_stab): handle case of include
files.
Peter Schauer [Tue, 12 Jul 1994 19:14:09 +0000 (19:14 +0000)]
* aix386-core.c, aoutf1.h, cisco-core.c, elfcode.h, hppabsd-core.c,
hpux-core.c, irix-core.c, lynx-core.c, osf-core.c, ptrace-core.c,
rs6000-core.c, trad-core.c: Remove SEC_ALLOC flag from .reg
sections, .reg sections are not allocated and contain debug
information only.
* osf-core.c (make_bfd_asection, osf_core_core_file_p): Use
bfd_make_section_anyway instead of building unique section names.
Ian Lance Taylor [Mon, 11 Jul 1994 21:24:08 +0000 (21:24 +0000)]
* config/tc-mips.c (macro): In case M_LA_AB, SVR4_PIC, large
constant, and case ldd_std, set mips_optimize to 2 temporarily to
avoid inserting an unexpected nop instruction.
Peter Schauer [Sat, 9 Jul 1994 23:30:21 +0000 (23:30 +0000)]
* symtab.c (find_function_start_sal): New function to find
the start of a function from a function symbol.
(decode_line_1, decode_line_2): Use it instead of open coded
partial copies of the code.
(list_symbols): Quote symbol name before passing it to
break_command to enable proper handling of mangled symbols.
Michael Tiemann [Sat, 9 Jul 1994 20:08:16 +0000 (20:08 +0000)]
Add all-emacs19 and install-emacs19 rules (in parallel with all-emacs
and install-emacs). Top-level command `make all-emacs19 CC=gcc' now
behaves as `make all-emacs CC=gcc'.
* (process_pseudo_op): Pass right are do do_aif.
(get_any_string): New arg 'pretend_quote'.
(get_and_process, do_formals, macro_expand, do_sdata,
process_pseudo_op): Use new arg.
* read.c (read_a_source_file): generate line stabs for asm file.
* read.h: add extern generate_asm_line_stab.
* ecoff.h : add prototype for ecoff_generate_asm_line_stab().
* ecoff.c (add_file): if there's no filename provided, set switch
to generate line stabs for .s file.
* ecoff.c (add_procedure): add stabs symbol for .ent directive.
* ecoff.c (generate_ecoff_stab): creates an artificial stabs.
* ecoff.c (generate_asm_line_stab): generate a artifitial label
for each line and generate a stabn for the line.
* gasp.c (get_any_string): Cope with getting a string with an
alternate base specifier.
(do_aif, do_aelse): Only enable output if expression is true and previous
level was on.
(chartype_init): Add BASEBIT chartype.
(process_pseudo_op): Notice nesteed AIFs.
Jeff Law [Thu, 7 Jul 1994 17:35:27 +0000 (17:35 +0000)]
* config/tc-hppa.c (hppa_fix_adjustable): Reject reductions for
symbols in DLT relative relocs.
(tc_gen_reloc): Zero out the addend field for DLT relative relocs.
Peter Schauer [Thu, 7 Jul 1994 17:11:58 +0000 (17:11 +0000)]
* aoutx.h (howto_table_std): Add entry for GOT relocations
which are present in sun3 shared libraries, to avoid assertions
when reading the dynamic relocations.
Per Bothner [Thu, 7 Jul 1994 03:27:48 +0000 (03:27 +0000)]
* ch-exp.y (match_simple_name_string): Don't lower-case here.
* ch-exp.y (yylex): First try name lookup using exact name
typed by user; if that fails, try lower-cased name.
Peter Schauer [Wed, 6 Jul 1994 08:01:52 +0000 (08:01 +0000)]
* dbxread.c, elfread.c, mipsread.c, nlmread.c, os9kread.c:
Move "no debugging symbols found" test to symfile.c.
* symfile.c (syms_from_objfile, reread_symbols): Add
"no debugging symbols found" test.
* coffread.c (init_stringtab): Handle stripped files with a
stringtab offset of zero gracefully.
* osfsolib.c (solib_create_inferior_hook): Use DYNAMIC flag from
BFD instead of stop_pc heuristic to determine if it is a dynamically
linked object file.
* procfs.c (wait_fd): Handle ENOENT error return from PIOCWSTOP
ioctl, it indicates that the process has exited.
Peter Schauer [Wed, 6 Jul 1994 07:53:31 +0000 (07:53 +0000)]
* coff-alpha.c (alpha_ecoff_mkobject_hook): New hook to
additionally copy object type information from the alpha file
header to the BFD flags.
(alpha_ecoff_backend_data): Use it.
(ecoffalpha_little_vec): Add DYNAMIC to object_flags.
* aout64.c: Fix typo in conditional QMAGIC definition.
* config/obj-elf.h (S_GET_ALIGN, S_SET_ALIGN): Define.
* config/obj-elf.c (obj_elf_common): Set alignment of common
symbol.
* config/tc-sparc.c (s_common): If OBJ_ELF, set alignment of
common symbol.
Jeff Law [Fri, 1 Jul 1994 19:00:17 +0000 (19:00 +0000)]
* Support code for enabling the new style linker for PA ELF.
* elfcode.h (swap_symbol_in, swap_symbol_out): Externalize.
(elf_compute_section_file_positions): Pass link_info to
the begin_write_processing hook.
(bfd_elf_write_object_contents): Pass NULL for new link_info
argument to final_write_processing hook.
(elf_link_output_sym): Accept new "input_section" argument for
the symbols's input section. All callers changed. Call the
link_output_symbol_hook if it's defined.
(elf_bfd_final_link): Call the final_write_processing hook if
it's defined.
* libelf.h (elf_backend_link_output_symbol_hook): Declare.
(elf_backend_begin_write_processing): Add new "info" argument.
(elf_backend_final_write_processing): Likewise.
* elf32-target.h (elf_backend_link_output_symbol_hook): Provide
a default definition.
(elf32_bed): Add elf_backend_link_output_symbol_hook.
* elf64-target.h: Likewise.
* Major rework of the PA ELF code. Uses the new style BFD
linker, major cleanups.
* hppa_stubs.h: Rewrite from scratch. Much smaller and simpler.
* elf32-hppa.h: Delete all symbol extension related code.
(hppa_look_for_stubs_in_section): Delete decl.
(elf32_hppa_size_stubs, elf32_hppa_build_stubs): New decls.
* elf32-hppa.c: Symbol extension stuff moved form elf32-hppa.h
into elf32-hppa.c. Do not include aout64.h.
(typdef hppa_stub_type): Delete.
(elf32_hppa_stub_name_list_struct): Delete.
(elf32_hppa_stub_description_struct): Delete.
(arg_reloc_type): Use simpler enumerations. All references changed.
(arg_location, arg_reloc_relocation): Likewise.
(elf32_hppa_symextn_map_struct): Delete.
(get_symbol_value): Delete.
(elf32_hppa_get_sym_extn): Delete.
(find_stubs, new_stubs, type_of_mismatch): Delete.
(find_stub_by_name, add_stub_by_name): Delete.
(hppa_elf_stub_finish, hppa_elf_stub_reloc): Delete.
(hppa_elf_arg_reloc_needed): Renamed. Simplify.
(hppa_elf_build_linker_stub, hppa_elf_create_stub_sec): Delete.
(hppa_elf_long_branch_needed_p): Delete.
(hppa_look_for_stubs_in_section): Delete.
(hppa_elf_get_section_contents): Delete.
(elf32_hppa_backend_symbol_processing): Delete.
(elf32_hppa_backend_section_processing): Delete.
(elf32_hppa_backend_section_from_shdr): Delete.
(elf32_hppa_backend_fake_sections): Delete.
(elf32_hppa_backend_section_from_bfd_section): Delete.
(NEW_INSTRUCTION): Delete.
(CURRENT_STUB_OFFSET): Delete.
(elf32_hppa_relocate_section): New function.
(elf32_hppa_bfd_final_link_relocate): New function.
(elf32_hppa_size_symext): New function.
(elf32_hppa_link_output_symbol_hook): New function.
(elf32_hppa_read_symext_info): New function.
(elf32_hppa_add_symbol_hook): New function.
(elf32_hppa_name_of_stub): New function.
(elf32_hppa_size_of_stub): New function.
(elf32_hppa_build_one_sub): New function.
(elf32_hppa_build_stubs): New function.
(elf32_hppa_size_stubs): New function.
(linker, stub and argument hash tables): Add appropriate
structures, definitions and functions to implement all three
hash tables.
(hppa_elf_relocate_insn): Don't need argument location information
in this function.
(add_entry_to_symext_chain): Accept a symbol's argument location
information rather than the symbol itself. All callers changed.
(hppa_elf_gen_reloc_type): Simplify.
(hppa_elf_set_section_contents): Stub section is no longer special.
(hppa_elf_reloc): Greatly simplify.
(elf32_hppa_begin_write_processing): Accept link_info argument.
Handle being called from the BFD backend linker.
(elf32_hppa_final_write_processing): Likewise.
(elf_hppa_tc_make_sections): No longer call stub_finish.
* rltty.c (control_meta_key_on): Don't compile if __GO32__ is
defined.
(rltty_set_default_bindings): Likewise.
* display.c (insert_some_chars, delete_chars): row_start should be
a short.
* parens.c (rl_insert_close): No FD_SET if using __GO32__.
* readline.c (rl_gather_tyi): Strip off spurious high bits.
Ian Lance Taylor [Thu, 30 Jun 1994 18:47:29 +0000 (18:47 +0000)]
* config/tc-mips.c (macro): For M_LI_SS, decide how to handle it
based on contents of imm_expr and offset_expr, rather than
mips_pic. For M_LI_DD, decide how to handle it based on segment
name of offset_expr, rather than mips_pic.
(mips_ip): If g_switch_value < 4, use immediate values for 'l'.
If g_switch_value < 8, use .rdata rather than .lit for 'L'.