LOC_LOCAL_ARG as arguments so that GDB will know about function
args declared this way. Mostly affects dwarf.
* dwarfread.c (decode_die_type): Change default type from int to
void. This allows GDB to recognize void functions.
* (new_symbol): If AT_PROTOTYPED is present, set a flag in the
type structure.
* findvar.c (extract_floating store_floating): Clean up comments
to reflect reality.
* gdbtypes.h: Add TYPE_FLAG_PROTOTYPED so that we can tell if a
function has a prototype. Currently, only dwarf supports this.
* utils.c (floatformat_from_doublest): Fix logic error with
converting from double to float. (It wasn't shifting mant_long if
it had a hidden bit.)
* v850-tdep.c: Add support for function calling. Fix some
problems with debugging code w/o debug symbols.
* config/v850/tm-v850.h: Ditto.
struct frame to make it possible to use frame_saved_args in
EXTRA_FRAME_INFO macro.
* v850-tdep.c config/v850/tm-v850.h: Lotsa new functions and
macros to make frame operations (such as backtrace) work.
files).
* (SUBDIRS): Remove mswin.
* Change procedure for creating init.c. Speeds things up quite a
bit.
* config.in configure configure.in: Check for select, poll.
* Check for OSF header files before including hpux-thread.o.
* Don't configure doc or testsuite when building under MSVC.
* findvar.c value.h (read_register_pid write_register_pid): Make
global. Needed for hppa-tdep.c.
* (supply_register): Don't set pid to inferior_pid when supplying
registers.
* hppa-tdep.c (saved_pc_after_call): frame_saved_pc ->
FRAME_SAVED_PC.
* (frame_saved_pc): Change name to hppa_frame_saved_pc.
* (hppa_pop_frame): Don't use a pid of 0 with target_write_pc.
Use write_pc instead, which uses the correct pid.
* (target_read_pc target_write_pc): Use read/write_register_pid
instead of read/write_register to preserve the pid passed in.
* inftarg.c (child_can_run): Add flag child_suppress_run to allow
hpux-threads.c to override this as a runnable target.
* config/pa/nm-hppah.h: Define target_new_objfile and
target_pid_to_str.
* config/pa/tm-hppa.h (FRAME_SAVED_PC): Use hppa_frame_saved_pc
instead of frame_saved_pc.
* config/m68k/tm-m68k.h: Define TARGET_M68K for Wingdb.
* config/m68k/tm-monitor.h: Use FRAME_CHAIN_VALID_ALTERNATE, since
we can't easily determine the start file bounds with ELF.
* config/mips/tm-mips.h: Define TARGET_MIPS for Wingdb.
* hpux-thread.c: New file for HPUX/OSF thread support.
* osf-share/{README AT386/cma_thread_io.h HP800/cma_thread_io.h
RIOS/cma_thread_io.h cma_attr.h cma_deb_core.h cma_debug_client.h
cma_errors.h cma_handle.h cma_init.h cma_list.h cma_mutex.h
cma_sched.h cma_semaphore_defs.h cma_sequence.h cma_stack.h
cma_stack_int.h cma_tcb_defs.h cma_util.h}: New files for OSF
thread support.
SIGTRAMP_END.
* config/i386/tm-i386os9k.h (SIGTRAMP_START, SIGTRAMP_END):
Define with dummy pc arg.
* config/m68k/tm-nbsd.h: Ditto.
* doc/gdbint.texinfo: Document that SIGTRAMP_START and
SIGTRAMP_END are macros that take an single argument.
be consistent with GCC.
(FPUL_REGNUM, etc): Renumber to match list changes.
(ADDR_BITS_REMOVE): Delete.
* sh-tdep.c (sh_reg_names, sh3_reg_names, sh3e_reg_names):
Rearrange to match REGISTER_NAMES.
* sh3-rom.c (sh3_regnames, sh3e_regnames): Ditto.
PR 9457
mswin/libwingdb.a and remote-wiggler.o.
* breakpoint.c (breakpoint_here_p): Clean up bp enabled test.
* (breakpoint_inserted_here_p): New func, just like
breakpoint_here_p, except it's honest. Honestly.
* breakpoint.h: Proto for above.
start-sanitize-gdbtk
* configure configure.in: Add host *windows* to list of hosts
that don't support GDBtk.
end-sanitize-gdbtk
* configure configure.in: Add mswin to configdirs if host is
i[3456]86-*-windows.
* core-aout.c (fetch_core_registers register_addr) gdbcore.h:
Change all vars that can contain addresses to type CORE_ADDR.
* findvar.c (supply_register): Allow val to be NULL. This means
that regno is unsupported.
* (read_pc read_pc_pid write_pc write_pc_pid): Make non-pid forms
just call pid forms with inferior_pid so that there's only once
place to hack PC's and such.
* infrun.c (proceed): Don't skip breakpoints if user changed PC.
* remote-wiggler.c: New file. Support for BDM interface from
Macraigor Systems.
* serial.c: Enhance serial logging capability. Add hex and octal
output modes (set remotelogbase {hex|octal|ascii}. Also log
breaks, timeouts, errors, and eofs.
* serial.h: Redefine SERIAL_SEND_BREAK to go through a wrapper
function so that we can log breaks. Don't export serial_logfile
or serial_logfp.
* top.c (execute_command): Don't test for serial_logfp here.
Just call serial_log_comand, and let serial.c sort it out.
* valops.c (value_of_variable): Don't attempt to establish frames
for static and global variables. This makes things work a bit
better if the stack or frame pointer is trashed.
* config/m68k/monitor.mt (TDEPFILES): Add remote-wiggler.o.
* config/m68k/tm-m68k.h: Define STACK_ALIGN. CPU32 can't hack
misaligned stacks during function calls.
is not defined.
(read_register_pid): Only needed when TARGET_READ_PC is not
defined.
* hppa-tdep.c (frame_saved_pc): Remove prototype.
* infptrace.c (udot_info): Prototype when CHILD_XFER_MEMORY is
not defined.
* config/xm-aix4.h (aix_resizewindow): Convert old style decl
to prototype.
* xcoffsolib.c (command.h): Include for needed prototypes.
grow up correctly.
* config/pa/tm-hppa.h (USE_STRUCT_CONVENTION): Define.
(STACK_ALIGN): Define.
* hppa-tdep.c (hppa_alignof): Don't demand a minumim two byte
alignment on structs/unions.
Fixing assorted structure passing/return problems reported by the net.
this, define when contents are included.
(mips_read_processor_type): Add prototype.
* config/mips/xm-mips.h: Remove strdup decl, now in gdb_string.h
* mdebugread.c (ecoff_relocate_efi): Add prototype.
(fixup_sigtramp): Only needed when TM_MIPS_H is defined.
Thu Jul 25 19:41:31 1996 Fred Fish <fnf@cygnus.com>
for details about these changes. I was going to include the complete
entry in the checkin message but it was apparently so large it caused
cvs to dump core.
tm_print_insn_info.
* gdbtk.c (gdb_disassemble): Setup di.mach from
tm_print_insn_info.mach, and set endian from TARGET_BYTE_ORDER.
* i386-tdep.c (set_assembly_language_command): set
tm_print_insn_info.mach to the appropriate value for 386 or 8086
disassembly.
* printcmd.c (print_insn): Move init of disassembler_info to
_initialize_printcmd. Set endian for disassembler here.
* sparc-tdep.c: Set tm_print_insn_info.mach as appropriate to
select sparc/sparclite.
* config/sparc/{tm-sparc.h tm-sparclite.h}: Get rid of
TM_PRINT_INSN. Set TM_PRINT_INSN_MACH to
bfd_mach_sparc/bfd_mach_sparc_sparclite.
and MMALLOC_CHECK macros, and add comment indicating how host dependent
makefile fragment should modify MMALLOC_CFLAGS to not use mmalloc, or
to use it but to not do heap corruption checking.
* gdbserver/Makefile.in: Ditto.
* utils.c (init_malloc): Replace warning() use with direct call of
fprintf_unfiltered, since current_target has not yet been set and thus
we cannot use warning(). If we try to use mmcheck and it fails,
suggest that this configuration needs NO_MMCHECK or MMCHECK_FORCE
defined. Other small mmalloc related cleanups.
* config/sparc/sun4os4.mh (MMALLOC_CFLAGS): Define MMCHECK_FORCE to 1.
* config/alpha/alpha-osf2.mh (MMALLOC_CFLAGS): Set to -DNO_MMCHECK.
* config/sparc/xm-sun4os4.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
* config/i386/xm-i386v4.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
* config/i386/xm-linux.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
* config/m68k/xm-hp300hpux.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
* config/m68k/xm-m68kv4.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT);
* config/m68k/xm-sun3os4.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
* config/pa/xm-hppah.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
* config/sparc/xm-sun4sol2.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
Remove obsolete defines.
* config/alpha/alpha-linux.mh (MMALLOC_DISABLE):
* config/alpha/alpha-osf1.mh (MMALLOC_DISABLE):
* config/rs6000/rs6000.mh (MMALLOC_DISABLE):
* config/rs6000/aix4.mh (MMALLOC_DISABLE):
* config/powerpc/aix4.mh (MMALLOC_DISABLE):
* config/powerpc/aix.mh (MMALLOC_DISABLE):
* config/ns32k/ns32km3.mh (MMALLOC_DISABLE):
* config/mips/mipsm3.mh (MMALLOC_DISABLE):
* config/mips/decstation.mh (MMALLOC_DISABLE):
* config/m88k/cxux.mh (MMALLOC_DISABLE):
* config/i386/i386mk.mh (MMALLOC_DISABLE):
* config/i386/i386m3.mh (MMALLOC_DISABLE):
* config/i386/i386gnu.mh (MMALLOC_DISABLE):
Use MMALLOC_CFLAGS instead.
config/sparc/tm-sparclite.h: Initialize tm_print_insn from
TM_PRINT_INSN, which comes from the tm file.
* Makefile.in (INTERNAL_LDFLAGS): Add in flags from configure.
* configure configure.in: Only make sol-thread.o for native.
Also, switch to dlopened libthread_db.so.1.
* sol-thread.c: Switch to using dlopen to get the thread_db
library.
* configure, configure.in: Change test for libthread_db to only
work for configs where build/host/target are the same.
* monitor.h,monitor.c:
Added monitor flags MO_NO_ECHO_ON_SETMEM (don't expect echo on
setmem command), MO_RUN_FIRST_TIME (if command to start process
running on target is different from one to continue execution),
MO_HEX_PREFIX (if addresses from monitor have a "0x" prefix).
* monitor.c,parse.c,sparc-tdep.c:
Don't require strings in the registers array. This is to allow
NULLs to be place holders in the tm-*.h file so that only minor
changes are needed when a new processor is introduced (eg, one
without floating point).
* sparc-tdep.c: Conditionally remove dependancies on floating point.
* sparclet-rom.c,config/sparc/sparclet.mt,config/sparc/tm-sparclet.h:
New files for target sparclet.
* symfile.c: Add option for 2nd parameter on load command : a load
offset added to the vma of each section.
* configure.in (configdirs): Force 4100 builds to use 4300 GDB
target.
* configure: Rebuild.
* config/mips/vr4300el.mt (SIM_OBS): Include simulator in
little-endian builds.
* NEWS: Add Alpha Linux as a new native configuration.
* mdebugread.c (parse_symbol): When we find a malloc() symbol with
return type VOID, assume no debugging info is available for that
object file and patch the return value into VOID *. Otherwise,
operations requiring an implicit call to malloc() will fail.
* infrun.c (wait_for_inferior): The criterion to detect entering a
sigtramp handler is now: (a) the current pc is inside a sigtramp
handler, (b) the previous pc is not in a sigtramp handler, and (c)
the current stack pointer is "inner" than the old one. Condition
(c) is new to avoid mistaking a return from a signal handler into
sigtramp as a new sigtramp invocation.
* dcache.c (struct dcache_block): Declare addr as CORE_ADDR. An
int may not be big enough to hold an address.
(dcache_hit): Ditto.
(dcache_peek_byte): Fix indentation.
* configure.in (alpha-*-linux*): Add target.
* configure: Rebuild
* config/alpha/tm-alpha.h (PROC_DESC_IS_DYN_SIGTRAMP): New macro.
(SET_PROC_DESC_IS_DYN_SIGTRAMP): Ditto.
(DYNAMIC_SIGTRAMP_OFFSET): Ditto.
(SIGCONTEXT_ADDR): Ditto.
(FRAME_PAST_SIGTRAMP_FRAME): Ditto.
* config/alpha/alpha-linux.mh: New file.
* config/alpha/alpha-linux.mt: Ditto.
* config/alpha/nm-linux.h: Ditto.
* config/alpha/tm-alphalinux.h: Ditto.
* config/alpha/xm-alphalinux.h: Ditto.
* config/alpha/xm-alphaosf.h: Renamed from xm-alpha.h.
* config/alpha/alpha-osf1.mh (XM_FILE): Change from xm-alpha.h to
xm-alphaosf.h.
* config/alpha/alpha-osf2.mh: Ditto.
* blockframe.c (find_pc_partial_function): Pass PC to
SIGTRAMP_START and SIGTRAMP_END macros for the benefit of systems
that detect sigtramp code via designated code sequences (as is the
case for Linux/Alpha, for example).
* config/i386/tm-i386bsd.h: Change SIGTRAMP_START and SIGTRAMP_END
to ignore new PC argument.
* config/m68k/tm-hp300bsd.h: Ditto.
* config/vax/tm-vax.h: Ditto.
* alpha-tdep.c (alpha_linux_sigtramp_offset): New function.
(alpha_osf_skip_sigtramp_frame): Ditto.
(push_sigtramp_desc): Ditto.
(alpha_find_saved_regs): Use SIGCONTEXT_ADDR macro to extract
sigcontext address from frame.
(alpha_saved_pc_after_call): When in sigtramp, use
alpha_frame_saved_pc() instead of read-register().
(after_prologue): When inside a dynamically generated sigtramp
function, there is no prologue, so return address of first
instruction.
(alpha_in_prologue): Fix typo in comment.
(find_proc_desc): Use macro DYNAMIC_SIGTRAMP_OFFSET to determine
whether we're inside a dynamicaly generated sigtramp function. If
so, create and push and appropriate procedure descriptor.
(alpha_frame_chain): Use macro FRAME_PAST_SIGTRAMP_FRAME to obtain
the frame past a sigtramp frame (if the current frame is indeed a
sigtramp function).
(init_extra_frame_info): Don't read next frame register off of
stack-pointer when inside a dynamiccaly generated sigtramp.
(alpha_pop_frame): Also unlink and destroy procedure descriptors
created for dynamically generated sigtramp functions.
* alpha-nat.c: When compiling under Linux, include <asm/reg.h> and
<alpha/ptrace.h> instead of <machine/reg.h>
C_STAT symbols.
* h8300-tdep.c (h8300_pop_frame): Reset $sp and $pc correctly.
Flush cached frames just before exiting.
* remote-sim.c (gdbsim_resume): Complain if the program isn't
being run.
* config/h8300/tm-h8300.h (BELIEVE_PCC_PROMOTION): Define.
Fix some bugs exposed by the testsuite. HMSE.
* (procfs_pid_to_str): New routine to print out thread id's in an
intelligible manner.
* sol-thread.c (sol_thread_fetch_registers): Re-order manner in
which supply_register is called to fix bug with writing writing
individual regs.
* config/sparc/tm-sun4sol2.h: Define default for
target_pid_to_str in case host lacks libthread_db.
config/sparc/nm-sun4sol2.h config/sparc/sun4sol2.mh
config/sparc/tm-sun4sol2.h: Use autoconf to config Solaris thread
and pthread support, since pre-2.5 systems don't come with
libthread_db.so.1.
* procfs.c (info_proc): Use int instead of id_t. Old versions of
Irix don't see to define this.
returns a possibly modified pid.
* inftarg.c (ptrace_him): Now returns pid;
* m3-nat.c (m3_trace_him): Now returns pid;
* infcmd.c (run_command): Minor cleanup.
* infrun.c (wait_for_inferior): Add another check for one_stepped
near where we read the pc to avoid erroneously setting
random_signal for multi-threaded support.
* procfs.c: Add support for Solaris LWPs. Remove def of
LOSING_POLL. Many cleanups... Several workarounds for Solaris
lossage. System call entry and exit are now handled by
dynamically registered handlers.
* (syscallname): Don't barf when handed an unknown syscall
number.
* (info_proc_syscalls): Ditto.
* sol-thread.c: New file. Implements Solaris thread support.
* symfile.c (symbol_file_add): Add call to target_new_objfile to
notify target-dependent code about new symbol tables.
* (clear_symtab_users): Call target_new_objfile to notify it of
the removal of all symbol tables.
* target.c (push_target): Make sure that to_close is non-zero
before calling it.
* target.h (target_new_objfile): Provide default.
* config/alpha/nm-osf2.h: Define LOSING_POLL because this version
of OSF can't hack using poll with /proc.
* config/sparc/nm-sun4sol2.h (target_new_objfile): Define to be
sol-thread-new-objfile.
* config/sparc/sun4sol2.mh: Add sol-thread.o to NATDEFFILES, and
add libthread_db.so.1 to NAT_CLIBS.
* config/sparc/tm-sun4sol2.h: Define PIDGET, TIDGET, and
target_pid_to_str.
before de-referencing it. Prevents deref of NULL pointer if core
file lacks .reg section.
* defs.h: Rename floatformat_{to from}_long_double to
floatformat_{to from}_doublest. Get rid of FLOATFORMAT_{TO
FROM}... macros.
* findvar.c (extract_floating store_floating): Change all refs to
FLOATFORMAT_{FROM TO}... to floatformat_{from to}_doublest.
* utils.c: Change floatformat_{to from}_long_double to
floatformat_{to from}_doublest cuz the new routines will use
whatever size (double or long double) is appropriate.
* config/i960/tm-i960.h (REGISTER_CONVERT_TO_VIRTUAL
REGISTER_CONVERT_TO_RAW): Change FLOATFORMAT... macros to
floatformat... routine calls.
user can attach to a previously running program.
* (nindy_fetch_registers nindy_store_registers): Get rid of fp
conversion code. That's all handled in {extract store}_floating
now.
* utils.c (floatformat_to_double): Don't bias exponent when
handling zero's, denorms or NaNs.
* config/i960/tm-i960.h (REGISTER_CONVERT_TO_VIRTUAL
REGISTER_CONVERT_TO_RAW): Change to using DOUBLST and
FLOATFORMAT_TO/FROM_DOUBLEST macros.
* config/i960/tm-nindy960.h: Undefine
REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW, and
REGISTER_CONVERTIBLE. These are no longer necessary now that all
the magic happens in extract/store_floating.
* (dcache_peek dcache_fetch dcache_poke): Make dcache_fetch and
dcache_poke call dcache_xfer_memory directly in order to fix
problems with turning off dcache. dcache_peek is now unnecessary,
so it goes away.
* defs.h: Define new macros HOST_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT
and TARGET_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT to specify a pointer
to a struct floatformat. This allows for better handling of
targets whose floating point formats differ from the host by more
than just byte order.
* (floatformat_to_long_double floatformat_from_long_double):
Prototypes for new functions in utils.c.
* (floatformat_to_doublest floatformat_from_doublest): Prototypes
for pointers to floating point conversion functions. The actual
function uses either double or long double if the host supports it.
* findvar.c (floatformat_to_doublest floatformat_from_doublest):
Initialize to point at correct function depending on HAVE_LONG_DOUBLE.
* (extract_floating store_floating): Rewrite. Now, if host fp
format is the same as the target, we just do a copy. Otherwise,
we call floatformat_{to from}_doublest.
* remote-nindy.c (nindy_xfer_inferior_memory): Change param
`write' to `should_write'.
* utils.c (floatformat_to_long_double
floatformat_from_long_double): New routines that implement long
double versions of functions in libiberty/floatformat.c.
* config/i960/tm-i960.h (TARGET_LONG_DOUBLE_FORMAT): Define this for
i960 extended real (80 bit) numbers.
* nindy-share/nindy.c (ninMemGet ninMemPut): Return number of bytes
actually read or written.
* configure: Regenerate.
From: Robert Lipe <robertl@dgii.com>
Add support for SCO OpenServer 5 (a.k.a. 3.2v5*) This
target is an SVR3.2 with COFF, ELF, and shared libes, but
no /proc.
* config/i386/i386sco5.mh: New file.
* config/i386/nm-i386sco5.h: New file.
* config.in: Regenerate with autoheader.
* configure: Regenerate with autoconf.
* inflow.c (_initialize_inflow): Only try to use _SC_JOB_CONTROL
if it is actually defined.
(gdb_setpgid): Use HAVE_SETPGID.
* ch-exp.c: Change include of <string.h> to "gdb_string.h".
* c-exp.y: Ditto.
* f-exp.y: Ditto.
* m2-exp.y: Ditto.
* c-exp.y: Include <ctype.h>.
* serial.c: Ditto.
* config/m68k/nm-news.h: Add typedef for pid_t which is
apparently missing from <sys/types.h>. Enclose entire
file in NM_NEWS_H ifndef and define when included.
* config/mips/nm-news-mips.h: Ditto.
* config/m68k/tm-m68k.h (REGISTER_CONVERT_TO_VIRTUAL,
REGISTER_CONVERT_TO_RAW): Change name of temporary variable.
* monitor.c (monitor_debug): Change remotedebug to buffer strings.
* monitor.c (monitor_open): Add test for flag MO_NO_ECHO_ON_OPEN before
epecting prompt and echo during open.
* monitor.c (monitor_stop): Add test for flag MO_SEND_BREAK_ON_OPEN to
determine if break should be sent as stop command.
* monitor.h: Add flags MO_NO_ECHO_ON_OPEN and MO_SEND_BREAK_ON_OPEN.
* i960-tdep.c (mon960_frame_chain_valid): New function for getting
stack frame on mon960.
* Makefile.in: Add mon960 files.
* configure.in: Changed i960-*-coff* and i960-*-elf* to target mon960;
added i960-nindy-coff* and i960-nindy-elf* for target nindy.
* configure: Regenerated.
* config/i960/mon960.mt, config/i960/tm-mon960.h: New files;
support mon960 rom monitor on i960.
* sh-tdep.c (set processor): New command to set specific
processor type.
(sh_reg_names, sh3_reg_names): Arrays of register names for
SH and SH3 processors.
(sh_set_processor_type): New function.
* sh3-rom.c (sh3_open): Call it.
(sh3_regname): Add names of all the bank registers.
(sh3_supply_register): Clean up formatting.
* config/sh/tm-sh.h (NUM_REGS, NUM_REALREGS): Increase to include
bank registers.
(REGISTER_NAMES): Add names of bank registers.
(FP15_REGNUM): Define.
(REGISTER_VIRTUAL_TYPE): Use it.
* monitor.c: Clean up some comments.
* config/xm-nbsd.h (CC_HAS_LONG_LONG, PRINTF_HAS_LONG_LONG):
#ifdef'd out definitions --- Causes serious gdb failures on
the i386. Need to investigate further before enabling.
* i386b-nat.c (fetch_inferior_registers, store_inferior_registers,
fetch_core_registers): New functions. These functions are defined
if FETCH_INFERIOR_REGISTERS is set. Registers are fetched/stored
with ptrace PT_GETREGS/PT_SETREGS.
here from config/i386/xm-i386mach.h, fix name.
* config/i386/nm-sun386.h: Ditto, from config/i386/xm-sun386.h.
* config/i386/nm-ptx4.h (CHILD_PREPARE_TO_STORE): Move to
here from config/i386/xm-ptx4.h.
* config/i386/nm-ptx4.h: Ditto, from config/i386/xm-ptx.h.
* config/i386/nm-symmetry.h: Ditto, from config/i386/xm-symmetry.h.
* config/m68k/nm-sun3.h: Ditto, from config/m68k/xm-sun3.h.
more housekeeping
* config/sparc/nm-nbsd.h (CHILD_PREPARE_TO_STORE): Move to here
from config/sparc/xm-nbsd.h.
* config/sparc/nm-sun4os4 (CHILD_PREPARE_TO_STORE): Ditto, from
config/sparc/xm-sparc.h.
* config/sparc/nm-sun4sol2.h: New file, renamed from nm-sysv4.h.
(PRSVADDR_BROKEN): Move here from xm-sun4sol2.h.
* config/sparc/sun4sol2.mh (NAT_FILE): Update.
* config/sparc/xm-sun4os4.h (HAVE_TERMIOS): Remove.
housekeeping
Also check for gregset_t and fpregset_t types.
* configure: Regenerate.
* core-regset.c (sys/procfs.h): Only include if HAVE_SYS_PROCFS_H
is defined.
(fetch_core_registers): Turn into stub unless both HAVE_GREGSET_T
and HAVE_FPREGSET_T are defined. These changes allow systems
like linux that are migrating to /proc support to use a single
configuration for both new and old versions.
* config/i386/linux.mt: Note that this is now for both a.out and
ELF systems.
* config/i386/linux.mh (NATDEPFILES): Add solib.o, core-regset.o,
i386v4-nat.o
* config/i386/tm-linux.h (tm-sysv4.h): Include.
* config/i386/xm-linux.h (solib.h): Include
(SVR4_SHARED_LIBS): Define.
* i386v4-nat.c: Only compile if HAVE_SYS_PROCFS_H is defined.
(supply_gregset, fill_gregset): Compile if HAVE_GREGSET_T defined.
(supply_fpregset, fill_fpregset): Compile if HAVE_FPREGSET_T defined.
* configure.in, configure: Recognize rs6000-*-aix4*.
* config/powerpc/xm-aix.h: Reduce to include "xm-aix4.h".
* config/rs6000/aix4.mh (XM_FILE): Point to xm-aix4.h.
* config/rs6000/xm-aix4.h: New file.
* config/xm-aix4.h: New file.
From the Mentor work...enable configure & build on rs6000-ibm-aix4.1.*.
Note this is an unbelievably buggy debugger on this host.
* gdbserver/low-linux.c: New file.
* remote.c (remote_read_bytes): Fix aborts on larger packets.
* config/i386/linux.mh (GDBSERVER_DEPFILES, GDBSERVER_LIBS):
Define.
* stabsread.c (define_symbol): If register value is too large,
tell what it is and what max is.
that use ptrace(). This is not as useful as doing a full dump in a
human readable format, but is better than nothing when you are trying
to verify what is actually in the user struct.
* infptrace.c (udot_info): New function.
(PT_*): Define each individually if that one is not defined.
Update copyright to 1996.
* rs6000-nat.c (kernel_u_size): New function
Include <sys/user.h> for "struct user"
Update copyright to 1996.
* alpha-nat.c (kernel_u_size): New function.
Include <sys/user.h> for "struct user"
Update copyright to 1996.
* sparc-nat.c (kernel_u_size): New function.
Include <sys/user.h> for "struct user"
Update copyright to 1996.
* i386b-nat.c (kernel_u_size): New function.
Update copyright to 1996.
* i386v-nat.c (kernel_u_size): New function.
Update copyright to 1996.
* config/i386/nm-fbsd.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
* config/i386/nm-linux.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
* config/sparc/nm-sun4os4.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
* config/alpha/nm-osf2.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
* config/rs6000/nm-rs6000.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
from NUM_REGS to get number of general registers that we care about.
Update copyright to 1996.
* config/i386/tm-i386.h (REGISTER_BYTES): Define in terms
of number of general regs and number of floating point regs.
Update copyright to 1996.
(TARGET_HAS_HARDWARE_WATCHPOINTS, etc): Define as for Irix 4;
from Lee Iverson <leei@ai.sri.com>.
* config/mips/irix5.mh (NAT_FILE): Use nm-irix5.h.
* config/mips/irix[345].mh (MUNCH_DEFINE): Remove.
* configure: Update.
* config/powerpc/macos.mh, config/powerpc/macos.mt,
config/powerpc/nm-macos.h, config/powerpc/tm-macos.h, mac-nat.c:
New files, native PowerMac debugging support.
* Makefile.in (mac-nat.o): Add build rule.
* mpw-config.in (enable_cflags): Add support.
(m68k-apple-macos, powerpc-apple-macos): Fix natdepfiles to
list object file instead of source file.
* mpw-make.sed (@ENABLE_CFLAGS@): Don't edit out, replace with
value of variable.
(install, install-only): Edit MPW-specific installation into
place of Unix shell code.
* mac-gdb.r: Fix version resources to use symbolic version strings.
(cfrg): New resource, code fragment for PowerMac.
Also force HAVE_MMAP to be defined since autoconf is currently broken
for detecting a working mmap under hpux.
* config/pa/xm-hppah.h (MMAP_BASE_ADDRESS): Tweak MMAP_BASE_ADDRESS
to a better value suggested by Jeffrey A Law (law@cygnus.com).
trampolines. These are pieces of code between the caller and the
callee that figure out the address of the callee's code at run
time. Upon entry, we can't figure out the callee's address, so we
set a breakpoint within the trampoline where the address will be
known, and continue the target. Once we hit the breakpoint, we
break at the callee's address and proceed as usual.
start-sanitize-gm
* config/tm-magic.h: Define DYNAMIC_TRAMPOLINE_NEXTPC. Turn off
IN_SOLIB_CALL_TRAMPOLINE and IN_SOLIB_RETURN_TRAMPOLINE.
end-sanitize-gm
for all mips*-*-ecoff or elf configurations.
* configure: Regenerate using autoconf 2.4.
* config/mips/{idt*.mt,tm-idt*.h}: Rename to "idt" part of the
name to "embed". Build remote-array.o along with IDT protocols.
* remote-array.c: Nuke setting the serial port to 4800 baud.
S-record download code into srec.c.
* srec.c srec.h: New files. Contain S-record loading routines
formerly in monitor.c.
* serial.c serial.h: New routine just like fprintf, but uses
serial_t instead of FILE *.
* sh-tdep.c (frame_find_saved_regs init_extra_frame_info):
Don't add four to saved pc (makes things match manual). Also, fix
bug where we didn't get pc from stack frame correctly.
* config/sh/tm-sh.h (SAVED_PC_AFTER_CALL): Don't add four to
saved pc. Real hardware does this for you.
* sh3-rom.c (sh3_load): New routine. Sets up for download then
calls generic S-record loader.
* config/h8300/h8300.mt, config/h8500/h8500.mt,
config/m68k/monitor.mt, config/pa/hppapro.mt, config/sh/sh.mt:
Add srec.o to TDEPFILES.
NOTE: Only the BigEndian build has the simulator included, because a
LittleEndian simulator is not constructed at the moment (it should
work, but has not been tested fully).
* fork-child.c (fork_inferior): Add call to
TARGET_CREATE_INFERIOR_HOOK to allow target specific code to get
control just before the new process executes it's first instruction.
* remote-mips.c (mips_initialize): Cleanup a bit. Don't try to
receive a packet at first. This speeds up initialization a lot.
Use TARGET_MONITOR_PROMPT instead of "<IDT>".
(common_breakpoint): Use rresponse instead of rerrflg to inspect
error code.
* symfile.c (syms_from_objfile reread_symbols): Call
TARGET_SYMFILE_POSTREAD to allow target specific code to get
control after reading new symbols.
* target.h: New macros TARGET_SYMFILE_POSTREAD, and
TARGET_CREATE_INFERIOR_HOOK. See above for descriptions.
* config/mips/{irix5.mh nm-irix5.h}: Delete nm-irix5.h. Make
NAT_FILE point directly at ../nm-sysv4.h.
* config/mips/{mipsm3.mh nm-m3.h}: Delete nm-m3.h. Make
NAT_FILE point directly at ../nm-m3.h.
* config/mips/{mipsv4.mh nm-sysv4.h}: Delete nm-sysv4.h. Make
NAT_FILE point directly at ../nm-sysv4.h.
* config/mips/nm-mips.h: Improve comment at top of file.
* config/mips/tm-mips.h (TARGET_MONITOR_PROMPT): Change
definition into a proper string.
start-sanitize-gm
* configure configure.in: Add support for --enable-gm.
(mips*-*-magic*): Change target from magic to idt.
* eval.c expprint.c expression.h parse.c remote-mips.c utils.c:
Change GENERAL_MAGIC_HACKS to GENERAL_MAGIC.
* magic.c magic.h: Update files from GM.
* config/mips/magic.mt: Delete. No longer necessary now that we
use --enable mechanism.
* config/mips/tm-idt.h: Add GM stuff needed for remote GM box.
* config/mips/tm-irix5.h: Add GM stuff needed for native Irix box.
* config/mips/tm-magic.h: Move up to config/tm-magic.h. Move all
platform specific stuff into tm-irix.h and tm-idt.h. Add defs for
TARGET_SYMFILE_POSTREAD and TARGET_CREATE_INFERIOR_HOOK.
end-sanitize-gm
definitions.
(TARGET_BYTE_ORDER): Moved here from tm-i386v.h.
(IEEE_FLOAT): Moved here from tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Define default as 2.
(FUNCTION_START_OFFSET): Moved here from tm-i386v.h.
(SKIP_PROLOGUE): Moved here from tm-i386v.h.
(SAVED_PC_AFTER_CALL): Moved here from tm-i386v.h.
(INNER_THAN): Moved here from tm-i386v.h.
(BREAKPOINT): Moved here from tm-i386v.h.
(DECR_PC_AFTER_BREAK): Moved here from tm-i386v.h.
(ABOUT_TO_RETURN): Moved here from tm-i386v.h.
(REGISTER_SIZE): Moved here from tm-i386v.h.
(NUM_REGS): Moved here from tm-i386v.h.
(REGISTER_NAMES): Moved here from tm-i386v.h.
(EXTRACT_STRUCT_VALUE_ADDRESS): Moved here from tm-i386v.h.
(FP_REGNUM): Moved here from tm-i386v.h.
(SP_REGNUM): Moved here from tm-i386v.h.
(PC_REGNUM): Moved here from tm-i386v.h.
(PS_REGNUM): Moved here from tm-i386v.h.
(FP0_REGNUM): Moved here from tm-i386aix.h.
(FPC_REGNUM): Moved here from tm-sun386.h.
(REGISTER_BYTES): Moved here from tm-i386aix.h.
(REGISTER_BYTE): Moved here from tm-i386aix.h.
(REGISTER_RAW_SIZE): Moved here from tm-i386aix.h.
(MAX_REGISTER_RAW_SIZE): Moved here from tm-i386aix.h.
(REGISTER_VIRTUAL_SIZE): Moved here from tm-i386aix.h.
(MAX_REGISTER_VIRTUAL_SIZE): Moved here from tm-i386aix.h.
(EXTRACT_RETURN_VALUE): Moved here from tm-i386aix.h.
(STORE_RETURN_VALUE): Moved here from tm-i386aix.h.
(REGISTER_VIRTUAL_TYPE): Moved here from tm-i386v.h.
(STORE_STRUCT_RETURN): Moved here from tm-i386v.h.
(FRAME_CHAIN): Moved here from tm-i386v4.h.
(FRAMELESS_FUNCTION_INVOCATION): Moved here from tm-i386v4.h.
(FRAME_SAVED_PC): Moved here from tm-i386os9k.h
(FRAME_ARGS_ADDRESS): Moved here from tm-i386v.h.
(FRAME_LOCALS_ADDRESS): Moved here from tm-i386v.h.
(FRAME_NUM_ARGS): Moved here from tm-i386sun.h.
(FRAME_ARGS_SKIP): Moved here from tm-i386v.h.
(FRAME_FIND_SAVED_REGS): Moved here from tm-i386v.h.
(PUSH_DUMMY_FRAME): Moved here from tm-i386v.h.
(POP_FRAME): Moved here from tm-i386v.h.
(CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_START_OFFSET,
CALL_DUMMY_BREAKPOINT_OFFSET, FIX_CALL_DUMMY): Moved here from
tm-i386v.h
(print_387_control_word, print_387_status_word): Declare prototypes.
(struct frame_info, struct frame_saved_regs): Forward decls for
prototypes.
(SP_ARG0): Moved here from tm-i386v.h.
* config/i386/tm-i386v.h:
(i386/tm-i386.h): Include.
(TARGET_BYTE_ORDER): Remove.
(IEEE_FLOAT): Remove.
(START_INFERIOR_TRAPS_EXPECTED): Undef before redefine to 4.
(FUNCTION_START_OFFSET): Remove.
(SKIP_PROLOGUE): Remove.
(i386_skip_prologue): Remove prototype.
(SAVED_PC_AFTER_CALL): Remove.
(INNER_THAN): Remove.
(BREAKPOINT): Remove.
(DECR_PC_AFTER_BREAK): Remove.
(ABOUT_TO_RETURN): Remove.
(REGISTER_SIZE): Remove.
(NUM_REGS): Undef before redefine to 16 (no FP support).
(REGISTER_NAMES): Undef before redefine.
(FP_REGNUM, SP_REGNUM, PC_REGNUM, PS_REGNUM): Remove.
(REGISTER_BYTES): Undef before redefine.
(REGISTER_BYTE): Undef before redefine.
(REGISTER_RAW_SIZE): Undef before redefine.
(REGISTER_VIRTUAL_SIZE): Undef before redefine.
(MAX_REGISTER_RAW_SIZE): Undef before redefine.
(MAX_REGISTER_VIRTUAL_SIZE): Undef before redefine.
(REGISTER_VIRTUAL_TYPE): Undef before redefine.
(STORE_STRUCT_RETURN): Undef before redefine.
(EXTRACT_RETURN_VALUE): Undef before redefine.
(STORE_RETURN_VALUE): Undef before redefine.
(EXTRACT_STRUCT_VALUE_ADDRESS): Remove.
(FRAME_CHAIN): Undef before redefine.
(FRAMELESS_FUNCTION_INVOCATION): Undef before redefine.
(FRAME_SAVED_PC): Undef before redefine.
(FRAME_ARGS_ADDRESS): Remove.
(FRAME_LOCALS_ADDRESS): Remove.
(FRAME_NUM_ARGS): Undef before redefine.
(FRAME_ARGS_SKIP): Remove.
(FRAME_FIND_SAVED_REGS): Remove.
(PUSH_DUMMY_FRAME): Remove.
(POP_FRAME): Remove.
(CALL_DUMMY): Remove.
(CALL_DUMMY_LENGTH): Remove.
(CALL_DUMMY_START_OFFSET): Remove.
(CALL_DUMMY_BREAKPOINT_OFFSET): Remove
(FIX_CALL_DUMMY): Remove.
(print_387_control_word): Remove.
(print_387_status_word): Remove.
(SP_ARG0): Remove.
* config/i386/tm-symmetry.h:
(TM_SYMMETRY_H): Enclose file in test for define & define if needed.
(START_INFERIOR_TRAPS_EXPECTED): Move to after inclusion of
tm-i386v4.h or tm-i386v.h, #undef, and #define back to 2.
(DECR_PC_AFTER_BREAK): Move to after inclusion of tm-i386v4.h
or tm-i386v.h, #undef, and #define to 0.
(MAX_REGISTER_RAW_SIZE): Remove.
(FRAME_CHAIN): Remove.
(FRAMELESS_FUNCTION_INVOCATION): Remove.
(FRAME_SAVED_PC): Remove.
(print_387_control_word, print_387_status_word): Remove prototypes.
* config/i386/tm-ptx.h:
(TM_PTX_H): Enclose file in test for define & define if needed.
(START_INFERIOR_TRAPS_EXPECTED): Move to after inclusion of
tm-i386v4.h or tm-i386v.h, #undef, and #define back to 2.
(DECR_PC_AFTER_BREAK): Move to after inclusion of tm-i386v4.h
or tm-i386v.h, #undef, and #define to 0.
(SDB_REG_TO_REGNUM): Remove obsolete commented out define.
(print_387_control_word, print_387_status_word): Remove prototypes.
* config/i386/tm-linux.h:
(TM_LINUX_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
* config/i386/tm-i386v4.h:
(TM_I386V4_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
(FRAME_CHAIN): Moved to tm-i386.h.
(FRAMELESS_FUNCTION_INVOCATION): Moved to tm-i386.h.
(FRAME_SAVED_PC): Remove.
(sigtramp_saved_pc): Define as i386v4_sigtramp_saved_pc.
(FRAME_NUM_ARGS): Remove.
* config/i386/tm-i386os9k.h:
(TM_I386OS9K_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
(NUM_REGS): Undefine before redefining.
(FRAME_CHAIN): Remove.
(FRAMELESS_FUNCTION_INVOCATION): Remove.
(FRAME_SAVED_PC): Move to tm-i386.h.
* config/i386/tm-i386nw.h:
(TM_I386NW_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
* config/i386/tm-i386bsd.h:
(TM_I386BSD_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
(FRAMELESS_FUNCTION_INVOCATION): Remove.
(FRAME_SAVED_PC): Remove.
* config/i386/tm-i386aix.h:
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
(FP_REGNUM): Remove.
(SP_REGNUM): Remove.
(PC_REGNUM): Remove.
(PS_REGNUM): Remove.
(FP0_REGNUM): Moved to tm-i386.h.
(NUM_REGS): Remove.
(REGISTER_NAMES): Remove.
(REGISTER_BYTES): Moved to tm-i386.h.
(REGISTER_BYTE): Moved to tm-i386.h.
(REGISTER_RAW_SIZE): Moved to tm-i386.h.
(MAX_REGISTER_RAW_SIZE): Moved to tm-i386.h.
(REGISTER_VIRTUAL_SIZE): Moved to tm-i386.h.
(REGISTER_VIRTUAL_TYPE): Removed.
(EXTRACT_RETURN_VALUE): Moved to tm-i386.h.
(STORE_RETURN_VALUE): Moved to tm-i386.h.
* config/i386/tm-sun386.h:
(TM_SUN386_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include.
(TARGET_BYTE_ORDER): Remove.
(FUNCTION_START_OFFSET): Remove.
(SKIP_PROLOGUE): Remove.
(SAVED_PC_AFTER_CALL): Remove.
(INNER_THAN): Remove.
(BREAKPOINT): Remove.
(DECR_PC_AFTER_BREAK): Remove.
(ABOUT_TO_RETURN): Remove.
(REGISTER_SIZE): Remove.
(NUM_REGS): Undefine before defining.
(REGISTER_NAMES): Undefine before redefining.
(REGISTER_BYTES): Undefine before redefining.
(REGISTER_BYTE): Undefine before defining.
(FP_REGNUM): Undefine before defining.
(PC_REGNUM): Undefine before defining.
(FPC_REGNUM): Undefine before defining.
(REGISTER_RAW_SIZE): Undefine before defining.
(FRAME_CHAIN): Undefine before defining.
(FRAMELESS_FUNCTION_INVOCATION): Undefine before defining.
(FRAME_SAVED_PC): Undefine before defining.
(FRAME_NUM_ARGS): Moved to tm-i386.h.
(MAX_REGISTER_RAW_SIZE): Remove.
(MAX_REGISTER_VIRTUAL_SIZE): Remove.
(STORE_STRUCT_RETURN): Remove.
(EXTRACT_STRUCT_VALUE_ADDRESS): Remove.
(FRAME_ARGS_ADDRESS): Remove.
(FRAME_LOCALS_ADDRESS): Remove.
(FRAME_NUM_ARGS): Undefine before defining.
(FRAME_ARGS_SKIP): Remove.
(FRAME_FIND_SAVED_REGS): Remove.
(PUSH_DUMMY_FRAME): Remove.
(POP_FRAME): Remove.
(CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_START_OFFSET): Remove.
(struct frame_info, struct frame_saved_regs): Remove forward decls
for prototypes.
* config/i386/tm-i386lynx.h (i386/tm-i386.h): Include instead of
tm-i386v.h.
* config/i386/tm-i386m3.h (i386/tm-i386.h): Include instead of
tm-i386v.h.
* defs.h: Test on name __WIN32__ rather than WIN32.
* inflow.c (new_tty): Likewise
* terminal.h: Likewise.
* utils.c (initialize_utils): Likewise.
* win32-nat.c (child_create_inferiror): Print error code when failing.
* config/i386/win32.mh (XM_CLIBS): Need -lkernel32.
* config/pa/hppahpux.mh: Remove hardcoding of X locations.
* Makefile.in: Use X11_CFLAGS, X11_LDFLAGS and X11_LIBS.
* configure.in: Link X statically on Solaris, SunOS and HPUX.
build config.h, add empty definitions to mk.tmp.
(powerpc-apple-macos): Make it work.
* mpw-make.sed: New file, sed commands to translate Unix makefile
into MPW syntax.
* mpw-make.in: Remove.
* mac-gdb.r: New file, was macgdb.r, renamed for consistency
with other tools, now includes cfrg resource.
* macgdb.r: Remove.
* config/m68k/xm-mpw.h: Remove most of contents, replace with
include of include/mpw/mpw.h.
_initialize_array to array_open. It was forcing the baud rate of
all targets to be 4800 baud! Seems like I've fixed this before...
* config/mips/idt.mt (TDEPFILES): Remove remote-array.o. This
has *nothing* to do with IDT!!!
sh3 monitor support.
* monitor.c: Cleanup regexp compilation stuff to make it easier
to use several regexps.
* monitor.h: Get rid of struct rom_cmd_data. It's no longer used.
* config/m68k/tm-monitor.h: Don't redefine NUM_REGS here. It just
causes GDB to crash.
* callback.[ch]: New files.
* remote-rdp.c: Support for the ARM RDP monitor.
* Makefile: Update.
* arm-tdep.c (arm_othernames): New.
(_initialize_arm_tdep): install 'othernames' command.
(arm_nullified_insn, shifted_reg_val, arm_get_next_pc): New.
* configure.in: Check for termios.h, termio.h and sgtty.h.
(i[345]86-*-win32*): New host.
* configure: Regenerated.
* inflow.c: Clean up inclusions.
* main.c (main): Check for WINGDB, not WIN32.
* printcmd.c (do_examine): Put QUIT test in loop.
* remote-hms.c (e7000_load): Delete.
(hms_ops): Point to generic_load instead.
* remote-hms.c (hms_ops): Point to generic_load.
* remote-sim.c (sim_callback_write_stdout): Becomes
gdbsim_write_stdout.
(gdbsim_load): Call generic_load.
* remote-utils.c (gr_load_image): Delete.
* ser-unix.c (terminal.h): Include instead of havig
own #if tree.
(hardwire_flush_input): Reset input buffer too.
* source.c (openp): If WIN32 then open file in binary mode.
* terminal.h: Configure IO mechanism using autoconf defines if available and
not overriden.
* utils.c (quit, pollquit, notice_quit): WIN32 check becomes WINGDB check.
* config/arm/arm.mt (TDEPFILES): Add remote-rdp.o
* config/arm/tm-arm.h (TARGET_BYTE_ORDER): becomes TARGET_BYTE_ORDER_SELECTABLE.
(ADDR_BITS_REMOVE): New.
(ORIGINAL_REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): New.
(INST_xx): New
(FRAME_FIND_SAVED_REGS): Pass the right argument.
(arm_get_next_pc): Declare.
* mswin/prebuilt/*/bfdtarget.h (SELECT_ARCHITECTURES): Need leading &.
have size 4.
(REGISTER_VIRTUAL_SIZE): Likewise.
(REGISTER_VIRTUAL_TYPE): Lower 32 fp regs have type float.
Upper 32 fp regs have type double.
* sparc-tdep.c (NUM_SPARC_FPREGS): Replace with
(FP_REGISTER_BYTES): this, and update all uses.
(FP_MAX_REGNUM): Define if not already.
(get_saved_register): Handle new sparc64 fp regs.
(sparc_frame_find_saved_regs): Likewise.
(sparc_print_register_hook): Only print fp regs < 32 as doubles.
Add code to handle long doubles when gdb does.
(_initialize_sparc_tdep): Use print_insn_sparc64 if sparc64.
spot different prompts at run-time, so as to avoid having target
specific versions of gdb. This is a pending TODO.
Fri Sep 1 08:25:50 1995 James G. Smith <jsmith@beauty.cygnus.com>
* configure (mips64*vr4300*-*-elf): Support added.
* remote-mips.c (mips_readchar): Change to allow build-time prompt
string.
* config/mips/tm-mips.h: Added TARGET_MONITOR_PROMPT.
* config/mips/{vr4300.mt, vr4300el.mt, tm-vr4300.h,
tm-vr4300el.h}: Added.
problems than it fixes.
* hppa-tdep.c (skip_prologue): If we exit the main loop without
finding all the register saves, retry again without looking for
the registers we could not find the first time.
Better fix for 7768.
* config/rs6000/xm-rs6000.h (FIVE_ARG_PTRACE): Likewise.
So we can build under aix4 with an ansi compiler (should not effect aix3
since aix3 doesn't have a ptrace prototype).
of aix4 need different handling than aix3.
* configure: Updated.
* config/powerpc/{aix4.mh,aix4.mt,tm-ppc-aix4.h}: New files
specific to aix4 support on the power pc.
* config/powerpc/tm-ppc-aix.h (DONT_RELOCATE_SYMFILE_OBJFILE): Do
not defined. The aix4 specific target files will do that.
* config/rs6000/{aix4,mh,aix4,mt,tm-rs6000-aix4.h}: New files
specific to aix4 support on the rs6000.
* config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR): Don't
do the conversion if the pointer is not a magic aix function
pointer.
* rs6000-tdep.c: Include objfiles.h and symtab.h.
(is_magic_function_pointer): New function.
* rs6000-tdep.c (skip_prologue): Refine check for frameless
functions. Handle b .+4 emitted by aix4 compilers. Only
allow one load of a minimal toc pointer. Handle aix4 compiler's
code for alloca.
* rs6000-tdep.c (find_toc_address): Report an error if no toc was
found rather than possibly core dumping.
* partial-stab.h: Handle extra field generated by the aix4 compiler
for enumerations.
* stabsread.c (read_enum_type): Likewise.
and target.
(powerpc-*-eabi*): Don't set configdirs.
(powerpcle-*-eabi*0: Likewise.
* configure: Updated.
* rs6000-nat.c (vmap_ldinfo): Don't relocate data addresses
for the main objfile if DONT_RELOCATE_SYMFILE_OBJFILE is
defined.
* config/powerpc/{aix.mh,aix.mh}: Host and target makefile fragments
for powerpc running aix4.
* config/powerpc/{nm-aix.h, tm-ppc-aix.h, xm-aix.h}: Native, target
and host include files for powerpc running aix4.
More of Mike's powerpc work + minor changes.
* gdbserver/Makefile.in (SFILES): Add low-hppabsd.c.
* config/hppabsd.mh (XDEPFILES): Add ser-tcp.o
(GDBSERVER_DEPFILES): Add low-hppabsd.o
* config/hppaosf.mh: LIkewise.
Needed this for the gdbserver framework development. Trying to avoid doing
development work on lynx for the obvious reasons.
(INSTRUCTION_NULLIFIED): Allow specific targets to override.
* config/pa/tm-hppao.h (INSTRUCTION_NULLIFIED): Define to work
around losing mach kernel behavior.
target.h.
* target.h: Macros from breakpoint.c. Conditionalize based on
TARGET_HAS_HARDWARE_WATCHPOINTS.
* i386v-nat.c procfs.c: Use TARGET_HAS_HARDWARE_WATCHPOINTS
instead of TARGET_CAN_USE_HARDWARE_WATCHPOINT to enable watchpoint
code.
* config/i386/nm-linux.h, config/mips/nm-irix4.h,
config/pa/nm-hppab.h, config/sparc/tm-sparclite.h: #define
TARGET_HAS_HARDWARE_WATCHPOINTS to enable watchpoint code.
error message to work with pre-ansi compilers.
(monitor_load_srec): reduced length of s-records from 128 to 32
bytes so download is more reliable with the rom68k monitor.
* rom68k-rom.c: Added trailing space to prompt string.
* config/i386/xm-i386sco.h (HAVE_STRSTR): Removed.
* config/i386/xm-go32.h, mswin/xm.h (SYS_SIGLIST_MISSING):
Removed.
* defs.h, config/{xm-lynx.h, xm-nbsd.h},
config/i386/{xm-i386bsd.h, xm-linux.h},
config/m68k/xm-hp300bsd.h, config/mips/xm-irix4.h,
config/ns32k/xm-ns32km3.h, doc/gdbint.texinfo
(PSIGNAL_IN_SIGNAL_H): Removed.
config/m68k/m68kv4.mh, config/mips/{irix4.mh, irix5.mh,
mipsv4.mh}, config/sparc/sun4so2.mh (INSTALL): Removed, figured
out by autoconf.
* config/apollo68v.mh (RANLIB): Removed, figured out by autoconf.
* Makefile.in, configure.in: Converted to use autoconf
* aclocal.m4: New file, local autoconf macro definitions.
* configure: New file, generated with autoconf 2.3.
* Makefile.in (REMOTE_OBS): Rename from REMOTE_O, append
value of NETROM_OBS.
(NETROM_OBS): New variable.
* remote-nrom.c: New file, NetROM target support.
* config/a29k/a29k-udi.mt, config/i960/vxworks960.mt: Use
REMOTE_OBS instead of REMOTE_O.
start-sanitize-arc
* config/arc/arc.mt: Ditto.
end-sanitize-arc
constants into PA instructions.
* Put #ifdefs around all signal handling code. Not generally
needed for embedded boards.
* (hppa_fix_call_dummy): Parameterize offsets into call dummy to
allow different dummys to be used by this code. Use
INSTRUCTION_SIZE instead of REGISTER_SIZE for things.
Conditionalize setup of _sr4export fixup. Improve comments.
* config/pa/tm-hppa.h: Define INSTRUCTION_SIZE. Use a different
call dummy if PA_LEVEL_0 is defined. Better comments for call
dummys. Define offsets for LDIL/LDO instructions which load
function addresses.
* config/pa/tm-pro.h: Get rid of signal handling stuff. Define
PA_LEVEL_0 to disable mucking with space regs and such.
unnecessary remoteloadprotocol and remoteloadtype support.
* (expect expect_prompt): Change names to monitor_expect and
monitor_expect_prompt. Make them global.
* (printf_monitor): Change name to monitor_printf. Make global.
* (monitor_read_memory): Flush command echo to avoid parsing
ambiguity with CPU32Bug monitor.
* (monitor_load): Remove remoteloadprotocol and remoteloadtype
support. Call target_ops->load_routine, default to
monitor_load_srec.
* (monitor_load_srec): Remove everything but S-record support.
* monitor.h (monitor_ops): Add load_routine to provide monitor
specific download capability.
* remote-est.c: Clean up copyrights and comments.
* w89k-rom.c: Use new xmodem support.
* xmodem.c xmodem.h: New files to support xmodem downloads.
* rom68k-rom.c remote-est.c: Fix copyrights, add load_routine
entry to monitor_ops.
* cpu32bug-rom.c: New file to support Moto BCC debuggers.
* config/m68k/est.mt (TDEPFILES): Add cpu32bug.o.
* config/pa/hppapro.mt (TDEPFILES): Add xmodem.o.
* Makefile.in (gdbtk.o): Use X11_CFLAGS to provide alternate
locations (per-host) for X11 include files.
* config/pa/hppahpux.mh (XM_CLIBS): Add -L/usr/lib/X11R5 to force
the use of R5 libs. (X11_CFLAGS): Add this to indicate the locs
of the R5 include files.
end-sanitize-gdbtk
* monitor.c monitor.h remote-est.c rom68k-rom.c: Add start of
support for interrupting target.
* monitor.c (monitor_open): Send stop command before doing
anything else.
* (monitor_load_srec): Fix record size calculation to prevent end
of segment from getting trashed.
* rom68k-rom.c: Update to latest version of struct monitor_ops.
* config/sparc/tm-sparc.h (FIX_CALL_DUMMY): Fix byte-order
problems. Makes DOS hosted function calling work.
* sparclite/crt0.s: Define _start to make COFF happy.
* testsuite/config/rom68k.exp (gdb_target_rom68k): Use
$targetname, $serialport and $baud instead of hardwired variables.
* testsuite/gdb.base/{sigall.exp signals.exp}: Skip these if the
target doesn't support signals.
(sunpro_static_transform_name): Renamed from
solaris_static_transform_name.
* config/sparc/tm-sun4os4.h (STATIC_TRANSFORM_NAME):
Define to sunpro_static_transform_name for acc 3.0 compiled
executables.
* findvar.c: Move default def of CANNOT_STORE_REGISTER closer to
the beginning of the code.
* (write_register_gen): New routine. Analogous to
read_register_gen.
* (write_register_bytes): Another rewrite! Make it smarter about
not updating regs with the same value.
* monitor.c (printf_monitor readchar): Use stderr instead of
stdout to output debug info. Also cleanup readchar a little.
* (expect): Make sure that excessive responses are null
terminated.
* (monitor_open): Check for magic number in monitor_ops struct.
Allow multiple commands as init strings. Also, clear all
breakpoints.
* (monitor_resume monitor_wait): Send a command to dump all the
regs for those targets which don't do so when waking up after a
continue command.
* (monitor_wait): Handle excessive response output better.
* (monitor_write_memory): Use block fill, word, and long word
commands (if they exist) to write memory more efficiently.
* General cleanups to use flag bits instead of individual flag
words in monitor_ops struct.
* (monitor_command): Return output from command.
* (monitor_load_srec): Allocate buffer only once. Use alloca.
Wait for load response string instead of using a timeout to start
sending S-records. Fix bug where value of srec_frame shrinks. If
hashmark is set, print `-' for retransmissions. General cleanups.
* (monitor_make_srec): Get rid of S-record default type kludge.
* monitor.h: Use seperate struct for memory and register
read/write commands. Memory commands can come in byte, word,
long, and longlong forms.
* (monitor_ops): Change lots of fields. Generalize some stuff.
Put all flags into flags word. Allow init to be a list of commands.
Add command for clearing all breakpoints, block fill, dumping all
registers.
* remote-est.c: Rewrite to use new monitor conventions.
* config/m68k/est.mt (TDEPFILES): Add monitor.o.
* config/m68k/tm-est.h: Set NUM_REGS to 18.
* testsuite/gdb.base/break.exp: Lots of cleanups. Use gdb_test
more thoroughly.
these routines much smarter about updating registers from the
target, only doing so when absolutely necessary. This really
speeds up register modification on some remote targets.
* monitor.c: More cleanups. Get rid of monitor_load_ascii_srec.
BFD makes this unnecessary. Lots of debugging speedups.
* (expect): NULL terminate return string.
* (monitor_open monitor_supply_register parse_register_dump
monitor_wait monitor_fetch_register): Switch to using GNU regexp
library to parse multi-register displays.
* (monitor_read_memory): Read multiple bytes (up to 16) at once.
* (monitor_create_inferior): Call clear_proceed_status to make run
command notice first breakpoint.
* (monitor_load): Clean up. Reset inferior_pid, set pc to start
address and reset symbol table stuff to make loads put things into
a fresh state.
* (monitor_load_srec): Lower sleep time to 1 second.
* monitor.h (struct monitor_ops): Add register_pattern and
supply_register to monitor_ops.
* rom68k-rom.c: Add new support for handling register dumps.
* config/m68k/tm-m68k.h: Define D0_REGNUM and A0_REGNUM for register
dump handling.
* partial-stab.h: Call it.
* stabsread.c (define_symbol) [STATIC_TRANSFORM_NAME]: Call
STATIC_TRANSFORM_NAME to get the name and use minimal symbols to
get the address.
* sparc-tdep.c (solaris_static_transform_name): New function.
* config/arc/arc.mt: new target makefile for arc processor.
* config/arc/tm-arc.h: new target header for arc processor.
* config/arc/go32.mh: new go32 host makefile for arc processor.
* config/arc/xm-go32.h: new go32 host header for arc processor.
* infrun.c (handle_command, signals_info), infcmd.c
(signal_command): Use it.
* infrun.c, infcmd.c: Update docstrings for these commands.
* target.h (enum target_signal), target.c (signals), target.c
(target_signal_from_host, target_signal_to_host): Add
TARGET_SIGNAL_REALTIME_* and TARGET_SIGNAL_PRIO for lynx.
* config/tm-lynx.h: Define signal numbers for realtime events.
* sparc-tdep.c (sparc_init_extra_frame_info): Set it.
(examine_prologue, sparc_init_extra_frame_info): Use ->frame plus
->sp_offset to compute the address something is saved at, not
->bottom.
* sparc-tdep.c (get_saved_register): New function.
* tm-sparc.h: Define GET_SAVED_REGISTER; don't define
FRAME_FIND_SAVED_REGS, HAVE_REGISTER_WINDOWS or REGISTER_IN_WINDOW_P.
* stack.c (frame_info): Add comment about what to do if
FRAME_FIND_SAVED_REGS is not defined.
* sparc-tdep.c (sparc_init_extra_frame_info): Set ->frame field
here. Get it right for flat frames.
* sparc-tdep.c (sparc_frame_chain): Instead of returning
meaningful value for ->frame field, just return dummy value.
This change is needed because the old code didn't deal with mixed
flat and non-flat frames.
* sparc-tdep.c (sparc_pop_frame): Write SP_REGNUM from
frame->frame, don't go through saved regs for this.
* sparc-tdep.c: Move guts of skip_prologue to new function
examine_prologue. Check for flat prologue and set is_flat.
Provide the caller with the information about what is saved where
if desired.
(skip_prologue, sparc_frame_find_saved_regs): Call examine_prologue.
* sparc-tdep.c: Replace union sparc_insn_layout and anonymous
union in isannulled, which won't work on a little-endian host,
with X_* macros.
* sparc-tdep.c (sparc_frame_saved_pc): If addr == 0, the saved PC
is still in %o7.
* config/sparc/tm-sparc.h: Define INIT_FRAME_PC and
INIT_FRAME_PC_FIRST.
* blockframe.c (get_prev_frame_info): Modify comments regarding
INIT_FRAME_PC_FIRST and the sparc.
* sparc-tdep.c (single_step): Use 4 not sizeof (long) for size of
instruction.
the return type of methods to avoid infinite loops with anonymous
types.
* valops.c (search_struct_field): Handle anonymous unions.
* sparc-tdep.c (sunos4_skip_trampoline_code): New function
to correctly handle steps into -g compiled PIC objects in the
main executable.
* config/sparc/tm-sun4os4.h (SKIP_TRAMPOLINE_CODE):
Redefine to use sunos4_skip_trampoline_code.
* dwarfread.c (DWARF_REG_TO_REGNUM): Provide a default mapping
from DWARF to GDB register numbering.
* dwarfread.c (locval): Use DWARF_REG_TO_REGNUM to map the
register value.
* config/mips/tm-mipsv4.h (DWARF_REG_TO_REGNUM): Define.
Various name changes to match those used by hp-symtab.h.
No longer sanitize away hpread changes. Merge ChangeLog.hpread into
ChangeLog and ChangeLog-93.
symbol special handling when INHIBIT_SUNSOLIB_TRANSFER_TABLE_HACK
is defined.
* infrun.c (IN_SOLIB_CALL_TRAMPOLINE): Renamed from
IN_SOLIB_TRAMPOLINE. All callers changed.
(IN_SOLIB_RETURN_TRAMPOLINE): Provide default definition.
(wait_for_inferior): Handle single stepping through trampolines on
return paths from shared libraries.
* config/pa/tm-hppa.h (IN_SOLIB_CALL_TRAMPOLINE): Use
in_solib_call_trampoline.
(IN_SOLIB_RETURN_TRAMPOLINE): Use in_solib_return_trampoline.
(INHIBIT_SUNSOLIB_TRANSFER_TABLE_HACK): Define.
* hppa-tdep.c (in_solib_call_trampoline): New function.
(in_solib_return_trampoline): New function.
(BC_BREAKPOINTS): Disable.
* sh-tdep.c (print_insn): Cope with big and little endian machines.
* sh/sh.mt: Use libsim.a
* sh/tm-sh.h (TARGET_BYTE_ORDER_SELECTABLE): New
(BREAKPOINT): Changed to be byteorder independent.
* mips-tdep.c (mips_processor_type, tmp_mips_processor_type,
mips_generic_reg_names, mips_r3041_reg_names,
mips_r3051_reg_names, mips_r3081_reg_names,
mips_processor_type_table): New globals.
(mips_do_registers_info): Don't display register if name is empty.
(mips_set_processor_type_command): New command.
(mips_show_processor_type_command): New command.
(mips_set_processor_type): New function.
(mips_read_processor_type): New function.
* config/mips/tm-idt.h (DEFAULT_MIPS_TYPE): New macro.
* config/mips/tm-mips.h (DEFAULT_MIPS_TYPE): New macro.
(NUM_REGS): Increase to account for all CP0 registers.
(REGISTER_NAMES): Add empty names for CP0 registers.
(FIRST_EMBED_REGNUM, LAST_EMBED_REGNUM): Adjust.
(PRID_REGNUM): New macro.
* nlm/gdbserve.c: Include <nwtypes.h> before other NetWare headers.
* nlm/alpha.c: Likewise.
* nlm/ppc.c: Likewise.
* nlm/ppc.c (strtol): Removed, it is provided by NetWare C Library.
(StopBell): New function (stubbed out).
single frame backtracing within the library only. Only works when
using the HPUX 9 dynamic linker. More functionality to be added
soon.
* somsolib.c, somsolib.h: New files.
* Makefile.in (HFILES_NO_SRCDIR): Add somsolib.h
(ALLDEPFILES): Add somsolib.c.
(somsolib.o): Add some dependencies.
* mpw-make.in (HFILES_NO_SRCDIR): Add somsolib.h
(ALLDEPFILES): Add somsolib.c.
(somsolib.o): Add some dependencies.
* somread.c (som_symtab_read): Accept multiple section offsets.
All callers changed. Adjust all text symbols with the first
section offset.
* symfile.c (find_lowest_section): Enable this function. Add some
tie-breaking logic when sections have the same vma.
(syms_from_objfile): Use find_lowest_section rather than looking
for ".text" by name. Relax warning to only warn if the lowest
section is not a code section.
* config/pa/{hppabsd.mh, hppahpux.mh} (NATDEPFILES): Add somsolib.o
* config/pa/{nm-hppab.h, nm-hppah.h}: Include somsolib.h.
Don't test for zero backchain pointer to recognize a signal
handler frame, if read() gets interrupted by a signal, the
backchain will be non zero.
(SIG_FRAME_FP_OFFSET): Move to here from rs6000-tdep.c,
improve comment.
(SIG_FRAME_PC_OFFSET): New definition.
(FRAME_SAVED_PC): Return saved pc from sigcontext if this
is a signal handler frame.
* rs6000-tdep.c (function_frame_info): Do not error out
if we can't access the instructions.
* config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR):
New definition to get the function address from a function pointer.
* valops.c (find_function_addr): Use it when calling a user
function through a function pointer.
(symfile.h, objfiles.h, xcoffsolib.h): Include.
(vmap): New global variable.
(exec_close): Close and free objects in vmap chain.
(exec_file_command) [IBM6000_TARGET]: Set up initial vmap.
(bfdsec_to_vmap, map_vmap): Moved here from xcoffexec.c.
(exec_files_info): Print vmap information.
* xcoffexec.c: Remove.
* config/rs6000/rs6000.mt, config/rs6000/rs6000lynx.mt
(TDEPFILES): Use exec.o instead of xcoffexec.o.
* TODO: Remove pertinent items.
and stack pointer during stepping, to speed things up.
A. Changes to not select a frame until we need a selected frame:
* blockframe.c (flush_cached_frames): Call select_frame (NULL, -1).
* infrun.c (wait_for_inferior): Move call to select_frame back to
normal_stop. This reverts a change of 13 Apr 94 (it says Jeff
Law, but the change was my idea); the only reason for that change
was so we could save and restore the selected frame in
wait_for_inferior, and now that flush_cached frames clears the
selected frame, that should work OK now.
B. Changes to not create a current_frame until we need one:
* blockframe.c (get_current_frame): If current_frame is NULL, try
to create an innermost frame.
* sparc-tdep.c (sparc_pop_frame), infcmd.c (run-stack_dummy),
infrun.c (wait_for_inferior), thread.c (thread_switch),
convex-tdep.c (set_thread_command), a29k-tdep.c (pop_frame),
alpha-tdep.c (alpha_pop_frame), convex-xdep.c (core_file_command),
h8300-tdep.c (h8300_pop_frame), h8500-tdep.c (h8300_pop_frame),
hppa-tdep.c (hppa_pop_frame), i386-tdep.c (i386_pop_frame),
i960-tdep.c (pop_frame), m68k-tdep.c
(m68k_pop_frame), mips-tdep.c (mips_pop_frame), rs6000-tdep.c
(push_dummy_frame, pop_dummy_frame, pop_frame), sh-tdep.c
(pop_frame), config/arm/tm-arm.h (POP_FRAME),
config/convex/tm-convex.h (POP_FRAME), config/gould/tm-pn.h
(POP_FRAME), config/ns32k/tm-merlin.h (POP_FRAME),
config/ns32k/tm-umax.h (POP_FRAME), config/tahoe/tm-tahoe.h
(POP_FRAME), config/vax/tm-vax.h (POP_FRAME): Don't
call create_new_frame.
* corelow.c (core_open), altos-xdep.c (core_file_command),
arm-xdep.c (core_file_command), gould-xdep.c (core_file_command),
m3-nat.c (select_thread), sun386-nat.c (core_file_command),
umax-xdep.c (core_file_command): Don't call create_new_frame; do
call flush_cached_frames.
* blockframe.c (reinit_frame_cache): Don't call create_new_frame
or select_frame.
C. Changes to get rid of stop_frame_address and instead only
fetch the frame pointer when we need it.
* breakpoint.c (bpstat_stop_status): Remove argument
frame_address; use FRAME_FP (get_current_frame ()).
* infrun.c (wait_for_inferior): Don't pass frame pointer to
bpstat_stop_status.
* infrun.c (wait_for_inferior): Use FRAME_FP (get_current_frame
()) instead of stop_frame_address.
* infrun.c (save_inferior_status, restore_inferior_status),
inferior.h (struct inferior_status): Don't save and restore
stop_frame_address.
* inferior.h, infcmd.c, thread.c (thread_switch), m3-nat.c
(select_thread): Remove stop_frame_address and uses thereof.
D. Same thing for the stack pointer.
* infrun.c (wait_for_inferior): Remove stop_sp and replace
uses thereof with read_sp ().
E. Change to eliminate one nasty little spot where we were
wanting to know the frame pointer from before the current step
(idea from GDB 3.5, which saved my ass, because my other ideas of
how to fix it were very baroque).
* infrun.c: Remove prev_frame_address.
* infrun.c (wait_for_inferior, step_over_function): Use
step_frame_address instead of prev_frame_address.
F. Same basic idea for the stack pointer.
* inferior.h, infcmd.c: New variable step_sp.
* infcmd.c (step_1, until_next_command): Set it.
* infrun.c: Remove prev_sp and replace uses by step_sp.
* infrun.c (wait_for_inferior): If we get out of the step
range, then set step_sp to the current stack pointer before we
start going again.
defined, define as 0.
(FIX_CALL_DUMMY): Rewrite to remove presumption that host and
target are similar.
* config/mips/tm-idt.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
* config/mips/tm-idtl.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
* config/mips/tm-idt64.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
(BREAKPOINT): Remove definition.
* config/mips/tm-idtl64.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
(BREAKPOINT): Remove definition.
* config/mips/tm-mips64.h (GDB_TARGET_IS_MIPS64): Define with a
value of 1, rather than without a value.
* config/mips/tm-bigmips64.h (GDB_TARGET_IS_MIPS64): Likewise.
<link.h>.
* i386b-nat.c: Add i386_float_info(), etc.
* config/i386/nm-nbsd.h: #define FLOAT_INFO.
* config/nm-nbsd.h: New file, for generic NetBSD native support.
* config/i386/nm-nbsd.h: Use it.
* config/sparc/nm-nbsd.h: Use it.
* config/ns32k/nm-nbsd.h: Use it.
* configure.in (i386-*-netbsd): Use config/i386/nbsd.m[ht].
(ns32k-*-netbsd): Use config/ns32k/nbsd.m[ht].
* config/i386/{nbsd.mh,nbsd.mt,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}:
New files, support for NetBSD/i386.
* config/ns32k/{nbsd.mh,nbsd.mh,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}:
New files, support for NetBSD/ns32k.
of config/nm-trash.h.
* config/nm-trash.h: Remove.
* config/nm-empty.h: New file.
* config/i386/nm-m3.h: New file, includes config/nm-m3.h.
* config/mips/nm-m3.h: New file, includes config/nm-m3.h.
* config/m68k/nm-sysv4.h: New file, includes config/nm-sysv4.h.
* config/mips/nm-sysv4.h: New file, includes config/nm-sysv4.h.
* config/sparc/nm-sysv4.h: New file, includes config/nm-sysv4.h.
the end of the list of objfiles, instead of at the beginning.
* xcoffread.c (allocate_include_entry): New function, abstracted
from code in record_include_begin.
(record_include_begin, record_include_end): Call it.
* blockframe.c (reinit_frame_cache): Test inferior_pid instead of
target_has_stack to decide whether to create a real stack frame
for the cache.
* coffread.c (process_coff_symbol) [CXUX_TARGET]: Ignore vendor
section.
* config/m88k/tm-cxux.h (CXUX_TARGET): Define.
* h8300-tdep.c: Include "dis-asm.h" instead of <dis-asm.h>.
* config/xm-nbsd.h: fix typo.
* config/sparc/{nm,tm,xm}-nbsd.h: New files, renamed from
{nm,tm,xm}-sparcnbsd.h to conform to prefered file naming
conventions.
* configure.in: (sparc-*-netbsd): use config/sparc/nbsd.m[ht].
* nlm/aio.h: Protect from multiple inclusions.
* nlm/alpha-io.S: Remove everything we don't need.
* nlm/{alpha-patch.c, alpha-patch.h, alpha-uart.c, alpha-uart.h}:
Remove, no longer needed.
* nlm/alpha.c: Merge in lots of stuff from previous files.
* nlm/alpha.h: Don't #include alpha-patch.h. Make
breakpoint_insn extern.
* Move stuff from alpha-patch.h into here.
* config/alpha/gdbserve.mt (TDEPFILES): Get rid of alpha-uart.o.
(hpread.o): Add dependencies.
* somread.c: Do not include "aout/aout64.h". SOM has nothing to
do with a.out.
(BYTES_IN_WORD): Delete.
(som_symfile_read): Call hpread_build_psymtabs to build any
minimal symbols based on the HP C native debug symbols.
(som_symfile_finish): Call hpread_symfile_finish.
(som_symfile_init): Call hpread_symfile_init.
* config/pa/tm-hppa.h (HPREAD_ADJUST_STACK_ADDRESS): Define.
* hppa-tdep.c (hpread_adjust_stack_address): New function.
* config/pa/hppabsd.mh (NATDEPFILES): Add hpread.o
* config/pa/hppahpux.mh (NATDEPFILES): Likewise.
* hpread.c: New file.
NLMCONV_FOR_TARGET. (SUBDIRS): Add nlm target.
* configure.in (powerpc-*-netware*): Automatically configure nlm
subdir.
* nlm/Makefile.in: Add {CC NLMCONV LD}_FOR_TARGET. Remove alpha
specific stuff. Make things more configurable.
* nlm/configure.in: Add powerpc-*-netware* target. Use
gdbserve.mt/cpu.c/cpu.h for target stuff. Get rid of tm/xm/nm.h
files.
* nlm/gdbserve.c: Move Alpha specific stuff into other files.
Remove lots of architecture-specific stuff.
* nlm/gdbserve.def: Add new imports.
* nlm/ppc.c, nlm/ppc.h: New files that contain PowerPC specific code.
* nlm/prelude.c: Don't include libhooks.h, get rid of call to
register library.
* nlm/prelude.o: What was this doing here?
* config/alpha/gdbserve.mt: Defs for alpha nlm stub.
* config/powerpc/gdbserve.mt: Defs for PowerPC nlm stub.
* config/powerpc/ppc-nw.mt: Defs for PowerPC target for GDB.
* config/powerpc/tm-ppc-nw.h: Ditto.
* nlmstub.def: New file, contains imports for 386 nlm stub.
* Add rule for annotate.o to keep Sun make happy.
* configure.in: Add config for powerpc/Netware.
* partial-stab.h (near N_SO): Don't call START_PSYMTAB with null
filename. This speeds up handling of trailing N_SO stabs (they
mark the end of a .o file).
* target.c, target.h: Change the way pushing and popping of
targets work to support target overlays and inheritance.
* corelow.c, hppa-tdep.c, inflow.c, remote-nindy.c, utils.c:
Fixup references to current_target, due to previous changes.
* config/i386/tm-i386nw.h: Enable longjmp support. More work is
needed to get the address of longjmp out of the target.
comments to reflect that this file deals with SOM (an object file
format), rather than the PA (a cpu).
(Makefile.in): Chaned appropriately.
(config/pa/hppabsd.mh, config/pa/hppahpux.mh): Likewise.
* dbxread.c (somstab_build_psymtabs): Renamed from
pastab_build_psymtabs.
(SiowGDB): New target, GDB using SIOW library.
(init-new.c): New target, attempt to generate init.c from sources.
(main.c.o, top.c.o): Put each in its own segment.
* main.c (main) [MPW]: Always call mac_init.
* utils.c (query) [MPW]: Always return "yes" if in MacGDB, output
an extra newline otherwise.
* mac-xdep.c: More comments in various places, remove junk.
(mac_init): Add tests for MPW and SIOW.
(use_wne, has_color_qd): Renamed.
(use_color_qd): New variable.
(grow_window): Only do console resizing to console window,
call resize_console_window.
(zoom_window): Call resize_console_window.
(resize_console_window, scroll_text): New functions.
(adjust_console_sizes): Always align viewrect to even multiples of
text lines.
(adjust_console_text): Always scroll by whole lines.
(hacked_vfprintf, hacked_puts, hacked_fputc, hacked_putc): Force a
recalculation of scroll positions if a newline was output.
(hacked_fflush): Similarly, for flushing.
(hacked_fgetc): New function, aborts if called in MacGDB.
* ser-mac.c (mac_readchar): Rename starttime to start_time,
remove debugging printf.
(mac_write): Sleep on first 4 writes.
(sec_sleep): New function, works like standard sleep.
* macgdb.r: Adjust positioning and contents of About box.
Set minimum size to 2000K, preferred size to 5000K.
* config/m68k/xm-mpw.h (fgetc): Define as a macro.
tm-mips64.h tm-bigmips64.h
* config/mips/tm-mips64.h: define FORCE_LONG_LONG to force LONGEST
to be long long in gdb.
* config/mips/tm-bigmips.h: ditto.
* (nlm_symfile_read): Record bounds of main() so that backtrace
command will know where to stop.
* objfiles.c (objfile_relocate): Relocate entry point/func info
for backtrace as well.
* objfiles.h: Define values for invalid PCs for entry point info.
* symfile.c (init_entry_point_info): Initialize invalid values
with aforementioned macros.
* config/alpha/tm-alphanw.h: Turn on FRAME_CHAIN_VALID_ALTERNATE
to cause backtrace to stop when it gets back to main().
* config/i386/tm-i386nw.h: Ditto.
BROKEN_LARGE_ALLOCA. Do the cleanup before returning, rather than
leaving it on the chain. Reindent much of this function.
* config/sparc/{xm-sun4sol2.h,xm-sun4os4.h},
config/i386/{xm-sun386.h,xm-i386m3.h,xm-i386mach.h},
config/m68k/{sun3os4.h,xm-news.h,xm-hp300hpux.h},
config/ns32k/xm-ns32km3.h: Remove all references to
BROKEN_LARGE_ALLOCA; with the above change it is no longer needed.
* main.c, fork-child.c, many config files: Remove all
SET_STACK_LIMIT_HUGE code; with the above changes it should no
longer be needed.
* symtab.c (lookup_partial_symbol): Use if and abort, not assert.
This avoids __eprintf troubles.
* main.c (main): Surround in #ifndef MAIN_OVERRIDE. Move
initialization code which needs to be called even if we bypass the
command line stuff into gdb_init.
* utils.c (fputs_unfiltered): Surround in #ifndef
FPUTS_UNFILTERED_OVERRIDE.
* Makefile.in (libgdb.a): New target.
* utils.c: Rearrange I/O stuff a bit so that all output goes
through fputs_unfiltered. Use vasprintf; removes arbitrary limit
which made %s not work with arbitrarily large strings.
* printcmd.c (printf_command): Use printf_filtered, not
printf_unfiltered and printf, now that arbitrary limit is gone.
Thu May 12 17:04:58 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-make.in (INCLUDE_CFLAGS): Add readline source dir.
(READLINE_CFLAGS, READLINE_SRC, READLINE_DIR): Uncomment.
(TSOBS): Don't compile inflow.c.
(all, install): Add MacGDB.
* main.c (main): Do Mac-specific init and command loop if a
standalone app, skip full option help message if compiling
with MPW C.
(gdb_readline): If MPW, add a newline after the (gdb) prompt.
* utils.c (_initialize_utils): If MPW, don't try to use termcap to
compute the window size.
* config/m68k/xm-mpw.h (printf, fprintf, fputs, fputc, putc,
fflush): Define as macros that expand into hacked_... versions.
(StandAlone, mac_app): Declare.
* macgdb.r (SIZE): Set the default partition to 4000K.
* mac-xdep.c (readline.h, history.h): Include.
(terminal.h): Don't include.
(mac_app): Define.
(gdb_has_a_terminal): Define Mac-specific version.
(do_keyboard_command): Simplify search for command string.
(readline): Define as gdb_readline.
Add other history/readline stubs to make main gdb link.
(hacked_fprintf, hacked_printf, hacked_vfprintf, hacked_fputs,
hacked_fputc, hacked_fflush): New functions, intercept output to
stdout and stderr, send to console window.
* mpw-make.in (MacGDB): New target, standalone Mac-hosted gdb.
(XDEPFILES): Define.
(main.c.o): Compile with gC instead of C.
* mac-defs.h: New file, menu etc definitions shared between
C and Rez files.
* macgdb.r: New file, Rez (resource compiler) resource
definitions.
* mac-xdep.c: New file, Mac host interface code.
* config/m68k/xm-mpw.h (PATHNAME_SEPARATOR): Rename to
DIRNAME_SEPARATOR.
(PATHNAME_SEPARATOR_STRING): Remove.
(SIGQUIT, SIGHUP): Define.
(fileno, R_OK): Define.
Remove all conditionals and definitions for ptx.
I386_REGNO_TO_SYMMETRY moved to here from symm-tdep.c.
Fix addresses of floating point registers in REGISTER_U_ADDR.
STORE_STRUCT_RETURN now handles cc and gcc conventions.
FRAME_CHAIN, FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC,
IN_SIGTRAMP, SIGCONTEXT_PC_OFFSET defined to make backtracing through
signal trampoline code work.
* config/i386/xm-symmetry.h: Clean up, it is now only used for Dynix.
Remove all conditionals and definitions for ptx.
Remove KDB definitions.
for the structure's type. All callers changed.
* valops.c (call_function_by_hand): Check REG_STRUCT_HAS_ADDR
for each structure argument rather than assuming it's either
true or false for all structure arguments.
* config/pa/tm-hppa.h (REG_STRUCT_HAS_ADDR): Depend only
on the length structure passed, not the compiler used.
* config/sparc/tm-sparc.h (REG_STRUCT_HAS_ADDR): Accept additional
argument for the structure's type.
improve remote debugging efficiency. Also fixed problems with
doing function calls for programs with no entry points.
* infcmd.c (run_stack_dummy): Use CALL_DUMMY_ADDRESS instead of
entry_point_address.
* inferior.h (PC_IN_CALL_DUMMY): ditto.
* mdebugread.c (parse_symbol, parse_procedure, parse_external,
parse_lines): Pass section_offsets info to these routines so that
we can relocate symbol table entries upon readin.
* (psymtab_to_symtab_1): Set symtab->primary to tell
objfile_relocate to do relocations for our symbols.
* (ecoff_relocate_efi): New routine to relocate adr field of PDRs
(which hang off of the symbol table).
* Use prim_record_minimal_symbols_and_info instead of
prim_record_minimal_symbols to supply section info to make minimal
symbol relocations work.
* minsyms.c (prim_record_minimal_symbols_and_info): If section is
-1, try to deduce it from ms_type.
* objfiles.c (objfile_relocate): Use ALL_OBJFILE_SYMTABS where
appropriate. Handle relocation of MIPS_EFI symbols special. Also,
add code to relocate objfile->sections data structure.
* remote.c (get_offsets): Use new protocol message to acquire
section offsets from the target.
* (remote_wait): Get rid of relocation stuff. That's all handled
by objfile_relocate now.
* config/alpha/alpha-nw.mt (TM_FILE): Use tm-alphanw.h.
* config/alpha/tm-alpha.h: Define CALL_DUMMY_ADDRESS, and
VM_MIN_ADDRESS.
* config/alpha/tm-alphanw.h: DECR_PC_AFTER_BREAK=0, VM_MIN_ADDRESS=0.
convert a LOC_ARG to a LOC_REF_ARG. Update code which combines
'p' and 'r' symbol descriptors into a single symbol to look for a
LOC_REF_ARG.
* README, config/sparc/tm-sparc.h: Update comments.
(pc_in_interrupt_handler): New function. Also add PARAM decl.
(find_proc_framesize): Deal with HPUX setting SAVE_SP bit for
signal trampoline and interrupt routines.
(frame_saved_pc): Handle signal trampolines and interrupt routines.
(frame_chain, frame_chain_valid): Likewise.
(hppa_frame_find_saved_regs): Likewise. Also deal with special
saved regs convention for SP.
* tm-hppa[bho].h: FRAME_FIND_SAVED_PC_IN_SIGTRAMP): Define.
(FRAME_BASE_BEFORE_SIGTRAMP): Define.
(FRAME_FIND_SAVED_REGS_IN_SIGTRAMP): Define.
* tm-hppah.h (IN_SIGTRAMP): Define.
cp-valprint.c, eval.c, expprint.c, findvar.c, language.c,
objfiles.h, infcmd.c, printcmd.c, stack.c, typeprint.c,
valarith.c, valops.c, valprint.c, value.h, values.c: Replace
value with value_ptr. This is for the ptx compiler.
* objfiles.h, target.h: Don't declare a "sec_ptr" field using a
"sec_ptr" typedef.
* symm-nat.c: Add a bunch of stuff for symmetry's ptrace stuff.
#if 0 i386_float_info.
* symm-tdep.c (round): Remove. Also remove sgttyb.
* symm-tdep.c: Remove lots of stuff which duplicates stuff from
i386-tdep.c. Remove register_addr and ptx_coff_regno_to_gdb.
* i386-tdep.c (i386_frame_find_saved_regs): Put in
I386_REGNO_TO_SYMMETRY check in case it is needed for Dynix
someday.
* config/i386/nm-symmetry.h: Change KERNEL_U_ADDR. Move
stuff from PTRACE_READ_REGS, PTRACE_WRITE_REGS macros to
symm-nat.c. Define CHILD_WAIT and declare child_wait().
* config/i386/tm-symmetry.h: Remove call function stuff; stuff in
tm-i386v.h is apparently OK.
* config/i386/xm-symmetry.h [_SEQUENT_]: Define HAVE_TERMIOS not
HAVE_TERMIO. Define MEM_FNS_DECLARED, NEED_POSIX_SETPGID, and
USE_O_NOCTTY.
VARIABLES_INSIDE_BLOCK to OS9K_VARIABLES_INSIDE_BLOCK.
* symfile.c (symbol_file_command): Check for (CORE_ADDR)-1, not
(CORE_ADDR)0, from target_link, since that is what it uses.
Process name at end, not during parsing (like we did before Kung's
change), so that -readnow and -mapped can appear anywhere.
Make text_relocation a local variable.
* config/i386/i386os9k.mt: Fix comment.
* Makefile.in (ALLDEPFILES): Add remote-os9k.c.
* os9kread.c: Put "comments" after #endif inside /* */.
* stabsread.h: Add os9k_stabs variable.
* stabsread.c (start_stabs), os9kread.c (os9k_process_one_symbol):
Set it.
* stabsread.c (define_symbol): If os9k_stabs, put a 'V' symbol
descriptor in global_symbols not local_symbols.
(read_type): If os9k_stabs, accept 'c', 'i', and 'b' type
descriptors.
(read_type): If os9k_stabs, accept function parameters after 'f'
type descriptor.
(read_array_type): If os9k_stabs, don't expect index type and
expect lower and upper to be separated by ',' not ';'.
(read_enum_type): If os9k_stabs, read a number before the first
enumeration constant.
(os9k_init_type_vector): New function.
(dbx_lookup_type): Call it when starting new type vector.
* config/i386/tm-i386os9k.h: Define BELIEVE_PCC_PROMOTION.
* (os9k_process_one_symbol): Call define_symbol not os9k_define_symbol.
* os9kstab.c: Removed.
* Makefile.in: Update accordingly.
* objfiles.c (objfile_relocate_data): Removed.
* remote-os9k.c (rombug_wait): Call objfile_relocate
not objfile_relocate_data.
* objfiles.h, objfiles.c: Remove find_pc_objfile.
* remote-os9k.c (rombug_wait): Call find_pc_section not
find_pc_objfile.
* main.c (quit_command): Check inferior_pid; revert Kung change.
* remote-os9k.c (rombug_create_inferior): Set inferior_pid.
error() on TYPE_CODE_FLT arguments whose size is greater than 8,
swap all other TYPE_CODE_FLT arguments as mips_push_arguments
ensures that floats are promoted to doubles before they are pushed
on the stack.
config/ns32k/ns32km3.mh: Define NAT_FILE.
* config/nm-m3.h: Change guard from _OS_MACH3_H_ and _OS_MACH3_H
(it was inconsistent and namespace-wrong) to NM_M3_H.
* m3-nat.c (mach_really_wait): Change parameter name to ourstatus.
(m3_open): New function.
(m3_ops): Use it.
* TODO: Update Mach section.
* Makefile.in: Remove "rapp" stuff; it is superseded by gdbserver.
New functions.
(mips_store_word): Change calling convention to return errors, and
to provide old contents if the caller wants it.
(mips_xfer_memory): Deal with errors from mips_store_word.
* config/mips/tm-idt.h, config/mips/tm-idtl.h: Remove BREAKPOINT
define now that remote-mips.c doesn't use BREAKPOINT.