Jim Kingdon [Fri, 8 Oct 1993 20:33:22 +0000 (20:33 +0000)]
* findvar.c, value.h (symbol_read_needs_frame): New function.
* c-exp.y, m2-exp.y: Call it instead of having our own switch on
the symbol's class.
* valops.c (value_of_variable): Use symbol_read_needs_frame to
decide whether we care about finding a frame.
* config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to
hold register masks.
(md_begin): Initialize them to zero.
(append_insn): Update mips_gprmask and mips_cprmask. Also add
register variables pinfo and prev_pinfo.
* config/tc-mips.h (mips_gprmask, mips_cprmask): Declare.
* config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask
and cprmask from mips_gprmask and mips_cprmask.
* config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF.
* config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF.
(various): Change all references to GP references to apply if
GPOPT, not if OBJ_ECOFF.
(s_change_sec): Rearrange somewhat. If OBJ_ELF, use .rodata
instead of .rdata. If OBJ_ELF, set section flags for .rodata and
.sdata sections.
(s_frame, s_loc, s_mask): Comment out entire functions, rather
than just body. They're not used anyhow.
* configure.in: Set cpu_type to mips for mips*. Accept
mips-*-elfl* and mips-*-elf*.
* compile.c (sim_set_pc): Write to the pc direcly.
(sim_store_register): Now value is passed by reference. (sim_read,
sim_write): Return number of bytes copied.
* h8300-tdep.c (sim_load, sim_kill, sim_open, sim_set_args):
New functions.
* infrun.c (normal_stop): Don't try and set the pc in the current
frame coredump if there isn't one.
* remote-sim.c (gdbsim_store_register): Don't
SWAP_TARGET_AND_HOST, sim_store_register takes bytes in raw order.
(gdbsim_wait): Set status with WSETSTOP.
* config/h8300/tm-h8300.h (sr_get_debug): Define
Jim Kingdon [Thu, 7 Oct 1993 21:33:37 +0000 (21:33 +0000)]
* gdb.texinfo (Signaling): Update for symbolic symbol names
and add a section explaining the difference between the GDB
signal command and the shell kill utility.
Jim Kingdon [Thu, 7 Oct 1993 20:13:08 +0000 (20:13 +0000)]
New Mach stuff:
* config/i386/i386mach.c: Explain this is for the old (probably
non-functional and/or obsolete) Mach stuff.
* m3-nat.c, config/nm-m3.h,
i386m3-nat.c, mipsm3-nat.c, ns32km3-nat.c,
config/i386/{i386m3.mh,i386m3.mt,tm-i386m3.h,xm-i386m3.h},
config/i386/{i386mk.mh,i386mk.mt,tm-i386mk.h,xm-i386mk.h},
config/mips/{mipsm3.mh,mipsm3.mt,tm-mipsm3.h,xm-mipsm3.h},
config/ns32k/{ns32km3.mh,ns32km3.mt,tm-ns32km3.h,xm-ns32km3.h}:
New files.
Make support for relaxing more generic.
* reloc16.c: Add new target entry - bfd_coff_reloc16_estimate,
fix bit rot.
* libcoff.h, libcoff-in.h: declarations. Prototypes
* coffcode.h (bfd_coff_std_swap_table): Add calls to
coff_reloc_16_extra_cases and coff_reloc16_estimate.
(dummy_reloc16_estimate): New function.
* coff-h8300.c (h8300_reloc16_estimate): New function
Jim Kingdon [Thu, 7 Oct 1993 18:40:39 +0000 (18:40 +0000)]
* blockframe.c (find_pc_partial_function): If we call
PSYMTAB_TO_SYMTAB, call target_terminal_ours_for_output first.
This is needed now that wait_for_inferior passes in endaddr.
* infrun.c: Move call to target_terminal_inferior from proceed
to resume.
Ken Raeburn [Thu, 7 Oct 1993 18:34:59 +0000 (18:34 +0000)]
elfcode.h (EALIGN): Define, dependent on ARCH_SIZE.
(align_file_position): New function.
(elf_locate_sh): Disabled function deleted.
(assign_file_positions_for_symtab_and_strtabs): Align position, then place
symtab, then do other sections.
(map_program_segments): Align program header.
(assign_file_positions_except_relocs): Align section headers.
(assign_file_positions_for_relocs): Align relocation sections.
Stu Grossman [Thu, 7 Oct 1993 16:42:08 +0000 (16:42 +0000)]
* blockframe.c (find_pc_partial_function): Fix handling for PCs
beyond the end of the last function in an objfile.
* coff-solib.c (coff_solib_add): Use BFD to get fields from .lib
section.
* infrun.c (wait_for_inferior): Modify test for subroutine entry
to include pc out of bounds of the previous function.
* remote.c (remote_wait): Use strtoul for parsing 'N' message.
Add code to relocate symfile_objfile->sections.
Jim Kingdon [Thu, 7 Oct 1993 11:16:35 +0000 (11:16 +0000)]
* breakpoint.c, breakpoint.h (breakpoint_init_inferior): New function
that clears the `inserted' flag for all breakpoints and deletes
any breakpoints which should go away between runs of programs.
* inflow.c (generic_mourn_inferior), infrun.c (init_wait_for_inferior),
remote-es.c (es1800_load), comments in exec.c and corelow.c:
Use it instead of mark_breakpoints_out.
* breakpoint.c (mark_breakpoints_out): Update comment, tm-rs6000.h
uses it in a completely different context.
* breakpoint.c (breakpoint_re_set_one): Add bp_call_dummy case.
Jim Kingdon [Thu, 7 Oct 1993 11:03:35 +0000 (11:03 +0000)]
* Makefile.in (REGEX, REGEX1): Always use our own version of
regex.c to be consistent across hosts.
* source.c (_initialize_source): Initialize regex to use grep
style syntax as an approximation to POSIX basic regex syntax.
Jim Kingdon [Wed, 6 Oct 1993 21:48:39 +0000 (21:48 +0000)]
* hppa-tdep.c (frame_chain): Rework so that it correctly
handles boundaries where code with a frame pointer calls code
without a frame pointer.
(dig_fp_from_stack): New function.
Jim Kingdon [Wed, 6 Oct 1993 20:17:56 +0000 (20:17 +0000)]
* hppa-tdep.c (frame_chain): Rework so that it correctly
handles boundaries where code with a frame pointer calls code
without a frame pointer.
(dig_fp_from_stack): New function.
Changes to let cons handle bignums like general expressions.
* expr.h (expressionS): New field X_unsigned.
* expr.c (operand): Initialize X_unsigned to 1. Set it to 0 for
unary minus case.
(expr) Fix typo resultP to right if missing operand. Set
X_unsigned to 1 when building new expression.
* read.c (potable): Make "octa" and "quad" call cons, not
big_cons.
(cons): Handle bignums. If given an O_constant (small integer) to
fill a big space, turn it into a bignum.
(parse_bitfield_cons): Set X_unsigned field.
(bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons):
Removed.
* read.h (big_cons): Remove prototype.
* symbols.c (resolve_symbol_value): Don't give a warning if a
symbol in expr_section can not be resolved.
(S_SET_VALUE): Clear X_unsigned.
* write.c (write_object_file): If resolve_symbol_value failed on a
symbol we are writing out, give a warning.
* config/tc-h8500.c (parse_reglist): Set X_unsigned.
* config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to
call pa_cons, not pa_big_cons.
(pa_big_cons): Remove.
* config/tc-hppa.h (pa_big_cons): Remove declaration.
* config/tc-i960.c (md_pseudo_table): Change "quad" to call cons,
not big_cons.
Jim Kingdon [Tue, 5 Oct 1993 21:25:10 +0000 (21:25 +0000)]
* Makefile.in (install, uninstall): Remove $$n.1 stuff; I don't
understand what it is trying to do, but I suspect it's not doing
it.
* config/ns32k/merlin.mh: Add comment about M_INSTALL.
* config/m88k/{delta88.mh,delta88v4.mh}: Remove M_INSTALL and
M_UNINSTALL; it tries to install a non-existent file gdb.z.
* Makefile.in: Remove M_INSTALL stuff; the above were the only uses.
Peter Schauer [Tue, 5 Oct 1993 19:44:57 +0000 (19:44 +0000)]
Changes to support alpha OSF/1 in native mode.
* alpha-nat.c, alpha-tdep.c, config/alpha/alpha-osf1.mt,
config/alpha/nm-alpha.h, config/alpha/tm-alpha.h, osfsolib.c:
New files.
* Makefile.in: Add new files and dependencies.
* configure.in: Add alpha target.
* config/alpha/alpha-osf1.mh (NATDEPFILES): Add osfsolib.o
* config/alpha/alpha-osf1.mh (MH_CFLAGS): Remove, we can handle
shared libraries now.
* config/alpha/xm-alpha.h: Cleanup, get MAKEVA_* defines right.
* defs.h (CORE_ADDR): Make its type overridable via CORE_ADDR_TYPE,
provide `unsigned int' default.
* breakpoint.c (breakpoint_auto_delete): Delete only if we really
stopped for the breakpoint.
* stabsread.c, stabsread.h (define_symbol): Change valu parameter
to a CORE_ADDR.
* stabsread.c (read_range_type): Handle the case where the lower
bound overflows and the upper doesn't and the range is legal.
* infrun.c (resume): Do not step a breakpoint instruction if
CANNOT_STEP_BREAKPOINT is defined.
* inferior.h (CALL_DUMMY_LOCATION): New variant AT_ENTRY_POINT.
Now that we have the bp_call_dummy breakpoint the call dummy code
is no longer needed. PUSH_DUMMY_FRAME, PUSH_ARGUMENTS and
FIX_CALL_DUMMY can be used to set up everything for the dummy.
The breakpoint for the dummy is set at the entry point and thats it.
* blockframe.c (inside_entry_file, inside_entry_func): Do not stop
backtraces if pc is in the call dummy at the entry point.
* infcmd.c (run_stack_dummy): Handle AT_ENTRY_POINT case. Use
the expected breakpoint pc when setting up the frame for
set_momentary_breakpoint.
* symfile.c (entry_point_address): New function for AT_ENTRY_POINT
support.
* valops.c (call_function_by_hand): Handle AT_ENTRY_POINT case.
Peter Schauer [Tue, 5 Oct 1993 19:32:46 +0000 (19:32 +0000)]
* gdb.stabs/alpha.mt: New configuration file for alpha.
* gdb.stabs/configure.in: Use it.
* gdb.stabs/ecoff.mt, weird-ecoff.sed: Change sed script to enable
sharing with alpha.mt, redefine long to word via preprocessor.
* gdb.stabs/weird.def: Conditionally adapt storage layout of v_comb
for alpha.
* gdb.stabs/weird.exp: Handle compilation of weird.s by alpha
native cc.
* gdb.t00/teststrategy.exp: Change expect string so that we
consume the `(xgdb)' from the command echo and from the gdb prompt.
* gdb.t05/expr.exp: xfail "print unsigned int == (~0)" on the alpha.
gdb currently compares all values as long, so this failure probably
applies to any configuration where LONGEST is bigger than a target int.
* gdb.t08/comp-info.c: New file to determine if gdbme is compiled
with gcc.
* gdb.t08/Makefile.in, opaque.exp: Use it. Alpha native cc is unable
to handle opaque pointers, gcc is.
* gdb.t21/gdbme.cc, gdb.t23/gdbme.cc: operator new takes a size_t
as first argument. Include <sys/types.h> and change all operator
new definitions to use size_t.
* gdb.t21/cplusfuncs.exp: Handle changes in output for operator new
now that we use size_t.
Jim Kingdon [Tue, 5 Oct 1993 17:46:28 +0000 (17:46 +0000)]
* configure.host: Recognize hppa*-*-hiux* (currently synonym for hpux).
Change other hppa entries to use -*- not -hp-.
* config.bfd: Recognize hppa*-*-hiux* (currently synonym for hpux).
David D. Zuhn [Mon, 4 Oct 1993 23:19:25 +0000 (23:19 +0000)]
* configure.in: default to '--with-gnu-as' and '--with-gnu-ld'
if gas and ld are in the source tree and are in ${configdirs}.
If ${use_gnu_as} or ${use_gnu_ld} are 'no', then don't set the
the --with options (but still pass them down on the command line,
if they were explicitly specified).
* configure: substitute SHELL value in Makefile.in with
${CONFIG_SHELL}
Ken Raeburn [Mon, 4 Oct 1993 20:17:30 +0000 (20:17 +0000)]
configure.in: Alphabetize list of cpu type alternatives. Enable OS values of
"linux*elf*" and "linux*coff*" to select those formats, with linux emulation.
Don't bother checking for upper- or mixed-case versions of "ose".
Jim Kingdon [Sun, 3 Oct 1993 00:39:42 +0000 (00:39 +0000)]
* config/mips/news-mips.mh: Remove coredep.o; mips-nat.o does it.
* config/mips/news-mips.mh: Define NAT_FILE not NM_FILE.
* config/mips/nm-news-mips.h: Include mips/nm-mips.h not nm-mips.h.
Jim Kingdon [Sat, 2 Oct 1993 21:07:50 +0000 (21:07 +0000)]
* m88k-nat.c (store_inferior_registers): When writing all registers,
don't try to write EXIP_REGNUM or ENIP_REGNUM (not needed for this
case, and they cause trouble).
Jim Kingdon [Sat, 2 Oct 1993 20:55:34 +0000 (20:55 +0000)]
* TODO: Don't suggest doing fast watchpoints by stepping a line
at a time. That would be really hairy and still not fast enough.
Do suggest debug registers and page table diddling.
Jim Kingdon [Fri, 1 Oct 1993 20:48:14 +0000 (20:48 +0000)]
* printcmd.c (do_examine): Make meaning of 'h', 'w', and 'g' not
depend on builtin_type_*. Instead, it is always 2, 4, and 8 bytes
like the documentation says.
* printcmd.c (decode_format) [CC_HAS_LONG_LONG]: Remove 'l' as
synonym for 'g'. This was never documented, it shouldn't depend on
CC_HAS_LONG_LONG, and I don't see what's wrong with 'g'.
Rob Savoye [Fri, 1 Oct 1993 01:28:55 +0000 (01:28 +0000)]
* ldlang.c (lang_add_input_file): If it's a library brought in by
INPUT(), then change the file type to lang_input_file_is_l_enum.
* ldgram.y: In input_list, change lang_input_file_is_file_enum to
lang_input_file_is_search_file_enum so objects brought in using
INPUT() do a path lookup.
Ken Raeburn [Thu, 30 Sep 1993 21:54:49 +0000 (21:54 +0000)]
reloc.c (bfd_reloc_code_type): Add linkage-table relative reloc of size 8, 16,
32. Sort generic relocs by type, not size. Added a little documentation too.
Jim Kingdon [Thu, 30 Sep 1993 21:42:23 +0000 (21:42 +0000)]
* inflow.c (generic_mourn_inferior): Call reinit_frame_cache
instead of doing it ourself.
* blockframe.c (reinit_frame_cache): Use code which was in
generic_mourn_inferior so we can use this function even when
we have switched targets.
* corelow.c (core_detach): Call reinit_frame_cache.
* target.c (target_detach): Don't call generic_mourn_inferior
(revert yesterday's change, now handled by core_detach).
* objfiles.c (free_objfile): Detach any core file if we call
SOLIB_CLEAR. #include target.h.
Jim Kingdon [Thu, 30 Sep 1993 20:41:17 +0000 (20:41 +0000)]
* fork-child.c (fork_inferior): Don't call target_terminal_init
and target_terminal_inferior until we are sure that the inferior
has called gdb_setpgid. This fixes PR 2900 (Schauer tracked it
down and was able to reliably reproduce it by putting a sleep()
before the gdb_setpgid()).
Peter Schauer [Thu, 30 Sep 1993 19:06:33 +0000 (19:06 +0000)]
* c-exp.y, m2-exp.y: Change type of address for msymbol to
builtin_type_long.
* infptrace.c (fetch_register, store_inferior_register,
child_xfer_memory): Use PTRACE_XFER_TYPE for the type of ptrace
transfers. Provide an `int' default for PTRACE_XFER_TYPE.