Ken Raeburn [Tue, 20 Dec 1994 20:07:41 +0000 (20:07 +0000)]
* config/obj-aout.h, config/obj-coff.c, config/obj-elf.h, config/obj-som.h,
config/tc-h8500.c, config/tc-hppa.c, config/tc-hppa.h, config/tc-sh.c,
config/tc-z8k.c: Don't rely on use of ".." when including header files.
* config/tc-rce.c: Ditto.
* config/obj-coff.c (fixup_segment): Reformat condition in an `if' statement.
Ian Lance Taylor [Tue, 20 Dec 1994 19:07:11 +0000 (19:07 +0000)]
* elf32-i386.c (elf_i386_relocate_section): Correct and expand the
list of cases for which relocation need not be computed.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
Jeff Law [Tue, 20 Dec 1994 06:17:09 +0000 (06:17 +0000)]
* elf32-hppa.c (elf32_hppa_read_symext_info): Delete do_locals and
do_globals arguments, always read symbol extension information for
globals and locals. All callers changed.
(elf32_hppa_size_stubs): Rework to only read symbol extension
information once for each input bfd. Another 10% improvement in
linker performance.
Ian Lance Taylor [Mon, 19 Dec 1994 22:02:01 +0000 (22:02 +0000)]
* config/tc-mips.c (load_register): Rewrite to handle O_big 64 bit
constants.
(mips_ip): Accept O_big constants in case 'I'. Change case
'i'/'j' to treat an O_big constant as an out of range value.
Jeff Law [Mon, 19 Dec 1994 21:23:20 +0000 (21:23 +0000)]
* Reduce useless symbols for ELF in an attempt to make smaller
objects and speed up the linker.
* config/tc-hppa.c (struct call_info): Replace end_symbol field
with a size field.
(hppa_elf_mark_end_function): Delete unneeded function.
(pa_build_unwind_subspace): For the 2nd unwind relocation, use
the function symbol + function size instead of a special symbol
for the end of the function.
(process_exit): Compute the function size here. Don't call
hppa_elf_mark_end_of_function anymore.
(pa_procend): Likewise.
(hppa_fix_adjustable): Only reject 32bit relocations for SOM.
(elf_hppa_final_processing): Simplify.
David Edelsohn [Mon, 19 Dec 1994 21:05:59 +0000 (21:05 +0000)]
* config/tc-arc.c (arc_insert_operand): Change reg parm to pointer
to table entry. All callers changed.
(md_shortopts): New argument -mmult.
(md_parse_option): Recognize it.
(md_show_usage): Print it.
(md_begin): If -mmult, say we have the new multiply and shift insns.
(md_assemble): Fix reloc generation for 32 bit immediate values.
Clean up modifier handling. Try next insn if fake operand says there's
an error. Update to new syntax of insertion/extraction fns.
Recognize predefined aux regs. Don't abort if insertion fn missing.
David Edelsohn [Mon, 19 Dec 1994 20:55:13 +0000 (20:55 +0000)]
* arc-opc.c (insertion fns): Pass pointer to value's table entry.
All uses changed.
(extraction fns): Insn argument now array of two words. Return pointer
to value's table entry. All uses changed.
(arc_opcode_lookup_suffix): Exported for arc-dis.c.
(insert_multshift, extract_multshift): New fns.
(arc_operands): Add support for cache bypass suffix. Add support for
predefined aux regs. Modifier bits moved to flags field.
(arc_opcodes): Likewise.
Add mul/mulu/shift insns. Syntax of zero/sign extension insns changed.
New insn rlc. Update to syntax in programmer's manual.
(arc_reg_names): Fix typo in lp_count. Add predefined aux regs.
(arc_suffixes): New synonyms lo,hs for cs,cc. New suffix for cache
bypass.
(arc_opcode_init_tables): New argument to indicate cpu type.
(insert_reg): Handle predefined aux regs.
(extract_reg): Likewise.
(lookup_register): New fn.
* arc-dis.c (arc_condition_codes): Deleted.
(print_insn_arc): Handle insns with 32 bit immediate constants better.
Clean up modifier handling. Handle predefined aux regs.
Stu Grossman [Mon, 19 Dec 1994 08:01:45 +0000 (08:01 +0000)]
* gdbtk.c (gdbtk_wait gdbtk_init): Use different method of
enabling I/O interrupts for SVR4 (streams).
* (start_saving_output save_output get_saved_output
finish_saving_output flush_holdbuf gdbtk_flush gdbtk_fputs
gdbtk_init):
Totally revamp to use TCLs dynamic string functions. Also, quote
all data passed back to TCL to prevent errors with unmatched
braces, odd characters, etc... This fixes several wierd problems
with outputting strings containing unmatched braces.
* (breakpoint_notify gdb_loc): Use long hex format to output
addresses of breakpoints and PCs. This fixes some Alpha problems.
* (breakpoint_notify): Add stream arg to call to gdbtk_fputs.
* (gdb_listfiles): Also, go through the symtabs when looking for
files. This makes xcoff work (sort of), but probably breaks
something else.
* (gdb_stop): Return TCL_OK instead of nothing. This fixes odd
TCL errors when hitting stop button.
* (tk_command): Don't pass interp->result on to Tcl_{Var}Eval, as
that will trash the result. strdup the result instead and pass
that on. Improve error handling as well.
* gdbtk.tcl (gdbtk_tcl_flush): Use global def of
current_output_win. Makes flushing actually work!
* (asm_win_name create_asm_win update_assembly): Bunch of fixes
to make assembly windows stop flashing when loading a new file.
* (gdbtk_tcl_busy gdbtk_tcl_idle): Use catch to prevent gdb_cmd
errors from losing control.
* (create_source_window): Add source file selection to View menu.
* (create_command_window (<Key-Return> binding): Quote text fed
into gdb_cmd to prevent eval errors.
Jim Kingdon [Sun, 18 Dec 1994 06:59:12 +0000 (06:59 +0000)]
* tm-sparc.c (EXTRA_FRAME_INFO): New field sp_offset.
* sparc-tdep.c (sparc_init_extra_frame_info): Set it.
(examine_prologue, sparc_init_extra_frame_info): Use ->frame plus
->sp_offset to compute the address something is saved at, not
->bottom.
* sparc-tdep.c (get_saved_register): New function.
* tm-sparc.h: Define GET_SAVED_REGISTER; don't define
FRAME_FIND_SAVED_REGS, HAVE_REGISTER_WINDOWS or REGISTER_IN_WINDOW_P.
* stack.c (frame_info): Add comment about what to do if
FRAME_FIND_SAVED_REGS is not defined.
* sparc-tdep.c (sparc_init_extra_frame_info): Set ->frame field
here. Get it right for flat frames.
* sparc-tdep.c (sparc_frame_chain): Instead of returning
meaningful value for ->frame field, just return dummy value.
This change is needed because the old code didn't deal with mixed
flat and non-flat frames.
* sparc-tdep.c (sparc_pop_frame): Write SP_REGNUM from
frame->frame, don't go through saved regs for this.
* sparc-tdep.c: Move guts of skip_prologue to new function
examine_prologue. Check for flat prologue and set is_flat.
Provide the caller with the information about what is saved where
if desired.
(skip_prologue, sparc_frame_find_saved_regs): Call examine_prologue.
* sparc-tdep.c: Replace union sparc_insn_layout and anonymous
union in isannulled, which won't work on a little-endian host,
with X_* macros.
* sparc-tdep.c (sparc_frame_saved_pc): If addr == 0, the saved PC
is still in %o7.
* config/sparc/tm-sparc.h: Define INIT_FRAME_PC and
INIT_FRAME_PC_FIRST.
* blockframe.c (get_prev_frame_info): Modify comments regarding
INIT_FRAME_PC_FIRST and the sparc.
* sparc-tdep.c (single_step): Use 4 not sizeof (long) for size of
instruction.
Peter Schauer [Sat, 17 Dec 1994 10:46:32 +0000 (10:46 +0000)]
* c-typeprint.c (c_type_print_base): Use `show' of -1 to print
the return type of methods to avoid infinite loops with anonymous
types.
* valops.c (search_struct_field): Handle anonymous unions.
* sparc-tdep.c (sunos4_skip_trampoline_code): New function
to correctly handle steps into -g compiled PIC objects in the
main executable.
* config/sparc/tm-sun4os4.h (SKIP_TRAMPOLINE_CODE):
Redefine to use sunos4_skip_trampoline_code.
* dwarfread.c (DWARF_REG_TO_REGNUM): Provide a default mapping
from DWARF to GDB register numbering.
* dwarfread.c (locval): Use DWARF_REG_TO_REGNUM to map the
register value.
* config/mips/tm-mipsv4.h (DWARF_REG_TO_REGNUM): Define.
Ian Lance Taylor [Fri, 16 Dec 1994 17:30:08 +0000 (17:30 +0000)]
* elfcode.h (elf_section_from_bfd_section): Check
bfd_is_abs_section, etc., only after checking for the section in
the BFD and after calling the backend routine.
Stan Shebs [Fri, 16 Dec 1994 01:58:43 +0000 (01:58 +0000)]
* defs.h: Include progress.h.
(QUIT): Call PROGRESS.
* main.c (main): Call START_PROGRESS and END_PROGRESS, break
usage message into shorter strings.
* source.c: Change long command help strings into concats of
shorter ones, for picky ANSI compilers.
(ChangeLog.mpw)
* main.c, source.c: Remove hacks that replace long strings
with shorter ones, now solved portably.
Stu Grossman [Fri, 16 Dec 1994 01:07:35 +0000 (01:07 +0000)]
* defs.h, gdbtk.c (gdbtk_fputs), main.c (gdb_fputs), top.c: Add stream arg
to fputs_unfiltered_hook. Differentiate stdout from stderr when
passing text into tcl land.
* defs.h, top.c, utils.c (error): Add error_hook.
* gdbtk.c: Improve mechanism for capturing output values.
* (full_filename): Remove.
* (gdb_cmd call_wrapper gdbtk_init): Protect all calls from tcl
land with call_wrapper. This prevents longjmps (usually via
error()) from jumping out of tcl/tk and leaving things in an
indeterminate state.
* gdbtk.tcl: New view option to disable line numbers. Put catch
around most uses of gdb_cmd. Add update button to reg config
window. Stop doing immediate updates when selecting registers.
Change register view values into checkbuttons.
Ken Raeburn [Fri, 16 Dec 1994 00:19:40 +0000 (00:19 +0000)]
* Makefile.in (AS_FOR_TARGET, OBJDUMP_FOR_TARGET): Don't set.
(uninstall): Don't set OBJDUMP and OBJDUMPFLAGS in site.exp.
* config/default.exp: Default OBJDUMP and OBJDUMPFLAGS. Use findfile and
transform procedures to determine objdump program name.
Ian Lance Taylor [Thu, 15 Dec 1994 04:41:39 +0000 (04:41 +0000)]
* elfcode.h (elf_map_symbols): Only use section symbols whose
value is the start of the section, checking output_offset when
using output_section. When creating a new symbol, set the value
to 0, since BFD symbol values are section relative.
Ken Raeburn [Wed, 14 Dec 1994 21:40:30 +0000 (21:40 +0000)]
* lib/ld.exp (prune_system_crud): Define if not already defined, in case the
user isn't using the newest DejaGnu version that we haven't released to the net
yet.
Stan Shebs [Wed, 14 Dec 1994 00:47:32 +0000 (00:47 +0000)]
* mpw-config.in (m68k-apple-macos, ppc-apple-macos,
i386-unknown-aout): New targets.
(mk.tmp): Add *DEPFILES definitions.
* mpw-make.in: Remove gC rules, clean up definitions for other
include files, bump version, fix bogus \ that should be \Option-d.
(init.c): Build correctly.
(mpw-init.c): Remove.
Ian Lance Taylor [Tue, 13 Dec 1994 16:07:02 +0000 (16:07 +0000)]
* config/tc-mips.c (macro_build): Accept BFD_RELOC_PCREL* without
requiring that the X_op_symbol be in the text_section.
(macro): Change the test for a legel expression difference to
correspond to changes in pseudo_set in read.c.
Stan Shebs [Tue, 13 Dec 1994 03:52:01 +0000 (03:52 +0000)]
* mpw-config.in: Add mapping from configs to object file formats,
get VERSION from Makefile.in and add to mk.tmp.
(mips-idt-ecoff) [TDEFINES]: Add TARGET_BYTES_BIG_ENDIAN.
* mpw-make.in (VERSION, gC): Don't define.
(ALL_CFLAGS): Remove -d flags.
(config.h): Remove definition of MPW, add HAVE_STDARG_H,
BFD_ASSEMBLER.
Stan Shebs [Tue, 13 Dec 1994 03:34:28 +0000 (03:34 +0000)]
* mpw-config.in: Edit the BFD version into bfd.h.
(m68k-apple-macos, ppc-apple-macos): New targets.
* mpw-make.in: Remove use of gC in rules, add srcdir pathnames to
more files.
Stu Grossman [Tue, 13 Dec 1994 01:04:38 +0000 (01:04 +0000)]
* gdbtk.tcl (reg_config_menu create_registers_window
recompute_reg_display_list): Use array instead of individual vars
for register display list.
* (recompute_reg_display_list update_registers): Fix bug with not
displaying all registers.
Jim Kingdon [Mon, 12 Dec 1994 21:21:10 +0000 (21:21 +0000)]
* f-lang.c: Remove duplicate declaration of
builtin_type_f_integer, and only include it in the f_builtin_types
once.
* somread.c (som_symfile_read): Just assign to objfile->obj_private,
not OBJ_UNWIND_INFO. Assigning to a cast is a GCC-ism which
the HP compiler doesn't like.
Stu Grossman [Mon, 12 Dec 1994 20:50:08 +0000 (20:50 +0000)]
* gdbtk.c: New tcl commands: gdb_fetch_registers,
gdb_changed_register_list, and gdb_regnames.
* gdbtk.tcl: Use monochrome color model for now.
* (delete_breakpoint_tag create_file_win): Add breakdot support.
* (create_file_win create_asm_win update_listing build_framework
create_source_window create_command_window): Re-org window
creation to give all windows consistent look and feel.
* (update_listing update_asm): Change pc pointer to '->'.
* (registers_command reg_config_menu create_registers_window
populate_reg_window update_registers): Revamp register window.
Allow selection of registers to be displayed. Highlight changed
registers.
Ken Raeburn [Sat, 10 Dec 1994 02:06:26 +0000 (02:06 +0000)]
* config/tc-alpha.c (alpha_ip, case 'B', subcase 'c'): Use opcode value from
pattern instead of assuming jsr.
* config/alpha-opcode.h (jmp): Add a "1,Bc" form.
* scripttempl/elf.sc: Move .ctors and .dtors from .text segment to
.data segment. They must be writable when creating a shared
library. From H.J. Lu <[email protected]>.
* elfcode.h (elf_bfd_link_add_symbols): If the first object in the
archive is not an ELF object, pass the archive to the add_symbols
entry point appropriate for the first object. From Eric Youngdale
<[email protected]>.
* elf32-i386.c (elf_i386_relocate_section): Don't compute
relocation in cases where we won't use it.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
Jim Kingdon [Thu, 8 Dec 1994 23:20:11 +0000 (23:20 +0000)]
* frame.h: Restore pre-Nov 3 comments about FRAME_FP with minor
changes. They are correct, unlike the post-Nov 3 comment
(FRAME_FP doesn't have any machine-independent relationship with
FP_REGNUM or any other such notion of a "frame pointer").
Jim Kingdon [Thu, 8 Dec 1994 22:54:33 +0000 (22:54 +0000)]
* gdbserver/remote-utils.c (write_ok): Write "OK", not "Ok", to
match stubs and protocol spec.
* gdbserver/remote-utils.c (remote_open): Cast to struct sockaddr
when passing to function which expects that.
The following changes aren't quite enough to make things work with
LynxOS (apprently kernel problems).
* infrun.c (wait_for_inferior): When resuming new thread, pass pid
not -1 for remote case.
* thread.c (info_threads_command): Give error if !target_has_stack.
* infrun.c (start_remote): Call init_thread_list.
* thread.c (info_threads_command): Don't call kill for remote
debugging target.
* target.c (normal_pid_to_str): Print "thread" not "process" for
remote.
* remote.c, gdbserver/*: Add 'H', 'S', and 'C' requests, 'X'
response, and `thread' part of 'T' response.
* gdbserver/*: If program exits, send packet to GDB before
exiting. Handle termination with a signal the same as exiting
with an exitstatus.
* remote.c: Don't try to kill program after getting an 'X'
response.
* infrun.c (wait_for_inferior): Add comment about kill versus mourn.
Ken Raeburn [Thu, 8 Dec 1994 20:47:46 +0000 (20:47 +0000)]
* pc532-mach.c (NAME): Define to use ns32kaout prefix.
* ns32knetbsd.c (NAME): Ditto.
(ns32kaout_32_get_section_contents): Define to standard aout-32 version.