Per Bothner [Wed, 4 Jan 1995 01:07:15 +0000 (01:07 +0000)]
* ch-exp.y (literal): Recognize NULL.
(tuple): Parse simple unlabelled tuples.
* eval.c (evaluate_subexp case OP_ARRAY): Use expect_type to
evaluate brace-initializer-expressions depending on context.
(evaluate_subexp case UNOP_CAST): Pass the target type as
expected type when evaluating the expression.
Per Bothner [Wed, 4 Jan 1995 01:04:15 +0000 (01:04 +0000)]
* ch-typeprint.c (chill_type_print_base): Get names of PTR and
BOOL from TYPE_NAME.
* ch-valprint.c (chill_print_type_scalar): New function, to handle
TYPE_CODE_RANGE better than print_type_scalar does.
(chill_val_print_array_elements): Use above new function.
Ken Raeburn [Sat, 31 Dec 1994 00:08:40 +0000 (00:08 +0000)]
Handle .space directive with non-constant operand:
* read.c (s_space): Rewrite to handle general expressions. Generate rs_space
frags for non-constant values.
* write.c (cvt_frag_to_fill): Treat rs_align_code and rs_space like rs_align
and rs_org. Verify that fr_offset is non-negative, and force frag type to
rs_fill only after assertion checks.
(relax_segment): Treat rs_align_code like rs_align. Treat rs_space like rs_org
in the first switch; in the second, force the operand to a constant, and use it
for the growth size.
Stan Shebs [Sat, 31 Dec 1994 00:00:53 +0000 (00:00 +0000)]
* gdbtk.tcl (FSBox): New proc, File Selection Box code from exmh.
(not_implemented_yet): New proc.
(build_framework): Add various file commands to file menu.
Ken Raeburn [Fri, 30 Dec 1994 23:59:23 +0000 (23:59 +0000)]
* as.h (relax_substateT): Now defined to be unsigned int.
(relax_stateT): Separate typedef from enum definition.
(enum _relax_state): Reordered for better punctuation. Added new values
rs_align_code and rs_space.
(lineno, struct lineno_struct): Unused, deleted.
For friendlier assertion-failure messages:
* as.h: No longer include assert.h.
(as_assert): Declare.
(assert): New definition, calls as_assert longer needed.
(__PRETTY_FUNCTION__): Provide default for older versions of gcc.
* messages.c (as_assert): New function.
* gdbinit.in: Put a breakpoint there.
Ken Raeburn [Fri, 30 Dec 1994 23:54:59 +0000 (23:54 +0000)]
* listing.c (list_symbol_table): Build a format string based on the size of the
value to be printed, as long as "unsigned long" is at least as wide, after
handling the special case of 4-byte values.
Jeff Law [Fri, 30 Dec 1994 19:53:39 +0000 (19:53 +0000)]
* Allow up to 10 whitespace separated arguments to user defined
commands.
* top.c (struct user_args): Structure for holding arguments to
user defined commands.
(print_command_line): Delete unused "tmp_chain" variable. Clean
up flow control by having cases exit in the same manner.
Before executing a command or evaluating an expression, substitute
the current $arg0..$arg9 values if the command/expression uses them.
(arg_cleanup): New function.
(setup_user_args, locate_arg, insert_args): Likewise.
(execute_user_command): Allow arguments to user defined commands.
* Allow if/while commands to be used within a breakpoint command
list.
* breakpoint.c (bpstat_do_actions): Call execute_control_command
rather than execute_command (passes entire command structure rather
than just the command line text).
(breakpoint_1): Use "print_command_line" to print a breakpoint
command line (including control structures).
* gdbcmd.h (execute_control_command): Provide extern decl.
(print_command_line): Likewise.
* top.c (execute_control_command): No longer static.
(print_command_line): New function to recursively print a command
line, including control structures.
Rob Savoye [Fri, 30 Dec 1994 01:39:24 +0000 (01:39 +0000)]
* array-rom.c: Support for Array Tech LSI33k based RAID disk
controller board.
* configure.in: Recognize "mips*-*-ecoff*" rather than
"mips*-idt-ecoff*" so it'll work for the LSI33k.
Rob Savoye [Fri, 30 Dec 1994 01:26:37 +0000 (01:26 +0000)]
* monitor.[ch], op50-rom.c, rom68k-rom.c, w89k-rom.c: Add support
to monitor config structure for supported baud rates for a target
and variable stop bits.
* monitor.c (monitor_fetch_register): Store register values in big
endian format on any host.
* interp.c (BUSERROR): New macro.
([r|w][bwl]at[little|big]) New functions.
(sim_resume): If GO32 check for interrupt every now
and again. Decrement PC if SIGBUS seen.
* run.c (main): Return result of simulated _exit.
Jeff Law [Thu, 29 Dec 1994 02:31:10 +0000 (02:31 +0000)]
* hppa-tdep.c (hppa_fix_call_dummy): Prefer import stubs over
export stubs and actual shared library functions so that lazy
binding works correctly. Try both __d_plt_call and __gcc_plt_call
trampolines for calling import stubs.
Jeff Law [Wed, 28 Dec 1994 21:55:21 +0000 (21:55 +0000)]
* hppa-tdep.c (push_dummy_frame): Refine code to determine what
space ID to place in the stack & inf_status structure.
(hppa_pop_frame): Don't walk through trampoline code if popping a
call dummy frame.
(hppa_fix_call_dummy): Call the stack dummy directly if the
current PC is in a shared library.
Jeff Law [Wed, 28 Dec 1994 19:33:08 +0000 (19:33 +0000)]
* hppa-tdep.c (push_dummy_frame): Return type is void. Clear
in_syscall bit in flags. Don't depend on the PC queue registers
when in_syscall is set, they're not valid.
* config/pa/tm-hppa.h (PUSH_DUMMY_FRAME): Pass inf_status down to
push_dummy_frame.
(SR4_REGNUM): Define.
Jeff Law [Tue, 27 Dec 1994 21:52:00 +0000 (21:52 +0000)]
* breakpoint.c (watchpoint_check): Don't bother restoring the
"selected" frame anymore, it's not necessary. Initialize the
frame cache before trying to find the current frame in the frame
chain.
Jim Kingdon [Thu, 22 Dec 1994 00:32:15 +0000 (00:32 +0000)]
* gdb.base/list.exp (test_forward_search): Set timeout higher
when we'll be getting lots of output from gdb.
* gdb.base/a1-selftest.exp: Move code that was inside expect -re
"init_malloc" to after the expect statement. Run it if that
regexp is taken, but also for two others which happen if source
cannot be found.
Ian Lance Taylor [Wed, 21 Dec 1994 00:36:26 +0000 (00:36 +0000)]
Patches from [email protected] (Kazumoto Kojima):
* mipsbsd.c (mips_howto_table_ext): Change sizes of memory relocs
apply to from two bytes to four bytes.
* MY(reloc_howto_type_lookup): Handle BFD_RELOC_CTOR.
Ken Raeburn [Tue, 20 Dec 1994 22:42:03 +0000 (22:42 +0000)]
* frags.c (frag_init): Call obstack_begin on `frags'.
* subsegs.c (subsegs_begin): Don't do it here.
* as.c (main): Call frag_init before subsegs_begin.
* frags.c (frag_append_1_char): New function.
* frags.h (frag_append_1_char): Declare it.
(FRAG_APPEND_1_CHAR): Call it. Old definition is commented out for now.
* as.h (struct frag): Added (but commented out) new fields for tracking current
alignment.
(frag_now_fix): Changed macro to function declaration.
* frags.c (frag_now_fix): Define function here.
(frag_new): Use it instead of accessing `frags' directly.
* frags.h (frags): Change comment to indicate it shouldn't be accessed directly.
* subsegs.h (struct frchain): New field frch_obstack, intended to eventually
replace global `frags' obstack.
* subsegs.c (subseg_set_rest): Use frag_now_fix instead of accessing `frags'
directly. Initialize fields of new frchainS explicitly instead of with memset.
* config/obj-coff.c (obj_coff_ln) [!BFD_ASSEMBLER]: Use frag_now_fix.
* config/tc-mips.c (s_loc), config/obj-vms.c (vms_resolve_symbol_redef),
symbols.c (colon): Likewise.
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.