* c-exp.y (%union): Change dval to typed_val_float. Use DOUBLEST
to store actual data. Change types of INT and FLOAT tokens to
typed_val_int and typed_val_float respectively. Create new token
DOUBLE_KEYWORD to specify the string `double'. Make production
for FLOAT use type determined by parse_number. Add production for
"long double" data type.
* (parse_number): Use sscanf to parse numbers as float, double or
long double depending upon the type of typed_val_float.dval. Also
allow user to specify `f' or `l' suffix to explicitly specify
float or long double constants. Change typed_val to
typed_val_int.
* (yylex): Change typed_val to typed_val_int. Also, scan for
"double" keyword.
* coffread.c (decode_base_type): Add support for T_LNGDBL basic
type.
* configure, configure.in: Add check for long double support in
the host compiler.
* defs.h: Define DOUBLEST appropriatly depending on whether
HAVE_LONG_DOUBLE (from autoconf) is defined. Also, fix prototypes
for functions that handle this type.
* expression.h (union exp_element): doubleconst is now type
DOUBLEST.
* m2-exp.y f-exp.y (%union): dval becomes type DOUBLEST.
* findvar.c (extract_floating): Make return value be DOUBLEST.
Also, add support for numbers with size of long double.
* (store_floating): Arg `val' is now type DOUBLEST. Handle all
floating types.
* parser-defs.h parse.c (write_exp_elt_dblcst): Arg expelt is now
DOUBLEST.
* valarith.c (value_binop): Change temp variables v1, v2 and v to
type DOUBLEST. Coerce type of result to long double if either op
was of that type.
* valops.c (value_arg_coerce): If argument type is bigger than
double, coerce to long double.
* (call_function_by_hand): If REG_STRUCT_HAS_ADDR is defined, and
arg type is float and > 8 bytes, then use pointer-to-object
calling conventions.
* valprint.c (print_floating): Arg doub is now type DOUBLEST.
Use appropriate format and precision to print out floating point
values.
* value.h: Fixup prototypes for value_as_double,
value_from_double, and unpack_double to use DOUBLEST.
* values.c (record_latest_value): Remove check for invalid
floats. Allow history to store them so that people may examine
them in hex if they want.
* (value_as_double unpack_double): Change return value to DOUBLEST.
* (value_from_double): Arg `num' is now DOUBLEST.
* (using_struct_return): Use RETURN_VALUE_ON_STACK macro (target
specific) to expect certain types to always be returned on the stack.
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.
that hardware watchpoint removal problems won't leave breakpoint
traps in the target.
* configure configure.in: Make --enable-gdbtk be the default.
* remote-e7000.c (e7000_insert_breakpoint,
e7000_remove_breakpoint): Use e7000 based breakpoints, not memory
breakpoints.
* (e7000_wait): Adjust PC back by two when we see a breakpoint to
compensate for e7000 maladjustment.
* sparcl-tdep.c (sparclite_check_watch_resources): Fix logic bug
which prevented hardware watchpoints from working.
* 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.
(CC_FOR_TARGET, CXX_FOR_TARGET): Use it to find target libraries.
* configure.in (X_CFLAGS): Fix typo.
(target_subdir): Set to "${target_alias}/" if cross.
* configure: Regenerated.
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.
* 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
around calls to create_longjmp_breakpoint. Why install the
breakpoints if we can't find the longjmp target?
* infrun.c (wait_for_inferior): Cleanup comments near call test.
* remote-mips.c: Fixed a bunch of prototypes to avoid char/int
complaint from picky compilers. Add comment to mips_expect.
Replace all instances of sr_get_debug with remote_debug.
* (mips_readchar): Don't jam init string to monitor.
mips_initialize() handles that.
* (mips_receive_header): Print better message when we get too
much garbage.
* (mips_request): Allow caller to pass in buff to allow them to
analyze the returned message.
* (mips_initialize): Re-do initialization to try sending a BREAK,
a ^C, and then a download escape sequence. Cleanup protocol
startup. Eliminate sleeps. Clear breakpoints (if using monitor
breakpoints). Re-init frame.
* (mips_detach): Close down target.
start-sanitize-gm
* (mips_resume): Pass signal down to target.
* (mips_create_inferior): Start target with TARGET_SIGNAL_PWR.
end-sanitize-gm
* (mips_wait): Handle return status with registers, or breakpoint stuff.
* (mips_kill): Add ^C handling.
* (mips_insert_breakpoint mips_remove_breakpoint): Call new
breakpoint stuff if enabled.
* (calculate_mask remote_mips_set_watchpoint
remote_mips_remove_watchpoint remote_mips_stopped_by_watchpoint):
Hardware watchpoint/breakpoint stuff.
* (common_breakpoint): Common code for new monitor breakpoint commands.
* (mips_load): Don't use `prompt'. It's a global variable.
* top.c (dont_repeat_command): New command for use in
user-defined commands to suppress auto-repeat (by hittin return key).
start-sanitize-gm
* utils.c (request_quit): Call target_kill here. Good idea.
Needs a better implementation.
end-sanitize-gm
* valops.c: Add start of auto function-call abandonment capability.
start-sanitize-gm
* c-exp.y: Add code (currently disabled) to handle GM dynamic
structures (it conflicts with @!).
* eval.c (evaluate_subexp_standard): ditto.
* expprint.c (print_subexp dump_expression): ditto.
* expression.h (enum exp_opcode): ditto.
* parse.c (length_of_subexp): ditto.
* configure, configure.in: Add mip*-*-magic* target.
* magic.c magic.h: Special routines to handle GM stuff (like
stepping through dispatcher).
end-sanitize-gm
* 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.
* 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 &.
* configure: Rebuilt.
* symtab.c (list_symbols): Add missing blank after
`<function, no debug info>' output.
* valops.c (value_assign): Handle truncation when assigning
to bitfields. Use value_copy to construct the return value
from toval.
* values.c (value_copy): Copy VALUE_FRAME and VALUE_OPTIMIZED_OUT.
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.
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.
is bash or ksh, which handles "... $(TCL) ..." by trying to run TCL.
Changed configure.in and regenerated configure, including two lines
apparently inserted by custom cygnus version of autoconf 2.4.
for OSF/1-3.x procfs support.
* configure.in (alpha-dec-osf): Use them when configuring
for OSF/1-3.x.
* configure: Updated.
* target.c: Include <string.h>.
hostfile, targetfile and nativefile. Awk is not a utility
required by the GNU coding standards. This change also
fixes the rigid whitespace requirements that were required
for awk.
* configure: regenerated.
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.
* configure.in, Makefile.in: Avoid rebuilding "depend" as much.
Avoid declaring Makefile dependencies, because GNU Make stupidly
tries to update it if we do.
* coffread.c: Revise for minor changes to bfd internal coff
indexes.
* configure: If -template= is given a relative path, make it
absolute before recurring in subdirectories.