* nindy-share/*, remote-nindy.c: Extensive hacking to make it
conform to GDB conventions like using memcpy not bcopy, serial.h,
etc. This is to make it host on Solaris, AIX, etc.
* Makefile.in: Reflect removed nindy-share files.
* config/i960/nindy960.mt (TDEPFILES): Remove ttybreak.o.
<memory.h>.
Include <malloc.h> rather than declaring malloc functions ourself.
* ser-unix.c (set_tty_state): Don't ignore errors setting process
group.
* inflow.c (terminal_inferior): If attach_flag set, ignore errors
from set_tty_state.
command. Now we use unwind info by default if we can find it.
* config/sparc: Move VARIABLES_INSIDE_BLOCK and SUN_FIXED_LBRAC_BUG
to tm-sparc.h so they are shared between Solaris and SunOS4.
* dbxread.c (process_one_symbol): Deal with SunOS4 acc N_STSYM and
N_GSYM functions.
(can't include it in nm-*.h file because it causes conflicts with
a.out symbol definitions).
* hp300ux-nat.c (fetch_core_registers): Commented out; obsolete.
* config/m68k/hp300hpux.mh (NATDEPFILES): Added coredep.o and
corelow.o.
* config/m68k/nm-hp300hpux.h (NEED_SYS_CORE_H): Defined.
(REGISTER_U_ADDR): Defined.
* config/m68k/xm-hp300hpux.h (HAVE_TERMIOS): Define instead of
HAVE_TERMIO.
* config/pa/xm-hppah.h: Likewise.
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.
* 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.
* 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.
(REGISTER_RAW_SIZE): Ditto
(REGISTER_VIRTUAL_TYPE): Use builtin_type_unsigned_long for regs on the h8/300h
(ints may still be 16 bits).
(EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE, EXTRACT_STRUCT_VALUE_ADDRESS):
Add FIXME's for h8/300h. Some thought needed here.
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.
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.
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.
probably contained byte-order sins too.
config/mips/tm-mips.h (INVALID_FLOAT): Define to 0 like most machines.
The IEEE_FLOAT code in print_floating takes care of it.
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.
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.
* 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/pa/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/pa/tm-hppah.h (SAVED_PC_AFTER_CALL): Delete private
definition and use the common one in tm-hppa.h.
* 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.
(_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.
* 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.
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.
* config/none/{nm-none.h, tm-none.h, xm-none.h}: New files.
Currently only tm-none.h has any meaningful contents.
* config/none/none.mh (NAT_FILE): Use nm-none.h
* config/none/none.mh (XM_FILE): Use xm-none.h
* config/none/none.mt (TM_FILE): Use tm-none.h
own tm- & .mt files now. Also add sparclite to configdirs.
* go32-xdep.c: Dummy routines for sigsetmask & strlwr.
* config/i386/go32.mh: Nullify def of TERMCAP.
* config/i386/xm-go32.h: Get rid of redef of EIO.
* config/sparc/{sparclite.mh tm-sparclite.h}: New sparclite
specific configs. Very similar to sun4os4, but without solib.
* sparclite/{Makefile.in configure.in}: First cut at making this
dir configgable.
These implement a new serial line interface for talking to remote
targets.
* configure.in: Link ser-hardwire.c to ser-unix.c for all hosts,
EXCEPT go32, which gets ser-go32.c.
* remote.c: Use new serial interface. More remote-xxx's to be
converted later.
* ser-bsd.c, ser-termios.c: Removed.
* serial.c: New. Implements common operations for all serial
types.
* ser-unix.c: New. Unix specific serial operations for various
flavors of Unix (Posix, SysV, BSD).
* serial.h: Generic serial interface defs.
* config/i386/go32.mh, config/i386/i386bsd.h,
config/m68k/apollo68b.mh, config/sparc/sun4os4.mh: Remove
ser-bsd.o from XDEPFILES. All the magic is now handled in
configure.in.
* 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.
* command.c (do_setshow_command): Use %u with var_{u,z}integer.
* command.{c,h}: New var_type var_integer.
main.c: Use it for history_size.
* rs6000-tdep.c, xcoffexec.c, config/rs6000/xm-rs6000.h, breakpoint.c:
Lint and byte-order fixups.
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.
config files moved to an appropriate config/<cpu> subdirectory.
* nm-*, xm-*, tm-*: All native, host, and target files, which
get linked to nm.h, xm.h, and tm.h respectively by configure,
moved to appropriate config/<cpu> subdirectory.
m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax,
z8k}: New directories to hold cpu specific configuration files.
Naming follows gcc convention.
* config/{*.mt, *.mh}: All target and host makefile fragment
config files moved to an appropriate config/<cpu> subdirectory.
This is defined in defs.h if necessary.
* vx-share/vxWorks.h: Remove #defs of min and max.
* vx-share/xdr_ld.c, vx-share/xdr_ptrace.c,
vx-share/xdr_rdb.c: include defs.h.
reported by mycroft@gnu.ai.mit.edu.
(Ultrix 2.2 support from Michael Rendell <michael@mercury.cs.mun.ca>)
* configure.in (vax-*-ultrix2*): New triplet.
* config/vaxult2.mh: New file.
* xm-vaxult2.h: New file.
protocol.
* config/idt.mt: New file; uses remote-mips.c
* configure.in (mips-idt-ecoff): New target; uses idt.mt.
* mips-tdep.c (mips_fpu): New variable; controls use of MIPS
floating point coprocessor.
(mips_push_dummy_frame): If not mips_fpu, don't save floating
point registers.
(mips_pop_frame): If not mips_fpu, don't restore floating point
registers.
(_initialize_mips_tdep): New function; let the user reset mips_fpu
variable.
* tm-mips.h (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE): If not
mips_fpu, don't use fp0 as floating point return register.
(FIX_CALL_DUMMY): If not mips_fpu, don't save floating point
registers.
Also added remote-mips.c to .Sanitize file.
* Based on patch from Martin Walker <maw@netcom.com>:
* nm-i386sco4.h: New file. Like nm-i386sco.h, but define
ATTACH_DETACH, PTRACE_ATTACH and PTRACE_DETACH.
* config/i386sco4.mh (NAT_FILE): Use nm-i386sco4.h.
* coffread.c (decode_type): catch negative tagndx fields generated
by SCO 3.2v4 cc.
* exec.c: comment out string following #endif.
* configure.in (i[34]86-*-sco3.2v4*): use host i386sco4.
* xm-i386sco.h: include <sys/types.h> and <sys/dir.h>, required by
<sys/user.h>.
* config/i386sco4.mh: new file; like i386sco.mh, but don't require
gcc, and define const to empty to avoid SCO 3.2v4 cc bug.
* config/amix.mh (NAT_FILE): Add, set to nm-sysv4.h.
* config/amix.mh (NATDEPFILES): Add.
* config/amix.mh (XDEPFILES): Move procfs.o and fork-child.o
to NATDEPFILES.
* dwarfread.c (decode_subscr_data): Remove spurious test that
accepted only integer subscript types. We don't do anything
with the type at the moment anyway.
29k-share/dfe/mini2udi.o.
* config/a29k-udi.mt: Remove yank.o and mini2udi.o.
* alldeps.mak, depend: Update to deal with removal of
aforementioned files.
* remote-udi.c: Major cleanups. Clean up udi_open and drop
requirement for useless 'program' argument. Clean up
udi_create_inferior, and udi_load to call common download()
routine. Create download routine to load remote hosts directly
(with the help of BFD) so that we don't need yank.c and
mini2udi.c.
Fix udi_detach to call UDIDisconnect with
the right arguments. Clean up udi_resume, don't assign tip_error
twice. Clean up udi_wait, straighten out status codes. Make
udi_kill really work.
* dwarfread.c: include <sys/types.h> for SCO.
* infptrace.c: Don't include ptrace.h under SCO.
* config/i386sco.mh: Use -D_POSIX_SOURCE instead of -posix for
gcc.
* config/i386v.mt: Add exec.o to TDEPFILES.
coredep.c, but zero out FP_REGNUM & ZERO_REGNUM so that stack
backtraces from core files work.
* config/decstation.mh, config/irix3.mh: Remove coredep.o.
Functions are now defined in mips-nat.c.