* sparc-tdep.c (in_solib_trampoline), symfile.c (find_pc_section):
ifdef protect using BAD_RICH_HACK. This should be removed soon.
* config/sparc/tm-sun4sol2.h (BAD_RICH_HACK): define.
* build-all.mk: If host not specified, use config.guess. Pass TAG
to test-build.mk as RELEASE_TAG.
* test-build.mk (configargs): New variable containing arguments to
pass to configure. Set to -with-gnu-as on mips-dec-ultrix.
(FLAGS_TO_PASS): Pass down RELEASE_TAG.
* config.guess: Use /bin/uname when checking -X argument on SCO,
to avoid invoking GNU uname which doesn't understand -X.
Peter Schauer [Thu, 1 Apr 1993 17:43:42 +0000 (17:43 +0000)]
* breakpoint.c (bpstat_print, bpstat_stop_status): Change to walk the
entire breakpoint chain and print only the first entry that needs to
be printed and needs to be stopped for. Fixes problems with printing
of multiple breakpoints with different conditions.
* breakpoint.c (print_it_done): Renamed from print_it_noop as it
effectively stops printing of the breakpoint chain.
* breakpoint.c (print_it_noop): New routine to print nothing
for this breakpoint entry and dont stop printing.
* breakpoint.c (breakpoint_re_set_one): mention the reevaluated
watchpoint only if it is enabled.
* mipsread.c (parse_procedure): Correct incorrect setjmp procedure
descriptor from the library to make backtraces through setjmp work.
* mipsread.c (fixup_sigtramp): Correct pcreg and fregoffset for
sigtramp.
* mips-tdep.c (read_next_frame_reg): Provide correct values for
all registers saved within sigtramp, cleanup.
* h8500-dis.c, i386-dis.c, m68k-dis.c, z8k-dis.c (fetch_data):
deliberately return non-zero to setjmp from longjmp. Otherwise
this code fails to compile.
* subsegs.c (subseg_new): Set output_section of new section.
* as.c (perform_an_assemly_pass): Don't set output_section here.
* expr.c (expr_part, expr): Turn off section assertions for ECOFF,
since it has additional sections.
* read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
not bss_section.
* config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
ecoff_undefined field.
* config/obj-ecoff.c (obj_symbol_new_hook): Initialize
ecoff_undefined field.
(add_file): If using stabs, just output a stabs symbol rather than
creating a new fdr.
(obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
it with get_absolute_expression, rather than skipping it by hand.
(obj_ecoff_loc): If using stabs, just output a stabs symbol rather
than ECOFF line number information.
(obj_ecoff_stab): Accept non-zero values for stabs line number.
(ecoff_build_symbols): Set ifilesym correctly. Set storage class
to small, undefined and/or readonly sections if appropriate.
Don't output symbol names containing \001 characters.
(ecoff_frob_file): Make sure at least one fdr is output.
* config/tc-mips.h: Define TC_MIPS.
* config/tc-mips.c (g_switch_value): New static variable.
(md_assemble): Set gp size of output BFD.
(gp_reference): New function; returns 1 if expression can be
accesssed via gp. Always returns 0 if not using ECOFF.
(macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
possible.
(macro): Generate sequences using gp if possible.
(md_parse_option): Ignore -EL and -EB. Parse -G.
(md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
(s_change_sec): Handle .rdata and .sdata for ECOFF.
(s_extern): Mark symbol as external. Set ecoff_undefined field.
Teach sparc solaris to next over shared library functions.
* solib.[hc] (find_pc_section_from_so_list): new function and
prototype.
* sparc-tdep.c (in_solib_trampoline): new function.
* symfile.[hc] (find_pc_section): new function and prototypes.
* target.[hc] (find_pc_section_from_targets): new function and
prototypes.
* config/sparc/tm-sun4sol2.h (IN_SOLIB_TRAMPOLINE): redefine to
in_solib_trampoline.
Roland Pesch [Tue, 30 Mar 1993 23:25:03 +0000 (23:25 +0000)]
ld.texinfo:
Conditionalize manual to maintain Cygnus, Hitachi versions in parallel.
(Texinfo conditionals are stable enough to permit this, at last!)
NOTE: @ignore'd passages from earlier versions DELETED; use CVS history
to retrieve if wanted.
Jim Kingdon [Tue, 30 Mar 1993 18:55:20 +0000 (18:55 +0000)]
* breakpoint.h (bpstat): New field print_it.
breakpoint.c (bpstat_print): Use it.
(print_it_normal): New function (from old bpstat_print code).
(bpstat_{alloc,stop_status}): Set print_it field.
* breakpoint.c (bpstat_stop_status): Use catch_errors when
evaluating watchpoint condition, via new function watchpoint_check.
Also stop if watchpoint disabled due to leaving its block.
* ldindr.c (add_indirect): Keep more information in the alias
symbol chain.
* ldlang.c (wild_doit): Don't inherit NEVER_LOAD section
attribute from an input section.
* ldmain.c (Q_enter_file_symbols): Common section is NEVER_LOAD by
default. (Q_enter_file_symbos): Indirect symbols now are known by
their section, not a special symbol flag.
* ldsym.c (write_file_locals): Indirect symbols aren't local.
(write_file_globals): Write the mapping for an indirect symbol.
* relax.c (build_it): When forced to write a NEVER_LOAD section,
fill it with zeros.
* aoutx.h (translate_from_native_sym_flags): Now handles indirect
symbols in a better way. (translate_to_native_sym_flag): Set the
N_INDR bit when necessary. (aout<>slurp_symbol_table): Maintain
indirect state.
* section.c: Added BFD_IND_SECTION_NAME and bfd_ind_section.
(bfd_make_section): Cope with new builtin section.
* syms.c (bfd_decode_symclass): Can now print indirect section
info.
Fred Fish [Tue, 30 Mar 1993 01:49:04 +0000 (01:49 +0000)]
* Makefile.in (clean, distclean, realclean): Recursively apply
to subdirs first, rather than last. This avoids, for example,
Makefile being removed in a parent directory before the recursive
make is run.
Jim Kingdon [Mon, 29 Mar 1993 22:25:59 +0000 (22:25 +0000)]
* xcoffread.c (sort_syms, compare_symbols): Remove.
(xcoff_symfile_read): Use sort_all_symtab_syms from symfile.c
not our own sort_syms (it is identical).
* config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
wasn't being stored into scnhdr.
* config/obj-coffbfd.h: Add prototype of s_get_segment.
* read.c (TC_START_LABEL): Default definition.
(read_a_source_file): Use TC_START_LABEL macro to work out
if a label has been seen.
Ian Lance Taylor [Mon, 29 Mar 1993 21:49:44 +0000 (21:49 +0000)]
* configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
the bottom (make expands variables in dependencies when the
dependencies are read, not when they are used).
Ken Raeburn [Mon, 29 Mar 1993 21:20:04 +0000 (21:20 +0000)]
(big_cons): If target_big_endian, reverse bytes being copied. (Temporary
fix -- should be cleaned up later.)
(s_ignore): Delete declaration of is_end_of_line.
(potable): Change .app-file to .appfile.
Peter Schauer [Sun, 28 Mar 1993 19:28:26 +0000 (19:28 +0000)]
* breakpoint.c (breakpoint_re_set_one): Fix storage leak.
* breakpoint.c (enable_breakpoint): Don't enable watchpoint if it
went out of scope.
* exec.c (exec_close): Fix storage leak.
* exec.c (exec_file_command): Make sure that bfd doesn't realign the
output sections when patching an executable.
* mips-nat.c (store_inferior_registers): Use REGISTER_PTRACE_ADDR
when writing all registers.
* mips-tdep.c (mips_push_dummy_frame): Save floating point registers
at the right offset in the dummy frame.
* mipsread.c (psymtab_to_symtab_1): Do not complain for stProc,
stStaticProc and stEnd symbols as they are generated by gcc-2.x.
* mipsread.c (mipscoff_new_init): Initialize stabsread and buildsym.
Roland Pesch [Sat, 27 Mar 1993 01:32:11 +0000 (01:32 +0000)]
1. Update conditional markup:
(a) to make H8 configuration come out right (first attempt since
conversion to texinfo conditionals);
(b) to exploit yesterday's makeinfo bugfix, using conditionals in menus
rather than multiple alternative menus.
2. Update H8 text to refer to H8/500 as well as H8/300.
3. Define config file gdb-config.texi as a link in Makefile, based on a
DOC_CONFIG variable.
Fred Fish [Thu, 25 Mar 1993 23:22:52 +0000 (23:22 +0000)]
List the known things that are currently sanitized away. (Sanitize
should support a separate list of these things and report them
differently from unknown things that are sanitized away).
Stu Grossman [Thu, 25 Mar 1993 23:15:31 +0000 (23:15 +0000)]
* findvar.c (read_register, write_register): Make these capable
of reading/writing registers that are shorter than REGISTER_TYPE.
* (value_from_register): Install H8500 specific code to return
proper value when register is being used as a pointer.
* h8500-tdep.c: Remove extra defines of NUM_REGS.
(h8500_skip_prologue): Use correct lengths for LINK instructions.
(FRAME_CHAIN): Change name to h8500_frame_chain. Rewrite code to
chain frames properly by combining frame pointer with T reg.
(init_extra_frame_info): Delete. It's now a macro.
(frame_args_address): Don't add PTR_SIZE. Stack args are already
offset by the correct amount off of the frame pointer.
(register_byte): Delete. It's now a macro.
(register_raw_size, register_virtual_size): Delete. Replaced by
common routine h8500_register_size, cuz there's no difference
between the raw & virtual sizes on this machine.
(register_convert_to_raw, register_convert_to_virtual): Delete,
cuz there's no difference between the raw & virtual forms.
Replaced by memcpy in tm file.
(register_virtual_type): Rename to h8500_register_virtual_type.
Get rid of pointer pseudo-regs, use _REGNUM with all reg names.
(_initialize_h8500_tdep): Get rid of crock to ensure that GDB &
emulator have same reg offsets. This is all handled in the
simulator code now.
(h8500_trapped_internalvar): New routine to detect references to
convenience vars acting as pointer pseudo-regs.
(h8500_value_trapped_internalvar): Conjure up value of pointer
pseudo-regs.
(h8500_set_trapped_internalvar): Convert set value in real
register references.
infcmd.c (read_pc, write_pc): Add h8500 specific code to handle
code segment register.
infrun.c (proceed): Simplify. Call write_pc instead of doing it
by hand.
(wait_for_inferior): Add h8500 specific code to add stack segment
when reading SP register.
remote-sim.c (fetch_register): Spacing.
tm-h8500.h: #define GDB_TARGET_IS_H8500 to make it easier to
detect cruft. Redo all register manipulation stuff. Get rid of
pointer pseudo-regs. (INIT_EXTRA_FRAME_INFO): Adds stack segment
to frame pointer. (IS_TRAPPED_INTERNALVAL,
VALUE_OF_TRAPPED_INTERNALVAR, SET_TRAPPED_INTERNALVAR): Use these
to create internal vars for pointer pseudo-regs.
Fred Fish [Thu, 25 Mar 1993 23:08:24 +0000 (23:08 +0000)]
* alldeps.mak, configure.in, i860-break.h, i860-opcode.h,
i860-pinsn.c, i860-tdep.c, config/i860/*: Remove incomplete i860
support that can't be integrated anyway due to lack of clear
authorship.
Stu Grossman [Thu, 25 Mar 1993 22:34:26 +0000 (22:34 +0000)]
* findvar.c (read_register, write_register): Make these capable
of reading/writing registers that are shorter than REGISTER_TYPE.
* (value_from_register): Install H8500 specific code to return
proper value when register is being used as a pointer.
* h8500-tdep.c: Remove extra defines of NUM_REGS.
(h8500_skip_prologue): Use correct lengths for LINK instructions.
(FRAME_CHAIN): Change name to h8500_frame_chain. Rewrite code to
chain frames properly by combining frame pointer with T reg.
(init_extra_frame_info): Delete. It's now a macro.
(frame_args_address): Don't add PTR_SIZE. Stack args are already
offset by the correct amount off of the frame pointer.
(register_byte): Delete. It's now a macro.
(register_raw_size, register_virtual_size): Delete. Replaced by
common routine h8500_register_size, cuz there's no difference
between the raw & virtual sizes on this machine.
(register_convert_to_raw, register_convert_to_virtual): Delete,
cuz there's no difference between the raw & virtual forms.
Replaced by memcpy in tm file.
(register_virtual_type): Rename to h8500_register_virtual_type.
Get rid of pointer pseudo-regs, use _REGNUM with all reg names.
(_initialize_h8500_tdep): Get rid of crock to ensure that GDB &
emulator have same reg offsets. This is all handled in the
simulator code now.
(h8500_trapped_internalvar): New routine to detect references to
convenience vars acting as pointer pseudo-regs.
(h8500_value_trapped_internalvar): Conjure up value of pointer
pseudo-regs.
(h8500_set_trapped_internalvar): Convert set value in real
register references.
infcmd.c (read_pc, write_pc): Add h8500 specific code to handle
code segment register.
infrun.c (proceed): Simplify. Call write_pc instead of doing it
by hand.
(wait_for_inferior): Add h8500 specific code to add stack segment
when reading SP register.
remote-sim.c (fetch_register): Spacing.
tm-h8500.h: #define GDB_TARGET_IS_H8500 to make it easier to
detect cruft. Redo all register manipulation stuff. Get rid of
pointer pseudo-regs. (INIT_EXTRA_FRAME_INFO): Adds stack segment
to frame pointer. (IS_TRAPPED_INTERNALVAL,
VALUE_OF_TRAPPED_INTERNALVAR, SET_TRAPPED_INTERNALVAR): Use these
to create internal vars for pointer pseudo-regs.
Ian Lance Taylor [Thu, 25 Mar 1993 22:09:27 +0000 (22:09 +0000)]
* config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
(fixup_segment): Add a29k special case; the linker is not prepared
to see a segment offset here.
Ian Lance Taylor [Thu, 25 Mar 1993 20:34:44 +0000 (20:34 +0000)]
* config/udi-gdb.exp (gdb_exit): Remove close command.
(gdb_target_udi): New procedure to set the UDI target.
(gdb_start): Don't remove *_soc files. Use gdb_target_udi.
* gdb.t00/default.exp: Added expected failures for a29k-*-udi.
Added waits for prompts after several question responses. Added
some more responses used by a29k-amd-udi-gdb.
* gdb.t01/run.exp, gdb.t06/break.exp: Added a29k-*-udi support:
pass different arguments, restart UDI connection after program
completion.
* gdb.t02/whatis.exp, gdb.t03/ptype.exp, gdb.t07/watchpoint.exp,
gdb.t08/opaque.exp, gdb.t11/list.exp, gdb.t12/scope.exp,
gdb.t15/funcargs.exp, gdb.t16/printcmds.exp, gdb.t20/misc.exp,
gdb.t21/cplusfuncs.exp: Added expected failures for a29k-*-*.
* gdb.t04/setvar.exp, gdb.t05/expr.exp, gdb.t07/watchpoint.exp,
gdb.t08/opaque.exp, gdb.t12/scope.exp, gdb.t13/bitfields.exp,
gdb.t15/funcargs.exp, gdb.t16/printcmds.exp,
gdb.t17/callfuncs.exp, gdb.t20/classes.exp, gdb.t20/inherit.exp,
gdb.t20/misc.exp, gdb.t22/virtfuncs.exp: Restart UDI connection
after program completion.
* gdb.t10/crossload.exp: Does not work for a29k-*-*, since BFD is
compiled with a SELECT_VECS setting.
* gdb.t15/funcargs.exp: Use argument to backtrace to prevent
infinite recursion.
* gdb.t20/classes.exp, gdb.t20/inherit.exp, gdb.t22/virtfuncs.exp:
Added checks for COFF results, and made them expected failures for
all targets. It would be better to make them expected failures
for COFF targets only.
Fred Fish [Thu, 25 Mar 1993 18:18:14 +0000 (18:18 +0000)]
* Makefile.in: Numerous small changes to macro definitions
and rules for building gdb distribution tree. Many macros
eliminated or merged, and rules simplified.
* alldeps.mak: Update.
* depend: Update.