restrictions for mips hosts.
* config/mips/{xm-irix3.h, xm-mips.h, xm-news-mips.h, xm-riscos.h}:
Use it.
* mips-tdep.c (init_extra_frame_info): Do not check for
mips_in_lenient_prologue if it is a dummy frame.
`b 123' and `b foo' if foo is a static function.
* symtab.c (decode_line_1, decode_line_2): New argument `canonical'
to return canonical line specs if requested by the caller.
* breakpoint.c, source.c, symtab.c, symtab.h: Change prototypes and
callers accordingly.
* symtab.c (build_canonical_line_spec): New helper function which
constructs the canonical line spec.
* breakpoint.c (break_command_1): Use canonical line spec instead
of command string as addr_string if necessary.
* source.c (line_info): Fix storage leak.
but not the others.
* symm-tdep.c: Remove exec_file_command.
[_SEQUENT_] (ptx_coff_regno_to_gdb, register_addr): New functions.
A few miscellaneous cleanups.
* symm-nat.c: Renamed from symm-xdep.c.
* All symmetry dependent files: Many changes.
but not the others.
* symm-tdep.c: Remove exec_file_command.
[_SEQUENT_] (ptx_coff_regno_to_gdb, register_addr): New functions.
A few miscellaneous cleanups.
* symm-nat.c: Renamed from symm-xdep.c.
* All symmetry dependent files: Many changes.
Use read_memory_nobpt.
(is_delayed, mips_in_lenient_prologue): New functions.
(init_extra_frame_info): If in the prologue, don't use saved registers.
* config/mips/tm-mips.h: Declare mips_skip_prologue.
(find_proc_framesize): Return 0 for linker stubs.
(rp_saved): Tell the caller where rp is saved.
(frame_chain_valid): Return 1 for linker stubs.
(frame_saved_pc): Use return value from rp_saved.
save the indices of the MIPS_EFI_SYMBOL_NAME symbol rather than
looking them up by the names of the functions.
* mipsread.c (mylookup_symbol): Use strcmp, not STREQ, as we have
already checked the first characters.
* printcmd.c (makeva_list): Use MAKEVA_EXTRA_INFO to define
machine dependent fields in the makeva_list structure.
(makeva_size): Allocate extra space to handle gaps made by
alignment restrictions.
* config/pa/xm-pa.h (MAKEVA_EXTRA_INFO): Define.
(MAKEVA_START): Initialize arglist_address field.
(MAKEVA_ARG): Always store arguments on natural alignment
boundaries. Set arglist_address to the address right after
the args.
(MAKEVA_END): Simply return the value stored in arglist_address.
Fri Jun 25 17:02:45 1993 Stu Grossman (grossman at cygnus.com)
* gdbserver/Makefile.in: Add dependancies on server.h.
* gdbserver/remote-gutils.c: Remove lots of unused functions and
variables.
* gdbserver/remote-inflow.c: Remove lots of unused variables and
#includes. Also, use PTRACE_* symbols instead of constants.
(mywait): Surround calls to wait() with enable/disable_async_io()
so that we can be interrupted from GDB while waiting for the
child. Also, handle child exit more gracefully.
* gdbserver/remote-server.c: Remove lots of unused variables.
Move all extern defs into server.h. Redo main loop so that
failure from getpkt() causes communications to be re-established.
Fix 'k' command so that it restarts the child.
* gdbserver/remote-utils.c: Remove lots of unloved vars and
subrs. Move many extern decls into server.h. (remote_open): For
tcp, seperate usage of proto fd from connected fd. Close proto
fd after getting connection. (putpkt/getpkt): Pay attention to
errors when reading/writing. Report these to the caller. New
routines input_interrupt/enable_async_io/disable_async_io to make
it possible to get an I/O interrupt when data arrives from the
comm link.
* serial.h: New file to contain common defs for all remote files.
* stabsread.c (define_symbol): Make the caddr_t hack apply to `function
returning foo' as well as `pointer to foo'.
* remote.c [REMOTE_BREAKPOINT]: Use for breakpoint insn if defined.
* config/m68k/tm-m68k.h: Define it.
* mem-break.c, breakpoint.c: Improve comments.
Tue Jul 13 13:35:31 1993 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
* config/m68k/tm-dpx2.h: Replace "tm-68k.h" with "m68k/tm-m68k.h".
* config/m68k/xm-dpx2.h: Define HAVE_TERMIOS not HAVE_TERMIO.
val.end is in the same function, not minimal symbols.
* source.c (line_info): Add a few more wrap_here's.
* i386-tdep.c (i386_follow_jump): Do byteswapping where needed and
don't make assumptions about sizes of host data types.
* blockframe.c, symtab.h (find_pc_partial_function): New arg endaddr.
* infrun.c, breakpoint.c, printcmd.c: Change callers.
* printcmd.c (containing_function_bounds): Remove.
* printcmd.c (disassemble_command): Use find_pc_partial_function,
not containing_function_bounds.
* infcmd.c (step_1): Use find_pc_partial_function rather than
trying to roll our own. Move check for a pc between SIGTRAMP_START and
SIGTRAMP_END in find_pc_partial_function, not step_1.
Keep unswapped value in array of char, not REGISTER_TYPE.
Use REGISTER_RAW_SIZE not sizeof (REGISTER_TYPE).
(sparc_extract_struct_value_address): Use TARGET_PTR_BIT not
sizeof (CORE_ADDR).
step_resume_break_address with step_resume_breakpoint (now local
to wait_for_inferior).
({insert,remove}_step_breakpoint): Remove.
(wait_for_inferior): Set step resume break with
set_momentary_breakpoint. Test hitting it with bpstat_stop_status
and bpstat_what (stop_step_resume_break removed).
* breakpoint.{h,c}, infrun.c: Return value from bpstat_what now struct
which includes previous return value as main_action, and a step_resume
bit.
* breakpoint.c (delete_breakpoint): If breakpoint was inserted, and
there is another breakpoint there, insert it.
* infrun.c (wait_for_inferior): Rearrange the spaghetti a bit. Use
a few more gotos.
Various: Clean up and add comments.
* h8300-tdep.c (NEXT_PROLOGUE_INSN): Make pword1 an INSN_WORD *
not short *.
* findvar.c, defs.h
({extract,store}_{signed_integer,unsigned_integer,address}):
New routines to replace SWAP_TARGET_AND_HOST.
All over: All uses of SWAP_TARGET_AND_HOST on integers replaced.
({extract,store}_{signed_integer,unsigned_integer,address}):
New routines to replace SWAP_TARGET_AND_HOST.
All over: All uses of SWAP_TARGET_AND_HOST on integers replaced.
Change error message in (another) attempt to make it comprehensible.
* valops.c (call_function_by_hand): Pass name to run_stack_dummy.
* symtab.h: Declare demangle and asm_demangle since macros use them.
config/gould/tmp-{pn,np1}.h,
config/{sparc/tm-sparc.h,pyr/tm-pyr.h,vax/tm-vax.h}: Remove field
next_frame from struct frame_info. It has no purpose beyond
->next->frame and is an artifact from GDB 2.8.
* signals.h: Don't undefine signals anymore.
* main.c: Use job_control from serial.h.
* fork-child.c (fork_inferior): Use gdb_setpgid.
* serial.h, ser-unix.c, ser-go32.c: Provide gdb_setpgid.
* utils.c (quit): Use current_target->to_terminal_ours to figure
out whether we care about lack of job control, rather than __GO32__.
* utils.c: Include serial.h not terminal.h
(quit): Use job_control not TIOCGPGRP.
* terminal.h: Don't undefine TIOCGPGRP.
* serial.h, ser-unix.c, ser-go32.c, ser-tcp.c: Add SERIAL_FLUSH_OUTPUT.
* utils.c (quit): Use it.
* serial.h: Add SERIAL_UN_FDOPEN.
* utils.c (quit): Use it.
* ser-unix.c: Add process group to ttystate.
[HAVE_SGTTY]: Add tchars, ltchars, and lmode to ttystate.
* inflow.c: Include serial.h not terminal.h.
Use serial.h stuff to replace most of the maze of #ifdef's.
* inflow.c, main.c, inferior.h: make gdb_has_a_terminal a function.
* serial.h: Document SERIAL_SET_TTY_STATE as being immediate.
* ser-unix.c: Use TIOCSETN not TIOCSETP so it is true.
* serial.h, ser-unix.c, ser-go32.c, ser-tcp.c:
Add SERIAL_PRINT_TTY_STATE, SERIAL_NOFLUSH_SET_TTY_STATE, and
SERIAL_SET_PROCESS_GROUP.
* inflow.c: Use them.
* config/xm-svr4.h, config/rs6000/xm-rs6000.h, config/sparc/sun4os4.h:
Define HAVE_TERMIOS.
* Various: Remove all use of TIOC*_BROKEN.
a function to avoid printing of function arguments in wrong order
due to sorting.
* symfile.c (compare_symbols): Remove code for sorting arguments
as blocks containing arguments are no longer sorted.
* symtab.c (lookup_block_symbol): Update comment accordingly.
clarification. Also add prototypes for some new functions.
* (remote_wait): Better error reporting for 'T' responses.
* ser-go32.c (strncasecmp): Make str1 & str2 be const.
* (dos_async_init): Make usage message reflect requested port #.
* ser-tcp.c (tcp_open): Terminate hostname properly to prevent
random hostname lookup failures. Add nicer message for unknown
host error. (wait_for): Wake up in case of exceptions. Also,
restart select() if we got EINTR.
* ser-unix.c (wait_for): Restart select() if we got EINTR.
* serial.c: (serial_close): Clean up code.
Make comment explaining this comprehensible.
(TAGFILES): Include ALLDEPFILES.
(ALLDEPFILES): udi2soc.c and udr.c are in 29k-share/udi, not
29k-share/udi/udi.
(update-alldeps): Remove; obsolete.
* NEWS: Mention filename completion and "info line" enhancements.
* main.c (symbol_completion_function): On "info t foo", return NULL,
don't error().
* main.c (symbol_completion_function): Don't use readline word
breaking. Use new calling convention for c->completer and
complete_on_cmdlist.
* command.h (struct command): Change arguments; now the text passed
to completer does not have any word breaking done. New arg word.
* symtab.{c,h} (make_symbol_completion_list): Do word breaking. Take
word argument.
* {main.c,gdbcmd.h} ({filename,noop}_completer): Take word argument.
* command.{c,h} (complete_on_cmdlist): Take word argument.
* command.c (lookup_cmd_1): Doc fix.
* Makefile.in (HFILES): Include monitor.h.
* Makefile.in: Include text that used to be in alldeps.mak.
Remove config/mips/{bigmips.mh,xm-bigmips} from it.
* Makefile.in, configure.in: Remove all traces of alldeps.mak.
per standards.texi.
New option --version per standards.texi.
In help message, show long options with "--" not "-".
Don't try to print help message or version until after we have
called initialize_all_files.
* configure.in: Use them.
* alldeps.mak: List them.
* coffread.c (decode_base_type): Deal with anonymous enum type.
* i387-tdep.c (print_387_status_word): Add comment re "top".
* i386-tdep.c [I386_AIX_TARGET] (i386_extract_return_value): New func.
* dbxread.c: Use SEEK_SET and SEEK_CUR, not L_*. Define them if and
only if not defined by a header file.
* mipsread.c: Don't define L_SET or L_INCR.
${srcdir}/../include.
* config/m88k/xm-delta88.h: Comment out unused defines which conflict
with system headers.
* printcmd.c (printf_command): Cast second arg to vprintf to PTR.
Use VPRINTF macro if defined.
* config/m88k/xm-delta88.h: Define VPRINTF. Include <sys/siginfo.h>.
Define TIOC{GETC,GLTC}_BROKEN.
* m88k-nat.c: Uncomment include of <sys/ptrace.h>.
* main.c: Rename initialize_{main,cmd_lists,history} to init_* to
make things easier on munch (apparently this matters on
the delta88 with svr3).
host.
* sh-tdep.c (frame_find_saved_regs): Use NUM_REGS rather than hard
wired (and wrong) constant.
* values.c (unpack_long): Add case to unpack when target object is
sizeof(int).
* config/sh/tm-sh.h (REGISTER_NAMES): Know about the news ones the
simulator defines.
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.