source.c: Use it for "directory" command.
(But '/' is a word break, limiting usefulness; see comments).
* source.c (mod_path): Warning not error if can't find directory.
defined, don't worry about Sun's silly LBRAC bug.
* dbxread.c (process_one_symbol): If there's a symbol before an
N_SO, don't error().
(case N_BCOMM): complain () not error ().
a non-gcc N_OPT symbol is found. Make SUN_FIXED_LBRAC_BUG a macro
which returns 0 or 1 to say whether to do it.
* config/sparc/sun4{sol2,os4}.h
(SUN_FIXED_LBRAC_BUG,VARIABLES_INSIDE_BLOCK): Use n_opt_found so
the right thing happens for both acc and SunOS4 /bin/cc.
* c-valprint.c (c_val_print): For array of chars printed with
string syntax, don't print the address of the array. From
bothner@cygnus.com.
* c-exp.y (yylex): Recognize '.' as indicating a floating point
number regardless of the radix. From wilson@cygnus.com.
* valprint.c (set_input_radix_1, set_output_radix_1): New
prototypes and functions that do the actual radix setting work.
* valprint.c (set_radix, set_output_radix, set_input_radix):
Rewrite to use set_input_radix_1 and set_output_radix_1.
* valprint.c (initialize_valprint): Enable commands to
independently set and show input and output radices.
* valprint.c (show_radix): New prototype and function that
handles separate input and output radices.
BLOCK_ADDRESS_FUNCTION_RELATIVE a macro, make it a variable which
is true if we are doing stabs-in-elf, false otherwise.
config/sparc/tm-sun4sol2.h: Don't define it.
* Makefile.in (BFD_OBJ_DIR): New definition for the bfd build
directory to find automatically generated header files and library.
* Makefile.in (BFD_LIB): Use BFD_OBJ_DIR.
* Makefile.in (LINTFLAGS): Include BFD_OBJ_DIR.
* Makefile.in (saber_gdb): Include BFD_OBJ_DIR.
* Makefile.in (depend): Include BFD_OBJ_DIR in gcc args.
* Makefile.in (paread.o, xcoffexec.o): Remove, now in depend.
* depend, alldeps.mak: Rebuild after Makefile.in changes.
* hppab-nat.c: Eliminate unnecessary ifdefs for
FETCH_INFERIOR_REGISTERS, CANNOT_FETCH_REGISTER, and
CANNOT_STORE_REGISTER.
(fetch_register): Delete code to handle CANNOT_FETCH_REGISTER.
* hppa-pinsn.c: Support 'I', 'J', and 'K' in output
templates for 1.1 FP computational instructions.
but does partial reads, such as reads that bump into the end of
the address space.
* target.h (target_read_memory_partial): Add prototype.
* valprint.c (PRINT_MAX_DEFAULT): New define, initial value 200.
* valprint.c (val_print_string): Complete rewrite to fix bug with
bumping into end of memory, avoiding unnecessarily long reads, and
fixing bug when print_max is set to 0 (unlimited print length).
* valprint.c (_initialize_valprint): Use PRINT_MAX_DEFAULT to
initialize print_max.
single parameter, the pointer to the partial symtab, rather than
a bunch of args that are derived from the partial symtab. Change
prototypes and callers to match.
set demangling style automatically.
* defs.h (CPLUS_MARKER): Clarify comment that this is only for
GNU C++, not C++ in general.
* symtab.h (general_symbol_info): Simplify by eliminating one
structure level for the language dependent info.
* defs.h (memcmp): Add decl for memcmp to #ifndef MEM_FNS_DECLARED.
* findvar.c (write_register): See if we are writing back the same
value that's already in the register. If so, don't bother.
* remote.c (putpkt, getpkt): Improve handling of communication
problems.
* ser-go32.c: Prototype it to death. Update serial_ops and add
dummy routines where appropriate.
* ser-tcp.c: New module to implement serial I/O via TCP
connections.
* ser-unix.c: Clean up getting/setting of tty state. Get rid of
SERIAL_RESTORE, add SERIAL_{GET|SET}_TTY_STATE interfaces.
* serial.c: Add start of support for connect command.
(serial_open): Distinguish between tcp and local devices.
* serial.h (struct serial_ops): Get rid of restore, add
get_tty_state and set_tty_state. Define protoypes and macros for
this mess.
* gdbserver/remote-utils.c: Add tcp support. (readchar): Do
some real buffering. Handle error conditions gracefully.
* gdbserver/remote-inflow-sparc.c: Update to remote-inflow.c
(Lynx), remove lots of cruft.
is not a pointer type.
* stabsread.c (define_symbol): Clean up logic; move the read_type
calls to inside the switch statement (this improves the error
handling).
(identify_source_line), callers: Take pc as argument, rather than
assuming innermost frame (emacs doesn't use this, so no one ever
noticed).
* symtab.h: Declare frame_file_full_name.
* main.c: Don't.
read_type_number static.
(define_symbol): Don't try to deal with a missing symbol
descriptor which isn't followed by digit, '(', or '-'.
* stabsread.h: Don't declare read_type_number here.
* gdbtypes.h: Don't declare error_type here.
* xcoffread.c: Remove NO_TYPEDEFS code.
support it.
* config/i386/go32.mh: Define SER_HARDWIRE.
* Makefile.in: Define SER_HARDWIRE.
(DEPFILES): Use it.
(alldeps.mak): Add SER_HARDWIRE.
Remove all references to ser-hardwire.{c,o}.
* configure.in: Remove all ser_hardwire and gdb_serial_driver stuff.
inferior_fp_registers by reading them from the inferior before
modifying and writing them back.
Fixes unexplainable inferior FP exceptions after calls to the inferior
or setting of floating point registers.
* mips-tdep.c (mips_skip_prologue): Skip move of argument register
to register which is generated by gcc-2.4.
(define_symbol): Use read_type for type of enum constant,
not just read_type_number. Also don't call error().
(define_symbol): For unrecognized constant type, one complaint (the
one from error_type) is enough. Don't make our own in addition.
(define_symbol): Don't treat an N_FUN 'R' as a prototype.
* gdbtypes.h: Doc fixes.
Paul Flinders <ptf@delcam.co.uk>.
* mipsread.c (fixup_sigtramp): Find _sigtramp on Irix even when the
executable uses sigvec.
* mips-tdep.c (read_next_frame_reg): Allow tm-file to override
sigcontext offsets.
* config/mips/tm-irix3.h: Add sigcontext offsets for Irix.
the necessary bits.
* findvar.c (value_from_register): Fix uninitialized first_addr
which caused problems with assignment of doubles to register variables
on some targets.
* mipsread.c: Remove TM_FILE_OVERRIDE, include tm.h and provide the
missing mips definitions if necessary.
Fix handling of double register variables for mips targets and big
endian hosts. These patches are from Paul Flinders <ptf@delcam.co.uk>.
* config/mips/tm-mips.h: Increase MAX_REGISTER_{RAW,VIRTUAL}_SIZE to
8 bytes for doubles.
* config/mips/tm-mips.h (REGISTER_CONVERT_TO_TYPE): New macro for
conversion of type held in multiple registers to host format.
* config/mips/tm-mips.h (REGISTER_CONVERT_FROM_TYPE): New macro,
companion to REGISTER_CONVERT_TO_TYPE.
* config/mips/tm-mips.h (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE):
Convert to function calls.
* config/mips/tm-mips.h (FIX_CALL_DUMMY): New code for big endian
mips targets.
* mips-tdep.c (mips_print_register): Raw buffer now needs just
MAX_REGISTER_RAW_SIZE bytes.
* mips-tdep.c (mips_print_register): Use REGISTER_CONVERT_TO_TYPE
(if defined) for doubles.
* mips-tdep.c: (mips_extract_return_value, mips_store_return_value):
New functions, take care of REGISTER_CONVERT_TO/FROM_TYPE.
* valops.c (value_assign): Use REGISTER_CONVERT_TO_TYPE if
defined.
* findvar.c (value_from_register): Use REGISTER_CONVERT_TO_TYPE if
defined.
signal_handler_caller.
* tm-68k.h (FRAME_{CHAIN,SAVED_PC}): Deal with sigtramp.
* tm-hp300bsd.h: Define SIGTRAMP_{START,END} not IN_SIGTRAMP.
* inferior.h (IN_SIGTRAMP): Definition moved from infrun.c.
Use SIGTRAMP_START if defined.
* infcmd.c (step_1): Use SIGTRAMP_{START,END} if needed.
* infrun.c (wait_for_inferior): Check IN_SIGTRAMP before SKIP_PROLOGUE.
if srcdir is not ".".
Also put in -I${BFD_DIR} or -I${READLINE_DIR} for files which need it.
(INCLUDE_CFLAGS): Remove BFD_DIR and READLINE_DIR.
* depend: Update to latest automatically built version.
target_read_memory to "char *".
* breakpoint.c (watchpoint_check): Change arg type from PTR to
"char *", to match other functions called by catch_errors().
* gdb/hppa-tdep.c: Declare frame_saved_pc.
(frameless_function_invocation): New function.
(frame_saved_pc, init_extra_frame_info): Use
frameless_function_invocation.
* gdb/config/tm-hppa.h (SAVED_PC_AFTER_CALL): Use saved_pc_after
call instead of just grabbing the value currently in %r2.
(FRAMELESS_FUNCTION_INVOCATION): Use frameless_function_invocation.
* gdb/config/tm-hppah.h (SAVED_PC_AFTER_CALL): Delete private
definition and use the common one in tm-hppa.h.
* gdb/hppa-pinsn.c (print_insn): Handle 'r' and 'R' for break, rsm,
and ssm instructions.
* gdb/hppa-tdep.c (extract_5r_store, extract_5R_store): New
helper functions for print_insn.
* Makefile.in (INCLUDE_CFLAGS): Add BFD_DIR and READLINE_DIR
directories to include search path.
* Makefile.in (CLIBS, CDEPS, ADD_FILES, ADD_DEPS): Clean up
whitespace.
* Makefile.in (depend): For gcc -MM line, use INTERNAL_CFLAGS
* Makefile.in (main.o, dbxread.o, coffread.o, mipsread.o,
elfread.o, dwarfread.o, stabsread.o, xcoffread.o, xcoffexec.o,
xdr_ld.o, xdr_rdb.o, nindy.o, Onindy.o, ttybreak.o, ttyflush.o,
udr.o, udip2soc.o): Remove explicit rules, use the ones that
are automatically generated in "depend".
* Makefile.in (paread.o): Document why a dependency doesn't get
automatically generated in "depend" and leave this explicit rule
in for now (FIXME).
* depend: Update to latest automatically generated version.
constants with slightly more portable definitions (still depends
on 2's complement arithmetic though).
* config/i386/nm-linux.h: Define NO_SYS_REG_H for no <sys/reg.h>.
* i386v-nat.c (sys/reg.h): Conditionalize include on
NO_SYS_REG_H. Linux doesn't have <sys/reg.h>.
* ser-unix.c (termio.h): Include <termio.h> like other files that
include termio.h, not <sys/termio.h> which may not exist (on
linux for example).
'char' to an 'int'. We can't have 'char' parameters with the
current coding style, where we mix prototypes with pre-ANSI
style declarations.
* value.h (print_longest): Change format parameter in prototype
from a 'char' to an 'int'.
* config/pa/hppabsd.mh: Add more files to NATDEPFILES.
* config/pa/xm-hppa[bh].h: Define FIVE_ARG_PTRACE.
* hppab-nat.c: Delete WANT_NATIVE_TARGET ifdefs.
ptrace needs 5 arguments, #define ptrace to always
pass zero as the 5th argument.
prototype testsuite tree.
* Makefile.in (TAGS): Remove use of DEPFILES, it may be empty.
In any case, it is a subset of the ALLDEPFILES list, which is
part of SOURCES, which is part of TAGFILES, so it's redundant.
when compiling with gcc, but disable it for now. See comment.
* defs.h (LONGEST): Define as either "long" or "long long"
based on CC_HAS_LONG_LONG.
* defs.h (longest_to_int): Use CC_HAS_LONG_LONG to control
how longest_to_int is defined.
* c-valprint.c (c_val_print): Call print_longest.
* expprint.c (dump_expression): Use PRINTF_HAS_LONG_LONG
instead of LONG_LONG.
* {printcmd.c, gdbtypes.h} (LONG_LONG): Replace usages with
CC_HAS_LONG_LONG.
* printcmd.c (print_scalar_formatted): Call print_longest
and let it figure out what to do for PRINTF_HAS_LONG_LONG.
* typeprint.c (print_type_scalar): Call print_longest and let
it figure out what to do for PRINTF_HAS_LONG_LONG.
* valprint.c (val_print_type_code_int): Call print_longest
and let it figure out what to do for PRINTF_HAS_LONG_LONG.
* stabsread.c (LONG_LONG): Replace usages with CC_HAS_LONG_LONG.
* value.h (struct value): Replace usage of LONG_LONG with
CC_HAS_LONG_LONG.
* value.h (print_longest): Add prototype.
* values.c (LONG_LONG): Replace usages with CC_HAS_LONG_LONG.
* values.c (unpack_double): Collapse code that was unnecessarily
dependent on CC_HAS_LONG_LONG. Use LONGEST instead of direct types.
* values.c (value_from_longest): Remove dependency on
CC_HAS_LONG_LONG and just use LONGEST.
* solib.c (solib_map_sections): Use bfd_get_filename
to access filename field.
* solib.c (clear_solib): Save filename and free it later, after
bfd_close, since bfd_close may reference it. Use bfd_get_filename
to access the field.
* config/convex/xm-convex.h (LONG_LONG): Replace with
CC_HAS_LONG_LONG. Add define for PRINTF_HAS_LONG_LONG.
* doc/gdbint.texinfo (LONG_LONG): Replace with CC_HAS_LONG_LONG.
Add PRINTF_HAS_LONG_LONG references.
(_initialize_kernel_u_addr, getpagesize): New functions.
(store_inferior_register_1): Change arg name from value to val.
(fetch_core_registers): Make arg core_reg_size unsigned.
Pass 5 args to ptrace.
* config/m68k/xm-hp300hpux.h: Define FIVE_ARG_PTRACE.
Remove KERNEL_U_ADDR stuff.
* infptrace.c [FIVE_ARG_PTRACE]: Pass 5th arg to ptrace.
* config/m68k/hp300hpux.m{t,h}:
Move exec.o from NATDEPFILES to TDEPFILES
* config/m68k/hp300hpux.mt: Mention GAS requirement. Remove
hp-include stuff. Add m68k-tdep.o to TDEPFILES.
(remote_open): Use unpush_target not remote_close.
(remote_resume): If siggnal != 0, give warning not error().
(remote_wait, remote_interrupt, remote_interrupt_twice):
If we get two interrupts, let the user get out if they want.
(remote_{kill,mourn}): New functions.
i386-stub.c (handle_exception, case 'k'): Don't BREAKPOINT.
representation in C++.
* dbxread.c (end_psymtab): Copy subpst read_symtab function from pst
to get the proper read_symtab function when called from mipsread.c.
* mipsread.c (mipscoff_psymtab_to_symtab, psymtab_to_symtab_1):
Set cur_bfd in psymtab_to_symtab_1 as CURBFD(pst) is invalid
for dummy psymtabs, inhibit processing of dummy psymtabs.
* remote-udi.c (udi_attach): Assignments to Space and Offset were
switched, fix it.
(udi_wait): Make error message (UDIGetStdout) match error.
(udi_wait): Handle UDIStdinNeeded.
* command.c [CANT_FORK]: Use system().
* utils.c (prompt_for_continue): Allow quit with 'q'.
of the PC being in a stack dummy when looking at a core file
without symbols. The other is the incorrect passing of char
arguments during expression evaluation (ie: p foo('a','b') would
mess up the passing of it's args because it wasn't coercing the
char's to ints).
* hppah-tdep.c: Rename global functions to have consistent hppa_
prefix. Make more functions static. Drop hp_ prefix from static
functions. (hppa_push_arguments): Call value_arg_coerce to cast
char to int args if necessary. (hppa_fix_call_dummy): Create
this routine from FIX_CALL_DUMMY macro in tm-hppa.h.
* inferior.h (PC_IN_CALL_DUMMY): Check for frame_address being
valid (ie: != 0) before doing comparison against PC.
* valops.c (call_function_by_hand): Adjust call to FIX_CALL_DUMMY
to reflect new arguments.
* config/pa/tm-hppa.h (POP_FRAME, PUSH_ARGUMENTS): Use new hppa_
prefix for func name. (FIX_CALL_DUMMY): Move code into
hppah-tdep.c.
* testsuite/gdb.t16/gdbme.c, testsuite/gdb.t17/gdbme.c: Add calls
to malloc() so that we can test GDB eval of dynamically created
arrays (like char strings in `print "foo"').
(heuristic_proc_start): use heuristic_fence_post, print better
warnings, but only if not stop_soon_quietly.
(_initialize_mips_tdep): add_set_cmd for heuristic-fence-post.
* symtab.h: Fix LOC_REF_ARG comment.
Wed Apr 22 20:21:30 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
and Jim Kingdon (kingdon@cygnus.com)
* stabsread.c (define_symbol): Combine a 'p', 'r' arg pair to a
LOC_REGPARM symbol.
* config/sparc/tm-sparc.h (REG_STRUCT_HAS_ADDR): Revise comments.
symfile.c (compare_symbols): Don't check first character; STRCMP
does that.
* stabsread.c (define_symbol): Generate a LOC_REGPARM_ADDR for
structures that are passed by address in a register.
* symtab.h (enum address_class): Add LOC_REGPARM_ADDR.
* findvar.c (read_var_value),
printcmd.c (address_info, print_frame_args),
stack.c (print_frame_arg_vars), symmisc.c (print_{,partial_}symbol),
* symtab.c (lookup_block_symbol): Deal with it.
* Makefile.in: Add $(YFLAGS) when using $(YACC).
* Makefile.in: Remove message to expect conflicts and unused
rules in ch-exp.y, since there no longer are any such.
(alldeps.mak): Add "${srcdir}/" to files in alldeps.mak.
(TAGS): Deal with srcdir and new config directory scheme.
createtags: Remove.
Makefile.in (NONSRC): Remove createtags.
alldeps.mak: Updated.
* frame.h (struct frame_info): Doc fix for next_frame.
New field signal_handler_caller.
blockframe.c (create_new_frame, get_prev_frame_info),
config/rs6000/tm-rs6000.h (INIT_EXTRA_FRAME_INFO): Set it (needs
INIT_FRAME_PC_FIRST).
stack.c (print_frame_info), rs6000-tdep.c (rs6000_frame_chain):
Check it.
Irix 4.x, which stores regs a bit differently from other /proc
based systems.
* procfs.c, core-svr4.c: Move fetch_core_registers from procfs.c
to new file core-svr4.c.
* config/i386/i386sol2.mh, config/i386/i386v4.mh, config/m68k/amix.mh,
config/i386/ncr3000.mh, config/sparc/sun4sol2.mh: Add core-svr4.o
to NATDEPFILES.
* config/mips/irix4.mh: Add corelow.o to NATDEPFILES.
we have a current_source_symtab, and s is NULL, return without
doing anything.
xcoffread.c (xcoff_symfile_read): Don't call select_source_symtab.
breakpoint.c (breakpoint_re_set): Don't call select_source_symtab.
member functions to avoid gdb core dumps when printing pointers
to member functions.
* cp-valprint.c (cp_print_class_method): Check for stubbed member
functions.
(putpkt, getpkt): Use new return codes for SERIAL_READCHAR.
* ser-go32.c: Return -1 on most failures, 0 on most successes,
and use new return codes for go32_readchar().
* ser-unix.c: Ditto. Also, move error handling up to caller for
SERIAL_SETBAUDRATE().
* serial.c (serial_open): Internal call, not SERIAL_OPEN to get
to specific routine.
(serial_close): New routine to wrap around device close routine.
serial.h: Clean & document return values more clearly.
(solib_map_sections): Leave bfd open and scratch_pathname allocated.
Put the bfd in bfd field of the so_list.
(clear_solib): Free bfd name and close_bfd on the bfd.
Remove bpstat_momentary_breakpoint. This was always kludgy
and is no longer used.
* breakpoint.h: Add enum bpstat_what.
breakpoint.h (struct bpstat), breakpoint.c (bpstat_stop_status):
stop and print fields of bpstat now per-breakpoint, not just
one for the whole chain.
breakpoint.{c,h} (bpstat_what): New function.
breakpoint.h: Remove bpstat_stop and bpstat_should_print.
infrun.c: Replace switch (stop_bpstat->breakpoint_at->type)
with call to bpstat_what.
README: Remove watchpoint/breakpoint bug from known bugs.
* breakpoint.h: Prototype bpstat_find_breakpoint.
is a C++ destructor.
* symtab.c (gdb_mangle_name): Use it.
* symtab.c (find_methods): Do not add destructors to choice list
for constructors.
* symtab.c (decode_line_1): Make breakpoints on destructors work
for gcc-2.x again.
UNOP_IND, UNOP_CAST, UNOP_ADDR, STRUCOP_STRUCT, OP_TYPE.
* ch-typeprint.c (chill_print_type): Move support
for TYPE_CODE_ARRAY and TYPE_CODE_STRING from here ...
* ch-typeprint.c (chill_type_print_base): ... here.
* ch-typeprint.c (chill_type_print_base): Improve
support for PTR, REF, and FUNC types.
* ch-valprint.c: Prefer H'%x format to 0x%s.
* ch-valprint.c (chill_val_print): Add support for printing
TYPE_CODE_REF (return for LOC parameters and variables).
Use c_val_print to print random types (including ENUM).
* ch-valprint,c (chill_print_value_fields): Make
output look more like Chill tuples.
* stabsread.c (read_struct_type): Factor common code.